summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-openembedded/README2
-rw-r--r--meta-openembedded/meta-filesystems/README12
-rw-r--r--meta-openembedded/meta-filesystems/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb1
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb7
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb3
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb17
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb35
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb6
-rw-r--r--meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb13
-rw-r--r--meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb15
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb2
-rw-r--r--meta-openembedded/meta-gnome/README10
-rw-r--r--meta-openembedded/meta-gnome/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb52
-rw-r--r--meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb52
-rw-r--r--meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb40
-rw-r--r--meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb40
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb17
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.32.0.bb17
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb18
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.32.0.bb21
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb1
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch45
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb28
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.32.0.bb28
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch28
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor/0001-Do-not-build-help-we-do-not-have-yelp-yet.patch30
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb34
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb33
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.8.1.bb11
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.10.bb21
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb21
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb70
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.0.bb70
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb19
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb19
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb29
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb29
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb13
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb16
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb24
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb21
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb41
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.30.1.bb41
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch25
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch28
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb31
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.113.bb29
-rw-r--r--meta-openembedded/meta-initramfs/README8
-rw-r--r--meta-openembedded/meta-initramfs/classes/klibc.bbclass4
-rw-r--r--meta-openembedded/meta-initramfs/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-Use-new-reboot-API-with-klibc.patch42
-rw-r--r--meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-core/images/meta-initramfs-image.bb8
-rw-r--r--meta-openembedded/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb36
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch (renamed from 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--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch (renamed from 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--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch (renamed from 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--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch (renamed from 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--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch (renamed from 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--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch24
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klibc-config-eabi.patch23
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb34
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.6.bb32
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch213
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch26
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch24
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch29
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch151
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb18
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.6.bb12
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc8
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.6.bb (renamed from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb)0
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc13
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb24
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.6.bb26
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch163
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch11
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb10
-rw-r--r--meta-openembedded/meta-multimedia/README10
-rw-r--r--meta-openembedded/meta-multimedia/conf/layer.conf4
-rw-r--r--meta-openembedded/meta-multimedia/licenses/BellBird25
-rw-r--r--meta-openembedded/meta-multimedia/licenses/CMU-Tex20
-rw-r--r--meta-openembedded/meta-multimedia/licenses/Sun23
-rw-r--r--meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb15
-rw-r--r--meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb68
-rw-r--r--meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb68
-rw-r--r--meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch26
-rw-r--r--meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb5
-rw-r--r--meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb23
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb4
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb107
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch30
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch44
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch44
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch27
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch13
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch24
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-fe-xc5000c-4.1.30.7.fwbin0 -> 16497 bytes
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/ca-AB-Calgary48
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ATSC-center-frequencies-8VSB410
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CA-SF-Bay-Area81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CO-Denver116
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-HRC-center-frequencies-QAM256767
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-IRC-center_frequencies-QAM256767
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-HRC-center-frequencies-QAM256767
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-IRC-center-frequencies-QAM256767
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-Standard-center-frequencies-QAM256961
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ID-Boise38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MA-Boston68
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MI-Lansing32
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-NTSC-center-frequencies-8VSB410
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-PA-Philadelphia56
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/activy.rcmm53
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/galaxis.rcmm50
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge.rc524
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge2.rc540
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge_grey.rc539
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/mbo_81095-code_562.rc539
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_088.rc536
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_155.rc535
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips.rc532
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips1358.rc537
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/technotrend.rc541
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Innsbruck50
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabel-Braunau194
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabelsignal290
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-KarrerNet187
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Liwest227
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-SalzburgAG50
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Vienna10
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/be-IN.DI-Integan114
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/br-Net-Digital13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Bern-upc-cablecom11
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-GGA-Pratteln287
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Rega-Sense209
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Video200012
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Zuerich-upc-cablecom11
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-interGGA223
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-quickline-ewaarberg8
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-Moravianet108
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-UPC227
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Berlin26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Brandenburg-Havel226
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Hessen-Unitymedia343
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_BW23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_Deutschland-Hannover219
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Muenchen174
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-NetAachen292
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Primacom251
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Unitymedia260
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-iesy146
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-komro-Rosenheim226
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-neftv237
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Aarhus-Antenneforening9
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Copenhagen-AFDK67
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Odense66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-YouSee223
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/es-Euskaltel117
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-HTV234
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Joensuu-Tikka90
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Kaisa226
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-TTV18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Turku170
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-dna237
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-jkl66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-sonera196
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-vaasa-oncable90
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fr-noos-numericable314
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hr-B.net250
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hu-Digikabel144
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/lu-Ettelbruck-ACE132
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Delta15
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-REKAM-CAIW_Gouda18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Ziggo17
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-CanalDigital97
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-Get169
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ro-DigiTV201
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-Gothnet121
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-comhem248
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ABS1-75.0E66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC1-103w19
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC10_C-135W21
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC11_C-131W30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC16-85.0W27
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC18_C-105W20
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC4-101w59
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC5-79w19
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC6-72w331
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC8_C-139W57
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9-83.0W123
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9_C-83.0W49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Agila2_C-146.0E186
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amazonas-61.0W411
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amos-4w370
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1-107.3W35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1R_C-107.3W93
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F2_C-111.1W12
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F3-119W560
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Apstar6_C-134.0E36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat2_C-100.5E156
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat3S_C-105.5E326
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Asiasat4_C-122.2E76
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-19.2E10
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-23.5E450
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-28.2E863
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-1-12.5W270
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-3-5.0W364
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B1-75.0W67
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B2-65.0W251
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B4-70.0W291
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilsatB4-84.0W659
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ChinaSat5A-87.5E36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Echostar-10+11-110W281
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Estrela-do-Sul-63.0W195
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Eutelsat9-9.0E114
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/EutelsatW2-16E451
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Express-3A-11.0W11
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM1-40.0E26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM2-80.0E168
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM22-53.0E51
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy10R-123w59
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy13_C-127W39
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy14_C-125W30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy15_C-133W22
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy16_C-99.0W137
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17-91.0W370
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17_C-91.0W48
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19-97.0W130
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19_C-97.0W138
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy23_C-121W111
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy25-93.0W474
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy27-129w11
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28-89.0W315
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28_C-89.0W30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C-95.0W10
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C_C-95.0W29
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hispasat-30.0W297
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hotbird-13.0E778
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/IA7-129w11
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat2E_C-83.0E296
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat3A_C-93.5E206
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4A_C-83.0E296
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4B_C-93.5E156
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel4-72.0E34
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel904-60.0E90
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1002-1.0W146
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-11-43.0W11
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-12-45.0E106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1R-45.0W331
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-3R-43.0W259
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-6B-43.0W115
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-705-50.0W35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-707-53.0W19
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-903-34.5W35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-905-24.5W51
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-907-27.5W51
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat21_C-58.0W273
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat34_C-55.5W371
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat8_C-166.0E116
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/JCSat3A_C-128.0E46
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Measat3_C-91.5E166
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-10-37.5W75
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-7-22.0W179
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-806-40.5W843
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nahuel-1-71.8W67
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nilesat101+102-7.0W314
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusC1-156E146
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusD1-160.0E18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PAS-43.0W34
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PalapaC2_C-113.0E116
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SBS6-74w11
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES1_C-101W75
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2-87.0W59
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2_C-87.0W66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES3_C-103W111
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ST1_C-80.0E76
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-5-116.8W555
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-6-113.0W131
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Sirius-5.0E519
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telecom2-8.0W122
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telkom1_C-108.0E146
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar10_C-76.5E196
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar12-15.0W194
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar18_C-138.0E46
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom1A_C-120.0E66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom2_C-78.5E96
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom5_C-78.5E216
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thor-1.0W506
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Turksat-42.0E818
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Vinasat1_C-132.0E26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Yamal201-90.0E209
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ad-Andorra49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/at-All591
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Adelaide79
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-AdelaideFoothills66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Ballarat66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Bendigo326
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Brisbane79
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Cairns66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Canberra-Black-Mt66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Coonabarabran57
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Darwin65
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Devonport95
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-FraserCoast-Bundaberg66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-GoldCoast108
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Goulburn-Rocky_Hill664
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hervey_Bay-Ghost_Hill81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hobart66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Mackay68
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne88
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Selby66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Upwey66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-MidNorthCoast131
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Newcastle66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth_Roleystone66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SpencerGulf40
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SunshineCoast66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sutherland63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney82
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney_Kings_Cross68
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Tamworth200
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Townsville66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-WaggaWagga66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Wollongong149
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-canberra66
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-unknown13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Australia1209
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Default691
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Taiwan160
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-With167kHzOffsets1869
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ax-Smedsbole34
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/be-All62
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/bg-Sofia58
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-All339
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Citycable325
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Geneva147
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/co-All34
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/cz-All483
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Baden-Wuerttemberg194
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bayern237
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Berlin110
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Brandenburg50
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bremen74
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Dusseldorf144
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hamburg98
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hessen194
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Mecklenburg-Vorpommern110
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Niedersachsen270
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Nordrhein-Westfalen231
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Rheinland-Pfalz98
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Saarland50
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen134
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen-Anhalt122
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Schleswig-Holstein182
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Thueringen86
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/dk-All231
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ee-All393
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Albacete145
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alfabia145
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alicante85
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Almeria108
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alpicat73
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Asturias194
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-BaixoMinho81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Bilbao72
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Cadiz294
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Carceres108
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Collserola121
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Donostia122
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Granada73
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Huesca124
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Las_Palmas149
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Lugo74
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Madrid142
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Malaga73
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Muros-Noia85
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Mussara73
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Pamplona85
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-SC_Tenerife149
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santander50
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santiago_de_Compostela85
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Sevilla231
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Tenerife145
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valencia97
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valladolid61
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vilamarxant25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vitoria-Gasteiz74
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Zaragoza62
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski_Konginkangas23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ahtari13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Alajarvi23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Anjalankoski_Ruotila28
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Espoo38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Eurajoki38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hameenlinna38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hamina38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hausjarvi38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Helsinki38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jokioinen38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jyvaskyla38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kaarina38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kajaani38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kangasala38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Karkkila38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kiiminki38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kokkola38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kontiolahti38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kouvola38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kuopio38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lahti38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lappeenranta38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lohja38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Loviisa38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Mikkeli38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nousiainen38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nurmijarvi38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Porvoo38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Salo38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Savonlinna38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Seinajoki38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Tyrnava38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ulvila38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vaasa38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Valkeakoski38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vesilahti38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ylivieska38
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Ahovaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Hetta13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Kuttanen13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Espoo33
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Eurajoki28
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Fiskars23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Haapavesi23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenkyro_Kyroskoski23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenlinna_Painokangas18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hanko23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hartola18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinavesi18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinola23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Kyparavaara18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Paljakka18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyvinkaa23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ii_Raiskio13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Iisalmi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen_Riitiala23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Janispaa13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Naatamo13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ivalo_Saarineitamovaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jalasjarvi23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Halli23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Kaipola23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Matkosvuori23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Ouninpohja18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsankoski23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joensuu_Vestinkallio18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joroinen_Puukkola18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutsa_Lankia23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutseno28
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juupajoki_Kopsamo18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juva23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla33
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla_Vaajakoski18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaavi_Sivakkavaara18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kajaani_Pollyvaara18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kalajoki18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangaslampi23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangasniemi_Turkinmaki23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kankaanpaa23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karigasniemi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karkkila23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karstula18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karvia18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaunispaa13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kemijarvi_Suomutunturi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kerimaki23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu_Haapamaki23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kihnio23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kiihtelysvaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kilpisjarvi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kittila_Levitunturi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kolari_Vuolittaja13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Koli23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korpilahti_Vaarunvuori23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korppoo23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kruunupyy28
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Haukela18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Lentiira18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Niva18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Harjunsalmi23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Puukkoinen18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuopio28
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kurikka_Kesti23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kustavi_Viherlahti23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuusamo_Hamppulampi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kyyjarvi_Noposenaho18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lahti33
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lapua28
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa_Vihtavuori23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lavia18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lohja23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Loimaa23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luhanka23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luopioinen23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantta23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantyharju18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mikkeli23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Muonio_Olostunturi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Keski-Siikajarvi18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Pisa18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia_Siuro23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nummi-Pusula_Hyonola23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_Njallavaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_raja13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Konnanvaara23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Kortevaara18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Orivesi_Talviainen18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Oulu33
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki_Arrakoski23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Paltamo_Kivesvaara18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parainen_Houtskari23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parikkala23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parkano_Sopukallio23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello_Ratasvaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Perho23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pernaja18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pieksamaki_Halkokumpu18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pihtipudas18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Porvoo_Suomenkyla23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Posio13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Iso-Syote18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Kangasvaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Puolanka23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhatunturi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhavuori18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pylkonmaki_Karankajarvi18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Mestauskallio23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Piehinki18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Haasionmaa13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Leppiaho13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautavaara_Angervikko23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautjarvi_Simpele18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ristijarvi18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Kaihuanvaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Karhuvaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Marasenkallio13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Rantalaki13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sonka13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sorviselka13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruka18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruovesi_Storminiemi23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Kalmari18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Mahlu18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Hirvasvaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Ihistysjanka13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Naruska13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sallatunturi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sarivaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salo_Isokyla23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Martti13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Tanhua13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Siilinjarvi23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Simo_Viantie18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sipoo_Norrkulla23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Pittiovaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Vuotso13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sulkava_Vaatalanmaki18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ala-Vuokki13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ammansaari13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Juntusranta13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Myllylahti13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sysma_Liikola23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski_Taivalvaara13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammela28
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammisaari23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere33
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere_Pyynikki28
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tervola18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Turku33
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Nuvvus13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Outakoski13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Polvarniemi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Rovisuvanto13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Tenola13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Uusikaupunki_Orivo23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaala18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaasa18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Valtimo18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Jyranvuori23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Roismala18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Savi18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vantaa_Hakunila23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Varpaisjarvi_Honkamaki23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Virrat_Lappavuori23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vuokatti23
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Ainiovaara18
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Raanujarvi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllas13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllasjarvi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fr-All481
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/gr-Athens95
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hk-HongKong94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hr-All315
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Bekescsaba53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Budapest53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Csavoly-Kiskoros42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Debrecen-Komadi53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Fehergyarmat42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gerecse-Dorog-Tatabanya53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gyor53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kabhegy-Kaposvar-Tamasi42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karcag53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kecskemet53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Miskolc-Aggtelek-Fony53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Mor-Siofok-Veszprem-Zirc53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nagykanizsa-Barcs-Keszthely53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Pecs-Siklos42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Sopron-Koszeg53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szeged53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szekesfehervar53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szentes-Battonya42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szolnok53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar53
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-CairnHill26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ClermontCarn26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Dungarvan26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-HolywellHill26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Kippure26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Maghera26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-MountLeinster26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Mullaghanish26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-SpurHill26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ThreeRock26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Truskmore26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-WoodcockHill26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/il-All26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ir-Tehran25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/is-Reykjavik226
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/it-All761
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lt-All302
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lu-All49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lv-Riga92
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nl-All483
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/no-Trondelag_Stjordal39
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandInfill42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandWaiatarua42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Christchurch42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Dunedin42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Hamilton42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayMtErin42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayNapier42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Manawatu42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Tauranga42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Waikato42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonInfill42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonKaukau42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonNgarara42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Czestochowa46
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Gdansk25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krakow82
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krosno_Sucha_Gora35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Rzeszow13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Szczecin46
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Warszawa64
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Wroclaw13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pt-All85
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ro-Bucharest37
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Krasnodar26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Novosibirsk26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Volgodonsk26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aareavaara5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Adolfstrom5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Agnas5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Akersjon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alafors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Albacken5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Algsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alingsas_Mariedal35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvangen35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalen_Brunnsberg13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalsasen13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbacka5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbyn70
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Ribovardo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Tjultrask5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amot13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amotfors_Kroppstad5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-An5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Andersvattnet_Ersmyrberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ange_Snoberg63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angebo6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angelholm_Vegeholm35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angersjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Are35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjang35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjeplog_Galtispouda35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arosjokk5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvidsjaur_Jultrask35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvika_Orshultaberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-As5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asele_Aslia5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asmon_Sormoflo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aspeboda13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Atvidaberg35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Avesta_Krylbo35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backe5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backefors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bankeryd35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bengtsfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Berghamn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergshamra_Vaxtuna35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergsjo_Balleberget13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergvik13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Billsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bispfors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkliden_Tornehamn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorksele5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkvattnet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorna5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurberget_Hemtjarn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurtrask5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boberg5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boda_Fagerum35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boden_Skogsa5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bograngen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollebygd36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollnas63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bonhamn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Dalsjofors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Sjobo35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgafjall5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgholm_Ramsattra31
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgsjobyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borkan5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Idkerberget63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Nygardarna49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bortansbyn_Bortan5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bosebyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Botsmark5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bottnaryd_Ryd13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredaker5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Kubbe5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Vasterfannbyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredsjon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bromsebro35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bruzaholm13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bydalen_Hovdehogen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdetrask5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdsiljum5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Byxelkrok25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dadran5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dal5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalfors13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dals_Langed5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalstuga13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degeberga5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degerfors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary_Kolaboda5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Djura13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dorotea5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Drevdagen13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duved5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas_Basna13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edane5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsbyn13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsele5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsleskog_Hogheden5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Eksharad_Ekesberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ellos5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Emmaboda_Balshult36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enafors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enviken36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Erikslund_Bergasen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta_Jattasen35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falerum_Centrum13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falkenberg_Ringsegard5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faltrask5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falun_Lovberget36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farila13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farjestaden_Algutsrum35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkerstrask25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkestrask30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farosund_Bunge31
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fengersfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Filipstad_Klockarhojden36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Finnveden36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjal5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjallsta5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flarke5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Floda5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flurkmark5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyggsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Folsbyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsed5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo_Yttersel5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsnaset5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Frankrikegarden_Frankrike5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fransta5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredrika5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredriksberg13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredros5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fritsla13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fullsjon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Funasdalsberge35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Telestation5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Furudal13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gaddede5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallivare36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallsatter5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gardikfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gargnas5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Garpenberg_Kuppgarden13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gavle_Skogmur36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gillhov5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Glimakra5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnarp13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnesta25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnosjo_Marieholm13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gordalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Brudaremossen36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Slattadamm31
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Graninge5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmark5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmyr5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grebbestad35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grevie5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grovelsjon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grums5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg_Rodvattnet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gullbrandstorp13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gumhojden5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarn_Sorsjoliden35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbo13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarskog5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gusum13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hadanberg5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hagfors_Varmullsasen36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hakafot5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halaforsen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Haljeboda5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallan5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallaryd13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallastrom5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallbo13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halle5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halleviksstrand5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Hamnen31
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Oskarstrom36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hamburgsund5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harads5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harnosand_Harnon36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harrsjon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hassela13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Havdhem61
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hede35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedemora6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedenaset5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helgum5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helsingborg_Olympia36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemavan35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemson5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Henan5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hennan13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hestra_Aspas13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hjo_Grevback13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hofors36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogfors13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoglunda5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogsby_Virstad36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogvalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holjes5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hollviken_Stora_Hammar30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holsbybrunn_Holsbyholm13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horby_Sallerup36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horken13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hornon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hotagen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoting5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hovfjallet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Forsa36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Galgberget36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hummelholm5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hunnebostrand5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Huskvarna13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Husum5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idivuoma5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idre36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingatorp13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingvallsbenning6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik_319530
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ivarsbyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jakkvik_Frakenmyren5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jamjo25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarkvissle5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarnforsen13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarpen_Mellangardsberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvso13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvtrask5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Joestrom5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Nyborg35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Tjalmejaure36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jonkoping_Bondberget36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jormvattnet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jude5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Hamptjarnsberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Vallen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kagerod_Mollarp5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalarne5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalix36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallered5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallinge_Kalleberga35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallror5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kampersvik_Ekeberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karbole13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karesuando5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlanda5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlsborg_Vaberget13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlshamn36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Jamjo35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Vamo36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlstad_Sormon36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kasta_Ringkallen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxas5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxholmen_Vistakulle13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kinnastrom13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kiruna_Kirunavaara63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kisa70
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klingsta5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klovsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knared13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knavland5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopmanholmen63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopparberg35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Koppom35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Korstrask5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kottsjon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kovland5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Lugnvik36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Ostby5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krangede5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristineberg5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristinehamn_Utsiktsberget36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krokstrand5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kultsjon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungalv35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsater13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsbacka_Ojersbo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_GI13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_Gl5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungshamn35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kurravaara5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvarnsvedjan5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Arrevare5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Tavvevare5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kyrkesund5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lagfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laggarberg5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laisvall5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langa5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langsele5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan_Engelsfors6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxviken5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Asledsberget35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Karingberget13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lekvattnet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lerdala13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lesjofors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden_Osterstrom5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilla_Edet35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillogda5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillpite_Bastaberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilltjara_Digerberget13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Limedsforsen13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lindshammar_Ramkvilla13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linkoping_Vattentornet36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linsell5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lit5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn_319330
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungaverk5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungdalen35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljustorp5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljusvattnet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loderups_Strandbad5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loffstrand36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lofsdalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Logdealv5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lonneberga35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lorstrand13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lovanger5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ludvika_Bjorkasen36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lumsheden_Trekanten13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lycksele_Knaften36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mahult13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mala5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malmo_Jagersro36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malung36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Manserud5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mardsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mariannelund6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Markaryd_Hualtet49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matfors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matsdal5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Medstugan5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mittadalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjallom35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjosjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moliden5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molnbo_Tallstugan35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molndal_Vasterberget30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mora_Eldris63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Morkret5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moskosel5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Motala_Ervasteby70
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mullsjo_Torestorp35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkedal35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkfors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Muodoslompolo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nalden5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasaker5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasanget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nassjo63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasteln5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Navekvarn6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Naverede_Oberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Niemisel5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordanede5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordmaling5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norra_Rorum5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrahammar13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norraker5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrhassel5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrkoping_Krokek36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra_Bergen61
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norsjovallen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyhem5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nykoping13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyliden5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nynashamn_Vattentornet35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Odsmal5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olden_Telestation5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olkamangi5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olofstrom5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orebro_Lockhyttan70
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orkelljunga35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ornskoldsvik_As70
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oskarshamn35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osmo_Bjorsta10
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osterforse5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostergraninge5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostersund_Brattasen36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osthammar_Valo36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostmark5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overammer5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overhogdal5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overkalix36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overklinten5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overrissjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overtornea_Sarkivaara35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overturingen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oxberg13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pajala35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistom13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistrom5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pilgrimstad5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Porjus35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Puoltsa5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ragunda35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsele_Skavasen35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramundberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randijaure5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ransater5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rattvik6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rengsjo13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Renstrom5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Resele5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Risback5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rissna5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ritsem5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Robertsfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rojdafors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ronnang5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rorbacksnas13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rosson5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rusksele5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sadvaluspen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sagmyra13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saivomuotka5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salen13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salfjallet13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sarna_Mickeltemplet13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Satila13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savar_Sorbyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savast5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saxdalen13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seitevaare5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Selanger5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seltjarn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sidensjo_Aberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Siljansnas_Uvberget13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Simrishamn_Fabriksgatan35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalan5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalmsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarstad13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarvangen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skattungbyn13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skaulo_Pyhakielinen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skelleftea36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skene_Nycklarberget13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skillingsfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skorped5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skottsund5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skovde70
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skroven5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skymnas5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Slussfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Smedjebacken_Uvberget36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderhamn36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderkoping36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sodertalje_Ragnhildsborg36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Hallsta63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Multra63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soraker5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorbygden5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorflarke5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Nalovardo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Vattentornet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsjon13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soukolojarvi5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stalon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stigsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Marieberg36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Nacka71
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Hullsjon5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Intaget35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stomne_Skasas5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stora_Skedvi13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stordalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storfjaten13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storlien5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storuman36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromstad36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromsund_Grelsgard35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stugun5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Styrsjobo13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suddesjaur5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suijavaara5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sulvik5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundborn13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsbruk36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsvall_S_Stadsberget36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_As5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_Blabarskullen36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunnemo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svaneholm5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svanstein5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svardsosund_Svardso5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svartnas13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Brickan36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Ransjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svenstavik5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svinesund5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Syssleback35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Taberg13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tandadalen6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tannas_Vastra5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tanndalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnaby_Ryfjallet35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnamo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tasjo36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tavelsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tocksfors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tollsjo13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tormestorp5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tornetrask5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torpshammar35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torsby_Bada36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranas_Bredkarr35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranemo13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Transtrand_Bolheden36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Traryd_Betas36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trehorningsjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trelleborg_Gylle35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trollhattan36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trosa25
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tullinge_Hamra35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tyringe5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tystberga6
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Herrestad36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Kapelle5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uggleheden5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullanger_Skidsta5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullared13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulricehamn36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvohamn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvshyttan_Porjus13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umea_Mariehem5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umfors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umgransele_Granselelund5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Undersaker5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Rickomberga13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Vedyxa36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utansjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utanskog5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaddo_Elmsta36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valadalen5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valanger5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valdemarsvik36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valsjobyn5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vannas_Granlundsberget36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vansbro_Hummelberget13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varberg_Grimeton63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varmvattnet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varnamo_Alandsryd5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassbotten5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassijaure5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastansjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vasteras_Lillharad82
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastervik_Farhult36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vato5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaxbo13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vemdalsskalet5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vessigebro13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vetlanda_Nye13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vidsel5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vietas5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vikmanshyttan13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Viksjo5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vilhelmina35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Villands_Vanga5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindelgransele5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindeln_Renfors35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Virserum63
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Follingbo36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Hamnen65
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Havdhem35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visingso13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vislanda_Nydala36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitberget5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand_Vagsjofors5
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Voxna13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vuollerim35
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ystad_Metallgatan36
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Yttermalung13
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/si-Ljubljana27
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaBystrica30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaStiavnica30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bardejov30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bratislava48
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Cadca30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Detva30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Hnusta30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Kosice30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-KralovskyChlmec30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Krompachy30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Lucenec30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Medzev30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Namestovo30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Nitra30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Poprad42
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-PovazskaBystrica30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Presov30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Prievidza30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Revuca30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Roznava30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Ruzomberok30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Snina30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-StaraLubovna30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Sturovo30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Trencin30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Zilina30
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/tw-All132
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kharkov49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kiev49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Lozovaya49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Odessa49
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ug-All45
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Aberdare81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Angus94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BeaconHill94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Belmont94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bilsdale94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BlackHill106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Blaenplwyf81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BluebellHill94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bressay81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrierleyHill93
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolIlchesterCrescent93
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolKingsWeston93
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bromsgrove81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrougherMountain94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Caldbeck94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CaradonHill94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Carmel81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chatton81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chesterfield81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Craigkelly106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CrystalPalace94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Darvel94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Divis94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Dover81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Durris94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Eitshal81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-EmleyMoor106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenham94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenton94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Ferryside57
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Guildford81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hannington94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hastings81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Heathfield81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HemelHempstead81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HuntshawCross81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Idle81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KeelylangHill81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Keighley81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KilveyHill81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KnockMore81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Lancaster81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-LarkStoke81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Limavady81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Llanddona81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Malvern81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Mendip94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Midhurst81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-MoelyParc94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Nottingham93
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-OliversMount81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Oxford106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PendleForest81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Plympton81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PontopPike106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Pontypool81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Preseli81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Redruth81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Reigate81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RidgeHill94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosemarkie81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosneath81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rowridge106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RumsterForest81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Saddleworth81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Salisbury81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SandyHeath94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Selkirk81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sheffield106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-StocklandHill81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Storeton93
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sudbury81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SuttonColdfield106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Tacolneston94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TheWrekin81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Torosay81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TunbridgeWells81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Waltham106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Wenvoe106
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WhitehawkHill81
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WinterHill94
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Hanoi26
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Thaibinh26
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb27
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb30
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch28
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch76
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb10
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc12
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch37
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch178
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch304
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb24
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb22
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb11
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mp3_0.10.31.bb14
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mpegdemux_0.10.85.bb12
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo.inc14
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb73
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/gcc_4.6.patch18
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/ptr-array.patch46
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax_0.10.1.bb35
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad/buffer-overflow-mp4.patch36
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb61
-rw-r--r--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--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--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch27
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch20
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb43
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch35
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch22
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb29
-rw-r--r--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--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--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0407-mulawdec-fix-integer-overrun.patch47
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb47
-rw-r--r--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--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0002-Fix-opencore-include-paths.patch58
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb35
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc29
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch38
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp_0.10.8.bb18
-rw-r--r--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--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--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--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/check_fix.patch19
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gst-inspect-check-error.patch16
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.c487
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.h194
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb50
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb7
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb3
-rwxr-xr-xmeta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa/libdvbcsa.pc10
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb19
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb27
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch33
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch31
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb20
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.19.1.bb25
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb52
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc18
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch13
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch12
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch46
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch19
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch12
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch234
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0009-Avcodec-swscale-use-AV_PIX_FMT-consistently.patch293
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0010-SWSCALE-fix-compilation-with-4.x.patch45
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_2.2.2.bb19
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.6.bb16
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch33
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-math_vfp_asm.S-Convert-fldmia-fstmia-instructions-to.patch257
-rw-r--r--meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix_riscv_unaligned_access.patch15
-rw-r--r--meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb4
-rw-r--r--meta-openembedded/meta-networking/MAINTAINERS32
-rw-r--r--meta-openembedded/meta-networking/README6
-rw-r--r--meta-openembedded/meta-networking/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch26
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb7
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb9
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb24
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb26
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch45
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch74
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb3
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch77
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/firewalld.init48
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb84
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service1
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb4
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb206
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb42
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb41
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch40
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb43
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb48
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch975
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb93
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb93
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch53
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch22
-rw-r--r--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--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch71
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch25
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch80
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch54
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch54
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch35
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch37
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-basic.patch56
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch72
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-dlopen-configure-ac.patch33
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch62
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch77
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-network-support.patch71
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch47
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-musl-process-util.patch60
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0007-musl-avoid-further-conflicts-by-including-net-ethern.patch75
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0008-Add-a-strndupa-replacement-for-musl.patch45
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb144
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb143
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb14
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb13
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb13
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb6
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb42
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb42
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch27
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb24
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.15.7.bb21
-rw-r--r--meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb7
-rw-r--r--meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb3
-rw-r--r--meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb122
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch19
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch36
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch89
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch35
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch24
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb80
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.5.bb84
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb16
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb15
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch115
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb3
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch12
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb74
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.09.bb75
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/postfix/files/linux_5.x.patch27
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.3.1.bb12
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.1.bb12
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb5
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.18.bb5
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.27.bb115
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.28.bb115
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch46
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch43
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb31
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190123.bb31
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190123.bb (renamed from meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb)0
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc4
-rw-r--r--meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch62
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch42
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch15
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch19
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb35
-rw-r--r--meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb26
-rw-r--r--meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb26
-rw-r--r--meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb7
-rw-r--r--meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb7
-rw-r--r--meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc3
-rw-r--r--meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb8
-rw-r--r--meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb8
-rw-r--r--meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf3
-rw-r--r--meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb69
-rw-r--r--meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.bb69
-rw-r--r--meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.16-1.bb23
-rw-r--r--meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb24
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch35
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch63
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch43
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb45
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb52
-rw-r--r--meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch48
-rw-r--r--meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb56
-rw-r--r--meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb56
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb13
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.37.0.bb13
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nis/nis.inc2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb3
-rw-r--r--meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb6
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch30
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch23
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb27
-rw-r--r--meta-openembedded/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch29
-rw-r--r--meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.6.6.bb94
-rw-r--r--meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.0.bb81
-rw-r--r--meta-openembedded/meta-oe/README8
-rw-r--r--meta-openembedded/meta-oe/classes/breakpad.bbclass3
-rw-r--r--meta-openembedded/meta-oe/classes/scancode.bbclass10
-rw-r--r--meta-openembedded/meta-oe/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-oe/licenses/HDF592
-rw-r--r--meta-openembedded/meta-oe/licenses/SSPL-1557
-rw-r--r--meta-openembedded/meta-oe/licenses/read-edid17
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch69
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch47
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb38
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch21
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch43
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.0.1.bb41
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb41
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch444
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.16.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.36.bb43
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb45
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch74
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig3
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.1.2.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.14.bb31
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.1.bb188
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.bb192
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.25.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.16.0.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.18.0.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-qmi-network-Don-t-create-invalid-wds-start-network-w.patch41
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.2.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.22.2.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.20.3.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.27.0.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.0.0.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.1.0.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb46
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb48
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.7.0.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.9.0.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-Use-toolchain-from-environment-variables.patch92
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch45
-rw-r--r--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--meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0004-run-ranlib-per-library-and-use-AR.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb38
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.1.1.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-Problem-out-of-date-with-zproject.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_19.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-core/ell/ell/0001-dhcp-include-if_arp.h-from-libc-instead-of-linux-hea.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-core/ell/ell_0.17.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-core/ell/ell_0.8.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch9
-rw-r--r--meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.58.1.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.1.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_git.bb33
-rw-r--r--meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-core/plymouth/files/0002-Fix-build-with-glibc-2.28.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb67
-rw-r--r--meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb67
-rw-r--r--meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.7.0.bb55
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.9.0.bb53
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.0.4.bb38
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb38
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.16.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.17.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch50
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.62.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc34
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch8
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch67
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch16
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch160
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch65
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.62.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch41
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch1164
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch6452
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init4
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc8
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.2.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch57
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb/0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch194
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff39
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch242
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.15.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch113
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.10.0.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb271
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb246
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.4.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch68
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch77
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_git.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20181209-3.1.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.1.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch37
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.1.1.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch23
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-torque.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Crypto-reduce-memory-usage-of-SignFinal.patch122
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch69
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-Link-atomic-library.patch20
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0006-Use-target-ldflags.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb105
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb92
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch16
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl/0001-Use-API-function-for-reconnect.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php.inc6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Use-pkg-config-for-libxml2-detection.patch23
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch17
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch45
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch140
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0048-Use-pkg-config-for-FreeType2-detection.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0049-ext-intl-Use-pkg-config-to-detect-icu.patch111
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch21
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch61
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.2.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff49
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb71
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb96
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb44
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb45
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch52
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0006-libcollectdclient-Fix-string-overflow-errors.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.0.bb87
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.bb88
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch10
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb42
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb42
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.11.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.12.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb43
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.20.bb43
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.5.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.7.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.1.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch21
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Adjust-for-CURLE_SSL_CACERT-deprecation-in-curl-7.62.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Port-to-OpenSSL-1.1.0.patch162
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-openSSL-1.1.0-API-fixes.patch77
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0002-Check-OpenSSL-version-number-to-allow-builds-with-ol.patch48
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.5.bb73
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.8.bb75
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-Adapt-to-OpenSSL-1.1.1.patch879
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0002-Check-against-the-correct-OPENSSL_VERSION_NUMBER.patch365
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc3
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch190
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.12.bb58
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.8.bb57
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-fix-jump-misses-init-error.patch71
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-increase-the-size-of-szHname.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.16.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch118
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1903.0.bb169
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.37.0.bb166
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-os_linux.cpp-Use-realpath-BSD-POSIX-instead-of-canon.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb53
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.0.bb52
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/triggerhappy/triggerhappy_0.5.0.bb47
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.11.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb38
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.22.0.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-Explicit-typecast-to-avoid-implicit-double-to-float-.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0002-Makefile.am-remove-useless-and-breaking-code.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl_2.1.3-rc5.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch860
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-glm-Remove-redundant-double-semi-colons.patch120
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.3.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb59
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.42.0.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch37
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch6
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.10.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.4.bb120
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb120
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb57
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.5.bb57
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb47
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb46
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc1
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch131
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb31
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-Fix-OSX-build.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc2
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190306.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.7.0.bb51
-rw-r--r--meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.10.2.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-shells/mksh/mksh_56.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.1.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.2.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/atop/atop/0001-add-sys-sysmacros.h-for-major-minor-macros.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/atop/atop/0001-atop.daily-atop.init-atop-pm.sh-Avoid-using-bash.patch67
-rw-r--r--meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/atop/atop/remove-bashisms.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch11
-rw-r--r--meta-openembedded/meta-oe/recipes-support/atop/atop_2.3.0.bb57
-rw-r--r--meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb56
-rw-r--r--meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.12.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch142
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch103
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/revert-9b670e5b33dfdbd501d618cd7e7498148ffbd559.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/revert-f10d9f8e214516d2c19aa6ef831ee874a58c0479.patch1557
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.12.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.7.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-support/enchant/enchant2_2.2.3.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc15
-rw-r--r--meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb47
-rw-r--r--meta-openembedded/meta-oe/recipes-support/espeak/files/0002-tr_languages-cast-string_ordinal-init-values.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-support/espeak/files/espeak-1.48-gcc-6-fix.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch13
-rw-r--r--meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gnulib/gnulib/CVE-2018-17942.patch88
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch71
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch50
-rwxr-xr-xmeta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c975
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c991
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hdf5/files/H5lib_settings.c98
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb58
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.5.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.3.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.4.bb33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.5.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.8.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.2.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.2.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config/usbgx.default2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start11
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.initd143
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service9
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch136
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch13
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.180.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch51
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.180.bb62
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb62
-rw-r--r--meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/makefile-remove-ldflags.patch23
-rw-r--r--meta-openembedded/meta-oe/recipes-support/mcelog/mce-test_git.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-tools-add-RDAC-SUN-ArrayStorage-to-hwtable.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-multipath-tools-remove-c-from-__cpluscplus-misspelle.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-multipath-tools-remove-emacs-autoconfig-of-kpartx-gp.patch43
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-multipath-tools-replace-FSF-address-with-a-www-point.patch191
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-multipath-tools-Remove-trailing-leading-whitespaces-.patch156
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-multipath-tools-fix-compilation-with-musl-libc.patch58
-rw-r--r--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--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch784
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-configure-hitachi-ams2000-and-hus100.patch56
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-libmultipath-don-t-reject-maps-with-undefined-prio.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-handle-errors-in-uxlsnr-as-fatal.patch57
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-libmultipath-fix-error-parsing-find_multipaths-stric.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-libmultipath-print-correct-default-for-delay_-_check.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-multipath.conf.5-clarify-property-whitelist-handling.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0015-mpathpersist-add-all_tg_pt-option.patch317
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0016-libmultipath-remove-rbd-code.patch1093
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0017-mpathpersist-fix-aptpl-support.patch543
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0018-multipath-don-t-check-timestamps-without-a-path.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0019-libmultipath-fix-detect-alua-corner-case.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0020-multipath-fix-setting-conf-version.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch94
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch51
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch138
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch76
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch11
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch9
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.7.bb131
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb111
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nano/nano_3.0.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nano/nano_4.0.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb105
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb107
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-multi-line-separator.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Check-for-clang-before-using-isystem.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.3.bb192
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.5.bb190
-rw-r--r--meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch45
-rw-r--r--meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.46.bb255
-rw-r--r--meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.47.bb255
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch73
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Remove-redundant-logging.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.18.0.bb47
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb44
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Support-of-arch-riscv64-by-Manuel-A.-Fernandez-Monte.patch41
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch9
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.70.1.bb59
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.75.0.bb59
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pv/pv_1.5.3.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pv/pv_1.6.6.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-Do-not-install-license-file.patch17
-rw-r--r--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--meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.26.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.27.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/glibc-2.28.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.44.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.3.1.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-Add-linux-musleabi-to-ostable.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch41
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch75
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch48
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb87
-rw-r--r--meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.16.1.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.19.1.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.8.bb48
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.8.1.bb50
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170806.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.2.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb46
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb46
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-4.18.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.18.bb78
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb80
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vim/vim_8.1.0347.bb118
-rw-r--r--meta-openembedded/meta-oe/recipes-test/catch2/catch2/0001-Fix-convert-from-char-on-ARM-build.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.4.1.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.6.1.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-test/catch2/files/0001-Fix-Wdefaulted-function-deleted-warning.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch9
-rw-r--r--meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb22
-rw-r--r--meta-openembedded/meta-perl/README10
-rw-r--r--meta-openembedded/meta-perl/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.19.bb78
-rw-r--r--meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.20.bb80
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/images/meta-perl-base.bb7
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb5
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb5
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.060.bb47
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.066.bb47
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.18.bb66
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.19.bb66
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb47
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb47
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb52
-rw-r--r--meta-openembedded/meta-python/README12
-rw-r--r--meta-openembedded/meta-python/classes/bandit.bbclass63
-rw-r--r--meta-openembedded/meta-python/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.17.bb (renamed from meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb (renamed from meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.16.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb7
-rw-r--r--meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb5
-rw-r--r--meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb150
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-click.inc8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-click_7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch26
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.4.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.15.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch17
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.19.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.8.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-isodate_0.6.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib-10.42.0.inc8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.4.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.6.bb17
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.19.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb)0
-rw-r--r--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--meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch134
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.7.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-rdflib_4.2.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib.inc7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib_0.8.0.bb3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch62
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch118
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.20.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc29
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb31
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.5.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-tqdm.inc13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-tqdm_4.31.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-twitter.inc17
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-twitter_3.7.0.bb3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal.inc8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal_1.5.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.7.1.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.15.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch46
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb30
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.8.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_10.42.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.6.bb19
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.0.5.bb15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.4.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch39
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch61
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb28
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb18
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch98
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.19.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_0.8.0.bb3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.20.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.31.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.7.0.bb3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_1.5.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.32.3.bb16
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch12
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch21
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch14
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch6
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch6
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch2
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch18
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch4
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch2
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch2
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch6
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch31
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch41
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb48
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.2.bb46
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch39
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb27
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb28
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb25
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb25
-rw-r--r--meta-openembedded/meta-webserver/README8
-rw-r--r--meta-openembedded/meta-webserver/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb7
-rw-r--r--meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb3
-rw-r--r--meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb37
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.34.bb2
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/files/default_server.site14
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf139
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service10
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/files/proxy_params4
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc18
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb10
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.1.bb10
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.2.bb6
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb6
-rw-r--r--meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.1.bb35
-rw-r--r--meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb35
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb2
-rw-r--r--meta-openembedded/meta-xfce/README10
-rw-r--r--meta-openembedded/meta-xfce/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.6.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.7.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb2
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb21
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/files/0001-Fix-build-after-update-of-xfconf.patch61
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/xfce4-mixer_4.11.0.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.3.bb22
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.4.bb22
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.1.bb10
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.2.bb10
-rw-r--r--meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb18
-rw-r--r--meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.1.bb18
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.1.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.2.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.0.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.2.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.0.bb13
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.1.bb13
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.0.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.2.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend1
-rw-r--r--meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc6
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.3.bb36
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.4.bb36
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.2.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb1
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.0.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.2.bb32
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb32
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.1.bb14
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb14
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.3.bb40
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb40
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.2.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb17
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0001-networkd-Track-address-configuration.patch77
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0001-timedate-defer-the-property-changed-signal-until-job.patch179
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0001-timedate-treat-activating-or-inactivating-NTP-client.patch41
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0002-networkd-Use-only-a-generic-CONFIGURING-state.patch176
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0002-timedate-refuse-to-set-time-when-previous-request-is.patch53
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0003-networkd-Static-neighbor-support.patch547
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0006-core-fix-the-check-if-CONFIG_CGROUP_BPF-is-on.patch86
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd_%.bbappend18
-rw-r--r--meta-phosphor/recipes-phosphor/mrw/mrw-api-native.bb4
-rw-r--r--meta-raspberrypi/classes/sdcard_image-rpi.bbclass20
-rw-r--r--meta-raspberrypi/conf/layer.conf2
-rw-r--r--meta-raspberrypi/conf/machine/include/rpi-base.inc2
-rw-r--r--meta-raspberrypi/conf/machine/include/rpi-default-versions.inc2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi3-64.conf2
-rw-r--r--meta-raspberrypi/docs/extra-build-config.md12
-rw-r--r--meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend4
-rw-r--r--meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb6
-rw-r--r--meta-raspberrypi/recipes-bsp/common/firmware.inc9
-rw-r--r--meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb6
-rw-r--r--meta-raspberrypi/recipes-core/udev/udev-rules-rpi/can.rules1
-rw-r--r--meta-raspberrypi/recipes-graphics/cairo/cairo_%.bbappend3
-rw-r--r--meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend5
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch12
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/userland_git.bb6
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb9
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb12
-rw-r--r--meta-security/README8
-rw-r--r--meta-security/conf/distro/include/maintainers.inc59
-rw-r--r--meta-security/conf/layer.conf2
-rw-r--r--meta-security/lib/oeqa/runtime/cases/apparmor.py27
-rw-r--r--meta-security/lib/oeqa/runtime/cases/clamav.py38
-rw-r--r--meta-security/lib/oeqa/runtime/cases/samhain.py20
-rw-r--r--meta-security/lib/oeqa/runtime/cases/sssd.py37
-rw-r--r--meta-security/lib/oeqa/runtime/cases/suricata.py27
-rw-r--r--meta-security/lib/oeqa/runtime/cases/tripwire.py47
-rw-r--r--meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.6.8.bb41
-rw-r--r--meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.2.bb41
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb11
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/files/0001-Renamed-module-and-variables-to-get-rid-of-async.patch130
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/openscap-daemon_0.1.10.bb4
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb2
-rw-r--r--meta-security/meta-tpm/conf/distro/include/maintainers.inc39
-rw-r--r--meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py43
-rw-r--r--meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb7
-rw-r--r--meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.6.0.bb16
-rw-r--r--meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_1.0.bb16
-rw-r--r--meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.1.0.bb51
-rw-r--r--meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_1.0.bb50
-rw-r--r--meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/tpm2-abrmd_2.0.2.bb54
-rw-r--r--meta-security/meta-tpm/recipes-tpm/tpm2.0-tools/tpm2.0-tools_3.1.2.bb15
-rw-r--r--meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss_2.0.1.bb74
-rw-r--r--meta-security/meta-tpm/recipes-tpm/tpm2simulator/tpm2simulator_138.bb22
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb41
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/files/configure_fix.patch16
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1332.bb24
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/files/tpm2-abrmd-init.sh (renamed from meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd-init.sh)0
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/files/tpm2-abrmd.default (renamed from meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd.default)0
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.1.1.bb55
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/bootstrap_fixup.patch12
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb21
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/configure_oe_fixup.patch27
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb18
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.1.3.bb15
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-totp/files/litpm2_totp_build_fix.patch36
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.9.9.bb17
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_0.9.9.bb23
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/ax_pthread.m4 (renamed from meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss/ax_pthread.m4)0
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fix_musl_select_include.patch (renamed from meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss/fix_musl_select_include.patch)0
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.2.1.bb79
-rwxr-xr-xmeta-security/recipes-ids/samhain/files/run-ptest (renamed from meta-security/recipes-security/samhain/files/run-ptest)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch (renamed from meta-security/recipes-security/samhain/files/samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-avoid-searching-host-for-postgresql.patch (renamed from meta-security/recipes-security/samhain/files/samhain-avoid-searching-host-for-postgresql.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-client.default (renamed from meta-security/recipes-security/samhain/files/samhain-client.default)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-client.init (renamed from meta-security/recipes-security/samhain/files/samhain-client.init)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-configure-add-option-for-ps.patch (renamed from meta-security/recipes-security/samhain/files/samhain-configure-add-option-for-ps.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-cross-compile.patch (renamed from meta-security/recipes-security/samhain/files/samhain-cross-compile.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-mips64-aarch64-dnmalloc-hash-fix.patch (renamed from meta-security/recipes-security/samhain/files/samhain-mips64-aarch64-dnmalloc-hash-fix.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-not-run-ptest-on-host.patch (renamed from meta-security/recipes-security/samhain/files/samhain-not-run-ptest-on-host.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-pid-path.patch (renamed from meta-security/recipes-security/samhain/files/samhain-pid-path.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-samhainrc-fix-files-dirs-path.patch (renamed from meta-security/recipes-security/samhain/files/samhain-samhainrc-fix-files-dirs-path.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-samhainrc.patch (renamed from meta-security/recipes-security/samhain/files/samhain-samhainrc.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-server-volatiles (renamed from meta-security/recipes-security/samhain/files/samhain-server-volatiles)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-server.default (renamed from meta-security/recipes-security/samhain/files/samhain-server.default)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-server.init (renamed from meta-security/recipes-security/samhain/files/samhain-server.init)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-sha256-big-endian.patch (renamed from meta-security/recipes-security/samhain/files/samhain-sha256-big-endian.patch)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-standalone.default (renamed from meta-security/recipes-security/samhain/files/samhain-standalone.default)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-standalone.init (renamed from meta-security/recipes-security/samhain/files/samhain-standalone.init)0
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain.service (renamed from meta-security/recipes-security/samhain/files/samhain.service)0
-rw-r--r--meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb (renamed from meta-security/recipes-security/samhain/samhain-client_4.3.0.bb)0
-rw-r--r--meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb (renamed from meta-security/recipes-security/samhain/samhain-server_4.3.0.bb)0
-rw-r--r--meta-security/recipes-ids/samhain/samhain-standalone_4.3.2.bb (renamed from meta-security/recipes-security/samhain/samhain-standalone_4.3.0.bb)0
-rw-r--r--meta-security/recipes-ids/samhain/samhain.inc163
-rw-r--r--meta-security/recipes-ids/suricata/files/emerging.rules.tar.gz (renamed from meta-security/recipes-security/suricata/files/emerging.rules.tar.gz)bin2252393 -> 2252393 bytes
-rw-r--r--meta-security/recipes-ids/suricata/files/no_libhtp_build.patch (renamed from meta-security/recipes-security/suricata/files/no_libhtp_build.patch)0
-rw-r--r--meta-security/recipes-ids/suricata/files/run-ptest (renamed from meta-security/recipes-security/suricata/files/run-ptest)0
-rw-r--r--meta-security/recipes-ids/suricata/files/suricata.service (renamed from meta-security/recipes-security/suricata/files/suricata.service)0
-rw-r--r--meta-security/recipes-ids/suricata/files/suricata.yaml (renamed from meta-security/recipes-security/suricata/files/suricata.yaml)0
-rw-r--r--meta-security/recipes-ids/suricata/files/volatiles.03_suricata (renamed from meta-security/recipes-security/suricata/files/volatiles.03_suricata)0
-rw-r--r--meta-security/recipes-ids/suricata/libhtp_0.5.29.bb (renamed from meta-security/recipes-security/suricata/libhtp_0.5.27.bb)0
-rw-r--r--meta-security/recipes-ids/suricata/suricata.inc9
-rw-r--r--meta-security/recipes-ids/suricata/suricata_4.1.3.bb97
-rw-r--r--meta-security/recipes-ids/tripwire/files/add_armeb_arch.patch (renamed from meta-security/recipes-security/tripwire/files/add_armeb_arch.patch)0
-rw-r--r--meta-security/recipes-ids/tripwire/files/run-ptest (renamed from meta-security/recipes-security/tripwire/files/run-ptest)0
-rw-r--r--meta-security/recipes-ids/tripwire/files/tripwire.cron (renamed from meta-security/recipes-security/tripwire/files/tripwire.cron)0
-rw-r--r--meta-security/recipes-ids/tripwire/files/tripwire.sh (renamed from meta-security/recipes-security/tripwire/files/tripwire.sh)0
-rw-r--r--meta-security/recipes-ids/tripwire/files/tripwire.txt (renamed from meta-security/recipes-security/tripwire/files/tripwire.txt)0
-rw-r--r--meta-security/recipes-ids/tripwire/files/twcfg.txt (renamed from meta-security/recipes-security/tripwire/files/twcfg.txt)0
-rw-r--r--meta-security/recipes-ids/tripwire/files/twinstall.sh (renamed from meta-security/recipes-security/tripwire/files/twinstall.sh)0
-rw-r--r--meta-security/recipes-ids/tripwire/files/twpol-yocto.txt (renamed from meta-security/recipes-security/tripwire/files/twpol-yocto.txt)0
-rw-r--r--meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb74
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor.cfg15
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor_on_boot.cfg1
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-5.0/smack-default-lsm.cfg2
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-5.0/smack.cfg8
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg12
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto/apparmor_on_boot.cfg1
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend1
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto_5.0.%.bbappend11
-rw-r--r--meta-security/recipes-mac/AppArmor/apparmor_2.13.2.bb160
-rw-r--r--meta-security/recipes-mac/AppArmor/files/apparmor (renamed from meta-security/recipes-security/AppArmor/files/apparmor)0
-rw-r--r--meta-security/recipes-mac/AppArmor/files/apparmor.rc (renamed from meta-security/recipes-security/AppArmor/files/apparmor.rc)0
-rw-r--r--meta-security/recipes-mac/AppArmor/files/apparmor.service (renamed from meta-security/recipes-security/AppArmor/files/apparmor.service)0
-rw-r--r--meta-security/recipes-mac/AppArmor/files/crosscompile_perl_bindings.patch (renamed from meta-security/recipes-security/AppArmor/files/crosscompile_perl_bindings.patch)0
-rw-r--r--meta-security/recipes-mac/AppArmor/files/disable_pdf.patch (renamed from meta-security/recipes-security/AppArmor/files/disable_pdf.patch)0
-rw-r--r--meta-security/recipes-mac/AppArmor/files/disable_perl_h_check.patch (renamed from meta-security/recipes-security/AppArmor/files/disable_perl_h_check.patch)0
-rw-r--r--meta-security/recipes-mac/AppArmor/files/functions (renamed from meta-security/recipes-security/AppArmor/files/functions)0
-rw-r--r--meta-security/recipes-mac/AppArmor/files/run-ptest (renamed from meta-security/recipes-security/AppArmor/files/run-ptest)0
-rw-r--r--meta-security/recipes-mac/smack/files/run-ptest (renamed from meta-security/recipes-security/smack/files/run-ptest)0
-rw-r--r--meta-security/recipes-mac/smack/files/smack_generator_make_fixup.patch (renamed from meta-security/recipes-security/smack/files/smack_generator_make_fixup.patch)0
-rw-r--r--meta-security/recipes-mac/smack/smack_1.3.1.bb (renamed from meta-security/recipes-security/smack/smack_1.3.1.bb)0
-rw-r--r--meta-security/recipes-perl/perl/libwhisker2-perl_2.5.bb2
-rw-r--r--meta-security/recipes-security/AppArmor/apparmor_2.12.bb159
-rw-r--r--meta-security/recipes-security/checksec/checksec_1.11.bb19
-rw-r--r--meta-security/recipes-security/checksec/checksec_1.5.bb18
-rw-r--r--meta-security/recipes-security/checksec/files/checksec.sh882
-rw-r--r--meta-security/recipes-security/clamav/clamav_0.99.4.bb10
-rw-r--r--meta-security/recipes-security/fail2ban/python-fail2ban.inc2
-rw-r--r--meta-security/recipes-security/fail2ban/python-fail2ban_0.10.4.0.bb (renamed from meta-security/recipes-security/fail2ban/python-fail2ban_0.10.3.1.bb)0
-rw-r--r--meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb (renamed from meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.3.1.bb)0
-rw-r--r--meta-security/recipes-security/keyutils/files/keyutils-use-relative-path-for-link.patch28
-rw-r--r--meta-security/recipes-security/keyutils/keyutils_1.5.10.bb47
-rw-r--r--meta-security/recipes-security/keyutils/keyutils_1.6.bb51
-rw-r--r--meta-security/recipes-security/libmspack/libmspack_0.5.bb16
-rw-r--r--meta-security/recipes-security/libmspack/libmspack_0.9.1.bb16
-rw-r--r--meta-security/recipes-security/libseccomp/libseccomp_2.3.3.bb41
-rw-r--r--meta-security/recipes-security/libseccomp/libseccomp_2.4.0.bb41
-rw-r--r--meta-security/recipes-security/ncrack/ncrack_0.7.bb18
-rw-r--r--meta-security/recipes-security/nikto/files/CVE-2018-11652.patch106
-rw-r--r--meta-security/recipes-security/nikto/files/location.patch32
-rw-r--r--meta-security/recipes-security/nikto/nikto_2.1.5.bb108
-rw-r--r--meta-security/recipes-security/nikto/nikto_2.1.6.bb118
-rw-r--r--meta-security/recipes-security/packagegroup/packagegroup-core-security.bb2
-rw-r--r--meta-security/recipes-security/samhain/samhain.inc162
-rw-r--r--[-rwxr-xr-x]meta-security/recipes-security/scapy/files/run-ptest0
-rw-r--r--meta-security/recipes-security/scapy/python-scapy.inc17
-rw-r--r--meta-security/recipes-security/scapy/python-scapy_2.4.2.bb (renamed from meta-security/recipes-security/scapy/python-scapy_2.4.0.bb)0
-rw-r--r--meta-security/recipes-security/scapy/python3-scapy_2.4.0.bb4
-rw-r--r--meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb5
-rw-r--r--meta-security/recipes-security/sssd/sssd_1.16.3.bb73
-rw-r--r--meta-security/recipes-security/sssd/sssd_1.16.4.bb88
-rw-r--r--meta-security/recipes-security/suricata/suricata.inc9
-rw-r--r--meta-security/recipes-security/suricata/suricata_4.0.5.bb96
-rw-r--r--meta-security/recipes-security/tripwire/tripwire_2.4.3.6.bb73
-rw-r--r--meta-security/recipes-security/xmlsec1/xmlsec1_1.2.26.bb56
-rw-r--r--meta-security/recipes-security/xmlsec1/xmlsec1_1.2.27.bb64
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc4
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc2
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb3
-rw-r--r--poky/README.OE-Core29
-rw-r--r--poky/bitbake/.gitattributes2
-rwxr-xr-xpoky/bitbake/bin/bitbake-hashserv67
-rwxr-xr-xpoky/bitbake/bin/bitbake-selftest3
-rwxr-xr-xpoky/bitbake/bin/bitbake-worker9
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml78
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml48
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml28
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml2
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml78
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml422
-rw-r--r--poky/bitbake/lib/bb/build.py3
-rw-r--r--poky/bitbake/lib/bb/cache.py2
-rw-r--r--poky/bitbake/lib/bb/codeparser.py9
-rw-r--r--poky/bitbake/lib/bb/cooker.py55
-rw-r--r--poky/bitbake/lib/bb/cookerdata.py4
-rw-r--r--poky/bitbake/lib/bb/data.py4
-rw-r--r--poky/bitbake/lib/bb/data_smart.py20
-rw-r--r--poky/bitbake/lib/bb/fetch2/__init__.py28
-rw-r--r--poky/bitbake/lib/bb/fetch2/git.py22
-rw-r--r--poky/bitbake/lib/bb/fetch2/gitsm.py20
-rw-r--r--poky/bitbake/lib/bb/fetch2/hg.py2
-rw-r--r--poky/bitbake/lib/bb/fetch2/npm.py2
-rw-r--r--poky/bitbake/lib/bb/fetch2/wget.py77
-rwxr-xr-xpoky/bitbake/lib/bb/main.py5
-rw-r--r--poky/bitbake/lib/bb/monitordisk.py12
-rw-r--r--poky/bitbake/lib/bb/parse/ast.py2
-rw-r--r--poky/bitbake/lib/bb/parse/parse_py/BBHandler.py27
-rw-r--r--poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py2
-rw-r--r--poky/bitbake/lib/bb/persist_data.py222
-rw-r--r--poky/bitbake/lib/bb/providers.py4
-rw-r--r--poky/bitbake/lib/bb/pysh/builtin.py710
-rw-r--r--poky/bitbake/lib/bb/pysh/interp.py1367
-rw-r--r--poky/bitbake/lib/bb/pysh/lsprof.py116
-rw-r--r--poky/bitbake/lib/bb/pysh/pysh.py167
-rw-r--r--poky/bitbake/lib/bb/pysh/pyshlex.py5
-rw-r--r--poky/bitbake/lib/bb/pysh/pyshyacc.py17
-rw-r--r--poky/bitbake/lib/bb/pysh/sherrors.py26
-rw-r--r--poky/bitbake/lib/bb/pysh/subprocess_fix.py77
-rw-r--r--poky/bitbake/lib/bb/runqueue.py92
-rw-r--r--poky/bitbake/lib/bb/siggen.py28
-rw-r--r--poky/bitbake/lib/bb/tests/codeparser.py7
-rw-r--r--poky/bitbake/lib/bb/tests/data.py9
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py27
-rw-r--r--poky/bitbake/lib/bb/tests/persist_data.py142
-rw-r--r--poky/bitbake/lib/bb/tests/utils.py4
-rw-r--r--poky/bitbake/lib/bb/utils.py47
-rw-r--r--poky/bitbake/lib/bs4/dammit.py12
-rw-r--r--poky/bitbake/lib/bs4/element.py22
-rw-r--r--poky/bitbake/lib/hashserv/__init__.py152
-rw-r--r--poky/bitbake/lib/hashserv/tests.py141
-rw-r--r--poky/documentation/Makefile3
-rw-r--r--poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml13
-rw-r--r--poky/documentation/bsp-guide/bsp-guide.xml4
-rw-r--r--poky/documentation/dev-manual/dev-manual-common-tasks.xml185
-rw-r--r--poky/documentation/dev-manual/dev-manual-qemu.xml3
-rw-r--r--poky/documentation/dev-manual/dev-manual-start.xml26
-rw-r--r--poky/documentation/dev-manual/dev-manual.xml4
-rw-r--r--poky/documentation/kernel-dev/kernel-dev-common.xml36
-rw-r--r--poky/documentation/kernel-dev/kernel-dev.xml4
-rw-r--r--poky/documentation/mega-manual/figures/bb_multiconfig_files.pngbin0 -> 19991 bytes
-rw-r--r--poky/documentation/mega-manual/figures/bitbake-title.pngbin0 -> 5086 bytes
-rw-r--r--poky/documentation/mega-manual/mega-manual.xml36
-rw-r--r--poky/documentation/overview-manual/overview-manual-concepts.xml4
-rw-r--r--poky/documentation/overview-manual/overview-manual.xml7
-rw-r--r--poky/documentation/poky.ent38
-rw-r--r--poky/documentation/profile-manual/profile-manual.xml4
-rw-r--r--poky/documentation/ref-manual/ref-manual.xml4
-rw-r--r--poky/documentation/ref-manual/ref-system-requirements.xml83
-rw-r--r--poky/documentation/ref-manual/ref-variables.xml211
-rw-r--r--poky/documentation/ref-manual/resources.xml2
-rw-r--r--poky/documentation/sdk-manual/sdk-manual.xml4
-rw-r--r--poky/documentation/toaster-manual/toaster-manual.xml4
-rw-r--r--poky/documentation/tools/mega-manual.sed60
-rw-r--r--poky/meta-poky/README.poky13
-rw-r--r--poky/meta-poky/conf/distro/include/poky-floating-revisions.inc2
-rw-r--r--poky/meta-poky/conf/distro/poky-lsb.conf2
-rw-r--r--poky/meta-poky/conf/distro/poky.conf24
-rw-r--r--poky/meta-poky/conf/layer.conf2
-rw-r--r--poky/meta-poky/conf/local.conf.sample4
-rw-r--r--poky/meta-poky/conf/local.conf.sample.extended17
-rw-r--r--poky/meta-poky/conf/site.conf.sample2
-rw-r--r--poky/meta-selftest/conf/layer.conf2
-rw-r--r--poky/meta-selftest/lib/oeqa/runtime/cases/virgl.py23
-rw-r--r--poky/meta-selftest/recipes-devtools/python/python-async-test.inc16
-rw-r--r--poky/meta-selftest/recipes-devtools/python/python3-async-test_0.6.2.bb2
-rw-r--r--poky/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb1
-rw-r--r--poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb28
-rw-r--r--poky/meta-selftest/recipes-test/recipeutils/recipeutils-test.inc5
-rw-r--r--poky/meta-selftest/recipes-test/recipeutils/recipeutils-test/anotherfile0
-rw-r--r--poky/meta-selftest/recipes-test/recipeutils/recipeutils-test/somefile0
-rw-r--r--poky/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb13
-rw-r--r--poky/meta-skeleton/conf/layer.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/layer.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf5
-rw-r--r--poky/meta-yocto-bsp/conf/machine/edgerouter.conf4
-rw-r--r--poky/meta-yocto-bsp/conf/machine/genericx86-64.conf5
-rw-r--r--poky/meta-yocto-bsp/conf/machine/genericx86.conf5
-rw-r--r--poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf5
-rw-r--r--poky/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/beaglebone-yocto/xorg.conf1
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.14.bbappend27
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.18.bbappend8
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend27
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend27
-rw-r--r--poky/meta-yocto-bsp/wic/beaglebone-yocto.wks1
-rw-r--r--poky/meta/classes/archiver.bbclass6
-rw-r--r--poky/meta/classes/base.bbclass41
-rw-r--r--poky/meta/classes/buildhistory.bbclass35
-rw-r--r--poky/meta/classes/ccache.bbclass63
-rw-r--r--poky/meta/classes/clutter.bbclass3
-rw-r--r--poky/meta/classes/cmake.bbclass26
-rw-r--r--poky/meta/classes/cml1.bbclass2
-rw-r--r--poky/meta/classes/compress_doc.bbclass2
-rw-r--r--poky/meta/classes/cpan-base.bbclass6
-rw-r--r--poky/meta/classes/cpan.bbclass13
-rw-r--r--poky/meta/classes/cpan_build.bbclass7
-rw-r--r--poky/meta/classes/cross-canadian.bbclass2
-rw-r--r--poky/meta/classes/cross.bbclass3
-rw-r--r--poky/meta/classes/crosssdk.bbclass2
-rw-r--r--poky/meta/classes/debian.bbclass6
-rw-r--r--poky/meta/classes/devicetree.bbclass9
-rw-r--r--poky/meta/classes/devtool-source.bbclass6
-rw-r--r--poky/meta/classes/distro_features_check.bbclass29
-rw-r--r--poky/meta/classes/distrodata.bbclass427
-rw-r--r--poky/meta/classes/distutils-tools.bbclass73
-rw-r--r--poky/meta/classes/extrausers.bbclass17
-rw-r--r--poky/meta/classes/fontcache.bbclass1
-rw-r--r--poky/meta/classes/gconf.bbclass2
-rw-r--r--poky/meta/classes/go.bbclass1
-rw-r--r--poky/meta/classes/goarch.bbclass6
-rw-r--r--poky/meta/classes/gobject-introspection.bbclass2
-rw-r--r--poky/meta/classes/gsettings.bbclass48
-rw-r--r--poky/meta/classes/gtk-doc.bbclass5
-rw-r--r--poky/meta/classes/icecc.bbclass19
-rw-r--r--poky/meta/classes/image-buildinfo.bbclass6
-rw-r--r--poky/meta/classes/image.bbclass4
-rw-r--r--poky/meta/classes/image_types.bbclass15
-rw-r--r--poky/meta/classes/insane.bbclass140
-rw-r--r--poky/meta/classes/kernel-fitimage.bbclass47
-rw-r--r--poky/meta/classes/kernel-module-split.bbclass5
-rw-r--r--poky/meta/classes/kernel-uimage.bbclass2
-rw-r--r--poky/meta/classes/kernel-yocto.bbclass33
-rw-r--r--poky/meta/classes/kernel.bbclass11
-rw-r--r--poky/meta/classes/libc-package.bbclass57
-rw-r--r--poky/meta/classes/license.bbclass19
-rw-r--r--poky/meta/classes/license_image.bbclass21
-rw-r--r--poky/meta/classes/mcextend.bbclass16
-rw-r--r--poky/meta/classes/meson.bbclass5
-rw-r--r--poky/meta/classes/metadata_scm.bbclass44
-rw-r--r--poky/meta/classes/module.bbclass1
-rw-r--r--poky/meta/classes/multilib.bbclass2
-rw-r--r--poky/meta/classes/native.bbclass6
-rw-r--r--poky/meta/classes/package.bbclass117
-rw-r--r--poky/meta/classes/package_ipk.bbclass2
-rw-r--r--poky/meta/classes/package_rpm.bbclass6
-rw-r--r--poky/meta/classes/packagegroup.bbclass2
-rw-r--r--poky/meta/classes/perl-version.bbclass46
-rw-r--r--poky/meta/classes/pixbufcache.bbclass3
-rw-r--r--poky/meta/classes/populate_sdk_base.bbclass7
-rw-r--r--poky/meta/classes/populate_sdk_ext.bbclass9
-rw-r--r--poky/meta/classes/ptest.bbclass18
-rw-r--r--poky/meta/classes/python3-dir.bbclass2
-rw-r--r--poky/meta/classes/python3native.bbclass2
-rw-r--r--poky/meta/classes/sanity.bbclass2
-rw-r--r--poky/meta/classes/scons.bbclass19
-rw-r--r--poky/meta/classes/sstate.bbclass67
-rw-r--r--poky/meta/classes/staging.bbclass5
-rw-r--r--poky/meta/classes/terminal.bbclass4
-rw-r--r--poky/meta/classes/testimage.bbclass4
-rw-r--r--poky/meta/classes/uboot-extlinux-config.bbclass2
-rw-r--r--poky/meta/classes/uboot-sign.bbclass99
-rw-r--r--poky/meta/classes/update-alternatives.bbclass55
-rw-r--r--poky/meta/classes/utils.bbclass2
-rw-r--r--poky/meta/classes/waf.bbclass8
-rw-r--r--poky/meta/classes/xmlcatalog.bbclass24
-rw-r--r--poky/meta/conf/bitbake.conf55
-rw-r--r--poky/meta/conf/ccache.conf2
-rw-r--r--poky/meta/conf/distro/defaultsetup.conf1
-rw-r--r--poky/meta/conf/distro/include/default-distrovars.inc19
-rw-r--r--poky/meta/conf/distro/include/default-providers.inc2
-rw-r--r--poky/meta/conf/distro/include/distro_alias.inc3
-rw-r--r--poky/meta/conf/distro/include/maintainers.inc108
-rw-r--r--poky/meta/conf/distro/include/no-static-libs.inc1
-rw-r--r--poky/meta/conf/distro/include/tclibc-glibc.inc19
-rw-r--r--poky/meta/conf/distro/include/tcmode-default.inc14
-rw-r--r--poky/meta/conf/distro/include/upstream_tracking.inc24
-rw-r--r--poky/meta/conf/documentation.conf4
-rw-r--r--poky/meta/conf/layer.conf6
-rw-r--r--poky/meta/conf/machine/include/arm/arch-arm64.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv4.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv5.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7a.inc32
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7ve.inc32
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8.inc1
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8a.inc30
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-neon.inc3
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-vfp.inc3
-rw-r--r--poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc3
-rw-r--r--poky/meta/conf/machine/include/qemuboot-mips.inc3
-rw-r--r--poky/meta/conf/machine/include/qemuboot-x86.inc3
-rw-r--r--poky/meta/conf/machine/include/tune-arm1136jf-s.inc4
-rw-r--r--poky/meta/conf/machine/include/tune-arm920t.inc4
-rw-r--r--poky/meta/conf/machine/include/tune-arm926ejs.inc4
-rw-r--r--poky/meta/conf/machine/include/tune-arm9tdmi.inc4
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa15.inc27
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa17.inc27
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa32.inc18
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa35.inc17
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa5.inc35
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa53.inc17
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa7.inc27
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa72.inc13
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa8.inc19
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa9.inc28
-rw-r--r--poky/meta/conf/machine/include/tune-ep9312.inc1
-rw-r--r--poky/meta/conf/machine/include/tune-iwmmxt.inc3
-rw-r--r--poky/meta/conf/machine/include/tune-power5.inc5
-rw-r--r--poky/meta/conf/machine/include/tune-power6.inc5
-rw-r--r--poky/meta/conf/machine/include/tune-power7.inc5
-rw-r--r--poky/meta/conf/machine/include/tune-ppce500v2.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-strongarm1100.inc3
-rw-r--r--poky/meta/conf/machine/include/tune-thunderx.inc8
-rw-r--r--poky/meta/conf/machine/include/tune-xscale.inc7
-rw-r--r--poky/meta/conf/machine/include/x86-base.inc2
-rw-r--r--poky/meta/conf/machine/qemuarm.conf35
-rw-r--r--poky/meta/conf/machine/qemuarm64.conf21
-rw-r--r--poky/meta/conf/machine/qemuarmv5.conf23
-rw-r--r--poky/meta/conf/machine/qemumips.conf4
-rw-r--r--poky/meta/conf/machine/qemumips64.conf8
-rw-r--r--poky/meta/conf/machine/qemuppc.conf7
-rw-r--r--poky/meta/conf/machine/qemux86-64.conf4
-rw-r--r--poky/meta/conf/machine/qemux86.conf4
-rw-r--r--poky/meta/files/common-licenses/vim (renamed from meta-openembedded/meta-oe/licenses/vim)0
-rw-r--r--poky/meta/files/toolchain-shar-extract.sh4
-rw-r--r--poky/meta/lib/oe/classextend.py2
-rw-r--r--poky/meta/lib/oe/elf.py1
-rw-r--r--poky/meta/lib/oe/license.py8
-rw-r--r--poky/meta/lib/oe/package.py2
-rw-r--r--poky/meta/lib/oe/package_manager.py100
-rw-r--r--poky/meta/lib/oe/patch.py8
-rw-r--r--poky/meta/lib/oe/recipeutils.py209
-rw-r--r--poky/meta/lib/oe/rootfs.py51
-rw-r--r--poky/meta/lib/oe/sdk.py4
-rw-r--r--poky/meta/lib/oe/sstatesig.py302
-rw-r--r--poky/meta/lib/oe/terminal.py12
-rw-r--r--poky/meta/lib/oe/utils.py19
-rw-r--r--poky/meta/lib/oeqa/controllers/masterimage.py40
-rw-r--r--poky/meta/lib/oeqa/core/target/qemu.py26
-rw-r--r--poky/meta/lib/oeqa/core/utils/concurrencytest.py5
-rw-r--r--poky/meta/lib/oeqa/manual/bsp-hw.json264
-rw-r--r--poky/meta/lib/oeqa/manual/build-appliance.json26
-rw-r--r--poky/meta/lib/oeqa/manual/compliance-test.json194
-rw-r--r--poky/meta/lib/oeqa/manual/kernel-dev.json36
-rw-r--r--poky/meta/lib/oeqa/manual/sdk.json14
-rw-r--r--poky/meta/lib/oeqa/manual/toaster-managed-mode.json2572
-rw-r--r--poky/meta/lib/oeqa/manual/toaster-unmanaged-mode.json1170
-rw-r--r--poky/meta/lib/oeqa/oetest.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/gi.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/gstreamer.py14
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ksample.py11
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/parselogs.py19
-rw-r--r--poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/case.py39
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/assimp.py61
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildcpio.py48
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildepoxy.py35
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildgalculator.py44
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildlzip.py61
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/gcc.py3
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/perl.py15
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/python.py32
-rw-r--r--poky/meta/lib/oeqa/sdkext/cases/devtool.py3
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bbtests.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/buildoptions.py12
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/devtool.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/distrodata.py88
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/imagefeatures.py26
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/multiconfig.py43
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/package.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/pkgdata.py5
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/prservice.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipeutils.py137
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runcmd.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runtime_test.py66
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/sstatetests.py18
-rw-r--r--poky/meta/lib/oeqa/selftest/context.py1
-rw-r--r--poky/meta/lib/oeqa/utils/metadata.py5
-rw-r--r--poky/meta/lib/oeqa/utils/qemurunner.py18
-rw-r--r--poky/meta/recipes-bsp/acpid/acpid_2.0.30.bb7
-rw-r--r--poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb7
-rw-r--r--poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.8.bb71
-rw-r--r--poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb71
-rw-r--r--poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch262
-rw-r--r--poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch24
-rw-r--r--poky/meta/recipes-bsp/grub/grub2.inc2
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/CVE-2018-1000205-1.patch59
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/CVE-2018-1000205-2.patch143
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-common.inc15
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-common_2018.07.inc18
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2018.07.bb34
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb34
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb29
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb67
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot.inc29
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot_2018.07.bb4
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot_2019.01.bb4
-rw-r--r--poky/meta/recipes-connectivity/avahi/avahi.inc4
-rw-r--r--poky/meta/recipes-connectivity/avahi/files/fix-CVE-2017-6519.patch48
-rw-r--r--poky/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch54
-rw-r--r--poky/meta/recipes-connectivity/bind/bind/CVE-2018-5740.patch72
-rw-r--r--poky/meta/recipes-connectivity/bind/bind_9.11.4.bb137
-rw-r--r--poky/meta/recipes-connectivity/bind/bind_9.11.5.bb139
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5.inc3
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch705
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5/init12
-rw-r--r--poky/meta/recipes-connectivity/connman/connman.inc6
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch362
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch41
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/0001-inet-Add-prefixlen-to-iproute_default_function.patch63
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch112
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch69
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch68
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch77
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/includes.patch417
-rw-r--r--poky/meta/recipes-connectivity/connman/connman_1.35.bb22
-rw-r--r--poky/meta/recipes-connectivity/connman/connman_1.36.bb16
-rw-r--r--poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch2882
-rw-r--r--poky/meta/recipes-connectivity/dhcp/dhcp/0008-tweak-to-support-external-bind.patch117
-rw-r--r--poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb1
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/version.patch (renamed from meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch)0
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb209
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2.inc4
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap.inc42
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap/0001-Fix-compiler_state_t.ai-usage-when-INET6-is-not-defi.patch41
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap/0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-syste.patch29
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap/0002-Add-missing-compiler_state_t-parameter.patch67
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap/disable-remote.patch36
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap/fix-grammar-deps.patch29
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap/libpcap-pkgconfig-support.patch73
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb31
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb45
-rw-r--r--poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info/multilibfix.patch18
-rw-r--r--poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb8
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch32
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Don-t-build-tools-with-CC_FOR_BUILD.patch40
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch295
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch50
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-cacheio-use-intmax_t-for-formatted-IO.patch38
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch43
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch183
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch42
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch43
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.1.bb151
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb153
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono_1.24.bb9
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono_1.25.bb9
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb164
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb162
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch8
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch69
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl/afalg.patch31
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl/openssl-c_rehash.sh222
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl/run-ptest2
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb363
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb360
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl_1.1.1a.bb210
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb206
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-replace-systemd-install-Alias-with-WantedBy.patch52
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple1.patch191
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple2.patch267
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple3.patch201
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple4.patch96
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple5.patch81
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple6.patch149
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple7.patch60
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple8.patch99
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant-CVE-2018-14526.patch44
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb119
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb109
-rw-r--r--poky/meta/recipes-core/base-files/base-files/filesystems8
-rw-r--r--poky/meta/recipes-core/base-files/base-files/hosts (renamed from poky/meta/recipes-core/netbase/netbase/hosts)0
-rw-r--r--poky/meta/recipes-core/base-files/base-files_3.0.14.bb9
-rw-r--r--poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb (renamed from poky/meta/recipes-core/busybox/busybox-inittab_1.29.3.bb)0
-rw-r--r--poky/meta/recipes-core/busybox/busybox.inc22
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch32
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch45
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch62
-rw-r--r--poky/meta/recipes-core/busybox/busybox/defconfig193
-rw-r--r--poky/meta/recipes-core/busybox/busybox_1.29.3.bb48
-rw-r--r--poky/meta/recipes-core/busybox/busybox_1.30.1.bb51
-rw-r--r--poky/meta/recipes-core/busybox/files/run-ptest6
-rw-r--r--poky/meta/recipes-core/dbus/dbus-test_1.12.10.bb83
-rw-r--r--poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb83
-rw-r--r--poky/meta/recipes-core/dbus/dbus_1.12.10.bb176
-rw-r--r--poky/meta/recipes-core/dbus/dbus_1.12.12.bb175
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear.inc1
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear/CVE-2018-15599.patch236
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear_2018.76.bb5
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear_2019.77.bb4
-rw-r--r--poky/meta/recipes-core/fts/fts.bb22
-rw-r--r--poky/meta/recipes-core/fts/fts_1.2.7.bb21
-rw-r--r--poky/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch141
-rw-r--r--poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb9
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch50
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch17
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch64
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch104
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch62
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch27
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch2
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch95
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch44
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch20
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross6
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch2
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest1
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb22
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb26
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib.inc59
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.54.1.bb29
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb31
-rw-r--r--poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb51
-rw-r--r--poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb53
-rw-r--r--poky/meta/recipes-core/glibc/glibc-collateral.inc17
-rw-r--r--poky/meta/recipes-core/glibc/glibc-common.inc14
-rw-r--r--poky/meta/recipes-core/glibc/glibc-initial.inc57
-rw-r--r--poky/meta/recipes-core/glibc/glibc-initial_2.28.bb9
-rw-r--r--poky/meta/recipes-core/glibc/glibc-ld.inc4
-rw-r--r--poky/meta/recipes-core/glibc/glibc-locale.inc40
-rw-r--r--poky/meta/recipes-core/glibc/glibc-locale_2.29.bb (renamed from poky/meta/recipes-core/glibc/glibc-locale_2.28.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb (renamed from poky/meta/recipes-core/glibc/glibc-mtrace_2.28.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-package.inc39
-rw-r--r--poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb (renamed from poky/meta/recipes-core/glibc/glibc-scripts_2.28.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc.inc42
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch204
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch26
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch39
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch13
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch21
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch13
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch11
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch45
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch53
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch84
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch56
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch35
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch37
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch65
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch66
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch34
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch304
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch89
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch31
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch56
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch258
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch100
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch68
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch272
-rw-r--r--poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch36
-rw-r--r--poky/meta/recipes-core/glibc/glibc_2.28.bb135
-rw-r--r--poky/meta/recipes-core/glibc/glibc_2.29.bb129
-rw-r--r--poky/meta/recipes-core/glibc/site_config/funcs474
-rw-r--r--poky/meta/recipes-core/glibc/site_config/headers155
-rw-r--r--poky/meta/recipes-core/glibc/site_config/types21
-rw-r--r--poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb5
-rw-r--r--poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh2
-rw-r--r--poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb7
-rwxr-xr-xpoky/meta/recipes-core/initrdscripts/initramfs-framework/init5
-rw-r--r--poky/meta/recipes-core/initrdscripts/initramfs-framework/lvm13
-rw-r--r--poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb9
-rwxr-xr-xpoky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh7
-rw-r--r--poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh6
-rw-r--r--poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles2
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt.bb30
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt_4.1.1.bb27
-rw-r--r--poky/meta/recipes-core/libxml/libxml2_2.9.8.bb2
-rw-r--r--poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb4
-rw-r--r--poky/meta/recipes-core/musl/libssp-nonshared.bb7
-rw-r--r--poky/meta/recipes-core/musl/musl.inc6
-rw-r--r--poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch61
-rw-r--r--poky/meta/recipes-core/musl/musl_git.bb11
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses.inc4
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses_6.1+20180630.bb11
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb11
-rw-r--r--poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch14
-rw-r--r--poky/meta/recipes-core/netbase/netbase_5.4.bb25
-rw-r--r--poky/meta/recipes-core/netbase/netbase_5.6.bb21
-rw-r--r--poky/meta/recipes-core/newlib/newlib.inc6
-rw-r--r--poky/meta/recipes-core/newlib/newlib_3.0.0.bb2
-rw-r--r--poky/meta/recipes-core/os-release/os-release.bb1
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf_git.bb7
-rw-r--r--poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb1
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb1
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb8
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb2
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb1
-rw-r--r--poky/meta/recipes-core/psplash/psplash_git.bb6
-rw-r--r--poky/meta/recipes-core/readline/readline-8.0/configure-fix.patch (renamed from poky/meta/recipes-core/readline/readline-7.0/configure-fix.patch)0
-rw-r--r--poky/meta/recipes-core/readline/readline-8.0/norpath.patch (renamed from poky/meta/recipes-core/readline/readline-7.0/norpath.patch)0
-rw-r--r--poky/meta/recipes-core/readline/readline_7.0.bb7
-rw-r--r--poky/meta/recipes-core/readline/readline_8.0.bb7
-rw-r--r--poky/meta/recipes-core/systemd/systemd-boot_239.bb70
-rw-r--r--poky/meta/recipes-core/systemd/systemd-boot_241.bb71
-rw-r--r--poky/meta/recipes-core/systemd/systemd-conf_241.bb (renamed from poky/meta/recipes-core/systemd/systemd-conf.bb)0
-rw-r--r--poky/meta/recipes-core/systemd/systemd.inc8
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch77
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch36
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch21
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch22
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch219
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-core-when-deserializing-state-always-use-read_line-L.patch250
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch39
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch523
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch110
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch118
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch32
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-meson-rename-Ddebug-to-Ddebug-extra.patch45
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch175
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch31
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-timesync-changes-type-of-drift_freq-to-int64_t.patch49
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-core-Fix-use-after-free-case-in-load_from_path.patch43
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch231
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch14
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch40
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch8
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch61
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch18
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-Make-root-s-home-directory-configurable.patch70
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch29
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch45
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch116
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch96
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0006-remove-nobody-user-group-checking.patch63
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0006-src-basic-missing.h-check-for-missing-strndupa.patch118
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0007-Include-netinet-if_ether.h.patch96
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch154
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0007-rules-watch-metadata-changes-in-ide-devices.patch43
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch29
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch47
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch153
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0009-add-missing-FTW_-macros-for-musl.patch50
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch43
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch38
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch45
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch38
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0011-Use-uintmax_t-for-handling-rlim_t.patch97
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch48
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch27
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch45
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0013-Use-uintmax_t-for-handling-rlim_t.patch90
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch28
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch30
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch42
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch99
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch28
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch34
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch42
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch39
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch99
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch34
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch62
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch39
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch35
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch62
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0020-missing_type.h-add-__compar_d_fn_t-definition.patch30
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch34
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch47
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch109
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0023-resolvconf-fixes-for-the-compatibility-interface.patch58
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch30
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0024-journald-do-not-store-the-iovec-entry-for-process-co.patch208
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0025-journald-set-a-limit-on-the-number-of-fields.patch139
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch49
-rw-r--r--poky/meta/recipes-core/systemd/systemd/CVE-2019-6454.patch210
-rw-r--r--poky/meta/recipes-core/systemd/systemd/sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch61
-rw-r--r--poky/meta/recipes-core/systemd/systemd_239.bb666
-rw-r--r--poky/meta/recipes-core/systemd/systemd_241.bb651
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty14
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb1
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch (renamed from poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch)0
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch (renamed from poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch)0
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/install.patch (renamed from poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch)0
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch (renamed from poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/pidof-add-m-option.patch)0
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux.inc348
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch16
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch33
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb17
-rw-r--r--poky/meta/recipes-core/zlib/zlib-1.2.11/Makefile-runtests.patch38
-rw-r--r--poky/meta/recipes-core/zlib/zlib-1.2.11/ldflags-tests.patch45
-rw-r--r--poky/meta/recipes-core/zlib/zlib-1.2.11/remove.ldconfig.call.patch21
-rw-r--r--poky/meta/recipes-core/zlib/zlib-1.2.11/run-ptest2
-rw-r--r--poky/meta/recipes-core/zlib/zlib/ldflags-tests.patch45
-rw-r--r--poky/meta/recipes-core/zlib/zlib/run-ptest7
-rw-r--r--poky/meta/recipes-core/zlib/zlib_1.2.11.bb19
-rw-r--r--poky/meta/recipes-devtools/apt/apt.inc3
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-Include-array.h-for-std-array.patch35
-rw-r--r--poky/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch89
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.31.inc54
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.32.inc52
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.32.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.31.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross_2.32.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-cross_2.31.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.32.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.31.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch12
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch8
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch10
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch8
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch8
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch1425
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch35
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch35
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch35
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch273
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch52
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch273
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch59
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch52
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch393
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch59
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch393
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch36
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0013-Detect-64-bit-MIPS-targets.patch50
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch36
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch50
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0014-sync-with-OE-libtool-changes.patch89
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch53
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch89
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0016-add-i386pep-emulation-for-x86_64.patch41
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0022-Handle-ELF-compressed-header-alignment-correctly-by-.patch332
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0023-gold-Get-alignment-of-uncompressed-section-from-ch_a.patch200
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2018-17358.patch121
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2018-17360.patch45
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18309.patch251
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18605.patch29
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18606.patch50
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18607.patch56
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/clang-bfd-fix.patch30
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils_2.32.bb (renamed from poky/meta/recipes-devtools/binutils/binutils_2.31.bb)0
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch27
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb44
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb44
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache.inc13
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_3.4.2.bb11
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_3.6.bb12
-rw-r--r--poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch8
-rw-r--r--poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch79
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake-native_3.12.2.bb50
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb53
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake.inc6
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch2
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch41
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch4
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch2
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch2
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake2
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake_3.14.1.bb (renamed from poky/meta/recipes-devtools/cmake/cmake_3.12.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch28
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch14
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch73
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb8
-rw-r--r--poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb24
-rw-r--r--poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch24
-rw-r--r--poky/meta/recipes-devtools/dmidecode/dmidecode_3.1.bb27
-rw-r--r--poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb24
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch19
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch17
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf_2.7.5.bb75
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb75
-rw-r--r--poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml68
-rw-r--r--poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb25
-rw-r--r--poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml6
-rw-r--r--poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb28
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg.inc25
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/0001-arch-Add-support-for-riscv64-CPU.patch54
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch19
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch16
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch12
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service17
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch11
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch27
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg_1.18.24.bb22
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb22
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.3.bb136
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb136
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.175.bb73
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb73
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch12
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch6
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch6
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch8
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch8
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch8
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch8
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch9
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch6
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch11
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch12
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch59
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff330
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch21
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff154
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch18
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff15
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch14
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff126
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch20
-rw-r--r--poky/meta/recipes-devtools/file/file/debian-742262.patch27
-rw-r--r--poky/meta/recipes-devtools/file/file_5.34.bb50
-rw-r--r--poky/meta/recipes-devtools/file/file_5.36.bb48
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3.inc135
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-internal-compiler-error-in-testcase.patch212
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-ppc64le-build-Partial-backport-r256656.patch37
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-c-80290-memory-hog-with-std-pair.patch58
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-rtl-optimization-83030.patch272
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0009-gcc-poison-system-directories.patch192
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0010-gcc-poison-dir-extend.patch39
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0011-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch73
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0012-64-bit-multilib-hack.patch85
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0013-optional-libstdc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0014-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch59
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0015-COLLECT_GCC_OPTIONS.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0016-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch96
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0017-fortran-cross-compile-hack.patch46
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0018-cpp-honor-sysroot.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0019-MIPS64-Default-to-N64-ABI.patch57
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0020-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch234
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0021-gcc-Fix-argument-list-too-long-error.patch40
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0022-Disable-sdt.patch113
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0023-libtool.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0024-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch43
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0025-Use-the-multilib-config-files-from-B-instead-of-usin.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0026-Avoid-using-libdir-from-.la-which-usually-points-to-.patch31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0027-export-CPP.patch53
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0028-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch56
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0029-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0030-Ensure-target-gcc-headers-can-be-included.patch98
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0031-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0032-Don-t-search-host-directory-during-relink-if-inst_pr.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0033-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0034-aarch64-Add-support-for-musl-ldso.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0035-libcc1-fix-libcc1-s-install-path-and-rpath.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0036-handle-sysroot-support-for-nativesdk-gcc.patch213
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0037-Search-target-sysroot-gcc-version-specific-dirs-with.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0038-Fix-various-_FOR_BUILD-and-related-variables.patch137
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0039-nios2-Define-MUSL_DYNAMIC_LINKER.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch87
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0041-gcc-libcpp-support-ffile-prefix-map-old-new.patch284
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0042-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch43
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0043-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0044-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch124
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0047-sync-gcc-stddef.h-with-musl.patch91
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0048-gcc-Enable-static-PIE.patch46
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch204
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/fix-segmentation-fault-precompiled-hdr.patch49
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-7.3/no-sse-fix-test-case-failures.patch259
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2.inc127
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0003-gcc-poison-system-directories.patch194
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0005-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch73
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0006-64-bit-multilib-hack.patch85
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0007-optional-libstdc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0008-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch59
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0009-COLLECT_GCC_OPTIONS.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0010-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch96
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0011-fortran-cross-compile-hack.patch46
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0012-cpp-honor-sysroot.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0013-MIPS64-Default-to-N64-ABI.patch57
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0014-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch248
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0015-gcc-Fix-argument-list-too-long-error.patch40
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0016-Disable-sdt.patch113
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0017-libtool.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0018-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch43
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0019-Use-the-multilib-config-files-from-B-instead-of-usin.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0020-Avoid-using-libdir-from-.la-which-usually-points-to-.patch31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0021-export-CPP.patch53
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0022-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0023-Ensure-target-gcc-headers-can-be-included.patch98
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0024-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0025-Don-t-search-host-directory-during-relink-if-inst_pr.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0026-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0027-aarch64-Add-support-for-musl-ldso.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0028-libcc1-fix-libcc1-s-install-path-and-rpath.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0029-handle-sysroot-support-for-nativesdk-gcc.patch213
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0030-Search-target-sysroot-gcc-version-specific-dirs-with.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0031-Fix-various-_FOR_BUILD-and-related-variables.patch137
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0032-nios2-Define-MUSL_DYNAMIC_LINKER.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0033-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch87
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0034-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0035-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0036-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch86
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0037-sync-gcc-stddef.h-with-musl.patch91
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0038-fix-segmentation-fault-in-precompiled-header-generat.patch60
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0039-Fix-for-testsuite-failure.patch258
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0040-Re-introduce-spe-commandline-options.patch41
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch44
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3.inc111
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch203
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch73
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch85
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch59
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch96
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch46
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch57
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch248
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch40
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch113
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch43
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch53
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch98
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch213
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch137
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch87
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch85
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch91
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch60
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch258
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch41
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch27
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-common.inc9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-configure-common.inc5
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.2.bb5
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-cross-canadian_7.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-initial.inc89
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-initial_7.3.bb2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-initial_8.2.bb2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross.inc13
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross_8.2.bb3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-cross_7.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial.inc10
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_7.3.bb3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_8.2.bb3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.2.bb2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-crosssdk_7.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime.inc36
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime_7.3.bb7
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-runtime_8.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-sanitizers_7.3.bb2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-source_8.2.bb4
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-source_7.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-target.inc1
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc_7.3.bb10
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/gcc_8.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc-initial.inc52
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc-initial_7.3.bb2
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/libgcc-initial_8.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc.inc2
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc_7.3.bb2
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/libgcc_8.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgfortran.inc5
-rw-r--r--poky/meta/recipes-devtools/gcc/libgfortran_8.2.bb3
-rw-r--r--poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb (renamed from poky/meta/recipes-devtools/gcc/libgfortran_7.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc23
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-8.2.inc22
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-common.inc3
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc2
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb (renamed from poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb (renamed from poky/meta/recipes-devtools/gdb/gdb-cross_8.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch50
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb (renamed from poky/meta/recipes-devtools/gdb/gdb_8.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/git/git_2.18.1.bb11
-rw-r--r--poky/meta/recipes-devtools/git/git_2.20.1.bb11
-rw-r--r--poky/meta/recipes-devtools/glide/glide_0.13.2.bb3
-rw-r--r--poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb4
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11.inc7
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch6
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch13
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12.inc23
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0001-allow-CC-and-CXX-to-have-multiple-words.patch31
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch218
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch48
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0004-ld-add-soname-to-shareable-objects.patch45
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch37
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0006-cmd-dist-separate-host-and-target-builds.patch282
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0007-cmd-go-make-GOROOT-precious-by-default.patch106
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0008-use-GOBUILDMODE-to-set-buildmode.patch37
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0009-ld-replace-glibc-dynamic-linker-with-musl.patch112
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9.inc27
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0001-make.bash-quote-CC_FOR_TARGET.patch32
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch67
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0003-make.bash-better-separate-host-and-target-builds.patch92
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch68
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0005-cmd-go-make-GOROOT-precious-by-default.patch41
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch36
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0007-ld-add-soname-to-shareable-objects.patch46
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch33
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch47
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch43
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/0011-use-GOBUILDMODE-to-set-buildmode.patch40
-rw-r--r--poky/meta/recipes-devtools/go/go-1.9/set-external-linker.patch111
-rw-r--r--poky/meta/recipes-devtools/go/go-common.inc1
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian.inc10
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian_1.12.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian_1.9.bb12
-rw-r--r--poky/meta/recipes-devtools/go/go-cross.inc1
-rw-r--r--poky/meta/recipes-devtools/go/go-cross_1.12.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-cross_1.9.bb10
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk.inc2
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk_1.12.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk_1.9.bb11
-rw-r--r--poky/meta/recipes-devtools/go/go-native_1.12.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-native_1.9.bb4
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime_1.12.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime_1.9.bb23
-rw-r--r--poky/meta/recipes-devtools/go/go-target.inc2
-rw-r--r--poky/meta/recipes-devtools/go/go_1.12.bb14
-rw-r--r--poky/meta/recipes-devtools/go/go_1.9.bb28
-rw-r--r--poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-env.sh4
-rw-r--r--poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-setup.sh6
-rw-r--r--poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb6
-rw-r--r--poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch47
-rw-r--r--poky/meta/recipes-devtools/libcomps/libcomps_git.bb5
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch49
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch15
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch65
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch36
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch29
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch17
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf_0.11.1.bb28
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb29
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch22
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch67
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb30
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch21
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch18
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo_1.8.1.bb21
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb21
-rw-r--r--poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc1
-rw-r--r--poky/meta/recipes-devtools/libtool/libtool/0001-libtool-Check-for-static-libs-for-internal-compiler-.patch37
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch28
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch66
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm_git.bb111
-rw-r--r--poky/meta/recipes-devtools/meson/meson.inc15
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch36
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch25
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch61
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch26
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch52
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch36
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch26
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch25
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch37
-rw-r--r--poky/meta/recipes-devtools/meson/meson/cross-libdir.patch35
-rw-r--r--poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch23
-rw-r--r--poky/meta/recipes-devtools/meson/meson/gi-flags.patch35
-rw-r--r--poky/meta/recipes-devtools/meson/meson/gtkdoc-flags.patch44
-rw-r--r--poky/meta/recipes-devtools/meson/meson/many-cross.patch207
-rwxr-xr-xpoky/meta/recipes-devtools/meson/meson/meson-setup.py69
-rwxr-xr-xpoky/meta/recipes-devtools/meson/meson/meson-wrapper2
-rw-r--r--poky/meta/recipes-devtools/meson/meson_0.47.2.bb3
-rw-r--r--poky/meta/recipes-devtools/meson/meson_0.49.2.bb4
-rw-r--r--poky/meta/recipes-devtools/meson/nativesdk-meson_0.47.2.bb74
-rw-r--r--poky/meta/recipes-devtools/meson/nativesdk-meson_0.49.2.bb71
-rw-r--r--poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.43.bb24
-rw-r--r--poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb22
-rw-r--r--poky/meta/recipes-devtools/mtd/mtd-utils_git.bb7
-rw-r--r--poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch17
-rw-r--r--poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb53
-rw-r--r--poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb53
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/0001-Verify-that-we-are-not-reading-past-end-of-a-buffer.patch65
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/0001-asmlib-Drop-pure-function-attribute-from-seg_init.patch27
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/0001-assemble-Check-global-line-limit.patch50
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/0001-eval-Eliminate-division-by-zero.patch40
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/0001-fix-CVE-2018-8882.patch30
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/0001-preproc-parse_size-Check-for-string-provided.patch37
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm_2.13.03.bb35
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb20
-rw-r--r--poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch39
-rw-r--r--poky/meta/recipes-devtools/ninja/ninja_1.8.2.bb30
-rw-r--r--poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb32
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Only-use-sort-name-on-versions-of-tar-which-support-.patch51
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch5
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch33
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-Fix-link-relocation-support.patch40
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0002-opkg-build-Use-local-time-for-build_date-since-opkg-.patch44
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/pigz.patch51
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/tar_ignore_error.patch48
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/threaded-xz.patch18
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb69
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb64
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg/0001-libopkg-add-add-ignore-recommends-option.patch259
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg/0001-remove_maintainer_scripts-use-strict-matching.patch56
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg_0.3.6.bb62
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb62
-rw-r--r--poky/meta/recipes-devtools/orc/orc_0.4.28.bb2
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch26
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch34
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch69
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch29
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch27
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff (renamed from poky/meta/recipes-devtools/perl/perl/debian/errno_ver.diff)0
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch27
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch48
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch38
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt4296
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/files/run-ptest (renamed from poky/meta/recipes-devtools/perl/perl/run-ptest)0
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc57
-rw-r--r--poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb304
-rw-r--r--poky/meta/recipes-devtools/perl/liberror-perl_0.17026.bb33
-rw-r--r--poky/meta/recipes-devtools/perl/liberror-perl_0.17027.bb47
-rw-r--r--poky/meta/recipes-devtools/perl/perl-native_5.24.4.bb140
-rw-r--r--poky/meta/recipes-devtools/perl/perl-ptest.inc57
-rw-r--r--poky/meta/recipes-devtools/perl/perl-rdepends_5.24.4.inc2575
-rw-r--r--poky/meta/recipes-devtools/perl/perl.inc10
-rw-r--r--poky/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch103
-rw-r--r--poky/meta/recipes-devtools/perl/perl/0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch52
-rw-r--r--poky/meta/recipes-devtools/perl/perl/0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch126
-rw-r--r--poky/meta/recipes-devtools/perl/perl/CVE-2018-12015.patch48
-rw-r--r--poky/meta/recipes-devtools/perl/perl/Configure-multilib.patch17
-rw-r--r--poky/meta/recipes-devtools/perl/perl/MM_Unix.pm.patch22
-rw-r--r--poky/meta/recipes-devtools/perl/perl/Makefile.SH.patch383
-rw-r--r--poky/meta/recipes-devtools/perl/perl/Makefile.patch58
-rw-r--r--poky/meta/recipes-devtools/perl/perl/config.sh1249
-rw-r--r--poky/meta/recipes-devtools/perl/perl/config.sh-3238
-rw-r--r--poky/meta/recipes-devtools/perl/perl/config.sh-32-be1
-rw-r--r--poky/meta/recipes-devtools/perl/perl/config.sh-32-le1
-rw-r--r--poky/meta/recipes-devtools/perl/perl/config.sh-6438
-rw-r--r--poky/meta/recipes-devtools/perl/perl/config.sh-64-be1
-rw-r--r--poky/meta/recipes-devtools/perl/perl/config.sh-64-le1
-rw-r--r--poky/meta/recipes-devtools/perl/perl/cross-generate_uudmap.patch15
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff63
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff38
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff35
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff57
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/doc_info.diff36
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff71
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff38
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fakeroot.diff43
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/find_html2text.diff36
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff32
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff111
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff26
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff74
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff171
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff52
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff110
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff87
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff34
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff154
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff28
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff25
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff38
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff27
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff53
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff31
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff43
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/mod_paths.diff100
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff93
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/patchlevel.diff31
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch30
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/perlivp.diff40
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff24
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff119
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/prune_libs.diff43
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/regen-skip.diff28
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff41
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff29
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff57
-rw-r--r--poky/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff37
-rw-r--r--poky/meta/recipes-devtools/perl/perl/dynaloaderhack.patch35
-rw-r--r--poky/meta/recipes-devtools/perl/perl/ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch35
-rw-r--r--poky/meta/recipes-devtools/perl/perl/ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch33
-rw-r--r--poky/meta/recipes-devtools/perl/perl/fix_bad_rpath.patch24
-rw-r--r--poky/meta/recipes-devtools/perl/perl/generate-sh.patch56
-rw-r--r--poky/meta/recipes-devtools/perl/perl/installperl.patch17
-rw-r--r--poky/meta/recipes-devtools/perl/perl/letgcc-find-errno.patch46
-rw-r--r--poky/meta/recipes-devtools/perl/perl/make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch27
-rw-r--r--poky/meta/recipes-devtools/perl/perl/native-nopacklist.patch91
-rw-r--r--poky/meta/recipes-devtools/perl/perl/native-perlinc.patch26
-rw-r--r--poky/meta/recipes-devtools/perl/perl/perl-5.26.1-guard_old_libcrypt_fix.patch28
-rw-r--r--poky/meta/recipes-devtools/perl/perl/perl-PathTools-don-t-filter-out-blib-from-INC.patch33
-rw-r--r--poky/meta/recipes-devtools/perl/perl/perl-archlib-exp.patch40
-rw-r--r--poky/meta/recipes-devtools/perl/perl/perl-configpm-switch.patch47
-rwxr-xr-xpoky/meta/recipes-devtools/perl/perl/perl-configure.sh43
-rw-r--r--poky/meta/recipes-devtools/perl/perl/perl-dynloader.patch34
-rw-r--r--poky/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch37
-rw-r--r--poky/meta/recipes-devtools/perl/perl/perl-fix-conflict-between-skip_all-and-END.patch181
-rw-r--r--poky/meta/recipes-devtools/perl/perl/perl-moreconfig.patch18
-rw-r--r--poky/meta/recipes-devtools/perl/perl/t-run-switches.t-perl5-perl.patch30
-rw-r--r--poky/meta/recipes-devtools/perl/perl/test/dist-threads-t-join.t-adjust-ps-option.patch38
-rw-r--r--poky/meta/recipes-devtools/perl/perl/test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch26
-rw-r--r--poky/meta/recipes-devtools/perl/perl_5.24.4.bb353
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.5.3.bb69
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb69
-rw-r--r--poky/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-native.in4
-rw-r--r--poky/meta/recipes-devtools/pseudo/pseudo.inc19
-rw-r--r--poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch10
-rw-r--r--poky/meta/recipes-devtools/python/python-async.inc2
-rw-r--r--poky/meta/recipes-devtools/python/python-git.inc2
-rw-r--r--poky/meta/recipes-devtools/python/python-gitdb.inc6
-rw-r--r--poky/meta/recipes-devtools/python/python-native/0001-python-native-fix-one-do_populate_sysroot-warning.patch39
-rw-r--r--poky/meta/recipes-devtools/python/python-native_2.7.15.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python-pbr.inc3
-rw-r--r--poky/meta/recipes-devtools/python/python-setuptools.inc4
-rw-r--r--poky/meta/recipes-devtools/python/python-setuptools_40.8.0.bb (renamed from poky/meta/recipes-devtools/python/python-setuptools_40.0.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python-six.inc6
-rw-r--r--poky/meta/recipes-devtools/python/python-smmap.inc8
-rw-r--r--poky/meta/recipes-devtools/python/python/0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch114
-rw-r--r--poky/meta/recipes-devtools/python/python/create_manifest2.py28
-rw-r--r--poky/meta/recipes-devtools/python/python/python2-manifest.json8
-rw-r--r--poky/meta/recipes-devtools/python/python/run-ptest2
-rw-r--r--poky/meta/recipes-devtools/python/python3-gitdb_2.0.5.bb (renamed from poky/meta/recipes-devtools/python/python3-gitdb_2.0.4.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python3-native_3.5.6.bb99
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_4.2.0.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip_18.0.bb30
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb30
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools_40.8.0.bb (renamed from poky/meta/recipes-devtools/python/python3-setuptools_40.0.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python3-six_1.12.0.bb (renamed from poky/meta/recipes-devtools/python/python3-six_1.11.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python3-smmap_2.0.5.bb (renamed from poky/meta/recipes-devtools/python/python3-smmap_0.9.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python3.inc43
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch25
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch196
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch25
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch66
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Issue-28043-SSLContext-has-improved-default-settings.patch272
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch25
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch42
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch37
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch120
-rw-r--r--poky/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch199
-rw-r--r--poky/meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch40
-rw-r--r--poky/meta/recipes-devtools/python/python3/0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch227
-rw-r--r--poky/meta/recipes-devtools/python/python3/0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch173
-rw-r--r--poky/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch80
-rw-r--r--poky/meta/recipes-devtools/python/python3/0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch110
-rw-r--r--poky/meta/recipes-devtools/python/python3/0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch68
-rw-r--r--poky/meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch42
-rw-r--r--poky/meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch33
-rw-r--r--poky/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch92
-rw-r--r--poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch13
-rw-r--r--poky/meta/recipes-devtools/python/python3/130-readline-setup.patch55
-rw-r--r--poky/meta/recipes-devtools/python/python3/150-fix-setupterm.patch17
-rw-r--r--poky/meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch56
-rw-r--r--poky/meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch21
-rw-r--r--poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch27
-rw-r--r--poky/meta/recipes-devtools/python/python3/cgi_py.patch15
-rwxr-xr-xpoky/meta/recipes-devtools/python/python3/check_build_completeness.py17
-rw-r--r--poky/meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch30
-rw-r--r--poky/meta/recipes-devtools/python/python3/create_manifest3.py28
-rw-r--r--poky/meta/recipes-devtools/python/python3/fix_for_using_different_libdir.patch54
-rw-r--r--poky/meta/recipes-devtools/python/python3/float-endian.patch212
-rw-r--r--poky/meta/recipes-devtools/python/python3/ftplib.patch60
-rw-r--r--poky/meta/recipes-devtools/python/python3/host_include_contamination.patch28
-rw-r--r--poky/meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch82
-rw-r--r--poky/meta/recipes-devtools/python/python3/python-3.3-multilib.patch363
-rw-r--r--poky/meta/recipes-devtools/python/python3/python3-manifest.json153
-rw-r--r--poky/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch25
-rw-r--r--poky/meta/recipes-devtools/python/python3/regen-all.patch25
-rw-r--r--poky/meta/recipes-devtools/python/python3/run-ptest2
-rw-r--r--poky/meta/recipes-devtools/python/python3/setup.py-check-cross_compiling-when-get-FLAGS.patch50
-rw-r--r--poky/meta/recipes-devtools/python/python3/setuptweaks.patch57
-rw-r--r--poky/meta/recipes-devtools/python/python3/signal.patch56
-rw-r--r--poky/meta/recipes-devtools/python/python3/sitecustomize.py37
-rw-r--r--poky/meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch97
-rw-r--r--poky/meta/recipes-devtools/python/python3/sysconfig.py-add-_PYTHON_PROJECT_SRC.patch51
-rw-r--r--poky/meta/recipes-devtools/python/python3/sysroot-include-headers.patch35
-rw-r--r--poky/meta/recipes-devtools/python/python3/tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch52
-rw-r--r--poky/meta/recipes-devtools/python/python3/unixccompiler.patch35
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.5.6.bb327
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.7.2.bb290
-rw-r--r--poky/meta/recipes-devtools/python/python_2.7.15.bb13
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb4
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-native.inc17
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb9
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb23
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-targets.inc12
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc93
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch65
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch50
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch9
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch7
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch7
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch7
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch31
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch7
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch29
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch11
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch85
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch60
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch54
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch113
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch47
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch85
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2018-10839.patch52
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2018-15746.patch64
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17958.patch52
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17962.patch70
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17963.patch51
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch39
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu_3.0.0.bb60
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb22
-rw-r--r--poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb5
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt-native.inc18
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb2
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt.inc21
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt_0.65.bb6
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch55
-rw-r--r--poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb152
-rw-r--r--poky/meta/recipes-devtools/rpm/rpm_4.14.2.bb151
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby.inc2
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/CVE-2018-1000073.patch34
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb1
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb22
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch10
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch12
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch98
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch13
-rw-r--r--poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch8
-rw-r--r--poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch6
-rw-r--r--poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch19
-rw-r--r--poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch15
-rw-r--r--poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch29
-rw-r--r--poky/meta/recipes-devtools/strace/strace_4.24.bb64
-rw-r--r--poky/meta/recipes-devtools/strace/strace_4.26.bb57
-rw-r--r--poky/meta/recipes-devtools/subversion/subversion/serf.m4-Regex-modified-to-allow-D-in-paths.patch32
-rw-r--r--poky/meta/recipes-devtools/subversion/subversion_1.10.0.bb58
-rw-r--r--poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb58
-rw-r--r--poky/meta/recipes-devtools/swig/swig.inc14
-rw-r--r--poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch179
-rw-r--r--poky/meta/recipes-devtools/swig/swig_3.0.12.bb1
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0001-install-don-t-install-obsolete-file-com32.ld.patch32
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch44
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0010-gcc46-compatibility.patch37
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0011-mk-MMD-does-not-take-any-arguments.patch33
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/syslinux-6.03-sysmacros.patch45
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/syslinux-fix-parallel-building-issue.patch35
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/syslinux-libupload-depend-lib.patch31
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux_6.03.bb90
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb91
-rw-r--r--poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb1
-rw-r--r--poky/meta/recipes-devtools/tcltk/tcl/run-ptest15
-rw-r--r--poky/meta/recipes-devtools/tcltk/tcl_8.6.8.bb101
-rw-r--r--poky/meta/recipes-devtools/tcltk/tcl_8.6.9.bb101
-rw-r--r--poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch30
-rw-r--r--poky/meta/recipes-devtools/vala/vala_0.42.0.bb10
-rw-r--r--poky/meta/recipes-devtools/vala/vala_0.42.5.bb10
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch45
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch2
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch2
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch37
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb16
-rw-r--r--poky/meta/recipes-devtools/xmlto/files/catalog.xml19
-rw-r--r--poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb13
-rw-r--r--poky/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch53
-rw-r--r--poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb26
-rw-r--r--poky/meta/recipes-extended/at/at/fix_parallel_build_error.patch15
-rw-r--r--poky/meta/recipes-extended/at/at/pam.conf.patch40
-rw-r--r--poky/meta/recipes-extended/at/at_3.1.20.bb78
-rw-r--r--poky/meta/recipes-extended/at/at_3.1.23.bb78
-rw-r--r--poky/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch19
-rw-r--r--poky/meta/recipes-extended/blktool/blktool/blktool-gnulib-makedev.patch23
-rw-r--r--poky/meta/recipes-extended/blktool/blktool_4-7.1.bb29
-rw-r--r--poky/meta/recipes-extended/blktool/blktool_4-7.bb29
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb2
-rw-r--r--poky/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch100
-rw-r--r--poky/meta/recipes-extended/cpio/cpio_2.12.bb3
-rw-r--r--poky/meta/recipes-extended/cups/cups.inc2
-rw-r--r--poky/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch29
-rw-r--r--poky/meta/recipes-extended/cups/cups_2.2.10.bb6
-rw-r--r--poky/meta/recipes-extended/cups/cups_2.2.8.bb6
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch33
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch30
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils/run-ptest (renamed from poky/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest)0
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils_3.6.bb41
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils_3.7.bb39
-rw-r--r--poky/meta/recipes-extended/ed/ed_1.14.2.bb35
-rw-r--r--poky/meta/recipes-extended/ed/ed_1.15.bb36
-rw-r--r--poky/meta/recipes-extended/findutils/findutils_4.6.0.bb2
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0001.patch177
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0002.patch442
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0003.patch32
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0004.patch136
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0005.patch250
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0006.patch596
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0007.patch346
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb7
-rw-r--r--poky/meta/recipes-extended/grep/grep/0001-Unset-need_charset_alias-when-building-for-musl.patch33
-rw-r--r--poky/meta/recipes-extended/grep/grep_3.1.bb47
-rw-r--r--poky/meta/recipes-extended/grep/grep_3.3.bb45
-rw-r--r--poky/meta/recipes-extended/gzip/gzip-1.10/wrong-path-fix.patch (renamed from poky/meta/recipes-extended/gzip/gzip-1.9/wrong-path-fix.patch)0
-rw-r--r--poky/meta/recipes-extended/gzip/gzip-1.9/gnulib.patch189
-rw-r--r--poky/meta/recipes-extended/gzip/gzip_1.10.bb38
-rw-r--r--poky/meta/recipes-extended/gzip/gzip_1.9.bb40
-rw-r--r--poky/meta/recipes-extended/hdparm/hdparm_9.56.bb43
-rw-r--r--poky/meta/recipes-extended/hdparm/hdparm_9.58.bb43
-rw-r--r--poky/meta/recipes-extended/images/core-image-kernel-dev.bb3
-rw-r--r--poky/meta/recipes-extended/iptables/iptables_1.6.2.bb2
-rw-r--r--poky/meta/recipes-extended/less/less_530.bb42
-rw-r--r--poky/meta/recipes-extended/less/less_550.bb43
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch38
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch79
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch50
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch44
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch59
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch61
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb6
-rw-r--r--poky/meta/recipes-extended/libpipeline/libpipeline_1.5.0.bb14
-rw-r--r--poky/meta/recipes-extended/libpipeline/libpipeline_1.5.1.bb15
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv/0001-Add-fallback-fopencookie-implementation.patch251
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch188
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch33
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv/0002-Fixes-to-internal-fopencookie-implementation.patch105
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv_0.6.35.bb32
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb32
-rw-r--r--poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb3
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd2
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd.service12
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd_1.4.51.bb85
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd_1.4.53.bb84
-rw-r--r--poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch141
-rw-r--r--poky/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch40
-rw-r--r--poky/meta/recipes-extended/logrotate/logrotate_3.14.0.bb99
-rw-r--r--poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb99
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-mmap15-mips64-return-EINVAL.patch41
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-netns_helper.sh-use-ping-6-when-ping6-is-not-avaliab.patch45
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch6
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo01-recent-glibc-calls-syscall-directly.patch75
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-syscalls-fcntl-make-OFD-command-use-fcntl64-syscall-.patch184
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch3
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch2
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch190
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch2
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch42
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0040-read_all-Define-FNM_EXTMATCH-if-not-already-like-und.patch44
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0041-cve-2017-5669-shmat-for-0-or-PAGESIZE-with-RND-flag-.patch97
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0042-fs-ftest-ftest06.c-Fix-too-small-name-string-and-rel.patch34
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0043-open-creat-skip-S_ISGID-check-on-files-created-by-no.patch81
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch114
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch46
-rw-r--r--poky/meta/recipes-extended/ltp/ltp_20180515.bb127
-rw-r--r--poky/meta/recipes-extended/ltp/ltp_20190115.bb122
-rw-r--r--poky/meta/recipes-extended/lzip/lzip_1.20.bb41
-rw-r--r--poky/meta/recipes-extended/lzip/lzip_1.21.bb41
-rw-r--r--poky/meta/recipes-extended/man-db/man-db_2.8.3.bb55
-rw-r--r--poky/meta/recipes-extended/man-db/man-db_2.8.4.bb56
-rw-r--r--poky/meta/recipes-extended/man-pages/man-pages_4.16.bb3
-rw-r--r--poky/meta/recipes-extended/mc/mc_4.8.21.bb49
-rw-r--r--poky/meta/recipes-extended/mc/mc_4.8.22.bb49
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-Compute-abs-diff-in-a-standard-compliant-way.patch31
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-Disable-gcc8-warnings.patch152
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch21
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch11
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch39
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch48
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch37
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch60
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch12
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch31
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch75
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch59
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch33
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch128
-rw-r--r--poky/meta/recipes-extended/mdadm/files/gcc-4.9.patch22
-rw-r--r--poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch22
-rw-r--r--poky/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch10
-rw-r--r--poky/meta/recipes-extended/mdadm/mdadm_4.0.bb93
-rw-r--r--poky/meta/recipes-extended/mdadm/mdadm_4.1.bb92
-rw-r--r--poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb57
-rw-r--r--poky/meta/recipes-extended/pam/libpam_1.3.0.bb4
-rw-r--r--poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb2
-rw-r--r--poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb2
-rw-r--r--poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb2
-rw-r--r--poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch14
-rw-r--r--poky/meta/recipes-extended/psmisc/psmisc_23.1.bb10
-rw-r--r--poky/meta/recipes-extended/psmisc/psmisc_23.2.bb10
-rw-r--r--poky/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch221
-rw-r--r--poky/meta/recipes-extended/rpcbind/rpcbind/pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch30
-rw-r--r--poky/meta/recipes-extended/rpcbind/rpcbind/rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch100
-rw-r--r--poky/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb66
-rw-r--r--poky/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb61
-rw-r--r--poky/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch41
-rw-r--r--poky/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch14
-rw-r--r--poky/meta/recipes-extended/shadow/shadow.inc3
-rw-r--r--poky/meta/recipes-extended/shadow/shadow_4.6.bb2
-rw-r--r--poky/meta/recipes-extended/sudo/sudo.inc7
-rw-r--r--poky/meta/recipes-extended/sudo/sudo_1.8.23.bb40
-rw-r--r--poky/meta/recipes-extended/sudo/sudo_1.8.27.bb40
-rw-r--r--poky/meta/recipes-extended/sysklogd/sysklogd.inc3
-rw-r--r--poky/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb3
-rw-r--r--poky/meta/recipes-extended/sysstat/sysstat_11.7.4.bb8
-rw-r--r--poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb8
-rw-r--r--poky/meta/recipes-extended/tar/tar_1.30.bb70
-rw-r--r--poky/meta/recipes-extended/tar/tar_1.31.bb65
-rw-r--r--poky/meta/recipes-extended/timezone/timezone.inc18
-rw-r--r--poky/meta/recipes-extended/timezone/tzcode-native.bb17
-rw-r--r--poky/meta/recipes-extended/timezone/tzdata.bb209
-rw-r--r--poky/meta/recipes-extended/tzcode/tzcode-native_2018i.bb30
-rw-r--r--poky/meta/recipes-extended/tzdata/tzdata_2018i.bb215
-rw-r--r--poky/meta/recipes-extended/wget/wget.inc17
-rw-r--r--poky/meta/recipes-extended/wget/wget/0001-Unset-need_charset_alias-when-building-for-musl.patch30
-rw-r--r--poky/meta/recipes-extended/wget/wget_1.19.5.bb9
-rw-r--r--poky/meta/recipes-extended/wget/wget_1.20.1.bb8
-rw-r--r--poky/meta/recipes-gnome/epiphany/epiphany_3.28.3.1.bb22
-rw-r--r--poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb22
-rw-r--r--poky/meta/recipes-gnome/gcr/gcr_3.28.0.bb32
-rw-r--r--poky/meta/recipes-gnome/gcr/gcr_3.28.1.bb32
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch46
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-without-libtiff-not-having-an-effect.patch27
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch53
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch51
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch96
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch39
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch42
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch37
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch33
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb102
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb136
-rw-r--r--poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch6
-rw-r--r--poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb44
-rw-r--r--poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb41
-rw-r--r--poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb7
-rw-r--r--poky/meta/recipes-gnome/gnome/libart-lgpl/libart_lgpl-2.3.21-crosscompile.patch84
-rw-r--r--poky/meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb22
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch160
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch18
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch66
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb204
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb206
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+.inc2
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+3.inc34
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch103
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch19
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+3_3.22.30.bb18
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb19
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb4
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb63
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch102
-rw-r--r--poky/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb2
-rw-r--r--poky/meta/recipes-gnome/json-glib/json-glib/run-ptest3
-rw-r--r--poky/meta/recipes-gnome/json-glib/json-glib_1.4.2.bb40
-rw-r--r--poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb44
-rw-r--r--poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch26
-rw-r--r--poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb20
-rw-r--r--poky/meta/recipes-gnome/libsecret/libsecret_0.18.6.bb22
-rw-r--r--poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb22
-rw-r--r--poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch45
-rw-r--r--poky/meta/recipes-graphics/cairo/cairo/CVE-2018-19876.patch34
-rw-r--r--poky/meta/recipes-graphics/cairo/cairo/CVE-2019-6461.patch19
-rw-r--r--poky/meta/recipes-graphics/cairo/cairo/CVE-2019-6462.patch20
-rw-r--r--poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb87
-rw-r--r--poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb90
-rw-r--r--poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb7
-rw-r--r--poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb7
-rw-r--r--poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc20
-rw-r--r--poky/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch37
-rw-r--r--poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb1
-rw-r--r--poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb60
-rw-r--r--poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb60
-rw-r--r--poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb13
-rw-r--r--poky/meta/recipes-graphics/eglinfo/eglinfo.inc2
-rw-r--r--poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch9
-rw-r--r--poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch27
-rw-r--r--poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch33
-rw-r--r--poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb9
-rw-r--r--poky/meta/recipes-graphics/glew/glew/0001-Fixed-compilation-with-current-mesa-versions.patch73
-rw-r--r--poky/meta/recipes-graphics/glew/glew_2.1.0.bb3
-rw-r--r--poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.8.8.bb46
-rw-r--r--poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb40
-rw-r--r--poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch28
-rw-r--r--poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch119
-rw-r--r--poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb56
-rw-r--r--poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb57
-rw-r--r--poky/meta/recipes-graphics/kmscube/kmscube_git.bb9
-rw-r--r--poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.2.bb22
-rw-r--r--poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb38
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2/0001-GLES2-Get-sin-cos-out-of-vertex-shader.patch141
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb69
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb70
-rw-r--r--poky/meta/recipes-graphics/libva/libva-utils/0001-Build-sfcsample-only-when-X11-backend-is-enabled.patch35
-rw-r--r--poky/meta/recipes-graphics/libva/libva-utils_2.2.0.bb32
-rw-r--r--poky/meta/recipes-graphics/libva/libva-utils_2.4.0.bb35
-rw-r--r--poky/meta/recipes-graphics/libva/libva_2.2.0.bb46
-rw-r--r--poky/meta/recipes-graphics/libva/libva_2.4.0.bb46
-rw-r--r--poky/meta/recipes-graphics/menu-cache/menu-cache_1.0.2.bb18
-rw-r--r--poky/meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb18
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch21
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch9
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch13
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0004-Use-Python-3-to-execute-the-scripts.patch32
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch38
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0005-dri-i965-Add-missing-time.h-include.patch36
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch37
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb9
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-gl_19.0.1.bb10
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa.inc60
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa_18.1.9.bb21
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb19
-rw-r--r--poky/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch147
-rw-r--r--poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch28
-rw-r--r--poky/meta/recipes-graphics/pango/pango_1.42.4.bb38
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch83
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit/format-fix.patch69
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit_git.bb8
-rw-r--r--poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb2
-rw-r--r--poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch31
-rw-r--r--poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch38
-rw-r--r--poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb22
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb7
-rw-r--r--poky/meta/recipes-graphics/wayland/libinput_1.11.3.bb29
-rw-r--r--poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb29
-rw-r--r--poky/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb22
-rw-r--r--poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb22
-rw-r--r--poky/meta/recipes-graphics/wayland/wayland_1.16.0.bb44
-rw-r--r--poky/meta/recipes-graphics/wayland/wayland_1.17.0.bb44
-rw-r--r--poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/0001-calibrator.hh-Include-string-to-get-std-string.patch28
-rw-r--r--poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb4
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xev/diet-x11.patch133
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb18
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xev_1.2.3.bb18
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xhost_1.0.7.bb20
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xhost_1.0.8.bb20
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xinit_1.4.0.bb20
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb20
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb16
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.9.bb17
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xprop_1.2.3.bb18
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xprop_1.2.4.bb18
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.3.bb14
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.4.bb14
-rw-r--r--poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.0.bb11
-rw-r--r--poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb11
-rw-r--r--poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch116
-rw-r--r--poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/01_Fix-build-on-i686.patch55
-rw-r--r--poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch25
-rw-r--r--poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb8
-rw-r--r--poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb17
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb17
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb31
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libsm_1.2.3.bb31
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb19
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb16
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11.inc3
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch28
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11_1.6.6.bb14
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb13
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb24
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb24
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb39
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.bb39
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb28
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.5.bb28
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxcursor_1.1.15.bb22
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.0.bb23
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb28
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.5.bb29
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb22
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb22
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxpm_3.5.12.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb1
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/pixman/asm_include.patch29
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/pixman_0.34.0.bb41
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb40
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.24.bb32
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb32
-rw-r--r--poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.13.bb26
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc2
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-test-xtest-Initialize-array-with-braces.patch36
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch62
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.1.bb31
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb31
-rw-r--r--poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb18
-rw-r--r--poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.10.bb (renamed from poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.9.bb)0
-rw-r--r--poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.10.bb17
-rw-r--r--poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb22
-rw-r--r--poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.10.bb21
-rw-r--r--poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb22
-rw-r--r--poky/meta/recipes-kernel/cryptodev/cryptodev.inc2
-rw-r--r--poky/meta/recipes-kernel/cryptodev/files/0001-Port-tests-to-openssl-1.1.patch103
-rw-r--r--poky/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.13.patch49
-rw-r--r--poky/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.17.patch43
-rw-r--r--poky/meta/recipes-kernel/cryptodev/files/0001-refactoring-split-big-function-to-simplify-maintaina.patch250
-rw-r--r--poky/meta/recipes-kernel/cryptodev/files/0002-refactoring-relocate-code-to-simplify-later-patches.patch64
-rw-r--r--poky/meta/recipes-kernel/cryptodev/files/0003-convert-to-new-AEAD-interface-in-kernels-v4.2.patch102
-rw-r--r--poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb2
-rw-r--r--poky/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch41
-rw-r--r--poky/meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb88
-rw-r--r--poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb87
-rw-r--r--poky/meta/recipes-kernel/kmod/kmod-native_git.bb3
-rw-r--r--poky/meta/recipes-kernel/kmod/kmod.inc5
-rw-r--r--poky/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch39
-rw-r--r--poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch15
-rw-r--r--poky/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch35
-rw-r--r--poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb4
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc2
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch41
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch67
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb13
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb18
-rw-r--r--poky/meta/recipes-kernel/linux/kernel-devsrc.bb21
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-dev.bb2
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_4.14.bb41
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb43
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb43
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.14.bb28
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb32
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb32
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto.inc4
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_4.14.bb47
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb49
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb51
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-btrfs-Remove-unnecessary-fs_info-parameter.patch116
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch133
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch67
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch149
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch32
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch204
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch186
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch183
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch341
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch46
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb45
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb36
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0001-Allow-multiple-attempts-to-connect-to-relayd.patch42
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch35
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch52
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch80
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch610
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch176
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch28
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch345
-rwxr-xr-xpoky/meta/recipes-kernel/lttng/lttng-tools/run-ptest2
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/x32.patch28
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb167
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools_2.9.11.bb134
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch109
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb14
-rw-r--r--poky/meta/recipes-kernel/perf/perf.bb8
-rw-r--r--poky/meta/recipes-kernel/powertop/powertop_2.10.bb33
-rw-r--r--poky/meta/recipes-kernel/powertop/powertop_2.9.bb33
-rw-r--r--poky/meta/recipes-kernel/sysprof/files/0001-fix-non-literal-format-string-issues.patch34
-rw-r--r--poky/meta/recipes-kernel/sysprof/files/wordsize.patch38
-rw-r--r--poky/meta/recipes-kernel/sysprof/sysprof_3.30.0.bb35
-rw-r--r--poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb32
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap/0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch47
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap_git.inc2
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb41
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb41
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.6.bb103
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb173
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch34
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-tools/musl.patch47
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb87
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb87
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb (renamed from poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.6.bb)0
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.6.bb107
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb106
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2018-15822.patch37
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.0.2.bb158
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb157
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch30
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc18
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb1
-rw-r--r--poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch (renamed from poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.dpatch)0
-rw-r--r--poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb2
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1/0001-a-ulaw-fix-multiple-buffer-overflows-432.patch18
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-12562.patch96
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-14245-14246.patch121
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-13139.patch30
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-19758.patch34
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2019-3832.patch37
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb4
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2017-17095.patch46
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2017-18013.patch42
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2017-9935.patch160
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2018-10963.patch39
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2018-5784.patch135
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2018-7456.patch178
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2018-8905.patch61
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/libtool2.patch19
-rw-r--r--poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb52
-rw-r--r--poky/meta/recipes-multimedia/libtiff/tiff_4.0.9.bb59
-rw-r--r--poky/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch70
-rw-r--r--poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb1
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc31
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-introduce-a-special-build-flag-to-explicitly-disable.patch161
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch30
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb2
-rw-r--r--poky/meta/recipes-multimedia/sbc/sbc_1.3.bb23
-rw-r--r--poky/meta/recipes-multimedia/sbc/sbc_1.4.bb23
-rw-r--r--poky/meta/recipes-multimedia/webp/libwebp_1.0.0.bb53
-rw-r--r--poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb53
-rw-r--r--poky/meta/recipes-multimedia/x264/x264_git.bb8
-rw-r--r--poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb10
-rw-r--r--poky/meta/recipes-sato/pcmanfm/pcmanfm_1.3.0.bb40
-rw-r--r--poky/meta/recipes-sato/pcmanfm/pcmanfm_1.3.1.bb40
-rw-r--r--poky/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch33
-rw-r--r--poky/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch25
-rw-r--r--poky/meta/recipes-sato/puzzles/puzzles_git.bb2
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch37
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch36
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch26
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0001-webkitgtk-fix-CVE-2017-17821.patch44
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0012-soup-Forward-declare-URL-class.patch31
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch35
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk_2.20.5.bb124
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb134
-rw-r--r--poky/meta/recipes-support/apr/apr/0008-apr-fix-ptest-hang-in-teststr.patch32
-rw-r--r--poky/meta/recipes-support/apr/apr_1.6.3.bb118
-rw-r--r--poky/meta/recipes-support/apr/apr_1.6.5.bb112
-rw-r--r--poky/meta/recipes-support/atk/at-spi2-atk_2.26.2.bb20
-rw-r--r--poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb22
-rw-r--r--poky/meta/recipes-support/atk/at-spi2-core_2.28.0.bb39
-rw-r--r--poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb41
-rw-r--r--poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch14
-rw-r--r--poky/meta/recipes-support/atk/atk_2.28.1.bb37
-rw-r--r--poky/meta/recipes-support/atk/atk_2.30.0.bb39
-rw-r--r--poky/meta/recipes-support/attr/acl_2.2.52.bb11
-rw-r--r--poky/meta/recipes-support/attr/attr.inc9
-rw-r--r--poky/meta/recipes-support/bmap-tools/bmap-tools_3.4.bb24
-rw-r--r--poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb25
-rw-r--r--poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb2
-rw-r--r--poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb4
-rw-r--r--poky/meta/recipes-support/curl/curl/CVE-2018-14618.patch37
-rw-r--r--poky/meta/recipes-support/curl/curl/CVE-2018-16839.patch35
-rw-r--r--poky/meta/recipes-support/curl/curl/CVE-2018-16840.patch43
-rw-r--r--poky/meta/recipes-support/curl/curl/CVE-2018-16842.patch35
-rw-r--r--poky/meta/recipes-support/curl/curl_7.61.0.bb83
-rw-r--r--poky/meta/recipes-support/curl/curl_7.64.0.bb80
-rw-r--r--poky/meta/recipes-support/db/db/0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch147
-rw-r--r--poky/meta/recipes-support/db/db_5.3.28.bb3
-rw-r--r--poky/meta/recipes-support/debianutils/debianutils_4.8.6.1.bb57
-rw-r--r--poky/meta/recipes-support/debianutils/debianutils_4.8.6.bb55
-rw-r--r--poky/meta/recipes-support/gdbm/gdbm_1.18.1.bb43
-rw-r--r--poky/meta/recipes-support/gdbm/gdbm_1.18.bb43
-rw-r--r--poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-gsystem-subprocess.c-Enable-GNU-extensions-in-system.patch35
-rw-r--r--poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/update-output-syntax.patch27
-rw-r--r--poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2014.1.bb22
-rw-r--r--poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb18
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch31
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch6
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg/relocate.patch2
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg_2.2.12.bb55
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb56
-rw-r--r--poky/meta/recipes-support/gnutls/gnutls_3.6.4.bb64
-rw-r--r--poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb64
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch8
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch30
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch6
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch2
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch2
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch6
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch50
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0007-qt-python-Add-variables-to-tests.patch78
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme_1.11.1.bb86
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb85
-rw-r--r--poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch63
-rw-r--r--poky/meta/recipes-support/icu/icu/fix-install-manx.patch21
-rw-r--r--poky/meta/recipes-support/icu/icu_62.1.bb29
-rw-r--r--poky/meta/recipes-support/icu/icu_63.1.bb30
-rw-r--r--poky/meta/recipes-support/iso-codes/iso-codes_4.1.bb19
-rw-r--r--poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb19
-rw-r--r--poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch105
-rw-r--r--poky/meta/recipes-support/libassuan/libassuan_2.5.1.bb32
-rw-r--r--poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb32
-rw-r--r--poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb1
-rw-r--r--poky/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch41
-rw-r--r--poky/meta/recipes-support/libcap/libcap_2.25.bb74
-rw-r--r--poky/meta/recipes-support/libcap/libcap_2.26.bb73
-rw-r--r--poky/meta/recipes-support/libcheck/libcheck_0.12.0.bb2
-rw-r--r--poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch45
-rw-r--r--poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb4
-rw-r--r--poky/meta/recipes-support/libevdev/libevdev_1.5.9.bb14
-rw-r--r--poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb14
-rw-r--r--poky/meta/recipes-support/libexif/libexif/CVE-2016-6328.patch64
-rw-r--r--poky/meta/recipes-support/libexif/libexif/CVE-2018-20030.patch115
-rw-r--r--poky/meta/recipes-support/libexif/libexif_0.6.21.bb9
-rw-r--r--poky/meta/recipes-support/libfm/libfm-extra_1.3.0.2.bb23
-rw-r--r--poky/meta/recipes-support/libfm/libfm-extra_1.3.1.bb23
-rw-r--r--poky/meta/recipes-support/libfm/libfm_1.3.0.2.bb54
-rw-r--r--poky/meta/recipes-support/libfm/libfm_1.3.1.bb54
-rw-r--r--poky/meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Support-ARC-CPUs-and-simplify-aliasing-table.patch298
-rw-r--r--poky/meta/recipes-support/libgpg-error/libgpg-error/0002-syscfg-Add-support-for-arc-unknown-linux-gnu.patch35
-rw-r--r--poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch178
-rw-r--r--poky/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb71
-rw-r--r--poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb71
-rw-r--r--poky/meta/recipes-support/libjitterentropy/files/0001-fix-do_install-failure-on-oe.patch33
-rw-r--r--poky/meta/recipes-support/libjitterentropy/libjitterentropy_2.1.2.bb28
-rw-r--r--poky/meta/recipes-support/libpcre/libpcre/out-of-tree.patch26
-rw-r--r--poky/meta/recipes-support/libpcre/libpcre/pcre-cross.patch48
-rw-r--r--poky/meta/recipes-support/libpcre/libpcre2_10.31.bb61
-rw-r--r--poky/meta/recipes-support/libpcre/libpcre2_10.32.bb61
-rw-r--r--poky/meta/recipes-support/libpcre/libpcre_8.42.bb87
-rw-r--r--poky/meta/recipes-support/libpcre/libpcre_8.43.bb74
-rw-r--r--poky/meta/recipes-support/libproxy/libproxy/0001-get-pac-test-Fix-build-with-clang-libc.patch31
-rw-r--r--poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb4
-rw-r--r--poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb20
-rw-r--r--poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch24
-rw-r--r--poky/meta/recipes-support/libsoup/libsoup-2.4_2.62.3.bb34
-rw-r--r--poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb51
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch62
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0001-Fix-build-on-mips-musl.patch81
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch69
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0001-backtrace-Use-only-with-glibc-and-uclibc.patch45
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0001-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch248
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch54
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch45
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch54
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch84
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch249
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch32
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch59
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind/libunwind-1.1-x32.patch31
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind_1.2.1.bb25
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind_1.3.1.bb24
-rw-r--r--poky/meta/recipes-support/liburcu/liburcu_0.10.1.bb24
-rw-r--r--poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb24
-rw-r--r--poky/meta/recipes-support/libusb/libusb1_1.0.22.bb7
-rw-r--r--poky/meta/recipes-support/libxslt/libxslt/fix-rvts-handling.patch80
-rw-r--r--poky/meta/recipes-support/libxslt/libxslt_1.1.32.bb49
-rw-r--r--poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb47
-rw-r--r--poky/meta/recipes-support/lz4/lz4_1.8.2.bb27
-rw-r--r--poky/meta/recipes-support/lz4/lz4_1.8.3.bb27
-rw-r--r--poky/meta/recipes-support/lzop/lzop/0001-use-static-inlines-as-the-external-inline-definition.patch100
-rw-r--r--poky/meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch37
-rw-r--r--poky/meta/recipes-support/lzop/lzop/x32_abi_miniacc_h.patch36
-rw-r--r--poky/meta/recipes-support/lzop/lzop_1.03.bb29
-rw-r--r--poky/meta/recipes-support/lzop/lzop_1.04.bb26
-rw-r--r--poky/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch45
-rw-r--r--poky/meta/recipes-support/mpfr/mpfr_4.0.1.bb19
-rw-r--r--poky/meta/recipes-support/mpfr/mpfr_4.0.2.bb19
-rw-r--r--poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch (renamed from poky/meta/recipes-support/nettle/nettle-3.4/Add-target-to-only-build-tests-not-run-them.patch)0
-rw-r--r--poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch (renamed from poky/meta/recipes-support/nettle/nettle-3.4/check-header-files-of-openssl-only-if-enable_.patch)0
-rw-r--r--poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch (renamed from poky/meta/recipes-support/nettle/nettle-3.4/dlopen-test.patch)0
-rw-r--r--poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest (renamed from poky/meta/recipes-support/nettle/nettle-3.4/run-ptest)0
-rw-r--r--poky/meta/recipes-support/nettle/nettle_3.4.1.bb52
-rw-r--r--poky/meta/recipes-support/nettle/nettle_3.4.bb51
-rw-r--r--poky/meta/recipes-support/nspr/nspr/0002-Add-nios2-support.patch25
-rw-r--r--poky/meta/recipes-support/nspr/nspr/0003-Add-type-definitions-for-the-RISC-V-architecture.patch150
-rw-r--r--poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch2
-rw-r--r--poky/meta/recipes-support/nspr/nspr_4.19.bb195
-rw-r--r--poky/meta/recipes-support/nspr/nspr_4.21.bb194
-rw-r--r--poky/meta/recipes-support/nss/nss/nss-fix-SHA_HTONL-bug-for-arm-32be.patch34
-rw-r--r--poky/meta/recipes-support/nss/nss_3.39.bb265
-rw-r--r--poky/meta/recipes-support/nss/nss_3.42.1.bb264
-rw-r--r--poky/meta/recipes-support/p11-kit/p11-kit_0.23.14.bb46
-rw-r--r--poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb46
-rw-r--r--poky/meta/recipes-support/popt/popt_1.16.bb2
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner_2.2.bb26
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb26
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch10
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch27
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch21
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/read_error_msg.patch98
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch35
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch27
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools_5.bb48
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb58
-rw-r--r--poky/meta/recipes-support/shared-mime-info/shared-mime-info.inc2
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3.inc12
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch28
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch187
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3_3.23.1.bb10
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb13
-rw-r--r--poky/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch (renamed from meta-openembedded/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch)0
-rw-r--r--poky/meta/recipes-support/vim/files/disable_acl_header_check.patch39
-rw-r--r--poky/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch (renamed from meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch)0
-rw-r--r--poky/meta/recipes-support/vim/vim-tiny_8.1.1017.bb (renamed from meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.1.0347.bb)0
-rw-r--r--poky/meta/recipes-support/vim/vim_8.1.1017.bb129
-rw-r--r--poky/meta/recipes-support/vte/vte/0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch27
-rw-r--r--poky/meta/recipes-support/vte/vte_0.52.2.bb7
-rwxr-xr-xpoky/oe-init-build-env7
-rwxr-xr-xpoky/scripts/autobuilder-worker-prereq-tests10
-rwxr-xr-xpoky/scripts/distro/build-recipe-list.py129
-rwxr-xr-xpoky/scripts/distro/distrocompare.sh123
-rw-r--r--poky/scripts/lib/devtool/__init__.py1
-rw-r--r--poky/scripts/lib/devtool/deploy.py20
-rw-r--r--poky/scripts/lib/devtool/standard.py4
-rw-r--r--poky/scripts/lib/devtool/upgrade.py21
-rwxr-xr-xpoky/scripts/lib/resulttool/manualexecution.py61
-rw-r--r--poky/scripts/lib/resulttool/resultutils.py39
-rw-r--r--poky/scripts/lib/resulttool/store.py23
-rw-r--r--poky/scripts/lib/scriptutils.py24
-rw-r--r--poky/scripts/lib/wic/engine.py2
-rw-r--r--poky/scripts/lib/wic/ksparser.py17
-rw-r--r--poky/scripts/lib/wic/partition.py2
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-efi.py6
-rwxr-xr-xpoky/scripts/oe-pylint11
-rwxr-xr-xpoky/scripts/oepydevshell-internal.py4
-rwxr-xr-xpoky/scripts/pythondeps8
-rwxr-xr-xpoky/scripts/resulttool10
-rwxr-xr-xpoky/scripts/runqemu70
4508 files changed, 158292 insertions, 95542 deletions
diff --git a/meta-openembedded/README b/meta-openembedded/README
index a71680100..7318f09cd 100644
--- a/meta-openembedded/README
+++ b/meta-openembedded/README
@@ -1,6 +1,6 @@
Collection of layers for the OE-core universe
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+Main layer maintainer: Khem Raj <raj.khem@gmail.com>
This repository is a collection of layers to suppliment OE-Core
with additional packages, Each layer have designated maintainer
diff --git a/meta-openembedded/meta-filesystems/README b/meta-openembedded/meta-filesystems/README
index ac0035a98..87cb685b4 100644
--- a/meta-openembedded/meta-filesystems/README
+++ b/meta-openembedded/meta-filesystems/README
@@ -10,30 +10,30 @@ Dependencies
This layer depends on:
URI: git://git.openembedded.org/bitbake
- branch: 1.40
+ branch: master
URI: git://git.openembedded.org/openembedded-core
layers: meta
- branch: thud
+ branch: master
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: thud
+ branch: master
Patches
=======
Please submit any patches against the filesystems layer to the
OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
-with '[meta-filesystems][thud]' in the subject.
+with '[meta-filesystems]' in the subject.
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+Layer maintainer: Khem Raj <raj.khem@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][PATCH
Table of Contents
diff --git a/meta-openembedded/meta-filesystems/conf/layer.conf b/meta-openembedded/meta-filesystems/conf/layer.conf
index 002f09976..5aa2b0c2d 100644
--- a/meta-openembedded/meta-filesystems/conf/layer.conf
+++ b/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"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
index 99bf2bed4..18fc9cd6f 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
@@ -17,5 +17,4 @@ inherit autotools pkgconfig
SRC_URI[md5sum] = "fca71e6598f79d037a3c7c969cb5710c"
SRC_URI[sha256sum] = "f2e06eba5a21c621aac1d6da21b12a5a324fdd1e20f9c8acd357dd463c2355d9"
-S = "${WORKDIR}/${PN}-${PV}"
EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb
new file mode 100644
index 000000000..c89b1e136
--- /dev/null
+++ b/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/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb
new file mode 100644
index 000000000..ca21d2a0e
--- /dev/null
+++ b/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/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
index 50865cccd..857aaf216 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
@@ -18,7 +18,7 @@ SRC_URI = "git://github.com/owfs/owfs \
S = "${WORKDIR}/git"
-inherit autotools-brokensep update-rc.d pkgconfig
+inherit autotools-brokensep update-rc.d pkgconfig systemd
EXTRA_OECONF = " \
--with-fuseinclude=${STAGING_INCDIR} \
@@ -52,9 +52,12 @@ DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protoco
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_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"
@@ -63,9 +66,15 @@ 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/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
new file mode 100644
index 000000000..86b1c9b36
--- /dev/null
+++ b/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/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
index 6095e27a7..8628bea0b 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
@@ -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/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb b/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb
deleted file mode 100644
index cc97dead5..000000000
--- a/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/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb b/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb
new file mode 100644
index 000000000..a0033fab5
--- /dev/null
+++ b/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/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb
index 0a1bacb93..88603db80 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb
@@ -58,6 +58,8 @@ do_configure () {
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
}
diff --git a/meta-openembedded/meta-gnome/README b/meta-openembedded/meta-gnome/README
index 84d4f73da..2a682e72d 100644
--- a/meta-openembedded/meta-gnome/README
+++ b/meta-openembedded/meta-gnome/README
@@ -23,16 +23,16 @@ Dependencies
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: thud
+branch: master
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: thud
+branch: master
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]' 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][PATCH'
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+Layer maintainer: Andreas MĂĽller <schnitzeltony@googlemail.com>
diff --git a/meta-openembedded/meta-gnome/conf/layer.conf b/meta-openembedded/meta-gnome/conf/layer.conf
index e9d0785b1..0b68232de 100644
--- a/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/meta-openembedded/meta-gnome/conf/layer.conf
@@ -14,7 +14,7 @@ LAYERVERSION_gnome-layer = "1"
LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer"
-LAYERSERIES_COMPAT_gnome-layer = "thud"
+LAYERSERIES_COMPAT_gnome-layer = "thud warrior"
# Sanity check for meta-gnome layer.
# Setting SKIP_META_GNOME_SANITY_CHECK to "1" would skip the bbappend files check.
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.18.bb
deleted file mode 100644
index 01840009e..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb
new file mode 100644
index 000000000..7181f5ecf
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb
@@ -0,0 +1,52 @@
+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] = "06aafa851762146034351aa72ebb23d4"
+SRC_URI[archive.sha256sum] = "050dbb155566c715239dc0378844d8beed10954e64e71014ecef8ca912df34ec"
+
+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/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb
deleted file mode 100644
index 58beaf6c5..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb
new file mode 100644
index 000000000..a9f6993fb
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A partition editor to graphically manage disk partitions "
+HOMEPAGE = "http://gparted.org/index.php"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit distro_features_check autotools pkgconfig gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
+ file://org.yoctoproject.pkexec.run-gparted.policy \
+ file://gparted_polkit \
+"
+SRC_URI[md5sum] = "2f481ad34decb7021ca04ca305e79e7d"
+SRC_URI[sha256sum] = "5023b8c983f88a22e65bf6f09a12ea09369defc008981b52ee8b96a3879f81d6"
+
+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/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.28.0.bb
deleted file mode 100644
index 70f917ea5..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.32.0.bb
new file mode 100644
index 000000000..999ed041a
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.32.0.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] = "331a3603c0f8a9913e3a3c0f178b5310"
+SRC_URI[archive.sha256sum] = "f19d1332ac27e23ef3dc2ed07ba4e4646d9d7f05e2e78748aa525a1320adbaba"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.28.0.bb
deleted file mode 100644
index 99292a88c..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.32.0.bb
new file mode 100644
index 000000000..8d1bbdfd1
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.32.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "configuation database system"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+SECTION = "x11/gnome"
+
+SRC_URI[archive.md5sum] = "e1ac0b6285abefeed69ca9e380e44f5a"
+SRC_URI[archive.sha256sum] = "68bce78b19bc94cb2c3bb8587e37f9e5e338568c3a674f86edde9c9f1624ffab"
+
+DEPENDS = "dbus glib-2.0 intltool-native"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase bash-completion vala
+
+# I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
+EXTRA_OEMESON = "-Dman=false"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${libdir}/gio/modules/*.so \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
index db5dca95b..1949fc7fd 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
@@ -38,6 +38,7 @@ EXTRA_OECMAKE = " \
-DENABLE_GOOGLE_AUTH=OFF \
-DENABLE_WEATHER=OFF \
-D${LKSTRFTIME} \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
"
PACKAGECONFIG ??= ""
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
index 8bf8a04e2..01f581a35 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
@@ -6,8 +6,6 @@ DEPENDS = "gtk+3 libsecret ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-d
inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check systemd
-REQUIRED_DISTRO_FEATURES = "x11"
-
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
file://0001-help-remove-YELP-macro.patch \
file://0001-Add-format-attribute-to-_synctex_malloc.patch \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb
index a39b1a0ca..561b094a9 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb
+++ b/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/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-Disable-libseccomp-sycall-filtering-mechanism.patch
deleted file mode 100644
index aa11e8a62..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.28.1.bb
deleted file mode 100644
index 39b3491fd..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.32.0.bb
new file mode 100644
index 000000000..185a25359
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.32.0.bb
@@ -0,0 +1,28 @@
+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 gnome pkgconfig upstream-version-is-even gobject-introspection
+
+SRC_URI[archive.md5sum] = "e423ed6d648c6c4f9798fa9cd9ea8d99"
+SRC_URI[archive.sha256sum] = "a6393dc5fc29fc0652ac84c73b3da205d0b0168128c4cf6d27797a08f3d07b54"
+
+SRC_URI += "file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch"
+
+DEPENDS += "itstool-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_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/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch
deleted file mode 100644
index 57b60a0d5..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor/0001-Do-not-build-help-we-do-not-have-yelp-yet.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor/0001-Do-not-build-help-we-do-not-have-yelp-yet.patch
new file mode 100644
index 000000000..f2e720e9e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor/0001-Do-not-build-help-we-do-not-have-yelp-yet.patch
@@ -0,0 +1,30 @@
+From c6649fdcfb2f44807089741557f8e527ab9751e4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 24 Mar 2019 02:46:07 +0100
+Subject: [PATCH] Do not build help - we do not have yelp yet
+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>
+---
+ meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index d60ced7..6a0ab4b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -183,7 +183,6 @@ subdir('data')
+ subdir('po')
+ subdir('scripts')
+ subdir('src')
+-subdir('help')
+
+
+ message('\n'.join(['',
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb
deleted file mode 100644
index 9b6ce17ca..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb
new file mode 100644
index 000000000..c2432a322
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Gnome system monitor"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = " \
+ itstool-native \
+ gnome-common-native \
+ libxml2-native \
+ glib-2.0-native \
+ gtkmm3 \
+ libgtop \
+ librsvg \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gtk-icon-cache distro_features_check gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "6c2c5c5bf8f15d3e6985faacbd3055dd"
+SRC_URI[archive.sha256sum] = "af00c4a42dd1db17d9abe88edb11c7751b20982db1a8a2a467bab206fd8a77e3"
+SRC_URI += "file://0001-Do-not-build-help-we-do-not-have-yelp-yet.patch"
+
+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/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.8.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.8.1.bb
new file mode 100644
index 000000000..9de298c41
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.8.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "spell 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] = "8269918ea5ff798e49943e7daf6a32b9"
+SRC_URI[archive.sha256sum] = "819a1d23c7603000e73f5e738bdd284342e0cd345fb0c7650999c31ec741bbe5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.10.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.10.bb
new file mode 100644
index 000000000..d91e479d8
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.10.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+inherit gnomebase lib_package gettext distro_features_check gtk-doc gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/${PNAME}-${PV}.tar.xz"
+SRC_URI[md5sum] = "e43337d17c40eae440a76630db76c54e"
+SRC_URI[sha256sum] = "ab5406cdd0bdcf66afcd52b1e048a2f43c0f3ab391644ee30d9ac419b93cd59b"
+
+FILES_${PN} += " ${datadir}/gtksourceview-3.0"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.8.bb
deleted file mode 100644
index 7cb88665a..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.39.1.bb
deleted file mode 100644
index ca1eb6aa7..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.0.bb
new file mode 100644
index 000000000..7f239c413
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.0.bb
@@ -0,0 +1,70 @@
+DESCRIPTION = "gvfs is a userspace virtual filesystem"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnome bash-completion gettext upstream-version-is-even
+
+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] = "96ef53ed613e4d223e0db3a7acea44f0"
+SRC_URI[archive.sha256sum] = "3739d64b79c95a9f0f9faf2c5f9e5298b4b2ebdd6431435ce656ecd19b31e2f2"
+
+
+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/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.0.bb
deleted file mode 100644
index 456a744fa..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
new file mode 100644
index 000000000..3a7379f9e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
@@ -0,0 +1,19 @@
+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] = "98040022484406e7ebe25f82cef93344"
+SRC_URI[archive.sha256sum] = "f7ca02631576e9b88aee1b1bae37ac1488b80ee7975f20a97f29e761a7172679"
+
+EXTRA_OECONF_remove = "--disable-schemas-install"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
deleted file mode 100644
index f5e2f1dd7..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb
new file mode 100644
index 000000000..e63e26e73
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb
@@ -0,0 +1,29 @@
+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] = "e45cc8aa9c49516d540b7d7307f755f1"
+SRC_URI[archive.sha256sum] = "5cbc2c0f1dc44d202fa0c6e3a51e9f17b0c2deb8711ba650432bfde3180b69fa"
+
+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/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb
deleted file mode 100644
index 494934fe7..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb
new file mode 100644
index 000000000..b594198a4
--- /dev/null
+++ b/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 distro_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/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb
deleted file mode 100644
index 957d7d027..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
new file mode 100644
index 000000000..7f52c42cd
--- /dev/null
+++ b/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 distro_features_check autotools pkgconfig gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_configure_prepend() {
+ (cd ${S}; NOCONFIGURE="yes" . ${S}/autogen.sh)
+}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.28.0.bb
deleted file mode 100644
index 189f6ec55..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.30.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.30.1.bb
new file mode 100644
index 000000000..253f7ef36
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.30.1.bb
@@ -0,0 +1,41 @@
+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 = "d69fba052cdd0aa8348dc1bbbbb1ecbadfbebbd8"
+
+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/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
index 8ed1fcd15..03ee5b4ac 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
@@ -16,6 +16,4 @@ SRC_URI[sha256sum] = "673109910e22d4cf94cc8be4dcb9a0c41b5fbdb1736d4b7bdc7778894d
inherit autotools pkgconfig
-S = "${WORKDIR}/${PN}-${PV}"
-
EXTRA_OECONF = ""
diff --git a/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Include-sys-sysmacros.h-for-major-minor.patch
deleted file mode 100644
index 277f6e21b..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode/0001-Missing-n-in-translated-string.patch
deleted file mode 100644
index 9db700e96..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.112.bb
deleted file mode 100644
index 82ccf3eda..000000000
--- a/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/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.113.bb b/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.113.bb
new file mode 100644
index 000000000..052783626
--- /dev/null
+++ b/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 distro_features_check autotools gettext pkgconfig
+
+EXTRA_OEMAKE += "INSTALL='install -p'"
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
diff --git a/meta-openembedded/meta-initramfs/README b/meta-openembedded/meta-initramfs/README
index ba2ba5f50..79244d43f 100644
--- a/meta-openembedded/meta-initramfs/README
+++ b/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: master
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]' 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][PATCH'
-Thud maintainer: Armin Kuster <akuster808@gmail.com>
+Interm layer maintainer: Khem Raj <raj.khem@gmail.com>
License
diff --git a/meta-openembedded/meta-initramfs/classes/klibc.bbclass b/meta-openembedded/meta-initramfs/classes/klibc.bbclass
index b7b72b728..bba10f1b6 100644
--- a/meta-openembedded/meta-initramfs/classes/klibc.bbclass
+++ b/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/meta-openembedded/meta-initramfs/conf/layer.conf b/meta-openembedded/meta-initramfs/conf/layer.conf
index bd92ddfbc..6e0b00db0 100644
--- a/meta-openembedded/meta-initramfs/conf/layer.conf
+++ b/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"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
dracut->virtual/kernel \
diff --git a/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-Use-new-reboot-API-with-klibc.patch b/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-Use-new-reboot-API-with-klibc.patch
new file mode 100644
index 000000000..52d622a2f
--- /dev/null
+++ b/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/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb b/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
index 6d79e8f83..4b20e1ed9 100644
--- a/meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
+++ b/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 = "7409a1e0aaea61af87c4eca0149cec18a9f58ab6"
inherit autotools
EXTRA_OECONF = "--enable-textui --enable-delay=2 --enable-evdev-rate=1000,250"
diff --git a/meta-openembedded/meta-initramfs/recipes-core/images/meta-initramfs-image.bb b/meta-openembedded/meta-initramfs/recipes-core/images/meta-initramfs-image.bb
new file mode 100644
index 000000000..9d70d6d02
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-core/images/meta-initramfs-image.bb
@@ -0,0 +1,8 @@
+SUMMARY = "meta-initramfs build test image"
+
+IMAGE_INSTALL = "packagegroup-core-boot \
+ packagegroup-meta-initramfs"
+
+LICENSE = "MIT"
+
+inherit core-image
diff --git a/meta-openembedded/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb b/meta-openembedded/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb
new file mode 100644
index 000000000..bfede5a74
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-core/packagegroups/packagegroup-meta-initramfs.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Meta-initramfs packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-initramfs \
+ packagegroup-meta-initramfs-devtools \
+ packagegroup-meta-initramfs-kernel \
+'
+
+RDEPENDS_packagegroup-meta-initramfs = "\
+ packagegroup-meta-initramfs-devtools \
+ packagegroup-meta-initramfs-kernel \
+"
+
+RDEPENDS_packagegroup-meta-initramfs-devtools = "\
+ libklibc dracut \
+ klibc-utils-cat klibc-utils-losetup klibc-utils-readlink klibc-utils-chroot \
+ klibc-utils-ls klibc-utils-reboot klibc-utils-cpio klibc-utils-minips \
+ klibc-utils-resume klibc-utils-dd klibc-utils-mkdir klibc-utils-run-init \
+ klibc-utils-dmesg klibc-utils-mkfifo klibc-utils-sh.shared klibc-utils-false \
+ klibc-utils-mknod klibc-utils-sleep klibc-utils-fstype klibc-utils-mount \
+ klibc-utils-sync klibc-utils-halt klibc-utils-mv klibc-utils-true klibc-utils-ipconfig \
+ klibc-utils-nfsmount klibc-utils-umount klibc-utils-kill klibc-utils-nuke klibc-utils-uname \
+ mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \
+ ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \
+ ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc \
+ ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "grubby", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-initramfs-kernel = "\
+ kexec-klibc vmcore-dmesg-klibc \
+ "
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
index e7a0cce83..e7a0cce83 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-in_-structs-for-non-glibc-system-libs.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
index eee144dc4..eee144dc4 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
index 181dcfb6d..181dcfb6d 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
index 1ba05a811..1ba05a811 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch
index de04d691f..de04d691f 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-always-use-bfd-linker.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
index fcf4f891a..fcf4f891a 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch
index 46a23987f..46a23987f 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-dash-Specify-format-string-in-fmtstr.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
index 04c97fc5e..04c97fc5e 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-include-linux-sysinfo.h-directly.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
index 94818e366..94818e366 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch
index 0768f6d51..0768f6d51 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-add-getrandom-syscall.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-add-getrandom-syscall.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
index 3d8d987c4..3d8d987c4 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc_2.0.4-add-kexec_file_load-syscall.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch
index 3bc081d4e..3bc081d4e 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-mkfifo-Implement-mkfifo.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
new file mode 100644
index 000000000..4a334fa25
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
@@ -0,0 +1,24 @@
+From d2fb484d995221277cce7abddcd7dfa0e8bceec3 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Fri, 11 Jan 2013 17:26:40 +0000
+Subject: [PATCH] klibc_2.0.2: apply FIX_V4BX patch for armv4 targets only
+
+Status: not applicable upstream, in OE/Yocto we use $(FIX_V4BX)
+which is "" in case of armv5 or thumbs.
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+---
+ usr/klibc/arch/arm/MCONFIG | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/usr/klibc/arch/arm/MCONFIG
++++ b/usr/klibc/arch/arm/MCONFIG
+@@ -29,6 +29,7 @@ else
+ KLIBCSHAREDFLAGS = -Ttext-segment 0x01800000
+ ifeq ($(CONFIG_AEABI),y)
+ KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
++KLIBCLDFLAGS += $(FIX_ARMV4_EABI_BX)
+ else
+ KLIBCREQFLAGS += -mabi=apcs-gnu -mno-thumb-interwork
+ endif
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch
index 5f47d3f20..5f47d3f20 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-consider-sysroot.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
index 07703aa53..07703aa53 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-cross-accept-clang-options.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klibc-config-eabi.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klibc-config-eabi.patch
new file mode 100644
index 000000000..a6998f86d
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klibc-config-eabi.patch
@@ -0,0 +1,23 @@
+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(-)
+
+--- a/defconfig
++++ b/defconfig
+@@ -6,5 +6,5 @@ CONFIG_KLIBC_ZLIB=y
+ CONFIG_REGPARM=y
+ # ARM options
+ # CONFIG_KLIBC_THUMB is not set
+-# CONFIG_AEABI is not set
++CONFIG_AEABI=y
+ # CONFIG_DEBUG_INFO is not set
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch
index eac128cc0..eac128cc0 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/use-env-for-perl.patch
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
deleted file mode 100644
index b285b2e8b..000000000
--- a/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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.6.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.6.bb
new file mode 100644
index 000000000..4011aa231
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.6.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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-static-utils-do-not-build-shared-binaries.patch b/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 2f7cd3556..000000000
--- a/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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
deleted file mode 100644
index e84235306..000000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d2fb484d995221277cce7abddcd7dfa0e8bceec3 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Fri, 11 Jan 2013 17:26:40 +0000
-Subject: [PATCH] klibc_2.0.2: apply FIX_V4BX patch for armv4 targets only
-
-Status: not applicable upstream, in OE/Yocto we use $(FIX_V4BX)
-which is "" in case of armv5 or thumbs.
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
-
----
- usr/klibc/arch/arm/MCONFIG | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/usr/klibc/arch/arm/MCONFIG b/usr/klibc/arch/arm/MCONFIG
-index 53bc1dc..303c6ac 100644
---- a/usr/klibc/arch/arm/MCONFIG
-+++ b/usr/klibc/arch/arm/MCONFIG
-@@ -29,6 +29,7 @@ else
- KLIBCSHAREDFLAGS = -Ttext 0x01800200
- ifeq ($(CONFIG_AEABI),y)
- KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
-+KLIBCLDFLAGS += $(FIX_ARMV4_EABI_BX)
- else
- KLIBCREQFLAGS += -mabi=apcs-gnu -mno-thumb-interwork
- endif
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
deleted file mode 100644
index f28cd5423..000000000
--- a/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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
deleted file mode 100644
index a5563b740..000000000
--- a/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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
deleted file mode 100644
index 5c7a6625b..000000000
--- a/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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb
deleted file mode 100644
index 16778630c..000000000
--- a/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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.6.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.6.bb
new file mode 100644
index 000000000..c835fd647
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.6.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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
index 2aac9e6eb..00cb86d3e 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
+++ b/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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.6.bb
index 06e71cb7b..06e71cb7b 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.6.bb
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index ec52e9734..580544867 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -5,12 +5,10 @@ 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"
+SRCREV = "22b36d1ae34416bc48869619cbb0cccb2070f48f"
SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \
${ARMPATCHES} \
- file://klibc-linux-libc-dev.patch \
- file://staging.patch \
file://klcc-consider-sysroot.patch \
file://klcc-cross-accept-clang-options.patch \
file://0001-dash-Specify-format-string-in-fmtstr.patch \
@@ -48,8 +46,6 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'KLIBCOPTFLAGS=${TUNE_CCARGS} -Os' \
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')]}"
@@ -76,10 +72,3 @@ KLIBC_ARCH_x86-64 = "x86_64"
KLIBC_ARCH_powerpc = "ppc"
KLIBC_ARCH_powerpc64 = "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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb
deleted file mode 100644
index bc80f382f..000000000
--- a/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/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.6.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.6.bb
new file mode 100644
index 000000000..7df0b0a3d
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.6.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/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
new file mode 100644
index 000000000..b3ef3c82d
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
@@ -0,0 +1,163 @@
+From 5ea7cd78cd252ffd3a9f3fbc8dc795d6e1596084 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;
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
new file mode 100644
index 000000000..be1301df6
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
@@ -0,0 +1,11 @@
+--- 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/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
index cc1c5518b..7ad55d8b8 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
+++ b/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/meta-openembedded/meta-multimedia/README b/meta-openembedded/meta-multimedia/README
index 050392d96..20f4fb863 100644
--- a/meta-openembedded/meta-multimedia/README
+++ b/meta-openembedded/meta-multimedia/README
@@ -1,19 +1,19 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: thud
+branch: master
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
layers: meta-oe
-branch: thud
+branch: master
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]' 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][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>
+Layer maintainer: Andreas MĂĽller <schnitzeltony@googlemail.com>
diff --git a/meta-openembedded/meta-multimedia/conf/layer.conf b/meta-openembedded/meta-multimedia/conf/layer.conf
index e2a7701c3..e05a65253 100644
--- a/meta-openembedded/meta-multimedia/conf/layer.conf
+++ b/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.
@@ -29,4 +31,4 @@ LAYERVERSION_multimedia-layer = "1"
LAYERDEPENDS_multimedia-layer = "core"
-LAYERSERIES_COMPAT_multimedia-layer = "thud"
+LAYERSERIES_COMPAT_multimedia-layer = "thud warrior"
diff --git a/meta-openembedded/meta-multimedia/licenses/BellBird b/meta-openembedded/meta-multimedia/licenses/BellBird
new file mode 100644
index 000000000..bc5c03fa8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/licenses/CMU-Tex b/meta-openembedded/meta-multimedia/licenses/CMU-Tex
new file mode 100644
index 000000000..f51222852
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/licenses/Sun b/meta-openembedded/meta-multimedia/licenses/Sun
new file mode 100644
index 000000000..d125a1657
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb
index 7a524f2d5..339c07cd9 100644
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_git.bb
+++ b/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/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
deleted file mode 100644
index 21331ffcb..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb
new file mode 100644
index 000000000..4869d866f
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb
@@ -0,0 +1,68 @@
+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] = "f897167ad82e2e741582f2c393a76843"
+SRC_URI[archive.sha256sum] = "dfd3d885da3ac383ba0cfbf119995f4a0c2bca2cc8f8cfcd3df10cfec8f35cd7"
+
+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/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
deleted file mode 100644
index d3d89e333..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
index a8aec113c..5acdd7ebc 100644
--- a/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
+++ b/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/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
new file mode 100644
index 000000000..dc6cd46b0
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -0,0 +1,23 @@
+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"
+
+SRCREV = "bdc2ae9e19520a10cdf0bec0fcc0050b32bc75ff"
+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 \
+ "
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
index fe864c49c..0404bd515 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
@@ -3,7 +3,7 @@ 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 \
+SRC_URI = "http://quitte.de/dsp/${BPN}_${PV}.tar.bz2 \
file://Avoid-ambiguity-in-div-invocation.patch \
file://0001-basic.h-Use-c99-supported-stdint-types.patch \
file://append_ldflags.patch \
@@ -13,8 +13,6 @@ SRC_URI = "http://quitte.de/dsp/${PN}_${PV}.tar.bz2 \
SRC_URI[md5sum] = "c1d634038dcb54702306c0e30cb1c626"
SRC_URI[sha256sum] = "f746feba57af316b159f0169de5d78b4fd1064c2c0c8017cb5856b2f22e83f20"
-S = "${WORKDIR}/${PN}-${PV}"
-
EXTRA_OEMAKE = " \
CC='${CXX}' \
CFLAGS='${CFLAGS} -ffast-math -funroll-loops -fPIC -DPIC' \
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
new file mode 100644
index 000000000..ff9eabbb5
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
@@ -0,0 +1,107 @@
+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-fe-xc5000c-4.1.30.7.fw \
+ file://dvb-scan-table \
+ file://0001-Fix-generate-keynames.patch \
+ file://0002-Fix-compiler-warning-flags.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 \
+ "
+
+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*
+ if [ "${DVB_WINTV_TUNER}" = "true" ]; then
+ install -d ${D}/lib/firmware
+ install -m 0644 ${WORKDIR}/*.fw ${D}/lib/firmware/
+ fi
+ 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 lib/firmware"
+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"
+
+DVB_WINTV_TUNER = "true"
+TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch
new file mode 100644
index 000000000..498607d97
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch
new file mode 100644
index 000000000..9c6276beb
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch
@@ -0,0 +1,44 @@
+From 9b8f1df41f7579da63c27763ff184d351e4c7fef Mon Sep 17 00:00:00 2001
+From: Simon Dawson <spdawson@gmail.com>
+Date: Sun, 4 Jan 2015 12:06:18 +0100
+Subject: [PATCH] Fix compiler warning flags
+
+ When building for bfin, the build fails as follows.
+
+ cc1: error: unrecognized command line option "-Wno-packed-bitfield-compat"
+
+An example of an autobuild failure arising from this is the following.
+
+ http://autobuild.buildroot.net/results/92e/92e472004812a3616f62d766a9ea07a997a66e89/
+ http://autobuild.buildroot.net/results/6e7/6e7b48ad9768349d983985c3067c4267cde80541/
+
+Clearly, not all toolchains provide a gcc that understands
+the -Wno-packed-bitfield-compat flag; remove usage of this flag.
+
+Wno-packed-bitfield-compat option was added in gcc 4.4.
+
+[Romain:
+ - This patch is also needed for bfin toolchains which use gcc 4.3.5
+ - Add a link to bfin build failure]
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ util/scan/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util/scan/Makefile b/util/scan/Makefile
+index d48c478..88667c5 100644
+--- a/util/scan/Makefile
++++ b/util/scan/Makefile
+@@ -14,7 +14,7 @@ inst_bin = $(binaries)
+
+ removing = atsc_psip_section.c atsc_psip_section.h
+
+-CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES
++CPPFLAGS += -D__KERNEL_STRICT_NAMES
+
+ .PHONY: all
+
+--
+1.9.3
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch
new file mode 100644
index 000000000..4dc7c68ac
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch
new file mode 100644
index 000000000..45bfad914
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch
new file mode 100644
index 000000000..f12d35bc7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch
new file mode 100644
index 000000000..e100c659e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-fe-xc5000c-4.1.30.7.fw b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-fe-xc5000c-4.1.30.7.fw
new file mode 100644
index 000000000..5786ffa44
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-fe-xc5000c-4.1.30.7.fw
Binary files differ
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/ca-AB-Calgary b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/ca-AB-Calgary
new file mode 100755
index 000000000..4602c2a1c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ATSC-center-frequencies-8VSB b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ATSC-center-frequencies-8VSB
new file mode 100755
index 000000000..e74487821
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CA-SF-Bay-Area b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CA-SF-Bay-Area
new file mode 100755
index 000000000..e48e6e22a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CO-Denver b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-CO-Denver
new file mode 100755
index 000000000..078ecb015
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-HRC-center-frequencies-QAM256 b/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 000000000..c541b1e14
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-EIA-542-IRC-center_frequencies-QAM256 b/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 000000000..1aa2a11f7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-HRC-center-frequencies-QAM256 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-HRC-center-frequencies-QAM256
new file mode 100755
index 000000000..2e20b4550
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-IRC-center-frequencies-QAM256 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-IRC-center-frequencies-QAM256
new file mode 100755
index 000000000..cd8c4086c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-Standard-center-frequencies-QAM256 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-Cable-Standard-center-frequencies-QAM256
new file mode 100755
index 000000000..b4931287e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ID-Boise b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-ID-Boise
new file mode 100755
index 000000000..dcef67cca
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MA-Boston b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MA-Boston
new file mode 100755
index 000000000..2324402c4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MI-Lansing b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-MI-Lansing
new file mode 100755
index 000000000..41fb8d2c0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-NTSC-center-frequencies-8VSB b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-NTSC-center-frequencies-8VSB
new file mode 100755
index 000000000..8f153affa
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-PA-Philadelphia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/atsc/us-PA-Philadelphia
new file mode 100755
index 000000000..64a7e69f5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/activy.rcmm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/activy.rcmm
new file mode 100644
index 000000000..c7d728063
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/galaxis.rcmm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/galaxis.rcmm
new file mode 100644
index 000000000..38eb389ec
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge.rc5
new file mode 100644
index 000000000..f52eb8542
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge2.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge2.rc5
new file mode 100644
index 000000000..663fea823
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge_grey.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/hauppauge_grey.rc5
new file mode 100644
index 000000000..2bca524aa
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/mbo_81095-code_562.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/mbo_81095-code_562.rc5
new file mode 100644
index 000000000..357e41038
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_088.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_088.rc5
new file mode 100644
index 000000000..ebec3fefb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_155.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/medion_155.rc5
new file mode 100644
index 000000000..416bbd900
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips.rc5
new file mode 100644
index 000000000..68bc85d76
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips1358.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/philips1358.rc5
new file mode 100644
index 000000000..805755ed6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/technotrend.rc5 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/av7110_loadkeys/technotrend.rc5
new file mode 100644
index 000000000..526fdc702
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Innsbruck b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Innsbruck
new file mode 100755
index 000000000..89833ea5a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabel-Braunau b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabel-Braunau
new file mode 100755
index 000000000..4111c3ba6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabelsignal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Kabelsignal
new file mode 100755
index 000000000..a27304722
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-KarrerNet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-KarrerNet
new file mode 100755
index 000000000..371c63be8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Liwest b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Liwest
new file mode 100755
index 000000000..f3b0cadc0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-SalzburgAG b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-SalzburgAG
new file mode 100755
index 000000000..0a9e364e8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Vienna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/at-Vienna
new file mode 100755
index 000000000..dbce4a998
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/be-IN.DI-Integan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/be-IN.DI-Integan
new file mode 100755
index 000000000..16ecffad4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/br-Net-Digital b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/br-Net-Digital
new file mode 100755
index 000000000..197383439
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Bern-upc-cablecom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Bern-upc-cablecom
new file mode 100755
index 000000000..2053d6cf2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-GGA-Pratteln b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-GGA-Pratteln
new file mode 100755
index 000000000..2581d812b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Rega-Sense b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Rega-Sense
new file mode 100755
index 000000000..6b5beff42
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Video2000 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Video2000
new file mode 100755
index 000000000..865c90ece
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Zuerich-upc-cablecom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-Zuerich-upc-cablecom
new file mode 100755
index 000000000..a639f8231
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-interGGA b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-interGGA
new file mode 100755
index 000000000..50457dcc5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-quickline-ewaarberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ch-quickline-ewaarberg
new file mode 100755
index 000000000..c516821c7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-Moravianet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-Moravianet
new file mode 100755
index 000000000..457f83b5f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-UPC b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/cz-UPC
new file mode 100755
index 000000000..cd7fd291f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Berlin b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Berlin
new file mode 100755
index 000000000..b93ff6baa
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Brandenburg-Havel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Brandenburg-Havel
new file mode 100755
index 000000000..d0417ad1e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Hessen-Unitymedia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Hessen-Unitymedia
new file mode 100755
index 000000000..807c443b8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_BW b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_BW
new file mode 100755
index 000000000..f2015cfb6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_Deutschland-Hannover b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Kabel_Deutschland-Hannover
new file mode 100755
index 000000000..c43238456
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Muenchen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Muenchen
new file mode 100755
index 000000000..e6f637957
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-NetAachen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-NetAachen
new file mode 100755
index 000000000..58ee5949c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Primacom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Primacom
new file mode 100755
index 000000000..f89a86ef0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Unitymedia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-Unitymedia
new file mode 100755
index 000000000..0323d1aff
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-iesy b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-iesy
new file mode 100755
index 000000000..6b3630e8a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-komro-Rosenheim b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-komro-Rosenheim
new file mode 100755
index 000000000..49ffa5b9b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-neftv b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/de-neftv
new file mode 100755
index 000000000..abf0f0224
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Aarhus-Antenneforening b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Aarhus-Antenneforening
new file mode 100755
index 000000000..3d0ae13e7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Copenhagen-AFDK b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Copenhagen-AFDK
new file mode 100755
index 000000000..1773cc30a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Odense b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-Odense
new file mode 100755
index 000000000..6fac9c879
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-YouSee b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/dk-YouSee
new file mode 100755
index 000000000..54cadb5fb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/es-Euskaltel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/es-Euskaltel
new file mode 100755
index 000000000..bf5926b82
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-HTV b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-HTV
new file mode 100755
index 000000000..9b69de650
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Joensuu-Tikka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Joensuu-Tikka
new file mode 100755
index 000000000..df8dbe111
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Kaisa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Kaisa
new file mode 100755
index 000000000..91b869e98
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-TTV b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-TTV
new file mode 100755
index 000000000..310719cf0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Turku b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-Turku
new file mode 100755
index 000000000..d8c7da66c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-dna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-dna
new file mode 100755
index 000000000..40bdd6341
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-jkl b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-jkl
new file mode 100755
index 000000000..cdfd67831
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-sonera b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-sonera
new file mode 100755
index 000000000..fa1326a17
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-vaasa-oncable b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fi-vaasa-oncable
new file mode 100755
index 000000000..375180f04
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fr-noos-numericable b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/fr-noos-numericable
new file mode 100755
index 000000000..1249b3719
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hr-B.net b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hr-B.net
new file mode 100755
index 000000000..ade8eb5d1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hu-Digikabel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/hu-Digikabel
new file mode 100755
index 000000000..08d506b86
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/lu-Ettelbruck-ACE b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/lu-Ettelbruck-ACE
new file mode 100755
index 000000000..4a567feeb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Delta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Delta
new file mode 100755
index 000000000..d278f8da7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-REKAM-CAIW_Gouda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-REKAM-CAIW_Gouda
new file mode 100755
index 000000000..4cd60bde0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Ziggo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/nl-Ziggo
new file mode 100755
index 000000000..88c89643a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-CanalDigital b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-CanalDigital
new file mode 100755
index 000000000..160c19f84
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-Get b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/no-Oslo-Get
new file mode 100755
index 000000000..05ac4639c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ro-DigiTV b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/ro-DigiTV
new file mode 100755
index 000000000..fe6cb6aef
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-Gothnet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-Gothnet
new file mode 100755
index 000000000..3f4f70fd3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-comhem b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-c/se-comhem
new file mode 100755
index 000000000..24acd975a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ABS1-75.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ABS1-75.0E
new file mode 100755
index 000000000..21836284c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC1-103w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC1-103w
new file mode 100755
index 000000000..bb9db849c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC10_C-135W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC10_C-135W
new file mode 100755
index 000000000..be36843d1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC11_C-131W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC11_C-131W
new file mode 100755
index 000000000..6207d9b1b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC16-85.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC16-85.0W
new file mode 100755
index 000000000..8d89f911d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC18_C-105W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC18_C-105W
new file mode 100755
index 000000000..09aacb62d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC4-101w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC4-101w
new file mode 100755
index 000000000..11397d5e9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC5-79w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC5-79w
new file mode 100755
index 000000000..6d8f7ecd7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC6-72w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC6-72w
new file mode 100755
index 000000000..525972a7e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC8_C-139W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC8_C-139W
new file mode 100755
index 000000000..7a32adb89
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9-83.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9-83.0W
new file mode 100755
index 000000000..847ab2a2c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9_C-83.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AMC9_C-83.0W
new file mode 100755
index 000000000..3bb10bfcd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Agila2_C-146.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Agila2_C-146.0E
new file mode 100755
index 000000000..5591e5050
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amazonas-61.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amazonas-61.0W
new file mode 100755
index 000000000..b7471c12f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amos-4w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Amos-4w
new file mode 100755
index 000000000..522280c2e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1-107.3W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1-107.3W
new file mode 100755
index 000000000..4613024fe
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1R_C-107.3W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F1R_C-107.3W
new file mode 100755
index 000000000..b9959b641
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F2_C-111.1W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F2_C-111.1W
new file mode 100755
index 000000000..a9a838af4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F3-119W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Anik-F3-119W
new file mode 100755
index 000000000..f4405fc4d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Apstar6_C-134.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Apstar6_C-134.0E
new file mode 100755
index 000000000..b61c7c71c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat2_C-100.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat2_C-100.5E
new file mode 100755
index 000000000..c0889c80b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat3S_C-105.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/AsiaSat3S_C-105.5E
new file mode 100755
index 000000000..4454e4484
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Asiasat4_C-122.2E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Asiasat4_C-122.2E
new file mode 100755
index 000000000..3bc0c09f8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-19.2E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-19.2E
new file mode 100755
index 000000000..2d1f0b24b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-23.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-23.5E
new file mode 100755
index 000000000..ed505ea6a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-28.2E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Astra-28.2E
new file mode 100755
index 000000000..0266839cb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-1-12.5W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-1-12.5W
new file mode 100755
index 000000000..0c85d50f8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-3-5.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Atlantic-Bird-3-5.0W
new file mode 100755
index 000000000..9d751a7c5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B1-75.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B1-75.0W
new file mode 100755
index 000000000..b031ca610
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B2-65.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B2-65.0W
new file mode 100755
index 000000000..bc24954b6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B4-70.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilSat-B4-70.0W
new file mode 100755
index 000000000..b73c9ff63
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilsatB4-84.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/BrasilsatB4-84.0W
new file mode 100755
index 000000000..a4d4d0a5d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ChinaSat5A-87.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ChinaSat5A-87.5E
new file mode 100755
index 000000000..b31fc0a9c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Echostar-10+11-110W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Echostar-10+11-110W
new file mode 100755
index 000000000..6521ab539
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Estrela-do-Sul-63.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Estrela-do-Sul-63.0W
new file mode 100755
index 000000000..fe0693010
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Eutelsat9-9.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Eutelsat9-9.0E
new file mode 100755
index 000000000..49e65d684
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/EutelsatW2-16E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/EutelsatW2-16E
new file mode 100755
index 000000000..5b2ba8837
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Express-3A-11.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Express-3A-11.0W
new file mode 100755
index 000000000..2be272a17
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM1-40.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM1-40.0E
new file mode 100755
index 000000000..6d31da935
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM2-80.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM2-80.0E
new file mode 100755
index 000000000..9dfcfc00f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM22-53.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ExpressAM22-53.0E
new file mode 100755
index 000000000..513244cb9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy10R-123w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy10R-123w
new file mode 100755
index 000000000..6212f56cd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy13_C-127W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy13_C-127W
new file mode 100755
index 000000000..db85e25ec
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy14_C-125W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy14_C-125W
new file mode 100755
index 000000000..b7ffe0d58
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy15_C-133W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy15_C-133W
new file mode 100755
index 000000000..bcc096f07
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy16_C-99.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy16_C-99.0W
new file mode 100755
index 000000000..5d23c6f95
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17-91.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17-91.0W
new file mode 100755
index 000000000..ff7599a42
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17_C-91.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy17_C-91.0W
new file mode 100755
index 000000000..0530bc9de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19-97.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19-97.0W
new file mode 100755
index 000000000..3c1cdf2c5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19_C-97.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy19_C-97.0W
new file mode 100755
index 000000000..6d9f4616a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy23_C-121W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy23_C-121W
new file mode 100755
index 000000000..f03b1dfcc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy25-93.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy25-93.0W
new file mode 100755
index 000000000..3f349e367
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy27-129w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy27-129w
new file mode 100755
index 000000000..3fb402e2f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28-89.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28-89.0W
new file mode 100755
index 000000000..cefb32086
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28_C-89.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy28_C-89.0W
new file mode 100755
index 000000000..aba698d9a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C-95.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C-95.0W
new file mode 100755
index 000000000..d9e62cfc8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C_C-95.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Galaxy3C_C-95.0W
new file mode 100755
index 000000000..9c03c4190
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hispasat-30.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hispasat-30.0W
new file mode 100755
index 000000000..676251572
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hotbird-13.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Hotbird-13.0E
new file mode 100755
index 000000000..0df0ab3e8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/IA7-129w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/IA7-129w
new file mode 100755
index 000000000..612504a6c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat2E_C-83.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat2E_C-83.0E
new file mode 100755
index 000000000..f6bdcccb9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat3A_C-93.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat3A_C-93.5E
new file mode 100755
index 000000000..b12d36b72
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4A_C-83.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4A_C-83.0E
new file mode 100755
index 000000000..8e1e903c4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4B_C-93.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Insat4B_C-93.5E
new file mode 100755
index 000000000..6e9399791
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel4-72.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel4-72.0E
new file mode 100755
index 000000000..feba65e35
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel904-60.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intel904-60.0E
new file mode 100755
index 000000000..11bcce43c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1002-1.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1002-1.0W
new file mode 100755
index 000000000..57b2b60f5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-11-43.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-11-43.0W
new file mode 100755
index 000000000..3ae9107c9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-12-45.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-12-45.0E
new file mode 100755
index 000000000..124b0ecfc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1R-45.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-1R-45.0W
new file mode 100755
index 000000000..d512c54cc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-3R-43.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-3R-43.0W
new file mode 100755
index 000000000..9ffcec5c8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-6B-43.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-6B-43.0W
new file mode 100755
index 000000000..169e6ebf2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-705-50.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-705-50.0W
new file mode 100755
index 000000000..461b68ac1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-707-53.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-707-53.0W
new file mode 100755
index 000000000..228866cd2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-903-34.5W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-903-34.5W
new file mode 100755
index 000000000..f6be6ea08
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-905-24.5W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-905-24.5W
new file mode 100755
index 000000000..730d2c9de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-907-27.5W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat-907-27.5W
new file mode 100755
index 000000000..9e6d55329
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat21_C-58.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat21_C-58.0W
new file mode 100755
index 000000000..8467159d7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat34_C-55.5W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat34_C-55.5W
new file mode 100755
index 000000000..0b20ffbee
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat8_C-166.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Intelsat8_C-166.0E
new file mode 100755
index 000000000..be61e6b04
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/JCSat3A_C-128.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/JCSat3A_C-128.0E
new file mode 100755
index 000000000..211c636de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Measat3_C-91.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Measat3_C-91.5E
new file mode 100755
index 000000000..4ecce5e48
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-10-37.5W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-10-37.5W
new file mode 100755
index 000000000..4f892aa23
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-7-22.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-7-22.0W
new file mode 100755
index 000000000..a085d0f4b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-806-40.5W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/NSS-806-40.5W
new file mode 100755
index 000000000..fb5d0545a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nahuel-1-71.8W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nahuel-1-71.8W
new file mode 100755
index 000000000..66c3702dd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nilesat101+102-7.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Nilesat101+102-7.0W
new file mode 100755
index 000000000..4a6bb3050
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusC1-156E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusC1-156E
new file mode 100755
index 000000000..c3eddb323
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusD1-160.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/OptusD1-160.0E
new file mode 100755
index 000000000..fef901a9a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PAS-43.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PAS-43.0W
new file mode 100755
index 000000000..db5bf939e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PalapaC2_C-113.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/PalapaC2_C-113.0E
new file mode 100755
index 000000000..f00e4c94f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SBS6-74w b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SBS6-74w
new file mode 100755
index 000000000..f6ca6c74c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES1_C-101W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES1_C-101W
new file mode 100755
index 000000000..0dbb860a7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2-87.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2-87.0W
new file mode 100755
index 000000000..9fa21ab43
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2_C-87.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES2_C-87.0W
new file mode 100755
index 000000000..c19372f28
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES3_C-103W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/SES3_C-103W
new file mode 100755
index 000000000..2a0d41356
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ST1_C-80.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/ST1_C-80.0E
new file mode 100755
index 000000000..d60a39eac
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-5-116.8W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-5-116.8W
new file mode 100755
index 000000000..96c804d6e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-6-113.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Satmex-6-113.0W
new file mode 100755
index 000000000..19a8f3087
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Sirius-5.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Sirius-5.0E
new file mode 100755
index 000000000..9f93c383d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telecom2-8.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telecom2-8.0W
new file mode 100755
index 000000000..637871d98
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telkom1_C-108.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telkom1_C-108.0E
new file mode 100755
index 000000000..194b5e5d0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar10_C-76.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar10_C-76.5E
new file mode 100755
index 000000000..3ea634b6a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar12-15.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar12-15.0W
new file mode 100755
index 000000000..9dd367a17
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar18_C-138.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Telstar18_C-138.0E
new file mode 100755
index 000000000..a8ae30864
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom1A_C-120.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom1A_C-120.0E
new file mode 100755
index 000000000..a9bcb1721
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom2_C-78.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom2_C-78.5E
new file mode 100755
index 000000000..342e70bd3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom5_C-78.5E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thaicom5_C-78.5E
new file mode 100755
index 000000000..2171a97ed
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thor-1.0W b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Thor-1.0W
new file mode 100755
index 000000000..0b4626586
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Turksat-42.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Turksat-42.0E
new file mode 100755
index 000000000..c363aed15
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Vinasat1_C-132.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Vinasat1_C-132.0E
new file mode 100755
index 000000000..06f9acbcd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Yamal201-90.0E b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-s/Yamal201-90.0E
new file mode 100755
index 000000000..fd4b97ef3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ad-Andorra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ad-Andorra
new file mode 100755
index 000000000..e43251d8d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/at-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/at-All
new file mode 100755
index 000000000..7fbfdce5a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Adelaide b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Adelaide
new file mode 100755
index 000000000..5376dd8d6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-AdelaideFoothills b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-AdelaideFoothills
new file mode 100755
index 000000000..73dbe3d6e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Ballarat b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Ballarat
new file mode 100755
index 000000000..438ada95e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Bendigo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Bendigo
new file mode 100755
index 000000000..07f09ca82
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Brisbane b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Brisbane
new file mode 100755
index 000000000..a23cb9cbe
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Cairns b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Cairns
new file mode 100755
index 000000000..272c605b8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Canberra-Black-Mt b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Canberra-Black-Mt
new file mode 100755
index 000000000..e783e8ad7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Coonabarabran b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Coonabarabran
new file mode 100755
index 000000000..83a4e6a9d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Darwin b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Darwin
new file mode 100755
index 000000000..4e7719475
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Devonport b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Devonport
new file mode 100755
index 000000000..da39e0d4b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-FraserCoast-Bundaberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-FraserCoast-Bundaberg
new file mode 100755
index 000000000..ea93d82d7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-GoldCoast b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-GoldCoast
new file mode 100755
index 000000000..9f3a74be9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Goulburn-Rocky_Hill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Goulburn-Rocky_Hill
new file mode 100755
index 000000000..259d9ea8d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hervey_Bay-Ghost_Hill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hervey_Bay-Ghost_Hill
new file mode 100755
index 000000000..e35869aaf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hobart b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Hobart
new file mode 100755
index 000000000..c94c53fc3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Mackay b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Mackay
new file mode 100755
index 000000000..f894007aa
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne
new file mode 100755
index 000000000..cc742ff95
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Selby b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Selby
new file mode 100755
index 000000000..2219466ff
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Upwey b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Melbourne-Upwey
new file mode 100755
index 000000000..978e2ade8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-MidNorthCoast b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-MidNorthCoast
new file mode 100755
index 000000000..714d8da9c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Newcastle b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Newcastle
new file mode 100755
index 000000000..dd634e4d7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth
new file mode 100755
index 000000000..4c6fb09bd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth_Roleystone b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Perth_Roleystone
new file mode 100755
index 000000000..f02cc2318
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SpencerGulf b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SpencerGulf
new file mode 100755
index 000000000..9983110cd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SunshineCoast b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-SunshineCoast
new file mode 100755
index 000000000..ff6f5dd7f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sutherland b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sutherland
new file mode 100755
index 000000000..403f4be7e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney
new file mode 100755
index 000000000..19e7be3b4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney_Kings_Cross b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Sydney_Kings_Cross
new file mode 100755
index 000000000..f61fb983a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Tamworth b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Tamworth
new file mode 100755
index 000000000..87c31802a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Townsville b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Townsville
new file mode 100755
index 000000000..d7c8b6ce6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-WaggaWagga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-WaggaWagga
new file mode 100755
index 000000000..d0762c7cf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Wollongong b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-Wollongong
new file mode 100755
index 000000000..94fe7444d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-canberra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-canberra
new file mode 100755
index 000000000..79a094afc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-unknown b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/au-unknown
new file mode 100755
index 000000000..c8d16b3d1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Australia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Australia
new file mode 100755
index 000000000..f58fae350
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Default b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Default
new file mode 100755
index 000000000..add81b94e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Taiwan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-Taiwan
new file mode 100755
index 000000000..3b2fb9ff6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-With167kHzOffsets b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/auto-With167kHzOffsets
new file mode 100755
index 000000000..3542db03a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ax-Smedsbole b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ax-Smedsbole
new file mode 100755
index 000000000..19e206dd7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/be-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/be-All
new file mode 100755
index 000000000..c957c0613
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/bg-Sofia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/bg-Sofia
new file mode 100755
index 000000000..1d39d1c5c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-All
new file mode 100755
index 000000000..0ff77caf9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Citycable b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Citycable
new file mode 100755
index 000000000..ef58d0657
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Geneva b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ch-Geneva
new file mode 100755
index 000000000..a64cc945a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/co-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/co-All
new file mode 100755
index 000000000..c06056aa8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/cz-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/cz-All
new file mode 100755
index 000000000..672f2c63b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Baden-Wuerttemberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Baden-Wuerttemberg
new file mode 100755
index 000000000..07ead3169
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bayern b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bayern
new file mode 100755
index 000000000..0d4182f88
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Berlin b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Berlin
new file mode 100755
index 000000000..79d29b51e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Brandenburg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Brandenburg
new file mode 100755
index 000000000..223126e1c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bremen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Bremen
new file mode 100755
index 000000000..24ab8eb0e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Dusseldorf b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Dusseldorf
new file mode 100755
index 000000000..aaf5a53fd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hamburg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hamburg
new file mode 100755
index 000000000..7a43b7802
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hessen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Hessen
new file mode 100755
index 000000000..636e30cb0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Mecklenburg-Vorpommern b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Mecklenburg-Vorpommern
new file mode 100755
index 000000000..259012f23
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Niedersachsen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Niedersachsen
new file mode 100755
index 000000000..496e1c496
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Nordrhein-Westfalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Nordrhein-Westfalen
new file mode 100755
index 000000000..940d18d4e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Rheinland-Pfalz b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Rheinland-Pfalz
new file mode 100755
index 000000000..877994285
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Saarland b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Saarland
new file mode 100755
index 000000000..4809557a5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen
new file mode 100755
index 000000000..ad875145d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen-Anhalt b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Sachsen-Anhalt
new file mode 100755
index 000000000..9925a2dd5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Schleswig-Holstein b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Schleswig-Holstein
new file mode 100755
index 000000000..00976acc4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Thueringen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/de-Thueringen
new file mode 100755
index 000000000..72fa94580
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/dk-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/dk-All
new file mode 100755
index 000000000..6bd590cdd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ee-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ee-All
new file mode 100755
index 000000000..689a35a0d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Albacete b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Albacete
new file mode 100755
index 000000000..d64012ed9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alfabia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alfabia
new file mode 100755
index 000000000..ee20e6856
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alicante b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alicante
new file mode 100755
index 000000000..a95a492ad
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Almeria b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Almeria
new file mode 100755
index 000000000..a6481e69a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alpicat b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Alpicat
new file mode 100755
index 000000000..be4674263
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Asturias b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Asturias
new file mode 100755
index 000000000..283b91215
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-BaixoMinho b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-BaixoMinho
new file mode 100755
index 000000000..ffc1de87b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Bilbao b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Bilbao
new file mode 100755
index 000000000..c4233f06a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Cadiz b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Cadiz
new file mode 100755
index 000000000..4155003d8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Carceres b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Carceres
new file mode 100755
index 000000000..8f52a46ba
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Collserola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Collserola
new file mode 100755
index 000000000..60c73f044
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Donostia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Donostia
new file mode 100755
index 000000000..a760346d4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Granada b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Granada
new file mode 100755
index 000000000..1545b960c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Huesca b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Huesca
new file mode 100755
index 000000000..53cb0878b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Las_Palmas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Las_Palmas
new file mode 100755
index 000000000..da971ee85
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Lugo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Lugo
new file mode 100755
index 000000000..53164a750
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Madrid b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Madrid
new file mode 100755
index 000000000..40df6e69c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Malaga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Malaga
new file mode 100755
index 000000000..521e5da1c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Muros-Noia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Muros-Noia
new file mode 100755
index 000000000..26d3016eb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Mussara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Mussara
new file mode 100755
index 000000000..c02383f12
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Pamplona b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Pamplona
new file mode 100755
index 000000000..fed6f53a6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-SC_Tenerife b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-SC_Tenerife
new file mode 100755
index 000000000..25ef3ba97
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santander b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santander
new file mode 100755
index 000000000..d2fc392eb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santiago_de_Compostela b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Santiago_de_Compostela
new file mode 100755
index 000000000..75943db94
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Sevilla b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Sevilla
new file mode 100755
index 000000000..17eae2aa9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Tenerife b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Tenerife
new file mode 100755
index 000000000..c97a002a1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valencia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valencia
new file mode 100755
index 000000000..44c356012
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valladolid b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Valladolid
new file mode 100755
index 000000000..31bf0accb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vilamarxant b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vilamarxant
new file mode 100755
index 000000000..c355eef36
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vitoria-Gasteiz b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Vitoria-Gasteiz
new file mode 100755
index 000000000..a475c8bd7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Zaragoza b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/es-Zaragoza
new file mode 100755
index 000000000..e6aab40ea
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski
new file mode 100755
index 000000000..7dda3262b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski_Konginkangas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Aanekoski_Konginkangas
new file mode 100755
index 000000000..ff13741eb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ahtari b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ahtari
new file mode 100755
index 000000000..aa90ea2d9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Alajarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Alajarvi
new file mode 100755
index 000000000..712483d1b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Anjalankoski_Ruotila b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Anjalankoski_Ruotila
new file mode 100755
index 000000000..8ae123195
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Espoo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Espoo
new file mode 100755
index 000000000..7d74fc134
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Eurajoki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Eurajoki
new file mode 100755
index 000000000..31de9350d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hameenlinna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hameenlinna
new file mode 100755
index 000000000..92b4ecfcb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hamina b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hamina
new file mode 100755
index 000000000..3525cb0c4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hausjarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Hausjarvi
new file mode 100755
index 000000000..92b4ecfcb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Helsinki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Helsinki
new file mode 100755
index 000000000..7d74fc134
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jokioinen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jokioinen
new file mode 100755
index 000000000..92b4ecfcb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jyvaskyla b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Jyvaskyla
new file mode 100755
index 000000000..925c8252d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kaarina b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kaarina
new file mode 100755
index 000000000..85ca3bd85
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kajaani b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kajaani
new file mode 100755
index 000000000..3525cb0c4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kangasala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kangasala
new file mode 100755
index 000000000..cb27de283
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Karkkila b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Karkkila
new file mode 100755
index 000000000..7d74fc134
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kiiminki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kiiminki
new file mode 100755
index 000000000..925c8252d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kokkola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kokkola
new file mode 100755
index 000000000..925c8252d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kontiolahti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kontiolahti
new file mode 100755
index 000000000..b7895d0f0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kouvola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kouvola
new file mode 100755
index 000000000..3525cb0c4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kuopio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Kuopio
new file mode 100755
index 000000000..63be3cabc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lahti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lahti
new file mode 100755
index 000000000..8147d5080
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lappeenranta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lappeenranta
new file mode 100755
index 000000000..b7895d0f0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lohja b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Lohja
new file mode 100755
index 000000000..7d74fc134
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Loviisa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Loviisa
new file mode 100755
index 000000000..7d74fc134
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Mikkeli b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Mikkeli
new file mode 100755
index 000000000..b7895d0f0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nousiainen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nousiainen
new file mode 100755
index 000000000..85ca3bd85
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nurmijarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Nurmijarvi
new file mode 100755
index 000000000..7d74fc134
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Porvoo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Porvoo
new file mode 100755
index 000000000..7d74fc134
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Salo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Salo
new file mode 100755
index 000000000..85ca3bd85
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Savonlinna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Savonlinna
new file mode 100755
index 000000000..72954131b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Seinajoki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Seinajoki
new file mode 100755
index 000000000..2f5d7e549
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Tyrnava b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Tyrnava
new file mode 100755
index 000000000..925c8252d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ulvila b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ulvila
new file mode 100755
index 000000000..31de9350d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vaasa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vaasa
new file mode 100755
index 000000000..2f5d7e549
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Valkeakoski b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Valkeakoski
new file mode 100755
index 000000000..cb27de283
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vesilahti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Vesilahti
new file mode 100755
index 000000000..cb27de283
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ylivieska b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-DNA-Ylivieska
new file mode 100755
index 000000000..8147d5080
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Ahovaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Ahovaara
new file mode 100755
index 000000000..21abdbc03
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Hetta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Hetta
new file mode 100755
index 000000000..6ff6b8451
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Kuttanen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Enontekio_Kuttanen
new file mode 100755
index 000000000..f9a6af824
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Espoo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Espoo
new file mode 100755
index 000000000..ceb906d82
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Eurajoki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Eurajoki
new file mode 100755
index 000000000..1d090a531
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Fiskars b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Fiskars
new file mode 100755
index 000000000..0f84bb7a9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Haapavesi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Haapavesi
new file mode 100755
index 000000000..8be1f62b9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenkyro_Kyroskoski b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenkyro_Kyroskoski
new file mode 100755
index 000000000..8a98791cc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenlinna_Painokangas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hameenlinna_Painokangas
new file mode 100755
index 000000000..9a56b2bba
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hanko b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hanko
new file mode 100755
index 000000000..ab08a1429
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hartola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hartola
new file mode 100755
index 000000000..d10df22d2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinavesi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinavesi
new file mode 100755
index 000000000..b33bb39e5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Heinola
new file mode 100755
index 000000000..7a6f234e7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi
new file mode 100755
index 000000000..e11f89acb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Kyparavaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Kyparavaara
new file mode 100755
index 000000000..f402d8afb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Paljakka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyrynsalmi_Paljakka
new file mode 100755
index 000000000..806a3c09f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyvinkaa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Hyvinkaa
new file mode 100755
index 000000000..e711b16d0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ii_Raiskio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ii_Raiskio
new file mode 100755
index 000000000..c5fda678d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Iisalmi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Iisalmi
new file mode 100755
index 000000000..d28182512
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen
new file mode 100755
index 000000000..885d44b52
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen_Riitiala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ikaalinen_Riitiala
new file mode 100755
index 000000000..55d82022e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari
new file mode 100755
index 000000000..31deb2127
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Janispaa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Janispaa
new file mode 100755
index 000000000..37bd31e20
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Naatamo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Inari_Naatamo
new file mode 100755
index 000000000..ba843609e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ivalo_Saarineitamovaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ivalo_Saarineitamovaara
new file mode 100755
index 000000000..70181bbe2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jalasjarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jalasjarvi
new file mode 100755
index 000000000..9bc705822
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Halli b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Halli
new file mode 100755
index 000000000..5d06520a0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Kaipola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Kaipola
new file mode 100755
index 000000000..ca8e563f1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Matkosvuori b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Matkosvuori
new file mode 100755
index 000000000..eacacff3f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Ouninpohja b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsa_Ouninpohja
new file mode 100755
index 000000000..70eb8e14a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsankoski b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jamsankoski
new file mode 100755
index 000000000..142be917e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joensuu_Vestinkallio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joensuu_Vestinkallio
new file mode 100755
index 000000000..765ba1ce9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joroinen_Puukkola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joroinen_Puukkola
new file mode 100755
index 000000000..5fce8db42
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutsa_Lankia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutsa_Lankia
new file mode 100755
index 000000000..cc44c8135
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutseno b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Joutseno
new file mode 100755
index 000000000..80337fc79
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juupajoki_Kopsamo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juupajoki_Kopsamo
new file mode 100755
index 000000000..a99af77e4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juva b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Juva
new file mode 100755
index 000000000..ab8a15e59
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla
new file mode 100755
index 000000000..02ced9e36
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla_Vaajakoski b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Jyvaskyla_Vaajakoski
new file mode 100755
index 000000000..92b5ac963
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaavi_Sivakkavaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaavi_Sivakkavaara
new file mode 100755
index 000000000..7595a3986
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kajaani_Pollyvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kajaani_Pollyvaara
new file mode 100755
index 000000000..3ea7b90f4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kalajoki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kalajoki
new file mode 100755
index 000000000..cab796dc0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangaslampi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangaslampi
new file mode 100755
index 000000000..d84b2a9ee
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangasniemi_Turkinmaki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kangasniemi_Turkinmaki
new file mode 100755
index 000000000..56476e6bf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kankaanpaa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kankaanpaa
new file mode 100755
index 000000000..a3df7ba59
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karigasniemi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karigasniemi
new file mode 100755
index 000000000..60548c723
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karkkila b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karkkila
new file mode 100755
index 000000000..d598f4719
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karstula b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karstula
new file mode 100755
index 000000000..dfd300167
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karvia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Karvia
new file mode 100755
index 000000000..51e89b7be
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaunispaa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kaunispaa
new file mode 100755
index 000000000..e9fea9c7f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kemijarvi_Suomutunturi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kemijarvi_Suomutunturi
new file mode 100755
index 000000000..dac5d9324
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kerimaki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kerimaki
new file mode 100755
index 000000000..68f45d104
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu
new file mode 100755
index 000000000..dd49b5b6a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu_Haapamaki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Keuruu_Haapamaki
new file mode 100755
index 000000000..cfb9b0e2a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kihnio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kihnio
new file mode 100755
index 000000000..7c5c99241
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kiihtelysvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kiihtelysvaara
new file mode 100755
index 000000000..52e60b8e3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kilpisjarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kilpisjarvi
new file mode 100755
index 000000000..9d3435c42
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kittila_Levitunturi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kittila_Levitunturi
new file mode 100755
index 000000000..ae4c1c903
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kolari_Vuolittaja b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kolari_Vuolittaja
new file mode 100755
index 000000000..f507750a1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Koli b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Koli
new file mode 100755
index 000000000..034bf2d44
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korpilahti_Vaarunvuori b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korpilahti_Vaarunvuori
new file mode 100755
index 000000000..7fa3ed659
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korppoo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Korppoo
new file mode 100755
index 000000000..6c8424146
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kruunupyy b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kruunupyy
new file mode 100755
index 000000000..65d86c4c7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Haukela b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Haukela
new file mode 100755
index 000000000..c3a3bd8bd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Lentiira b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Lentiira
new file mode 100755
index 000000000..112799934
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Niva b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmo_Niva
new file mode 100755
index 000000000..6f7aa2cbd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen
new file mode 100755
index 000000000..53d2de9e9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Harjunsalmi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Harjunsalmi
new file mode 100755
index 000000000..059df911d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Puukkoinen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuhmoinen_Puukkoinen
new file mode 100755
index 000000000..113e0f45f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuopio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuopio
new file mode 100755
index 000000000..eb39e5f08
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kurikka_Kesti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kurikka_Kesti
new file mode 100755
index 000000000..c34cfe622
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kustavi_Viherlahti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kustavi_Viherlahti
new file mode 100755
index 000000000..ecef74dd2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuusamo_Hamppulampi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kuusamo_Hamppulampi
new file mode 100755
index 000000000..6ce9243a0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kyyjarvi_Noposenaho b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Kyyjarvi_Noposenaho
new file mode 100755
index 000000000..d3deab819
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lahti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lahti
new file mode 100755
index 000000000..f4c89b81b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lapua b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lapua
new file mode 100755
index 000000000..9084440f9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa
new file mode 100755
index 000000000..3c484aeb6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa_Vihtavuori b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Laukaa_Vihtavuori
new file mode 100755
index 000000000..5bc93a78e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lavia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lavia
new file mode 100755
index 000000000..f2f13916f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lohja b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Lohja
new file mode 100755
index 000000000..d040f9b42
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Loimaa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Loimaa
new file mode 100755
index 000000000..0b6aad870
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luhanka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luhanka
new file mode 100755
index 000000000..f6407ce32
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luopioinen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Luopioinen
new file mode 100755
index 000000000..9ed4e3f27
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantta
new file mode 100755
index 000000000..e2014052e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantyharju b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mantyharju
new file mode 100755
index 000000000..3b7f127a3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mikkeli b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Mikkeli
new file mode 100755
index 000000000..f523878c6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Muonio_Olostunturi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Muonio_Olostunturi
new file mode 100755
index 000000000..bfdf0c738
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia
new file mode 100755
index 000000000..208d1c43e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Keski-Siikajarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Keski-Siikajarvi
new file mode 100755
index 000000000..bfbc561ad
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Pisa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nilsia_Pisa
new file mode 100755
index 000000000..8c8ee34ff
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia
new file mode 100755
index 000000000..2a2b38030
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia_Siuro b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nokia_Siuro
new file mode 100755
index 000000000..1ba3ccacb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nummi-Pusula_Hyonola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nummi-Pusula_Hyonola
new file mode 100755
index 000000000..08840cc3b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_Njallavaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_Njallavaara
new file mode 100755
index 000000000..e1c1c3e0f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_raja b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nuorgam_raja
new file mode 100755
index 000000000..2b2cb3cda
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Konnanvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Konnanvaara
new file mode 100755
index 000000000..7cd3d91d6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Kortevaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Nurmes_Kortevaara
new file mode 100755
index 000000000..3e118ad49
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Orivesi_Talviainen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Orivesi_Talviainen
new file mode 100755
index 000000000..149782ea7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Oulu b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Oulu
new file mode 100755
index 000000000..0e3906a22
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki
new file mode 100755
index 000000000..47246b4be
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki_Arrakoski b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Padasjoki_Arrakoski
new file mode 100755
index 000000000..c8c1b05b5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Paltamo_Kivesvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Paltamo_Kivesvaara
new file mode 100755
index 000000000..56f8ba05f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parainen_Houtskari b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parainen_Houtskari
new file mode 100755
index 000000000..e18781426
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parikkala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parikkala
new file mode 100755
index 000000000..f0f52f7ab
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parkano_Sopukallio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Parkano_Sopukallio
new file mode 100755
index 000000000..62e85079b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello
new file mode 100755
index 000000000..2cbd28eca
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello_Ratasvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pello_Ratasvaara
new file mode 100755
index 000000000..ff7f6607b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Perho b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Perho
new file mode 100755
index 000000000..0a7a2dc9b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pernaja b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pernaja
new file mode 100755
index 000000000..5459e885f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pieksamaki_Halkokumpu b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pieksamaki_Halkokumpu
new file mode 100755
index 000000000..f03f9a047
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pihtipudas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pihtipudas
new file mode 100755
index 000000000..42cdd2930
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Porvoo_Suomenkyla b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Porvoo_Suomenkyla
new file mode 100755
index 000000000..7b5e79dfb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Posio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Posio
new file mode 100755
index 000000000..02586479c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi
new file mode 100755
index 000000000..dc85d9ab3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Iso-Syote b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Iso-Syote
new file mode 100755
index 000000000..24cebddf3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Kangasvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pudasjarvi_Kangasvaara
new file mode 100755
index 000000000..cb911634d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Puolanka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Puolanka
new file mode 100755
index 000000000..3370a9a6a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhatunturi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhatunturi
new file mode 100755
index 000000000..c50057614
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhavuori b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pyhavuori
new file mode 100755
index 000000000..ad2326542
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pylkonmaki_Karankajarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Pylkonmaki_Karankajarvi
new file mode 100755
index 000000000..2d7ef1782
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Mestauskallio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Mestauskallio
new file mode 100755
index 000000000..e4cc7b198
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Piehinki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Raahe_Piehinki
new file mode 100755
index 000000000..1b3836d97
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Haasionmaa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Haasionmaa
new file mode 100755
index 000000000..837a10f39
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Leppiaho b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ranua_Leppiaho
new file mode 100755
index 000000000..94d3eef75
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautavaara_Angervikko b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautavaara_Angervikko
new file mode 100755
index 000000000..c89e4bf41
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautjarvi_Simpele b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rautjarvi_Simpele
new file mode 100755
index 000000000..2d4c254f1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ristijarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ristijarvi
new file mode 100755
index 000000000..79a58c399
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi
new file mode 100755
index 000000000..87a65b174
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Kaihuanvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Kaihuanvaara
new file mode 100755
index 000000000..3808ebc84
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Karhuvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Karhuvaara
new file mode 100755
index 000000000..069ecb4ba
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Marasenkallio b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Marasenkallio
new file mode 100755
index 000000000..6c8d5421a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Rantalaki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Rantalaki
new file mode 100755
index 000000000..fe3ea4c5f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sonka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sonka
new file mode 100755
index 000000000..932b409cd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sorviselka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Rovaniemi_Sorviselka
new file mode 100755
index 000000000..feb3bcf49
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruka
new file mode 100755
index 000000000..de41ddc74
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruovesi_Storminiemi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ruovesi_Storminiemi
new file mode 100755
index 000000000..ac465cbf4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi
new file mode 100755
index 000000000..18c923f8d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Kalmari b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Kalmari
new file mode 100755
index 000000000..77d5adeb9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Mahlu b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Saarijarvi_Mahlu
new file mode 100755
index 000000000..48324d0ee
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Hirvasvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Hirvasvaara
new file mode 100755
index 000000000..e1410a0e3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Ihistysjanka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Ihistysjanka
new file mode 100755
index 000000000..0d857b590
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Naruska b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Naruska
new file mode 100755
index 000000000..06bc1bab1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sallatunturi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sallatunturi
new file mode 100755
index 000000000..54a55540a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sarivaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salla_Sarivaara
new file mode 100755
index 000000000..eb9bbc0de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salo_Isokyla b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Salo_Isokyla
new file mode 100755
index 000000000..42df3b49a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Martti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Martti
new file mode 100755
index 000000000..aafbdcbdf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Tanhua b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Savukoski_Tanhua
new file mode 100755
index 000000000..91f5fa75d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Siilinjarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Siilinjarvi
new file mode 100755
index 000000000..7fc1f4737
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Simo_Viantie b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Simo_Viantie
new file mode 100755
index 000000000..580c7bddd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sipoo_Norrkulla b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sipoo_Norrkulla
new file mode 100755
index 000000000..abfb413de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Pittiovaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Pittiovaara
new file mode 100755
index 000000000..a123f6439
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Vuotso b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sodankyla_Vuotso
new file mode 100755
index 000000000..9c60b7714
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sulkava_Vaatalanmaki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sulkava_Vaatalanmaki
new file mode 100755
index 000000000..31bdd61f4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ala-Vuokki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ala-Vuokki
new file mode 100755
index 000000000..0878a88ee
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ammansaari b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Ammansaari
new file mode 100755
index 000000000..9afcefffa
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Juntusranta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Juntusranta
new file mode 100755
index 000000000..66c4e5b58
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Myllylahti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Suomussalmi_Myllylahti
new file mode 100755
index 000000000..9630977d3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sysma_Liikola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Sysma_Liikola
new file mode 100755
index 000000000..9db442460
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski
new file mode 100755
index 000000000..c307ae496
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski_Taivalvaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Taivalkoski_Taivalvaara
new file mode 100755
index 000000000..ff81bf022
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammela b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammela
new file mode 100755
index 000000000..f537bef28
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammisaari b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tammisaari
new file mode 100755
index 000000000..5248fd220
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere
new file mode 100755
index 000000000..27cf3a7ce
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere_Pyynikki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tampere_Pyynikki
new file mode 100755
index 000000000..03e8eccac
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tervola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Tervola
new file mode 100755
index 000000000..d2c2d949b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Turku b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Turku
new file mode 100755
index 000000000..e3907a625
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki
new file mode 100755
index 000000000..b884a17a1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Nuvvus b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Nuvvus
new file mode 100755
index 000000000..66d35a3a2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Outakoski b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Outakoski
new file mode 100755
index 000000000..53a75af89
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Polvarniemi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Polvarniemi
new file mode 100755
index 000000000..0ee4cebd5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Rovisuvanto b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Rovisuvanto
new file mode 100755
index 000000000..7459a8d61
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Tenola b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Utsjoki_Tenola
new file mode 100755
index 000000000..96504393d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Uusikaupunki_Orivo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Uusikaupunki_Orivo
new file mode 100755
index 000000000..abe1f7f1d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaala
new file mode 100755
index 000000000..86e877327
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaasa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vaasa
new file mode 100755
index 000000000..7826313c8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Valtimo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Valtimo
new file mode 100755
index 000000000..81e824558
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Jyranvuori b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Jyranvuori
new file mode 100755
index 000000000..26582a837
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Roismala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Roismala
new file mode 100755
index 000000000..53f37934c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Savi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vammala_Savi
new file mode 100755
index 000000000..189afb4ae
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vantaa_Hakunila b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vantaa_Hakunila
new file mode 100755
index 000000000..af493a1d0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Varpaisjarvi_Honkamaki b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Varpaisjarvi_Honkamaki
new file mode 100755
index 000000000..5bdf97424
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Virrat_Lappavuori b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Virrat_Lappavuori
new file mode 100755
index 000000000..61f12b0b4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vuokatti b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Vuokatti
new file mode 100755
index 000000000..5a78cf36f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Ainiovaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Ainiovaara
new file mode 100755
index 000000000..ebd72b907
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Raanujarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Ylitornio_Raanujarvi
new file mode 100755
index 000000000..885c18f53
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllas
new file mode 100755
index 000000000..0488cfb8d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllasjarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fi-Yllasjarvi
new file mode 100755
index 000000000..67900896a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fr-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/fr-All
new file mode 100755
index 000000000..c3eba11b2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/gr-Athens b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/gr-Athens
new file mode 100755
index 000000000..28e6c05a4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hk-HongKong b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hk-HongKong
new file mode 100755
index 000000000..1e2d136d4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hr-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hr-All
new file mode 100755
index 000000000..2919099be
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Bekescsaba b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Bekescsaba
new file mode 100755
index 000000000..dac2e7b0a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Budapest b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Budapest
new file mode 100755
index 000000000..b4c17b357
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Csavoly-Kiskoros b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Csavoly-Kiskoros
new file mode 100755
index 000000000..9b88371d5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Debrecen-Komadi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Debrecen-Komadi
new file mode 100755
index 000000000..7395939ce
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Fehergyarmat b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Fehergyarmat
new file mode 100755
index 000000000..dbfdda064
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gerecse-Dorog-Tatabanya b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gerecse-Dorog-Tatabanya
new file mode 100755
index 000000000..1a14795fc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gyor b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Gyor
new file mode 100755
index 000000000..5ecd59c58
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kabhegy-Kaposvar-Tamasi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kabhegy-Kaposvar-Tamasi
new file mode 100755
index 000000000..6c5cbfe27
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac b/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 000000000..2b2cab585
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karcag b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Karcag
new file mode 100755
index 000000000..ae6390a53
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kecskemet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kecskemet
new file mode 100755
index 000000000..cf9ffada7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd b/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 000000000..58afcd96b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Miskolc-Aggtelek-Fony b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Miskolc-Aggtelek-Fony
new file mode 100755
index 000000000..361ac5a11
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Mor-Siofok-Veszprem-Zirc b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Mor-Siofok-Veszprem-Zirc
new file mode 100755
index 000000000..cc2e32a90
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nagykanizsa-Barcs-Keszthely b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nagykanizsa-Barcs-Keszthely
new file mode 100755
index 000000000..ce0ee071f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely b/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 000000000..03f8e962b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Pecs-Siklos b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Pecs-Siklos
new file mode 100755
index 000000000..b5497c8b9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Sopron-Koszeg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Sopron-Koszeg
new file mode 100755
index 000000000..4a9b08016
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szeged b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szeged
new file mode 100755
index 000000000..5fa2aa1d8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szekesfehervar b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szekesfehervar
new file mode 100755
index 000000000..69b216248
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szentes-Battonya b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szentes-Battonya
new file mode 100755
index 000000000..c4f756a1b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szolnok b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szolnok
new file mode 100755
index 000000000..1f371e028
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg
new file mode 100755
index 000000000..5877b4c04
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar b/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 000000000..78075e40e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-CairnHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-CairnHill
new file mode 100755
index 000000000..d3a5dc5a7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ClermontCarn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ClermontCarn
new file mode 100755
index 000000000..81f17d24c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Dungarvan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Dungarvan
new file mode 100755
index 000000000..1c2ccd881
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-HolywellHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-HolywellHill
new file mode 100755
index 000000000..5bb2c585a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Kippure b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Kippure
new file mode 100755
index 000000000..8a7a3be0a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Maghera b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Maghera
new file mode 100755
index 000000000..e87acd9a6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-MountLeinster b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-MountLeinster
new file mode 100755
index 000000000..60430a23b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Mullaghanish b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Mullaghanish
new file mode 100755
index 000000000..9eb7cebbd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-SpurHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-SpurHill
new file mode 100755
index 000000000..96782febd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ThreeRock b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-ThreeRock
new file mode 100755
index 000000000..7df648eda
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Truskmore b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-Truskmore
new file mode 100755
index 000000000..838429c6f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-WoodcockHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ie-WoodcockHill
new file mode 100755
index 000000000..065e6fcee
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/il-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/il-All
new file mode 100755
index 000000000..14e2b5d14
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ir-Tehran b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ir-Tehran
new file mode 100755
index 000000000..9c28a7764
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/is-Reykjavik b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/is-Reykjavik
new file mode 100755
index 000000000..c898a6bfe
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/it-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/it-All
new file mode 100755
index 000000000..c41cac3e2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lt-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lt-All
new file mode 100755
index 000000000..4ae5fef7c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lu-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lu-All
new file mode 100755
index 000000000..4e8053fc0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lv-Riga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/lv-Riga
new file mode 100755
index 000000000..bfb2e3718
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nl-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nl-All
new file mode 100755
index 000000000..33fccd317
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/no-Trondelag_Stjordal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/no-Trondelag_Stjordal
new file mode 100755
index 000000000..f6d899782
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandInfill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandInfill
new file mode 100755
index 000000000..dc05f0c72
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandWaiatarua b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-AucklandWaiatarua
new file mode 100755
index 000000000..4fbeb87f9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Christchurch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Christchurch
new file mode 100755
index 000000000..242c186e9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Dunedin b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Dunedin
new file mode 100755
index 000000000..440449a6a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Hamilton b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Hamilton
new file mode 100755
index 000000000..eeb5b41f5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayMtErin b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayMtErin
new file mode 100755
index 000000000..6b6cee1f6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayNapier b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-HawkesBayNapier
new file mode 100755
index 000000000..0941b8366
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Manawatu b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Manawatu
new file mode 100755
index 000000000..9c013042d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Tauranga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Tauranga
new file mode 100755
index 000000000..3b30c5e24
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Waikato b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-Waikato
new file mode 100755
index 000000000..d88cea6a2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonInfill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonInfill
new file mode 100755
index 000000000..63d487128
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonKaukau b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonKaukau
new file mode 100755
index 000000000..9111f1a09
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonNgarara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/nz-WellingtonNgarara
new file mode 100755
index 000000000..27d920cf5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Czestochowa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Czestochowa
new file mode 100755
index 000000000..e24f5f65d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Gdansk b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Gdansk
new file mode 100755
index 000000000..6ff18cb7a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krakow b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krakow
new file mode 100755
index 000000000..12b164f4e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krosno_Sucha_Gora b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Krosno_Sucha_Gora
new file mode 100755
index 000000000..cb4e92d54
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Rzeszow b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Rzeszow
new file mode 100755
index 000000000..19918788c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Szczecin b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Szczecin
new file mode 100755
index 000000000..86db69f73
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Warszawa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Warszawa
new file mode 100755
index 000000000..e6c6b3ec1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Wroclaw b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pl-Wroclaw
new file mode 100755
index 000000000..cffbe7fb6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pt-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/pt-All
new file mode 100755
index 000000000..119e4db4d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ro-Bucharest b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ro-Bucharest
new file mode 100755
index 000000000..e2427cec5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Krasnodar b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Krasnodar
new file mode 100755
index 000000000..04a0fdb74
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Novosibirsk b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Novosibirsk
new file mode 100755
index 000000000..3be3c3385
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Volgodonsk b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ru-Volgodonsk
new file mode 100755
index 000000000..6832d726a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aareavaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aareavaara
new file mode 100755
index 000000000..13d716a30
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Adolfstrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Adolfstrom
new file mode 100755
index 000000000..b7aa4454b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Agnas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Agnas
new file mode 100755
index 000000000..bd7c1c974
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Akersjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Akersjon
new file mode 100755
index 000000000..26dc4ed47
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alafors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alafors
new file mode 100755
index 000000000..c126dce39
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Albacken b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Albacken
new file mode 100755
index 000000000..e91aa4f72
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Algsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Algsjo
new file mode 100755
index 000000000..6bcb7821e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alingsas_Mariedal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alingsas_Mariedal
new file mode 100755
index 000000000..249fe98f0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvangen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvangen
new file mode 100755
index 000000000..cd389a2b2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalen_Brunnsberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalen_Brunnsberg
new file mode 100755
index 000000000..4f1b825cb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalsasen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvdalsasen
new file mode 100755
index 000000000..1561589ad
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbacka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbacka
new file mode 100755
index 000000000..ceb9635d5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Alvsbyn
new file mode 100755
index 000000000..4c308d056
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Ribovardo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Ribovardo
new file mode 100755
index 000000000..9206a9a41
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Tjultrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ammarnas_Tjultrask
new file mode 100755
index 000000000..4bb1d356c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amot b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amot
new file mode 100755
index 000000000..36697b79c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amotfors_Kroppstad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Amotfors_Kroppstad
new file mode 100755
index 000000000..927264509
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-An b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-An
new file mode 100755
index 000000000..acabed724
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Andersvattnet_Ersmyrberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Andersvattnet_Ersmyrberget
new file mode 100755
index 000000000..aa82b3f9d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ange_Snoberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ange_Snoberg
new file mode 100755
index 000000000..7f0bac7c0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angebo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angebo
new file mode 100755
index 000000000..d3145eae4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angelholm_Vegeholm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angelholm_Vegeholm
new file mode 100755
index 000000000..3611129fd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angersjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Angersjo
new file mode 100755
index 000000000..190c7f57d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Are b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Are
new file mode 100755
index 000000000..be581bbcd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjang b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjang
new file mode 100755
index 000000000..3b540abbc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjeplog_Galtispouda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arjeplog_Galtispouda
new file mode 100755
index 000000000..dc0c8180f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arosjokk b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arosjokk
new file mode 100755
index 000000000..fa88de3f5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvidsjaur_Jultrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvidsjaur_Jultrask
new file mode 100755
index 000000000..76c48626d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvika_Orshultaberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Arvika_Orshultaberget
new file mode 100755
index 000000000..7d041b2d3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-As b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-As
new file mode 100755
index 000000000..ca6213ee5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asele_Aslia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asele_Aslia
new file mode 100755
index 000000000..cac0d8ede
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asmon_Sormoflo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Asmon_Sormoflo
new file mode 100755
index 000000000..c74420620
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aspeboda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Aspeboda
new file mode 100755
index 000000000..5ca5003ea
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Atvidaberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Atvidaberg
new file mode 100755
index 000000000..380b7e1a1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Avesta_Krylbo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Avesta_Krylbo
new file mode 100755
index 000000000..e9a146bf2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backe b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backe
new file mode 100755
index 000000000..e688bf72d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backefors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Backefors
new file mode 100755
index 000000000..b6b9ba822
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bankeryd b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bankeryd
new file mode 100755
index 000000000..ab1231257
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bengtsfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bengtsfors
new file mode 100755
index 000000000..41de7e214
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Berghamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Berghamn
new file mode 100755
index 000000000..59b198ac5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergshamra_Vaxtuna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergshamra_Vaxtuna
new file mode 100755
index 000000000..08e7e6e55
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergsjo_Balleberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergsjo_Balleberget
new file mode 100755
index 000000000..f4c8c33e6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergvik b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bergvik
new file mode 100755
index 000000000..d1ac6bfea
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Billsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Billsjo
new file mode 100755
index 000000000..ff3bbf707
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bispfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bispfors
new file mode 100755
index 000000000..d93aa7aa8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkliden_Tornehamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkliden_Tornehamn
new file mode 100755
index 000000000..3653d5608
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorksele b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorksele
new file mode 100755
index 000000000..fa24fd2d6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkvattnet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorkvattnet
new file mode 100755
index 000000000..b8ce3ade0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjorna
new file mode 100755
index 000000000..a0223299d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurberget_Hemtjarn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurberget_Hemtjarn
new file mode 100755
index 000000000..e6d57c570
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurtrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bjurtrask
new file mode 100755
index 000000000..c1d7a32df
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boberg
new file mode 100755
index 000000000..323b1c24b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boda_Fagerum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boda_Fagerum
new file mode 100755
index 000000000..2f705a7a6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boden_Skogsa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boden_Skogsa
new file mode 100755
index 000000000..c7dbabe24
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bograngen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bograngen
new file mode 100755
index 000000000..0ae4656a2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollebygd b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollebygd
new file mode 100755
index 000000000..80606617d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollnas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bollnas
new file mode 100755
index 000000000..63f56b563
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bonhamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bonhamn
new file mode 100755
index 000000000..07e6d8447
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Dalsjofors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Dalsjofors
new file mode 100755
index 000000000..8ae4b9dee
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Sjobo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Boras_Sjobo
new file mode 100755
index 000000000..f2e80f1b5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgafjall b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgafjall
new file mode 100755
index 000000000..68e72a39b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgholm_Ramsattra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgholm_Ramsattra
new file mode 100755
index 000000000..04df00243
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgsjobyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borgsjobyn
new file mode 100755
index 000000000..cd55d97ec
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borkan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borkan
new file mode 100755
index 000000000..efeba30e2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Idkerberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Idkerberget
new file mode 100755
index 000000000..b678ee95c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Nygardarna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Borlange_Nygardarna
new file mode 100755
index 000000000..393e729ca
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bortansbyn_Bortan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bortansbyn_Bortan
new file mode 100755
index 000000000..4c0f263cf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bosebyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bosebyn
new file mode 100755
index 000000000..edb7c4e98
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Botsmark b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Botsmark
new file mode 100755
index 000000000..ca257a175
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bottnaryd_Ryd b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bottnaryd_Ryd
new file mode 100755
index 000000000..a29e54f5c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredaker b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredaker
new file mode 100755
index 000000000..342744a47
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Kubbe b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Kubbe
new file mode 100755
index 000000000..1038e2061
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Vasterfannbyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredbyn_Vasterfannbyn
new file mode 100755
index 000000000..2abb1ad37
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredsjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bredsjon
new file mode 100755
index 000000000..c6b4e7e84
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bromsebro b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bromsebro
new file mode 100755
index 000000000..48e817517
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bruzaholm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bruzaholm
new file mode 100755
index 000000000..45caddd0a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bydalen_Hovdehogen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bydalen_Hovdehogen
new file mode 100755
index 000000000..dcec415f2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdetrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdetrask
new file mode 100755
index 000000000..17661620d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdsiljum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Bygdsiljum
new file mode 100755
index 000000000..2a7eb0345
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Byxelkrok b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Byxelkrok
new file mode 100755
index 000000000..abff541fd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dadran b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dadran
new file mode 100755
index 000000000..c8eb9a068
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dal
new file mode 100755
index 000000000..f33ab2e83
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalfors
new file mode 100755
index 000000000..57ae1d3c1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dals_Langed b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dals_Langed
new file mode 100755
index 000000000..473733df0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalstuga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dalstuga
new file mode 100755
index 000000000..328496ac2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degeberga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degeberga
new file mode 100755
index 000000000..a3518f741
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degerfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Degerfors
new file mode 100755
index 000000000..b2f657260
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary
new file mode 100755
index 000000000..e62500ac8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary_Kolaboda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Delary_Kolaboda
new file mode 100755
index 000000000..362df263d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Djura b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Djura
new file mode 100755
index 000000000..020a4d4de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dorotea b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Dorotea
new file mode 100755
index 000000000..7b5aaca4f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Drevdagen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Drevdagen
new file mode 100755
index 000000000..e2c9da335
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duved b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duved
new file mode 100755
index 000000000..dfb39dada
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas
new file mode 100755
index 000000000..33aaf9745
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas_Basna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Duvnas_Basna
new file mode 100755
index 000000000..de5ec5522
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edane b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edane
new file mode 100755
index 000000000..c168681a0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsbyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsbyn
new file mode 100755
index 000000000..f92440f12
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsele b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsele
new file mode 100755
index 000000000..c7df3b8f4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsleskog_Hogheden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Edsleskog_Hogheden
new file mode 100755
index 000000000..3df7f0dde
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Eksharad_Ekesberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Eksharad_Ekesberget
new file mode 100755
index 000000000..6daa2d5ef
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ellos b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ellos
new file mode 100755
index 000000000..ba838496d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Emmaboda_Balshult b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Emmaboda_Balshult
new file mode 100755
index 000000000..61d117bdd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enafors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enafors
new file mode 100755
index 000000000..5e2089a93
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enviken b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Enviken
new file mode 100755
index 000000000..993671854
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Erikslund_Bergasen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Erikslund_Bergasen
new file mode 100755
index 000000000..6b1622c28
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta
new file mode 100755
index 000000000..3201b34b4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta_Jattasen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fagersta_Jattasen
new file mode 100755
index 000000000..de93d291e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falerum_Centrum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falerum_Centrum
new file mode 100755
index 000000000..716f262b2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falkenberg_Ringsegard b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falkenberg_Ringsegard
new file mode 100755
index 000000000..709dbade6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faltrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faltrask
new file mode 100755
index 000000000..93bcda1ae
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falun_Lovberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Falun_Lovberget
new file mode 100755
index 000000000..792bcb77a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farila b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farila
new file mode 100755
index 000000000..ead51637a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farjestaden_Algutsrum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farjestaden_Algutsrum
new file mode 100755
index 000000000..e45a1da04
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkerstrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkerstrask
new file mode 100755
index 000000000..f3f2652f4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkestrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Faro_Ajkestrask
new file mode 100755
index 000000000..5e36835c0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farosund_Bunge b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Farosund_Bunge
new file mode 100755
index 000000000..bb0dcb120
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fengersfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fengersfors
new file mode 100755
index 000000000..94eeca2e4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Filipstad_Klockarhojden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Filipstad_Klockarhojden
new file mode 100755
index 000000000..c3674bb1a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Finnveden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Finnveden
new file mode 100755
index 000000000..1fa0dbfcf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjal
new file mode 100755
index 000000000..600d99162
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjallsta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fjallsta
new file mode 100755
index 000000000..afc99cc32
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flarke b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flarke
new file mode 100755
index 000000000..2e0d9eaa4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Floda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Floda
new file mode 100755
index 000000000..af4e62968
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flurkmark b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flurkmark
new file mode 100755
index 000000000..cedba80fb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyggsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyggsjo
new file mode 100755
index 000000000..bcec030bf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Flyn
new file mode 100755
index 000000000..59b8aee82
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Folsbyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Folsbyn
new file mode 100755
index 000000000..9b70007df
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsed b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsed
new file mode 100755
index 000000000..498132524
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo
new file mode 100755
index 000000000..560bafa4f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo_Yttersel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsmo_Yttersel
new file mode 100755
index 000000000..86681c62c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsnaset b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Forsnaset
new file mode 100755
index 000000000..8127217b6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Frankrikegarden_Frankrike b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Frankrikegarden_Frankrike
new file mode 100755
index 000000000..8a829885e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fransta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fransta
new file mode 100755
index 000000000..ac86ede5d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredrika b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredrika
new file mode 100755
index 000000000..76230d19b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredriksberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredriksberg
new file mode 100755
index 000000000..038defe37
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredros b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fredros
new file mode 100755
index 000000000..2013d861e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fritsla b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fritsla
new file mode 100755
index 000000000..124e7631f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fullsjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Fullsjon
new file mode 100755
index 000000000..f57739d47
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Funasdalsberge b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Funasdalsberge
new file mode 100755
index 000000000..b24ce5cfb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Telestation b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Funasdalen_Telestation
new file mode 100755
index 000000000..0cff0620c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Furudal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Furudal
new file mode 100755
index 000000000..92d0817c0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gaddede b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gaddede
new file mode 100755
index 000000000..31183b556
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallivare b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallivare
new file mode 100755
index 000000000..1f98a967b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallsatter b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gallsatter
new file mode 100755
index 000000000..fce542444
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gardikfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gardikfors
new file mode 100755
index 000000000..5c97a95a8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gargnas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gargnas
new file mode 100755
index 000000000..5ef79a1ff
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Garpenberg_Kuppgarden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Garpenberg_Kuppgarden
new file mode 100755
index 000000000..9dc790e7a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gavle_Skogmur b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gavle_Skogmur
new file mode 100755
index 000000000..ae8ac75a3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gillhov b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gillhov
new file mode 100755
index 000000000..15415f194
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Glimakra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Glimakra
new file mode 100755
index 000000000..5f027cc12
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnarp b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnarp
new file mode 100755
index 000000000..04b461f41
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnesta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnesta
new file mode 100755
index 000000000..5baf70e38
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnosjo_Marieholm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gnosjo_Marieholm
new file mode 100755
index 000000000..654c5ac4e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gordalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gordalen
new file mode 100755
index 000000000..e47263f7a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Brudaremossen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Brudaremossen
new file mode 100755
index 000000000..51d7b6545
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Slattadamm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Goteborg_Slattadamm
new file mode 100755
index 000000000..4f499e94c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Graninge b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Graninge
new file mode 100755
index 000000000..191e14da2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmark b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmark
new file mode 100755
index 000000000..3c0cd6fa5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmyr b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grasmyr
new file mode 100755
index 000000000..1767f5266
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grebbestad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grebbestad
new file mode 100755
index 000000000..41b6ba82d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grevie b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grevie
new file mode 100755
index 000000000..4c2a98a41
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grovelsjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grovelsjon
new file mode 100755
index 000000000..04f7916ec
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grums b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Grums
new file mode 100755
index 000000000..d7e99764d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg
new file mode 100755
index 000000000..050f86431
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg_Rodvattnet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Guliksberg_Rodvattnet
new file mode 100755
index 000000000..c55b80ad2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gullbrandstorp b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gullbrandstorp
new file mode 100755
index 000000000..f91713406
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gumhojden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gumhojden
new file mode 100755
index 000000000..732282013
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarn_Sorsjoliden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarn_Sorsjoliden
new file mode 100755
index 000000000..5aee02fb2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbo
new file mode 100755
index 000000000..e951cde44
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarsbyn
new file mode 100755
index 000000000..1625739a9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarskog b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gunnarskog
new file mode 100755
index 000000000..9600c928f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gusum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Gusum
new file mode 100755
index 000000000..faeeec636
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hadanberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hadanberg
new file mode 100755
index 000000000..8a3488767
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hagfors_Varmullsasen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hagfors_Varmullsasen
new file mode 100755
index 000000000..7b8f932f3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hakafot b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hakafot
new file mode 100755
index 000000000..1f1b39294
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halaforsen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halaforsen
new file mode 100755
index 000000000..f9ab849cb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Haljeboda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Haljeboda
new file mode 100755
index 000000000..d56bb1dc3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallan
new file mode 100755
index 000000000..316266cdb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallaryd b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallaryd
new file mode 100755
index 000000000..d38822778
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallastrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallastrom
new file mode 100755
index 000000000..3e07de10b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallbo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallbo
new file mode 100755
index 000000000..68e60f481
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halle b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halle
new file mode 100755
index 000000000..82192fdaf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halleviksstrand b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halleviksstrand
new file mode 100755
index 000000000..ce1252831
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hallsjo
new file mode 100755
index 000000000..8ac664608
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Hamnen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Hamnen
new file mode 100755
index 000000000..344e71259
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Oskarstrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Halmstad_Oskarstrom
new file mode 100755
index 000000000..bd8b06bcf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hamburgsund b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hamburgsund
new file mode 100755
index 000000000..09aca5f0a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harads b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harads
new file mode 100755
index 000000000..8acae9ab7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harnosand_Harnon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harnosand_Harnon
new file mode 100755
index 000000000..6511fea21
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harrsjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Harrsjon
new file mode 100755
index 000000000..597d9fb56
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hassela b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hassela
new file mode 100755
index 000000000..d9ee98ae8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Havdhem b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Havdhem
new file mode 100755
index 000000000..ba8f198fc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hede b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hede
new file mode 100755
index 000000000..e024aa6f5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedemora b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedemora
new file mode 100755
index 000000000..b4c4e55ff
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedenaset b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hedenaset
new file mode 100755
index 000000000..c33e6ad05
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helgum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helgum
new file mode 100755
index 000000000..57f82a9b1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helsingborg_Olympia b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Helsingborg_Olympia
new file mode 100755
index 000000000..224840a9f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemavan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemavan
new file mode 100755
index 000000000..1af34be23
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemson b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hemson
new file mode 100755
index 000000000..6a6e00162
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Henan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Henan
new file mode 100755
index 000000000..2fab24cc8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hennan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hennan
new file mode 100755
index 000000000..37e78c7be
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hestra_Aspas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hestra_Aspas
new file mode 100755
index 000000000..f3a554aad
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hjo_Grevback b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hjo_Grevback
new file mode 100755
index 000000000..5063c1feb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hofors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hofors
new file mode 100755
index 000000000..a476eb8ae
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogfors
new file mode 100755
index 000000000..197423f5c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoglunda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoglunda
new file mode 100755
index 000000000..86656f58d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogsby_Virstad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogsby_Virstad
new file mode 100755
index 000000000..27e376851
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogvalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hogvalen
new file mode 100755
index 000000000..f90e01ea4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holjes b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holjes
new file mode 100755
index 000000000..feefa840f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hollviken_Stora_Hammar b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hollviken_Stora_Hammar
new file mode 100755
index 000000000..41de99d2c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holsbybrunn_Holsbyholm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Holsbybrunn_Holsbyholm
new file mode 100755
index 000000000..d1800510d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horby_Sallerup b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horby_Sallerup
new file mode 100755
index 000000000..7363cbbd3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horken b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Horken
new file mode 100755
index 000000000..d58ee6d87
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hornon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hornon
new file mode 100755
index 000000000..4892c1dd3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hotagen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hotagen
new file mode 100755
index 000000000..631a624dc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoting b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hoting
new file mode 100755
index 000000000..60387c637
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hovfjallet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hovfjallet
new file mode 100755
index 000000000..3d3794755
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Forsa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Forsa
new file mode 100755
index 000000000..aecf6d50f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Galgberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hudiksvall_Galgberget
new file mode 100755
index 000000000..836f3c56f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hummelholm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hummelholm
new file mode 100755
index 000000000..88638ad1d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hunnebostrand b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Hunnebostrand
new file mode 100755
index 000000000..54918df69
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Huskvarna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Huskvarna
new file mode 100755
index 000000000..eb500ab9f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Husum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Husum
new file mode 100755
index 000000000..d6678a479
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idivuoma b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idivuoma
new file mode 100755
index 000000000..d8a3b4246
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idre b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Idre
new file mode 100755
index 000000000..341ff8dcc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingatorp b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingatorp
new file mode 100755
index 000000000..2b1188845
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingvallsbenning b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ingvallsbenning
new file mode 100755
index 000000000..391cb145a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik
new file mode 100755
index 000000000..9fa49d93d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik_3195 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Irevik_3195
new file mode 100755
index 000000000..694b756fb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ivarsbyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ivarsbyn
new file mode 100755
index 000000000..9f5c5558c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jakkvik_Frakenmyren b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jakkvik_Frakenmyren
new file mode 100755
index 000000000..ca2cea1ff
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jamjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jamjo
new file mode 100755
index 000000000..dd1446f01
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarkvissle b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarkvissle
new file mode 100755
index 000000000..7cfbaeba4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarnforsen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarnforsen
new file mode 100755
index 000000000..d163be151
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarpen_Mellangardsberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarpen_Mellangardsberget
new file mode 100755
index 000000000..d4b47c571
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvso b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvso
new file mode 100755
index 000000000..d5dcf62fc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvtrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jarvtrask
new file mode 100755
index 000000000..4e46510b2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Joestrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Joestrom
new file mode 100755
index 000000000..9e1bc4a0c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Nyborg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Nyborg
new file mode 100755
index 000000000..4f12cf2e9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Tjalmejaure b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jokkmokk_Tjalmejaure
new file mode 100755
index 000000000..364ba6dac
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jonkoping_Bondberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jonkoping_Bondberget
new file mode 100755
index 000000000..f8ca1d45a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jormvattnet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jormvattnet
new file mode 100755
index 000000000..0a9b45834
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jude b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Jude
new file mode 100755
index 000000000..f0a4dfef6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Hamptjarnsberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Hamptjarnsberget
new file mode 100755
index 000000000..a031b7192
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Vallen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Junsele_Vallen
new file mode 100755
index 000000000..af1fe14a1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kagerod_Mollarp b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kagerod_Mollarp
new file mode 100755
index 000000000..665b19562
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalarne b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalarne
new file mode 100755
index 000000000..3ed4c7090
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalen
new file mode 100755
index 000000000..c26d77624
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalix b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kalix
new file mode 100755
index 000000000..fe4e1d2f7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallered b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallered
new file mode 100755
index 000000000..9bad03658
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallinge_Kalleberga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallinge_Kalleberga
new file mode 100755
index 000000000..4079c6b05
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallror b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kallror
new file mode 100755
index 000000000..9c05f41ce
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kampersvik_Ekeberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kampersvik_Ekeberget
new file mode 100755
index 000000000..37394cab8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karbole b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karbole
new file mode 100755
index 000000000..f7340cc5a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karesuando b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karesuando
new file mode 100755
index 000000000..ac8e93468
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlanda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlanda
new file mode 100755
index 000000000..3c455a1ca
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlsborg_Vaberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlsborg_Vaberget
new file mode 100755
index 000000000..dc1a6af8d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlshamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlshamn
new file mode 100755
index 000000000..948e5d0e3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Jamjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Jamjo
new file mode 100755
index 000000000..d7c2bf940
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Vamo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlskrona_Vamo
new file mode 100755
index 000000000..56195f499
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlstad_Sormon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Karlstad_Sormon
new file mode 100755
index 000000000..0173e42fe
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kasta_Ringkallen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kasta_Ringkallen
new file mode 100755
index 000000000..6288d414a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxas
new file mode 100755
index 000000000..e4e67c806
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxholmen_Vistakulle b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kaxholmen_Vistakulle
new file mode 100755
index 000000000..e3f04e321
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kinnastrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kinnastrom
new file mode 100755
index 000000000..a612d363b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kiruna_Kirunavaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kiruna_Kirunavaara
new file mode 100755
index 000000000..91ee46319
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kisa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kisa
new file mode 100755
index 000000000..590111de4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klingsta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klingsta
new file mode 100755
index 000000000..41b96693e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klovsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Klovsjo
new file mode 100755
index 000000000..2cbf2e487
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knared b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knared
new file mode 100755
index 000000000..04db854aa
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knavland b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Knavland
new file mode 100755
index 000000000..9a092243c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopmanholmen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopmanholmen
new file mode 100755
index 000000000..bbe55a60f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopparberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kopparberg
new file mode 100755
index 000000000..b684445d9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Koppom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Koppom
new file mode 100755
index 000000000..e6001531e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Korstrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Korstrask
new file mode 100755
index 000000000..b854cc257
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kottsjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kottsjon
new file mode 100755
index 000000000..a3b0cde3f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kovland b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kovland
new file mode 100755
index 000000000..9f5d97cb1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Lugnvik b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Lugnvik
new file mode 100755
index 000000000..67bab9a7d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Ostby b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kramfors_Ostby
new file mode 100755
index 000000000..9cd0d78bc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krangede b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krangede
new file mode 100755
index 000000000..ac6ff0b94
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristineberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristineberg
new file mode 100755
index 000000000..f8c00a426
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristinehamn_Utsiktsberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kristinehamn_Utsiktsberget
new file mode 100755
index 000000000..a4d53921b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krokstrand b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Krokstrand
new file mode 100755
index 000000000..b999d3417
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kultsjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kultsjon
new file mode 100755
index 000000000..a79ca581e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungalv b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungalv
new file mode 100755
index 000000000..ea51882fa
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsater b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsater
new file mode 100755
index 000000000..26026b625
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsbacka_Ojersbo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsbacka_Ojersbo
new file mode 100755
index 000000000..17fbda15c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_GI b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_GI
new file mode 100755
index 000000000..8d34e2023
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_Gl b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungsberget_Gl
new file mode 100755
index 000000000..f3e5c2f5b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungshamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kungshamn
new file mode 100755
index 000000000..adb59893f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kurravaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kurravaara
new file mode 100755
index 000000000..06abf2ba7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvarnsvedjan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvarnsvedjan
new file mode 100755
index 000000000..c2d9f6e84
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Arrevare b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Arrevare
new file mode 100755
index 000000000..b4606acc1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Tavvevare b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kvikkjokk_Tavvevare
new file mode 100755
index 000000000..d15e9a54d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kyrkesund b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Kyrkesund
new file mode 100755
index 000000000..935a3009e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lagfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lagfors
new file mode 100755
index 000000000..c4f530c34
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laggarberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laggarberg
new file mode 100755
index 000000000..0c96875d8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laisvall b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laisvall
new file mode 100755
index 000000000..36d1b0aba
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langa
new file mode 100755
index 000000000..f08353244
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langsele b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langsele
new file mode 100755
index 000000000..15bddfc17
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan
new file mode 100755
index 000000000..158f8b10d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan_Engelsfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Langshyttan_Engelsfors
new file mode 100755
index 000000000..420d18b50
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxsjo
new file mode 100755
index 000000000..655b28acc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxviken b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Laxviken
new file mode 100755
index 000000000..4bd6bd982
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Asledsberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Asledsberget
new file mode 100755
index 000000000..f7a0d8a31
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Karingberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Leksand_Karingberget
new file mode 100755
index 000000000..431233b07
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lekvattnet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lekvattnet
new file mode 100755
index 000000000..e0529247e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lerdala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lerdala
new file mode 100755
index 000000000..3e9750f31
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lesjofors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lesjofors
new file mode 100755
index 000000000..47ec1048d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden
new file mode 100755
index 000000000..7e0e84492
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden_Osterstrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Liden_Osterstrom
new file mode 100755
index 000000000..37120a1b0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilla_Edet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilla_Edet
new file mode 100755
index 000000000..edaf9067e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillogda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillogda
new file mode 100755
index 000000000..8ceaea179
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillpite_Bastaberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lillpite_Bastaberget
new file mode 100755
index 000000000..a296c0c79
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilltjara_Digerberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lilltjara_Digerberget
new file mode 100755
index 000000000..cd9197b37
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Limedsforsen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Limedsforsen
new file mode 100755
index 000000000..64c4d25ec
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lindshammar_Ramkvilla b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lindshammar_Ramkvilla
new file mode 100755
index 000000000..e736d0ddf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linkoping_Vattentornet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linkoping_Vattentornet
new file mode 100755
index 000000000..ecc44e849
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linsell b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Linsell
new file mode 100755
index 000000000..679209bd1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lit b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lit
new file mode 100755
index 000000000..abe24ecf3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn
new file mode 100755
index 000000000..c256ce2a4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn_3193 b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljugarn_3193
new file mode 100755
index 000000000..d248ceca8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungaverk b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungaverk
new file mode 100755
index 000000000..9b8144d98
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungdalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljungdalen
new file mode 100755
index 000000000..993efd06b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljustorp b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljustorp
new file mode 100755
index 000000000..1444dc9cd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljusvattnet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ljusvattnet
new file mode 100755
index 000000000..25026caf8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loderups_Strandbad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loderups_Strandbad
new file mode 100755
index 000000000..a9b40730f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loffstrand b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Loffstrand
new file mode 100755
index 000000000..440ac0abc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lofsdalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lofsdalen
new file mode 100755
index 000000000..dcae23041
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Logdealv b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Logdealv
new file mode 100755
index 000000000..b1a7ac998
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lonneberga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lonneberga
new file mode 100755
index 000000000..29a8e8fb9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lorstrand b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lorstrand
new file mode 100755
index 000000000..dbbde4aee
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lovanger b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lovanger
new file mode 100755
index 000000000..0e05df5fe
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ludvika_Bjorkasen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ludvika_Bjorkasen
new file mode 100755
index 000000000..8512a0d58
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lumsheden_Trekanten b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lumsheden_Trekanten
new file mode 100755
index 000000000..5b9e0b6b5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lycksele_Knaften b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Lycksele_Knaften
new file mode 100755
index 000000000..b5ec6dd05
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mahult b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mahult
new file mode 100755
index 000000000..d27311d61
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mala
new file mode 100755
index 000000000..96fce5a1b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malmo_Jagersro b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malmo_Jagersro
new file mode 100755
index 000000000..c8725c9f4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malung b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Malung
new file mode 100755
index 000000000..4ea636168
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Manserud b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Manserud
new file mode 100755
index 000000000..a9ee5b024
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mardsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mardsjo
new file mode 100755
index 000000000..ddf67ba57
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mariannelund b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mariannelund
new file mode 100755
index 000000000..21b510003
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Markaryd_Hualtet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Markaryd_Hualtet
new file mode 100755
index 000000000..453807e8a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matfors
new file mode 100755
index 000000000..4f0b82bc4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matsdal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Matsdal
new file mode 100755
index 000000000..a06ec36f4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Medstugan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Medstugan
new file mode 100755
index 000000000..2ca719449
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mittadalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mittadalen
new file mode 100755
index 000000000..ddbc60adb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjallom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjallom
new file mode 100755
index 000000000..8f0ea291e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjosjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mjosjo
new file mode 100755
index 000000000..ea339fd52
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moliden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moliden
new file mode 100755
index 000000000..6067827e2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molnbo_Tallstugan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molnbo_Tallstugan
new file mode 100755
index 000000000..5aa617699
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molndal_Vasterberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Molndal_Vasterberget
new file mode 100755
index 000000000..8bc31222e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mora_Eldris b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mora_Eldris
new file mode 100755
index 000000000..322331bc3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Morkret b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Morkret
new file mode 100755
index 000000000..cac828667
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moskosel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Moskosel
new file mode 100755
index 000000000..7c20752c8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Motala_Ervasteby b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Motala_Ervasteby
new file mode 100755
index 000000000..eb46976b4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mullsjo_Torestorp b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Mullsjo_Torestorp
new file mode 100755
index 000000000..af676e5c2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkedal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkedal
new file mode 100755
index 000000000..bc022c38e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Munkfors
new file mode 100755
index 000000000..5dcc6563f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Muodoslompolo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Muodoslompolo
new file mode 100755
index 000000000..b10d741d5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nalden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nalden
new file mode 100755
index 000000000..42e4ebebc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasaker b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasaker
new file mode 100755
index 000000000..5df6e2cd3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasanget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasanget
new file mode 100755
index 000000000..381ac65d4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nassjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nassjo
new file mode 100755
index 000000000..7b1628479
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasteln b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nasteln
new file mode 100755
index 000000000..e47ade612
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Navekvarn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Navekvarn
new file mode 100755
index 000000000..cccc63eea
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Naverede_Oberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Naverede_Oberget
new file mode 100755
index 000000000..b6e6fb69c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Niemisel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Niemisel
new file mode 100755
index 000000000..eee6be7d6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordanede b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordanede
new file mode 100755
index 000000000..3a2ad2994
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordmaling b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nordmaling
new file mode 100755
index 000000000..9d02cd5de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norra_Rorum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norra_Rorum
new file mode 100755
index 000000000..a08dfd8f7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrahammar b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrahammar
new file mode 100755
index 000000000..d27605944
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norraker b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norraker
new file mode 100755
index 000000000..cfea43f31
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrfors
new file mode 100755
index 000000000..d9a0cbe94
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrhassel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrhassel
new file mode 100755
index 000000000..69b698e62
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrkoping_Krokek b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrkoping_Krokek
new file mode 100755
index 000000000..f6e6e4897
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra
new file mode 100755
index 000000000..33b6c8fb2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra_Bergen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norrtalje_Sodra_Bergen
new file mode 100755
index 000000000..7c8296849
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norsjovallen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Norsjovallen
new file mode 100755
index 000000000..4f3e7689a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyhem b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyhem
new file mode 100755
index 000000000..a7406f44e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nykoping b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nykoping
new file mode 100755
index 000000000..6735148f6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyliden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nyliden
new file mode 100755
index 000000000..c03bc4c9c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nynashamn_Vattentornet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Nynashamn_Vattentornet
new file mode 100755
index 000000000..ec118d830
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Odsmal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Odsmal
new file mode 100755
index 000000000..fff9356d4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olden_Telestation b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olden_Telestation
new file mode 100755
index 000000000..4a65faea7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olkamangi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olkamangi
new file mode 100755
index 000000000..c76b78432
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olofstrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Olofstrom
new file mode 100755
index 000000000..e883dc3f2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orebro_Lockhyttan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orebro_Lockhyttan
new file mode 100755
index 000000000..036d74b96
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orkelljunga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Orkelljunga
new file mode 100755
index 000000000..2306c7e6f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ornskoldsvik_As b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ornskoldsvik_As
new file mode 100755
index 000000000..b35452cbd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oskarshamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oskarshamn
new file mode 100755
index 000000000..8ee04ca70
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osmo_Bjorsta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osmo_Bjorsta
new file mode 100755
index 000000000..c5973bffd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osterforse b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osterforse
new file mode 100755
index 000000000..ce72b930f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostergraninge b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostergraninge
new file mode 100755
index 000000000..1c0a58989
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostersund_Brattasen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostersund_Brattasen
new file mode 100755
index 000000000..ddb74a5ce
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osthammar_Valo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Osthammar_Valo
new file mode 100755
index 000000000..301063d22
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostmark b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ostmark
new file mode 100755
index 000000000..40cb1a789
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overammer b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overammer
new file mode 100755
index 000000000..db3e13bde
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overhogdal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overhogdal
new file mode 100755
index 000000000..4990749e1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overkalix b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overkalix
new file mode 100755
index 000000000..56612b802
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overklinten b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overklinten
new file mode 100755
index 000000000..5c427eea4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overrissjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overrissjo
new file mode 100755
index 000000000..030f14f59
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overtornea_Sarkivaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overtornea_Sarkivaara
new file mode 100755
index 000000000..1d9bee026
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overturingen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Overturingen
new file mode 100755
index 000000000..1dbac1336
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oxberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Oxberg
new file mode 100755
index 000000000..3a28be5f2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pajala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pajala
new file mode 100755
index 000000000..a0e7b6408
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistom
new file mode 100755
index 000000000..3dd9b5062
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Paulistrom
new file mode 100755
index 000000000..60f825394
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pilgrimstad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Pilgrimstad
new file mode 100755
index 000000000..cbed2912f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Porjus b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Porjus
new file mode 100755
index 000000000..720623d5a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Puoltsa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Puoltsa
new file mode 100755
index 000000000..4d3140b48
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ragunda b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ragunda
new file mode 100755
index 000000000..7bd1705d8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsele_Skavasen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsele_Skavasen
new file mode 100755
index 000000000..fbd6e4a47
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramsjo
new file mode 100755
index 000000000..8bb3ffe83
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramundberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ramundberget
new file mode 100755
index 000000000..0f8c16958
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randalen
new file mode 100755
index 000000000..c0f423081
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randijaure b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Randijaure
new file mode 100755
index 000000000..ccfa86b7e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ransater b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ransater
new file mode 100755
index 000000000..861569579
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rattvik b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rattvik
new file mode 100755
index 000000000..725bc8b7d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rengsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rengsjo
new file mode 100755
index 000000000..076c45deb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Renstrom b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Renstrom
new file mode 100755
index 000000000..f710ec3db
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Resele b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Resele
new file mode 100755
index 000000000..b706c8765
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Risback b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Risback
new file mode 100755
index 000000000..f27173e2f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rissna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rissna
new file mode 100755
index 000000000..29efffe26
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ritsem b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ritsem
new file mode 100755
index 000000000..4c98209de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Robertsfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Robertsfors
new file mode 100755
index 000000000..01f0ceef9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rojdafors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rojdafors
new file mode 100755
index 000000000..0119dbb72
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ronnang b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ronnang
new file mode 100755
index 000000000..5e8607f56
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rorbacksnas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rorbacksnas
new file mode 100755
index 000000000..24e081ed3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rosson b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rosson
new file mode 100755
index 000000000..6807bd35c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rusksele b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Rusksele
new file mode 100755
index 000000000..75d36e4e1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sadvaluspen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sadvaluspen
new file mode 100755
index 000000000..6510a36b5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sagmyra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sagmyra
new file mode 100755
index 000000000..a9d67e8a6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saivomuotka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saivomuotka
new file mode 100755
index 000000000..57b43a6d8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salen
new file mode 100755
index 000000000..58bd5a69b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salfjallet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Salfjallet
new file mode 100755
index 000000000..aa161acb6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sarna_Mickeltemplet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sarna_Mickeltemplet
new file mode 100755
index 000000000..1ae4e26bb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Satila b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Satila
new file mode 100755
index 000000000..90eff0217
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savar_Sorbyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savar_Sorbyn
new file mode 100755
index 000000000..4c924bdc0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savast b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Savast
new file mode 100755
index 000000000..ea9900782
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saxdalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Saxdalen
new file mode 100755
index 000000000..cf3f4ad0d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seitevaare b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seitevaare
new file mode 100755
index 000000000..a02c831a5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Selanger b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Selanger
new file mode 100755
index 000000000..8ea3e2a03
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seltjarn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Seltjarn
new file mode 100755
index 000000000..3914c8d4e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sidensjo_Aberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sidensjo_Aberget
new file mode 100755
index 000000000..1ae9b5ba5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Siljansnas_Uvberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Siljansnas_Uvberget
new file mode 100755
index 000000000..7f35c519c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Simrishamn_Fabriksgatan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Simrishamn_Fabriksgatan
new file mode 100755
index 000000000..e5583def7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalan
new file mode 100755
index 000000000..71362e51c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalmsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skalmsjo
new file mode 100755
index 000000000..7f4bd42a9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarstad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarstad
new file mode 100755
index 000000000..58a749999
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarvangen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skarvangen
new file mode 100755
index 000000000..ebe9594fd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skattungbyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skattungbyn
new file mode 100755
index 000000000..3842b303c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skaulo_Pyhakielinen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skaulo_Pyhakielinen
new file mode 100755
index 000000000..fbfef7b22
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skelleftea b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skelleftea
new file mode 100755
index 000000000..6ab14003e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skene_Nycklarberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skene_Nycklarberget
new file mode 100755
index 000000000..49347d3a8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skillingsfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skillingsfors
new file mode 100755
index 000000000..c635db549
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skorped b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skorped
new file mode 100755
index 000000000..694e3e3e3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skottsund b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skottsund
new file mode 100755
index 000000000..862c04428
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skovde b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skovde
new file mode 100755
index 000000000..4a5f8b2c1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skroven b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skroven
new file mode 100755
index 000000000..98e24f07c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skymnas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Skymnas
new file mode 100755
index 000000000..1658d63e6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Slussfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Slussfors
new file mode 100755
index 000000000..4a6a9b4de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Smedjebacken_Uvberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Smedjebacken_Uvberget
new file mode 100755
index 000000000..01658dfec
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderhamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderhamn
new file mode 100755
index 000000000..6a85f0ba7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderkoping b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soderkoping
new file mode 100755
index 000000000..ce55cd4c8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sodertalje_Ragnhildsborg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sodertalje_Ragnhildsborg
new file mode 100755
index 000000000..065434e7f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Hallsta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Hallsta
new file mode 100755
index 000000000..1279be4b3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Multra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Solleftea_Multra
new file mode 100755
index 000000000..8fb8ec364
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soraker b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soraker
new file mode 100755
index 000000000..936521559
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorbygden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorbygden
new file mode 100755
index 000000000..20e9d318b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorflarke b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorflarke
new file mode 100755
index 000000000..2e779f425
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Nalovardo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Nalovardo
new file mode 100755
index 000000000..5f8cd7b8b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Vattentornet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsele_Vattentornet
new file mode 100755
index 000000000..ba7e3c23d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sorsjon
new file mode 100755
index 000000000..84e99e833
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soukolojarvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Soukolojarvi
new file mode 100755
index 000000000..6d5e247d8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stalon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stalon
new file mode 100755
index 000000000..ce88159a0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stigsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stigsjo
new file mode 100755
index 000000000..137a59ed6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Marieberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Marieberg
new file mode 100755
index 000000000..0ae30a2f6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Nacka b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stockholm_Nacka
new file mode 100755
index 000000000..b5345041c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Hullsjon b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Hullsjon
new file mode 100755
index 000000000..e46bc80f5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Intaget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stode_Intaget
new file mode 100755
index 000000000..deb3bab77
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stomne_Skasas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stomne_Skasas
new file mode 100755
index 000000000..7e293baeb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stora_Skedvi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stora_Skedvi
new file mode 100755
index 000000000..f00c7936c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stordalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stordalen
new file mode 100755
index 000000000..75656dd21
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storfjaten b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storfjaten
new file mode 100755
index 000000000..93b898edc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storlien b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storlien
new file mode 100755
index 000000000..10e25226b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storuman b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Storuman
new file mode 100755
index 000000000..9fe23fc07
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromstad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromstad
new file mode 100755
index 000000000..f2609f686
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromsund_Grelsgard b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stromsund_Grelsgard
new file mode 100755
index 000000000..a126552d2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stugun b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Stugun
new file mode 100755
index 000000000..e4b62187b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Styrsjobo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Styrsjobo
new file mode 100755
index 000000000..1ccce04f9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suddesjaur b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suddesjaur
new file mode 100755
index 000000000..36a53dc06
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suijavaara b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Suijavaara
new file mode 100755
index 000000000..1f0371b5e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sulvik b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sulvik
new file mode 100755
index 000000000..d26f59377
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundborn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundborn
new file mode 100755
index 000000000..b423757e5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsbruk b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsbruk
new file mode 100755
index 000000000..9c7a7fd5a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsvall_S_Stadsberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sundsvall_S_Stadsberget
new file mode 100755
index 000000000..cf6bbdcb4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_As b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_As
new file mode 100755
index 000000000..c94500e27
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_Blabarskullen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunne_Blabarskullen
new file mode 100755
index 000000000..c0f29a99f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunnemo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sunnemo
new file mode 100755
index 000000000..18beec277
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svaneholm b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svaneholm
new file mode 100755
index 000000000..9b32d4486
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svanstein b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svanstein
new file mode 100755
index 000000000..97e1d3e53
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svardsosund_Svardso b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svardsosund_Svardso
new file mode 100755
index 000000000..233c10e57
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svartnas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svartnas
new file mode 100755
index 000000000..ac3769021
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Brickan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Brickan
new file mode 100755
index 000000000..b385b98d5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Ransjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Sveg_Ransjo
new file mode 100755
index 000000000..fb503d9a9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svenstavik b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svenstavik
new file mode 100755
index 000000000..551e33f66
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svinesund b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Svinesund
new file mode 100755
index 000000000..32c50984d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Syssleback b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Syssleback
new file mode 100755
index 000000000..b2be682f3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Taberg b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Taberg
new file mode 100755
index 000000000..7ee8530f1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tandadalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tandadalen
new file mode 100755
index 000000000..e726d3a08
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tannas_Vastra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tannas_Vastra
new file mode 100755
index 000000000..9e1799c6c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tanndalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tanndalen
new file mode 100755
index 000000000..ca4b668bc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnaby_Ryfjallet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnaby_Ryfjallet
new file mode 100755
index 000000000..62720a91a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnamo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tarnamo
new file mode 100755
index 000000000..0fd4e930d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tasjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tasjo
new file mode 100755
index 000000000..b1958546b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tavelsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tavelsjo
new file mode 100755
index 000000000..f30099225
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tocksfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tocksfors
new file mode 100755
index 000000000..2c087945b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tollsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tollsjo
new file mode 100755
index 000000000..3f18527f5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tormestorp b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tormestorp
new file mode 100755
index 000000000..d4bf4497d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tornetrask b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tornetrask
new file mode 100755
index 000000000..c97b3d6d5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torpshammar b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torpshammar
new file mode 100755
index 000000000..25102689d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torsby_Bada b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Torsby_Bada
new file mode 100755
index 000000000..fc3e506b2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranas_Bredkarr b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranas_Bredkarr
new file mode 100755
index 000000000..7e88588f5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranemo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tranemo
new file mode 100755
index 000000000..eca930438
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Transtrand_Bolheden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Transtrand_Bolheden
new file mode 100755
index 000000000..2d140a9aa
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Traryd_Betas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Traryd_Betas
new file mode 100755
index 000000000..6a7bcdfd2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trehorningsjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trehorningsjo
new file mode 100755
index 000000000..e14d48dd7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trelleborg_Gylle b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trelleborg_Gylle
new file mode 100755
index 000000000..d127f66ca
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trollhattan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trollhattan
new file mode 100755
index 000000000..72ca06092
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trosa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Trosa
new file mode 100755
index 000000000..2d6b9631b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tullinge_Hamra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tullinge_Hamra
new file mode 100755
index 000000000..b1b15aa6e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tyringe b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tyringe
new file mode 100755
index 000000000..1222e5c39
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tystberga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Tystberga
new file mode 100755
index 000000000..ef240a3e9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Herrestad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Herrestad
new file mode 100755
index 000000000..bc1992bb7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Kapelle b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uddevalla_Kapelle
new file mode 100755
index 000000000..7a2668e62
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uggleheden b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uggleheden
new file mode 100755
index 000000000..afbfc68b1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullanger_Skidsta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullanger_Skidsta
new file mode 100755
index 000000000..8f5a54f8d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullared b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ullared
new file mode 100755
index 000000000..29d4a0264
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulricehamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulricehamn
new file mode 100755
index 000000000..759c62f97
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvohamn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvohamn
new file mode 100755
index 000000000..57ae731e5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvshyttan_Porjus b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ulvshyttan_Porjus
new file mode 100755
index 000000000..08f023439
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umea_Mariehem b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umea_Mariehem
new file mode 100755
index 000000000..70f7360d0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umfors
new file mode 100755
index 000000000..51a1e4914
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umgransele_Granselelund b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Umgransele_Granselelund
new file mode 100755
index 000000000..8fef12a5b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Undersaker b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Undersaker
new file mode 100755
index 000000000..95e816e02
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Rickomberga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Rickomberga
new file mode 100755
index 000000000..2c0ac8f24
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Vedyxa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Uppsala_Vedyxa
new file mode 100755
index 000000000..55f99a8d1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utansjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utansjo
new file mode 100755
index 000000000..95044009b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utanskog b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Utanskog
new file mode 100755
index 000000000..799d850a1
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaddo_Elmsta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaddo_Elmsta
new file mode 100755
index 000000000..310a1da68
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valadalen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valadalen
new file mode 100755
index 000000000..9aeed885e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valanger b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valanger
new file mode 100755
index 000000000..64e33f13d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valdemarsvik b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valdemarsvik
new file mode 100755
index 000000000..0d7c74079
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valsjobyn b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Valsjobyn
new file mode 100755
index 000000000..dc158b952
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vannas_Granlundsberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vannas_Granlundsberget
new file mode 100755
index 000000000..53e7df00a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vansbro_Hummelberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vansbro_Hummelberget
new file mode 100755
index 000000000..0b4263de7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varberg_Grimeton b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varberg_Grimeton
new file mode 100755
index 000000000..6c85acd5e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varmvattnet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varmvattnet
new file mode 100755
index 000000000..9e5609170
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varnamo_Alandsryd b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Varnamo_Alandsryd
new file mode 100755
index 000000000..f9f6414b5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassbotten b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassbotten
new file mode 100755
index 000000000..5aac5e918
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassijaure b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vassijaure
new file mode 100755
index 000000000..8d6ebf7be
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastansjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastansjo
new file mode 100755
index 000000000..dafa88f5a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vasteras_Lillharad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vasteras_Lillharad
new file mode 100755
index 000000000..0c50190de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastervik_Farhult b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vastervik_Farhult
new file mode 100755
index 000000000..6b17d3891
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vato b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vato
new file mode 100755
index 000000000..94721d094
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaxbo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vaxbo
new file mode 100755
index 000000000..116483f6b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vemdalsskalet b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vemdalsskalet
new file mode 100755
index 000000000..244788727
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vessigebro b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vessigebro
new file mode 100755
index 000000000..2cd921e13
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vetlanda_Nye b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vetlanda_Nye
new file mode 100755
index 000000000..7cd1f5c05
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vidsel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vidsel
new file mode 100755
index 000000000..0351783d2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vietas b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vietas
new file mode 100755
index 000000000..668657b3a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vikmanshyttan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vikmanshyttan
new file mode 100755
index 000000000..6b24d6e3d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Viksjo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Viksjo
new file mode 100755
index 000000000..d004252f0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vilhelmina b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vilhelmina
new file mode 100755
index 000000000..1adb2a012
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Villands_Vanga b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Villands_Vanga
new file mode 100755
index 000000000..431ec0c6a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindelgransele b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindelgransele
new file mode 100755
index 000000000..d31e68239
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindeln_Renfors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vindeln_Renfors
new file mode 100755
index 000000000..d34c836be
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Virserum b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Virserum
new file mode 100755
index 000000000..32c79bcff
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Follingbo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Follingbo
new file mode 100755
index 000000000..33b14fa51
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Hamnen b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Hamnen
new file mode 100755
index 000000000..1c839f18b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Havdhem b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visby_Havdhem
new file mode 100755
index 000000000..c37621787
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visingso b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Visingso
new file mode 100755
index 000000000..0dcc4f495
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vislanda_Nydala b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vislanda_Nydala
new file mode 100755
index 000000000..1aaf3ef9f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitberget b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitberget
new file mode 100755
index 000000000..7053f5ac5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand
new file mode 100755
index 000000000..a1b4dc9d3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand_Vagsjofors b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vitsand_Vagsjofors
new file mode 100755
index 000000000..c07c01245
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Voxna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Voxna
new file mode 100755
index 000000000..a14cba72c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vuollerim b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Vuollerim
new file mode 100755
index 000000000..a034ca8cc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ystad_Metallgatan b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Ystad_Metallgatan
new file mode 100755
index 000000000..5c250b504
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Yttermalung b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/se-Yttermalung
new file mode 100755
index 000000000..7473b30a5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/si-Ljubljana b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/si-Ljubljana
new file mode 100755
index 000000000..e1d3e8beb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaBystrica b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaBystrica
new file mode 100755
index 000000000..340164a3f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaStiavnica b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-BanskaStiavnica
new file mode 100755
index 000000000..0afc47188
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bardejov b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bardejov
new file mode 100755
index 000000000..a481bdf2f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bratislava b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Bratislava
new file mode 100755
index 000000000..cd461629f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Cadca b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Cadca
new file mode 100755
index 000000000..abd0e5b2d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Detva b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Detva
new file mode 100755
index 000000000..44cf2a604
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Hnusta b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Hnusta
new file mode 100755
index 000000000..d0b41eed0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Kosice b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Kosice
new file mode 100755
index 000000000..7c01b81fe
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-KralovskyChlmec b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-KralovskyChlmec
new file mode 100755
index 000000000..7163e833c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Krompachy b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Krompachy
new file mode 100755
index 000000000..27747cdf0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Lucenec b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Lucenec
new file mode 100755
index 000000000..1225eace8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Medzev b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Medzev
new file mode 100755
index 000000000..52e19bba2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Namestovo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Namestovo
new file mode 100755
index 000000000..ea76c106a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Nitra b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Nitra
new file mode 100755
index 000000000..a823427e5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Poprad b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Poprad
new file mode 100755
index 000000000..ccec3505a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-PovazskaBystrica b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-PovazskaBystrica
new file mode 100755
index 000000000..d32759eae
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Presov b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Presov
new file mode 100755
index 000000000..0f0a36ec6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Prievidza b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Prievidza
new file mode 100755
index 000000000..dafbc1e56
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Revuca b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Revuca
new file mode 100755
index 000000000..4f797ce65
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Roznava b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Roznava
new file mode 100755
index 000000000..fc09aaacb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Ruzomberok b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Ruzomberok
new file mode 100755
index 000000000..fc2c6680d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Snina b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Snina
new file mode 100755
index 000000000..f0f158526
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-StaraLubovna b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-StaraLubovna
new file mode 100755
index 000000000..b1cf74043
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Sturovo b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Sturovo
new file mode 100755
index 000000000..f54f8df5b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Trencin b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Trencin
new file mode 100755
index 000000000..805038ce5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Zilina b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/sk-Zilina
new file mode 100755
index 000000000..e8d486d45
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/tw-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/tw-All
new file mode 100755
index 000000000..3e18167a6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kharkov b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kharkov
new file mode 100755
index 000000000..38c6b07dd
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kiev b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Kiev
new file mode 100755
index 000000000..6bf096b7a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Lozovaya b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Lozovaya
new file mode 100755
index 000000000..be7d9b9db
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Odessa b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ua-Odessa
new file mode 100755
index 000000000..16f00fabb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ug-All b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/ug-All
new file mode 100755
index 000000000..ce2a2866f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Aberdare b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Aberdare
new file mode 100755
index 000000000..a0c08b0d0
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Angus b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Angus
new file mode 100755
index 000000000..1127e363b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BeaconHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BeaconHill
new file mode 100755
index 000000000..549b3c9c2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Belmont b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Belmont
new file mode 100755
index 000000000..d17c3cabc
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bilsdale b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bilsdale
new file mode 100755
index 000000000..b8164cc4e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BlackHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BlackHill
new file mode 100755
index 000000000..b97c26fa6
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Blaenplwyf b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Blaenplwyf
new file mode 100755
index 000000000..5a569c294
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BluebellHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BluebellHill
new file mode 100755
index 000000000..630ae755b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bressay b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bressay
new file mode 100755
index 000000000..9c9523455
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrierleyHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrierleyHill
new file mode 100755
index 000000000..34fbc90cf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolIlchesterCrescent b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolIlchesterCrescent
new file mode 100755
index 000000000..6a268ff25
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolKingsWeston b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BristolKingsWeston
new file mode 100755
index 000000000..8abd22a51
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bromsgrove b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Bromsgrove
new file mode 100755
index 000000000..8956edeed
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrougherMountain b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-BrougherMountain
new file mode 100755
index 000000000..99c04a426
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Caldbeck b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Caldbeck
new file mode 100755
index 000000000..c75c3d2da
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CaradonHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CaradonHill
new file mode 100755
index 000000000..e216aa51b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Carmel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Carmel
new file mode 100755
index 000000000..9e78dfd55
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chatton b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chatton
new file mode 100755
index 000000000..4d40a4610
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chesterfield b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Chesterfield
new file mode 100755
index 000000000..38bedb933
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Craigkelly b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Craigkelly
new file mode 100755
index 000000000..82494814a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CrystalPalace b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-CrystalPalace
new file mode 100755
index 000000000..3d17dd88a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Darvel b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Darvel
new file mode 100755
index 000000000..015f9ff28
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Divis b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Divis
new file mode 100755
index 000000000..4dbc6c55b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Dover b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Dover
new file mode 100755
index 000000000..15fd2702d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Durris b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Durris
new file mode 100755
index 000000000..7ecdc705d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Eitshal b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Eitshal
new file mode 100755
index 000000000..3901c1276
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-EmleyMoor b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-EmleyMoor
new file mode 100755
index 000000000..c9c01d7f9
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenham b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenham
new file mode 100755
index 000000000..dd054f598
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenton b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Fenton
new file mode 100755
index 000000000..8c0a54326
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Ferryside b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Ferryside
new file mode 100755
index 000000000..71c2e12f2
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Guildford b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Guildford
new file mode 100755
index 000000000..ab5616182
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hannington b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hannington
new file mode 100755
index 000000000..d3bbc7549
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hastings b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Hastings
new file mode 100755
index 000000000..520c86a1f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Heathfield b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Heathfield
new file mode 100755
index 000000000..fda6fe00c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HemelHempstead b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HemelHempstead
new file mode 100755
index 000000000..0116d4e81
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HuntshawCross b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-HuntshawCross
new file mode 100755
index 000000000..3b2b96449
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Idle b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Idle
new file mode 100755
index 000000000..e736ca94a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KeelylangHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KeelylangHill
new file mode 100755
index 000000000..ac90b5dde
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Keighley b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Keighley
new file mode 100755
index 000000000..ab8644824
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KilveyHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KilveyHill
new file mode 100755
index 000000000..5919ee397
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KnockMore b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-KnockMore
new file mode 100755
index 000000000..3d7e41f5c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Lancaster b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Lancaster
new file mode 100755
index 000000000..0694e7a8e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-LarkStoke b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-LarkStoke
new file mode 100755
index 000000000..3d7a6fb57
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Limavady b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Limavady
new file mode 100755
index 000000000..977b973ae
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Llanddona b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Llanddona
new file mode 100755
index 000000000..88067eec7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Malvern b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Malvern
new file mode 100755
index 000000000..66c10e249
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Mendip b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Mendip
new file mode 100755
index 000000000..8d3849b61
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Midhurst b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Midhurst
new file mode 100755
index 000000000..37416ad94
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-MoelyParc b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-MoelyParc
new file mode 100755
index 000000000..a2300b70f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Nottingham b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Nottingham
new file mode 100755
index 000000000..8112ec72b
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-OliversMount b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-OliversMount
new file mode 100755
index 000000000..898e29a72
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Oxford b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Oxford
new file mode 100755
index 000000000..1274349cb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PendleForest b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PendleForest
new file mode 100755
index 000000000..7bcdd5ab7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Plympton b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Plympton
new file mode 100755
index 000000000..d3bce92ac
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PontopPike b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-PontopPike
new file mode 100755
index 000000000..2ceb22982
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Pontypool b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Pontypool
new file mode 100755
index 000000000..b66c8373f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Preseli b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Preseli
new file mode 100755
index 000000000..72e71c2bf
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Redruth b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Redruth
new file mode 100755
index 000000000..650ca612d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Reigate b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Reigate
new file mode 100755
index 000000000..b845d3779
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RidgeHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RidgeHill
new file mode 100755
index 000000000..abb09716e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosemarkie b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosemarkie
new file mode 100755
index 000000000..7fbd7e30e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosneath b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rosneath
new file mode 100755
index 000000000..cf006e739
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rowridge b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Rowridge
new file mode 100755
index 000000000..16f781d30
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RumsterForest b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-RumsterForest
new file mode 100755
index 000000000..1f229cd4d
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Saddleworth b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Saddleworth
new file mode 100755
index 000000000..6a4b2d950
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Salisbury b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Salisbury
new file mode 100755
index 000000000..17f24a944
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SandyHeath b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SandyHeath
new file mode 100755
index 000000000..5b3423023
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Selkirk b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Selkirk
new file mode 100755
index 000000000..ee4d822d8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sheffield b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sheffield
new file mode 100755
index 000000000..cc31205e8
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-StocklandHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-StocklandHill
new file mode 100755
index 000000000..8b9ad5aa5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Storeton b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Storeton
new file mode 100755
index 000000000..15f8869bb
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sudbury b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Sudbury
new file mode 100755
index 000000000..3be094786
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SuttonColdfield b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-SuttonColdfield
new file mode 100755
index 000000000..ff1deedee
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Tacolneston b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Tacolneston
new file mode 100755
index 000000000..1f664b8e7
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TheWrekin b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TheWrekin
new file mode 100755
index 000000000..fe58789e4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Torosay b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Torosay
new file mode 100755
index 000000000..74b96e408
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TunbridgeWells b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-TunbridgeWells
new file mode 100755
index 000000000..47ed28236
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Waltham b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Waltham
new file mode 100755
index 000000000..789ae685f
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Wenvoe b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-Wenvoe
new file mode 100755
index 000000000..7d21b7ad5
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WhitehawkHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WhitehawkHill
new file mode 100755
index 000000000..3cbabbbb4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WinterHill b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/uk-WinterHill
new file mode 100755
index 000000000..15546d708
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Hanoi b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Hanoi
new file mode 100755
index 000000000..abb9695be
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Thaibinh b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/dvb-scan-table/dvb-t/vn-Thaibinh
new file mode 100755
index 000000000..f340948de
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb
new file mode 100644
index 000000000..278bda9ff
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.29.bb
deleted file mode 100644
index d36f2f48d..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch
deleted file mode 100644
index d845ddf59..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
deleted file mode 100644
index 0e1846e31..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb
new file mode 100644
index 000000000..a95c4c42a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
new file mode 100644
index 000000000..810ca997e
--- /dev/null
+++ b/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 = "9671e412feedb90325e038c3aaf5d543eebc20c0"
+S = "${WORKDIR}/git"
+PV = "2.0.4"
+
+inherit cmake pkgconfig lib_package
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch b/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 000000000..44612275c
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch
@@ -0,0 +1,37 @@
+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 | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index a0ba53d1..1c626717 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -359,14 +359,3 @@ else ( MACOSX_FRAMEWORK )
+ )
+ install ( FILES ${public_main_HEADER} DESTINATION ${INCLUDE_INSTALL_DIR} )
+ endif ( MACOSX_FRAMEWORK )
+-
+-# ******* Auto Generated Lookup Tables ******
+-
+-include(ExternalProject)
+-ExternalProject_Add(gentables
+- DOWNLOAD_COMMAND ""
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables
+- BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables
+- INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/"
+-)
+-add_dependencies(libfluidsynth-OBJ gentables)
+--
+2.14.5
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch
new file mode 100644
index 000000000..94daa951c
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
new file mode 100644
index 000000000..ead099545
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.11.bb
deleted file mode 100644
index 4df310275..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
new file mode 100644
index 000000000..4f600a218
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
@@ -0,0 +1,22 @@
+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"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb
index f763cf1e4..9c78da0d2 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_git.bb
@@ -7,20 +7,21 @@ SRC_URI = "git://github.com/v00d00/gerbera.git;protocol=https \
file://gerbera.service \
"
-PV = "1.0+git${SRCPV}"
-SRCREV = "4435b165d121195aefd67d0287f7f9349e181d45"
+PV = "1.3.0+git${SRCPV}"
+# v1.3.0
+SRCREV = "c7a81fb41e446ee67b3eac90e2caecd6de651a16"
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() {
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mp3_0.10.31.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mp3_0.10.31.bb
deleted file mode 100644
index 1e2cd2a4a..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mpegdemux_0.10.85.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo-mpegdemux_0.10.85.bb
deleted file mode 100644
index 7bba41a34..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-fluendo.inc
deleted file mode 100644
index 7a77d624f..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-meta-base_0.10.bb
deleted file mode 100644
index 88f1abf68..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/gcc_4.6.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/gcc_4.6.patch
deleted file mode 100644
index 57a63b5a0..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/ptr-array.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax/ptr-array.patch
deleted file mode 100644
index 5965bbafb..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax_0.10.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-openmax_0.10.1.bb
deleted file mode 100644
index 2e0157956..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad/buffer-overflow-mp4.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad/buffer-overflow-mp4.patch
deleted file mode 100644
index 235acda8b..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
deleted file mode 100644
index 38fccc8d0..000000000
--- a/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/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/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 29fbec5f8..000000000
--- a/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/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/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 52142562a..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/configure.ac-fix-subparse-plugin.patch b/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 b8602c80d..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/gst-plugins-base-tremor.patch b/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 99dbc9d52..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
deleted file mode 100644
index f2354648d..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/0001-conditional-gl-framebuffer-undefined-use.patch
deleted file mode 100644
index bc2f88b24..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl/rpi-egl-gles2-dep.patch
deleted file mode 100644
index 7db1c5afc..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-gl_0.10.3.bb
deleted file mode 100644
index f3eaf3094..000000000
--- a/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/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/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 6456d3c6c..000000000
--- a/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/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/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 bd0de583a..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good-0.10.31/0407-mulawdec-fix-integer-overrun.patch b/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 48b8e98b8..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
deleted file mode 100644
index f993cfc11..000000000
--- a/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/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/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 1f72fc036..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0002-Fix-opencore-include-paths.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly/0002-Fix-opencore-include-paths.patch
deleted file mode 100644
index 3fd6a2697..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb
deleted file mode 100644
index 199b47d76..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc
deleted file mode 100644
index 6e163a8c4..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch b/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 69b21dd87..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp_0.10.8.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp_0.10.8.bb
deleted file mode 100644
index b78bcaf5a..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch b/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 d07749682..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0001-parse-make-grammar.y-work-with-Bison-3.patch b/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 dc2d60612..000000000
--- a/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/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/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 8db396631..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/check_fix.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/check_fix.patch
deleted file mode 100644
index 5d8bb1340..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gst-inspect-check-error.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gst-inspect-check-error.patch
deleted file mode 100644
index 30be85f59..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.c b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.c
deleted file mode 100644
index c1f3e71af..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.h b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/gstregistrybinary.h
deleted file mode 100644
index 2ef24d765..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
deleted file mode 100644
index 56d82205e..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb
new file mode 100644
index 000000000..249f989a4
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb
new file mode 100644
index 000000000..9f2fda9fe
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
index b6bb447bc..3b3ac83e2 100755
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
@@ -19,7 +19,7 @@ SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \
file://install_examples.patch \
"
-S = "${WORKDIR}/git/${PN}"
+S = "${WORKDIR}/git/${BPN}"
inherit autotools-brokensep pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa/libdvbcsa.pc b/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa/libdvbcsa.pc
new file mode 100644
index 000000000..57e74668e
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
new file mode 100644
index 000000000..7f042c382
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb
new file mode 100644
index 000000000..cb4b1b365
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb
@@ -0,0 +1,27 @@
+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"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch
new file mode 100644
index 000000000..16f123fad
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch
new file mode 100644
index 000000000..8420386e3
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
deleted file mode 100644
index e0f1a26de..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.19.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.19.1.bb
new file mode 100644
index 000000000..a9cdfac8a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
new file mode 100644
index 000000000..b048ac667
--- /dev/null
+++ b/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 libsquish dcadec libiec61883 \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "minidlna gst-fluendo-mpegdemux vlc", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "vo-aacenc sox libde265 gst-openmax", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "streamripper gst-plugins-ugly gst-fluendo-mp3 gst-plugins-gl", "", 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 = "\
+ liboil libmediaart libmediaart-2.0 gst-instruments libsrtp crossguid \
+ "
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
index f13c0ead6..19ac8206c 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
@@ -5,7 +5,7 @@ SECTION = "multimedia"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "fribidi libtool libgcrypt libgcrypt-native \
+DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
dbus dbus-glib libxml2 gnutls \
tremor faad2 ffmpeg flac fluidsynth alsa-lib \
lua-native lua libidn \
@@ -21,12 +21,12 @@ SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz"
inherit autotools gettext pkgconfig distro_features_check
ARM_INSTRUCTION_SET = "arm"
-
+export BUILDCC = "${BUILD_CC}"
EXTRA_OECONF = "\
--enable-run-as-root \
--enable-xvideo \
--disable-screen --disable-caca \
- --enable-httpd --enable-vlm \
+ --enable-vlm \
--enable-freetype \
--enable-tremor \
--enable-v4l2 --disable-aa --disable-faad \
@@ -35,22 +35,22 @@ EXTRA_OECONF = "\
--without-kde-solid \
--enable-realrtsp \
--disable-libtar \
+ --enable-avcodec \
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 ?= " live555 dc1394 dv1394 notify fontconfig freetype dvdread png ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', 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[libva] = "--enable-libva,--disable-libva,libva"
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"
@@ -81,7 +81,6 @@ do_configure_prepend() {
}
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
}
@@ -94,10 +93,11 @@ FILES_libvlc = "${libdir}/lib*.so.*"
FILES_${PN} += "\
${bindir}/vlc \
+ ${libdir}/vlc/vlc/libvlc_vdpau.so \
${datadir}/applications \
${datadir}/vlc/ \
${datadir}/icons \
- ${lindir}/vlc/vlc/libvlc_vdpau.so \
+ ${datadir}/metainfo/vlc.appdata.xml \
"
FILES_${PN}-dbg += "\
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch
deleted file mode 100644
index 9f0e708ed..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch
index 6d2a46fb3..3db3df34b 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch
@@ -1,8 +1,6 @@
-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 @@
+--- a/src/input/subtitles.c
++++ b/src/input/subtitles.c
+@@ -42,6 +42,12 @@
#include "input_internal.h"
/**
@@ -12,6 +10,6 @@ Index: vlc-2.1.2/src/input/subtitles.c
+#define strlcpy(dst, src, n) *((char* ) mempcpy(dst, src, n)) = '\0'
+
+/**
- * We are not going to autodetect more subtitle files than this.
+ * The possible extensions for subtitle files we support
*/
- #define MAX_SUBTITLE_FILES 128
+ static const char *const sub_exts[] = { SLAVE_SPU_EXTENSIONS, "" };
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch
deleted file mode 100644
index 8e881d093..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch
deleted file mode 100644
index 53df1c6eb..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
index 2d84ffd2f..77a7d6173 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch
@@ -2,16 +2,14 @@
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
+--- a/configure.ac
++++ b/configure.ac
+@@ -2589,7 +2589,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])
+ VLC_RESTORE_FLAGS
+ ],[
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch
index 145e1ab82..96b5d2d24 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0008-fix-luaL-checkint.patch
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0009-Avcodec-swscale-use-AV_PIX_FMT-consistently.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0009-Avcodec-swscale-use-AV_PIX_FMT-consistently.patch
deleted file mode 100644
index cb3ba71dd..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0010-SWSCALE-fix-compilation-with-4.x.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc/0010-SWSCALE-fix-compilation-with-4.x.patch
deleted file mode 100644
index 56744e7de..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_2.2.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_2.2.2.bb
deleted file mode 100644
index b5be04cb9..000000000
--- a/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/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.6.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.6.bb
new file mode 100644
index 000000000..1ae213ff3
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.6.bb
@@ -0,0 +1,16 @@
+require ${BPN}.inc
+
+# work around build failure
+EXTRA_OECONF += " --enable-libxml2=no"
+
+LDFLAGS_append_riscv64 = " -pthread"
+
+SRC_URI += " \
+ file://0002-glibc-does-not-provide-strlcpy.patch \
+ file://0005-libpostproc-header-check.patch \
+ file://0006-make-opencv-configurable.patch \
+ file://0007-use-vorbisidec.patch \
+ file://0008-fix-luaL-checkint.patch \
+"
+SRC_URI[md5sum] = "4ff71d262e070fd19f86a1c3542c7b4e"
+SRC_URI[sha256sum] = "18c16d4be0f34861d0aa51fbd274fb87f0cab3b7119757ead93f3db3a1f27ed3"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch
new file mode 100644
index 000000000..576b9860a
--- /dev/null
+++ b/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/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb
index 2b0f7c684..dbba2f488 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.bb
@@ -19,6 +19,7 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${
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] = "336ae032f608e65808ac577cde0ab72c"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-math_vfp_asm.S-Convert-fldmia-fstmia-instructions-to.patch b/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-math_vfp_asm.S-Convert-fldmia-fstmia-instructions-to.patch
new file mode 100644
index 000000000..05903807e
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-math_vfp_asm.S-Convert-fldmia-fstmia-instructions-to.patch
@@ -0,0 +1,257 @@
+From 02a138f0b247fb08b799f32c49b35912b2921321 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Feb 2019 11:38:46 -0800
+Subject: [PATCH] math_vfp_asm.S: Convert fldmia/fstmia instructions to UAL
+ syntax for clang
+
+This is flagged with clang internal assembler, since it does not allow
+non UAL syntax
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ liboil/arm/math_vfp_asm.S | 94 +++++++++++++++++++--------------------
+ 1 file changed, 47 insertions(+), 47 deletions(-)
+
+diff --git a/liboil/arm/math_vfp_asm.S b/liboil/arm/math_vfp_asm.S
+index ae5c803..3dd14d9 100644
+--- a/liboil/arm/math_vfp_asm.S
++++ b/liboil/arm/math_vfp_asm.S
+@@ -25,7 +25,7 @@
+ */
+
+ #if defined(__VFP_FP__) && !defined(__SOFTFP__)
+-/*
++/*
+ ** compile with -mcpu=arm1136j-s -mfpu=vfp -mfloat-abi=softfp
+ **
+ ** void vfp_add_f32 (float *d, const float *s1, const float *s2, int n);
+@@ -48,10 +48,10 @@
+ ands ip, r3, #7; /* ip = n % 8 */ \
+ beq vfp_ ## fname ## _unroll; /* if ip == 0 goto prep_loop2 */ \
+ vfp_ ## fname ## _loop1: \
+- fldmias r1!, {s0}; \
+- fldmias r2!, {s1}; \
++ vldmia.f32 r1!, {s0}; \
++ vldmia.f32 r2!, {s1}; \
+ ## finst ##s s2, s0, s1; \
+- fstmias r0!, {s2}; \
++ vstmia.f32 r0!, {s2}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop1; \
+ vfp_ ## fname ## _unroll: /* unroll by 8 */ \
+@@ -62,15 +62,15 @@
+ orr fp, lr, fp, lsl #16; /* set vector lenght to 8 */ \
+ fmxr fpscr, fp; \
+ vfp_ ## fname ## _loop2: \
+- fldmias r1!, {s8, s9, s10, s11, s12, s13, s14, s15}; \
+- fldmias r2!, {s16, s17, s18, s19, s20, s21, s22, s23}; \
++ vldmia.f32 r1!, {s8, s9, s10, s11, s12, s13, s14, s15}; \
++ vldmia.f32 r2!, {s16, s17, s18, s19, s20, s21, s22, s23}; \
+ ## finst ##s s24, s8, s16; \
+- fstmias r0!, {s24, s25, s26, s27, s28, s29, s30, s31}; \
++ vstmia.f32 r0!, {s24, s25, s26, s27, s28, s29, s30, s31}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop2; \
+ fmxr fpscr, lr; /* restore original fpscr */ \
+ vfp_ ## fname ## _end: \
+- ldmia sp!, {fp, pc}; /* recovering from stack and return */
++ ldmia sp!, {fp, pc}; /* recovering from stack and return */
+
+ #define UNROLL_F64_TEMPLATE(fname,finst) \
+ .global vfp_ ## fname ## ; \
+@@ -79,10 +79,10 @@
+ ands ip, r3, #3; /* ip = n % 3 */ \
+ beq vfp_ ## fname ## _unroll; /* if ip == 0 goto prep_loop2 */ \
+ vfp_ ## fname ## _loop1: \
+- fldmiad r1!, {d0}; \
+- fldmiad r2!, {d1}; \
++ vldmia.f64 r1!, {d0}; \
++ vldmia.f64 r2!, {d1}; \
+ ## finst ##d d2, d0, d1; \
+- fstmiad r0!, {d2}; \
++ vstmia.f64 r0!, {d2}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop1; \
+ vfp_ ## fname ## _unroll: /* unroll by 4 */ \
+@@ -93,15 +93,15 @@
+ orr fp, lr, fp, lsl #16; /* set vector lenght to 8 */ \
+ fmxr fpscr, fp; \
+ vfp_ ## fname ## _loop2: \
+- fldmiad r1!, {d4, d5, d6, d7}; \
+- fldmiad r2!, {d8, d9, d10, d11}; \
++ vldmia.f64 r1!, {d4, d5, d6, d7}; \
++ vldmia.f64 r2!, {d8, d9, d10, d11}; \
+ ## finst ##d d12, d4, d8; \
+- fstmiad r0!, {d12, d13, d14, d15}; \
++ vstmia.f64 r0!, {d12, d13, d14, d15}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop2; \
+ fmxr fpscr, lr; /* restore original fpscr */ \
+ vfp_ ## fname ## _end: \
+- ldmia sp!, {fp, pc}; /* recovering from stack and return */
++ ldmia sp!, {fp, pc}; /* recovering from stack and return */
+
+ .align 2
+ UNROLL_F32_TEMPLATE(add_f32,fadd);
+@@ -119,7 +119,7 @@ UNROLL_F64_TEMPLATE(subtract_f64,fsub);
+ #undef UNROLL_F32_TEMPLATE
+ #undef UNROLL_F64_TEMPLATE
+
+-/*
++/*
+ **
+ ** void vfp_scalaradd_f32_ns (float *d, const float *s1, const float *s2_1, int n);
+ ** void vfp_scalaradd_f64_ns (double *d, const double *s1, const double *s2_1, int n);
+@@ -133,13 +133,13 @@ UNROLL_F64_TEMPLATE(subtract_f64,fsub);
+ .global vfp_ ## fname ## ; \
+ vfp_ ## fname ## : \
+ stmdb sp!, {fp, lr}; /* save registers to stack */ \
+- fldmias r2, {s1}; /* load scalar value */ \
++ vldmia.f32 r2, {s1}; /* load scalar value */ \
+ ands ip, r3, #7; /* ip = n % 8 */ \
+ beq vfp_ ## fname ## _unroll; /* if ip == 0 goto prep_loop2 */ \
+ vfp_ ## fname ## _loop1: \
+- fldmias r1!, {s0}; \
++ vldmia.f32 r1!, {s0}; \
+ ## finst ##s s2, s0, s1; \
+- fstmias r0!, {s2}; \
++ vstmia.f32 r0!, {s2}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop1; \
+ vfp_ ## fname ## _unroll: /* unroll by 8 */ \
+@@ -150,26 +150,26 @@ UNROLL_F64_TEMPLATE(subtract_f64,fsub);
+ orr fp, lr, fp, lsl #16; /* set vector lenght to 8 */ \
+ fmxr fpscr, fp; \
+ vfp_ ## fname ## _loop2: \
+- fldmias r1!, {s8, s9, s10, s11, s12, s13, s14, s15}; \
++ vldmia.f32 r1!, {s8, s9, s10, s11, s12, s13, s14, s15}; \
+ ## finst ##s s24, s8, s1; \
+- fstmias r0!, {s24, s25, s26, s27, s28, s29, s30, s31}; \
++ vstmia.f32 r0!, {s24, s25, s26, s27, s28, s29, s30, s31}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop2; \
+ fmxr fpscr, lr; /* restore original fpscr */ \
+ vfp_ ## fname ## _end: \
+- ldmia sp!, {fp, pc}; /* recovering from stack and return */
++ ldmia sp!, {fp, pc}; /* recovering from stack and return */
+
+ #define UNROLL_F64_TEMPLATE(fname,finst) \
+ .global vfp_ ## fname ## ; \
+ vfp_ ## fname ## : \
+ stmdb sp!, {fp, lr}; /* save registers to stack */ \
+- fldmiad r2, {d1}; /* load scalar value */ \
++ vldmia.f64 r2, {d1}; /* load scalar value */ \
+ ands ip, r3, #3; /* ip = n % 3 */ \
+ beq vfp_ ## fname ## _unroll; /* if ip == 0 goto prep_loop2 */ \
+ vfp_ ## fname ## _loop1: \
+- fldmiad r1!, {d0}; \
++ vldmia.f64 r1!, {d0}; \
+ ## finst ##d d2, d0, d1; \
+- fstmiad r0!, {d2}; \
++ vstmia.f64 r0!, {d2}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop1; \
+ vfp_ ## fname ## _unroll: /* unroll by 4 */ \
+@@ -180,14 +180,14 @@ UNROLL_F64_TEMPLATE(subtract_f64,fsub);
+ orr fp, lr, fp, lsl #16; /* set vector lenght to 4 */ \
+ fmxr fpscr, fp; \
+ vfp_ ## fname ## _loop2: \
+- fldmiad r1!, {d4, d5, d6, d7}; \
++ vldmia.f64 r1!, {d4, d5, d6, d7}; \
+ ## finst ##d d12, d4, d1; \
+- fstmiad r0!, {d12, d13, d14, d15}; \
++ vstmia.f64 r0!, {d12, d13, d14, d15}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop2; \
+ fmxr fpscr, lr; /* restore original fpscr */ \
+ vfp_ ## fname ## _end: \
+- ldmia sp!, {fp, pc}; /* recovering from stack and return */
++ ldmia sp!, {fp, pc}; /* recovering from stack and return */
+
+ UNROLL_F32_TEMPLATE(scalaradd_f32_ns,fadd);
+ UNROLL_F64_TEMPLATE(scalaradd_f64_ns,fadd);
+@@ -198,7 +198,7 @@ UNROLL_F64_TEMPLATE(scalarmultiply_f64_ns,fmul);
+ #undef UNROLL_F32_TEMPLATE
+ #undef UNROLL_F64_TEMPLATE
+
+-/*
++/*
+ **
+ ** void vfp_abs_f32_f32_ns(float *d, const float *s, int n);
+ ** void vfp_abs_f64_f64_ns(double *d, const double *s, int n);
+@@ -215,9 +215,9 @@ UNROLL_F64_TEMPLATE(scalarmultiply_f64_ns,fmul);
+ ands ip, r2, #7; /* ip = n % 8 */ \
+ beq vfp_ ## fname ## _unroll; /* if ip == 0 goto prep_loop2 */ \
+ vfp_ ## fname ## _loop1: \
+- fldmias r1!, {s0}; \
+- ## finst ##s s2, s0; \
+- fstmias r0!, {s2}; \
++ vldmia.f32 r1!, {s0}; \
++ ## finst ##.f32 s2, s0; \
++ vstmia.f32 r0!, {s2}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop1; \
+ vfp_ ## fname ## _unroll: /* unroll by 8 */ \
+@@ -228,14 +228,14 @@ UNROLL_F64_TEMPLATE(scalarmultiply_f64_ns,fmul);
+ orr fp, lr, fp, lsl #16; /* set vector lenght to 8 */ \
+ fmxr fpscr, fp; \
+ vfp_ ## fname ## _loop2: \
+- fldmias r1!, {s8, s9, s10, s11, s12, s13, s14, s15}; \
+- ## finst ##s s24, s8; \
+- fstmias r0!, {s24, s25, s26, s27, s28, s29, s30, s31}; \
++ vldmia.f32 r1!, {s8, s9, s10, s11, s12, s13, s14, s15}; \
++ ## finst ##.f32 s24, s8; \
++ vstmia.f32 r0!, {s24, s25, s26, s27, s28, s29, s30, s31}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop2; \
+ fmxr fpscr, lr; /* restore original fpscr */ \
+ vfp_ ## fname ## _end: \
+- ldmia sp!, {fp, pc}; /* recovering from stack and return */
++ ldmia sp!, {fp, pc}; /* recovering from stack and return */
+
+ #define UNROLL_F64_TEMPLATE(fname,finst) \
+ .global vfp_ ## fname ## ; \
+@@ -244,9 +244,9 @@ UNROLL_F64_TEMPLATE(scalarmultiply_f64_ns,fmul);
+ ands ip, r2, #3; /* ip = n % 3 */ \
+ beq vfp_ ## fname ## _unroll; /* if ip == 0 goto prep_loop2 */ \
+ vfp_ ## fname ## _loop1: \
+- fldmiad r1!, {d0}; \
+- ## finst ##d d2, d0; \
+- fstmiad r0!, {d2}; \
++ vldmia.f64 r1!, {d0}; \
++ ## finst ##.f64 d2, d0; \
++ vstmia.f64 r0!, {d2}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop1; \
+ vfp_ ## fname ## _unroll: /* unroll by 4 */ \
+@@ -257,20 +257,20 @@ UNROLL_F64_TEMPLATE(scalarmultiply_f64_ns,fmul);
+ orr fp, lr, fp, lsl #16; /* set vector lenght to 4 */ \
+ fmxr fpscr, fp; \
+ vfp_ ## fname ## _loop2: \
+- fldmiad r1!, {d4, d5, d6, d7}; \
+- ## finst ##d d12, d4; \
+- fstmiad r0!, {d12, d13, d14, d15}; \
++ vldmia.f64 r1!, {d4, d5, d6, d7}; \
++ ## finst ##.f64 d12, d4; \
++ vstmia.f64 r0!, {d12, d13, d14, d15}; \
+ subs ip, ip, #1; \
+ bne vfp_ ## fname ## _loop2; \
+ fmxr fpscr, lr; /* restore original fpscr */ \
+ vfp_ ## fname ## _end: \
+- ldmia sp!, {fp, pc}; /* recovering from stack and return */
++ ldmia sp!, {fp, pc}; /* recovering from stack and return */
+
+-UNROLL_F32_TEMPLATE(abs_f32_f32_ns,fabs);
+-UNROLL_F64_TEMPLATE(abs_f64_f64_ns,fabs);
++UNROLL_F32_TEMPLATE(abs_f32_f32_ns,vabs);
++UNROLL_F64_TEMPLATE(abs_f64_f64_ns,vabs);
+
+-UNROLL_F32_TEMPLATE(negative_f32,fneg);
+-UNROLL_F64_TEMPLATE(negative_f64,fneg);
++UNROLL_F32_TEMPLATE(negative_f32,vneg);
++UNROLL_F64_TEMPLATE(negative_f64,vneg);
+
+ #undef UNROLL_F32_TEMPLATE
+ #undef UNROLL_F64_TEMPLATE
diff --git a/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix_riscv_unaligned_access.patch b/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix_riscv_unaligned_access.patch
new file mode 100644
index 000000000..448bde73f
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix_riscv_unaligned_access.patch
@@ -0,0 +1,15 @@
+RISC-V supports unaligned accesses, therefore enable it
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/m4/as-unaligned-access.m4
++++ b/m4/as-unaligned-access.m4
+@@ -5,7 +5,7 @@ AC_DEFUN([AS_UNALIGNED_ACCESS], [
+ AC_MSG_CHECKING([if unaligned memory access works correctly])
+ if test x"$as_cv_unaligned_access" = x ; then
+ case $host in
+- alpha*|arm*|hp*|mips*|sh*|sparc*|ia64*)
++ alpha*|arm*|hp*|mips*|riscv*|sh*|sparc*|ia64*)
+ _AS_ECHO_N([(blacklisted) ])
+ as_cv_unaligned_access=no
+ ;;
diff --git a/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb b/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb
index 03b778521..654ee1e88 100644
--- a/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb
+++ b/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb
@@ -17,7 +17,9 @@ SRC_URI = "http://liboil.freedesktop.org/download/${BPN}-${PV}.tar.gz \
file://fix-unaligned-whitelist.patch \
file://0001-Fix-enable-vfp-flag.patch \
file://liboil_fix_for_x32.patch \
- "
+ file://0001-math_vfp_asm.S-Convert-fldmia-fstmia-instructions-to.patch \
+ file://fix_riscv_unaligned_access.patch \
+ "
SRC_URI[md5sum] = "47dc734f82faeb2964d97771cfd2e701"
SRC_URI[sha256sum] = "105f02079b0b50034c759db34b473ecb5704ffa20a5486b60a8b7698128bfc69"
diff --git a/meta-openembedded/meta-networking/MAINTAINERS b/meta-openembedded/meta-networking/MAINTAINERS
index 945ee86b2..5c4c4ce05 100644
--- a/meta-openembedded/meta-networking/MAINTAINERS
+++ b/meta-openembedded/meta-networking/MAINTAINERS
@@ -2,12 +2,38 @@ 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]' 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][PATCH
-Thud Maintainer: Armin Kuster <akuster808@gmail.com>
+You may also contact the maintainers directly.
+
+Descriptions of section entries:
+
+ M: Mail patches to: FullName <address@domain>
+ F: Files and directories with wildcard patterns.
+ A trailing slash includes all files and subdirectory files.
+ F: recipes-devtools/ all files in and below recipes-devtools
+ F: recipes-selinux/* all files in recipes-selinux, but not below
+ One pattern per line. Multiple F: lines acceptable.
+
+Please keep this list in alphabetical order.
+
+Maintainers List (try to look for most precise areas first)
+
+COMMON
+M: Khem Raj <raj.khem@gmail.com>
+M: "Joe MacDonald (backup)" <joe@deserted.net>
+L: openembedded-devel@lists.openembedded.org
+Q: https://patchwork.openembedded.org/project/oe/
+S: Maintained
+F: conf
+F: recipes-*
+
+NETKIT
+M: Armin Kuster <akuster808@gmail.com>
+F: recipes-netkit
diff --git a/meta-openembedded/meta-networking/README b/meta-openembedded/meta-networking/README
index 7a4aca48c..e1ba27d83 100644
--- a/meta-openembedded/meta-networking/README
+++ b/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: master
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: master
revision: HEAD
URI: git://github.com/openembedded/meta-openembedded.git
subdirectory: meta-python
-branch: thud
+branch: master
revision: HEAD
Maintenance
diff --git a/meta-openembedded/meta-networking/conf/layer.conf b/meta-openembedded/meta-networking/conf/layer.conf
index d36ff5bf9..67f58bcc2 100644
--- a/meta-openembedded/meta-networking/conf/layer.conf
+++ b/meta-openembedded/meta-networking/conf/layer.conf
@@ -17,7 +17,7 @@ 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"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch
deleted file mode 100644
index 865330213..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
index d681f7f30..c8fe24c63 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
@@ -4,11 +4,10 @@ HOMEPAGE = "https://github.com/civetweb/civetweb"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f28fdcba0dda735eed62bac6a397562"
-SRCREV = "19f31ba8dd8443e86c7028a4b4c37f4b299aa68c"
-PV = "1.10+git${SRCPV}"
+SRCREV = "ce8f6d38a60eb16c996afee1e5340f76ef4d0923"
+PV = "1.11+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/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
index d5d2ab68c..c93905ea7 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
+++ b/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 = "python-m2crypto-native python-typing-native python-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 \
@@ -23,13 +20,9 @@ SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e
inherit python-dir pythonnative siteinfo
-# "gcrypt" or "openssl"
-DEFAULT_CRYPT ??= "gcrypt"
-
# 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)}"
TARGET_BITS = "${SITEINFO_BITS}"
export TARGET_BITS
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb
deleted file mode 100644
index 885c6c0e2..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb
new file mode 100644
index 000000000..84c3db7a5
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb
@@ -0,0 +1,26 @@
+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=1e8f17e4edcccc38152ccf60374e0f89"
+
+SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "77bbb1d73b6f30d6ddcc8b0fd3eae266"
+SRC_URI[sha256sum] = "96968e883369ab4afd11eba9dfd9bb109f5dfff65b2814ce6c432f36362dc9b5"
+
+SRC_URI += "file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch"
+
+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/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch
new file mode 100644
index 000000000..37d234443
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch b/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch
new file mode 100644
index 000000000..346a56a9a
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
index 8890e1431..90051a319 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
+++ b/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/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch
new file mode 100644
index 000000000..3f34ff2e4
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch
@@ -0,0 +1,77 @@
+firewalld: fix building in a separate directory outside the source tree
+
+Upstream-Status: Submitted [https://github.com/firewalld/firewalld/pull/456]
+Signed-off-by: Dan Callaghan <dan.callaghan@opengear.com>
+
+diff --git a/config/Makefile.am b/config/Makefile.am
+index 7048d2ee..5270d408 100644
+--- a/config/Makefile.am
++++ b/config/Makefile.am
+@@ -377,11 +377,11 @@ install-config:
+ $(MKDIR_P) $(DESTDIR)$(sconfdir)/zones
+ $(MKDIR_P) $(DESTDIR)$(sconfdir)/helpers
+ $(MKDIR_P) $(DESTDIR)$(prefixlibdir)
+- cp -r icmptypes $(DESTDIR)$(prefixlibdir)
+- cp -r ipsets $(DESTDIR)$(prefixlibdir)
+- cp -r services $(DESTDIR)$(prefixlibdir)
+- cp -r zones $(DESTDIR)$(prefixlibdir)
+- cp -r helpers $(DESTDIR)$(prefixlibdir)
++ cp -r $(srcdir)/icmptypes $(DESTDIR)$(prefixlibdir)
++ cp -r $(srcdir)/ipsets $(DESTDIR)$(prefixlibdir)
++ cp -r $(srcdir)/services $(DESTDIR)$(prefixlibdir)
++ cp -r $(srcdir)/zones $(DESTDIR)$(prefixlibdir)
++ cp -r $(srcdir)/helpers $(DESTDIR)$(prefixlibdir)
+
+ uninstall-config:
+ rmdir $(DESTDIR)$(sconfdir)/icmptypes
+diff --git a/doc/xml/Makefile.am b/doc/xml/Makefile.am
+index 8c93ab9c..d0313e3e 100644
+--- a/doc/xml/Makefile.am
++++ b/doc/xml/Makefile.am
+@@ -69,7 +69,8 @@ edit = sed \
+ -e 's|\@PREFIX\@|$(prefix)|' \
+ -e 's|\@SYSCONFDIR\@|$(sysconfdir)|' \
+ -e 's|\@PACKAGE_STRING\@|$(PACKAGE_STRING)|' \
+- -e 's|\@IFCFGDIR\@|$(IFCFGDIR)|'
++ -e 's|\@IFCFGDIR\@|$(IFCFGDIR)|' \
++ -e 's|@SRCDIR@|$(srcdir)|'
+
+ transform-man.xsl: transform-man.xsl.in
+ $(edit) $< >$@
+diff --git a/doc/xml/firewall-cmd.xml.in b/doc/xml/firewall-cmd.xml.in
+index c2606553..24d77858 100644
+--- a/doc/xml/firewall-cmd.xml.in
++++ b/doc/xml/firewall-cmd.xml.in
+@@ -1,9 +1,9 @@
+ <?xml version="1.0" encoding="utf-8"?>
+ <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+ [
+-<!ENTITY authors SYSTEM "authors.xml">
+-<!ENTITY seealso SYSTEM "seealso.xml">
+-<!ENTITY notes SYSTEM "notes.xml">
++<!ENTITY authors SYSTEM "@SRCDIR@/authors.xml">
++<!ENTITY seealso SYSTEM "@SRCDIR@/seealso.xml">
++<!ENTITY notes SYSTEM "@SRCDIR@/notes.xml">
+ <!ENTITY errorcodes SYSTEM "errorcodes.xml">
+ ]>
+
+diff --git a/doc/xml/firewalld.xml.in b/doc/xml/firewalld.xml.in
+index de802059..3d319b04 100644
+--- a/doc/xml/firewalld.xml.in
++++ b/doc/xml/firewalld.xml.in
+@@ -1,9 +1,9 @@
+ <?xml version="1.0" encoding="utf-8"?>
+ <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+ [
+-<!ENTITY authors SYSTEM "authors.xml">
+-<!ENTITY seealso SYSTEM "seealso.xml">
+-<!ENTITY notes SYSTEM "notes.xml">
++<!ENTITY authors SYSTEM "@SRCDIR@/authors.xml">
++<!ENTITY seealso SYSTEM "@SRCDIR@/seealso.xml">
++<!ENTITY notes SYSTEM "@SRCDIR@/notes.xml">
+ ]>
+
+ <!--
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/firewalld.init b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/firewalld.init
new file mode 100644
index 000000000..08e8930b9
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb
new file mode 100644
index 000000000..e999fa7a5
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb
@@ -0,0 +1,84 @@
+SUMMARY = "Dynamic firewall daemon with a D-Bus interface"
+HOMEPAGE = "https://firewalld.org/"
+BUGTRACKER = "https://github.com/firewalld/firewalld/issues"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://github.com/firewalld/firewalld/archive/v${PV}.tar.gz \
+ file://firewalld.init \
+ file://0001-fix-building-in-a-separate-directory-outside-the-sou.patch \
+"
+SRC_URI[md5sum] = "5ef954d9b6b244ffeabcd226be1867a0"
+SRC_URI[sha256sum] = "039ad56ea6d6553aadf33243ea5b39802d73519e46a89c80c648b2bd1ec78aeb"
+
+# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
+# xmlto-native is needed to populate /etc/xml/catalog.xml in the sysroot so that xsltproc finds the docbook xslt
+DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native xmlto-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_unitdir}/system/,--disable-systemd"
+
+# 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 \
+"
+
+INITSCRIPT_NAME = "firewalld"
+SYSTEMD_SERVICE = "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 \
+ ${datadir}/polkit-1 \
+ ${datadir}/metainfo \
+"
+
+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/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
index 899c4e495..8dae0df5b 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
@@ -6,7 +6,6 @@ After=syslog.target network.target
Type=forking
PIDFile=@STATEDIR@/run/radiusd/radiusd.pid
ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd @STATEDIR@/run/radiusd
-ExecStartPre=-@BASE_BINDIR@/sh -c "if [ ! -f @SYSCONFDIR@/raddb/certs/server.pem ]; then sudo -u radiusd @SYSCONFDIR@/raddb/certs/bootstrap; fi"
ExecStartPre=@SBINDIR@/radiusd -C
ExecStart=@SBINDIR@/radiusd -d @SYSCONFDIR@/raddb
ExecReload=@SBINDIR@/radiusd -C
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
index c17d56dea..5ab9a3fb4 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
@@ -68,6 +68,7 @@ EXTRA_OECONF = " --enable-strict-dependencies \
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"
@@ -83,6 +84,9 @@ PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --w
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"
+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
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
deleted file mode 100644
index a27dbae2e..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.13.0.bb
deleted file mode 100644
index ff3f7f0c1..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb
new file mode 100644
index 000000000..2e9d01e14
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb
@@ -0,0 +1,41 @@
+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] = "eae9cf16114f4491dbbc0fe36bb7e6c3"
+SRC_URI[sha256sum] = "e3dab56e9093c790b7d5e0f7eb19451010fe680649d25cf1dcca9d5441669ae2"
+
+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/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch
new file mode 100644
index 000000000..cd4291d91
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch
@@ -0,0 +1,40 @@
+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: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ genconfig.sh | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/genconfig.sh b/genconfig.sh
+index dc42462..59922e9 100755
+--- a/genconfig.sh
++++ b/genconfig.sh
+@@ -98,6 +98,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}
+@@ -318,6 +324,11 @@ case $OS_NAME in
+ echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE}
+ FW=netfilter
+ ;;
++ OpenEmbedded)
++ OS_URL=http://www.openembedded.org/
++ echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE}
++ FW=netfilter
++ ;;
+ AstLinux)
+ OS_URL=http://www.astlinux.org/
+ echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb
deleted file mode 100644
index 04b5cd589..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb
new file mode 100644
index 000000000..302f5072d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb
@@ -0,0 +1,48 @@
+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 \
+ file://0001-Add-OpenEmbedded-cross-compile-case.patch \
+ "
+SRC_URI[md5sum] = "03b00c27106835e728a3b858ecf83390"
+SRC_URI[sha256sum] = "1aaecd25cf152d99557dfe80c7508af9cb06e97ecad4786ce5dafb4c958d196b"
+
+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
+}
+
+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/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch
deleted file mode 100644
index c89dfe6be..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb
deleted file mode 100644
index 06c1d67da..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb
new file mode 100644
index 000000000..768b5930f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb
@@ -0,0 +1,93 @@
+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://mosquitto.init \
+"
+
+SRC_URI[md5sum] = "bbbcceb32db3657d9d436a8440a9db1c"
+SRC_URI[sha256sum] = "78d7e70c3794dc3a1d484b4f2f8d3addebe9c2da3f5a1cebe557f7d13beb0da4"
+
+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 \
+ WITH_BUNDLED_DEPS=no \
+"
+
+export LIB_SUFFIX = "${@d.getVar('baselib').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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch b/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 0c415bce7..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
new file mode 100644
index 000000000..302c0292b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
@@ -0,0 +1,22 @@
+From 3dc3d8e73bc430ea4e93e33f7b2a4b3e0ff175af 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 967eac0..b914219 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -592,7 +592,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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/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 49a07353d..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
new file mode 100644
index 000000000..5581dd3aa
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
@@ -0,0 +1,71 @@
+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 | 11 -----------
+ configure.ac | 5 -----
+ 2 files changed, 16 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index b180466..1ab4658 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1298,9 +1298,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
+
+@@ -3930,18 +3928,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 b914219..872c292 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1215,11 +1215,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.20.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
deleted file mode 100644
index 351f264cb..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch
deleted file mode 100644
index c50293c09..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch
new file mode 100644
index 000000000..555e5ffcb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch
@@ -0,0 +1,54 @@
+From b2cdab746ef64bc25ba0b9cff596ebdddd6e8dc6 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 def56a2..dd4eb78 100644
+--- a/shared/n-acd/src/n-acd.c
++++ b/shared/n-acd/src/n-acd.c
+@@ -11,7 +11,6 @@
+ #include <inttypes.h>
+ #include <limits.h>
+ #include <linux/if_packet.h>
+-#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/src/platform/wpan/nm-wpan-utils.h b/src/platform/wpan/nm-wpan-utils.h
+index 1b54ec4..ed39938 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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch
deleted file mode 100644
index 00dda5b18..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch
deleted file mode 100644
index c162c1dfb..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
new file mode 100644
index 000000000..5c59208b4
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
@@ -0,0 +1,37 @@
+From 32dc6cab58912add5bc6495558538953d9344c36 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 741128e..62914ae 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-core.h"
+
+ #include <arpa/inet.h>
++#include <net/ethernet.h>
+ #include <linux/sockios.h>
+ #include <sys/ioctl.h>
+
+diff --git a/src/systemd/src/systemd/sd-lldp.h b/src/systemd/src/systemd/sd-lldp.h
+index bf3afad..4cace87 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"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-basic.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-basic.patch
new file mode 100644
index 000000000..8d905489f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-basic.patch
@@ -0,0 +1,56 @@
+From ff1a5b849755db67b1778940fff92d6eb8b8b050 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
+
+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
+
+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>
+
+---
+ shared/systemd/src/basic/stdio-util.h | 2 ++
+ shared/systemd/src/basic/util.h | 5 +++++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
+index dc67b6e..6336243 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/util.h b/shared/systemd/src/basic/util.h
+index dc33d66..8ee2d64 100644
+--- a/shared/systemd/src/basic/util.h
++++ b/shared/systemd/src/basic/util.h
+@@ -27,6 +27,11 @@
+ #include "macro.h"
+ #include "time-util.h"
+
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++#endif
++
+ size_t page_size(void) _pure_;
+ #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch
deleted file mode 100644
index 9a58c0e34..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-dlopen-configure-ac.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-dlopen-configure-ac.patch
new file mode 100644
index 000000000..419e1be24
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-dlopen-configure-ac.patch
@@ -0,0 +1,33 @@
+From 7743ea63fbe572b1f82db7d399fe9c5c99521432 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 b914219..1b2b0ff 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -241,6 +241,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],
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch
deleted file mode 100644
index 9e5c94336..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch
deleted file mode 100644
index 6bca95e18..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-network-support.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-network-support.patch
new file mode 100644
index 000000000..45f607f2c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-network-support.patch
@@ -0,0 +1,71 @@
+From 70ecbc01874bf2f8603ccbdfda634cac0bb83d93 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 ++++
+ shared/systemd/src/basic/socket-util.h | 6 ++++++
+ src/platform/wifi/nm-wifi-utils.h | 4 ++++
+ 3 files changed, 14 insertions(+)
+
+diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
+index 2b5baba..976850c 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/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h
+index d2246a8..76f257f 100644
+--- a/shared/systemd/src/basic/socket-util.h
++++ b/shared/systemd/src/basic/socket-util.h
+@@ -13,6 +13,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/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h
+index 36148b5..d282eb2 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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch
deleted file mode 100644
index 023a4d9ad..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-musl-process-util.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-musl-process-util.patch
new file mode 100644
index 000000000..525e35932
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-musl-process-util.patch
@@ -0,0 +1,60 @@
+From 4f2fb1e1f785bad22df8f3d96cb4792acf21f315 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>
+
+---
+ shared/systemd/src/basic/process-util.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c
+index b0afb5c..7adc8bd 100644
+--- a/shared/systemd/src/basic/process-util.c
++++ b/shared/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>
+@@ -1168,11 +1171,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;
+@@ -1201,7 +1206,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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0007-musl-avoid-further-conflicts-by-including-net-ethern.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0007-musl-avoid-further-conflicts-by-including-net-ethern.patch
new file mode 100644
index 000000000..211a2da94
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0007-musl-avoid-further-conflicts-by-including-net-ethern.patch
@@ -0,0 +1,75 @@
+From 4232a34064e33b52f07cca51b902b93699800f72 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 bd0d429..c935fe1 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>
+ #include <stdbool.h>
+diff --git a/src/systemd/src/systemd/sd-dhcp-lease.h b/src/systemd/src/systemd/sd-dhcp-lease.h
+index d299c79..991e67e 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 43d38f5..57ab487 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 <sys/types.h>
+
+ #include "sd-dhcp6-lease.h"
+diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h
+index 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"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0008-Add-a-strndupa-replacement-for-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0008-Add-a-strndupa-replacement-for-musl.patch
new file mode 100644
index 000000000..885810185
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0008-Add-a-strndupa-replacement-for-musl.patch
@@ -0,0 +1,45 @@
+From cdd69321ec97ed19e66a747a968a1637a251b9e6 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>
+
+---
+ shared/systemd/src/basic/in-addr-util.c | 1 +
+ shared/systemd/src/basic/string-util.h | 5 +++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/shared/systemd/src/basic/in-addr-util.c b/shared/systemd/src/basic/in-addr-util.c
+index 5ced350..c6b52b8 100644
+--- a/shared/systemd/src/basic/in-addr-util.c
++++ b/shared/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/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h
+index 38070ab..6b918e0 100644
+--- a/shared/systemd/src/basic/string-util.h
++++ b/shared/systemd/src/basic/string-util.h
+@@ -27,6 +27,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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb
deleted file mode 100644
index f21600eda..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb
new file mode 100644
index 000000000..bdf60ee7c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb
@@ -0,0 +1,143 @@
+SUMMARY = "NetworkManager"
+HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
+ file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
+ file://docs/api/html/license.html;md5=233931303ef80eded167add1f60a50c1 \
+"
+
+DEPENDS = " \
+ intltool-native \
+ libxslt-native \
+ libnl \
+ libgudev \
+ util-linux \
+ libndp \
+ libnewt \
+ 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-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
+ file://0002-Do-not-create-settings-settings-property-documentati.patch \
+ file://musl/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch \
+ file://musl/0002-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
+ file://musl/0003-musl-basic.patch \
+ file://musl/0004-musl-dlopen-configure-ac.patch \
+ file://musl/0005-musl-network-support.patch \
+ file://musl/0006-musl-process-util.patch \
+ file://musl/0007-musl-avoid-further-conflicts-by-including-net-ethern.patch \
+ file://musl/0008-Add-a-strndupa-replacement-for-musl.patch \
+"
+SRC_URI[md5sum] = "10abacaafb162a67d2942adf03e7e9e4"
+SRC_URI[sha256sum] = "8e962833b6ca03edda1bc57ed6614a7b8c2339531b44acef098d05f2324c5d2c"
+
+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 polkit', d)} \
+"
+PACKAGECONFIG[systemd] = " \
+ --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
+ --without-systemdsystemunitdir, \
+"
+PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,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} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
+
+do_install_append() {
+ rm -rf ${D}/run ${D}${localstatedir}/run
+}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
index c944144e2..050a2833c 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
@@ -2,7 +2,11 @@ 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"
+SRCREV = "6487ee8763e1b6345718684909aca970befbc49d"
+
DEPENDS = "vpnc libxml2 krb5 gettext-native"
+RDEPENDS_${PN} = "bash python"
PACKAGECONFIG ??= "gnutls lz4 libproxy"
@@ -14,10 +18,7 @@ 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"
+PV = "8.02"
S = "${WORKDIR}/git"
@@ -25,3 +26,8 @@ inherit autotools pkgconfig
EXTRA_OECONF += "--with-vpnc-script=${SYSROOT_DESTDIR}${sysconfdir}/vpnc/vpnc-script \
--disable-static"
+
+do_configure_append() {
+ # script has /usr/bin/python2 path hardcoded
+ sed -i -e 's=python2\.*=python=g' ${S}/trojans/tncc-wrapper.py
+}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb
deleted file mode 100644
index 4e41aa576..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb
new file mode 100644
index 000000000..3aa41f1ad
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/python-networkmanager/python-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 setuptools
+
+RDEPENDS_${PN} = "networkmanager python-dbus python-six"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb
index f1aaeb83d..e86ed96a5 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb
@@ -193,15 +193,15 @@ PACKAGES =+ "${PN}-python ${PN}-pidl \
python samba_populate_packages() {
def module_hook(file, pkg, pattern, format, basename):
- pn = d.getVar('PN', True)
+ pn = d.getVar('PN')
d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
- mlprefix = d.getVar('MLPREFIX', True) or ''
+ 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', 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)
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb
index a99138d3d..c2eb95fe7 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb
@@ -72,7 +72,7 @@ do_install_append() {
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
+ sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
}
FILES_${PN} += " \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb
deleted file mode 100644
index e1aa9a517..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb
new file mode 100644
index 000000000..7b7de5849
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb
@@ -0,0 +1,42 @@
+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] = "b5eb2d0cc23f5e495a59405e34ce437f"
+SRC_URI[sha256sum] = "3a4e6f7006599bc5764f86e1e86422710da13ad80e0242147b61c6855ebc915f"
+
+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/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch
deleted file mode 100644
index f304d933d..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb
deleted file mode 100644
index dc9094d8b..000000000
--- a/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/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.15.7.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.15.7.bb
new file mode 100644
index 000000000..0a0a6075d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.15.7.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 = "https://www.wolfssl.com/wolfssl-${PV}.zip"
+SRC_URI[md5sum] = "6ec08c09e3f51cccbb1686b4fd45f92f"
+SRC_URI[sha256sum] = "4cc318c49580d3b9c361fe258fac6106624aa744f1d34e03977b587766a753ee"
+
+inherit autotools
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb b/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb
new file mode 100644
index 000000000..eaf140953
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb b/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb
new file mode 100644
index 000000000..f4c7401b3
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
new file mode 100644
index 000000000..63ad34cb8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
@@ -0,0 +1,122 @@
+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 umip vpnc \
+ inetutils wolfssl lftp miniupnpd networkmanager \
+ networkmanager-openvpn rdist nanomsg python-networkmanager \
+ wireless-regdb \
+ ${@bb.utils.contains("DISTRO_FEATURE", "bluez5 x11", "blueman", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURE", "pam", "samba", "", d)} \
+ "
+
+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_FEATURE", "systemd", "networkd-dispatcher", "", d)} \
+ "
+
+RDEPENDS_packagegroup-meta-networking-devtools = "\
+ python-ldap grpc \
+ "
+
+RDEPENDS_packagegroup-meta-networking-extended = "\
+ corosync \
+ ${@bb.utils.contains("DISTRO_FEATURE", "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-rusers-client netkit-rusers-server netkit-rpc \
+ "
+
+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_FEATURE", "pam", "dante", "", d)} \
+ "
+
+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 ipsec-tools \
+ traceroute geoip-perl geoip geoipupdate esmtp \
+ libtdb netcf dnsmasq curlpp openipmi drbd-utils \
+ drbd 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 c-ares uftp \
+ ntimed linux-atm ssmtp openvpn lowpan-tools rdma-core \
+ iftop aoetools tcpslice tcpdump libtalloc memcached nuttcp netcat \
+ netcat-openbsd fetchmail yp-tools ypbind-mt yp-tools \
+ arptables macchanger nghttp2 strongswan fping \
+ dnssec-conf libesmtp cifs-utils open-isns \
+ ${@bb.utils.contains("DISTRO_FEATURE", "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/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
index f3f25f461..410827b33 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
+++ b/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.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 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.5)
# 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/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
index 469027aac..e7fdd10aa 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
+++ b/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/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch
deleted file mode 100644
index 1d5c3e1ee..000000000
--- a/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/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
index 1c7b11997..be750ab89 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
+++ b/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/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
index 3d0c6bd71..d1f9f3493 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
+++ b/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/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb
deleted file mode 100644
index 8a1bcad28..000000000
--- a/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/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.5.bb b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.5.bb
new file mode 100644
index 000000000..9e43549e8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.5.bb
@@ -0,0 +1,84 @@
+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 \
+ "
+
+
+SRC_URI[md5sum] = "03b13168ec7bd66a6f2d5f6fea705eee"
+SRC_URI[sha256sum] = "86a8e56ea9d72bb53ff8cdfeefb5cafe983592c6b0178fb99c4a731e59879181"
+
+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 () {
+ # 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
+}
+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/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb
deleted file mode 100644
index 5424dc455..000000000
--- a/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/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb
new file mode 100644
index 000000000..c99ebe0e9
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb
@@ -0,0 +1,15 @@
+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}/igmpproxy-${PV}.tar.gz \
+ file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \
+"
+SRC_URI[md5sum] = "3a9c2cb42c1f5ee0cb769a4884545641"
+SRC_URI[sha256sum] = "d351e623037390f575c1203d9cbb7ba33a8bdef85a3c5e1d2901c5a2a38449a1"
+
+inherit autotools pkgconfig
+
+CFLAGS += "-D_GNU_SOURCE"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch
new file mode 100644
index 000000000..f945c636f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch
@@ -0,0 +1,115 @@
+From 24ce8f62e042e69497e1299212504c356179e15b Mon Sep 17 00:00:00 2001
+From: Lee Duncan <lduncan@suse.com>
+Date: Tue, 6 Nov 2018 11:16:06 -0800
+Subject: [PATCH] Fix i586 build issues with string length overflow.
+
+Gcc7 warns of possible string print overflow, on i586,
+when printing password length (via a macro), generating
+errors like:
+
+[ 59s] ^~~~~~~~~~~~~~~~~~~~
+[ 59s] In file included from /usr/include/stdio.h:862:0,
+[ 59s] from idbm.h:27,
+[ 59s] from context.h:22,
+[ 59s] from idbm.c:59:
+[ 59s] /usr/include/bits/stdio2.h:64:10: note:
+'__builtin___snprintf_chk' output between 2 and 11 bytes into a
+destination of size 8
+[ 59s] return __builtin___snprintf_chk (__s, __n,
+__USE_FORTIFY_LEVEL - 1,
+[ 59s] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~
+[ 59s] __bos (__s), __fmt, __va_arg_pack ());
+[ 59s] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+[ 59s] cc1: all warnings being treated as errors
+[ 59s] make[1]: *** [<builtin>: idbm.o] Error 1
+[ 59s] make[1]: Leaving directory
+
+The fix is to limit the size of the string printed, so that no
+overflow is possible.
+
+The print macros in usr/idbm.c were updated, as well, to match
+the newer version in libopeniscsiusr/idbm.c, also to help the
+i586 build.
+
+Upstream-Status: Backport[https://github.com/open-iscsi/open-iscsi/commit/24ce8f62e042e69497e1299212504c356179e15b]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ libopeniscsiusr/idbm.c | 2 +-
+ usr/idbm.c | 11 ++++++-----
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c
+index 7724de2..055dd9a 100644
+--- a/libopeniscsiusr/idbm.c
++++ b/libopeniscsiusr/idbm.c
+@@ -676,7 +676,7 @@ updated:
+ if (!passwd_done && !strcmp(#_param, name)) { \
+ passwd_done = 1; \
+ name = #_param "_length"; \
+- snprintf(passwd_len, 8, "%d", (int)strlen(value)); \
++ snprintf(passwd_len, 8, "%.7d", (int)strlen(value) & 0xffff); \
+ value = passwd_len; \
+ goto setup_passwd_len; \
+ }
+diff --git a/usr/idbm.c b/usr/idbm.c
+index a0207e2..89a6c27 100644
+--- a/usr/idbm.c
++++ b/usr/idbm.c
+@@ -30,6 +30,7 @@
+ #include <fcntl.h>
+ #include <sys/stat.h>
+ #include <sys/file.h>
++#include <inttypes.h>
+
+ #include "idbm.h"
+ #include "idbm_fields.h"
+@@ -65,7 +66,7 @@ static struct idbm *db;
+ #define __recinfo_int(_key, _info, _rec, _name, _show, _n, _mod) do { \
+ _info[_n].type = TYPE_INT; \
+ strlcpy(_info[_n].name, _key, NAME_MAXVAL); \
+- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \
++ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIi32, _rec->_name); \
+ _info[_n].data = &_rec->_name; \
+ _info[_n].data_len = sizeof(_rec->_name); \
+ _info[_n].visible = _show; \
+@@ -76,7 +77,7 @@ static struct idbm *db;
+ #define __recinfo_uint8(_key, _info, _rec, _name, _show, _n, _mod) do { \
+ _info[_n].type = TYPE_UINT8; \
+ strlcpy(_info[_n].name, _key, NAME_MAXVAL); \
+- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \
++ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu8, _rec->_name); \
+ _info[_n].data = &_rec->_name; \
+ _info[_n].data_len = sizeof(_rec->_name); \
+ _info[_n].visible = _show; \
+@@ -87,7 +88,7 @@ static struct idbm *db;
+ #define __recinfo_uint16(_key, _info, _rec, _name, _show, _n, _mod) do { \
+ _info[_n].type = TYPE_UINT16; \
+ strlcpy(_info[_n].name, _key, NAME_MAXVAL); \
+- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \
++ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu16, _rec->_name); \
+ _info[_n].data = &_rec->_name; \
+ _info[_n].data_len = sizeof(_rec->_name); \
+ _info[_n].visible = _show; \
+@@ -98,7 +99,7 @@ static struct idbm *db;
+ #define __recinfo_uint32(_key, _info, _rec, _name, _show, _n, _mod) do { \
+ _info[_n].type = TYPE_UINT32; \
+ strlcpy(_info[_n].name, _key, NAME_MAXVAL); \
+- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \
++ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu32, _rec->_name); \
+ _info[_n].data = &_rec->_name; \
+ _info[_n].data_len = sizeof(_rec->_name); \
+ _info[_n].visible = _show; \
+@@ -1041,7 +1042,7 @@ updated:
+ if (!passwd_done && !strcmp(#_param, name)) { \
+ passwd_done = 1; \
+ name = #_param "_length"; \
+- snprintf(passwd_len, 8, "%d", (int)strlen(value)); \
++ snprintf(passwd_len, 8, "%.7" PRIi32, (int)strlen(value) & 0xffff); \
+ value = passwd_len; \
+ goto setup_passwd_len; \
+ }
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
index e6a87a38a..48b0783f6 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
@@ -14,6 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
SRCREV ?= "bd79e4ed1004a6035d2538a308c5930890421a22"
SRC_URI = "git://github.com/open-iscsi/open-iscsi \
+ file://0001-Fix-i586-build-issues-with-string-length-overflow.patch \
file://initd.debian \
file://99_iscsi-initiator-utils \
file://iscsi-initiator \
diff --git a/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb b/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
index c4b3309f7..ca9130db1 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
@@ -60,10 +60,11 @@ 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
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch
index db6796d05..93c75777f 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch
@@ -1,4 +1,4 @@
-From ae7178a78aba2e5766b70191617113487fd7ad0b Mon Sep 17 00:00:00 2001
+From 88661a60629894353512c53ed32f2b901f64149c 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
@@ -53,7 +53,7 @@ index 81e521e..d53cc48 100644
TRACE_ENTER();
diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc b/src/smf/smfd/SmfUpgradeCampaign.cc
-index 45cdce8..6761bcf 100644
+index c30ea14..098f17a 100644
--- a/src/smf/smfd/SmfUpgradeCampaign.cc
+++ b/src/smf/smfd/SmfUpgradeCampaign.cc
@@ -447,7 +447,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) {
@@ -66,11 +66,11 @@ index 45cdce8..6761bcf 100644
/* 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");
+ attrsmfCampRestartCnt.SetAttributeName("smfCampRestartCnt");
+ attrsmfCampRestartCnt.SetAttributeType("SA_IMM_ATTR_SAUINT32T");
char buf[5];
- snprintf(buf, 4, "%d", curCnt);
+ snprintf(buf, 4, "%hd", curCnt);
- attrsmfCampRestartCnt.addValue(buf);
- imoCampRestartInfo.addValue(attrsmfCampRestartCnt);
+ attrsmfCampRestartCnt.AddAttributeValue(buf);
+ imoCampRestartInfo.AddValue(attrsmfCampRestartCnt);
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb
deleted file mode 100644
index c534c6206..000000000
--- a/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/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.09.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.09.bb
new file mode 100644
index 000000000..f1aedc4de
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.09.bb
@@ -0,0 +1,75 @@
+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] = "45044fde0b35eac057a5fa05c27b8040"
+SRC_URI[sha256sum] = "230a0ea628ba278170a913746c39b2c8cd529d7dc25326b2e17b5c095cf94025"
+
+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}"
+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() {
+ 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/meta-openembedded/meta-networking/recipes-daemons/postfix/files/linux_5.x.patch b/meta-openembedded/meta-networking/recipes-daemons/postfix/files/linux_5.x.patch
new file mode 100644
index 000000000..fbb811c06
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/files/linux_5.x.patch
@@ -0,0 +1,27 @@
+Recognise kernel 5.x versioning scheme
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/makedefs
++++ b/makedefs
+@@ -543,7 +543,7 @@ EOF
+ : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
+ : ${PLUGIN_LD="${CC-gcc} -shared"}
+ ;;
+- Linux.[34].*) SYSTYPE=LINUX$RELEASE_MAJOR
++ Linux.[345].*) SYSTYPE=LINUX$RELEASE_MAJOR
+ case "$CCARGS" in
+ *-DNO_DB*) ;;
+ *-DHAS_DB*) ;;
+--- a/src/util/sys_defs.h
++++ b/src/util/sys_defs.h
+@@ -749,7 +749,7 @@ extern int initgroups(const char *, int)
+ /*
+ * LINUX.
+ */
+-#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4)
++#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5)
+ #define SUPPORTED
+ #define UINT32_TYPE unsigned int
+ #define UINT16_TYPE unsigned short
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.3.1.bb b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.3.1.bb
deleted file mode 100644
index 6718b7ef9..000000000
--- a/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/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.1.bb b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.1.bb
new file mode 100644
index 000000000..73380d8c6
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.1.bb
@@ -0,0 +1,12 @@
+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 \
+ file://linux_5.x.patch \
+ "
+SRC_URI[md5sum] = "d292bb49a1c79ff6d2eb9c5e88c51425"
+SRC_URI[sha256sum] = "8c9763f7a8ec70d499257b7f25bb50e1f3da8a4c43e59826ba8a26c4a778d0ce"
+
+UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.3(\.\d+)+).tar.gz"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb b/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.17.bb
deleted file mode 100644
index 4baea01d0..000000000
--- a/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/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.18.bb b/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.18.bb
new file mode 100644
index 000000000..6097b209d
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.27.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.27.bb
deleted file mode 100644
index 1557c4b2d..000000000
--- a/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/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.28.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.28.bb
new file mode 100644
index 000000000..e33c1b7cc
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.28.bb
@@ -0,0 +1,115 @@
+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] = "4ae3f6277b3aa6386cb5ad2d954179c2"
+SRC_URI[sha256sum] = "11971bfe3c13f438e42569ea551206caf68ecaa968305c30f7b422b556ebc7ac"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \
+ file://errors/COPYRIGHT;md5=1c0781e2ecd3051c765d525572defbc7 \
+ "
+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/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch b/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 000000000..7573c967f
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch b/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 c6c0f80a1..000000000
--- a/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/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
index 2e3e0e884..df0d7f455 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
+++ b/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/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb b/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
index 8c6979c2e..728ef8746 100644
--- a/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
+++ b/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
@@ -30,5 +30,5 @@ do_configure_prepend() {
}
do_install_append() {
- sed -i 's/-fdebug-prefix-map[^ ]*//g; s#${STAGING_DIR_TARGET}##g' ${D}${libdir}/pkgconfig/*.pc
+ sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
}
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb
deleted file mode 100644
index 2c69c58f8..000000000
--- a/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/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190123.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190123.bb
new file mode 100644
index 000000000..badc97a97
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190123.bb
@@ -0,0 +1,31 @@
+require wireguard.inc
+
+inherit module kernel-module-split
+
+DEPENDS = "virtual/kernel libmnl"
+
+# This module requires Linux 3.10 higher and several networking related
+# configuration options. For exact kernel requirements visit:
+# https://www.wireguard.io/install/#kernel-requirements
+
+EXTRA_OEMAKE_append = " \
+ KERNELDIR=${STAGING_KERNEL_DIR} \
+ "
+
+MAKE_TARGETS = "module"
+
+RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
+MODULE_NAME = "wireguard"
+
+# Kernel module packages MUST begin with 'kernel-module-', otherwise
+# multilib image generation can fail.
+#
+# The following line is only necessary if the recipe name does not begin
+# with kernel-module-.
+PKG_${PN} = "kernel-module-${MODULE_NAME}"
+
+module_do_install() {
+ install -d ${D}${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/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190123.bb
index c4ddbcb0e..c4ddbcb0e 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190123.bb
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
index 6bd581a68..8314e79b9 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
@@ -11,7 +11,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz"
-SRC_URI[md5sum] = "39bb99fe11356423fb1ab45ae2d938bb"
-SRC_URI[sha256sum] = "2b97697e9b271ba8836a04120a287b824648124f21d5309170ec51c1f86ac5ed"
+SRC_URI[md5sum] = "8a0a232f65d5d86dd408efd9ac30bcf9"
+SRC_URI[sha256sum] = "edd13c7631af169e3838621b1a1bff3ef73cf7bc778eec2bd55f7c1089ffdf9b"
S = "${WORKDIR}/WireGuard-${PV}/src/"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
index 03dd96338..d034cd8ed 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
@@ -39,6 +39,8 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam"
+COMPATIBLE_HOST_libc-musl = 'null'
+
do_configure () {
./configure --prefix=${prefix} --exec-prefix=${exec_prefix}
echo "INSTALLROOT=${D}" > MCONFIG
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch
new file mode 100644
index 000000000..7e686ce7f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch
@@ -0,0 +1,62 @@
+From e38c508ef401593b1d4fe42b62e42a49cfec82af 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 43caddf..c09deb0 100644
+--- a/snmplib/scapi.c
++++ b/snmplib/scapi.c
+@@ -1253,7 +1253,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));
+
+@@ -1263,6 +1262,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.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch
deleted file mode 100644
index 2d540967e..000000000
--- a/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/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch
new file mode 100644
index 000000000..b0dbf5ad3
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
new file mode 100644
index 000000000..4316c7a71
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
index 757c1dbf6..673142b4a 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
@@ -1,9 +1,9 @@
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"
@@ -24,7 +24,9 @@ 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 \
"
SRC_URI[md5sum] = "6aae5948df7efde626613d6a4b3cd9d4"
SRC_URI[sha256sum] = "c6291385b8ed84f05890fe4197005daf7e7ee7b082c2e390fa114a9477a56042"
@@ -41,15 +43,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"
+PACKAGECONFIG[des] = "--enable-des,--disable-des"
EXTRA_OECONF = "--enable-shared \
--disable-manuals \
@@ -68,12 +70,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 \
@@ -114,11 +121,13 @@ 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@[^ ]*--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' \
-i ${D}${bindir}/net-snmp-config
if [ "${HAS_PERL}" = "1" ]; then
@@ -169,12 +178,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 \
diff --git a/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb b/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb
deleted file mode 100644
index b31543d9c..000000000
--- a/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/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb b/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb
new file mode 100644
index 000000000..d437529dc
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb
@@ -0,0 +1,26 @@
+# 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.15.0+gitr${SRCPV}"
+
+SRC_URI = "\
+ git://github.com/c-ares/c-ares.git \
+ file://cmake-install-libcares.pc.patch \
+"
+SRCREV = "e982924acee7f7313b4baa4ee5ec000c5e373c30"
+
+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/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb b/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb
index 31875ea50..4ecaabd7e 100644
--- a/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb
+++ b/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/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb b/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb
index a14de46db..67d1db222 100644
--- a/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb
+++ b/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/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
index 4f4bbf144..33678e234 100644
--- a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
+++ b/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/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb
deleted file mode 100644
index a66b9a9ad..000000000
--- a/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/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb
new file mode 100644
index 000000000..fdbdefbad
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb
@@ -0,0 +1,8 @@
+require dnsmasq.inc
+
+SRC_URI[dnsmasq-2.80.md5sum] = "1f071fd11454e1cffea73bdadcf70b21"
+SRC_URI[dnsmasq-2.80.sha256sum] = "9e4a58f816ce0033ce383c549b7d4058ad9b823968d352d2b76614f83ea39adc"
+SRC_URI += "\
+ file://lua.patch \
+"
+
diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf b/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf
new file mode 100644
index 000000000..33f464963
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb
deleted file mode 100644
index 882d5d554..000000000
--- a/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/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.bb b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.bb
new file mode 100644
index 000000000..39bfb912e
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.36.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] = "a8d6492584025b2413e82ea48de3cd5f"
+SRC_URI[sha256sum] = "e9aba89bb1ac1e9581b84e4a7a50f53142539614eaf7cc4c80007ebea4988be5"
+
+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/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.16-1.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.16-1.bb
new file mode 100644
index 000000000..8794c4f91
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.16-1.bb
@@ -0,0 +1,23 @@
+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] = "6414a9eef2807c8210b6403e36ce3ea4"
+SRC_URI[sha256sum] = "6074b0d643f4bbae4641d3b4bc30f4840e74f2a212dd9c6555b8141e530e5789"
+
+inherit module
+
+EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
+
+do_install () {
+ oe_runmake install DESTDIR="${D}"
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
deleted file mode 100644
index fa4d10b4c..000000000
--- a/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/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch
new file mode 100644
index 000000000..10f2ef84d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch
@@ -0,0 +1,35 @@
+From 7205761d654636a6c1fad03a3ca40d38e253e192 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 16:01:07 +0800
+Subject: [PATCH] Makefile: fix problem that waf cannot found
+
+tdb is subfolder of samba, but it can also build independently.
+so both path need to be added into PATH
+
+Upsteam-Status: Inappropriate [oe specific]
+
+Fix reject by upstream since upsteam need to support both python2/3,
+so drop add append PATH. refer link:
+https://gitlab.com/samba-team/samba/merge_requests/209
+https://gitlab.com/samba-team/samba/merge_requests/211
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 3e70146..64bb393 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ # simple makefile wrapper to run waf
+
+-WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
++WAF_BINARY=PATH=buildtools/bin:../../buildtools/bin:$$PATH waf
+ WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
+
+ all:
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 000000000..e20c9a2c2
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,63 @@
+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 libtdb from 1.3.16 to 1.3.17, waf build system
+which used by libtdb upgrade from 1.5.19 to 2.0.8
+
+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 2.0.8, 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/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
index 365b92da2..e6e10238f 100644
--- a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
+++ b/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 13bbc851d9fd7396f087758e614abba60eeb2aad 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, 23 Jan 2019 10:14:05 +0800
Subject: [PATCH] tdb: Add configure options for packages
Add configure options for the following packages:
@@ -21,16 +21,19 @@ 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>
+
+Update for libtdb_1.3.17
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- lib/replace/wscript | 89 +++++++++++++++++++++++++++++++++++++++++------------
+ lib/replace/wscript | 95 ++++++++++++++++++++++++++++++++++++++++-------------
wscript | 6 ++++
- 2 files changed, 75 insertions(+), 20 deletions(-)
+ 2 files changed, 79 insertions(+), 22 deletions(-)
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fd00a42..2df83cd 100644
+index 6cbae93..7aeaf46 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 +75,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)
@@ -103,21 +106,24 @@ index fd00a42..2df83cd 100644
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):
+@@ -110,8 +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')
+ 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):
+@@ -379,21 +429,22 @@ 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',
@@ -132,27 +138,30 @@ index fd00a42..2df83cd 100644
-
- 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 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 bc5ee26..9ac10b6 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/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb
deleted file mode 100644
index 0579ed6e3..000000000
--- a/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/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb
new file mode 100644
index 000000000..4c7755cba
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb
@@ -0,0 +1,52 @@
+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 \
+ file://0001-waf-add-support-of-cross_compile.patch \
+ file://0001-Makefile-fix-problem-that-waf-cannot-found.patch \
+"
+
+SRC_URI[md5sum] = "519d373ac72a66b0a2739dbb495de127"
+SRC_URI[sha256sum] = "1cb4399394c60a773430ca54848359adcf54fb6f136afdcfcbbe62b5f4245614"
+
+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}\
+ "
+
+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/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch
new file mode 100644
index 000000000..a7c7093e0
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
index 9fce4fba6..51682b1ed 100644
--- a/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
@@ -14,6 +14,7 @@ SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${P
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 \
"
SRC_URI[md5sum] = "d49499368c3cf15f73a05d9bce8824a8"
diff --git a/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb b/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb
deleted file mode 100644
index defc05cd1..000000000
--- a/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/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb b/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb
new file mode 100644
index 000000000..20ad43a4d
--- /dev/null
+++ b/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/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb
deleted file mode 100644
index 3ccd486be..000000000
--- a/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/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.37.0.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.37.0.bb
new file mode 100644
index 000000000..50196d669
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.37.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "HTTP/2 C Library and tools"
+HOMEPAGE = "https://nghttp2.org/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
+
+SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz"
+SRC_URI[md5sum] = "dc7536d02aa7d4883c20eaf637747381"
+SRC_URI[sha256sum] = "aa090b164b17f4b91fe32310a1c0edf3e97e02cd9d1524eef42d60dd1e8d47b7"
+
+DEPENDS = "libxml2 openssl zlib jansson cunit c-ares"
+
+inherit cmake pythonnative python-dir
diff --git a/meta-openembedded/meta-networking/recipes-support/nis/nis.inc b/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
index 200eaf74d..a968af174 100644
--- a/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
+++ b/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/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb
index d28ebd484..f0426ce36 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb
@@ -38,7 +38,7 @@ S = "${WORKDIR}/OpenIPMI-${PV}"
SRC_URI[md5sum] = "1461ac4d78fc516646fd0a6e605a8b05"
SRC_URI[sha256sum] = "f0f1a0ec732409930b7a31a6daa6cf39b585f52059b62a5f092b7ece21aa75a5"
-inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd
+inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd cpan-base
EXTRA_OECONF = "--disable-static \
--with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \
@@ -78,6 +78,7 @@ do_configure () {
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
}
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb
index c8bb17c5b..5a4e2d36f 100644
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb
@@ -66,8 +66,8 @@ python split_strongswan_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)
+ dvar = d.getVar('PKGD')
+ oldfiles = d.getVar('CONFFILES_' + pkg)
newfile = '/' + os.path.relpath(f, dvar)
if not oldfiles:
@@ -83,7 +83,7 @@ python split_strongswan_plugins () {
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)
+ 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))
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch
new file mode 100644
index 000000000..d82c16053
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch
@@ -0,0 +1,30 @@
+From a2bfd28034d9aa48d8ff109c1314e53bc9779752 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Wed, 24 Oct 2018 22:26:08 -0700
+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>
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index c882909..52aefd6 100644
+--- a/configure.in
++++ b/configure.in
+@@ -542,7 +542,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()",
+--
+1.9.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
index 8cefadf28..69d68baac 100644
--- a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
+++ b/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,29 @@ 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>
---
- configure.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ configure.in | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/configure.in b/configure.in
-index b2305a5..b3b5dbf 100644
+index b2305a5..c882909 100644
--- a/configure.in
+++ b/configure.in
-@@ -418,7 +418,7 @@ dnl Some platforms may need -lnsl for getrpcbynumber.
+@@ -418,7 +418,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
+--
+1.9.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
index d38540e34..038c1617f 100644
--- a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
@@ -1,13 +1,15 @@
SUMMARY = "A sophisticated network protocol analyzer"
HOMEPAGE = "http://www.tcpdump.org/"
+SECTION = "net"
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://avoid-absolute-path-when-searching-for-libdlpi.patch \
file://add-ptest.patch \
file://run-ptest \
"
@@ -15,34 +17,25 @@ SRC_URI = " \
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"
+PACKAGECONFIG ?= "openssl"
+
+PACKAGECONFIG[libcap-ng] = "--with-cap-ng,--without-cap-ng,libcap-ng"
+PACKAGECONFIG[openssl] = "--with-crypto,--without-openssl --without-crypto,openssl"
+PACKAGECONFIG[smi] = "--with-smi,--without-smi,libsmi"
-EXTRA_AUTORECONF += " -I m4"
+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
+ # make install installs an unneeded extra copy of the tcpdump binary
rm -f ${D}${sbindir}/tcpdump.${PV}
}
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch
deleted file mode 100644
index e65ef9b10..000000000
--- a/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/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.6.6.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.6.6.bb
deleted file mode 100644
index 4699f6798..000000000
--- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.6.6.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] = "b30ba5b9b48ed2ff91c0ce357d33b46b"
-SRC_URI[sha256sum] = "487933ea075bdbb25d8df06017d9c4f49fc20eb7f6ec80af086718ed5550e863"
-
-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/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.0.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.0.bb
new file mode 100644
index 000000000..dc55e3de0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.0.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/wireshark-${PV}.tar.xz"
+
+UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
+
+SRC_URI[md5sum] = "258d62ac7434d126dc497303c8f7961b"
+SRC_URI[sha256sum] = "bc4f30f5b2e94f3a696fef9de44673cdf402db90aac5299966da647f708f009e"
+
+PE = "1"
+
+inherit cmake pkgconfig python3native perlnative upstream-version-is-even
+
+ARM_INSTRUCTION_SET = "arm"
+
+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, 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"
+
+FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*"
+
+FILES_${PN} += "${datadir}*"
+
+RDEPENDS_tshark = "wireshark"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/README b/meta-openembedded/meta-oe/README
index de351f209..0e9f8423b 100644
--- a/meta-openembedded/meta-oe/README
+++ b/meta-openembedded/meta-oe/README
@@ -4,13 +4,13 @@ meta-oe
This layer depends on:
URI: git://github.com/openembedded/openembedded-core.git
-branch: thud
+branch: master
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][thud]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject'
When sending single patches, please use something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe[thud][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][PATCH'
You are encouraged to fork the mirror on GitHub https://github.com/openembedded/openembedded-core
to share your patches, this is preferred for patch sets consisting of more than one patch.
@@ -19,4 +19,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>
+layer maintainer: Khem Raj <raj.khem@gmail.com>
diff --git a/meta-openembedded/meta-oe/classes/breakpad.bbclass b/meta-openembedded/meta-oe/classes/breakpad.bbclass
index 36f11ff48..cebe559a7 100644
--- a/meta-openembedded/meta-oe/classes/breakpad.bbclass
+++ b/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/meta-openembedded/meta-oe/classes/scancode.bbclass b/meta-openembedded/meta-oe/classes/scancode.bbclass
index 701660f57..e0f0dbca4 100644
--- a/meta-openembedded/meta-oe/classes/scancode.bbclass
+++ b/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/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 23c10ce33..31f2f17fc 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -29,7 +29,7 @@ LAYERVERSION_openembedded-layer = "1"
LAYERDEPENDS_openembedded-layer = "core"
-LAYERSERIES_COMPAT_openembedded-layer = "thud"
+LAYERSERIES_COMPAT_openembedded-layer = "thud warrior"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-oe/licenses/HDF5 b/meta-openembedded/meta-oe/licenses/HDF5
new file mode 100644
index 000000000..10481dd10
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/licenses/SSPL-1 b/meta-openembedded/meta-oe/licenses/SSPL-1
new file mode 100644
index 000000000..4e1383df1
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/licenses/read-edid b/meta-openembedded/meta-oe/licenses/read-edid
new file mode 100644
index 000000000..2eb2c60cd
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0001-cpuburn-a8.S-Remove-.func-.endfunc.patch
new file mode 100644
index 000000000..82f12fe81
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0002-burn.S-Add.patch
new file mode 100644
index 000000000..eb68c9ce9
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm/0003-burn.S-Remove-.func-.endfunc.patch
new file mode 100644
index 000000000..f351b62c7
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
new file mode 100644
index 000000000..6189da39f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
@@ -0,0 +1,38 @@
+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() {
+ ${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
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do
+ install -m 0755 $f ${D}${bindir}/$f
+ done
+}
+
+COMPATIBLE_MACHINE ?= "(^$)"
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_armv7ve = "(.*)"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb
deleted file mode 100644
index 14e3fc4f3..000000000
--- a/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/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-Fix-clang-warnings.patch
deleted file mode 100644
index cdf09faec..000000000
--- a/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/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch
deleted file mode 100644
index 7de05ee58..000000000
--- a/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/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
deleted file mode 100644
index 72b8debe5..000000000
--- a/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/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index 99050e704..7ed5cd028 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -10,16 +10,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
DEPENDS = "libpng jpeg udev"
-PV = "2017.07+${SRCPV}"
+PV = "20190205+${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"
+SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https"
+SRCREV = "0c90dd48df43a6b0db1d9aabca6298240f4968f7"
S = "${WORKDIR}/git"
@@ -31,9 +27,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/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb b/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb
deleted file mode 100644
index f534c73b5..000000000
--- a/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/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb
new file mode 100644
index 000000000..e81389431
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
index 22bb0416a..b4d55be1b 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
+++ b/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/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.0.1.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.0.1.bb
deleted file mode 100644
index b1fa51bf0..000000000
--- a/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/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb
new file mode 100644
index 000000000..4c7b05752
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Phoronix Test Suite"
+DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
+and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "console/tests"
+
+SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
+SRC_URI[md5sum] = "a3d9e81f5abc1921d3aaf710ac4f4046"
+SRC_URI[sha256sum] = "acb9dfcf4a3452aaf82cce59ccc04fa4cf51a43617a6cca9d1f9c5c670a5655d"
+
+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/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
index 77d172814..47d21d36c 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Small collection of benchmarks for storage I/O"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3"
-SRCREV = "79698f645bfb28d0d966484ddad3a1efb562246d"
+SRCREV = "d05006865f68829fa7603bdb92bd51649f5ba1b6"
PV = "0.0+git${SRCPV}"
SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master"
@@ -17,11 +17,13 @@ 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}/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/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch b/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch
new file mode 100644
index 000000000..c09070076
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
index 8cb59da73..2ce10f9c4 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
+++ b/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/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.16.bb b/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.16.bb
deleted file mode 100644
index 6497e0923..000000000
--- a/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/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb b/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb
new file mode 100644
index 000000000..4edb2e664
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb
@@ -0,0 +1,28 @@
+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 = "e067160ecef8208e1944002e5d50b275733211fb"
+SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
+ file://0001-remove-extra-decl.patch \
+ "
+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/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch b/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch
new file mode 100644
index 000000000..42f3a8182
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch
@@ -0,0 +1,31 @@
+From 99b578501643377e0b1994b2a068b790d189d5ad Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Wed, 13 Jun 2018 09:41:01 -0400
+Subject: [PATCH] remove extra decl
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+
+Upstream-Status: Backport [git://github.com/rhinstaller/efibootmgr.git]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ src/efibootmgr.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/efibootmgr.c b/src/efibootmgr.c
+index de38f01..4e1a680 100644
+--- a/src/efibootmgr.c
++++ b/src/efibootmgr.c
+@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv)
+ "invalid numeric value %s\n",
+ optarg);
+ }
+- /* XXX efivar-36 accidentally doesn't have a public
+- * header for this */
+- extern int efi_set_verbose(int verbosity, FILE *errlog);
+ efi_set_verbose(opts.verbose - 2, stderr);
+ break;
+ case 'V':
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.36.bb b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.36.bb
deleted file mode 100644
index 20588ee97..000000000
--- a/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/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb
new file mode 100644
index 000000000..8a56e7adc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb
@@ -0,0 +1,45 @@
+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 = "c1d6b10e1ed4ba2be07f385eae5bceb694478a10"
+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"
+
+RRECOMMENDS_${PN} = "kernel-module-efivarfs"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch
new file mode 100644
index 000000000..2d5709f3f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch
@@ -0,0 +1,74 @@
+From dd9b40c54f160a44f1d78e5946d4cd00a8852802 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Wed, 21 Sep 2016 03:17:32 -0400
+Subject: [PATCH] lm-sensors: fix sensors-detect can't read the cpu information
+ on fsl-t4xxx
+
+This is because two reasons:
+
+1. The sensors-detect program in lm-sensors depends on the file '/proc/cpuinfo',
+ different arch write different infomation to it. That program supports x86
+ and x86-64 well, but weak on ppc and arm.
+
+2. The sensors-detect program show the cpu information just design for intel's
+ cpu, when meets other arch, it can't output the correct information.
+
+So we need to add the ppc and arm support for this program:
+
+1. add the ppc cpu information field 'cpu' in initialize_cpu_list function.
+
+2. add the correspond case of ppc and arm when print cpu information in
+ print_cpu_info function.
+
+Upstream-Status: Pending
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ prog/detect/sensors-detect | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
+index 5f62405..ae4def1 100755
+--- a/prog/detect/sensors-detect
++++ b/prog/detect/sensors-detect
+@@ -2833,6 +2833,7 @@ sub kernel_version_at_least
+ # model name and stepping, directly taken from /proc/cpuinfo.
+ use vars qw(@cpu);
+
++# The added field 'cpu' is for support the ppc.
+ sub initialize_cpu_list
+ {
+ local $_;
+@@ -2848,7 +2849,7 @@ sub initialize_cpu_list
+ };
+ next;
+ }
+- if (m/^(vendor_id|cpu family|model|model name|stepping|cpuid level)\s*:\s*(.+)$/) {
++ if (m/^(vendor_id|cpu family|model|model name|stepping|cpuid level|cpu|revision)\s*:\s*(.+)$/) {
+ my $k = $1;
+ my $v = $2;
+ $v =~ s/\s+/ /g; # Merge multiple spaces
+@@ -2861,12 +2862,20 @@ sub initialize_cpu_list
+ push @cpu, $entry if scalar keys(%{$entry}); # Last entry
+ }
+
++# The field 'model name' is for ARM.
++# The field 'cpu' is for ppc.
+ sub print_cpu_info
+ {
+ my $cpu = $cpu[0];
+ if ( $cpu->{'model name'} && $cpu->{'cpu family'} && $cpu->{model} && $cpu->{stepping} ) {
+ print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n";
+ }
++ elsif ( $cpu->{'model name'} ) {
++ print "# Processor: $cpu->{'model name'}\n";
++ }
++ elsif ( $cpu->{'cpu'} && $cpu->{'revision'} ) {
++ print "# Processor: $cpu->{'cpu'} $cpu->{'revision'}\n";
++ }
+ else {
+ print "# Processor: There isn't enough cpu info for this arch!!!\n";
+ }
+--
+2.8.1
+
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
index ffab5d6bf..4dbef73b9 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
@@ -12,6 +12,7 @@ SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \
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 \
+ file://0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch \
"
SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb"
SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig
index 278964017..a62bec403 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/defconfig
+++ b/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/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.4.bb
deleted file mode 100644
index 10b04bb52..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.1.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.1.2.bb
new file mode 100644
index 000000000..e2867e84b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.1.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "ncurses IRC client"
+DESCRIPTION = "Irssi is an ncurses IRC client"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
+
+DEPENDS = "glib-2.0 ncurses openssl"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[md5sum] = "271d2fd875cddd34526234d8a766d82c"
+SRC_URI[sha256sum] = "5ccc2b89a394e91bea0aa83a951c3b1d471c76da87b4169ec435530a31bf9732"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-textui \
+ --with-proxy \
+ --with-bot \
+ --with-perl=no \
+ --enable-true-color"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.14.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.14.bb
new file mode 100644
index 000000000..1dfbed9fd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.14.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Wireless daemon for Linux"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+
+inherit autotools pkgconfig systemd
+
+DEPENDS = "ell readline dbus"
+
+SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git"
+SRCREV = "f87159964cf8fd9f85b0699d50e4a051d4f7c948"
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+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"
+
+do_configure_prepend () {
+ mkdir -p ${S}/build-aux
+}
+
+do_install_append() {
+ mkdir --parents ${D}${docdir}/${BPN}
+ install -m644 ${S}/doc/*.txt ${D}${docdir}/${BPN}
+}
+
+FILES_${PN} += "${datadir}/dbus-1"
+
+SYSTEMD_SERVICE_${PN} = "iwd.service ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.1.bb
deleted file mode 100644
index 11748cbd0..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.bb b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.bb
new file mode 100644
index 000000000..e27a4ae07
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.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] = "3b729d89eb441150e146780c4138481b"
+SRC_URI[sha256sum] = "5a6e2284a53de5702d3dc2be3b9339c963f9b5397d3fbbc53beb249380a781f5"
+
+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/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb b/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb
deleted file mode 100644
index a5838d368..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.25.bb b/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.25.bb
new file mode 100644
index 000000000..9456e51f1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.25.bb
@@ -0,0 +1,19 @@
+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] = "911daf566534f745726015736a04f04a"
+SRC_URI[sha256sum] = "78757e1c27778d2f3795251d9fe09715d51ce0422416da4abb34af3929c02589"
+
+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/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch
index 92e657c00..d88578418 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch
@@ -45,7 +45,7 @@ Index: libmbim-1.14.0/m4/compiler-warnings.m4
-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
+ -Wformat-security -Wtype-limits; do
SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $option"
+ CFLAGS="$CFLAGS $option $WERROR"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.16.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.16.0.bb
deleted file mode 100644
index 5260c0f14..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.18.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.18.0.bb
new file mode 100644
index 000000000..9f59ad6b4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.18.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
+DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 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] = "840cd133bc0f715a7ee4797dd9ac5562"
+SRC_URI[sha256sum] = "6cf40128d83d087946a7d8577e735526202e034d52f90047735329609097b282"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-qmi-network-Don-t-create-invalid-wds-start-network-w.patch b/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 d230d6803..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.2.bb
deleted file mode 100644
index f0bc81cc9..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.22.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.22.2.bb
new file mode 100644
index 000000000..da13286b4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.22.2.bb
@@ -0,0 +1,23 @@
+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-Detect-clang.patch \
+ "
+SRC_URI[md5sum] = "3fd831c1b0de4a4432be628432a960ff"
+SRC_URI[sha256sum] = "f1f1e514a89b1dcba05cf7274895e7301a2da4c947b7c2f17acb84fc74038227"
+
+PACKAGECONFIG ??= "udev mbim"
+PACKAGECONFIG[udev] = ",--without-udev,libgudev"
+PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.20.3.bb b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.20.3.bb
deleted file mode 100644
index a11ff9d2c..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.27.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.27.0.bb
new file mode 100644
index 000000000..c8239443c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.27.0.bb
@@ -0,0 +1,18 @@
+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"
+
+SRC_URI = "https://github.com/libuv/libuv/archive/v${PV}.tar.gz"
+SRC_URI[md5sum] = "cc2cf259442fbe85404e75691e8244e1"
+SRC_URI[sha256sum] = "4afcdc84cd315b77c8e532e7b3fde43d536af0e2e835eafbd0e75518ed26dbed"
+
+inherit autotools
+
+do_configure() {
+ ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh"
+ oe_runconf
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.0.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.0.0.bb
deleted file mode 100644
index f38414862..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.1.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.1.0.bb
new file mode 100644
index 000000000..50620d99e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.1.0.bb
@@ -0,0 +1,30 @@
+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 = "89eedcaa94e1c8a97ea3af10642fd224bcea068f"
+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,"
+
+EXTRA_OECMAKE += " \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+"
+
+PACKAGES =+ "${PN}-testapps"
+
+FILES_${PN}-testapps += "${datadir}/libwebsockets-test-server/*"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0003-include-missing-time.h-for-time_t.patch
deleted file mode 100644
index 96163f654..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0004-Adjust-include-header-sequence-to-avoid-duplicate-de.patch
deleted file mode 100644
index e69927514..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.8.bb
deleted file mode 100644
index c7b8b2933..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb
new file mode 100644
index 000000000..eb262d36b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
+ file://build-Allow-CC-and-prefix-to-be-overriden.patch \
+ file://no-incdefs-using-host-headers.patch \
+ "
+
+SRC_URI[md5sum] = "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/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch
new file mode 100644
index 000000000..5fbafbb5d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch
@@ -0,0 +1,31 @@
+From b8862e6af1c6d022b8c182098e7deddb874ece19 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Dec 2018 23:10:44 -0800
+Subject: [PATCH] Do not pass null string to %s printf formatted string
+
+Here the string is already decided to be NULL and passing
+a null pointer to %s will not work
+
+Fixes
+error: '%s' directive argument is null
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/67]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/mtk/mm-broadband-modem-mtk.c b/plugins/mtk/mm-broadband-modem-mtk.c
+index 475a63ac..541de4a5 100644
+--- a/plugins/mtk/mm-broadband-modem-mtk.c
++++ b/plugins/mtk/mm-broadband-modem-mtk.c
+@@ -191,7 +191,7 @@ get_supported_modes_ready (MMBaseModem *self,
+
+ response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
+ if (!response) {
+- mm_dbg ("Fail to get response %s", response);
++ mm_dbg ("Fail to get response");
+ g_task_return_error (task, error);
+ g_object_unref (task);
+ return;
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
index 01c621441..f9b302a3d 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
@@ -9,10 +9,11 @@ LIC_FILES_CHKSUM = " \
inherit gnomebase gettext systemd vala gobject-introspection bash-completion
-DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native"
+DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native libxslt-native"
SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
file://0001-Do-not-set-Wno-unused-but-set-variable.patch \
+ file://0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch \
"
SRC_URI[md5sum] = "a49c9f73e46c7b89e5efedda250d22c0"
@@ -20,14 +21,14 @@ SRC_URI[sha256sum] = "96f2a5f0ed15532b4c4c185b756fdc0326e7c2027cea26a1264f91e098
S = "${WORKDIR}/ModemManager-${PV}"
-PACKAGECONFIG ??= "mbim qmi polkit \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+PACKAGECONFIG ??= "mbim qmi \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', 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"
+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"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch b/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch
new file mode 100644
index 000000000..100ede17b
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb
deleted file mode 100644
index 9fc8435ee..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb
new file mode 100644
index 000000000..9c439354d
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb b/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
index f2a16dcf7..913e31111 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
@@ -31,7 +31,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/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.7.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.7.0.bb
deleted file mode 100644
index e9846fdea..000000000
--- a/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/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.9.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.9.0.bb
new file mode 100644
index 000000000..5096d6cd3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.9.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.9.0-master
+SRCREV = "7e693a23f7fb7120f85995d3c922814495be30db"
+
+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/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-Use-toolchain-from-environment-variables.patch b/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-Use-toolchain-from-environment-variables.patch
new file mode 100644
index 000000000..9ee4a51f9
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch b/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 000000000..20fb6473f
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch b/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 000000000..a51302a0c
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0004-run-ranlib-per-library-and-use-AR.patch b/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/0004-run-ranlib-per-library-and-use-AR.patch
new file mode 100644
index 000000000..40af48970
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb
new file mode 100644
index 000000000..99cfb3205
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.1.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.1.1.bb
new file mode 100644
index 000000000..f2db0041c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.1.1.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "C bindings for ZeroMQ"
+HOMEPAGE = "http://www.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 \
+ file://0001-Problem-out-of-date-with-zproject.patch \
+"
+
+SRC_URI[md5sum] = "6d3a6fdd25c2bb29897c53670dce97bf"
+SRC_URI[sha256sum] = "f00ff419881dc2a05d0686c8467cd89b4882677fc56f31c0e2cc81c134cbb0c0"
+
+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}"
+FILES_lib${BPN}-staticdev = "${libdir}/lib*.a"
+
+RDEPENDS_lib${BPN}-dev = "zeromq-dev"
+
+PACKAGECONFIG ??= "lz4 uuid"
+PACKAGECONFIG[lz4] = ",-DCMAKE_DISABLE_FIND_PACKAGE_lz4=TRUE,lz4"
+PACKAGECONFIG[uuid] = ",-DCMAKE_DISABLE_FIND_PACKAGE_uuid=TRUE,util-linux"
+
+BBCLASSEXTEND = "nativesdk"
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-Problem-out-of-date-with-zproject.patch b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-Problem-out-of-date-with-zproject.patch
new file mode 100644
index 000000000..5f5702c8c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-Problem-out-of-date-with-zproject.patch
@@ -0,0 +1,31 @@
+From d155ffd33630f80b23c31b3a6e01da221dd9bd13 Mon Sep 17 00:00:00 2001
+From: Luca Boccassi <luca.boccassi@gmail.com>
+Date: Fri, 30 Mar 2018 16:36:22 +0100
+Subject: [PATCH] Problem: out of date with zproject
+
+Upstream-Status: backport
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a3b81722..4f203461 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,7 +38,7 @@ if (NOT CMAKE_BUILD_TYPE)
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ message(STATUS "git workspace root [${git_result}]: ${git_root}")
+- if ( "${git_result}" == "0" )
++ if ( "${git_result}" STREQUAL "0" )
+ set (CMAKE_BUILD_TYPE Debug)
+ else ()
+ set (CMAKE_BUILD_TYPE Release)
+@@ -608,7 +608,7 @@ add_custom_command(
+ TARGET distclean
+ )
+
+-include(ClangFormat)
++include(ClangFormat OPTIONAL)
+
+ ########################################################################
+ # summary
+
diff --git a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_19.bb b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_19.bb
new file mode 100644
index 000000000..82d8b8ba6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_19.bb
@@ -0,0 +1,21 @@
+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[sha256sum] = "1648227f5a347d4f38d8a29bb9295a73a25c3feb4f3e79e3f04cc847343da3ed"
+
+inherit meson pkgconfig systemd distro_features_check
+
+DEPENDS = "expat systemd"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+FILES_${PN} += "${systemd_system_unitdir}"
+FILES_${PN} += "${systemd_user_unitdir}"
diff --git a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb
deleted file mode 100644
index ac0f325a4..000000000
--- a/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/meta-openembedded/meta-oe/recipes-core/ell/ell/0001-dhcp-include-if_arp.h-from-libc-instead-of-linux-hea.patch b/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 ada65401a..000000000
--- a/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/meta-openembedded/meta-oe/recipes-core/ell/ell_0.17.bb b/meta-openembedded/meta-oe/recipes-core/ell/ell_0.17.bb
new file mode 100644
index 000000000..27f11cfbe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/ell/ell_0.17.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Embedded Linux Library"
+DESCRIPTION = "ELL is a DBUS library which provides DBUS bindings."
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+SECTION = "libs"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+SRCREV = "ebc021cee3b2d20ca2af5e3ed02495da616b2fd3"
+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/meta-openembedded/meta-oe/recipes-core/ell/ell_0.8.bb b/meta-openembedded/meta-oe/recipes-core/ell/ell_0.8.bb
deleted file mode 100644
index 0428cab28..000000000
--- a/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/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
index d32fe78d3..42f252017 100644
--- a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
+++ b/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/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.56.0.bb
deleted file mode 100644
index 2f048d2f6..000000000
--- a/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/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.58.1.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.58.1.bb
new file mode 100644
index 000000000..87ab0cbc5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.58.1.bb
@@ -0,0 +1,36 @@
+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] = "77f1016cbb27e15d4e04a2b7bfdb4cae"
+SRC_URI[sha256sum] = "6e5fe03bdf1e220eeffd543e017fd2fb15bcec9235f0ffd50674aff9362a85f0"
+
+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/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb
deleted file mode 100644
index 53bd5de10..000000000
--- a/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/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.1.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.1.bb
new file mode 100644
index 000000000..62054a116
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-${PV}.tar.xz"
+SRC_URI[md5sum] = "549cffbdb72fa105b782756f2713ffc7"
+SRC_URI[sha256sum] = "c9a25f26178c6cbb147f9904d8c533b5a5c5111a41ac2eb781eb734eea446003"
+
+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/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_git.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_git.bb
deleted file mode 100644
index 048f166fc..000000000
--- a/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/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb
new file mode 100644
index 000000000..1f3abf514
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb
@@ -0,0 +1,30 @@
+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 = "cb2d678dd6d286dd96d31548c32449a8b883ae32"
+SRC_URI = "git://github.com/pmem/ndctl.git"
+
+DEPENDS = "virtual/kernel kmod udev json-c"
+
+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"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 62f1c7759..5fcf9899b 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -136,8 +136,7 @@ RDEPENDS_packagegroup-meta-oe-extended ="\
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 \
+ 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 \
@@ -148,6 +147,8 @@ RDEPENDS_packagegroup-meta-oe-extended ="\
${@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("DISTRO_FEATURES", "polkit", "polkit polkit-group-rule-datetime ", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-network ", "", d)} \
${@bb.utils.contains("BBPATH", "meta-python", "openlmi-tools", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-extended_remove_mipsarch = "upm mraa tiptop"
@@ -225,7 +226,7 @@ RDEPENDS_packagegroup-meta-oe-support ="\
anthy asio atop augeas avro-c bdwgc frame grail \
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 \
+ 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 \
@@ -242,7 +243,7 @@ RDEPENDS_packagegroup-meta-oe-support ="\
sjf2410-linux-native satyr sdparm pty-forward-native serial-forward \
sg3-utils sharutils smem spitools srecord ssiapi start-stop-daemon stm32flash \
syslog-ng system-config-keyboard tbb thin-provisioning-tools tokyocabinet \
- tree udisks udisks2 uhubctl unixodbc upower uriparser usb-modeswitch \
+ tree uhubctl unixodbc uriparser usb-modeswitch \
usb-modeswitch-data usbpath uthash utouch-evemu utouch-frame \
vim vim-tiny websocketpp wmiconfig xdelta3 xdg-user-dirs xmlstarlet \
zbar zile \
@@ -250,6 +251,7 @@ RDEPENDS_packagegroup-meta-oe-support ="\
${@bb.utils.contains("DISTRO_FEATURES", "pulseadio bluez4", "libcanberra", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xorgxrdp xrdp", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "bluez4", "procmail", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "udisks udisks2 upower", "", d)} \
${NE10} \
"
diff --git a/meta-openembedded/meta-oe/recipes-core/plymouth/files/0002-Fix-build-with-glibc-2.28.patch b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0002-Fix-build-with-glibc-2.28.patch
deleted file mode 100644
index 8638f75b3..000000000
--- a/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/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
deleted file mode 100644
index a5b16c979..000000000
--- a/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/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb
new file mode 100644
index 000000000..305977e5e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb
@@ -0,0 +1,67 @@
+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-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/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
index 1ea868f67..614136e27 100644
--- a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
+++ b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
@@ -48,7 +48,7 @@ do_install() {
install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
}
-inherit update-alternatives
+inherit cml1 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
diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.7.0.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.7.0.bb
deleted file mode 100644
index 92853d00e..000000000
--- a/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/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.9.0.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.9.0.bb
new file mode 100644
index 000000000..a7d25d567
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.9.0.bb
@@ -0,0 +1,53 @@
+# 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=f4c145d4d70a3244a053c9f90d4841fc"
+SECTION = "libs"
+
+SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tgz"
+SRC_URI[md5sum] = "db8403d6a2f10c20fde3f3c76be9a045"
+SRC_URI[sha256sum] = "305564352334dd63ae63db039077d96ae52dfa57a3248871081719b6a9f2d119"
+
+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}${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/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.0.4.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.0.4.bb
deleted file mode 100644
index cc7bc6e01..000000000
--- a/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/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
new file mode 100644
index 000000000..cf1d22242
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
@@ -0,0 +1,38 @@
+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}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
+SRC_URI[md5sum] = "41d8b985ef69242852b93e95d53e8e28"
+SRC_URI[sha256sum] = "a3eeb2741f8f3376d16585191f3c60e067dd987e096c3c4b073fab7748b1c897"
+
+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/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
index a93ddc823..46c66a1b2 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
@@ -1,14 +1,13 @@
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 = "3c56934f44a8f5a1257c342942e6e034fc6f20be"
+PV = "1.1.4+git${SRCPV}"
SRC_URI = " \
git://github.com/smuellerDD/libkcapi.git \
"
@@ -16,13 +15,17 @@ SRC_URI = " \
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/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.16.bb b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.16.bb
deleted file mode 100644
index 57f38fec2..000000000
--- a/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/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.17.bb b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.17.bb
new file mode 100644
index 000000000..8d9302f30
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.17.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] = "0f71e2680187a1558b5461e6879342c5"
+SRC_URI[sha256sum] = "0cc3dae33e642cc187b5ceb467e0ad0e1b51dcba577de1190e9ffa17766ac2b1"
+
+inherit autotools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb
index 8fec89c6f..908ad3e6b 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb
@@ -35,3 +35,7 @@ do_install() {
PACKAGES =+ "${PN}-ptest"
FILES_${PN}-ptest = "${bindir}"
+
+# Do not try to build lib32-leveldb for mips64, but allow libn32-leveldb.
+#
+COMPATIBLE_HOST_mipsarcho32_pn-lib32-leveldb = "null"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
new file mode 100644
index 000000000..b597422e4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
@@ -0,0 +1,28 @@
+From 31ca5c563f1d9a3f70258be3dd2b1e547a65a550 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 5 Feb 2019 00:21:12 -0800
+Subject: [PATCH] asio: Dont use experimental with clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../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 222c02186d..3bf7494529 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
+@@ -28,8 +28,8 @@
+ namespace asio {
+
+ #if 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;
+ #else // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
+ using std::basic_string_view;
+ using std::string_view;
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch
deleted file mode 100644
index 23d4923d2..000000000
--- a/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/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
index d39ab0a31..53a9f6611 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
@@ -1,6 +1,6 @@
SUMMARY = "mongodb"
-LICENSE = "AGPL-3.0 & Apache-2.0 & Zlib"
-LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \
+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 libpcre libpcap zlib boost curl python \
@@ -10,9 +10,9 @@ DEPENDS = "openssl libpcre libpcap zlib boost curl python \
inherit scons dos2unix siteinfo pythonnative
-PV = "4.0.1+git${SRCPV}"
-#v4.0.1
-SRCREV = "54f1582fc6eb01de4d4c42f26fc133e623f065fb"
+PV = "4.0.6+git${SRCPV}"
+#v4.0.6
+SRCREV = "caa42a1f75a56c7643d0b68d3880444375ec42e3"
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 \
@@ -20,8 +20,8 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.0 \
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 \
+ file://0001-asio-Dont-use-experimental-with-clang.patch \
"
SRC_URI_append_libc-musl ="\
file://0002-Fix-default-stack-size-to-256K.patch \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb
new file mode 100644
index 000000000..e1a038dfa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.62.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.62.bb
deleted file mode 100644
index 4ce960d7d..000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.62.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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 8ca5b2ba4..fca74d448 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -4,10 +4,7 @@ SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "https://downloads.mariadb.org/f/${BP}/source/${BP}.tar.gz \
- file://fix-cmake-module-path.patch \
- file://remove-bad-path.patch \
- file://fix-mysqlclient-r-version.patch \
+SRC_URI = "https://downloads.mariadb.org/interstitial/${BPN}-${PV}/source/${BPN}-${PV}.tar.gz \
file://my.cnf \
file://mysqld.service \
file://install_db.service \
@@ -15,11 +12,15 @@ SRC_URI = "https://downloads.mariadb.org/f/${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 \
"
-SRC_URI[md5sum] = "6375d577e9539b839f44d857e70f82b9"
-SRC_URI[sha256sum] = "56a365af71b8a9ec8bfee0801e2dec95011da8ee7507986ca329be11296411db"
+SRC_URI[md5sum] = "603ce42e35b9a688f2cca05275acb5cb"
+SRC_URI[sha256sum] = "b2aa857ef5b84f85a7ea60a1eac7b34c0ca5151c71a0d44ce2d7fb028d71459a"
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
@@ -62,7 +63,7 @@ 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 +121,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"
@@ -181,13 +187,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 +201,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 +223,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 \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
index 60e9199f9..daf2432a5 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
new file mode 100644
index 000000000..169986130
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
deleted file mode 100644
index 02bda24f7..000000000
--- a/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch
new file mode 100644
index 000000000..c77a86944
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
index e97def602..ac9427958 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
index 0c4e10237..9149ee21f 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
new file mode 100644
index 000000000..34d31148b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
@@ -0,0 +1,34 @@
+From ffaaf4d43ebf2ef6d0229a60f407c1f5a06e5c53 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 15 Mar 2019 01:46:05 -0700
+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 c36c761..2b539ff 100644
+--- a/storage/rocksdb/build_rocksdb.cmake
++++ b/storage/rocksdb/build_rocksdb.cmake
+@@ -424,6 +424,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 -frtti")
+ endif()
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
deleted file mode 100644
index 8d9f558d0..000000000
--- a/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
deleted file mode 100644
index a519e4292..000000000
--- a/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
deleted file mode 100644
index ff26b0b86..000000000
--- a/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
new file mode 100644
index 000000000..afc1be47b
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch
new file mode 100644
index 000000000..4f9a4e9b0
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb
new file mode 100644
index 000000000..de24c920f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb
@@ -0,0 +1,27 @@
+require mariadb.inc
+
+EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
+
+DEPENDS += "mariadb-native bison-native openssl ncurses zlib readline libaio 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/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.62.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.62.bb
deleted file mode 100644
index d7895732a..000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.62.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/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch b/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 000000000..173241ea5
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
index ac0df4f06..f2faec1c1 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
@@ -8,7 +8,9 @@ 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"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
new file mode 100644
index 000000000..865ad3287
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch
deleted file mode 100644
index 6d8c46e74..000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch
+++ /dev/null
@@ -1,1164 +0,0 @@
-From 12bfb778ce688fc662a6cb35f6298734fcf4856f Mon Sep 17 00:00:00 2001
-From: Tom Lane <tgl@sss.pgh.pa.us>
-Date: Fri, 19 Oct 2018 19:36:34 -0400
-Subject: [PATCH] Sync our copy of the timezone library with IANA release
- tzcode2018f.
-
-About half of this is purely cosmetic changes to reduce the diff between
-our code and theirs, like inserting "const" markers where they have them.
-
-The other half is tracking actual code changes in zic.c and localtime.c.
-I don't think any of these represent near-term compatibility hazards, but
-it seems best to stay up to date.
-
-I also fixed longstanding bugs in our code for producing the
-known_abbrevs.txt list, which by chance hadn't been exposed before,
-but which resulted in some garbage output after applying the upstream
-changes in zic.c. Notably, because upstream removed their old phony
-transitions at the Big Bang, it's now necessary to cope with TZif files
-containing no DST transition times at all.
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- src/timezone/README | 2 +-
- src/timezone/localtime.c | 126 ++++++++++++------
- src/timezone/pgtz.h | 10 +-
- src/timezone/private.h | 3 +
- src/timezone/strftime.c | 10 +-
- src/timezone/tzfile.h | 7 +-
- src/timezone/zic.c | 330 ++++++++++++++++++++++++++---------------------
- 7 files changed, 291 insertions(+), 197 deletions(-)
-
-Index: postgresql-10.5/src/timezone/README
-===================================================================
---- postgresql-10.5.orig/src/timezone/README
-+++ postgresql-10.5/src/timezone/README
-@@ -55,7 +55,7 @@ match properly on the old version.
- Time Zone code
- ==============
-
--The code in this directory is currently synced with tzcode release 2018e.
-+The code in this directory is currently synced with tzcode release 2018f.
- There are many cosmetic (and not so cosmetic) differences from the
- original tzcode library, but diffs in the upstream version should usually
- be propagated to our version. Here are some notes about that.
-Index: postgresql-10.5/src/timezone/localtime.c
-===================================================================
---- postgresql-10.5.orig/src/timezone/localtime.c
-+++ postgresql-10.5/src/timezone/localtime.c
-@@ -1,3 +1,5 @@
-+/* Convert timestamp from pg_time_t to struct pg_tm. */
-+
- /*
- * This file is in the public domain, so clarified as of
- * 1996-06-05 by Arthur David Olson.
-@@ -117,7 +119,7 @@ init_ttinfo(struct ttinfo *s, int32 gmto
- }
-
- static int32
--detzcode(const char *codep)
-+detzcode(const char *const codep)
- {
- int32 result;
- int i;
-@@ -143,7 +145,7 @@ detzcode(const char *codep)
- }
-
- static int64
--detzcode64(const char *codep)
-+detzcode64(const char *const codep)
- {
- uint64 result;
- int i;
-@@ -258,8 +260,13 @@ tzloadbody(char const *name, char *canon
- int32 charcnt = detzcode(up->tzhead.tzh_charcnt);
- char const *p = up->buf + tzheadsize;
-
-+ /*
-+ * Although tzfile(5) currently requires typecnt to be nonzero,
-+ * support future formats that may allow zero typecnt in files that
-+ * have a TZ string and no transitions.
-+ */
- if (!(0 <= leapcnt && leapcnt < TZ_MAX_LEAPS
-- && 0 < typecnt && typecnt < TZ_MAX_TYPES
-+ && 0 <= typecnt && typecnt < TZ_MAX_TYPES
- && 0 <= timecnt && timecnt < TZ_MAX_TIMES
- && 0 <= charcnt && charcnt < TZ_MAX_CHARS
- && (ttisstdcnt == typecnt || ttisstdcnt == 0)
-@@ -416,8 +423,7 @@ tzloadbody(char const *name, char *canon
- struct state *ts = &lsp->u.st;
-
- up->buf[nread - 1] = '\0';
-- if (tzparse(&up->buf[1], ts, false)
-- && ts->typecnt == 2)
-+ if (tzparse(&up->buf[1], ts, false))
- {
- /*
- * Attempt to reuse existing abbreviations. Without this,
-@@ -430,7 +436,7 @@ tzloadbody(char const *name, char *canon
- int gotabbr = 0;
- int charcnt = sp->charcnt;
-
-- for (i = 0; i < 2; i++)
-+ for (i = 0; i < ts->typecnt; i++)
- {
- char *tsabbr = ts->chars + ts->ttis[i].tt_abbrind;
- int j;
-@@ -455,7 +461,7 @@ tzloadbody(char const *name, char *canon
- }
- }
- }
-- if (gotabbr == 2)
-+ if (gotabbr == ts->typecnt)
- {
- sp->charcnt = charcnt;
-
-@@ -470,7 +476,8 @@ tzloadbody(char const *name, char *canon
- sp->timecnt--;
-
- for (i = 0; i < ts->timecnt; i++)
-- if (sp->ats[sp->timecnt - 1] < ts->ats[i])
-+ if (sp->timecnt == 0
-+ || sp->ats[sp->timecnt - 1] < ts->ats[i])
- break;
- while (i < ts->timecnt
- && sp->timecnt < TZ_MAX_TIMES)
-@@ -481,11 +488,13 @@ tzloadbody(char const *name, char *canon
- sp->timecnt++;
- i++;
- }
-- sp->ttis[sp->typecnt++] = ts->ttis[0];
-- sp->ttis[sp->typecnt++] = ts->ttis[1];
-+ for (i = 0; i < ts->typecnt; i++)
-+ sp->ttis[sp->typecnt++] = ts->ttis[i];
- }
- }
- }
-+ if (sp->typecnt == 0)
-+ return EINVAL;
- if (sp->timecnt > 1)
- {
- for (i = 1; i < sp->timecnt; ++i)
-@@ -507,6 +516,18 @@ tzloadbody(char const *name, char *canon
- }
-
- /*
-+ * Infer sp->defaulttype from the data. Although this default type is
-+ * always zero for data from recent tzdb releases, things are trickier for
-+ * data from tzdb 2018e or earlier.
-+ *
-+ * The first set of heuristics work around bugs in 32-bit data generated
-+ * by tzdb 2013c or earlier. The workaround is for zones like
-+ * Australia/Macquarie where timestamps before the first transition have a
-+ * time type that is not the earliest standard-time type. See:
-+ * https://mm.icann.org/pipermail/tz/2013-May/019368.html
-+ */
-+
-+ /*
- * If type 0 is unused in transitions, it's the type to use for early
- * times.
- */
-@@ -529,6 +550,11 @@ tzloadbody(char const *name, char *canon
- }
-
- /*
-+ * The next heuristics are for data generated by tzdb 2018e or earlier,
-+ * for zones like EST5EDT where the first transition is to DST.
-+ */
-+
-+ /*
- * If no result yet, find the first standard type. If there is none, punt
- * to type zero.
- */
-@@ -542,7 +568,14 @@ tzloadbody(char const *name, char *canon
- break;
- }
- }
-+
-+ /*
-+ * A simple 'sp->defaulttype = 0;' would suffice here if we didn't have to
-+ * worry about 2018e-or-earlier data. Even simpler would be to remove the
-+ * defaulttype member and just use 0 in its place.
-+ */
- sp->defaulttype = i;
-+
- return 0;
- }
-
-@@ -601,10 +634,11 @@ static const int year_lengths[2] = {
- };
-
- /*
-- * Given a pointer into a time zone string, scan until a character that is not
-- * a valid character in a zone name is found. Return a pointer to that
-- * character.
-+ * Given a pointer into a timezone string, scan until a character that is not
-+ * a valid character in a time zone abbreviation is found.
-+ * Return a pointer to that character.
- */
-+
- static const char *
- getzname(const char *strp)
- {
-@@ -617,15 +651,17 @@ getzname(const char *strp)
- }
-
- /*
-- * Given a pointer into an extended time zone string, scan until the ending
-- * delimiter of the zone name is located. Return a pointer to the delimiter.
-+ * Given a pointer into an extended timezone string, scan until the ending
-+ * delimiter of the time zone abbreviation is located.
-+ * Return a pointer to the delimiter.
- *
- * As with getzname above, the legal character set is actually quite
- * restricted, with other characters producing undefined results.
- * We don't do any checking here; checking is done later in common-case code.
- */
-+
- static const char *
--getqzname(const char *strp, int delim)
-+getqzname(const char *strp, const int delim)
- {
- int c;
-
-@@ -635,13 +671,14 @@ getqzname(const char *strp, int delim)
- }
-
- /*
-- * Given a pointer into a time zone string, extract a number from that string.
-+ * Given a pointer into a timezone string, extract a number from that string.
- * Check that the number is within a specified range; if it is not, return
- * NULL.
- * Otherwise, return a pointer to the first character not part of the number.
- */
-+
- static const char *
--getnum(const char *strp, int *nump, int min, int max)
-+getnum(const char *strp, int *const nump, const int min, const int max)
- {
- char c;
- int num;
-@@ -663,14 +700,15 @@ getnum(const char *strp, int *nump, int
- }
-
- /*
-- * Given a pointer into a time zone string, extract a number of seconds,
-+ * Given a pointer into a timezone string, extract a number of seconds,
- * in hh[:mm[:ss]] form, from the string.
- * If any error occurs, return NULL.
- * Otherwise, return a pointer to the first character not part of the number
- * of seconds.
- */
-+
- static const char *
--getsecs(const char *strp, int32 *secsp)
-+getsecs(const char *strp, int32 *const secsp)
- {
- int num;
-
-@@ -704,13 +742,14 @@ getsecs(const char *strp, int32 *secsp)
- }
-
- /*
-- * Given a pointer into a time zone string, extract an offset, in
-+ * Given a pointer into a timezone string, extract an offset, in
- * [+-]hh[:mm[:ss]] form, from the string.
- * If any error occurs, return NULL.
- * Otherwise, return a pointer to the first character not part of the time.
- */
-+
- static const char *
--getoffset(const char *strp, int32 *offsetp)
-+getoffset(const char *strp, int32 *const offsetp)
- {
- bool neg = false;
-
-@@ -730,13 +769,14 @@ getoffset(const char *strp, int32 *offse
- }
-
- /*
-- * Given a pointer into a time zone string, extract a rule in the form
-+ * Given a pointer into a timezone string, extract a rule in the form
- * date[/time]. See POSIX section 8 for the format of "date" and "time".
- * If a valid rule is not found, return NULL.
- * Otherwise, return a pointer to the first character not part of the rule.
- */
-+
- static const char *
--getrule(const char *strp, struct rule *rulep)
-+getrule(const char *strp, struct rule *const rulep)
- {
- if (*strp == 'J')
- {
-@@ -795,9 +835,10 @@ getrule(const char *strp, struct rule *r
- * Given a year, a rule, and the offset from UT at the time that rule takes
- * effect, calculate the year-relative time that rule takes effect.
- */
-+
- static int32
--transtime(int year, const struct rule *rulep,
-- int32 offset)
-+transtime(const int year, const struct rule *const rulep,
-+ const int32 offset)
- {
- bool leapyear;
- int32 value;
-@@ -981,7 +1022,7 @@ tzparse(const char *name, struct state *
- {
- dstname = name;
- name = getzname(name);
-- dstlen = name - dstname; /* length of DST zone name */
-+ dstlen = name - dstname; /* length of DST abbr. */
- }
- if (!dstlen)
- return false;
-@@ -1023,8 +1064,8 @@ tzparse(const char *name, struct state *
- /*
- * Two transitions per year, from EPOCH_YEAR forward.
- */
-- init_ttinfo(&sp->ttis[0], -dstoffset, true, stdlen + 1);
-- init_ttinfo(&sp->ttis[1], -stdoffset, false, 0);
-+ init_ttinfo(&sp->ttis[0], -stdoffset, false, 0);
-+ init_ttinfo(&sp->ttis[1], -dstoffset, true, stdlen + 1);
- sp->defaulttype = 0;
- timecnt = 0;
- janfirst = 0;
-@@ -1073,19 +1114,15 @@ tzparse(const char *name, struct state *
- if (!increment_overflow_time
- (&sp->ats[timecnt],
- janoffset + starttime))
-- sp->types[timecnt++] = reversed;
-- else if (janoffset)
-- sp->defaulttype = reversed;
-+ sp->types[timecnt++] = !reversed;
- sp->ats[timecnt] = janfirst;
- if (!increment_overflow_time
- (&sp->ats[timecnt],
- janoffset + endtime))
- {
-- sp->types[timecnt++] = !reversed;
-+ sp->types[timecnt++] = reversed;
- yearlim = year + YEARSPERREPEAT + 1;
- }
-- else if (janoffset)
-- sp->defaulttype = !reversed;
- }
- if (increment_overflow_time
- (&janfirst, janoffset + yearsecs))
-@@ -1094,7 +1131,10 @@ tzparse(const char *name, struct state *
- }
- sp->timecnt = timecnt;
- if (!timecnt)
-+ {
-+ sp->ttis[0] = sp->ttis[1];
- sp->typecnt = 1; /* Perpetual DST. */
-+ }
- else if (YEARSPERREPEAT < year - yearbeg)
- sp->goback = sp->goahead = true;
- }
-@@ -1163,7 +1203,6 @@ tzparse(const char *name, struct state *
- * otherwise, add the standard time offset to the
- * transition time.
- */
--
- /*
- * Transitions from DST to DDST will effectively disappear
- * since POSIX provides for only one DST offset.
-@@ -1217,7 +1256,7 @@ tzparse(const char *name, struct state *
- }
-
- static void
--gmtload(struct state *sp)
-+gmtload(struct state *const sp)
- {
- if (tzload(gmt, NULL, sp, true) != 0)
- tzparse(gmt, sp, true);
-@@ -1232,7 +1271,7 @@ gmtload(struct state *sp)
- */
- static struct pg_tm *
- localsub(struct state const *sp, pg_time_t const *timep,
-- struct pg_tm *tmp)
-+ struct pg_tm *const tmp)
- {
- const struct ttinfo *ttisp;
- int i;
-@@ -1300,6 +1339,11 @@ localsub(struct state const *sp, pg_time
- }
- ttisp = &sp->ttis[i];
-
-+ /*
-+ * To get (wrong) behavior that's compatible with System V Release 2.0
-+ * you'd replace the statement below with t += ttisp->tt_gmtoff;
-+ * timesub(&t, 0L, sp, tmp);
-+ */
- result = timesub(&t, ttisp->tt_gmtoff, sp, tmp);
- if (result)
- {
-@@ -1322,8 +1366,10 @@ pg_localtime(const pg_time_t *timep, con
- *
- * Except we have a private "struct state" for GMT, so no sp is passed in.
- */
-+
- static struct pg_tm *
--gmtsub(pg_time_t const *timep, int32 offset, struct pg_tm *tmp)
-+gmtsub(pg_time_t const *timep, int32 offset,
-+ struct pg_tm *tmp)
- {
- struct pg_tm *result;
-
-@@ -1337,6 +1383,7 @@ gmtsub(pg_time_t const *timep, int32 off
- gmt_is_set = true;
- gmtload(gmtptr);
- }
-+
- result = timesub(timep, offset, gmtptr, tmp);
-
- /*
-@@ -1361,6 +1408,7 @@ pg_gmtime(const pg_time_t *timep)
- * Return the number of leap years through the end of the given year
- * where, to make the math easy, the answer for year zero is defined as zero.
- */
-+
- static int
- leaps_thru_end_of_nonneg(int y)
- {
-Index: postgresql-10.5/src/timezone/pgtz.h
-===================================================================
---- postgresql-10.5.orig/src/timezone/pgtz.h
-+++ postgresql-10.5/src/timezone/pgtz.h
-@@ -49,10 +49,16 @@ struct state
- pg_time_t ats[TZ_MAX_TIMES];
- unsigned char types[TZ_MAX_TIMES];
- struct ttinfo ttis[TZ_MAX_TYPES];
-- char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, 3 /* sizeof gmt */ ),
-+ char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, 4 /* sizeof gmt */ ),
- (2 * (TZ_STRLEN_MAX + 1)))];
- struct lsinfo lsis[TZ_MAX_LEAPS];
-- int defaulttype; /* for early times or if no transitions */
-+
-+ /*
-+ * The time type to use for early times or if no transitions. It is always
-+ * zero for recent tzdb releases. It might be nonzero for data from tzdb
-+ * 2018e or earlier.
-+ */
-+ int defaulttype;
- };
-
-
-Index: postgresql-10.5/src/timezone/private.h
-===================================================================
---- postgresql-10.5.orig/src/timezone/private.h
-+++ postgresql-10.5/src/timezone/private.h
-@@ -1,4 +1,7 @@
-+/* Private header for tzdb code. */
-+
- #ifndef PRIVATE_H
-+
- #define PRIVATE_H
-
- /*
-Index: postgresql-10.5/src/timezone/strftime.c
-===================================================================
---- postgresql-10.5.orig/src/timezone/strftime.c
-+++ postgresql-10.5/src/timezone/strftime.c
-@@ -1,4 +1,4 @@
--/* Convert a broken-down timestamp to a string. */
-+/* Convert a broken-down timestamp to a string. */
-
- /*
- * Copyright 1989 The Regents of the University of California.
-@@ -115,7 +115,7 @@ static char *_add(const char *, char *,
- static char *_conv(int, const char *, char *, const char *);
- static char *_fmt(const char *, const struct pg_tm *, char *, const char *,
- enum warn *);
--static char *_yconv(int, int, bool, bool, char *, const char *);
-+static char *_yconv(int, int, bool, bool, char *, char const *);
-
-
- size_t
-@@ -441,7 +441,8 @@ _fmt(const char *format, const struct pg
-
- /*
- * C99 and later say that %Z must be replaced by the empty
-- * string if the time zone is not determinable.
-+ * string if the time zone abbreviation is not
-+ * determinable.
- */
- continue;
- case 'z':
-@@ -519,6 +520,7 @@ _add(const char *str, char *pt, const ch
- * same output as %Y, and that %Y contains at least 4 bytes,
- * with more only if necessary.
- */
-+
- static char *
- _yconv(int a, int b, bool convert_top, bool convert_yy,
- char *pt, const char *ptlim)
-@@ -526,7 +528,7 @@ _yconv(int a, int b, bool convert_top, b
- int lead;
- int trail;
-
--#define DIVISOR 100
-+#define DIVISOR 100
- trail = a % DIVISOR + b % DIVISOR;
- lead = a / DIVISOR + b / DIVISOR + trail / DIVISOR;
- trail %= DIVISOR;
-Index: postgresql-10.5/src/timezone/tzfile.h
-===================================================================
---- postgresql-10.5.orig/src/timezone/tzfile.h
-+++ postgresql-10.5/src/timezone/tzfile.h
-@@ -1,4 +1,7 @@
-+/* Layout and location of TZif files. */
-+
- #ifndef TZFILE_H
-+
- #define TZFILE_H
-
- /*
-@@ -21,14 +24,14 @@
- * Information about time zone files.
- */
-
--#define TZDEFAULT "localtime"
-+#define TZDEFAULT "/etc/localtime"
- #define TZDEFRULES "posixrules"
-
- /*
- * Each file begins with. . .
- */
-
--#define TZ_MAGIC "TZif"
-+#define TZ_MAGIC "TZif"
-
- struct tzhead
- {
-Index: postgresql-10.5/src/timezone/zic.c
-===================================================================
---- postgresql-10.5.orig/src/timezone/zic.c
-+++ postgresql-10.5/src/timezone/zic.c
-@@ -1,3 +1,5 @@
-+/* Compile .zi time zone data into TZif binary files. */
-+
- /*
- * This file is in the public domain, so clarified as of
- * 2006-07-17 by Arthur David Olson.
-@@ -130,8 +132,7 @@ static void adjleap(void);
- static void associate(void);
- static void dolink(const char *, const char *, bool);
- static char **getfields(char *buf);
--static zic_t gethms(const char *string, const char *errstring,
-- bool);
-+static zic_t gethms(const char *string, const char *errstring);
- static zic_t getstdoff(char *, bool *);
- static void infile(const char *filename);
- static void inleap(char **fields, int nfields);
-@@ -162,7 +163,7 @@ enum
- PERCENT_Z_LEN_BOUND = sizeof "+995959" - 1};
-
- /* If true, work around a bug in Qt 5.6.1 and earlier, which mishandles
-- tz binary files whose POSIX-TZ-style strings contain '<'; see
-+ TZif files whose POSIX-TZ-style strings contain '<'; see
- QTBUG-53071 <https://bugreports.qt.io/browse/QTBUG-53071>. This
- workaround will no longer be needed when Qt 5.6.1 and earlier are
- obsolete, say in the year 2021. */
-@@ -211,7 +212,7 @@ static int typecnt;
- #define ZF_RULE 3
- #define ZF_FORMAT 4
- #define ZF_TILYEAR 5
--#define ZF_TILMONTH 6
-+#define ZF_TILMONTH 6
- #define ZF_TILDAY 7
- #define ZF_TILTIME 8
- #define ZONE_MINFIELDS 5
-@@ -224,12 +225,12 @@ static int typecnt;
- #define ZFC_GMTOFF 0
- #define ZFC_RULE 1
- #define ZFC_FORMAT 2
--#define ZFC_TILYEAR 3
-+#define ZFC_TILYEAR 3
- #define ZFC_TILMONTH 4
- #define ZFC_TILDAY 5
--#define ZFC_TILTIME 6
--#define ZONEC_MINFIELDS 3
--#define ZONEC_MAXFIELDS 7
-+#define ZFC_TILTIME 6
-+#define ZONEC_MINFIELDS 3
-+#define ZONEC_MAXFIELDS 7
-
- /*
- * Which files are which on a Rule line.
-@@ -244,7 +245,7 @@ static int typecnt;
- #define RF_TOD 7
- #define RF_STDOFF 8
- #define RF_ABBRVAR 9
--#define RULE_FIELDS 10
-+#define RULE_FIELDS 10
-
- /*
- * Which fields are which on a Link line.
-@@ -252,7 +253,7 @@ static int typecnt;
-
- #define LF_FROM 1
- #define LF_TO 2
--#define LINK_FIELDS 3
-+#define LINK_FIELDS 3
-
- /*
- * Which fields are which on a Leap line.
-@@ -264,7 +265,7 @@ static int typecnt;
- #define LP_TIME 4
- #define LP_CORR 5
- #define LP_ROLL 6
--#define LEAP_FIELDS 7
-+#define LEAP_FIELDS 7
-
- /*
- * Year synonyms.
-@@ -998,48 +999,6 @@ dolink(char const *fromfield, char const
- static zic_t const min_time = MINVAL(zic_t, TIME_T_BITS_IN_FILE);
- static zic_t const max_time = MAXVAL(zic_t, TIME_T_BITS_IN_FILE);
-
--/*
-- * Estimated time of the Big Bang, in seconds since the POSIX epoch.
-- * rounded downward to the negation of a power of two that is
-- * comfortably outside the error bounds.
-- *
-- * For the time of the Big Bang, see:
-- *
-- * Ade PAR, Aghanim N, Armitage-Caplan C et al. Planck 2013 results.
-- * I. Overview of products and scientific results.
-- * arXiv:1303.5062 2013-03-20 20:10:01 UTC
-- * <https://arxiv.org/pdf/1303.5062v1> [PDF]
-- *
-- * Page 36, Table 9, row Age/Gyr, column Planck+WP+highL+BAO 68% limits
-- * gives the value 13.798 plus-or-minus 0.037 billion years.
-- * Multiplying this by 1000000000 and then by 31557600 (the number of
-- * seconds in an astronomical year) gives a value that is comfortably
-- * less than 2**59, so BIG_BANG is - 2**59.
-- *
-- * BIG_BANG is approximate, and may change in future versions.
-- * Please do not rely on its exact value.
-- */
--
--#ifndef BIG_BANG
--#define BIG_BANG (- (((zic_t) 1) << 59))
--#endif
--
--/* If true, work around GNOME bug 730332
-- <https://bugzilla.gnome.org/show_bug.cgi?id=730332>
-- by refusing to output time stamps before BIG_BANG.
-- Such time stamps are physically suspect anyway.
--
-- The GNOME bug is scheduled to be fixed in GNOME 3.22, and if so
-- this workaround will no longer be needed when GNOME 3.21 and
-- earlier are obsolete, say in the year 2021. */
--enum
--{
--WORK_AROUND_GNOME_BUG_730332 = true};
--
--static const zic_t early_time = (WORK_AROUND_GNOME_BUG_730332
-- ? BIG_BANG
-- : MINVAL(zic_t, TIME_T_BITS_IN_FILE));
--
- /* Return true if NAME is a directory. */
- static bool
- itsdir(char const *name)
-@@ -1281,8 +1240,9 @@ infile(const char *name)
- * A null string maps to zero.
- * Call error with errstring and return zero on errors.
- */
-+
- static zic_t
--gethms(char const *string, char const *errstring, bool signable)
-+gethms(char const *string, char const *errstring)
- {
- /* PG: make hh be int not zic_t to avoid sscanf portability issues */
- int hh;
-@@ -1299,9 +1259,7 @@ gethms(char const *string, char const *e
-
- if (string == NULL || *string == '\0')
- return 0;
-- if (!signable)
-- sign = 1;
-- else if (*string == '-')
-+ if (*string == '-')
- {
- sign = -1;
- ++string;
-@@ -1384,7 +1342,7 @@ getstdoff(char *field, bool *isdst)
- break;
- }
- }
-- stdoff = gethms(field, _("invalid saved time"), true);
-+ stdoff = gethms(field, _("invalid saved time"));
- *isdst = dst < 0 ? stdoff != 0 : dst;
- return stdoff;
- }
-@@ -1399,10 +1357,29 @@ inrule(char **fields, int nfields)
- error(_("wrong number of fields on Rule line"));
- return;
- }
-- if (*fields[RF_NAME] == '\0')
-+ switch (*fields[RF_NAME])
- {
-- error(_("nameless rule"));
-- return;
-+ case '\0':
-+ case ' ':
-+ case '\f':
-+ case '\n':
-+ case '\r':
-+ case '\t':
-+ case '\v':
-+ case '+':
-+ case '-':
-+ case '0':
-+ case '1':
-+ case '2':
-+ case '3':
-+ case '4':
-+ case '5':
-+ case '6':
-+ case '7':
-+ case '8':
-+ case '9':
-+ error(_("Invalid rule name \"%s\""), fields[RF_NAME]);
-+ return;
- }
- r.r_filename = filename;
- r.r_linenum = linenum;
-@@ -1507,7 +1484,7 @@ inzsub(char **fields, int nfields, bool
- }
- z.z_filename = filename;
- z.z_linenum = linenum;
-- z.z_gmtoff = gethms(fields[i_gmtoff], _("invalid UT offset"), true);
-+ z.z_gmtoff = gethms(fields[i_gmtoff], _("invalid UT offset"));
- if ((cp = strchr(fields[i_format], '%')) != NULL)
- {
- if ((*++cp != 's' && *cp != 'z') || strchr(cp, '%')
-@@ -1649,7 +1626,7 @@ inleap(char **fields, int nfields)
- return;
- }
- t = dayoff * SECSPERDAY;
-- tod = gethms(fields[LP_TIME], _("invalid time of day"), false);
-+ tod = gethms(fields[LP_TIME], _("invalid time of day"));
- cp = fields[LP_CORR];
- {
- bool positive;
-@@ -1757,7 +1734,7 @@ rulesub(struct rule *rp, const char *loy
- break;
- }
- }
-- rp->r_tod = gethms(dp, _("invalid time of day"), false);
-+ rp->r_tod = gethms(dp, _("invalid time of day"));
- free(dp);
-
- /*
-@@ -1942,7 +1919,43 @@ is32(const zic_t x)
- }
-
- static void
--writezone(const char *const name, const char *const string, char version)
-+swaptypes(int i, int j)
-+{
-+ {
-+ zic_t t = gmtoffs[i];
-+
-+ gmtoffs[i] = gmtoffs[j];
-+ gmtoffs[j] = t;
-+ }
-+ {
-+ char t = isdsts[i];
-+
-+ isdsts[i] = isdsts[j];
-+ isdsts[j] = t;
-+ }
-+ {
-+ unsigned char t = abbrinds[i];
-+
-+ abbrinds[i] = abbrinds[j];
-+ abbrinds[j] = t;
-+ }
-+ {
-+ bool t = ttisstds[i];
-+
-+ ttisstds[i] = ttisstds[j];
-+ ttisstds[j] = t;
-+ }
-+ {
-+ bool t = ttisgmts[i];
-+
-+ ttisgmts[i] = ttisgmts[j];
-+ ttisgmts[j] = t;
-+ }
-+}
-+
-+static void
-+writezone(const char *const name, const char *const string, char version,
-+ int defaulttype)
- {
- FILE *fp;
- ptrdiff_t i,
-@@ -1977,14 +1990,12 @@ writezone(const char *const name, const
-
- toi = 0;
- fromi = 0;
-- while (fromi < timecnt && attypes[fromi].at < early_time)
-- ++fromi;
- for (; fromi < timecnt; ++fromi)
- {
-- if (toi > 1 && ((attypes[fromi].at +
-- gmtoffs[attypes[toi - 1].type]) <=
-- (attypes[toi - 1].at +
-- gmtoffs[attypes[toi - 2].type])))
-+ if (toi != 0 && ((attypes[fromi].at +
-+ gmtoffs[attypes[toi - 1].type]) <=
-+ (attypes[toi - 1].at + gmtoffs[toi == 1 ? 0
-+ : attypes[toi - 2].type])))
- {
- attypes[toi - 1].type =
- attypes[fromi].type;
-@@ -2019,8 +2030,8 @@ writezone(const char *const name, const
- }
-
- /*
-- * Work around QTBUG-53071 for time stamps less than y2038_boundary - 1,
-- * by inserting a no-op transition at time y2038_boundary - 1. This works
-+ * Work around QTBUG-53071 for timestamps less than y2038_boundary - 1, by
-+ * inserting a no-op transition at time y2038_boundary - 1. This works
- * only for timestamps before the boundary, which should be good enough in
- * practice as QTBUG-53071 should be long-dead by 2038.
- */
-@@ -2116,7 +2127,8 @@ writezone(const char *const name, const
- int thisleapi,
- thisleapcnt,
- thisleaplim;
-- int writetype[TZ_MAX_TYPES];
-+ int old0;
-+ char omittype[TZ_MAX_TYPES];
- int typemap[TZ_MAX_TYPES];
- int thistypecnt;
- char thischars[TZ_MAX_CHARS];
-@@ -2144,28 +2156,19 @@ writezone(const char *const name, const
- error(_("too many transition times"));
- thistimelim = thistimei + thistimecnt;
- thisleaplim = thisleapi + thisleapcnt;
-- for (i = 0; i < typecnt; ++i)
-- writetype[i] = thistimecnt == timecnt;
-- if (thistimecnt == 0)
-- {
-- /*
-- * No transition times fall in the current (32- or 64-bit) window.
-- */
-- if (typecnt != 0)
-- writetype[typecnt - 1] = true;
-- }
-- else
-- {
-- for (i = thistimei - 1; i < thistimelim; ++i)
-- if (i >= 0)
-- writetype[types[i]] = true;
-+ memset(omittype, true, typecnt);
-+ omittype[defaulttype] = false;
-+ for (i = thistimei; i < thistimelim; i++)
-+ omittype[types[i]] = false;
-+
-+ /*
-+ * Reorder types to make DEFAULTTYPE type 0. Use TYPEMAP to swap OLD0
-+ * and DEFAULTTYPE so that DEFAULTTYPE appears as type 0 in the output
-+ * instead of OLD0. TYPEMAP also omits unused types.
-+ */
-+ old0 = strlen(omittype);
-+ swaptypes(old0, defaulttype);
-
-- /*
-- * For America/Godthab and Antarctica/Palmer
-- */
-- if (thistimei == 0)
-- writetype[0] = true;
-- }
- #ifndef LEAVE_SOME_PRE_2011_SYSTEMS_IN_THE_LURCH
-
- /*
-@@ -2187,8 +2190,8 @@ writezone(const char *const name, const
- mrudst = types[i];
- else
- mrustd = types[i];
-- for (i = 0; i < typecnt; ++i)
-- if (writetype[i])
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
- {
- if (isdsts[i])
- hidst = i;
-@@ -2205,7 +2208,7 @@ writezone(const char *const name, const
- ttisstds[mrudst],
- ttisgmts[mrudst]);
- isdsts[mrudst] = 1;
-- writetype[type] = true;
-+ omittype[type] = false;
- }
- if (histd >= 0 && mrustd >= 0 && histd != mrustd &&
- gmtoffs[histd] != gmtoffs[mrustd])
-@@ -2217,22 +2220,26 @@ writezone(const char *const name, const
- ttisstds[mrustd],
- ttisgmts[mrustd]);
- isdsts[mrustd] = 0;
-- writetype[type] = true;
-+ omittype[type] = false;
- }
- }
- #endif /* !defined
- * LEAVE_SOME_PRE_2011_SYSTEMS_IN_THE_LURCH */
- thistypecnt = 0;
-- for (i = 0; i < typecnt; ++i)
-- typemap[i] = writetype[i] ? thistypecnt++ : -1;
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
-+ typemap[i == old0 ? defaulttype
-+ : i == defaulttype ? old0 : i]
-+ = thistypecnt++;
-+
- for (i = 0; i < sizeof indmap / sizeof indmap[0]; ++i)
- indmap[i] = -1;
- thischarcnt = 0;
-- for (i = 0; i < typecnt; ++i)
-+ for (i = old0; i < typecnt; i++)
- {
- char *thisabbr;
-
-- if (!writetype[i])
-+ if (omittype[i])
- continue;
- if (indmap[abbrinds[i]] >= 0)
- continue;
-@@ -2267,23 +2274,16 @@ writezone(const char *const name, const
- DO(tzh_typecnt);
- DO(tzh_charcnt);
- #undef DO
-- for (i = thistimei; i < thistimelim; ++i)
-- if (pass == 1)
-
-- /*
-- * Output an INT32_MIN "transition" if appropriate; see above.
-- */
-- puttzcode(((ats[i] < PG_INT32_MIN) ?
-- PG_INT32_MIN : ats[i]), fp);
-- else
-+ /* PG: print current timezone abbreviations if requested */
-+ if (print_abbrevs && pass == 2)
-+ {
-+ /* Print "type" data for periods ending after print_cutoff */
-+ for (i = thistimei; i < thistimelim; ++i)
- {
-- puttzcode64(ats[i], fp);
--
-- /* Print current timezone abbreviations if requested */
-- if (print_abbrevs &&
-- (i == thistimelim - 1 || ats[i + 1] > print_cutoff))
-+ if (i == thistimelim - 1 || ats[i + 1] > print_cutoff)
- {
-- unsigned char tm = typemap[types[i]];
-+ unsigned char tm = types[i];
- char *thisabbrev = &thischars[indmap[abbrinds[tm]]];
-
- /* filter out assorted junk entries */
-@@ -2295,6 +2295,32 @@ writezone(const char *const name, const
- isdsts[tm] ? "\tD" : "");
- }
- }
-+ /* Print the default type if we have no transitions at all */
-+ if (thistimei >= thistimelim)
-+ {
-+ unsigned char tm = defaulttype;
-+ char *thisabbrev = &thischars[indmap[abbrinds[tm]]];
-+
-+ /* filter out assorted junk entries */
-+ if (strcmp(thisabbrev, GRANDPARENTED) != 0 &&
-+ strcmp(thisabbrev, "zzz") != 0)
-+ fprintf(stdout, "%s\t" INT64_FORMAT "%s\n",
-+ thisabbrev,
-+ gmtoffs[tm],
-+ isdsts[tm] ? "\tD" : "");
-+ }
-+ }
-+
-+ for (i = thistimei; i < thistimelim; ++i)
-+ if (pass == 1)
-+
-+ /*
-+ * Output an INT32_MIN "transition" if appropriate; see above.
-+ */
-+ puttzcode(((ats[i] < PG_INT32_MIN) ?
-+ PG_INT32_MIN : ats[i]), fp);
-+ else
-+ puttzcode64(ats[i], fp);
- for (i = thistimei; i < thistimelim; ++i)
- {
- unsigned char uc;
-@@ -2302,8 +2328,8 @@ writezone(const char *const name, const
- uc = typemap[types[i]];
- fwrite(&uc, sizeof uc, 1, fp);
- }
-- for (i = 0; i < typecnt; ++i)
-- if (writetype[i])
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
- {
- puttzcode(gmtoffs[i], fp);
- putc(isdsts[i], fp);
-@@ -2346,12 +2372,13 @@ writezone(const char *const name, const
- puttzcode64(todo, fp);
- puttzcode(corr[i], fp);
- }
-- for (i = 0; i < typecnt; ++i)
-- if (writetype[i])
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
- putc(ttisstds[i], fp);
-- for (i = 0; i < typecnt; ++i)
-- if (writetype[i])
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
- putc(ttisgmts[i], fp);
-+ swaptypes(old0, defaulttype);
- }
- fprintf(fp, "\n%s\n", string);
- close_file(fp, directory, name);
-@@ -2757,6 +2784,7 @@ outzone(const struct zone *zpfirst, ptrd
- zic_t one = 1;
- zic_t y2038_boundary = one << 31;
- zic_t max_year0;
-+ int defaulttype = -1;
-
- max_abbr_len = 2 + max_format_len + max_abbrvar_len;
- max_envvar_len = 2 * max_abbr_len + 5 * 9;
-@@ -2880,9 +2908,9 @@ outzone(const struct zone *zpfirst, ptrd
- */
- stdoff = 0;
- zp = &zpfirst[i];
-- usestart = i > 0 && (zp - 1)->z_untiltime > early_time;
-+ usestart = i > 0 && (zp - 1)->z_untiltime > min_time;
- useuntil = i < (zonecount - 1);
-- if (useuntil && zp->z_untiltime <= early_time)
-+ if (useuntil && zp->z_untiltime <= min_time)
- continue;
- gmtoff = zp->z_gmtoff;
- eat(zp->z_filename, zp->z_linenum);
-@@ -2901,7 +2929,7 @@ outzone(const struct zone *zpfirst, ptrd
- usestart = false;
- }
- else
-- addtt(early_time, type);
-+ defaulttype = type;
- }
- else
- for (year = min_year; year <= max_year; ++year)
-@@ -3032,6 +3060,8 @@ outzone(const struct zone *zpfirst, ptrd
- offset = oadd(zp->z_gmtoff, rp->r_stdoff);
- type = addtype(offset, ab, rp->r_isdst,
- rp->r_todisstd, rp->r_todisgmt);
-+ if (defaulttype < 0 && !rp->r_isdst)
-+ defaulttype = type;
- if (rp->r_hiyear == ZIC_MAX
- && !(0 <= lastatmax
- && ktime < attypes[lastatmax].at))
-@@ -3050,11 +3080,15 @@ outzone(const struct zone *zpfirst, ptrd
- if (*startbuf == '\0')
- error(_("cannot determine time zone abbreviation to use just after until time"));
- else
-- addtt(starttime,
-- addtype(startoff, startbuf,
-- startoff != zp->z_gmtoff,
-- startttisstd,
-- startttisgmt));
-+ {
-+ bool isdst = startoff != zp->z_gmtoff;
-+
-+ type = addtype(startoff, startbuf, isdst,
-+ startttisstd, startttisgmt);
-+ if (defaulttype < 0 && !isdst)
-+ defaulttype = type;
-+ addtt(starttime, type);
-+ }
- }
-
- /*
-@@ -3071,6 +3105,8 @@ outzone(const struct zone *zpfirst, ptrd
- starttime = tadd(starttime, -gmtoff);
- }
- }
-+ if (defaulttype < 0)
-+ defaulttype = 0;
- if (0 <= lastatmax)
- attypes[lastatmax].dontmerge = true;
- if (do_extend)
-@@ -3100,7 +3136,7 @@ outzone(const struct zone *zpfirst, ptrd
- attypes[timecnt - 1].dontmerge = true;
- }
- }
-- writezone(zpfirst->z_name, envvar, version);
-+ writezone(zpfirst->z_name, envvar, version, defaulttype);
- free(startbuf);
- free(ab);
- free(envvar);
-@@ -3109,21 +3145,6 @@ outzone(const struct zone *zpfirst, ptrd
- static void
- addtt(zic_t starttime, int type)
- {
-- if (starttime <= early_time
-- || (timecnt == 1 && attypes[0].at < early_time))
-- {
-- gmtoffs[0] = gmtoffs[type];
-- isdsts[0] = isdsts[type];
-- ttisstds[0] = ttisstds[type];
-- ttisgmts[0] = ttisgmts[type];
-- if (abbrinds[type] != 0)
-- strcpy(chars, &chars[abbrinds[type]]);
-- abbrinds[0] = 0;
-- charcnt = strlen(chars) + 1;
-- typecnt = 1;
-- timecnt = 0;
-- type = 0;
-- }
- attypes = growalloc(attypes, sizeof *attypes, timecnt, &timecnt_alloc);
- attypes[timecnt].at = starttime;
- attypes[timecnt].dontmerge = false;
-@@ -3361,7 +3382,7 @@ is_alpha(char a)
- }
-
- /* If A is an uppercase character in the C locale, return its lowercase
-- * counterpart. Otherwise, return A. */
-+ counterpart. Otherwise, return A. */
- static char
- lowerit(char a)
- {
-@@ -3628,6 +3649,18 @@ rpytime(const struct rule *rp, zic_t wan
- dayoff = 0;
- m = TM_JANUARY;
- y = EPOCH_YEAR;
-+ if (y < wantedy)
-+ {
-+ wantedy -= y;
-+ dayoff = (wantedy / YEARSPERREPEAT) * (SECSPERREPEAT / SECSPERDAY);
-+ wantedy %= YEARSPERREPEAT;
-+ wantedy += y;
-+ }
-+ else if (wantedy < 0)
-+ {
-+ dayoff = (wantedy / YEARSPERREPEAT) * (SECSPERREPEAT / SECSPERDAY);
-+ wantedy %= YEARSPERREPEAT;
-+ }
- while (wantedy != y)
- {
- if (wantedy > y)
-@@ -3706,7 +3739,6 @@ will not work with pre-2004 versions of
- if (dayoff > max_time / SECSPERDAY)
- return max_time;
- t = (zic_t) dayoff * SECSPERDAY;
--
- return tadd(t, rp->r_tod);
- }
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch
deleted file mode 100644
index 41e763c55..000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch
+++ /dev/null
@@ -1,6452 +0,0 @@
-From 13877d30f2ec93f6043937f76af207dcc614a4e7 Mon Sep 17 00:00:00 2001
-From: Tom Lane <tgl@sss.pgh.pa.us>
-Date: Fri, 19 Oct 2018 17:01:34 -0400
-Subject: [PATCH] Update time zone data files to tzdata release 2018f.
-
-DST law changes in Chile, Fiji, and Russia (Volgograd).
-Historical corrections for China, Japan, Macau, and North Korea.
-
-Note: like the previous tzdata update, this involves a depressingly
-large amount of semantically-meaningless churn in tzdata.zi. That
-is a consequence of upstream's data compression method assigning
-unstable abbreviations to DST rulesets. I complained about that
-to them last time, and this version now uses an assignment method
-that pays some heed to not changing abbreviations unnecessarily.
-So hopefully, that'll be better going forward.
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- src/timezone/data/tzdata.zi | 5273 +++++++++++++++++++-------------------
- src/timezone/known_abbrevs.txt | 1 +
- src/timezone/tznames/America.txt | 3 +
- src/timezone/tznames/Asia.txt | 4 +
- src/timezone/tznames/Default | 3 +
- src/timezone/tznames/Pacific.txt | 3 +
- 6 files changed, 2660 insertions(+), 2627 deletions(-)
-
-diff --git a/src/timezone/data/tzdata.zi b/src/timezone/data/tzdata.zi
-index c470112..6d98902 100644
---- a/src/timezone/data/tzdata.zi
-+++ b/src/timezone/data/tzdata.zi
-@@ -1,36 +1,36 @@
--# version 2018e
-+# version 2018f
- # This zic input file is in the public domain.
--R A 1916 o - Jun 14 23s 1 S
--R A 1916 1919 - O Sun>=1 23s 0 -
--R A 1917 o - Mar 24 23s 1 S
--R A 1918 o - Mar 9 23s 1 S
--R A 1919 o - Mar 1 23s 1 S
--R A 1920 o - F 14 23s 1 S
--R A 1920 o - O 23 23s 0 -
--R A 1921 o - Mar 14 23s 1 S
--R A 1921 o - Jun 21 23s 0 -
--R A 1939 o - S 11 23s 1 S
--R A 1939 o - N 19 1 0 -
--R A 1944 1945 - Ap M>=1 2 1 S
--R A 1944 o - O 8 2 0 -
--R A 1945 o - S 16 1 0 -
--R A 1971 o - Ap 25 23s 1 S
--R A 1971 o - S 26 23s 0 -
--R A 1977 o - May 6 0 1 S
--R A 1977 o - O 21 0 0 -
--R A 1978 o - Mar 24 1 1 S
--R A 1978 o - S 22 3 0 -
--R A 1980 o - Ap 25 0 1 S
--R A 1980 o - O 31 2 0 -
-+R d 1916 o - Jun 14 23s 1 S
-+R d 1916 1919 - O Sun>=1 23s 0 -
-+R d 1917 o - Mar 24 23s 1 S
-+R d 1918 o - Mar 9 23s 1 S
-+R d 1919 o - Mar 1 23s 1 S
-+R d 1920 o - F 14 23s 1 S
-+R d 1920 o - O 23 23s 0 -
-+R d 1921 o - Mar 14 23s 1 S
-+R d 1921 o - Jun 21 23s 0 -
-+R d 1939 o - S 11 23s 1 S
-+R d 1939 o - N 19 1 0 -
-+R d 1944 1945 - Ap M>=1 2 1 S
-+R d 1944 o - O 8 2 0 -
-+R d 1945 o - S 16 1 0 -
-+R d 1971 o - Ap 25 23s 1 S
-+R d 1971 o - S 26 23s 0 -
-+R d 1977 o - May 6 0 1 S
-+R d 1977 o - O 21 0 0 -
-+R d 1978 o - Mar 24 1 1 S
-+R d 1978 o - S 22 3 0 -
-+R d 1980 o - Ap 25 0 1 S
-+R d 1980 o - O 31 2 0 -
- Z Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:1
- 0:9:21 - PMT 1911 Mar 11
--0 A WE%sT 1940 F 25 2
--1 A CE%sT 1946 O 7
-+0 d WE%sT 1940 F 25 2
-+1 d CE%sT 1946 O 7
- 0 - WET 1956 Ja 29
- 1 - CET 1963 Ap 14
--0 A WE%sT 1977 O 21
--1 A CE%sT 1979 O 26
--0 A WE%sT 1981 May
-+0 d WE%sT 1977 O 21
-+1 d CE%sT 1979 O 26
-+0 d WE%sT 1981 May
- 1 - CET
- Z Atlantic/Cape_Verde -1:34:4 - LMT 1912 Ja 1 2u
- -2 - -02 1942 S
-@@ -52,44 +52,44 @@ Li Africa/Abidjan Africa/Lome
- Li Africa/Abidjan Africa/Nouakchott
- Li Africa/Abidjan Africa/Ouagadougou
- Li Africa/Abidjan Atlantic/St_Helena
--R B 1940 o - Jul 15 0 1 S
--R B 1940 o - O 1 0 0 -
--R B 1941 o - Ap 15 0 1 S
--R B 1941 o - S 16 0 0 -
--R B 1942 1944 - Ap 1 0 1 S
--R B 1942 o - O 27 0 0 -
--R B 1943 1945 - N 1 0 0 -
--R B 1945 o - Ap 16 0 1 S
--R B 1957 o - May 10 0 1 S
--R B 1957 1958 - O 1 0 0 -
--R B 1958 o - May 1 0 1 S
--R B 1959 1981 - May 1 1 1 S
--R B 1959 1965 - S 30 3 0 -
--R B 1966 1994 - O 1 3 0 -
--R B 1982 o - Jul 25 1 1 S
--R B 1983 o - Jul 12 1 1 S
--R B 1984 1988 - May 1 1 1 S
--R B 1989 o - May 6 1 1 S
--R B 1990 1994 - May 1 1 1 S
--R B 1995 2010 - Ap lastF 0s 1 S
--R B 1995 2005 - S lastTh 24 0 -
--R B 2006 o - S 21 24 0 -
--R B 2007 o - S Th>=1 24 0 -
--R B 2008 o - Au lastTh 24 0 -
--R B 2009 o - Au 20 24 0 -
--R B 2010 o - Au 10 24 0 -
--R B 2010 o - S 9 24 1 S
--R B 2010 o - S lastTh 24 0 -
--R B 2014 o - May 15 24 1 S
--R B 2014 o - Jun 26 24 0 -
--R B 2014 o - Jul 31 24 1 S
--R B 2014 o - S lastTh 24 0 -
-+R K 1940 o - Jul 15 0 1 S
-+R K 1940 o - O 1 0 0 -
-+R K 1941 o - Ap 15 0 1 S
-+R K 1941 o - S 16 0 0 -
-+R K 1942 1944 - Ap 1 0 1 S
-+R K 1942 o - O 27 0 0 -
-+R K 1943 1945 - N 1 0 0 -
-+R K 1945 o - Ap 16 0 1 S
-+R K 1957 o - May 10 0 1 S
-+R K 1957 1958 - O 1 0 0 -
-+R K 1958 o - May 1 0 1 S
-+R K 1959 1981 - May 1 1 1 S
-+R K 1959 1965 - S 30 3 0 -
-+R K 1966 1994 - O 1 3 0 -
-+R K 1982 o - Jul 25 1 1 S
-+R K 1983 o - Jul 12 1 1 S
-+R K 1984 1988 - May 1 1 1 S
-+R K 1989 o - May 6 1 1 S
-+R K 1990 1994 - May 1 1 1 S
-+R K 1995 2010 - Ap lastF 0s 1 S
-+R K 1995 2005 - S lastTh 24 0 -
-+R K 2006 o - S 21 24 0 -
-+R K 2007 o - S Th>=1 24 0 -
-+R K 2008 o - Au lastTh 24 0 -
-+R K 2009 o - Au 20 24 0 -
-+R K 2010 o - Au 10 24 0 -
-+R K 2010 o - S 9 24 1 S
-+R K 2010 o - S lastTh 24 0 -
-+R K 2014 o - May 15 24 1 S
-+R K 2014 o - Jun 26 24 0 -
-+R K 2014 o - Jul 31 24 1 S
-+R K 2014 o - S lastTh 24 0 -
- Z Africa/Cairo 2:5:9 - LMT 1900 O
--2 B EE%sT
--R C 1920 1942 - S 1 0 0:20 -
--R C 1920 1942 - D 31 0 0 -
-+2 K EE%sT
-+R GH 1920 1942 - S 1 0 0:20 -
-+R GH 1920 1942 - D 31 0 0 -
- Z Africa/Accra -0:0:52 - LMT 1918
--0 C GMT/+0020
-+0 GH GMT/+0020
- Z Africa/Bissau -1:2:20 - LMT 1912 Ja 1 1u
- -1 - -01 1975
- 0 - GMT
-@@ -111,99 +111,99 @@ Z Africa/Monrovia -0:43:8 - LMT 1882
- -0:43:8 - MMT 1919 Mar
- -0:44:30 - MMT 1972 Ja 7
- 0 - GMT
--R D 1951 o - O 14 2 1 S
--R D 1952 o - Ja 1 0 0 -
--R D 1953 o - O 9 2 1 S
--R D 1954 o - Ja 1 0 0 -
--R D 1955 o - S 30 0 1 S
--R D 1956 o - Ja 1 0 0 -
--R D 1982 1984 - Ap 1 0 1 S
--R D 1982 1985 - O 1 0 0 -
--R D 1985 o - Ap 6 0 1 S
--R D 1986 o - Ap 4 0 1 S
--R D 1986 o - O 3 0 0 -
--R D 1987 1989 - Ap 1 0 1 S
--R D 1987 1989 - O 1 0 0 -
--R D 1997 o - Ap 4 0 1 S
--R D 1997 o - O 4 0 0 -
--R D 2013 o - Mar lastF 1 1 S
--R D 2013 o - O lastF 2 0 -
-+R L 1951 o - O 14 2 1 S
-+R L 1952 o - Ja 1 0 0 -
-+R L 1953 o - O 9 2 1 S
-+R L 1954 o - Ja 1 0 0 -
-+R L 1955 o - S 30 0 1 S
-+R L 1956 o - Ja 1 0 0 -
-+R L 1982 1984 - Ap 1 0 1 S
-+R L 1982 1985 - O 1 0 0 -
-+R L 1985 o - Ap 6 0 1 S
-+R L 1986 o - Ap 4 0 1 S
-+R L 1986 o - O 3 0 0 -
-+R L 1987 1989 - Ap 1 0 1 S
-+R L 1987 1989 - O 1 0 0 -
-+R L 1997 o - Ap 4 0 1 S
-+R L 1997 o - O 4 0 0 -
-+R L 2013 o - Mar lastF 1 1 S
-+R L 2013 o - O lastF 2 0 -
- Z Africa/Tripoli 0:52:44 - LMT 1920
--1 D CE%sT 1959
-+1 L CE%sT 1959
- 2 - EET 1982
--1 D CE%sT 1990 May 4
-+1 L CE%sT 1990 May 4
- 2 - EET 1996 S 30
--1 D CE%sT 1997 O 4
-+1 L CE%sT 1997 O 4
- 2 - EET 2012 N 10 2
--1 D CE%sT 2013 O 25 2
-+1 L CE%sT 2013 O 25 2
- 2 - EET
--R E 1982 o - O 10 0 1 -
--R E 1983 o - Mar 21 0 0 -
--R E 2008 o - O lastSun 2 1 -
--R E 2009 o - Mar lastSun 2 0 -
-+R MU 1982 o - O 10 0 1 -
-+R MU 1983 o - Mar 21 0 0 -
-+R MU 2008 o - O lastSun 2 1 -
-+R MU 2009 o - Mar lastSun 2 0 -
- Z Indian/Mauritius 3:50 - LMT 1907
--4 E +04/+05
--R F 1939 o - S 12 0 1 S
--R F 1939 o - N 19 0 0 -
--R F 1940 o - F 25 0 1 S
--R F 1945 o - N 18 0 0 -
--R F 1950 o - Jun 11 0 1 S
--R F 1950 o - O 29 0 0 -
--R F 1967 o - Jun 3 12 1 S
--R F 1967 o - O 1 0 0 -
--R F 1974 o - Jun 24 0 1 S
--R F 1974 o - S 1 0 0 -
--R F 1976 1977 - May 1 0 1 S
--R F 1976 o - Au 1 0 0 -
--R F 1977 o - S 28 0 0 -
--R F 1978 o - Jun 1 0 1 S
--R F 1978 o - Au 4 0 0 -
--R F 2008 o - Jun 1 0 1 S
--R F 2008 o - S 1 0 0 -
--R F 2009 o - Jun 1 0 1 S
--R F 2009 o - Au 21 0 0 -
--R F 2010 o - May 2 0 1 S
--R F 2010 o - Au 8 0 0 -
--R F 2011 o - Ap 3 0 1 S
--R F 2011 o - Jul 31 0 0 -
--R F 2012 2013 - Ap lastSun 2 1 S
--R F 2012 o - Jul 20 3 0 -
--R F 2012 o - Au 20 2 1 S
--R F 2012 o - S 30 3 0 -
--R F 2013 o - Jul 7 3 0 -
--R F 2013 o - Au 10 2 1 S
--R F 2013 ma - O lastSun 3 0 -
--R F 2014 2021 - Mar lastSun 2 1 S
--R F 2014 o - Jun 28 3 0 -
--R F 2014 o - Au 2 2 1 S
--R F 2015 o - Jun 14 3 0 -
--R F 2015 o - Jul 19 2 1 S
--R F 2016 o - Jun 5 3 0 -
--R F 2016 o - Jul 10 2 1 S
--R F 2017 o - May 21 3 0 -
--R F 2017 o - Jul 2 2 1 S
--R F 2018 o - May 13 3 0 -
--R F 2018 o - Jun 17 2 1 S
--R F 2019 o - May 5 3 0 -
--R F 2019 o - Jun 9 2 1 S
--R F 2020 o - Ap 19 3 0 -
--R F 2020 o - May 24 2 1 S
--R F 2021 o - Ap 11 3 0 -
--R F 2021 o - May 16 2 1 S
--R F 2022 o - May 8 2 1 S
--R F 2023 o - Ap 23 2 1 S
--R F 2024 o - Ap 14 2 1 S
--R F 2025 o - Ap 6 2 1 S
--R F 2026 ma - Mar lastSun 2 1 S
--R F 2036 o - O 19 3 0 -
--R F 2037 o - O 4 3 0 -
-+4 MU +04/+05
-+R M 1939 o - S 12 0 1 S
-+R M 1939 o - N 19 0 0 -
-+R M 1940 o - F 25 0 1 S
-+R M 1945 o - N 18 0 0 -
-+R M 1950 o - Jun 11 0 1 S
-+R M 1950 o - O 29 0 0 -
-+R M 1967 o - Jun 3 12 1 S
-+R M 1967 o - O 1 0 0 -
-+R M 1974 o - Jun 24 0 1 S
-+R M 1974 o - S 1 0 0 -
-+R M 1976 1977 - May 1 0 1 S
-+R M 1976 o - Au 1 0 0 -
-+R M 1977 o - S 28 0 0 -
-+R M 1978 o - Jun 1 0 1 S
-+R M 1978 o - Au 4 0 0 -
-+R M 2008 o - Jun 1 0 1 S
-+R M 2008 o - S 1 0 0 -
-+R M 2009 o - Jun 1 0 1 S
-+R M 2009 o - Au 21 0 0 -
-+R M 2010 o - May 2 0 1 S
-+R M 2010 o - Au 8 0 0 -
-+R M 2011 o - Ap 3 0 1 S
-+R M 2011 o - Jul 31 0 0 -
-+R M 2012 2013 - Ap lastSun 2 1 S
-+R M 2012 o - Jul 20 3 0 -
-+R M 2012 o - Au 20 2 1 S
-+R M 2012 o - S 30 3 0 -
-+R M 2013 o - Jul 7 3 0 -
-+R M 2013 o - Au 10 2 1 S
-+R M 2013 ma - O lastSun 3 0 -
-+R M 2014 2021 - Mar lastSun 2 1 S
-+R M 2014 o - Jun 28 3 0 -
-+R M 2014 o - Au 2 2 1 S
-+R M 2015 o - Jun 14 3 0 -
-+R M 2015 o - Jul 19 2 1 S
-+R M 2016 o - Jun 5 3 0 -
-+R M 2016 o - Jul 10 2 1 S
-+R M 2017 o - May 21 3 0 -
-+R M 2017 o - Jul 2 2 1 S
-+R M 2018 o - May 13 3 0 -
-+R M 2018 o - Jun 17 2 1 S
-+R M 2019 o - May 5 3 0 -
-+R M 2019 o - Jun 9 2 1 S
-+R M 2020 o - Ap 19 3 0 -
-+R M 2020 o - May 24 2 1 S
-+R M 2021 o - Ap 11 3 0 -
-+R M 2021 o - May 16 2 1 S
-+R M 2022 o - May 8 2 1 S
-+R M 2023 o - Ap 23 2 1 S
-+R M 2024 o - Ap 14 2 1 S
-+R M 2025 o - Ap 6 2 1 S
-+R M 2026 ma - Mar lastSun 2 1 S
-+R M 2036 o - O 19 3 0 -
-+R M 2037 o - O 4 3 0 -
- Z Africa/Casablanca -0:30:20 - LMT 1913 O 26
--0 F WE%sT 1984 Mar 16
-+0 M WE%sT 1984 Mar 16
- 1 - CET 1986
--0 F WE%sT
-+0 M WE%sT
- Z Africa/El_Aaiun -0:52:48 - LMT 1934
- -1 - -01 1976 Ap 14
--0 F WE%sT
-+0 M WE%sT
- Z Africa/Maputo 2:10:20 - LMT 1903 Mar
- 2 - CAT
- Li Africa/Maputo Africa/Blantyre
-@@ -213,15 +213,15 @@ Li Africa/Maputo Africa/Harare
- Li Africa/Maputo Africa/Kigali
- Li Africa/Maputo Africa/Lubumbashi
- Li Africa/Maputo Africa/Lusaka
--R G 1994 o - Mar 21 0 -1 WAT
--R G 1994 2017 - S Sun>=1 2 0 CAT
--R G 1995 2017 - Ap Sun>=1 2 -1 WAT
-+R NA 1994 o - Mar 21 0 -1 WAT
-+R NA 1994 2017 - S Sun>=1 2 0 CAT
-+R NA 1995 2017 - Ap Sun>=1 2 -1 WAT
- Z Africa/Windhoek 1:8:24 - LMT 1892 F 8
- 1:30 - +0130 1903 Mar
- 2 - SAST 1942 S 20 2
- 2 1 SAST 1943 Mar 21 2
- 2 - SAST 1990 Mar 21
--2 G %s
-+2 NA %s
- Z Africa/Lagos 0:13:36 - LMT 1919 S
- 1 - WAT
- Li Africa/Lagos Africa/Bangui
-@@ -241,52 +241,52 @@ Z Africa/Sao_Tome 0:26:56 - LMT 1884
- 1 - WAT
- Z Indian/Mahe 3:41:48 - LMT 1906 Jun
- 4 - +04
--R H 1942 1943 - S Sun>=15 2 1 -
--R H 1943 1944 - Mar Sun>=15 2 0 -
-+R SA 1942 1943 - S Sun>=15 2 1 -
-+R SA 1943 1944 - Mar Sun>=15 2 0 -
- Z Africa/Johannesburg 1:52 - LMT 1892 F 8
- 1:30 - SAST 1903 Mar
--2 H SAST
-+2 SA SAST
- Li Africa/Johannesburg Africa/Maseru
- Li Africa/Johannesburg Africa/Mbabane
--R I 1970 o - May 1 0 1 S
--R I 1970 1985 - O 15 0 0 -
--R I 1971 o - Ap 30 0 1 S
--R I 1972 1985 - Ap lastSun 0 1 S
-+R SD 1970 o - May 1 0 1 S
-+R SD 1970 1985 - O 15 0 0 -
-+R SD 1971 o - Ap 30 0 1 S
-+R SD 1972 1985 - Ap lastSun 0 1 S
- Z Africa/Khartoum 2:10:8 - LMT 1931
--2 I CA%sT 2000 Ja 15 12
-+2 SD CA%sT 2000 Ja 15 12
- 3 - EAT 2017 N
- 2 - CAT
- Z Africa/Juba 2:6:28 - LMT 1931
--2 I CA%sT 2000 Ja 15 12
-+2 SD CA%sT 2000 Ja 15 12
- 3 - EAT
--R J 1939 o - Ap 15 23s 1 S
--R J 1939 o - N 18 23s 0 -
--R J 1940 o - F 25 23s 1 S
--R J 1941 o - O 6 0 0 -
--R J 1942 o - Mar 9 0 1 S
--R J 1942 o - N 2 3 0 -
--R J 1943 o - Mar 29 2 1 S
--R J 1943 o - Ap 17 2 0 -
--R J 1943 o - Ap 25 2 1 S
--R J 1943 o - O 4 2 0 -
--R J 1944 1945 - Ap M>=1 2 1 S
--R J 1944 o - O 8 0 0 -
--R J 1945 o - S 16 0 0 -
--R J 1977 o - Ap 30 0s 1 S
--R J 1977 o - S 24 0s 0 -
--R J 1978 o - May 1 0s 1 S
--R J 1978 o - O 1 0s 0 -
--R J 1988 o - Jun 1 0s 1 S
--R J 1988 1990 - S lastSun 0s 0 -
--R J 1989 o - Mar 26 0s 1 S
--R J 1990 o - May 1 0s 1 S
--R J 2005 o - May 1 0s 1 S
--R J 2005 o - S 30 1s 0 -
--R J 2006 2008 - Mar lastSun 2s 1 S
--R J 2006 2008 - O lastSun 2s 0 -
-+R n 1939 o - Ap 15 23s 1 S
-+R n 1939 o - N 18 23s 0 -
-+R n 1940 o - F 25 23s 1 S
-+R n 1941 o - O 6 0 0 -
-+R n 1942 o - Mar 9 0 1 S
-+R n 1942 o - N 2 3 0 -
-+R n 1943 o - Mar 29 2 1 S
-+R n 1943 o - Ap 17 2 0 -
-+R n 1943 o - Ap 25 2 1 S
-+R n 1943 o - O 4 2 0 -
-+R n 1944 1945 - Ap M>=1 2 1 S
-+R n 1944 o - O 8 0 0 -
-+R n 1945 o - S 16 0 0 -
-+R n 1977 o - Ap 30 0s 1 S
-+R n 1977 o - S 24 0s 0 -
-+R n 1978 o - May 1 0s 1 S
-+R n 1978 o - O 1 0s 0 -
-+R n 1988 o - Jun 1 0s 1 S
-+R n 1988 1990 - S lastSun 0s 0 -
-+R n 1989 o - Mar 26 0s 1 S
-+R n 1990 o - May 1 0s 1 S
-+R n 2005 o - May 1 0s 1 S
-+R n 2005 o - S 30 1s 0 -
-+R n 2006 2008 - Mar lastSun 2s 1 S
-+R n 2006 2008 - O lastSun 2s 0 -
- Z Africa/Tunis 0:40:44 - LMT 1881 May 12
- 0:9:21 - PMT 1911 Mar 11
--1 J CE%sT
-+1 n CE%sT
- Z Antarctica/Casey 0 - -00 1969
- 8 - +08 2009 O 18 2
- 11 - +11 2010 Mar 5 2
-@@ -314,10 +314,10 @@ Z Antarctica/DumontDUrville 0 - -00 1947
- 10 - +10
- Z Antarctica/Syowa 0 - -00 1957 Ja 29
- 3 - +03
--R K 2005 ma - Mar lastSun 1u 2 +02
--R K 2004 ma - O lastSun 1u 0 +00
-+R Tr 2005 ma - Mar lastSun 1u 2 +02
-+R Tr 2004 ma - O lastSun 1u 0 +00
- Z Antarctica/Troll 0 - -00 2005 F 12
--0 K %s
-+0 Tr %s
- Z Antarctica/Vostok 0 - -00 1957 D 16
- 6 - +06
- Z Antarctica/Rothera 0 - -00 1976 D
-@@ -325,33 +325,33 @@ Z Antarctica/Rothera 0 - -00 1976 D
- Z Asia/Kabul 4:36:48 - LMT 1890
- 4 - +04 1945
- 4:30 - +0430
--R L 2011 o - Mar lastSun 2s 1 -
--R L 2011 o - O lastSun 2s 0 -
-+R AM 2011 o - Mar lastSun 2s 1 -
-+R AM 2011 o - O lastSun 2s 0 -
- Z Asia/Yerevan 2:58 - LMT 1924 May 2
- 3 - +03 1957 Mar
--4 M +04/+05 1991 Mar 31 2s
--3 M +03/+04 1995 S 24 2s
-+4 R +04/+05 1991 Mar 31 2s
-+3 R +03/+04 1995 S 24 2s
- 4 - +04 1997
--4 M +04/+05 2011
--4 L +04/+05
--R N 1997 2015 - Mar lastSun 4 1 -
--R N 1997 2015 - O lastSun 5 0 -
-+4 R +04/+05 2011
-+4 AM +04/+05
-+R AZ 1997 2015 - Mar lastSun 4 1 -
-+R AZ 1997 2015 - O lastSun 5 0 -
- Z Asia/Baku 3:19:24 - LMT 1924 May 2
- 3 - +03 1957 Mar
--4 M +04/+05 1991 Mar 31 2s
--3 M +03/+04 1992 S lastSun 2s
-+4 R +04/+05 1991 Mar 31 2s
-+3 R +03/+04 1992 S lastSun 2s
- 4 - +04 1996
--4 O +04/+05 1997
--4 N +04/+05
--R P 2009 o - Jun 19 23 1 -
--R P 2009 o - D 31 24 0 -
-+4 E +04/+05 1997
-+4 AZ +04/+05
-+R BD 2009 o - Jun 19 23 1 -
-+R BD 2009 o - D 31 24 0 -
- Z Asia/Dhaka 6:1:40 - LMT 1890
- 5:53:20 - HMT 1941 O
- 6:30 - +0630 1942 May 15
- 5:30 - +0530 1942 S
- 6:30 - +0630 1951 S 30
- 6 - +06 2009
--6 P +06/+07
-+6 BD +06/+07
- Z Asia/Thimphu 5:58:36 - LMT 1947 Au 15
- 5:30 - +0530 1987 O
- 6 - +06
-@@ -366,103 +366,127 @@ Z Asia/Yangon 6:24:47 - LMT 1880
- 6:30 - +0630 1942 May
- 9 - +09 1945 May 3
- 6:30 - +0630
--R Q 1940 o - Jun 3 0 1 D
--R Q 1940 1941 - O 1 0 0 S
--R Q 1941 o - Mar 16 0 1 D
--R R 1986 o - May 4 0 1 D
--R R 1986 1991 - S Sun>=11 0 0 S
--R R 1987 1991 - Ap Sun>=10 0 1 D
-+R Sh 1940 o - Jun 1 0 1 D
-+R Sh 1940 o - O 12 24 0 S
-+R Sh 1941 o - Mar 15 0 1 D
-+R Sh 1941 o - N 1 24 0 S
-+R Sh 1942 o - Ja 31 0 1 D
-+R Sh 1945 o - S 1 24 0 S
-+R Sh 1946 o - May 15 0 1 D
-+R Sh 1946 o - S 30 24 0 S
-+R Sh 1947 o - Ap 15 0 1 D
-+R Sh 1947 o - O 31 24 0 S
-+R Sh 1948 1949 - May 1 0 1 D
-+R Sh 1948 1949 - S 30 24 0 S
-+R CN 1986 o - May 4 2 1 D
-+R CN 1986 1991 - S Sun>=11 2 0 S
-+R CN 1987 1991 - Ap Sun>=11 2 1 D
- Z Asia/Shanghai 8:5:43 - LMT 1901
--8 Q C%sT 1949
--8 R C%sT
-+8 Sh C%sT 1949 May 28
-+8 CN C%sT
- Z Asia/Urumqi 5:50:20 - LMT 1928
- 6 - +06
--R S 1941 o - Ap 1 3:30 1 S
--R S 1941 o - S 30 3:30 0 -
--R S 1946 o - Ap 20 3:30 1 S
--R S 1946 o - D 1 3:30 0 -
--R S 1947 o - Ap 13 3:30 1 S
--R S 1947 o - D 30 3:30 0 -
--R S 1948 o - May 2 3:30 1 S
--R S 1948 1951 - O lastSun 3:30 0 -
--R S 1952 o - O 25 3:30 0 -
--R S 1949 1953 - Ap Sun>=1 3:30 1 S
--R S 1953 o - N 1 3:30 0 -
--R S 1954 1964 - Mar Sun>=18 3:30 1 S
--R S 1954 o - O 31 3:30 0 -
--R S 1955 1964 - N Sun>=1 3:30 0 -
--R S 1965 1976 - Ap Sun>=16 3:30 1 S
--R S 1965 1976 - O Sun>=16 3:30 0 -
--R S 1973 o - D 30 3:30 1 S
--R S 1979 o - May Sun>=8 3:30 1 S
--R S 1979 o - O Sun>=16 3:30 0 -
-+R HK 1941 o - Ap 1 3:30 1 S
-+R HK 1941 o - S 30 3:30 0 -
-+R HK 1946 o - Ap 20 3:30 1 S
-+R HK 1946 o - D 1 3:30 0 -
-+R HK 1947 o - Ap 13 3:30 1 S
-+R HK 1947 o - D 30 3:30 0 -
-+R HK 1948 o - May 2 3:30 1 S
-+R HK 1948 1951 - O lastSun 3:30 0 -
-+R HK 1952 o - O 25 3:30 0 -
-+R HK 1949 1953 - Ap Sun>=1 3:30 1 S
-+R HK 1953 o - N 1 3:30 0 -
-+R HK 1954 1964 - Mar Sun>=18 3:30 1 S
-+R HK 1954 o - O 31 3:30 0 -
-+R HK 1955 1964 - N Sun>=1 3:30 0 -
-+R HK 1965 1976 - Ap Sun>=16 3:30 1 S
-+R HK 1965 1976 - O Sun>=16 3:30 0 -
-+R HK 1973 o - D 30 3:30 1 S
-+R HK 1979 o - May Sun>=8 3:30 1 S
-+R HK 1979 o - O Sun>=16 3:30 0 -
- Z Asia/Hong_Kong 7:36:42 - LMT 1904 O 30
--8 S HK%sT 1941 D 25
-+8 HK HK%sT 1941 D 25
- 9 - JST 1945 S 15
--8 S HK%sT
--R T 1946 o - May 15 0 1 D
--R T 1946 o - O 1 0 0 S
--R T 1947 o - Ap 15 0 1 D
--R T 1947 o - N 1 0 0 S
--R T 1948 1951 - May 1 0 1 D
--R T 1948 1951 - O 1 0 0 S
--R T 1952 o - Mar 1 0 1 D
--R T 1952 1954 - N 1 0 0 S
--R T 1953 1959 - Ap 1 0 1 D
--R T 1955 1961 - O 1 0 0 S
--R T 1960 1961 - Jun 1 0 1 D
--R T 1974 1975 - Ap 1 0 1 D
--R T 1974 1975 - O 1 0 0 S
--R T 1979 o - Jul 1 0 1 D
--R T 1979 o - O 1 0 0 S
-+8 HK HK%sT
-+R f 1946 o - May 15 0 1 D
-+R f 1946 o - O 1 0 0 S
-+R f 1947 o - Ap 15 0 1 D
-+R f 1947 o - N 1 0 0 S
-+R f 1948 1951 - May 1 0 1 D
-+R f 1948 1951 - O 1 0 0 S
-+R f 1952 o - Mar 1 0 1 D
-+R f 1952 1954 - N 1 0 0 S
-+R f 1953 1959 - Ap 1 0 1 D
-+R f 1955 1961 - O 1 0 0 S
-+R f 1960 1961 - Jun 1 0 1 D
-+R f 1974 1975 - Ap 1 0 1 D
-+R f 1974 1975 - O 1 0 0 S
-+R f 1979 o - Jul 1 0 1 D
-+R f 1979 o - O 1 0 0 S
- Z Asia/Taipei 8:6 - LMT 1896
- 8 - CST 1937 O
- 9 - JST 1945 S 21 1
--8 T C%sT
--R U 1961 1962 - Mar Sun>=16 3:30 1 D
--R U 1961 1964 - N Sun>=1 3:30 0 S
--R U 1963 o - Mar Sun>=16 0 1 D
--R U 1964 o - Mar Sun>=16 3:30 1 D
--R U 1965 o - Mar Sun>=16 0 1 D
--R U 1965 o - O 31 0 0 S
--R U 1966 1971 - Ap Sun>=16 3:30 1 D
--R U 1966 1971 - O Sun>=16 3:30 0 S
--R U 1972 1974 - Ap Sun>=15 0 1 D
--R U 1972 1973 - O Sun>=15 0 0 S
--R U 1974 1977 - O Sun>=15 3:30 0 S
--R U 1975 1977 - Ap Sun>=15 3:30 1 D
--R U 1978 1980 - Ap Sun>=15 0 1 D
--R U 1978 1980 - O Sun>=15 0 0 S
--Z Asia/Macau 7:34:20 - LMT 1911 D 31 16u
--8 U C%sT
--R V 1975 o - Ap 13 0 1 S
--R V 1975 o - O 12 0 0 -
--R V 1976 o - May 15 0 1 S
--R V 1976 o - O 11 0 0 -
--R V 1977 1980 - Ap Sun>=1 0 1 S
--R V 1977 o - S 25 0 0 -
--R V 1978 o - O 2 0 0 -
--R V 1979 1997 - S lastSun 0 0 -
--R V 1981 1998 - Mar lastSun 0 1 S
-+8 f C%sT
-+R _ 1942 1943 - Ap 30 23 1 -
-+R _ 1942 o - N 17 23 0 -
-+R _ 1943 o - S 30 23 0 S
-+R _ 1946 o - Ap 30 23s 1 D
-+R _ 1946 o - S 30 23s 0 S
-+R _ 1947 o - Ap 19 23s 1 D
-+R _ 1947 o - N 30 23s 0 S
-+R _ 1948 o - May 2 23s 1 D
-+R _ 1948 o - O 31 23s 0 S
-+R _ 1949 1950 - Ap Sat>=1 23s 1 D
-+R _ 1949 1950 - O lastSat 23s 0 S
-+R _ 1951 o - Mar 31 23s 1 D
-+R _ 1951 o - O 28 23s 0 S
-+R _ 1952 1953 - Ap Sat>=1 23s 1 D
-+R _ 1952 o - N 1 23s 0 S
-+R _ 1953 1954 - O lastSat 23s 0 S
-+R _ 1954 1956 - Mar Sat>=17 23s 1 D
-+R _ 1955 o - N 5 23s 0 S
-+R _ 1956 1964 - N Sun>=1 3:30 0 S
-+R _ 1957 1964 - Mar Sun>=18 3:30 1 D
-+R _ 1965 1973 - Ap Sun>=16 3:30 1 D
-+R _ 1965 1966 - O Sun>=16 2:30 0 S
-+R _ 1967 1976 - O Sun>=16 3:30 0 S
-+R _ 1973 o - D 30 3:30 1 D
-+R _ 1975 1976 - Ap Sun>=16 3:30 1 D
-+R _ 1979 o - May 13 3:30 1 D
-+R _ 1979 o - O Sun>=16 3:30 0 S
-+Z Asia/Macau 7:34:10 - LMT 1904 O 30
-+8 - CST 1941 D 21 23
-+9 _ +09/+10 1945 S 30 24
-+8 _ C%sT
-+R CY 1975 o - Ap 13 0 1 S
-+R CY 1975 o - O 12 0 0 -
-+R CY 1976 o - May 15 0 1 S
-+R CY 1976 o - O 11 0 0 -
-+R CY 1977 1980 - Ap Sun>=1 0 1 S
-+R CY 1977 o - S 25 0 0 -
-+R CY 1978 o - O 2 0 0 -
-+R CY 1979 1997 - S lastSun 0 0 -
-+R CY 1981 1998 - Mar lastSun 0 1 S
- Z Asia/Nicosia 2:13:28 - LMT 1921 N 14
--2 V EE%sT 1998 S
--2 O EE%sT
-+2 CY EE%sT 1998 S
-+2 E EE%sT
- Z Asia/Famagusta 2:15:48 - LMT 1921 N 14
--2 V EE%sT 1998 S
--2 O EE%sT 2016 S 8
-+2 CY EE%sT 1998 S
-+2 E EE%sT 2016 S 8
- 3 - +03 2017 O 29 1u
--2 O EE%sT
-+2 E EE%sT
- Li Asia/Nicosia Europe/Nicosia
- Z Asia/Tbilisi 2:59:11 - LMT 1880
- 2:59:11 - TBMT 1924 May 2
- 3 - +03 1957 Mar
--4 M +04/+05 1991 Mar 31 2s
--3 M +03/+04 1992
--3 W +03/+04 1994 S lastSun
--4 W +04/+05 1996 O lastSun
-+4 R +04/+05 1991 Mar 31 2s
-+3 R +03/+04 1992
-+3 e +03/+04 1994 S lastSun
-+4 e +04/+05 1996 O lastSun
- 4 1 +05 1997 Mar lastSun
--4 W +04/+05 2004 Jun 27
--3 M +03/+04 2005 Mar lastSun 2
-+4 e +04/+05 2004 Jun 27
-+3 R +03/+04 2005 Mar lastSun 2
- 4 - +04
- Z Asia/Dili 8:22:20 - LMT 1912
- 8 - +08 1942 F 21 23
-@@ -504,72 +528,72 @@ Z Asia/Jayapura 9:22:48 - LMT 1932 N
- 9 - +09 1944 S
- 9:30 - +0930 1964
- 9 - WIT
--R X 1978 1980 - Mar 21 0 1 -
--R X 1978 o - O 21 0 0 -
--R X 1979 o - S 19 0 0 -
--R X 1980 o - S 23 0 0 -
--R X 1991 o - May 3 0 1 -
--R X 1992 1995 - Mar 22 0 1 -
--R X 1991 1995 - S 22 0 0 -
--R X 1996 o - Mar 21 0 1 -
--R X 1996 o - S 21 0 0 -
--R X 1997 1999 - Mar 22 0 1 -
--R X 1997 1999 - S 22 0 0 -
--R X 2000 o - Mar 21 0 1 -
--R X 2000 o - S 21 0 0 -
--R X 2001 2003 - Mar 22 0 1 -
--R X 2001 2003 - S 22 0 0 -
--R X 2004 o - Mar 21 0 1 -
--R X 2004 o - S 21 0 0 -
--R X 2005 o - Mar 22 0 1 -
--R X 2005 o - S 22 0 0 -
--R X 2008 o - Mar 21 0 1 -
--R X 2008 o - S 21 0 0 -
--R X 2009 2011 - Mar 22 0 1 -
--R X 2009 2011 - S 22 0 0 -
--R X 2012 o - Mar 21 0 1 -
--R X 2012 o - S 21 0 0 -
--R X 2013 2015 - Mar 22 0 1 -
--R X 2013 2015 - S 22 0 0 -
--R X 2016 o - Mar 21 0 1 -
--R X 2016 o - S 21 0 0 -
--R X 2017 2019 - Mar 22 0 1 -
--R X 2017 2019 - S 22 0 0 -
--R X 2020 o - Mar 21 0 1 -
--R X 2020 o - S 21 0 0 -
--R X 2021 2023 - Mar 22 0 1 -
--R X 2021 2023 - S 22 0 0 -
--R X 2024 o - Mar 21 0 1 -
--R X 2024 o - S 21 0 0 -
--R X 2025 2027 - Mar 22 0 1 -
--R X 2025 2027 - S 22 0 0 -
--R X 2028 2029 - Mar 21 0 1 -
--R X 2028 2029 - S 21 0 0 -
--R X 2030 2031 - Mar 22 0 1 -
--R X 2030 2031 - S 22 0 0 -
--R X 2032 2033 - Mar 21 0 1 -
--R X 2032 2033 - S 21 0 0 -
--R X 2034 2035 - Mar 22 0 1 -
--R X 2034 2035 - S 22 0 0 -
--R X 2036 ma - Mar 21 0 1 -
--R X 2036 ma - S 21 0 0 -
-+R i 1978 1980 - Mar 21 0 1 -
-+R i 1978 o - O 21 0 0 -
-+R i 1979 o - S 19 0 0 -
-+R i 1980 o - S 23 0 0 -
-+R i 1991 o - May 3 0 1 -
-+R i 1992 1995 - Mar 22 0 1 -
-+R i 1991 1995 - S 22 0 0 -
-+R i 1996 o - Mar 21 0 1 -
-+R i 1996 o - S 21 0 0 -
-+R i 1997 1999 - Mar 22 0 1 -
-+R i 1997 1999 - S 22 0 0 -
-+R i 2000 o - Mar 21 0 1 -
-+R i 2000 o - S 21 0 0 -
-+R i 2001 2003 - Mar 22 0 1 -
-+R i 2001 2003 - S 22 0 0 -
-+R i 2004 o - Mar 21 0 1 -
-+R i 2004 o - S 21 0 0 -
-+R i 2005 o - Mar 22 0 1 -
-+R i 2005 o - S 22 0 0 -
-+R i 2008 o - Mar 21 0 1 -
-+R i 2008 o - S 21 0 0 -
-+R i 2009 2011 - Mar 22 0 1 -
-+R i 2009 2011 - S 22 0 0 -
-+R i 2012 o - Mar 21 0 1 -
-+R i 2012 o - S 21 0 0 -
-+R i 2013 2015 - Mar 22 0 1 -
-+R i 2013 2015 - S 22 0 0 -
-+R i 2016 o - Mar 21 0 1 -
-+R i 2016 o - S 21 0 0 -
-+R i 2017 2019 - Mar 22 0 1 -
-+R i 2017 2019 - S 22 0 0 -
-+R i 2020 o - Mar 21 0 1 -
-+R i 2020 o - S 21 0 0 -
-+R i 2021 2023 - Mar 22 0 1 -
-+R i 2021 2023 - S 22 0 0 -
-+R i 2024 o - Mar 21 0 1 -
-+R i 2024 o - S 21 0 0 -
-+R i 2025 2027 - Mar 22 0 1 -
-+R i 2025 2027 - S 22 0 0 -
-+R i 2028 2029 - Mar 21 0 1 -
-+R i 2028 2029 - S 21 0 0 -
-+R i 2030 2031 - Mar 22 0 1 -
-+R i 2030 2031 - S 22 0 0 -
-+R i 2032 2033 - Mar 21 0 1 -
-+R i 2032 2033 - S 21 0 0 -
-+R i 2034 2035 - Mar 22 0 1 -
-+R i 2034 2035 - S 22 0 0 -
-+R i 2036 ma - Mar 21 0 1 -
-+R i 2036 ma - S 21 0 0 -
- Z Asia/Tehran 3:25:44 - LMT 1916
- 3:25:44 - TMT 1946
- 3:30 - +0330 1977 N
--4 X +04/+05 1979
--3:30 X +0330/+0430
--R Y 1982 o - May 1 0 1 -
--R Y 1982 1984 - O 1 0 0 -
--R Y 1983 o - Mar 31 0 1 -
--R Y 1984 1985 - Ap 1 0 1 -
--R Y 1985 1990 - S lastSun 1s 0 -
--R Y 1986 1990 - Mar lastSun 1s 1 -
--R Y 1991 2007 - Ap 1 3s 1 -
--R Y 1991 2007 - O 1 3s 0 -
-+4 i +04/+05 1979
-+3:30 i +0330/+0430
-+R IQ 1982 o - May 1 0 1 -
-+R IQ 1982 1984 - O 1 0 0 -
-+R IQ 1983 o - Mar 31 0 1 -
-+R IQ 1984 1985 - Ap 1 0 1 -
-+R IQ 1985 1990 - S lastSun 1s 0 -
-+R IQ 1986 1990 - Mar lastSun 1s 1 -
-+R IQ 1991 2007 - Ap 1 3s 1 -
-+R IQ 1991 2007 - O 1 3s 0 -
- Z Asia/Baghdad 2:57:40 - LMT 1890
- 2:57:36 - BMT 1918
- 3 - +03 1982 May
--3 Y +03/+04
-+3 IQ +03/+04
- R Z 1940 o - Jun 1 0 1 D
- R Z 1942 1944 - N 1 0 0 S
- R Z 1943 o - Ap 1 2 1 D
-@@ -659,163 +683,163 @@ R Z 2013 ma - O lastSun 2 0 S
- Z Asia/Jerusalem 2:20:54 - LMT 1880
- 2:20:40 - JMT 1918
- 2 Z I%sT
--R a 1948 o - May Sat>=1 24 1 D
--R a 1948 1951 - S Sun>=9 0 0 S
--R a 1949 o - Ap Sat>=1 24 1 D
--R a 1950 1951 - May Sat>=1 24 1 D
-+R JP 1948 o - May Sat>=1 24 1 D
-+R JP 1948 1951 - S Sat>=8 25 0 S
-+R JP 1949 o - Ap Sat>=1 24 1 D
-+R JP 1950 1951 - May Sat>=1 24 1 D
- Z Asia/Tokyo 9:18:59 - LMT 1887 D 31 15u
--9 a J%sT
--R b 1973 o - Jun 6 0 1 S
--R b 1973 1975 - O 1 0 0 -
--R b 1974 1977 - May 1 0 1 S
--R b 1976 o - N 1 0 0 -
--R b 1977 o - O 1 0 0 -
--R b 1978 o - Ap 30 0 1 S
--R b 1978 o - S 30 0 0 -
--R b 1985 o - Ap 1 0 1 S
--R b 1985 o - O 1 0 0 -
--R b 1986 1988 - Ap F>=1 0 1 S
--R b 1986 1990 - O F>=1 0 0 -
--R b 1989 o - May 8 0 1 S
--R b 1990 o - Ap 27 0 1 S
--R b 1991 o - Ap 17 0 1 S
--R b 1991 o - S 27 0 0 -
--R b 1992 o - Ap 10 0 1 S
--R b 1992 1993 - O F>=1 0 0 -
--R b 1993 1998 - Ap F>=1 0 1 S
--R b 1994 o - S F>=15 0 0 -
--R b 1995 1998 - S F>=15 0s 0 -
--R b 1999 o - Jul 1 0s 1 S
--R b 1999 2002 - S lastF 0s 0 -
--R b 2000 2001 - Mar lastTh 0s 1 S
--R b 2002 2012 - Mar lastTh 24 1 S
--R b 2003 o - O 24 0s 0 -
--R b 2004 o - O 15 0s 0 -
--R b 2005 o - S lastF 0s 0 -
--R b 2006 2011 - O lastF 0s 0 -
--R b 2013 o - D 20 0 0 -
--R b 2014 ma - Mar lastTh 24 1 S
--R b 2014 ma - O lastF 0s 0 -
-+9 JP J%sT
-+R J 1973 o - Jun 6 0 1 S
-+R J 1973 1975 - O 1 0 0 -
-+R J 1974 1977 - May 1 0 1 S
-+R J 1976 o - N 1 0 0 -
-+R J 1977 o - O 1 0 0 -
-+R J 1978 o - Ap 30 0 1 S
-+R J 1978 o - S 30 0 0 -
-+R J 1985 o - Ap 1 0 1 S
-+R J 1985 o - O 1 0 0 -
-+R J 1986 1988 - Ap F>=1 0 1 S
-+R J 1986 1990 - O F>=1 0 0 -
-+R J 1989 o - May 8 0 1 S
-+R J 1990 o - Ap 27 0 1 S
-+R J 1991 o - Ap 17 0 1 S
-+R J 1991 o - S 27 0 0 -
-+R J 1992 o - Ap 10 0 1 S
-+R J 1992 1993 - O F>=1 0 0 -
-+R J 1993 1998 - Ap F>=1 0 1 S
-+R J 1994 o - S F>=15 0 0 -
-+R J 1995 1998 - S F>=15 0s 0 -
-+R J 1999 o - Jul 1 0s 1 S
-+R J 1999 2002 - S lastF 0s 0 -
-+R J 2000 2001 - Mar lastTh 0s 1 S
-+R J 2002 2012 - Mar lastTh 24 1 S
-+R J 2003 o - O 24 0s 0 -
-+R J 2004 o - O 15 0s 0 -
-+R J 2005 o - S lastF 0s 0 -
-+R J 2006 2011 - O lastF 0s 0 -
-+R J 2013 o - D 20 0 0 -
-+R J 2014 ma - Mar lastTh 24 1 S
-+R J 2014 ma - O lastF 0s 0 -
- Z Asia/Amman 2:23:44 - LMT 1931
--2 b EE%sT
-+2 J EE%sT
- Z Asia/Almaty 5:7:48 - LMT 1924 May 2
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2s
--5 M +05/+06 1992 Ja 19 2s
--6 M +06/+07 2004 O 31 2s
-+6 R +06/+07 1991 Mar 31 2s
-+5 R +05/+06 1992 Ja 19 2s
-+6 R +06/+07 2004 O 31 2s
- 6 - +06
- Z Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
- 4 - +04 1930 Jun 21
- 5 - +05 1981 Ap
- 5 1 +06 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1991 S 29 2s
--5 M +05/+06 1992 Ja 19 2s
--6 M +06/+07 1992 Mar 29 2s
--5 M +05/+06 2004 O 31 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1991 S 29 2s
-+5 R +05/+06 1992 Ja 19 2s
-+6 R +06/+07 1992 Mar 29 2s
-+5 R +05/+06 2004 O 31 2s
- 6 - +06
- Z Asia/Aqtobe 3:48:40 - LMT 1924 May 2
- 4 - +04 1930 Jun 21
- 5 - +05 1981 Ap
- 5 1 +06 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 2004 O 31 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 2004 O 31 2s
- 5 - +05
- Z Asia/Aqtau 3:21:4 - LMT 1924 May 2
- 4 - +04 1930 Jun 21
- 5 - +05 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 1994 S 25 2s
--4 M +04/+05 2004 O 31 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 1994 S 25 2s
-+4 R +04/+05 2004 O 31 2s
- 5 - +05
- Z Asia/Atyrau 3:27:44 - LMT 1924 May 2
- 3 - +03 1930 Jun 21
- 5 - +05 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 1999 Mar 28 2s
--4 M +04/+05 2004 O 31 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 1999 Mar 28 2s
-+4 R +04/+05 2004 O 31 2s
- 5 - +05
- Z Asia/Oral 3:25:24 - LMT 1924 May 2
- 3 - +03 1930 Jun 21
- 5 - +05 1981 Ap
- 5 1 +06 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1989 Mar 26 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 1992 Mar 29 2s
--4 M +04/+05 2004 O 31 2s
-+5 R +05/+06 1989 Mar 26 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 1992 Mar 29 2s
-+4 R +04/+05 2004 O 31 2s
- 5 - +05
--R c 1992 1996 - Ap Sun>=7 0s 1 -
--R c 1992 1996 - S lastSun 0 0 -
--R c 1997 2005 - Mar lastSun 2:30 1 -
--R c 1997 2004 - O lastSun 2:30 0 -
-+R KG 1992 1996 - Ap Sun>=7 0s 1 -
-+R KG 1992 1996 - S lastSun 0 0 -
-+R KG 1997 2005 - Mar lastSun 2:30 1 -
-+R KG 1997 2004 - O lastSun 2:30 0 -
- Z Asia/Bishkek 4:58:24 - LMT 1924 May 2
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2s
--5 M +05/+06 1991 Au 31 2
--5 c +05/+06 2005 Au 12
-+6 R +06/+07 1991 Mar 31 2s
-+5 R +05/+06 1991 Au 31 2
-+5 KG +05/+06 2005 Au 12
- 6 - +06
--R d 1948 o - Jun 1 0 1 D
--R d 1948 o - S 13 0 0 S
--R d 1949 o - Ap 3 0 1 D
--R d 1949 1951 - S Sun>=8 0 0 S
--R d 1950 o - Ap 1 0 1 D
--R d 1951 o - May 6 0 1 D
--R d 1955 o - May 5 0 1 D
--R d 1955 o - S 9 0 0 S
--R d 1956 o - May 20 0 1 D
--R d 1956 o - S 30 0 0 S
--R d 1957 1960 - May Sun>=1 0 1 D
--R d 1957 1960 - S Sun>=18 0 0 S
--R d 1987 1988 - May Sun>=8 2 1 D
--R d 1987 1988 - O Sun>=8 3 0 S
-+R KR 1948 o - Jun 1 0 1 D
-+R KR 1948 o - S 13 0 0 S
-+R KR 1949 o - Ap 3 0 1 D
-+R KR 1949 1951 - S Sun>=8 0 0 S
-+R KR 1950 o - Ap 1 0 1 D
-+R KR 1951 o - May 6 0 1 D
-+R KR 1955 o - May 5 0 1 D
-+R KR 1955 o - S 9 0 0 S
-+R KR 1956 o - May 20 0 1 D
-+R KR 1956 o - S 30 0 0 S
-+R KR 1957 1960 - May Sun>=1 0 1 D
-+R KR 1957 1960 - S Sun>=18 0 0 S
-+R KR 1987 1988 - May Sun>=8 2 1 D
-+R KR 1987 1988 - O Sun>=8 3 0 S
- Z Asia/Seoul 8:27:52 - LMT 1908 Ap
- 8:30 - KST 1912
- 9 - JST 1945 S 8
- 9 - KST 1954 Mar 21
--8:30 d K%sT 1961 Au 10
--9 d K%sT
-+8:30 KR K%sT 1961 Au 10
-+9 KR K%sT
- Z Asia/Pyongyang 8:23 - LMT 1908 Ap
- 8:30 - KST 1912
- 9 - JST 1945 Au 24
- 9 - KST 2015 Au 15
--8:30 - KST 2018 May 5
-+8:30 - KST 2018 May 4 23:30
- 9 - KST
--R e 1920 o - Mar 28 0 1 S
--R e 1920 o - O 25 0 0 -
--R e 1921 o - Ap 3 0 1 S
--R e 1921 o - O 3 0 0 -
--R e 1922 o - Mar 26 0 1 S
--R e 1922 o - O 8 0 0 -
--R e 1923 o - Ap 22 0 1 S
--R e 1923 o - S 16 0 0 -
--R e 1957 1961 - May 1 0 1 S
--R e 1957 1961 - O 1 0 0 -
--R e 1972 o - Jun 22 0 1 S
--R e 1972 1977 - O 1 0 0 -
--R e 1973 1977 - May 1 0 1 S
--R e 1978 o - Ap 30 0 1 S
--R e 1978 o - S 30 0 0 -
--R e 1984 1987 - May 1 0 1 S
--R e 1984 1991 - O 16 0 0 -
--R e 1988 o - Jun 1 0 1 S
--R e 1989 o - May 10 0 1 S
--R e 1990 1992 - May 1 0 1 S
--R e 1992 o - O 4 0 0 -
--R e 1993 ma - Mar lastSun 0 1 S
--R e 1993 1998 - S lastSun 0 0 -
--R e 1999 ma - O lastSun 0 0 -
-+R l 1920 o - Mar 28 0 1 S
-+R l 1920 o - O 25 0 0 -
-+R l 1921 o - Ap 3 0 1 S
-+R l 1921 o - O 3 0 0 -
-+R l 1922 o - Mar 26 0 1 S
-+R l 1922 o - O 8 0 0 -
-+R l 1923 o - Ap 22 0 1 S
-+R l 1923 o - S 16 0 0 -
-+R l 1957 1961 - May 1 0 1 S
-+R l 1957 1961 - O 1 0 0 -
-+R l 1972 o - Jun 22 0 1 S
-+R l 1972 1977 - O 1 0 0 -
-+R l 1973 1977 - May 1 0 1 S
-+R l 1978 o - Ap 30 0 1 S
-+R l 1978 o - S 30 0 0 -
-+R l 1984 1987 - May 1 0 1 S
-+R l 1984 1991 - O 16 0 0 -
-+R l 1988 o - Jun 1 0 1 S
-+R l 1989 o - May 10 0 1 S
-+R l 1990 1992 - May 1 0 1 S
-+R l 1992 o - O 4 0 0 -
-+R l 1993 ma - Mar lastSun 0 1 S
-+R l 1993 1998 - S lastSun 0 0 -
-+R l 1999 ma - O lastSun 0 0 -
- Z Asia/Beirut 2:22 - LMT 1880
--2 e EE%sT
--R f 1935 1941 - S 14 0 0:20 -
--R f 1935 1941 - D 14 0 0 -
-+2 l EE%sT
-+R NB 1935 1941 - S 14 0 0:20 -
-+R NB 1935 1941 - D 14 0 0 -
- Z Asia/Kuala_Lumpur 6:46:46 - LMT 1901
- 6:55:25 - SMT 1905 Jun
- 7 - +07 1933
-@@ -827,98 +851,98 @@ Z Asia/Kuala_Lumpur 6:46:46 - LMT 1901
- 8 - +08
- Z Asia/Kuching 7:21:20 - LMT 1926 Mar
- 7:30 - +0730 1933
--8 f +08/+0820 1942 F 16
-+8 NB +08/+0820 1942 F 16
- 9 - +09 1945 S 12
- 8 - +08
- Z Indian/Maldives 4:54 - LMT 1880
- 4:54 - MMT 1960
- 5 - +05
--R g 1983 1984 - Ap 1 0 1 -
--R g 1983 o - O 1 0 0 -
--R g 1985 1998 - Mar lastSun 0 1 -
--R g 1984 1998 - S lastSun 0 0 -
--R g 2001 o - Ap lastSat 2 1 -
--R g 2001 2006 - S lastSat 2 0 -
--R g 2002 2006 - Mar lastSat 2 1 -
--R g 2015 2016 - Mar lastSat 2 1 -
--R g 2015 2016 - S lastSat 0 0 -
-+R X 1983 1984 - Ap 1 0 1 -
-+R X 1983 o - O 1 0 0 -
-+R X 1985 1998 - Mar lastSun 0 1 -
-+R X 1984 1998 - S lastSun 0 0 -
-+R X 2001 o - Ap lastSat 2 1 -
-+R X 2001 2006 - S lastSat 2 0 -
-+R X 2002 2006 - Mar lastSat 2 1 -
-+R X 2015 2016 - Mar lastSat 2 1 -
-+R X 2015 2016 - S lastSat 0 0 -
- Z Asia/Hovd 6:6:36 - LMT 1905 Au
- 6 - +06 1978
--7 g +07/+08
-+7 X +07/+08
- Z Asia/Ulaanbaatar 7:7:32 - LMT 1905 Au
- 7 - +07 1978
--8 g +08/+09
-+8 X +08/+09
- Z Asia/Choibalsan 7:38 - LMT 1905 Au
- 7 - +07 1978
- 8 - +08 1983 Ap
--9 g +09/+10 2008 Mar 31
--8 g +08/+09
-+9 X +09/+10 2008 Mar 31
-+8 X +08/+09
- Z Asia/Kathmandu 5:41:16 - LMT 1920
- 5:30 - +0530 1986
- 5:45 - +0545
--R h 2002 o - Ap Sun>=2 0 1 S
--R h 2002 o - O Sun>=2 0 0 -
--R h 2008 o - Jun 1 0 1 S
--R h 2008 2009 - N 1 0 0 -
--R h 2009 o - Ap 15 0 1 S
-+R PK 2002 o - Ap Sun>=2 0 1 S
-+R PK 2002 o - O Sun>=2 0 0 -
-+R PK 2008 o - Jun 1 0 1 S
-+R PK 2008 2009 - N 1 0 0 -
-+R PK 2009 o - Ap 15 0 1 S
- Z Asia/Karachi 4:28:12 - LMT 1907
- 5:30 - +0530 1942 S
- 5:30 1 +0630 1945 O 15
- 5:30 - +0530 1951 S 30
- 5 - +05 1971 Mar 26
--5 h PK%sT
--R i 1999 2005 - Ap F>=15 0 1 S
--R i 1999 2003 - O F>=15 0 0 -
--R i 2004 o - O 1 1 0 -
--R i 2005 o - O 4 2 0 -
--R i 2006 2007 - Ap 1 0 1 S
--R i 2006 o - S 22 0 0 -
--R i 2007 o - S Th>=8 2 0 -
--R i 2008 2009 - Mar lastF 0 1 S
--R i 2008 o - S 1 0 0 -
--R i 2009 o - S F>=1 1 0 -
--R i 2010 o - Mar 26 0 1 S
--R i 2010 o - Au 11 0 0 -
--R i 2011 o - Ap 1 0:1 1 S
--R i 2011 o - Au 1 0 0 -
--R i 2011 o - Au 30 0 1 S
--R i 2011 o - S 30 0 0 -
--R i 2012 2014 - Mar lastTh 24 1 S
--R i 2012 o - S 21 1 0 -
--R i 2013 o - S F>=21 0 0 -
--R i 2014 2015 - O F>=21 0 0 -
--R i 2015 o - Mar lastF 24 1 S
--R i 2016 ma - Mar Sat>=22 1 1 S
--R i 2016 ma - O lastSat 1 0 -
-+5 PK PK%sT
-+R P 1999 2005 - Ap F>=15 0 1 S
-+R P 1999 2003 - O F>=15 0 0 -
-+R P 2004 o - O 1 1 0 -
-+R P 2005 o - O 4 2 0 -
-+R P 2006 2007 - Ap 1 0 1 S
-+R P 2006 o - S 22 0 0 -
-+R P 2007 o - S Th>=8 2 0 -
-+R P 2008 2009 - Mar lastF 0 1 S
-+R P 2008 o - S 1 0 0 -
-+R P 2009 o - S F>=1 1 0 -
-+R P 2010 o - Mar 26 0 1 S
-+R P 2010 o - Au 11 0 0 -
-+R P 2011 o - Ap 1 0:1 1 S
-+R P 2011 o - Au 1 0 0 -
-+R P 2011 o - Au 30 0 1 S
-+R P 2011 o - S 30 0 0 -
-+R P 2012 2014 - Mar lastTh 24 1 S
-+R P 2012 o - S 21 1 0 -
-+R P 2013 o - S F>=21 0 0 -
-+R P 2014 2015 - O F>=21 0 0 -
-+R P 2015 o - Mar lastF 24 1 S
-+R P 2016 ma - Mar Sat>=22 1 1 S
-+R P 2016 ma - O lastSat 1 0 -
- Z Asia/Gaza 2:17:52 - LMT 1900 O
- 2 Z EET/EEST 1948 May 15
--2 B EE%sT 1967 Jun 5
-+2 K EE%sT 1967 Jun 5
- 2 Z I%sT 1996
--2 b EE%sT 1999
--2 i EE%sT 2008 Au 29
-+2 J EE%sT 1999
-+2 P EE%sT 2008 Au 29
- 2 - EET 2008 S
--2 i EE%sT 2010
-+2 P EE%sT 2010
- 2 - EET 2010 Mar 27 0:1
--2 i EE%sT 2011 Au
-+2 P EE%sT 2011 Au
- 2 - EET 2012
--2 i EE%sT
-+2 P EE%sT
- Z Asia/Hebron 2:20:23 - LMT 1900 O
- 2 Z EET/EEST 1948 May 15
--2 B EE%sT 1967 Jun 5
-+2 K EE%sT 1967 Jun 5
- 2 Z I%sT 1996
--2 b EE%sT 1999
--2 i EE%sT
--R j 1936 o - N 1 0 1 -
--R j 1937 o - F 1 0 0 -
--R j 1954 o - Ap 12 0 1 -
--R j 1954 o - Jul 1 0 0 -
--R j 1978 o - Mar 22 0 1 -
--R j 1978 o - S 21 0 0 -
-+2 J EE%sT 1999
-+2 P EE%sT
-+R PH 1936 o - N 1 0 1 D
-+R PH 1937 o - F 1 0 0 S
-+R PH 1954 o - Ap 12 0 1 D
-+R PH 1954 o - Jul 1 0 0 S
-+R PH 1978 o - Mar 22 0 1 D
-+R PH 1978 o - S 21 0 0 S
- Z Asia/Manila -15:56 - LMT 1844 D 31
- 8:4 - LMT 1899 May 11
--8 j +08/+09 1942 May
--9 - +09 1944 N
--8 j +08/+09
-+8 PH P%sT 1942 May
-+9 - JST 1944 N
-+8 PH P%sT
- Z Asia/Qatar 3:26:8 - LMT 1920
- 4 - +04 1972 Jun
- 3 - +03
-@@ -945,52 +969,52 @@ Z Asia/Colombo 5:19:24 - LMT 1880
- 6:30 - +0630 1996 O 26 0:30
- 6 - +06 2006 Ap 15 0:30
- 5:30 - +0530
--R k 1920 1923 - Ap Sun>=15 2 1 S
--R k 1920 1923 - O Sun>=1 2 0 -
--R k 1962 o - Ap 29 2 1 S
--R k 1962 o - O 1 2 0 -
--R k 1963 1965 - May 1 2 1 S
--R k 1963 o - S 30 2 0 -
--R k 1964 o - O 1 2 0 -
--R k 1965 o - S 30 2 0 -
--R k 1966 o - Ap 24 2 1 S
--R k 1966 1976 - O 1 2 0 -
--R k 1967 1978 - May 1 2 1 S
--R k 1977 1978 - S 1 2 0 -
--R k 1983 1984 - Ap 9 2 1 S
--R k 1983 1984 - O 1 2 0 -
--R k 1986 o - F 16 2 1 S
--R k 1986 o - O 9 2 0 -
--R k 1987 o - Mar 1 2 1 S
--R k 1987 1988 - O 31 2 0 -
--R k 1988 o - Mar 15 2 1 S
--R k 1989 o - Mar 31 2 1 S
--R k 1989 o - O 1 2 0 -
--R k 1990 o - Ap 1 2 1 S
--R k 1990 o - S 30 2 0 -
--R k 1991 o - Ap 1 0 1 S
--R k 1991 1992 - O 1 0 0 -
--R k 1992 o - Ap 8 0 1 S
--R k 1993 o - Mar 26 0 1 S
--R k 1993 o - S 25 0 0 -
--R k 1994 1996 - Ap 1 0 1 S
--R k 1994 2005 - O 1 0 0 -
--R k 1997 1998 - Mar lastM 0 1 S
--R k 1999 2006 - Ap 1 0 1 S
--R k 2006 o - S 22 0 0 -
--R k 2007 o - Mar lastF 0 1 S
--R k 2007 o - N F>=1 0 0 -
--R k 2008 o - Ap F>=1 0 1 S
--R k 2008 o - N 1 0 0 -
--R k 2009 o - Mar lastF 0 1 S
--R k 2010 2011 - Ap F>=1 0 1 S
--R k 2012 ma - Mar lastF 0 1 S
--R k 2009 ma - O lastF 0 0 -
-+R S 1920 1923 - Ap Sun>=15 2 1 S
-+R S 1920 1923 - O Sun>=1 2 0 -
-+R S 1962 o - Ap 29 2 1 S
-+R S 1962 o - O 1 2 0 -
-+R S 1963 1965 - May 1 2 1 S
-+R S 1963 o - S 30 2 0 -
-+R S 1964 o - O 1 2 0 -
-+R S 1965 o - S 30 2 0 -
-+R S 1966 o - Ap 24 2 1 S
-+R S 1966 1976 - O 1 2 0 -
-+R S 1967 1978 - May 1 2 1 S
-+R S 1977 1978 - S 1 2 0 -
-+R S 1983 1984 - Ap 9 2 1 S
-+R S 1983 1984 - O 1 2 0 -
-+R S 1986 o - F 16 2 1 S
-+R S 1986 o - O 9 2 0 -
-+R S 1987 o - Mar 1 2 1 S
-+R S 1987 1988 - O 31 2 0 -
-+R S 1988 o - Mar 15 2 1 S
-+R S 1989 o - Mar 31 2 1 S
-+R S 1989 o - O 1 2 0 -
-+R S 1990 o - Ap 1 2 1 S
-+R S 1990 o - S 30 2 0 -
-+R S 1991 o - Ap 1 0 1 S
-+R S 1991 1992 - O 1 0 0 -
-+R S 1992 o - Ap 8 0 1 S
-+R S 1993 o - Mar 26 0 1 S
-+R S 1993 o - S 25 0 0 -
-+R S 1994 1996 - Ap 1 0 1 S
-+R S 1994 2005 - O 1 0 0 -
-+R S 1997 1998 - Mar lastM 0 1 S
-+R S 1999 2006 - Ap 1 0 1 S
-+R S 2006 o - S 22 0 0 -
-+R S 2007 o - Mar lastF 0 1 S
-+R S 2007 o - N F>=1 0 0 -
-+R S 2008 o - Ap F>=1 0 1 S
-+R S 2008 o - N 1 0 0 -
-+R S 2009 o - Mar lastF 0 1 S
-+R S 2010 2011 - Ap F>=1 0 1 S
-+R S 2012 ma - Mar lastF 0 1 S
-+R S 2009 ma - O lastF 0 0 -
- Z Asia/Damascus 2:25:12 - LMT 1920
--2 k EE%sT
-+2 S EE%sT
- Z Asia/Dushanbe 4:35:12 - LMT 1924 May 2
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2s
-+6 R +06/+07 1991 Mar 31 2s
- 5 1 +05/+06 1991 S 9 2s
- 5 - +05
- Z Asia/Bangkok 6:42:4 - LMT 1880
-@@ -1000,8 +1024,8 @@ Li Asia/Bangkok Asia/Phnom_Penh
- Li Asia/Bangkok Asia/Vientiane
- Z Asia/Ashgabat 3:53:32 - LMT 1924 May 2
- 4 - +04 1930 Jun 21
--5 M +05/+06 1991 Mar 31 2
--4 M +04/+05 1992 Ja 19 2
-+5 R +05/+06 1991 Mar 31 2
-+4 R +04/+05 1992 Ja 19 2
- 5 - +05
- Z Asia/Dubai 3:41:12 - LMT 1920
- 4 - +04
-@@ -1011,12 +1035,12 @@ Z Asia/Samarkand 4:27:53 - LMT 1924 May 2
- 5 - +05 1981 Ap
- 5 1 +06 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1992
-+5 R +05/+06 1992
- 5 - +05
- Z Asia/Tashkent 4:37:11 - LMT 1924 May 2
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2
--5 M +05/+06 1992
-+6 R +06/+07 1991 Mar 31 2
-+5 R +05/+06 1992
- 5 - +05
- Z Asia/Ho_Chi_Minh 7:6:40 - LMT 1906 Jul
- 7:6:30 - PLMT 1911 May
-@@ -1028,176 +1052,176 @@ Z Asia/Ho_Chi_Minh 7:6:40 - LMT 1906 Jul
- 7 - +07 1959 D 31 23
- 8 - +08 1975 Jun 13
- 7 - +07
--R l 1917 o - Ja 1 0:1 1 D
--R l 1917 o - Mar 25 2 0 S
--R l 1942 o - Ja 1 2 1 D
--R l 1942 o - Mar 29 2 0 S
--R l 1942 o - S 27 2 1 D
--R l 1943 1944 - Mar lastSun 2 0 S
--R l 1943 o - O 3 2 1 D
-+R AU 1917 o - Ja 1 0:1 1 D
-+R AU 1917 o - Mar 25 2 0 S
-+R AU 1942 o - Ja 1 2 1 D
-+R AU 1942 o - Mar 29 2 0 S
-+R AU 1942 o - S 27 2 1 D
-+R AU 1943 1944 - Mar lastSun 2 0 S
-+R AU 1943 o - O 3 2 1 D
- Z Australia/Darwin 8:43:20 - LMT 1895 F
- 9 - ACST 1899 May
--9:30 l AC%sT
--R m 1974 o - O lastSun 2s 1 D
--R m 1975 o - Mar Sun>=1 2s 0 S
--R m 1983 o - O lastSun 2s 1 D
--R m 1984 o - Mar Sun>=1 2s 0 S
--R m 1991 o - N 17 2s 1 D
--R m 1992 o - Mar Sun>=1 2s 0 S
--R m 2006 o - D 3 2s 1 D
--R m 2007 2009 - Mar lastSun 2s 0 S
--R m 2007 2008 - O lastSun 2s 1 D
-+9:30 AU AC%sT
-+R AW 1974 o - O lastSun 2s 1 D
-+R AW 1975 o - Mar Sun>=1 2s 0 S
-+R AW 1983 o - O lastSun 2s 1 D
-+R AW 1984 o - Mar Sun>=1 2s 0 S
-+R AW 1991 o - N 17 2s 1 D
-+R AW 1992 o - Mar Sun>=1 2s 0 S
-+R AW 2006 o - D 3 2s 1 D
-+R AW 2007 2009 - Mar lastSun 2s 0 S
-+R AW 2007 2008 - O lastSun 2s 1 D
- Z Australia/Perth 7:43:24 - LMT 1895 D
--8 l AW%sT 1943 Jul
--8 m AW%sT
-+8 AU AW%sT 1943 Jul
-+8 AW AW%sT
- Z Australia/Eucla 8:35:28 - LMT 1895 D
--8:45 l +0845/+0945 1943 Jul
--8:45 m +0845/+0945
--R n 1971 o - O lastSun 2s 1 D
--R n 1972 o - F lastSun 2s 0 S
--R n 1989 1991 - O lastSun 2s 1 D
--R n 1990 1992 - Mar Sun>=1 2s 0 S
--R o 1992 1993 - O lastSun 2s 1 D
--R o 1993 1994 - Mar Sun>=1 2s 0 S
-+8:45 AU +0845/+0945 1943 Jul
-+8:45 AW +0845/+0945
-+R AQ 1971 o - O lastSun 2s 1 D
-+R AQ 1972 o - F lastSun 2s 0 S
-+R AQ 1989 1991 - O lastSun 2s 1 D
-+R AQ 1990 1992 - Mar Sun>=1 2s 0 S
-+R Ho 1992 1993 - O lastSun 2s 1 D
-+R Ho 1993 1994 - Mar Sun>=1 2s 0 S
- Z Australia/Brisbane 10:12:8 - LMT 1895
--10 l AE%sT 1971
--10 n AE%sT
-+10 AU AE%sT 1971
-+10 AQ AE%sT
- Z Australia/Lindeman 9:55:56 - LMT 1895
--10 l AE%sT 1971
--10 n AE%sT 1992 Jul
--10 o AE%sT
--R p 1971 1985 - O lastSun 2s 1 D
--R p 1986 o - O 19 2s 1 D
--R p 1987 2007 - O lastSun 2s 1 D
--R p 1972 o - F 27 2s 0 S
--R p 1973 1985 - Mar Sun>=1 2s 0 S
--R p 1986 1990 - Mar Sun>=15 2s 0 S
--R p 1991 o - Mar 3 2s 0 S
--R p 1992 o - Mar 22 2s 0 S
--R p 1993 o - Mar 7 2s 0 S
--R p 1994 o - Mar 20 2s 0 S
--R p 1995 2005 - Mar lastSun 2s 0 S
--R p 2006 o - Ap 2 2s 0 S
--R p 2007 o - Mar lastSun 2s 0 S
--R p 2008 ma - Ap Sun>=1 2s 0 S
--R p 2008 ma - O Sun>=1 2s 1 D
-+10 AU AE%sT 1971
-+10 AQ AE%sT 1992 Jul
-+10 Ho AE%sT
-+R AS 1971 1985 - O lastSun 2s 1 D
-+R AS 1986 o - O 19 2s 1 D
-+R AS 1987 2007 - O lastSun 2s 1 D
-+R AS 1972 o - F 27 2s 0 S
-+R AS 1973 1985 - Mar Sun>=1 2s 0 S
-+R AS 1986 1990 - Mar Sun>=15 2s 0 S
-+R AS 1991 o - Mar 3 2s 0 S
-+R AS 1992 o - Mar 22 2s 0 S
-+R AS 1993 o - Mar 7 2s 0 S
-+R AS 1994 o - Mar 20 2s 0 S
-+R AS 1995 2005 - Mar lastSun 2s 0 S
-+R AS 2006 o - Ap 2 2s 0 S
-+R AS 2007 o - Mar lastSun 2s 0 S
-+R AS 2008 ma - Ap Sun>=1 2s 0 S
-+R AS 2008 ma - O Sun>=1 2s 1 D
- Z Australia/Adelaide 9:14:20 - LMT 1895 F
- 9 - ACST 1899 May
--9:30 l AC%sT 1971
--9:30 p AC%sT
--R q 1967 o - O Sun>=1 2s 1 D
--R q 1968 o - Mar lastSun 2s 0 S
--R q 1968 1985 - O lastSun 2s 1 D
--R q 1969 1971 - Mar Sun>=8 2s 0 S
--R q 1972 o - F lastSun 2s 0 S
--R q 1973 1981 - Mar Sun>=1 2s 0 S
--R q 1982 1983 - Mar lastSun 2s 0 S
--R q 1984 1986 - Mar Sun>=1 2s 0 S
--R q 1986 o - O Sun>=15 2s 1 D
--R q 1987 1990 - Mar Sun>=15 2s 0 S
--R q 1987 o - O Sun>=22 2s 1 D
--R q 1988 1990 - O lastSun 2s 1 D
--R q 1991 1999 - O Sun>=1 2s 1 D
--R q 1991 2005 - Mar lastSun 2s 0 S
--R q 2000 o - Au lastSun 2s 1 D
--R q 2001 ma - O Sun>=1 2s 1 D
--R q 2006 o - Ap Sun>=1 2s 0 S
--R q 2007 o - Mar lastSun 2s 0 S
--R q 2008 ma - Ap Sun>=1 2s 0 S
-+9:30 AU AC%sT 1971
-+9:30 AS AC%sT
-+R AT 1967 o - O Sun>=1 2s 1 D
-+R AT 1968 o - Mar lastSun 2s 0 S
-+R AT 1968 1985 - O lastSun 2s 1 D
-+R AT 1969 1971 - Mar Sun>=8 2s 0 S
-+R AT 1972 o - F lastSun 2s 0 S
-+R AT 1973 1981 - Mar Sun>=1 2s 0 S
-+R AT 1982 1983 - Mar lastSun 2s 0 S
-+R AT 1984 1986 - Mar Sun>=1 2s 0 S
-+R AT 1986 o - O Sun>=15 2s 1 D
-+R AT 1987 1990 - Mar Sun>=15 2s 0 S
-+R AT 1987 o - O Sun>=22 2s 1 D
-+R AT 1988 1990 - O lastSun 2s 1 D
-+R AT 1991 1999 - O Sun>=1 2s 1 D
-+R AT 1991 2005 - Mar lastSun 2s 0 S
-+R AT 2000 o - Au lastSun 2s 1 D
-+R AT 2001 ma - O Sun>=1 2s 1 D
-+R AT 2006 o - Ap Sun>=1 2s 0 S
-+R AT 2007 o - Mar lastSun 2s 0 S
-+R AT 2008 ma - Ap Sun>=1 2s 0 S
- Z Australia/Hobart 9:49:16 - LMT 1895 S
- 10 - AEST 1916 O 1 2
- 10 1 AEDT 1917 F
--10 l AE%sT 1967
--10 q AE%sT
-+10 AU AE%sT 1967
-+10 AT AE%sT
- Z Australia/Currie 9:35:28 - LMT 1895 S
- 10 - AEST 1916 O 1 2
- 10 1 AEDT 1917 F
--10 l AE%sT 1971 Jul
--10 q AE%sT
--R r 1971 1985 - O lastSun 2s 1 D
--R r 1972 o - F lastSun 2s 0 S
--R r 1973 1985 - Mar Sun>=1 2s 0 S
--R r 1986 1990 - Mar Sun>=15 2s 0 S
--R r 1986 1987 - O Sun>=15 2s 1 D
--R r 1988 1999 - O lastSun 2s 1 D
--R r 1991 1994 - Mar Sun>=1 2s 0 S
--R r 1995 2005 - Mar lastSun 2s 0 S
--R r 2000 o - Au lastSun 2s 1 D
--R r 2001 2007 - O lastSun 2s 1 D
--R r 2006 o - Ap Sun>=1 2s 0 S
--R r 2007 o - Mar lastSun 2s 0 S
--R r 2008 ma - Ap Sun>=1 2s 0 S
--R r 2008 ma - O Sun>=1 2s 1 D
-+10 AU AE%sT 1971 Jul
-+10 AT AE%sT
-+R AV 1971 1985 - O lastSun 2s 1 D
-+R AV 1972 o - F lastSun 2s 0 S
-+R AV 1973 1985 - Mar Sun>=1 2s 0 S
-+R AV 1986 1990 - Mar Sun>=15 2s 0 S
-+R AV 1986 1987 - O Sun>=15 2s 1 D
-+R AV 1988 1999 - O lastSun 2s 1 D
-+R AV 1991 1994 - Mar Sun>=1 2s 0 S
-+R AV 1995 2005 - Mar lastSun 2s 0 S
-+R AV 2000 o - Au lastSun 2s 1 D
-+R AV 2001 2007 - O lastSun 2s 1 D
-+R AV 2006 o - Ap Sun>=1 2s 0 S
-+R AV 2007 o - Mar lastSun 2s 0 S
-+R AV 2008 ma - Ap Sun>=1 2s 0 S
-+R AV 2008 ma - O Sun>=1 2s 1 D
- Z Australia/Melbourne 9:39:52 - LMT 1895 F
--10 l AE%sT 1971
--10 r AE%sT
--R s 1971 1985 - O lastSun 2s 1 D
--R s 1972 o - F 27 2s 0 S
--R s 1973 1981 - Mar Sun>=1 2s 0 S
--R s 1982 o - Ap Sun>=1 2s 0 S
--R s 1983 1985 - Mar Sun>=1 2s 0 S
--R s 1986 1989 - Mar Sun>=15 2s 0 S
--R s 1986 o - O 19 2s 1 D
--R s 1987 1999 - O lastSun 2s 1 D
--R s 1990 1995 - Mar Sun>=1 2s 0 S
--R s 1996 2005 - Mar lastSun 2s 0 S
--R s 2000 o - Au lastSun 2s 1 D
--R s 2001 2007 - O lastSun 2s 1 D
--R s 2006 o - Ap Sun>=1 2s 0 S
--R s 2007 o - Mar lastSun 2s 0 S
--R s 2008 ma - Ap Sun>=1 2s 0 S
--R s 2008 ma - O Sun>=1 2s 1 D
-+10 AU AE%sT 1971
-+10 AV AE%sT
-+R AN 1971 1985 - O lastSun 2s 1 D
-+R AN 1972 o - F 27 2s 0 S
-+R AN 1973 1981 - Mar Sun>=1 2s 0 S
-+R AN 1982 o - Ap Sun>=1 2s 0 S
-+R AN 1983 1985 - Mar Sun>=1 2s 0 S
-+R AN 1986 1989 - Mar Sun>=15 2s 0 S
-+R AN 1986 o - O 19 2s 1 D
-+R AN 1987 1999 - O lastSun 2s 1 D
-+R AN 1990 1995 - Mar Sun>=1 2s 0 S
-+R AN 1996 2005 - Mar lastSun 2s 0 S
-+R AN 2000 o - Au lastSun 2s 1 D
-+R AN 2001 2007 - O lastSun 2s 1 D
-+R AN 2006 o - Ap Sun>=1 2s 0 S
-+R AN 2007 o - Mar lastSun 2s 0 S
-+R AN 2008 ma - Ap Sun>=1 2s 0 S
-+R AN 2008 ma - O Sun>=1 2s 1 D
- Z Australia/Sydney 10:4:52 - LMT 1895 F
--10 l AE%sT 1971
--10 s AE%sT
-+10 AU AE%sT 1971
-+10 AN AE%sT
- Z Australia/Broken_Hill 9:25:48 - LMT 1895 F
- 10 - AEST 1896 Au 23
- 9 - ACST 1899 May
--9:30 l AC%sT 1971
--9:30 s AC%sT 2000
--9:30 p AC%sT
--R t 1981 1984 - O lastSun 2 1 -
--R t 1982 1985 - Mar Sun>=1 2 0 -
--R t 1985 o - O lastSun 2 0:30 -
--R t 1986 1989 - Mar Sun>=15 2 0 -
--R t 1986 o - O 19 2 0:30 -
--R t 1987 1999 - O lastSun 2 0:30 -
--R t 1990 1995 - Mar Sun>=1 2 0 -
--R t 1996 2005 - Mar lastSun 2 0 -
--R t 2000 o - Au lastSun 2 0:30 -
--R t 2001 2007 - O lastSun 2 0:30 -
--R t 2006 o - Ap Sun>=1 2 0 -
--R t 2007 o - Mar lastSun 2 0 -
--R t 2008 ma - Ap Sun>=1 2 0 -
--R t 2008 ma - O Sun>=1 2 0:30 -
-+9:30 AU AC%sT 1971
-+9:30 AN AC%sT 2000
-+9:30 AS AC%sT
-+R LH 1981 1984 - O lastSun 2 1 -
-+R LH 1982 1985 - Mar Sun>=1 2 0 -
-+R LH 1985 o - O lastSun 2 0:30 -
-+R LH 1986 1989 - Mar Sun>=15 2 0 -
-+R LH 1986 o - O 19 2 0:30 -
-+R LH 1987 1999 - O lastSun 2 0:30 -
-+R LH 1990 1995 - Mar Sun>=1 2 0 -
-+R LH 1996 2005 - Mar lastSun 2 0 -
-+R LH 2000 o - Au lastSun 2 0:30 -
-+R LH 2001 2007 - O lastSun 2 0:30 -
-+R LH 2006 o - Ap Sun>=1 2 0 -
-+R LH 2007 o - Mar lastSun 2 0 -
-+R LH 2008 ma - Ap Sun>=1 2 0 -
-+R LH 2008 ma - O Sun>=1 2 0:30 -
- Z Australia/Lord_Howe 10:36:20 - LMT 1895 F
- 10 - AEST 1981 Mar
--10:30 t +1030/+1130 1985 Jul
--10:30 t +1030/+11
-+10:30 LH +1030/+1130 1985 Jul
-+10:30 LH +1030/+11
- Z Antarctica/Macquarie 0 - -00 1899 N
- 10 - AEST 1916 O 1 2
- 10 1 AEDT 1917 F
--10 l AE%sT 1919 Ap 1 0s
-+10 AU AE%sT 1919 Ap 1 0s
- 0 - -00 1948 Mar 25
--10 l AE%sT 1967
--10 q AE%sT 2010 Ap 4 3
-+10 AU AE%sT 1967
-+10 AT AE%sT 2010 Ap 4 3
- 11 - +11
- Z Indian/Christmas 7:2:52 - LMT 1895 F
- 7 - +07
- Z Indian/Cocos 6:27:40 - LMT 1900
- 6:30 - +0630
--R u 1998 1999 - N Sun>=1 2 1 -
--R u 1999 2000 - F lastSun 3 0 -
--R u 2009 o - N 29 2 1 -
--R u 2010 o - Mar lastSun 3 0 -
--R u 2010 2013 - O Sun>=21 2 1 -
--R u 2011 o - Mar Sun>=1 3 0 -
--R u 2012 2013 - Ja Sun>=18 3 0 -
--R u 2014 o - Ja Sun>=18 2 0 -
--R u 2014 ma - N Sun>=1 2 1 -
--R u 2015 ma - Ja Sun>=14 3 0 -
-+R FJ 1998 1999 - N Sun>=1 2 1 -
-+R FJ 1999 2000 - F lastSun 3 0 -
-+R FJ 2009 o - N 29 2 1 -
-+R FJ 2010 o - Mar lastSun 3 0 -
-+R FJ 2010 2013 - O Sun>=21 2 1 -
-+R FJ 2011 o - Mar Sun>=1 3 0 -
-+R FJ 2012 2013 - Ja Sun>=18 3 0 -
-+R FJ 2014 o - Ja Sun>=18 2 0 -
-+R FJ 2014 ma - N Sun>=1 2 1 -
-+R FJ 2015 ma - Ja Sun>=13 3 0 -
- Z Pacific/Fiji 11:55:44 - LMT 1915 O 26
--12 u +12/+13
-+12 FJ +12/+13
- Z Pacific/Gambier -8:59:48 - LMT 1912 O
- -9 - -09
- Z Pacific/Marquesas -9:18 - LMT 1912 O
-@@ -1239,50 +1263,50 @@ Z Pacific/Nauru 11:7:40 - LMT 1921 Ja 15
- 9 - +09 1944 Au 15
- 11:30 - +1130 1979 May
- 12 - +12
--R v 1977 1978 - D Sun>=1 0 1 -
--R v 1978 1979 - F 27 0 0 -
--R v 1996 o - D 1 2s 1 -
--R v 1997 o - Mar 2 2s 0 -
-+R NC 1977 1978 - D Sun>=1 0 1 -
-+R NC 1978 1979 - F 27 0 0 -
-+R NC 1996 o - D 1 2s 1 -
-+R NC 1997 o - Mar 2 2s 0 -
- Z Pacific/Noumea 11:5:48 - LMT 1912 Ja 13
--11 v +11/+12
--R w 1927 o - N 6 2 1 S
--R w 1928 o - Mar 4 2 0 M
--R w 1928 1933 - O Sun>=8 2 0:30 S
--R w 1929 1933 - Mar Sun>=15 2 0 M
--R w 1934 1940 - Ap lastSun 2 0 M
--R w 1934 1940 - S lastSun 2 0:30 S
--R w 1946 o - Ja 1 0 0 S
--R w 1974 o - N Sun>=1 2s 1 D
--R x 1974 o - N Sun>=1 2:45s 1 -
--R w 1975 o - F lastSun 2s 0 S
--R x 1975 o - F lastSun 2:45s 0 -
--R w 1975 1988 - O lastSun 2s 1 D
--R x 1975 1988 - O lastSun 2:45s 1 -
--R w 1976 1989 - Mar Sun>=1 2s 0 S
--R x 1976 1989 - Mar Sun>=1 2:45s 0 -
--R w 1989 o - O Sun>=8 2s 1 D
--R x 1989 o - O Sun>=8 2:45s 1 -
--R w 1990 2006 - O Sun>=1 2s 1 D
--R x 1990 2006 - O Sun>=1 2:45s 1 -
--R w 1990 2007 - Mar Sun>=15 2s 0 S
--R x 1990 2007 - Mar Sun>=15 2:45s 0 -
--R w 2007 ma - S lastSun 2s 1 D
--R x 2007 ma - S lastSun 2:45s 1 -
--R w 2008 ma - Ap Sun>=1 2s 0 S
--R x 2008 ma - Ap Sun>=1 2:45s 0 -
-+11 NC +11/+12
-+R NZ 1927 o - N 6 2 1 S
-+R NZ 1928 o - Mar 4 2 0 M
-+R NZ 1928 1933 - O Sun>=8 2 0:30 S
-+R NZ 1929 1933 - Mar Sun>=15 2 0 M
-+R NZ 1934 1940 - Ap lastSun 2 0 M
-+R NZ 1934 1940 - S lastSun 2 0:30 S
-+R NZ 1946 o - Ja 1 0 0 S
-+R NZ 1974 o - N Sun>=1 2s 1 D
-+R k 1974 o - N Sun>=1 2:45s 1 -
-+R NZ 1975 o - F lastSun 2s 0 S
-+R k 1975 o - F lastSun 2:45s 0 -
-+R NZ 1975 1988 - O lastSun 2s 1 D
-+R k 1975 1988 - O lastSun 2:45s 1 -
-+R NZ 1976 1989 - Mar Sun>=1 2s 0 S
-+R k 1976 1989 - Mar Sun>=1 2:45s 0 -
-+R NZ 1989 o - O Sun>=8 2s 1 D
-+R k 1989 o - O Sun>=8 2:45s 1 -
-+R NZ 1990 2006 - O Sun>=1 2s 1 D
-+R k 1990 2006 - O Sun>=1 2:45s 1 -
-+R NZ 1990 2007 - Mar Sun>=15 2s 0 S
-+R k 1990 2007 - Mar Sun>=15 2:45s 0 -
-+R NZ 2007 ma - S lastSun 2s 1 D
-+R k 2007 ma - S lastSun 2:45s 1 -
-+R NZ 2008 ma - Ap Sun>=1 2s 0 S
-+R k 2008 ma - Ap Sun>=1 2:45s 0 -
- Z Pacific/Auckland 11:39:4 - LMT 1868 N 2
--11:30 w NZ%sT 1946
--12 w NZ%sT
-+11:30 NZ NZ%sT 1946
-+12 NZ NZ%sT
- Z Pacific/Chatham 12:13:48 - LMT 1868 N 2
- 12:15 - +1215 1946
--12:45 x +1245/+1345
-+12:45 k +1245/+1345
- Li Pacific/Auckland Antarctica/McMurdo
--R y 1978 o - N 12 0 0:30 -
--R y 1979 1991 - Mar Sun>=1 0 0 -
--R y 1979 1990 - O lastSun 0 0:30 -
-+R CK 1978 o - N 12 0 0:30 -
-+R CK 1979 1991 - Mar Sun>=1 0 0 -
-+R CK 1979 1990 - O lastSun 0 0:30 -
- Z Pacific/Rarotonga -10:39:4 - LMT 1901
- -10:30 - -1030 1978 N 12
---10 y -10/-0930
-+-10 CK -10/-0930
- Z Pacific/Niue -11:19:40 - LMT 1901
- -11:20 - -1120 1951
- -11:30 - -1130 1978 O
-@@ -1311,570 +1335,570 @@ Z Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5
- -11:22:48 - LMT 1911
- -11 - SST
- Li Pacific/Pago_Pago Pacific/Midway
--R z 2010 o - S lastSun 0 1 -
--R z 2011 o - Ap Sat>=1 4 0 -
--R z 2011 o - S lastSat 3 1 -
--R z 2012 ma - Ap Sun>=1 4 0 -
--R z 2012 ma - S lastSun 3 1 -
-+R WS 2010 o - S lastSun 0 1 -
-+R WS 2011 o - Ap Sat>=1 4 0 -
-+R WS 2011 o - S lastSat 3 1 -
-+R WS 2012 ma - Ap Sun>=1 4 0 -
-+R WS 2012 ma - S lastSun 3 1 -
- Z Pacific/Apia 12:33:4 - LMT 1892 Jul 5
- -11:26:56 - LMT 1911
- -11:30 - -1130 1950
---11 z -11/-10 2011 D 29 24
--13 z +13/+14
-+-11 WS -11/-10 2011 D 29 24
-+13 WS +13/+14
- Z Pacific/Guadalcanal 10:39:48 - LMT 1912 O
- 11 - +11
- Z Pacific/Fakaofo -11:24:56 - LMT 1901
- -11 - -11 2011 D 30
- 13 - +13
--R ! 1999 o - O 7 2s 1 -
--R ! 2000 o - Mar 19 2s 0 -
--R ! 2000 2001 - N Sun>=1 2 1 -
--R ! 2001 2002 - Ja lastSun 2 0 -
--R ! 2016 o - N Sun>=1 2 1 -
--R ! 2017 o - Ja Sun>=15 3 0 -
-+R TO 1999 o - O 7 2s 1 -
-+R TO 2000 o - Mar 19 2s 0 -
-+R TO 2000 2001 - N Sun>=1 2 1 -
-+R TO 2001 2002 - Ja lastSun 2 0 -
-+R TO 2016 o - N Sun>=1 2 1 -
-+R TO 2017 o - Ja Sun>=15 3 0 -
- Z Pacific/Tongatapu 12:19:20 - LMT 1901
- 12:20 - +1220 1941
- 13 - +13 1999
--13 ! +13/+14
-+13 TO +13/+14
- Z Pacific/Funafuti 11:56:52 - LMT 1901
- 12 - +12
- Z Pacific/Wake 11:6:28 - LMT 1901
- 12 - +12
--R $ 1983 o - S 25 0 1 -
--R $ 1984 1991 - Mar Sun>=23 0 0 -
--R $ 1984 o - O 23 0 1 -
--R $ 1985 1991 - S Sun>=23 0 1 -
--R $ 1992 1993 - Ja Sun>=23 0 0 -
--R $ 1992 o - O Sun>=23 0 1 -
-+R VU 1983 o - S 25 0 1 -
-+R VU 1984 1991 - Mar Sun>=23 0 0 -
-+R VU 1984 o - O 23 0 1 -
-+R VU 1985 1991 - S Sun>=23 0 1 -
-+R VU 1992 1993 - Ja Sun>=23 0 0 -
-+R VU 1992 o - O Sun>=23 0 1 -
- Z Pacific/Efate 11:13:16 - LMT 1912 Ja 13
--11 $ +11/+12
-+11 VU +11/+12
- Z Pacific/Wallis 12:15:20 - LMT 1901
- 12 - +12
--R % 1916 o - May 21 2s 1 BST
--R % 1916 o - O 1 2s 0 GMT
--R % 1917 o - Ap 8 2s 1 BST
--R % 1917 o - S 17 2s 0 GMT
--R % 1918 o - Mar 24 2s 1 BST
--R % 1918 o - S 30 2s 0 GMT
--R % 1919 o - Mar 30 2s 1 BST
--R % 1919 o - S 29 2s 0 GMT
--R % 1920 o - Mar 28 2s 1 BST
--R % 1920 o - O 25 2s 0 GMT
--R % 1921 o - Ap 3 2s 1 BST
--R % 1921 o - O 3 2s 0 GMT
--R % 1922 o - Mar 26 2s 1 BST
--R % 1922 o - O 8 2s 0 GMT
--R % 1923 o - Ap Sun>=16 2s 1 BST
--R % 1923 1924 - S Sun>=16 2s 0 GMT
--R % 1924 o - Ap Sun>=9 2s 1 BST
--R % 1925 1926 - Ap Sun>=16 2s 1 BST
--R % 1925 1938 - O Sun>=2 2s 0 GMT
--R % 1927 o - Ap Sun>=9 2s 1 BST
--R % 1928 1929 - Ap Sun>=16 2s 1 BST
--R % 1930 o - Ap Sun>=9 2s 1 BST
--R % 1931 1932 - Ap Sun>=16 2s 1 BST
--R % 1933 o - Ap Sun>=9 2s 1 BST
--R % 1934 o - Ap Sun>=16 2s 1 BST
--R % 1935 o - Ap Sun>=9 2s 1 BST
--R % 1936 1937 - Ap Sun>=16 2s 1 BST
--R % 1938 o - Ap Sun>=9 2s 1 BST
--R % 1939 o - Ap Sun>=16 2s 1 BST
--R % 1939 o - N Sun>=16 2s 0 GMT
--R % 1940 o - F Sun>=23 2s 1 BST
--R % 1941 o - May Sun>=2 1s 2 BDST
--R % 1941 1943 - Au Sun>=9 1s 1 BST
--R % 1942 1944 - Ap Sun>=2 1s 2 BDST
--R % 1944 o - S Sun>=16 1s 1 BST
--R % 1945 o - Ap M>=2 1s 2 BDST
--R % 1945 o - Jul Sun>=9 1s 1 BST
--R % 1945 1946 - O Sun>=2 2s 0 GMT
--R % 1946 o - Ap Sun>=9 2s 1 BST
--R % 1947 o - Mar 16 2s 1 BST
--R % 1947 o - Ap 13 1s 2 BDST
--R % 1947 o - Au 10 1s 1 BST
--R % 1947 o - N 2 2s 0 GMT
--R % 1948 o - Mar 14 2s 1 BST
--R % 1948 o - O 31 2s 0 GMT
--R % 1949 o - Ap 3 2s 1 BST
--R % 1949 o - O 30 2s 0 GMT
--R % 1950 1952 - Ap Sun>=14 2s 1 BST
--R % 1950 1952 - O Sun>=21 2s 0 GMT
--R % 1953 o - Ap Sun>=16 2s 1 BST
--R % 1953 1960 - O Sun>=2 2s 0 GMT
--R % 1954 o - Ap Sun>=9 2s 1 BST
--R % 1955 1956 - Ap Sun>=16 2s 1 BST
--R % 1957 o - Ap Sun>=9 2s 1 BST
--R % 1958 1959 - Ap Sun>=16 2s 1 BST
--R % 1960 o - Ap Sun>=9 2s 1 BST
--R % 1961 1963 - Mar lastSun 2s 1 BST
--R % 1961 1968 - O Sun>=23 2s 0 GMT
--R % 1964 1967 - Mar Sun>=19 2s 1 BST
--R % 1968 o - F 18 2s 1 BST
--R % 1972 1980 - Mar Sun>=16 2s 1 BST
--R % 1972 1980 - O Sun>=23 2s 0 GMT
--R % 1981 1995 - Mar lastSun 1u 1 BST
--R % 1981 1989 - O Sun>=23 1u 0 GMT
--R % 1990 1995 - O Sun>=22 1u 0 GMT
-+R G 1916 o - May 21 2s 1 BST
-+R G 1916 o - O 1 2s 0 GMT
-+R G 1917 o - Ap 8 2s 1 BST
-+R G 1917 o - S 17 2s 0 GMT
-+R G 1918 o - Mar 24 2s 1 BST
-+R G 1918 o - S 30 2s 0 GMT
-+R G 1919 o - Mar 30 2s 1 BST
-+R G 1919 o - S 29 2s 0 GMT
-+R G 1920 o - Mar 28 2s 1 BST
-+R G 1920 o - O 25 2s 0 GMT
-+R G 1921 o - Ap 3 2s 1 BST
-+R G 1921 o - O 3 2s 0 GMT
-+R G 1922 o - Mar 26 2s 1 BST
-+R G 1922 o - O 8 2s 0 GMT
-+R G 1923 o - Ap Sun>=16 2s 1 BST
-+R G 1923 1924 - S Sun>=16 2s 0 GMT
-+R G 1924 o - Ap Sun>=9 2s 1 BST
-+R G 1925 1926 - Ap Sun>=16 2s 1 BST
-+R G 1925 1938 - O Sun>=2 2s 0 GMT
-+R G 1927 o - Ap Sun>=9 2s 1 BST
-+R G 1928 1929 - Ap Sun>=16 2s 1 BST
-+R G 1930 o - Ap Sun>=9 2s 1 BST
-+R G 1931 1932 - Ap Sun>=16 2s 1 BST
-+R G 1933 o - Ap Sun>=9 2s 1 BST
-+R G 1934 o - Ap Sun>=16 2s 1 BST
-+R G 1935 o - Ap Sun>=9 2s 1 BST
-+R G 1936 1937 - Ap Sun>=16 2s 1 BST
-+R G 1938 o - Ap Sun>=9 2s 1 BST
-+R G 1939 o - Ap Sun>=16 2s 1 BST
-+R G 1939 o - N Sun>=16 2s 0 GMT
-+R G 1940 o - F Sun>=23 2s 1 BST
-+R G 1941 o - May Sun>=2 1s 2 BDST
-+R G 1941 1943 - Au Sun>=9 1s 1 BST
-+R G 1942 1944 - Ap Sun>=2 1s 2 BDST
-+R G 1944 o - S Sun>=16 1s 1 BST
-+R G 1945 o - Ap M>=2 1s 2 BDST
-+R G 1945 o - Jul Sun>=9 1s 1 BST
-+R G 1945 1946 - O Sun>=2 2s 0 GMT
-+R G 1946 o - Ap Sun>=9 2s 1 BST
-+R G 1947 o - Mar 16 2s 1 BST
-+R G 1947 o - Ap 13 1s 2 BDST
-+R G 1947 o - Au 10 1s 1 BST
-+R G 1947 o - N 2 2s 0 GMT
-+R G 1948 o - Mar 14 2s 1 BST
-+R G 1948 o - O 31 2s 0 GMT
-+R G 1949 o - Ap 3 2s 1 BST
-+R G 1949 o - O 30 2s 0 GMT
-+R G 1950 1952 - Ap Sun>=14 2s 1 BST
-+R G 1950 1952 - O Sun>=21 2s 0 GMT
-+R G 1953 o - Ap Sun>=16 2s 1 BST
-+R G 1953 1960 - O Sun>=2 2s 0 GMT
-+R G 1954 o - Ap Sun>=9 2s 1 BST
-+R G 1955 1956 - Ap Sun>=16 2s 1 BST
-+R G 1957 o - Ap Sun>=9 2s 1 BST
-+R G 1958 1959 - Ap Sun>=16 2s 1 BST
-+R G 1960 o - Ap Sun>=9 2s 1 BST
-+R G 1961 1963 - Mar lastSun 2s 1 BST
-+R G 1961 1968 - O Sun>=23 2s 0 GMT
-+R G 1964 1967 - Mar Sun>=19 2s 1 BST
-+R G 1968 o - F 18 2s 1 BST
-+R G 1972 1980 - Mar Sun>=16 2s 1 BST
-+R G 1972 1980 - O Sun>=23 2s 0 GMT
-+R G 1981 1995 - Mar lastSun 1u 1 BST
-+R G 1981 1989 - O Sun>=23 1u 0 GMT
-+R G 1990 1995 - O Sun>=22 1u 0 GMT
- Z Europe/London -0:1:15 - LMT 1847 D 1 0s
--0 % %s 1968 O 27
-+0 G %s 1968 O 27
- 1 - BST 1971 O 31 2u
--0 % %s 1996
--0 O GMT/BST
-+0 G %s 1996
-+0 E GMT/BST
- Li Europe/London Europe/Jersey
- Li Europe/London Europe/Guernsey
- Li Europe/London Europe/Isle_of_Man
--R & 1971 o - O 31 2u -1 -
--R & 1972 1980 - Mar Sun>=16 2u 0 -
--R & 1972 1980 - O Sun>=23 2u -1 -
--R & 1981 ma - Mar lastSun 1u 0 -
--R & 1981 1989 - O Sun>=23 1u -1 -
--R & 1990 1995 - O Sun>=22 1u -1 -
--R & 1996 ma - O lastSun 1u -1 -
-+R IE 1971 o - O 31 2u -1 -
-+R IE 1972 1980 - Mar Sun>=16 2u 0 -
-+R IE 1972 1980 - O Sun>=23 2u -1 -
-+R IE 1981 ma - Mar lastSun 1u 0 -
-+R IE 1981 1989 - O Sun>=23 1u -1 -
-+R IE 1990 1995 - O Sun>=22 1u -1 -
-+R IE 1996 ma - O lastSun 1u -1 -
- Z Europe/Dublin -0:25 - LMT 1880 Au 2
- -0:25:21 - DMT 1916 May 21 2s
- -0:25:21 1 IST 1916 O 1 2s
--0 % %s 1921 D 6
--0 % GMT/IST 1940 F 25 2s
-+0 G %s 1921 D 6
-+0 G GMT/IST 1940 F 25 2s
- 0 1 IST 1946 O 6 2s
- 0 - GMT 1947 Mar 16 2s
- 0 1 IST 1947 N 2 2s
- 0 - GMT 1948 Ap 18 2s
--0 % GMT/IST 1968 O 27
--1 & IST/GMT
--R O 1977 1980 - Ap Sun>=1 1u 1 S
--R O 1977 o - S lastSun 1u 0 -
--R O 1978 o - O 1 1u 0 -
--R O 1979 1995 - S lastSun 1u 0 -
--R O 1981 ma - Mar lastSun 1u 1 S
--R O 1996 ma - O lastSun 1u 0 -
--R ' 1977 1980 - Ap Sun>=1 1s 1 S
--R ' 1977 o - S lastSun 1s 0 -
--R ' 1978 o - O 1 1s 0 -
--R ' 1979 1995 - S lastSun 1s 0 -
--R ' 1981 ma - Mar lastSun 1s 1 S
--R ' 1996 ma - O lastSun 1s 0 -
--R ( 1916 o - Ap 30 23 1 S
--R ( 1916 o - O 1 1 0 -
--R ( 1917 1918 - Ap M>=15 2s 1 S
--R ( 1917 1918 - S M>=15 2s 0 -
--R ( 1940 o - Ap 1 2s 1 S
--R ( 1942 o - N 2 2s 0 -
--R ( 1943 o - Mar 29 2s 1 S
--R ( 1943 o - O 4 2s 0 -
--R ( 1944 1945 - Ap M>=1 2s 1 S
--R ( 1944 o - O 2 2s 0 -
--R ( 1945 o - S 16 2s 0 -
--R ( 1977 1980 - Ap Sun>=1 2s 1 S
--R ( 1977 o - S lastSun 2s 0 -
--R ( 1978 o - O 1 2s 0 -
--R ( 1979 1995 - S lastSun 2s 0 -
--R ( 1981 ma - Mar lastSun 2s 1 S
--R ( 1996 ma - O lastSun 2s 0 -
--R W 1977 1980 - Ap Sun>=1 0 1 S
--R W 1977 o - S lastSun 0 0 -
--R W 1978 o - O 1 0 0 -
--R W 1979 1995 - S lastSun 0 0 -
--R W 1981 ma - Mar lastSun 0 1 S
--R W 1996 ma - O lastSun 0 0 -
--R M 1917 o - Jul 1 23 1 MST
--R M 1917 o - D 28 0 0 MMT
--R M 1918 o - May 31 22 2 MDST
--R M 1918 o - S 16 1 1 MST
--R M 1919 o - May 31 23 2 MDST
--R M 1919 o - Jul 1 0u 1 MSD
--R M 1919 o - Au 16 0 0 MSK
--R M 1921 o - F 14 23 1 MSD
--R M 1921 o - Mar 20 23 2 +05
--R M 1921 o - S 1 0 1 MSD
--R M 1921 o - O 1 0 0 -
--R M 1981 1984 - Ap 1 0 1 S
--R M 1981 1983 - O 1 0 0 -
--R M 1984 1995 - S lastSun 2s 0 -
--R M 1985 2010 - Mar lastSun 2s 1 S
--R M 1996 2010 - O lastSun 2s 0 -
--Z WET 0 O WE%sT
--Z CET 1 ( CE%sT
--Z MET 1 ( ME%sT
--Z EET 2 O EE%sT
--R ) 1940 o - Jun 16 0 1 S
--R ) 1942 o - N 2 3 0 -
--R ) 1943 o - Mar 29 2 1 S
--R ) 1943 o - Ap 10 3 0 -
--R ) 1974 o - May 4 0 1 S
--R ) 1974 o - O 2 0 0 -
--R ) 1975 o - May 1 0 1 S
--R ) 1975 o - O 2 0 0 -
--R ) 1976 o - May 2 0 1 S
--R ) 1976 o - O 3 0 0 -
--R ) 1977 o - May 8 0 1 S
--R ) 1977 o - O 2 0 0 -
--R ) 1978 o - May 6 0 1 S
--R ) 1978 o - O 1 0 0 -
--R ) 1979 o - May 5 0 1 S
--R ) 1979 o - S 30 0 0 -
--R ) 1980 o - May 3 0 1 S
--R ) 1980 o - O 4 0 0 -
--R ) 1981 o - Ap 26 0 1 S
--R ) 1981 o - S 27 0 0 -
--R ) 1982 o - May 2 0 1 S
--R ) 1982 o - O 3 0 0 -
--R ) 1983 o - Ap 18 0 1 S
--R ) 1983 o - O 1 0 0 -
--R ) 1984 o - Ap 1 0 1 S
-+0 G GMT/IST 1968 O 27
-+1 IE IST/GMT
-+R E 1977 1980 - Ap Sun>=1 1u 1 S
-+R E 1977 o - S lastSun 1u 0 -
-+R E 1978 o - O 1 1u 0 -
-+R E 1979 1995 - S lastSun 1u 0 -
-+R E 1981 ma - Mar lastSun 1u 1 S
-+R E 1996 ma - O lastSun 1u 0 -
-+R W- 1977 1980 - Ap Sun>=1 1s 1 S
-+R W- 1977 o - S lastSun 1s 0 -
-+R W- 1978 o - O 1 1s 0 -
-+R W- 1979 1995 - S lastSun 1s 0 -
-+R W- 1981 ma - Mar lastSun 1s 1 S
-+R W- 1996 ma - O lastSun 1s 0 -
-+R c 1916 o - Ap 30 23 1 S
-+R c 1916 o - O 1 1 0 -
-+R c 1917 1918 - Ap M>=15 2s 1 S
-+R c 1917 1918 - S M>=15 2s 0 -
-+R c 1940 o - Ap 1 2s 1 S
-+R c 1942 o - N 2 2s 0 -
-+R c 1943 o - Mar 29 2s 1 S
-+R c 1943 o - O 4 2s 0 -
-+R c 1944 1945 - Ap M>=1 2s 1 S
-+R c 1944 o - O 2 2s 0 -
-+R c 1945 o - S 16 2s 0 -
-+R c 1977 1980 - Ap Sun>=1 2s 1 S
-+R c 1977 o - S lastSun 2s 0 -
-+R c 1978 o - O 1 2s 0 -
-+R c 1979 1995 - S lastSun 2s 0 -
-+R c 1981 ma - Mar lastSun 2s 1 S
-+R c 1996 ma - O lastSun 2s 0 -
-+R e 1977 1980 - Ap Sun>=1 0 1 S
-+R e 1977 o - S lastSun 0 0 -
-+R e 1978 o - O 1 0 0 -
-+R e 1979 1995 - S lastSun 0 0 -
-+R e 1981 ma - Mar lastSun 0 1 S
-+R e 1996 ma - O lastSun 0 0 -
-+R R 1917 o - Jul 1 23 1 MST
-+R R 1917 o - D 28 0 0 MMT
-+R R 1918 o - May 31 22 2 MDST
-+R R 1918 o - S 16 1 1 MST
-+R R 1919 o - May 31 23 2 MDST
-+R R 1919 o - Jul 1 0u 1 MSD
-+R R 1919 o - Au 16 0 0 MSK
-+R R 1921 o - F 14 23 1 MSD
-+R R 1921 o - Mar 20 23 2 +05
-+R R 1921 o - S 1 0 1 MSD
-+R R 1921 o - O 1 0 0 -
-+R R 1981 1984 - Ap 1 0 1 S
-+R R 1981 1983 - O 1 0 0 -
-+R R 1984 1995 - S lastSun 2s 0 -
-+R R 1985 2010 - Mar lastSun 2s 1 S
-+R R 1996 2010 - O lastSun 2s 0 -
-+Z WET 0 E WE%sT
-+Z CET 1 c CE%sT
-+Z MET 1 c ME%sT
-+Z EET 2 E EE%sT
-+R q 1940 o - Jun 16 0 1 S
-+R q 1942 o - N 2 3 0 -
-+R q 1943 o - Mar 29 2 1 S
-+R q 1943 o - Ap 10 3 0 -
-+R q 1974 o - May 4 0 1 S
-+R q 1974 o - O 2 0 0 -
-+R q 1975 o - May 1 0 1 S
-+R q 1975 o - O 2 0 0 -
-+R q 1976 o - May 2 0 1 S
-+R q 1976 o - O 3 0 0 -
-+R q 1977 o - May 8 0 1 S
-+R q 1977 o - O 2 0 0 -
-+R q 1978 o - May 6 0 1 S
-+R q 1978 o - O 1 0 0 -
-+R q 1979 o - May 5 0 1 S
-+R q 1979 o - S 30 0 0 -
-+R q 1980 o - May 3 0 1 S
-+R q 1980 o - O 4 0 0 -
-+R q 1981 o - Ap 26 0 1 S
-+R q 1981 o - S 27 0 0 -
-+R q 1982 o - May 2 0 1 S
-+R q 1982 o - O 3 0 0 -
-+R q 1983 o - Ap 18 0 1 S
-+R q 1983 o - O 1 0 0 -
-+R q 1984 o - Ap 1 0 1 S
- Z Europe/Tirane 1:19:20 - LMT 1914
- 1 - CET 1940 Jun 16
--1 ) CE%sT 1984 Jul
--1 O CE%sT
-+1 q CE%sT 1984 Jul
-+1 E CE%sT
- Z Europe/Andorra 0:6:4 - LMT 1901
- 0 - WET 1946 S 30
- 1 - CET 1985 Mar 31 2
--1 O CE%sT
--R * 1920 o - Ap 5 2s 1 S
--R * 1920 o - S 13 2s 0 -
--R * 1946 o - Ap 14 2s 1 S
--R * 1946 1948 - O Sun>=1 2s 0 -
--R * 1947 o - Ap 6 2s 1 S
--R * 1948 o - Ap 18 2s 1 S
--R * 1980 o - Ap 6 0 1 S
--R * 1980 o - S 28 0 0 -
-+1 E CE%sT
-+R a 1920 o - Ap 5 2s 1 S
-+R a 1920 o - S 13 2s 0 -
-+R a 1946 o - Ap 14 2s 1 S
-+R a 1946 1948 - O Sun>=1 2s 0 -
-+R a 1947 o - Ap 6 2s 1 S
-+R a 1948 o - Ap 18 2s 1 S
-+R a 1980 o - Ap 6 0 1 S
-+R a 1980 o - S 28 0 0 -
- Z Europe/Vienna 1:5:21 - LMT 1893 Ap
--1 ( CE%sT 1920
--1 * CE%sT 1940 Ap 1 2s
--1 ( CE%sT 1945 Ap 2 2s
-+1 c CE%sT 1920
-+1 a CE%sT 1940 Ap 1 2s
-+1 c CE%sT 1945 Ap 2 2s
- 1 1 CEST 1945 Ap 12 2s
- 1 - CET 1946
--1 * CE%sT 1981
--1 O CE%sT
-+1 a CE%sT 1981
-+1 E CE%sT
- Z Europe/Minsk 1:50:16 - LMT 1880
- 1:50 - MMT 1924 May 2
- 2 - EET 1930 Jun 21
- 3 - MSK 1941 Jun 28
--1 ( CE%sT 1944 Jul 3
--3 M MSK/MSD 1990
-+1 c CE%sT 1944 Jul 3
-+3 R MSK/MSD 1990
- 3 - MSK 1991 Mar 31 2s
--2 M EE%sT 2011 Mar 27 2s
-+2 R EE%sT 2011 Mar 27 2s
- 3 - +03
--R + 1918 o - Mar 9 0s 1 S
--R + 1918 1919 - O Sat>=1 23s 0 -
--R + 1919 o - Mar 1 23s 1 S
--R + 1920 o - F 14 23s 1 S
--R + 1920 o - O 23 23s 0 -
--R + 1921 o - Mar 14 23s 1 S
--R + 1921 o - O 25 23s 0 -
--R + 1922 o - Mar 25 23s 1 S
--R + 1922 1927 - O Sat>=1 23s 0 -
--R + 1923 o - Ap 21 23s 1 S
--R + 1924 o - Mar 29 23s 1 S
--R + 1925 o - Ap 4 23s 1 S
--R + 1926 o - Ap 17 23s 1 S
--R + 1927 o - Ap 9 23s 1 S
--R + 1928 o - Ap 14 23s 1 S
--R + 1928 1938 - O Sun>=2 2s 0 -
--R + 1929 o - Ap 21 2s 1 S
--R + 1930 o - Ap 13 2s 1 S
--R + 1931 o - Ap 19 2s 1 S
--R + 1932 o - Ap 3 2s 1 S
--R + 1933 o - Mar 26 2s 1 S
--R + 1934 o - Ap 8 2s 1 S
--R + 1935 o - Mar 31 2s 1 S
--R + 1936 o - Ap 19 2s 1 S
--R + 1937 o - Ap 4 2s 1 S
--R + 1938 o - Mar 27 2s 1 S
--R + 1939 o - Ap 16 2s 1 S
--R + 1939 o - N 19 2s 0 -
--R + 1940 o - F 25 2s 1 S
--R + 1944 o - S 17 2s 0 -
--R + 1945 o - Ap 2 2s 1 S
--R + 1945 o - S 16 2s 0 -
--R + 1946 o - May 19 2s 1 S
--R + 1946 o - O 7 2s 0 -
-+R b 1918 o - Mar 9 0s 1 S
-+R b 1918 1919 - O Sat>=1 23s 0 -
-+R b 1919 o - Mar 1 23s 1 S
-+R b 1920 o - F 14 23s 1 S
-+R b 1920 o - O 23 23s 0 -
-+R b 1921 o - Mar 14 23s 1 S
-+R b 1921 o - O 25 23s 0 -
-+R b 1922 o - Mar 25 23s 1 S
-+R b 1922 1927 - O Sat>=1 23s 0 -
-+R b 1923 o - Ap 21 23s 1 S
-+R b 1924 o - Mar 29 23s 1 S
-+R b 1925 o - Ap 4 23s 1 S
-+R b 1926 o - Ap 17 23s 1 S
-+R b 1927 o - Ap 9 23s 1 S
-+R b 1928 o - Ap 14 23s 1 S
-+R b 1928 1938 - O Sun>=2 2s 0 -
-+R b 1929 o - Ap 21 2s 1 S
-+R b 1930 o - Ap 13 2s 1 S
-+R b 1931 o - Ap 19 2s 1 S
-+R b 1932 o - Ap 3 2s 1 S
-+R b 1933 o - Mar 26 2s 1 S
-+R b 1934 o - Ap 8 2s 1 S
-+R b 1935 o - Mar 31 2s 1 S
-+R b 1936 o - Ap 19 2s 1 S
-+R b 1937 o - Ap 4 2s 1 S
-+R b 1938 o - Mar 27 2s 1 S
-+R b 1939 o - Ap 16 2s 1 S
-+R b 1939 o - N 19 2s 0 -
-+R b 1940 o - F 25 2s 1 S
-+R b 1944 o - S 17 2s 0 -
-+R b 1945 o - Ap 2 2s 1 S
-+R b 1945 o - S 16 2s 0 -
-+R b 1946 o - May 19 2s 1 S
-+R b 1946 o - O 7 2s 0 -
- Z Europe/Brussels 0:17:30 - LMT 1880
- 0:17:30 - BMT 1892 May 1 12
- 0 - WET 1914 N 8
- 1 - CET 1916 May
--1 ( CE%sT 1918 N 11 11u
--0 + WE%sT 1940 May 20 2s
--1 ( CE%sT 1944 S 3
--1 + CE%sT 1977
--1 O CE%sT
--R , 1979 o - Mar 31 23 1 S
--R , 1979 o - O 1 1 0 -
--R , 1980 1982 - Ap Sat>=1 23 1 S
--R , 1980 o - S 29 1 0 -
--R , 1981 o - S 27 2 0 -
-+1 c CE%sT 1918 N 11 11u
-+0 b WE%sT 1940 May 20 2s
-+1 c CE%sT 1944 S 3
-+1 b CE%sT 1977
-+1 E CE%sT
-+R BG 1979 o - Mar 31 23 1 S
-+R BG 1979 o - O 1 1 0 -
-+R BG 1980 1982 - Ap Sat>=1 23 1 S
-+R BG 1980 o - S 29 1 0 -
-+R BG 1981 o - S 27 2 0 -
- Z Europe/Sofia 1:33:16 - LMT 1880
- 1:56:56 - IMT 1894 N 30
- 2 - EET 1942 N 2 3
--1 ( CE%sT 1945
-+1 c CE%sT 1945
- 1 - CET 1945 Ap 2 3
- 2 - EET 1979 Mar 31 23
--2 , EE%sT 1982 S 26 3
--2 ( EE%sT 1991
--2 W EE%sT 1997
--2 O EE%sT
--R . 1945 o - Ap M>=1 2s 1 S
--R . 1945 o - O 1 2s 0 -
--R . 1946 o - May 6 2s 1 S
--R . 1946 1949 - O Sun>=1 2s 0 -
--R . 1947 1948 - Ap Sun>=15 2s 1 S
--R . 1949 o - Ap 9 2s 1 S
-+2 BG EE%sT 1982 S 26 3
-+2 c EE%sT 1991
-+2 e EE%sT 1997
-+2 E EE%sT
-+R CZ 1945 o - Ap M>=1 2s 1 S
-+R CZ 1945 o - O 1 2s 0 -
-+R CZ 1946 o - May 6 2s 1 S
-+R CZ 1946 1949 - O Sun>=1 2s 0 -
-+R CZ 1947 1948 - Ap Sun>=15 2s 1 S
-+R CZ 1949 o - Ap 9 2s 1 S
- Z Europe/Prague 0:57:44 - LMT 1850
- 0:57:44 - PMT 1891 O
--1 ( CE%sT 1945 May 9
--1 . CE%sT 1946 D 1 3
-+1 c CE%sT 1945 May 9
-+1 CZ CE%sT 1946 D 1 3
- 1 -1 GMT 1947 F 23 2
--1 . CE%sT 1979
--1 O CE%sT
--R / 1916 o - May 14 23 1 S
--R / 1916 o - S 30 23 0 -
--R / 1940 o - May 15 0 1 S
--R / 1945 o - Ap 2 2s 1 S
--R / 1945 o - Au 15 2s 0 -
--R / 1946 o - May 1 2s 1 S
--R / 1946 o - S 1 2s 0 -
--R / 1947 o - May 4 2s 1 S
--R / 1947 o - Au 10 2s 0 -
--R / 1948 o - May 9 2s 1 S
--R / 1948 o - Au 8 2s 0 -
-+1 CZ CE%sT 1979
-+1 E CE%sT
-+R D 1916 o - May 14 23 1 S
-+R D 1916 o - S 30 23 0 -
-+R D 1940 o - May 15 0 1 S
-+R D 1945 o - Ap 2 2s 1 S
-+R D 1945 o - Au 15 2s 0 -
-+R D 1946 o - May 1 2s 1 S
-+R D 1946 o - S 1 2s 0 -
-+R D 1947 o - May 4 2s 1 S
-+R D 1947 o - Au 10 2s 0 -
-+R D 1948 o - May 9 2s 1 S
-+R D 1948 o - Au 8 2s 0 -
- Z Europe/Copenhagen 0:50:20 - LMT 1890
- 0:50:20 - CMT 1894
--1 / CE%sT 1942 N 2 2s
--1 ( CE%sT 1945 Ap 2 2
--1 / CE%sT 1980
--1 O CE%sT
-+1 D CE%sT 1942 N 2 2s
-+1 c CE%sT 1945 Ap 2 2
-+1 D CE%sT 1980
-+1 E CE%sT
- Z Atlantic/Faroe -0:27:4 - LMT 1908 Ja 11
- 0 - WET 1981
--0 O WE%sT
--R : 1991 1992 - Mar lastSun 2 1 D
--R : 1991 1992 - S lastSun 2 0 S
--R : 1993 2006 - Ap Sun>=1 2 1 D
--R : 1993 2006 - O lastSun 2 0 S
--R : 2007 ma - Mar Sun>=8 2 1 D
--R : 2007 ma - N Sun>=1 2 0 S
-+0 E WE%sT
-+R Th 1991 1992 - Mar lastSun 2 1 D
-+R Th 1991 1992 - S lastSun 2 0 S
-+R Th 1993 2006 - Ap Sun>=1 2 1 D
-+R Th 1993 2006 - O lastSun 2 0 S
-+R Th 2007 ma - Mar Sun>=8 2 1 D
-+R Th 2007 ma - N Sun>=1 2 0 S
- Z America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
- -3 - -03 1980 Ap 6 2
---3 O -03/-02 1996
-+-3 E -03/-02 1996
- 0 - GMT
- Z America/Scoresbysund -1:27:52 - LMT 1916 Jul 28
- -2 - -02 1980 Ap 6 2
---2 ( -02/-01 1981 Mar 29
---1 O -01/+00
-+-2 c -02/-01 1981 Mar 29
-+-1 E -01/+00
- Z America/Godthab -3:26:56 - LMT 1916 Jul 28
- -3 - -03 1980 Ap 6 2
---3 O -03/-02
-+-3 E -03/-02
- Z America/Thule -4:35:8 - LMT 1916 Jul 28
---4 : A%sT
-+-4 Th A%sT
- Z Europe/Tallinn 1:39 - LMT 1880
- 1:39 - TMT 1918 F
--1 ( CE%sT 1919 Jul
-+1 c CE%sT 1919 Jul
- 1:39 - TMT 1921 May
- 2 - EET 1940 Au 6
- 3 - MSK 1941 S 15
--1 ( CE%sT 1944 S 22
--3 M MSK/MSD 1989 Mar 26 2s
-+1 c CE%sT 1944 S 22
-+3 R MSK/MSD 1989 Mar 26 2s
- 2 1 EEST 1989 S 24 2s
--2 ( EE%sT 1998 S 22
--2 O EE%sT 1999 O 31 4
-+2 c EE%sT 1998 S 22
-+2 E EE%sT 1999 O 31 4
- 2 - EET 2002 F 21
--2 O EE%sT
--R ; 1942 o - Ap 2 24 1 S
--R ; 1942 o - O 4 1 0 -
--R ; 1981 1982 - Mar lastSun 2 1 S
--R ; 1981 1982 - S lastSun 3 0 -
-+2 E EE%sT
-+R FI 1942 o - Ap 2 24 1 S
-+R FI 1942 o - O 4 1 0 -
-+R FI 1981 1982 - Mar lastSun 2 1 S
-+R FI 1981 1982 - S lastSun 3 0 -
- Z Europe/Helsinki 1:39:49 - LMT 1878 May 31
- 1:39:49 - HMT 1921 May
--2 ; EE%sT 1983
--2 O EE%sT
-+2 FI EE%sT 1983
-+2 E EE%sT
- Li Europe/Helsinki Europe/Mariehamn
--R < 1916 o - Jun 14 23s 1 S
--R < 1916 1919 - O Sun>=1 23s 0 -
--R < 1917 o - Mar 24 23s 1 S
--R < 1918 o - Mar 9 23s 1 S
--R < 1919 o - Mar 1 23s 1 S
--R < 1920 o - F 14 23s 1 S
--R < 1920 o - O 23 23s 0 -
--R < 1921 o - Mar 14 23s 1 S
--R < 1921 o - O 25 23s 0 -
--R < 1922 o - Mar 25 23s 1 S
--R < 1922 1938 - O Sat>=1 23s 0 -
--R < 1923 o - May 26 23s 1 S
--R < 1924 o - Mar 29 23s 1 S
--R < 1925 o - Ap 4 23s 1 S
--R < 1926 o - Ap 17 23s 1 S
--R < 1927 o - Ap 9 23s 1 S
--R < 1928 o - Ap 14 23s 1 S
--R < 1929 o - Ap 20 23s 1 S
--R < 1930 o - Ap 12 23s 1 S
--R < 1931 o - Ap 18 23s 1 S
--R < 1932 o - Ap 2 23s 1 S
--R < 1933 o - Mar 25 23s 1 S
--R < 1934 o - Ap 7 23s 1 S
--R < 1935 o - Mar 30 23s 1 S
--R < 1936 o - Ap 18 23s 1 S
--R < 1937 o - Ap 3 23s 1 S
--R < 1938 o - Mar 26 23s 1 S
--R < 1939 o - Ap 15 23s 1 S
--R < 1939 o - N 18 23s 0 -
--R < 1940 o - F 25 2 1 S
--R < 1941 o - May 5 0 2 M
--R < 1941 o - O 6 0 1 S
--R < 1942 o - Mar 9 0 2 M
--R < 1942 o - N 2 3 1 S
--R < 1943 o - Mar 29 2 2 M
--R < 1943 o - O 4 3 1 S
--R < 1944 o - Ap 3 2 2 M
--R < 1944 o - O 8 1 1 S
--R < 1945 o - Ap 2 2 2 M
--R < 1945 o - S 16 3 0 -
--R < 1976 o - Mar 28 1 1 S
--R < 1976 o - S 26 1 0 -
-+R F 1916 o - Jun 14 23s 1 S
-+R F 1916 1919 - O Sun>=1 23s 0 -
-+R F 1917 o - Mar 24 23s 1 S
-+R F 1918 o - Mar 9 23s 1 S
-+R F 1919 o - Mar 1 23s 1 S
-+R F 1920 o - F 14 23s 1 S
-+R F 1920 o - O 23 23s 0 -
-+R F 1921 o - Mar 14 23s 1 S
-+R F 1921 o - O 25 23s 0 -
-+R F 1922 o - Mar 25 23s 1 S
-+R F 1922 1938 - O Sat>=1 23s 0 -
-+R F 1923 o - May 26 23s 1 S
-+R F 1924 o - Mar 29 23s 1 S
-+R F 1925 o - Ap 4 23s 1 S
-+R F 1926 o - Ap 17 23s 1 S
-+R F 1927 o - Ap 9 23s 1 S
-+R F 1928 o - Ap 14 23s 1 S
-+R F 1929 o - Ap 20 23s 1 S
-+R F 1930 o - Ap 12 23s 1 S
-+R F 1931 o - Ap 18 23s 1 S
-+R F 1932 o - Ap 2 23s 1 S
-+R F 1933 o - Mar 25 23s 1 S
-+R F 1934 o - Ap 7 23s 1 S
-+R F 1935 o - Mar 30 23s 1 S
-+R F 1936 o - Ap 18 23s 1 S
-+R F 1937 o - Ap 3 23s 1 S
-+R F 1938 o - Mar 26 23s 1 S
-+R F 1939 o - Ap 15 23s 1 S
-+R F 1939 o - N 18 23s 0 -
-+R F 1940 o - F 25 2 1 S
-+R F 1941 o - May 5 0 2 M
-+R F 1941 o - O 6 0 1 S
-+R F 1942 o - Mar 9 0 2 M
-+R F 1942 o - N 2 3 1 S
-+R F 1943 o - Mar 29 2 2 M
-+R F 1943 o - O 4 3 1 S
-+R F 1944 o - Ap 3 2 2 M
-+R F 1944 o - O 8 1 1 S
-+R F 1945 o - Ap 2 2 2 M
-+R F 1945 o - S 16 3 0 -
-+R F 1976 o - Mar 28 1 1 S
-+R F 1976 o - S 26 1 0 -
- Z Europe/Paris 0:9:21 - LMT 1891 Mar 15 0:1
- 0:9:21 - PMT 1911 Mar 11 0:1
--0 < WE%sT 1940 Jun 14 23
--1 ( CE%sT 1944 Au 25
--0 < WE%sT 1945 S 16 3
--1 < CE%sT 1977
--1 O CE%sT
--R = 1946 o - Ap 14 2s 1 S
--R = 1946 o - O 7 2s 0 -
--R = 1947 1949 - O Sun>=1 2s 0 -
--R = 1947 o - Ap 6 3s 1 S
--R = 1947 o - May 11 2s 2 M
--R = 1947 o - Jun 29 3 1 S
--R = 1948 o - Ap 18 2s 1 S
--R = 1949 o - Ap 10 2s 1 S
--R > 1945 o - May 24 2 2 M
--R > 1945 o - S 24 3 1 S
--R > 1945 o - N 18 2s 0 -
-+0 F WE%sT 1940 Jun 14 23
-+1 c CE%sT 1944 Au 25
-+0 F WE%sT 1945 S 16 3
-+1 F CE%sT 1977
-+1 E CE%sT
-+R DE 1946 o - Ap 14 2s 1 S
-+R DE 1946 o - O 7 2s 0 -
-+R DE 1947 1949 - O Sun>=1 2s 0 -
-+R DE 1947 o - Ap 6 3s 1 S
-+R DE 1947 o - May 11 2s 2 M
-+R DE 1947 o - Jun 29 3 1 S
-+R DE 1948 o - Ap 18 2s 1 S
-+R DE 1949 o - Ap 10 2s 1 S
-+R So 1945 o - May 24 2 2 M
-+R So 1945 o - S 24 3 1 S
-+R So 1945 o - N 18 2s 0 -
- Z Europe/Berlin 0:53:28 - LMT 1893 Ap
--1 ( CE%sT 1945 May 24 2
--1 > CE%sT 1946
--1 = CE%sT 1980
--1 O CE%sT
-+1 c CE%sT 1945 May 24 2
-+1 So CE%sT 1946
-+1 DE CE%sT 1980
-+1 E CE%sT
- Li Europe/Zurich Europe/Busingen
- Z Europe/Gibraltar -0:21:24 - LMT 1880 Au 2 0s
--0 % %s 1957 Ap 14 2
-+0 G %s 1957 Ap 14 2
- 1 - CET 1982
--1 O CE%sT
--R ? 1932 o - Jul 7 0 1 S
--R ? 1932 o - S 1 0 0 -
--R ? 1941 o - Ap 7 0 1 S
--R ? 1942 o - N 2 3 0 -
--R ? 1943 o - Mar 30 0 1 S
--R ? 1943 o - O 4 0 0 -
--R ? 1952 o - Jul 1 0 1 S
--R ? 1952 o - N 2 0 0 -
--R ? 1975 o - Ap 12 0s 1 S
--R ? 1975 o - N 26 0s 0 -
--R ? 1976 o - Ap 11 2s 1 S
--R ? 1976 o - O 10 2s 0 -
--R ? 1977 1978 - Ap Sun>=1 2s 1 S
--R ? 1977 o - S 26 2s 0 -
--R ? 1978 o - S 24 4 0 -
--R ? 1979 o - Ap 1 9 1 S
--R ? 1979 o - S 29 2 0 -
--R ? 1980 o - Ap 1 0 1 S
--R ? 1980 o - S 28 0 0 -
-+1 E CE%sT
-+R g 1932 o - Jul 7 0 1 S
-+R g 1932 o - S 1 0 0 -
-+R g 1941 o - Ap 7 0 1 S
-+R g 1942 o - N 2 3 0 -
-+R g 1943 o - Mar 30 0 1 S
-+R g 1943 o - O 4 0 0 -
-+R g 1952 o - Jul 1 0 1 S
-+R g 1952 o - N 2 0 0 -
-+R g 1975 o - Ap 12 0s 1 S
-+R g 1975 o - N 26 0s 0 -
-+R g 1976 o - Ap 11 2s 1 S
-+R g 1976 o - O 10 2s 0 -
-+R g 1977 1978 - Ap Sun>=1 2s 1 S
-+R g 1977 o - S 26 2s 0 -
-+R g 1978 o - S 24 4 0 -
-+R g 1979 o - Ap 1 9 1 S
-+R g 1979 o - S 29 2 0 -
-+R g 1980 o - Ap 1 0 1 S
-+R g 1980 o - S 28 0 0 -
- Z Europe/Athens 1:34:52 - LMT 1895 S 14
- 1:34:52 - AMT 1916 Jul 28 0:1
--2 ? EE%sT 1941 Ap 30
--1 ? CE%sT 1944 Ap 4
--2 ? EE%sT 1981
--2 O EE%sT
--R @ 1918 o - Ap 1 3 1 S
--R @ 1918 o - S 16 3 0 -
--R @ 1919 o - Ap 15 3 1 S
--R @ 1919 o - N 24 3 0 -
--R @ 1945 o - May 1 23 1 S
--R @ 1945 o - N 1 0 0 -
--R @ 1946 o - Mar 31 2s 1 S
--R @ 1946 1949 - O Sun>=1 2s 0 -
--R @ 1947 1949 - Ap Sun>=4 2s 1 S
--R @ 1950 o - Ap 17 2s 1 S
--R @ 1950 o - O 23 2s 0 -
--R @ 1954 1955 - May 23 0 1 S
--R @ 1954 1955 - O 3 0 0 -
--R @ 1956 o - Jun Sun>=1 0 1 S
--R @ 1956 o - S lastSun 0 0 -
--R @ 1957 o - Jun Sun>=1 1 1 S
--R @ 1957 o - S lastSun 3 0 -
--R @ 1980 o - Ap 6 1 1 S
-+2 g EE%sT 1941 Ap 30
-+1 g CE%sT 1944 Ap 4
-+2 g EE%sT 1981
-+2 E EE%sT
-+R h 1918 o - Ap 1 3 1 S
-+R h 1918 o - S 16 3 0 -
-+R h 1919 o - Ap 15 3 1 S
-+R h 1919 o - N 24 3 0 -
-+R h 1945 o - May 1 23 1 S
-+R h 1945 o - N 1 0 0 -
-+R h 1946 o - Mar 31 2s 1 S
-+R h 1946 1949 - O Sun>=1 2s 0 -
-+R h 1947 1949 - Ap Sun>=4 2s 1 S
-+R h 1950 o - Ap 17 2s 1 S
-+R h 1950 o - O 23 2s 0 -
-+R h 1954 1955 - May 23 0 1 S
-+R h 1954 1955 - O 3 0 0 -
-+R h 1956 o - Jun Sun>=1 0 1 S
-+R h 1956 o - S lastSun 0 0 -
-+R h 1957 o - Jun Sun>=1 1 1 S
-+R h 1957 o - S lastSun 3 0 -
-+R h 1980 o - Ap 6 1 1 S
- Z Europe/Budapest 1:16:20 - LMT 1890 O
--1 ( CE%sT 1918
--1 @ CE%sT 1941 Ap 8
--1 ( CE%sT 1945
--1 @ CE%sT 1980 S 28 2s
--1 O CE%sT
--R [ 1917 1919 - F 19 23 1 -
--R [ 1917 o - O 21 1 0 -
--R [ 1918 1919 - N 16 1 0 -
--R [ 1921 o - Mar 19 23 1 -
--R [ 1921 o - Jun 23 1 0 -
--R [ 1939 o - Ap 29 23 1 -
--R [ 1939 o - O 29 2 0 -
--R [ 1940 o - F 25 2 1 -
--R [ 1940 1941 - N Sun>=2 1s 0 -
--R [ 1941 1942 - Mar Sun>=2 1s 1 -
--R [ 1943 1946 - Mar Sun>=1 1s 1 -
--R [ 1942 1948 - O Sun>=22 1s 0 -
--R [ 1947 1967 - Ap Sun>=1 1s 1 -
--R [ 1949 o - O 30 1s 0 -
--R [ 1950 1966 - O Sun>=22 1s 0 -
--R [ 1967 o - O 29 1s 0 -
-+1 c CE%sT 1918
-+1 h CE%sT 1941 Ap 8
-+1 c CE%sT 1945
-+1 h CE%sT 1980 S 28 2s
-+1 E CE%sT
-+R w 1917 1919 - F 19 23 1 -
-+R w 1917 o - O 21 1 0 -
-+R w 1918 1919 - N 16 1 0 -
-+R w 1921 o - Mar 19 23 1 -
-+R w 1921 o - Jun 23 1 0 -
-+R w 1939 o - Ap 29 23 1 -
-+R w 1939 o - O 29 2 0 -
-+R w 1940 o - F 25 2 1 -
-+R w 1940 1941 - N Sun>=2 1s 0 -
-+R w 1941 1942 - Mar Sun>=2 1s 1 -
-+R w 1943 1946 - Mar Sun>=1 1s 1 -
-+R w 1942 1948 - O Sun>=22 1s 0 -
-+R w 1947 1967 - Ap Sun>=1 1s 1 -
-+R w 1949 o - O 30 1s 0 -
-+R w 1950 1966 - O Sun>=22 1s 0 -
-+R w 1967 o - O 29 1s 0 -
- Z Atlantic/Reykjavik -1:28 - LMT 1908
---1 [ -01/+00 1968 Ap 7 1s
-+-1 w -01/+00 1968 Ap 7 1s
- 0 - GMT
--R \ 1916 o - Jun 3 24 1 S
--R \ 1916 1917 - S 30 24 0 -
--R \ 1917 o - Mar 31 24 1 S
--R \ 1918 o - Mar 9 24 1 S
--R \ 1918 o - O 6 24 0 -
--R \ 1919 o - Mar 1 24 1 S
--R \ 1919 o - O 4 24 0 -
--R \ 1920 o - Mar 20 24 1 S
--R \ 1920 o - S 18 24 0 -
--R \ 1940 o - Jun 14 24 1 S
--R \ 1942 o - N 2 2s 0 -
--R \ 1943 o - Mar 29 2s 1 S
--R \ 1943 o - O 4 2s 0 -
--R \ 1944 o - Ap 2 2s 1 S
--R \ 1944 o - S 17 2s 0 -
--R \ 1945 o - Ap 2 2 1 S
--R \ 1945 o - S 15 1 0 -
--R \ 1946 o - Mar 17 2s 1 S
--R \ 1946 o - O 6 2s 0 -
--R \ 1947 o - Mar 16 0s 1 S
--R \ 1947 o - O 5 0s 0 -
--R \ 1948 o - F 29 2s 1 S
--R \ 1948 o - O 3 2s 0 -
--R \ 1966 1968 - May Sun>=22 0s 1 S
--R \ 1966 o - S 24 24 0 -
--R \ 1967 1969 - S Sun>=22 0s 0 -
--R \ 1969 o - Jun 1 0s 1 S
--R \ 1970 o - May 31 0s 1 S
--R \ 1970 o - S lastSun 0s 0 -
--R \ 1971 1972 - May Sun>=22 0s 1 S
--R \ 1971 o - S lastSun 0s 0 -
--R \ 1972 o - O 1 0s 0 -
--R \ 1973 o - Jun 3 0s 1 S
--R \ 1973 1974 - S lastSun 0s 0 -
--R \ 1974 o - May 26 0s 1 S
--R \ 1975 o - Jun 1 0s 1 S
--R \ 1975 1977 - S lastSun 0s 0 -
--R \ 1976 o - May 30 0s 1 S
--R \ 1977 1979 - May Sun>=22 0s 1 S
--R \ 1978 o - O 1 0s 0 -
--R \ 1979 o - S 30 0s 0 -
-+R I 1916 o - Jun 3 24 1 S
-+R I 1916 1917 - S 30 24 0 -
-+R I 1917 o - Mar 31 24 1 S
-+R I 1918 o - Mar 9 24 1 S
-+R I 1918 o - O 6 24 0 -
-+R I 1919 o - Mar 1 24 1 S
-+R I 1919 o - O 4 24 0 -
-+R I 1920 o - Mar 20 24 1 S
-+R I 1920 o - S 18 24 0 -
-+R I 1940 o - Jun 14 24 1 S
-+R I 1942 o - N 2 2s 0 -
-+R I 1943 o - Mar 29 2s 1 S
-+R I 1943 o - O 4 2s 0 -
-+R I 1944 o - Ap 2 2s 1 S
-+R I 1944 o - S 17 2s 0 -
-+R I 1945 o - Ap 2 2 1 S
-+R I 1945 o - S 15 1 0 -
-+R I 1946 o - Mar 17 2s 1 S
-+R I 1946 o - O 6 2s 0 -
-+R I 1947 o - Mar 16 0s 1 S
-+R I 1947 o - O 5 0s 0 -
-+R I 1948 o - F 29 2s 1 S
-+R I 1948 o - O 3 2s 0 -
-+R I 1966 1968 - May Sun>=22 0s 1 S
-+R I 1966 o - S 24 24 0 -
-+R I 1967 1969 - S Sun>=22 0s 0 -
-+R I 1969 o - Jun 1 0s 1 S
-+R I 1970 o - May 31 0s 1 S
-+R I 1970 o - S lastSun 0s 0 -
-+R I 1971 1972 - May Sun>=22 0s 1 S
-+R I 1971 o - S lastSun 0s 0 -
-+R I 1972 o - O 1 0s 0 -
-+R I 1973 o - Jun 3 0s 1 S
-+R I 1973 1974 - S lastSun 0s 0 -
-+R I 1974 o - May 26 0s 1 S
-+R I 1975 o - Jun 1 0s 1 S
-+R I 1975 1977 - S lastSun 0s 0 -
-+R I 1976 o - May 30 0s 1 S
-+R I 1977 1979 - May Sun>=22 0s 1 S
-+R I 1978 o - O 1 0s 0 -
-+R I 1979 o - S 30 0s 0 -
- Z Europe/Rome 0:49:56 - LMT 1866 S 22
- 0:49:56 - RMT 1893 O 31 23:49:56
--1 \ CE%sT 1943 S 10
--1 ( CE%sT 1944 Jun 4
--1 \ CE%sT 1980
--1 O CE%sT
-+1 I CE%sT 1943 S 10
-+1 c CE%sT 1944 Jun 4
-+1 I CE%sT 1980
-+1 E CE%sT
- Li Europe/Rome Europe/Vatican
- Li Europe/Rome Europe/San_Marino
--R ] 1989 1996 - Mar lastSun 2s 1 S
--R ] 1989 1996 - S lastSun 2s 0 -
-+R LV 1989 1996 - Mar lastSun 2s 1 S
-+R LV 1989 1996 - S lastSun 2s 0 -
- Z Europe/Riga 1:36:34 - LMT 1880
- 1:36:34 - RMT 1918 Ap 15 2
- 1:36:34 1 LST 1918 S 16 3
-@@ -1883,13 +1907,13 @@ Z Europe/Riga 1:36:34 - LMT 1880
- 1:36:34 - RMT 1926 May 11
- 2 - EET 1940 Au 5
- 3 - MSK 1941 Jul
--1 ( CE%sT 1944 O 13
--3 M MSK/MSD 1989 Mar lastSun 2s
-+1 c CE%sT 1944 O 13
-+3 R MSK/MSD 1989 Mar lastSun 2s
- 2 1 EEST 1989 S lastSun 2s
--2 ] EE%sT 1997 Ja 21
--2 O EE%sT 2000 F 29
-+2 LV EE%sT 1997 Ja 21
-+2 E EE%sT 2000 F 29
- 2 - EET 2001 Ja 2
--2 O EE%sT
-+2 E EE%sT
- Li Europe/Zurich Europe/Vaduz
- Z Europe/Vilnius 1:41:16 - LMT 1880
- 1:24 - WMT 1917
-@@ -1898,783 +1922,776 @@ Z Europe/Vilnius 1:41:16 - LMT 1880
- 2 - EET 1920 O 9
- 1 - CET 1940 Au 3
- 3 - MSK 1941 Jun 24
--1 ( CE%sT 1944 Au
--3 M MSK/MSD 1989 Mar 26 2s
--2 M EE%sT 1991 S 29 2s
--2 ( EE%sT 1998
-+1 c CE%sT 1944 Au
-+3 R MSK/MSD 1989 Mar 26 2s
-+2 R EE%sT 1991 S 29 2s
-+2 c EE%sT 1998
- 2 - EET 1998 Mar 29 1u
--1 O CE%sT 1999 O 31 1u
-+1 E CE%sT 1999 O 31 1u
- 2 - EET 2003
--2 O EE%sT
--R ^ 1916 o - May 14 23 1 S
--R ^ 1916 o - O 1 1 0 -
--R ^ 1917 o - Ap 28 23 1 S
--R ^ 1917 o - S 17 1 0 -
--R ^ 1918 o - Ap M>=15 2s 1 S
--R ^ 1918 o - S M>=15 2s 0 -
--R ^ 1919 o - Mar 1 23 1 S
--R ^ 1919 o - O 5 3 0 -
--R ^ 1920 o - F 14 23 1 S
--R ^ 1920 o - O 24 2 0 -
--R ^ 1921 o - Mar 14 23 1 S
--R ^ 1921 o - O 26 2 0 -
--R ^ 1922 o - Mar 25 23 1 S
--R ^ 1922 o - O Sun>=2 1 0 -
--R ^ 1923 o - Ap 21 23 1 S
--R ^ 1923 o - O Sun>=2 2 0 -
--R ^ 1924 o - Mar 29 23 1 S
--R ^ 1924 1928 - O Sun>=2 1 0 -
--R ^ 1925 o - Ap 5 23 1 S
--R ^ 1926 o - Ap 17 23 1 S
--R ^ 1927 o - Ap 9 23 1 S
--R ^ 1928 o - Ap 14 23 1 S
--R ^ 1929 o - Ap 20 23 1 S
-+2 E EE%sT
-+R LX 1916 o - May 14 23 1 S
-+R LX 1916 o - O 1 1 0 -
-+R LX 1917 o - Ap 28 23 1 S
-+R LX 1917 o - S 17 1 0 -
-+R LX 1918 o - Ap M>=15 2s 1 S
-+R LX 1918 o - S M>=15 2s 0 -
-+R LX 1919 o - Mar 1 23 1 S
-+R LX 1919 o - O 5 3 0 -
-+R LX 1920 o - F 14 23 1 S
-+R LX 1920 o - O 24 2 0 -
-+R LX 1921 o - Mar 14 23 1 S
-+R LX 1921 o - O 26 2 0 -
-+R LX 1922 o - Mar 25 23 1 S
-+R LX 1922 o - O Sun>=2 1 0 -
-+R LX 1923 o - Ap 21 23 1 S
-+R LX 1923 o - O Sun>=2 2 0 -
-+R LX 1924 o - Mar 29 23 1 S
-+R LX 1924 1928 - O Sun>=2 1 0 -
-+R LX 1925 o - Ap 5 23 1 S
-+R LX 1926 o - Ap 17 23 1 S
-+R LX 1927 o - Ap 9 23 1 S
-+R LX 1928 o - Ap 14 23 1 S
-+R LX 1929 o - Ap 20 23 1 S
- Z Europe/Luxembourg 0:24:36 - LMT 1904 Jun
--1 ^ CE%sT 1918 N 25
--0 ^ WE%sT 1929 O 6 2s
--0 + WE%sT 1940 May 14 3
--1 ( WE%sT 1944 S 18 3
--1 + CE%sT 1977
--1 O CE%sT
--R _ 1973 o - Mar 31 0s 1 S
--R _ 1973 o - S 29 0s 0 -
--R _ 1974 o - Ap 21 0s 1 S
--R _ 1974 o - S 16 0s 0 -
--R _ 1975 1979 - Ap Sun>=15 2 1 S
--R _ 1975 1980 - S Sun>=15 2 0 -
--R _ 1980 o - Mar 31 2 1 S
-+1 LX CE%sT 1918 N 25
-+0 LX WE%sT 1929 O 6 2s
-+0 b WE%sT 1940 May 14 3
-+1 c WE%sT 1944 S 18 3
-+1 b CE%sT 1977
-+1 E CE%sT
-+R MT 1973 o - Mar 31 0s 1 S
-+R MT 1973 o - S 29 0s 0 -
-+R MT 1974 o - Ap 21 0s 1 S
-+R MT 1974 o - S 16 0s 0 -
-+R MT 1975 1979 - Ap Sun>=15 2 1 S
-+R MT 1975 1980 - S Sun>=15 2 0 -
-+R MT 1980 o - Mar 31 2 1 S
- Z Europe/Malta 0:58:4 - LMT 1893 N 2 0s
--1 \ CE%sT 1973 Mar 31
--1 _ CE%sT 1981
--1 O CE%sT
--R ` 1997 ma - Mar lastSun 2 1 S
--R ` 1997 ma - O lastSun 3 0 -
-+1 I CE%sT 1973 Mar 31
-+1 MT CE%sT 1981
-+1 E CE%sT
-+R MD 1997 ma - Mar lastSun 2 1 S
-+R MD 1997 ma - O lastSun 3 0 -
- Z Europe/Chisinau 1:55:20 - LMT 1880
- 1:55 - CMT 1918 F 15
- 1:44:24 - BMT 1931 Jul 24
--2 { EE%sT 1940 Au 15
-+2 z EE%sT 1940 Au 15
- 2 1 EEST 1941 Jul 17
--1 ( CE%sT 1944 Au 24
--3 M MSK/MSD 1990 May 6 2
--2 M EE%sT 1992
--2 W EE%sT 1997
--2 ` EE%sT
-+1 c CE%sT 1944 Au 24
-+3 R MSK/MSD 1990 May 6 2
-+2 R EE%sT 1992
-+2 e EE%sT 1997
-+2 MD EE%sT
- Z Europe/Monaco 0:29:32 - LMT 1891 Mar 15
- 0:9:21 - PMT 1911 Mar 11
--0 < WE%sT 1945 S 16 3
--1 < CE%sT 1977
--1 O CE%sT
--R | 1916 o - May 1 0 1 NST
--R | 1916 o - O 1 0 0 AMT
--R | 1917 o - Ap 16 2s 1 NST
--R | 1917 o - S 17 2s 0 AMT
--R | 1918 1921 - Ap M>=1 2s 1 NST
--R | 1918 1921 - S lastM 2s 0 AMT
--R | 1922 o - Mar lastSun 2s 1 NST
--R | 1922 1936 - O Sun>=2 2s 0 AMT
--R | 1923 o - Jun F>=1 2s 1 NST
--R | 1924 o - Mar lastSun 2s 1 NST
--R | 1925 o - Jun F>=1 2s 1 NST
--R | 1926 1931 - May 15 2s 1 NST
--R | 1932 o - May 22 2s 1 NST
--R | 1933 1936 - May 15 2s 1 NST
--R | 1937 o - May 22 2s 1 NST
--R | 1937 o - Jul 1 0 1 S
--R | 1937 1939 - O Sun>=2 2s 0 -
--R | 1938 1939 - May 15 2s 1 S
--R | 1945 o - Ap 2 2s 1 S
--R | 1945 o - S 16 2s 0 -
-+0 F WE%sT 1945 S 16 3
-+1 F CE%sT 1977
-+1 E CE%sT
-+R N 1916 o - May 1 0 1 NST
-+R N 1916 o - O 1 0 0 AMT
-+R N 1917 o - Ap 16 2s 1 NST
-+R N 1917 o - S 17 2s 0 AMT
-+R N 1918 1921 - Ap M>=1 2s 1 NST
-+R N 1918 1921 - S lastM 2s 0 AMT
-+R N 1922 o - Mar lastSun 2s 1 NST
-+R N 1922 1936 - O Sun>=2 2s 0 AMT
-+R N 1923 o - Jun F>=1 2s 1 NST
-+R N 1924 o - Mar lastSun 2s 1 NST
-+R N 1925 o - Jun F>=1 2s 1 NST
-+R N 1926 1931 - May 15 2s 1 NST
-+R N 1932 o - May 22 2s 1 NST
-+R N 1933 1936 - May 15 2s 1 NST
-+R N 1937 o - May 22 2s 1 NST
-+R N 1937 o - Jul 1 0 1 S
-+R N 1937 1939 - O Sun>=2 2s 0 -
-+R N 1938 1939 - May 15 2s 1 S
-+R N 1945 o - Ap 2 2s 1 S
-+R N 1945 o - S 16 2s 0 -
- Z Europe/Amsterdam 0:19:32 - LMT 1835
--0:19:32 | %s 1937 Jul
--0:20 | +0020/+0120 1940 May 16
--1 ( CE%sT 1945 Ap 2 2
--1 | CE%sT 1977
--1 O CE%sT
--R } 1916 o - May 22 1 1 S
--R } 1916 o - S 30 0 0 -
--R } 1945 o - Ap 2 2s 1 S
--R } 1945 o - O 1 2s 0 -
--R } 1959 1964 - Mar Sun>=15 2s 1 S
--R } 1959 1965 - S Sun>=15 2s 0 -
--R } 1965 o - Ap 25 2s 1 S
-+0:19:32 N %s 1937 Jul
-+0:20 N +0020/+0120 1940 May 16
-+1 c CE%sT 1945 Ap 2 2
-+1 N CE%sT 1977
-+1 E CE%sT
-+R NO 1916 o - May 22 1 1 S
-+R NO 1916 o - S 30 0 0 -
-+R NO 1945 o - Ap 2 2s 1 S
-+R NO 1945 o - O 1 2s 0 -
-+R NO 1959 1964 - Mar Sun>=15 2s 1 S
-+R NO 1959 1965 - S Sun>=15 2s 0 -
-+R NO 1965 o - Ap 25 2s 1 S
- Z Europe/Oslo 0:43 - LMT 1895
--1 } CE%sT 1940 Au 10 23
--1 ( CE%sT 1945 Ap 2 2
--1 } CE%sT 1980
--1 O CE%sT
-+1 NO CE%sT 1940 Au 10 23
-+1 c CE%sT 1945 Ap 2 2
-+1 NO CE%sT 1980
-+1 E CE%sT
- Li Europe/Oslo Arctic/Longyearbyen
--R ~ 1918 1919 - S 16 2s 0 -
--R ~ 1919 o - Ap 15 2s 1 S
--R ~ 1944 o - Ap 3 2s 1 S
--R ~ 1944 o - O 4 2 0 -
--R ~ 1945 o - Ap 29 0 1 S
--R ~ 1945 o - N 1 0 0 -
--R ~ 1946 o - Ap 14 0s 1 S
--R ~ 1946 o - O 7 2s 0 -
--R ~ 1947 o - May 4 2s 1 S
--R ~ 1947 1949 - O Sun>=1 2s 0 -
--R ~ 1948 o - Ap 18 2s 1 S
--R ~ 1949 o - Ap 10 2s 1 S
--R ~ 1957 o - Jun 2 1s 1 S
--R ~ 1957 1958 - S lastSun 1s 0 -
--R ~ 1958 o - Mar 30 1s 1 S
--R ~ 1959 o - May 31 1s 1 S
--R ~ 1959 1961 - O Sun>=1 1s 0 -
--R ~ 1960 o - Ap 3 1s 1 S
--R ~ 1961 1964 - May lastSun 1s 1 S
--R ~ 1962 1964 - S lastSun 1s 0 -
-+R O 1918 1919 - S 16 2s 0 -
-+R O 1919 o - Ap 15 2s 1 S
-+R O 1944 o - Ap 3 2s 1 S
-+R O 1944 o - O 4 2 0 -
-+R O 1945 o - Ap 29 0 1 S
-+R O 1945 o - N 1 0 0 -
-+R O 1946 o - Ap 14 0s 1 S
-+R O 1946 o - O 7 2s 0 -
-+R O 1947 o - May 4 2s 1 S
-+R O 1947 1949 - O Sun>=1 2s 0 -
-+R O 1948 o - Ap 18 2s 1 S
-+R O 1949 o - Ap 10 2s 1 S
-+R O 1957 o - Jun 2 1s 1 S
-+R O 1957 1958 - S lastSun 1s 0 -
-+R O 1958 o - Mar 30 1s 1 S
-+R O 1959 o - May 31 1s 1 S
-+R O 1959 1961 - O Sun>=1 1s 0 -
-+R O 1960 o - Ap 3 1s 1 S
-+R O 1961 1964 - May lastSun 1s 1 S
-+R O 1962 1964 - S lastSun 1s 0 -
- Z Europe/Warsaw 1:24 - LMT 1880
- 1:24 - WMT 1915 Au 5
--1 ( CE%sT 1918 S 16 3
--2 ~ EE%sT 1922 Jun
--1 ~ CE%sT 1940 Jun 23 2
--1 ( CE%sT 1944 O
--1 ~ CE%sT 1977
--1 ' CE%sT 1988
--1 O CE%sT
--R AA 1916 o - Jun 17 23 1 S
--R AA 1916 o - N 1 1 0 -
--R AA 1917 o - F 28 23s 1 S
--R AA 1917 1921 - O 14 23s 0 -
--R AA 1918 o - Mar 1 23s 1 S
--R AA 1919 o - F 28 23s 1 S
--R AA 1920 o - F 29 23s 1 S
--R AA 1921 o - F 28 23s 1 S
--R AA 1924 o - Ap 16 23s 1 S
--R AA 1924 o - O 14 23s 0 -
--R AA 1926 o - Ap 17 23s 1 S
--R AA 1926 1929 - O Sat>=1 23s 0 -
--R AA 1927 o - Ap 9 23s 1 S
--R AA 1928 o - Ap 14 23s 1 S
--R AA 1929 o - Ap 20 23s 1 S
--R AA 1931 o - Ap 18 23s 1 S
--R AA 1931 1932 - O Sat>=1 23s 0 -
--R AA 1932 o - Ap 2 23s 1 S
--R AA 1934 o - Ap 7 23s 1 S
--R AA 1934 1938 - O Sat>=1 23s 0 -
--R AA 1935 o - Mar 30 23s 1 S
--R AA 1936 o - Ap 18 23s 1 S
--R AA 1937 o - Ap 3 23s 1 S
--R AA 1938 o - Mar 26 23s 1 S
--R AA 1939 o - Ap 15 23s 1 S
--R AA 1939 o - N 18 23s 0 -
--R AA 1940 o - F 24 23s 1 S
--R AA 1940 1941 - O 5 23s 0 -
--R AA 1941 o - Ap 5 23s 1 S
--R AA 1942 1945 - Mar Sat>=8 23s 1 S
--R AA 1942 o - Ap 25 22s 2 M
--R AA 1942 o - Au 15 22s 1 S
--R AA 1942 1945 - O Sat>=24 23s 0 -
--R AA 1943 o - Ap 17 22s 2 M
--R AA 1943 1945 - Au Sat>=25 22s 1 S
--R AA 1944 1945 - Ap Sat>=21 22s 2 M
--R AA 1946 o - Ap Sat>=1 23s 1 S
--R AA 1946 o - O Sat>=1 23s 0 -
--R AA 1947 1949 - Ap Sun>=1 2s 1 S
--R AA 1947 1949 - O Sun>=1 2s 0 -
--R AA 1951 1965 - Ap Sun>=1 2s 1 S
--R AA 1951 1965 - O Sun>=1 2s 0 -
--R AA 1977 o - Mar 27 0s 1 S
--R AA 1977 o - S 25 0s 0 -
--R AA 1978 1979 - Ap Sun>=1 0s 1 S
--R AA 1978 o - O 1 0s 0 -
--R AA 1979 1982 - S lastSun 1s 0 -
--R AA 1980 o - Mar lastSun 0s 1 S
--R AA 1981 1982 - Mar lastSun 1s 1 S
--R AA 1983 o - Mar lastSun 2s 1 S
-+1 c CE%sT 1918 S 16 3
-+2 O EE%sT 1922 Jun
-+1 O CE%sT 1940 Jun 23 2
-+1 c CE%sT 1944 O
-+1 O CE%sT 1977
-+1 W- CE%sT 1988
-+1 E CE%sT
-+R p 1916 o - Jun 17 23 1 S
-+R p 1916 o - N 1 1 0 -
-+R p 1917 o - F 28 23s 1 S
-+R p 1917 1921 - O 14 23s 0 -
-+R p 1918 o - Mar 1 23s 1 S
-+R p 1919 o - F 28 23s 1 S
-+R p 1920 o - F 29 23s 1 S
-+R p 1921 o - F 28 23s 1 S
-+R p 1924 o - Ap 16 23s 1 S
-+R p 1924 o - O 14 23s 0 -
-+R p 1926 o - Ap 17 23s 1 S
-+R p 1926 1929 - O Sat>=1 23s 0 -
-+R p 1927 o - Ap 9 23s 1 S
-+R p 1928 o - Ap 14 23s 1 S
-+R p 1929 o - Ap 20 23s 1 S
-+R p 1931 o - Ap 18 23s 1 S
-+R p 1931 1932 - O Sat>=1 23s 0 -
-+R p 1932 o - Ap 2 23s 1 S
-+R p 1934 o - Ap 7 23s 1 S
-+R p 1934 1938 - O Sat>=1 23s 0 -
-+R p 1935 o - Mar 30 23s 1 S
-+R p 1936 o - Ap 18 23s 1 S
-+R p 1937 o - Ap 3 23s 1 S
-+R p 1938 o - Mar 26 23s 1 S
-+R p 1939 o - Ap 15 23s 1 S
-+R p 1939 o - N 18 23s 0 -
-+R p 1940 o - F 24 23s 1 S
-+R p 1940 1941 - O 5 23s 0 -
-+R p 1941 o - Ap 5 23s 1 S
-+R p 1942 1945 - Mar Sat>=8 23s 1 S
-+R p 1942 o - Ap 25 22s 2 M
-+R p 1942 o - Au 15 22s 1 S
-+R p 1942 1945 - O Sat>=24 23s 0 -
-+R p 1943 o - Ap 17 22s 2 M
-+R p 1943 1945 - Au Sat>=25 22s 1 S
-+R p 1944 1945 - Ap Sat>=21 22s 2 M
-+R p 1946 o - Ap Sat>=1 23s 1 S
-+R p 1946 o - O Sat>=1 23s 0 -
-+R p 1947 1949 - Ap Sun>=1 2s 1 S
-+R p 1947 1949 - O Sun>=1 2s 0 -
-+R p 1951 1965 - Ap Sun>=1 2s 1 S
-+R p 1951 1965 - O Sun>=1 2s 0 -
-+R p 1977 o - Mar 27 0s 1 S
-+R p 1977 o - S 25 0s 0 -
-+R p 1978 1979 - Ap Sun>=1 0s 1 S
-+R p 1978 o - O 1 0s 0 -
-+R p 1979 1982 - S lastSun 1s 0 -
-+R p 1980 o - Mar lastSun 0s 1 S
-+R p 1981 1982 - Mar lastSun 1s 1 S
-+R p 1983 o - Mar lastSun 2s 1 S
- Z Europe/Lisbon -0:36:45 - LMT 1884
- -0:36:45 - LMT 1912 Ja 1 0u
--0 AA WE%sT 1966 Ap 3 2
-+0 p WE%sT 1966 Ap 3 2
- 1 - CET 1976 S 26 1
--0 AA WE%sT 1983 S 25 1s
--0 ' WE%sT 1992 S 27 1s
--1 O CE%sT 1996 Mar 31 1u
--0 O WE%sT
-+0 p WE%sT 1983 S 25 1s
-+0 W- WE%sT 1992 S 27 1s
-+1 E CE%sT 1996 Mar 31 1u
-+0 E WE%sT
- Z Atlantic/Azores -1:42:40 - LMT 1884
- -1:54:32 - HMT 1912 Ja 1 2u
---2 AA -02/-01 1942 Ap 25 22s
---2 AA +00 1942 Au 15 22s
---2 AA -02/-01 1943 Ap 17 22s
---2 AA +00 1943 Au 28 22s
---2 AA -02/-01 1944 Ap 22 22s
---2 AA +00 1944 Au 26 22s
---2 AA -02/-01 1945 Ap 21 22s
---2 AA +00 1945 Au 25 22s
---2 AA -02/-01 1966 Ap 3 2
---1 AA -01/+00 1983 S 25 1s
---1 ' -01/+00 1992 S 27 1s
--0 O WE%sT 1993 Mar 28 1u
---1 O -01/+00
-+-2 p -02/-01 1942 Ap 25 22s
-+-2 p +00 1942 Au 15 22s
-+-2 p -02/-01 1943 Ap 17 22s
-+-2 p +00 1943 Au 28 22s
-+-2 p -02/-01 1944 Ap 22 22s
-+-2 p +00 1944 Au 26 22s
-+-2 p -02/-01 1945 Ap 21 22s
-+-2 p +00 1945 Au 25 22s
-+-2 p -02/-01 1966 Ap 3 2
-+-1 p -01/+00 1983 S 25 1s
-+-1 W- -01/+00 1992 S 27 1s
-+0 E WE%sT 1993 Mar 28 1u
-+-1 E -01/+00
- Z Atlantic/Madeira -1:7:36 - LMT 1884
- -1:7:36 - FMT 1912 Ja 1 1u
---1 AA -01/+00 1942 Ap 25 22s
---1 AA +01 1942 Au 15 22s
---1 AA -01/+00 1943 Ap 17 22s
---1 AA +01 1943 Au 28 22s
---1 AA -01/+00 1944 Ap 22 22s
---1 AA +01 1944 Au 26 22s
---1 AA -01/+00 1945 Ap 21 22s
---1 AA +01 1945 Au 25 22s
---1 AA -01/+00 1966 Ap 3 2
--0 AA WE%sT 1983 S 25 1s
--0 O WE%sT
--R { 1932 o - May 21 0s 1 S
--R { 1932 1939 - O Sun>=1 0s 0 -
--R { 1933 1939 - Ap Sun>=2 0s 1 S
--R { 1979 o - May 27 0 1 S
--R { 1979 o - S lastSun 0 0 -
--R { 1980 o - Ap 5 23 1 S
--R { 1980 o - S lastSun 1 0 -
--R { 1991 1993 - Mar lastSun 0s 1 S
--R { 1991 1993 - S lastSun 0s 0 -
-+-1 p -01/+00 1942 Ap 25 22s
-+-1 p +01 1942 Au 15 22s
-+-1 p -01/+00 1943 Ap 17 22s
-+-1 p +01 1943 Au 28 22s
-+-1 p -01/+00 1944 Ap 22 22s
-+-1 p +01 1944 Au 26 22s
-+-1 p -01/+00 1945 Ap 21 22s
-+-1 p +01 1945 Au 25 22s
-+-1 p -01/+00 1966 Ap 3 2
-+0 p WE%sT 1983 S 25 1s
-+0 E WE%sT
-+R z 1932 o - May 21 0s 1 S
-+R z 1932 1939 - O Sun>=1 0s 0 -
-+R z 1933 1939 - Ap Sun>=2 0s 1 S
-+R z 1979 o - May 27 0 1 S
-+R z 1979 o - S lastSun 0 0 -
-+R z 1980 o - Ap 5 23 1 S
-+R z 1980 o - S lastSun 1 0 -
-+R z 1991 1993 - Mar lastSun 0s 1 S
-+R z 1991 1993 - S lastSun 0s 0 -
- Z Europe/Bucharest 1:44:24 - LMT 1891 O
- 1:44:24 - BMT 1931 Jul 24
--2 { EE%sT 1981 Mar 29 2s
--2 ( EE%sT 1991
--2 { EE%sT 1994
--2 W EE%sT 1997
--2 O EE%sT
-+2 z EE%sT 1981 Mar 29 2s
-+2 c EE%sT 1991
-+2 z EE%sT 1994
-+2 e EE%sT 1997
-+2 E EE%sT
- Z Europe/Kaliningrad 1:22 - LMT 1893 Ap
--1 ( CE%sT 1945
--2 ~ CE%sT 1946
--3 M MSK/MSD 1989 Mar 26 2s
--2 M EE%sT 2011 Mar 27 2s
-+1 c CE%sT 1945
-+2 O CE%sT 1946
-+3 R MSK/MSD 1989 Mar 26 2s
-+2 R EE%sT 2011 Mar 27 2s
- 3 - +03 2014 O 26 2s
- 2 - EET
- Z Europe/Moscow 2:30:17 - LMT 1880
- 2:30:17 - MMT 1916 Jul 3
--2:31:19 M %s 1919 Jul 1 0u
--3 M %s 1921 O
--3 M MSK/MSD 1922 O
-+2:31:19 R %s 1919 Jul 1 0u
-+3 R %s 1921 O
-+3 R MSK/MSD 1922 O
- 2 - EET 1930 Jun 21
--3 M MSK/MSD 1991 Mar 31 2s
--2 M EE%sT 1992 Ja 19 2s
--3 M MSK/MSD 2011 Mar 27 2s
-+3 R MSK/MSD 1991 Mar 31 2s
-+2 R EE%sT 1992 Ja 19 2s
-+3 R MSK/MSD 2011 Mar 27 2s
- 4 - MSK 2014 O 26 2s
- 3 - MSK
- Z Europe/Simferopol 2:16:24 - LMT 1880
- 2:16 - SMT 1924 May 2
- 2 - EET 1930 Jun 21
- 3 - MSK 1941 N
--1 ( CE%sT 1944 Ap 13
--3 M MSK/MSD 1990
-+1 c CE%sT 1944 Ap 13
-+3 R MSK/MSD 1990
- 3 - MSK 1990 Jul 1 2
- 2 - EET 1992
--2 W EE%sT 1994 May
--3 W MSK/MSD 1996 Mar 31 0s
-+2 e EE%sT 1994 May
-+3 e MSK/MSD 1996 Mar 31 0s
- 3 1 MSD 1996 O 27 3s
--3 M MSK/MSD 1997
-+3 R MSK/MSD 1997
- 3 - MSK 1997 Mar lastSun 1u
--2 O EE%sT 2014 Mar 30 2
-+2 E EE%sT 2014 Mar 30 2
- 4 - MSK 2014 O 26 2s
- 3 - MSK
- Z Europe/Astrakhan 3:12:12 - LMT 1924 May
- 3 - +03 1930 Jun 21
--4 M +04/+05 1989 Mar 26 2s
--3 M +03/+04 1991 Mar 31 2s
-+4 R +04/+05 1989 Mar 26 2s
-+3 R +03/+04 1991 Mar 31 2s
- 4 - +04 1992 Mar 29 2s
--3 M +03/+04 2011 Mar 27 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
- 3 - +03 2016 Mar 27 2s
- 4 - +04
- Z Europe/Volgograd 2:57:40 - LMT 1920 Ja 3
- 3 - +03 1930 Jun 21
- 4 - +04 1961 N 11
--4 M +04/+05 1988 Mar 27 2s
--3 M +03/+04 1991 Mar 31 2s
-+4 R +04/+05 1988 Mar 27 2s
-+3 R +03/+04 1991 Mar 31 2s
- 4 - +04 1992 Mar 29 2s
--3 M +03/+04 2011 Mar 27 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
--3 - +03
-+3 - +03 2018 O 28 2s
-+4 - +04
- Z Europe/Saratov 3:4:18 - LMT 1919 Jul 1 0u
- 3 - +03 1930 Jun 21
--4 M +04/+05 1988 Mar 27 2s
--3 M +03/+04 1991 Mar 31 2s
-+4 R +04/+05 1988 Mar 27 2s
-+3 R +03/+04 1991 Mar 31 2s
- 4 - +04 1992 Mar 29 2s
--3 M +03/+04 2011 Mar 27 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
- 3 - +03 2016 D 4 2s
- 4 - +04
- Z Europe/Kirov 3:18:48 - LMT 1919 Jul 1 0u
- 3 - +03 1930 Jun 21
--4 M +04/+05 1989 Mar 26 2s
--3 M +03/+04 1991 Mar 31 2s
-+4 R +04/+05 1989 Mar 26 2s
-+3 R +03/+04 1991 Mar 31 2s
- 4 - +04 1992 Mar 29 2s
--3 M +03/+04 2011 Mar 27 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
- 3 - +03
- Z Europe/Samara 3:20:20 - LMT 1919 Jul 1 0u
- 3 - +03 1930 Jun 21
- 4 - +04 1935 Ja 27
--4 M +04/+05 1989 Mar 26 2s
--3 M +03/+04 1991 Mar 31 2s
--2 M +02/+03 1991 S 29 2s
-+4 R +04/+05 1989 Mar 26 2s
-+3 R +03/+04 1991 Mar 31 2s
-+2 R +02/+03 1991 S 29 2s
- 3 - +03 1991 O 20 3
--4 M +04/+05 2010 Mar 28 2s
--3 M +03/+04 2011 Mar 27 2s
-+4 R +04/+05 2010 Mar 28 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04
- Z Europe/Ulyanovsk 3:13:36 - LMT 1919 Jul 1 0u
- 3 - +03 1930 Jun 21
--4 M +04/+05 1989 Mar 26 2s
--3 M +03/+04 1991 Mar 31 2s
--2 M +02/+03 1992 Ja 19 2s
--3 M +03/+04 2011 Mar 27 2s
-+4 R +04/+05 1989 Mar 26 2s
-+3 R +03/+04 1991 Mar 31 2s
-+2 R +02/+03 1992 Ja 19 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
- 3 - +03 2016 Mar 27 2s
- 4 - +04
- Z Asia/Yekaterinburg 4:2:33 - LMT 1916 Jul 3
- 3:45:5 - PMT 1919 Jul 15 4
- 4 - +04 1930 Jun 21
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 2011 Mar 27 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 2011 Mar 27 2s
- 6 - +06 2014 O 26 2s
- 5 - +05
- Z Asia/Omsk 4:53:30 - LMT 1919 N 14
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2s
--5 M +05/+06 1992 Ja 19 2s
--6 M +06/+07 2011 Mar 27 2s
-+6 R +06/+07 1991 Mar 31 2s
-+5 R +05/+06 1992 Ja 19 2s
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07 2014 O 26 2s
- 6 - +06
- Z Asia/Barnaul 5:35 - LMT 1919 D 10
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 1995 May 28
--6 M +06/+07 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 1995 May 28
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07 2014 O 26 2s
- 6 - +06 2016 Mar 27 2s
- 7 - +07
- Z Asia/Novosibirsk 5:31:40 - LMT 1919 D 14 6
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 1993 May 23
--6 M +06/+07 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 1993 May 23
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07 2014 O 26 2s
- 6 - +06 2016 Jul 24 2s
- 7 - +07
- Z Asia/Tomsk 5:39:51 - LMT 1919 D 22
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 2002 May 1 3
--6 M +06/+07 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 2002 May 1 3
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07 2014 O 26 2s
- 6 - +06 2016 May 29 2s
- 7 - +07
- Z Asia/Novokuznetsk 5:48:48 - LMT 1924 May
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 2010 Mar 28 2s
--6 M +06/+07 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 2010 Mar 28 2s
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07
- Z Asia/Krasnoyarsk 6:11:26 - LMT 1920 Ja 6
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 2011 Mar 27 2s
- 8 - +08 2014 O 26 2s
- 7 - +07
- Z Asia/Irkutsk 6:57:5 - LMT 1880
- 6:57:5 - IMT 1920 Ja 25
- 7 - +07 1930 Jun 21
--8 M +08/+09 1991 Mar 31 2s
--7 M +07/+08 1992 Ja 19 2s
--8 M +08/+09 2011 Mar 27 2s
-+8 R +08/+09 1991 Mar 31 2s
-+7 R +07/+08 1992 Ja 19 2s
-+8 R +08/+09 2011 Mar 27 2s
- 9 - +09 2014 O 26 2s
- 8 - +08
- Z Asia/Chita 7:33:52 - LMT 1919 D 15
- 8 - +08 1930 Jun 21
--9 M +09/+10 1991 Mar 31 2s
--8 M +08/+09 1992 Ja 19 2s
--9 M +09/+10 2011 Mar 27 2s
-+9 R +09/+10 1991 Mar 31 2s
-+8 R +08/+09 1992 Ja 19 2s
-+9 R +09/+10 2011 Mar 27 2s
- 10 - +10 2014 O 26 2s
- 8 - +08 2016 Mar 27 2
- 9 - +09
- Z Asia/Yakutsk 8:38:58 - LMT 1919 D 15
- 8 - +08 1930 Jun 21
--9 M +09/+10 1991 Mar 31 2s
--8 M +08/+09 1992 Ja 19 2s
--9 M +09/+10 2011 Mar 27 2s
-+9 R +09/+10 1991 Mar 31 2s
-+8 R +08/+09 1992 Ja 19 2s
-+9 R +09/+10 2011 Mar 27 2s
- 10 - +10 2014 O 26 2s
- 9 - +09
- Z Asia/Vladivostok 8:47:31 - LMT 1922 N 15
- 9 - +09 1930 Jun 21
--10 M +10/+11 1991 Mar 31 2s
--9 M +09/+10 1992 Ja 19 2s
--10 M +10/+11 2011 Mar 27 2s
-+10 R +10/+11 1991 Mar 31 2s
-+9 R +09/+10 1992 Ja 19 2s
-+10 R +10/+11 2011 Mar 27 2s
- 11 - +11 2014 O 26 2s
- 10 - +10
- Z Asia/Khandyga 9:2:13 - LMT 1919 D 15
- 8 - +08 1930 Jun 21
--9 M +09/+10 1991 Mar 31 2s
--8 M +08/+09 1992 Ja 19 2s
--9 M +09/+10 2004
--10 M +10/+11 2011 Mar 27 2s
-+9 R +09/+10 1991 Mar 31 2s
-+8 R +08/+09 1992 Ja 19 2s
-+9 R +09/+10 2004
-+10 R +10/+11 2011 Mar 27 2s
- 11 - +11 2011 S 13 0s
- 10 - +10 2014 O 26 2s
- 9 - +09
- Z Asia/Sakhalin 9:30:48 - LMT 1905 Au 23
- 9 - +09 1945 Au 25
--11 M +11/+12 1991 Mar 31 2s
--10 M +10/+11 1992 Ja 19 2s
--11 M +11/+12 1997 Mar lastSun 2s
--10 M +10/+11 2011 Mar 27 2s
-+11 R +11/+12 1991 Mar 31 2s
-+10 R +10/+11 1992 Ja 19 2s
-+11 R +11/+12 1997 Mar lastSun 2s
-+10 R +10/+11 2011 Mar 27 2s
- 11 - +11 2014 O 26 2s
- 10 - +10 2016 Mar 27 2s
- 11 - +11
- Z Asia/Magadan 10:3:12 - LMT 1924 May 2
- 10 - +10 1930 Jun 21
--11 M +11/+12 1991 Mar 31 2s
--10 M +10/+11 1992 Ja 19 2s
--11 M +11/+12 2011 Mar 27 2s
-+11 R +11/+12 1991 Mar 31 2s
-+10 R +10/+11 1992 Ja 19 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12 2014 O 26 2s
- 10 - +10 2016 Ap 24 2s
- 11 - +11
- Z Asia/Srednekolymsk 10:14:52 - LMT 1924 May 2
- 10 - +10 1930 Jun 21
--11 M +11/+12 1991 Mar 31 2s
--10 M +10/+11 1992 Ja 19 2s
--11 M +11/+12 2011 Mar 27 2s
-+11 R +11/+12 1991 Mar 31 2s
-+10 R +10/+11 1992 Ja 19 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12 2014 O 26 2s
- 11 - +11
- Z Asia/Ust-Nera 9:32:54 - LMT 1919 D 15
- 8 - +08 1930 Jun 21
--9 M +09/+10 1981 Ap
--11 M +11/+12 1991 Mar 31 2s
--10 M +10/+11 1992 Ja 19 2s
--11 M +11/+12 2011 Mar 27 2s
-+9 R +09/+10 1981 Ap
-+11 R +11/+12 1991 Mar 31 2s
-+10 R +10/+11 1992 Ja 19 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12 2011 S 13 0s
- 11 - +11 2014 O 26 2s
- 10 - +10
- Z Asia/Kamchatka 10:34:36 - LMT 1922 N 10
- 11 - +11 1930 Jun 21
--12 M +12/+13 1991 Mar 31 2s
--11 M +11/+12 1992 Ja 19 2s
--12 M +12/+13 2010 Mar 28 2s
--11 M +11/+12 2011 Mar 27 2s
-+12 R +12/+13 1991 Mar 31 2s
-+11 R +11/+12 1992 Ja 19 2s
-+12 R +12/+13 2010 Mar 28 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12
- Z Asia/Anadyr 11:49:56 - LMT 1924 May 2
- 12 - +12 1930 Jun 21
--13 M +13/+14 1982 Ap 1 0s
--12 M +12/+13 1991 Mar 31 2s
--11 M +11/+12 1992 Ja 19 2s
--12 M +12/+13 2010 Mar 28 2s
--11 M +11/+12 2011 Mar 27 2s
-+13 R +13/+14 1982 Ap 1 0s
-+12 R +12/+13 1991 Mar 31 2s
-+11 R +11/+12 1992 Ja 19 2s
-+12 R +12/+13 2010 Mar 28 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12
- Z Europe/Belgrade 1:22 - LMT 1884
- 1 - CET 1941 Ap 18 23
--1 ( CE%sT 1945
-+1 c CE%sT 1945
- 1 - CET 1945 May 8 2s
- 1 1 CEST 1945 S 16 2s
- 1 - CET 1982 N 27
--1 O CE%sT
-+1 E CE%sT
- Li Europe/Belgrade Europe/Ljubljana
- Li Europe/Belgrade Europe/Podgorica
- Li Europe/Belgrade Europe/Sarajevo
- Li Europe/Belgrade Europe/Skopje
- Li Europe/Belgrade Europe/Zagreb
- Li Europe/Prague Europe/Bratislava
--R AB 1918 o - Ap 15 23 1 S
--R AB 1918 1919 - O 6 24s 0 -
--R AB 1919 o - Ap 6 23 1 S
--R AB 1924 o - Ap 16 23 1 S
--R AB 1924 o - O 4 24s 0 -
--R AB 1926 o - Ap 17 23 1 S
--R AB 1926 1929 - O Sat>=1 24s 0 -
--R AB 1927 o - Ap 9 23 1 S
--R AB 1928 o - Ap 15 0 1 S
--R AB 1929 o - Ap 20 23 1 S
--R AB 1937 o - Jun 16 23 1 S
--R AB 1937 o - O 2 24s 0 -
--R AB 1938 o - Ap 2 23 1 S
--R AB 1938 o - Ap 30 23 2 M
--R AB 1938 o - O 2 24 1 S
--R AB 1939 o - O 7 24s 0 -
--R AB 1942 o - May 2 23 1 S
--R AB 1942 o - S 1 1 0 -
--R AB 1943 1946 - Ap Sat>=13 23 1 S
--R AB 1943 1944 - O Sun>=1 1 0 -
--R AB 1945 1946 - S lastSun 1 0 -
--R AB 1949 o - Ap 30 23 1 S
--R AB 1949 o - O 2 1 0 -
--R AB 1974 1975 - Ap Sat>=12 23 1 S
--R AB 1974 1975 - O Sun>=1 1 0 -
--R AB 1976 o - Mar 27 23 1 S
--R AB 1976 1977 - S lastSun 1 0 -
--R AB 1977 o - Ap 2 23 1 S
--R AB 1978 o - Ap 2 2s 1 S
--R AB 1978 o - O 1 2s 0 -
--R AC 1967 o - Jun 3 12 1 S
--R AC 1967 o - O 1 0 0 -
--R AC 1974 o - Jun 24 0 1 S
--R AC 1974 o - S 1 0 0 -
--R AC 1976 1977 - May 1 0 1 S
--R AC 1976 o - Au 1 0 0 -
--R AC 1977 o - S 28 0 0 -
--R AC 1978 o - Jun 1 0 1 S
--R AC 1978 o - Au 4 0 0 -
-+R s 1918 o - Ap 15 23 1 S
-+R s 1918 1919 - O 6 24s 0 -
-+R s 1919 o - Ap 6 23 1 S
-+R s 1924 o - Ap 16 23 1 S
-+R s 1924 o - O 4 24s 0 -
-+R s 1926 o - Ap 17 23 1 S
-+R s 1926 1929 - O Sat>=1 24s 0 -
-+R s 1927 o - Ap 9 23 1 S
-+R s 1928 o - Ap 15 0 1 S
-+R s 1929 o - Ap 20 23 1 S
-+R s 1937 o - Jun 16 23 1 S
-+R s 1937 o - O 2 24s 0 -
-+R s 1938 o - Ap 2 23 1 S
-+R s 1938 o - Ap 30 23 2 M
-+R s 1938 o - O 2 24 1 S
-+R s 1939 o - O 7 24s 0 -
-+R s 1942 o - May 2 23 1 S
-+R s 1942 o - S 1 1 0 -
-+R s 1943 1946 - Ap Sat>=13 23 1 S
-+R s 1943 1944 - O Sun>=1 1 0 -
-+R s 1945 1946 - S lastSun 1 0 -
-+R s 1949 o - Ap 30 23 1 S
-+R s 1949 o - O 2 1 0 -
-+R s 1974 1975 - Ap Sat>=12 23 1 S
-+R s 1974 1975 - O Sun>=1 1 0 -
-+R s 1976 o - Mar 27 23 1 S
-+R s 1976 1977 - S lastSun 1 0 -
-+R s 1977 o - Ap 2 23 1 S
-+R s 1978 o - Ap 2 2s 1 S
-+R s 1978 o - O 1 2s 0 -
- Z Europe/Madrid -0:14:44 - LMT 1900 D 31 23:45:16
--0 AB WE%sT 1940 Mar 16 23
--1 AB CE%sT 1979
--1 O CE%sT
-+0 s WE%sT 1940 Mar 16 23
-+1 s CE%sT 1979
-+1 E CE%sT
- Z Africa/Ceuta -0:21:16 - LMT 1900 D 31 23:38:44
- 0 - WET 1918 May 6 23
- 0 1 WEST 1918 O 7 23
- 0 - WET 1924
--0 AB WE%sT 1929
--0 AC WE%sT 1984 Mar 16
-+0 s WE%sT 1929
-+0 - WET 1967
-+0 M WE%sT 1984 Mar 16
- 1 - CET 1986
--1 O CE%sT
-+1 E CE%sT
- Z Atlantic/Canary -1:1:36 - LMT 1922 Mar
- -1 - -01 1946 S 30 1
- 0 - WET 1980 Ap 6 0s
- 0 1 WEST 1980 S 28 1u
--0 O WE%sT
-+0 E WE%sT
- Z Europe/Stockholm 1:12:12 - LMT 1879
- 1:0:14 - SET 1900
- 1 - CET 1916 May 14 23
- 1 1 CEST 1916 O 1 1
- 1 - CET 1980
--1 O CE%sT
--R AD 1941 1942 - May M>=1 1 1 S
--R AD 1941 1942 - O M>=1 2 0 -
-+1 E CE%sT
-+R CH 1941 1942 - May M>=1 1 1 S
-+R CH 1941 1942 - O M>=1 2 0 -
- Z Europe/Zurich 0:34:8 - LMT 1853 Jul 16
- 0:29:46 - BMT 1894 Jun
--1 AD CE%sT 1981
--1 O CE%sT
--R AE 1916 o - May 1 0 1 S
--R AE 1916 o - O 1 0 0 -
--R AE 1920 o - Mar 28 0 1 S
--R AE 1920 o - O 25 0 0 -
--R AE 1921 o - Ap 3 0 1 S
--R AE 1921 o - O 3 0 0 -
--R AE 1922 o - Mar 26 0 1 S
--R AE 1922 o - O 8 0 0 -
--R AE 1924 o - May 13 0 1 S
--R AE 1924 1925 - O 1 0 0 -
--R AE 1925 o - May 1 0 1 S
--R AE 1940 o - Jun 30 0 1 S
--R AE 1940 o - O 5 0 0 -
--R AE 1940 o - D 1 0 1 S
--R AE 1941 o - S 21 0 0 -
--R AE 1942 o - Ap 1 0 1 S
--R AE 1942 o - N 1 0 0 -
--R AE 1945 o - Ap 2 0 1 S
--R AE 1945 o - O 8 0 0 -
--R AE 1946 o - Jun 1 0 1 S
--R AE 1946 o - O 1 0 0 -
--R AE 1947 1948 - Ap Sun>=16 0 1 S
--R AE 1947 1950 - O Sun>=2 0 0 -
--R AE 1949 o - Ap 10 0 1 S
--R AE 1950 o - Ap 19 0 1 S
--R AE 1951 o - Ap 22 0 1 S
--R AE 1951 o - O 8 0 0 -
--R AE 1962 o - Jul 15 0 1 S
--R AE 1962 o - O 8 0 0 -
--R AE 1964 o - May 15 0 1 S
--R AE 1964 o - O 1 0 0 -
--R AE 1970 1972 - May Sun>=2 0 1 S
--R AE 1970 1972 - O Sun>=2 0 0 -
--R AE 1973 o - Jun 3 1 1 S
--R AE 1973 o - N 4 3 0 -
--R AE 1974 o - Mar 31 2 1 S
--R AE 1974 o - N 3 5 0 -
--R AE 1975 o - Mar 30 0 1 S
--R AE 1975 1976 - O lastSun 0 0 -
--R AE 1976 o - Jun 1 0 1 S
--R AE 1977 1978 - Ap Sun>=1 0 1 S
--R AE 1977 o - O 16 0 0 -
--R AE 1979 1980 - Ap Sun>=1 3 1 S
--R AE 1979 1982 - O M>=11 0 0 -
--R AE 1981 1982 - Mar lastSun 3 1 S
--R AE 1983 o - Jul 31 0 1 S
--R AE 1983 o - O 2 0 0 -
--R AE 1985 o - Ap 20 0 1 S
--R AE 1985 o - S 28 0 0 -
--R AE 1986 1993 - Mar lastSun 1s 1 S
--R AE 1986 1995 - S lastSun 1s 0 -
--R AE 1994 o - Mar 20 1s 1 S
--R AE 1995 2006 - Mar lastSun 1s 1 S
--R AE 1996 2006 - O lastSun 1s 0 -
-+1 CH CE%sT 1981
-+1 E CE%sT
-+R T 1916 o - May 1 0 1 S
-+R T 1916 o - O 1 0 0 -
-+R T 1920 o - Mar 28 0 1 S
-+R T 1920 o - O 25 0 0 -
-+R T 1921 o - Ap 3 0 1 S
-+R T 1921 o - O 3 0 0 -
-+R T 1922 o - Mar 26 0 1 S
-+R T 1922 o - O 8 0 0 -
-+R T 1924 o - May 13 0 1 S
-+R T 1924 1925 - O 1 0 0 -
-+R T 1925 o - May 1 0 1 S
-+R T 1940 o - Jun 30 0 1 S
-+R T 1940 o - O 5 0 0 -
-+R T 1940 o - D 1 0 1 S
-+R T 1941 o - S 21 0 0 -
-+R T 1942 o - Ap 1 0 1 S
-+R T 1942 o - N 1 0 0 -
-+R T 1945 o - Ap 2 0 1 S
-+R T 1945 o - O 8 0 0 -
-+R T 1946 o - Jun 1 0 1 S
-+R T 1946 o - O 1 0 0 -
-+R T 1947 1948 - Ap Sun>=16 0 1 S
-+R T 1947 1950 - O Sun>=2 0 0 -
-+R T 1949 o - Ap 10 0 1 S
-+R T 1950 o - Ap 19 0 1 S
-+R T 1951 o - Ap 22 0 1 S
-+R T 1951 o - O 8 0 0 -
-+R T 1962 o - Jul 15 0 1 S
-+R T 1962 o - O 8 0 0 -
-+R T 1964 o - May 15 0 1 S
-+R T 1964 o - O 1 0 0 -
-+R T 1970 1972 - May Sun>=2 0 1 S
-+R T 1970 1972 - O Sun>=2 0 0 -
-+R T 1973 o - Jun 3 1 1 S
-+R T 1973 o - N 4 3 0 -
-+R T 1974 o - Mar 31 2 1 S
-+R T 1974 o - N 3 5 0 -
-+R T 1975 o - Mar 30 0 1 S
-+R T 1975 1976 - O lastSun 0 0 -
-+R T 1976 o - Jun 1 0 1 S
-+R T 1977 1978 - Ap Sun>=1 0 1 S
-+R T 1977 o - O 16 0 0 -
-+R T 1979 1980 - Ap Sun>=1 3 1 S
-+R T 1979 1982 - O M>=11 0 0 -
-+R T 1981 1982 - Mar lastSun 3 1 S
-+R T 1983 o - Jul 31 0 1 S
-+R T 1983 o - O 2 0 0 -
-+R T 1985 o - Ap 20 0 1 S
-+R T 1985 o - S 28 0 0 -
-+R T 1986 1993 - Mar lastSun 1s 1 S
-+R T 1986 1995 - S lastSun 1s 0 -
-+R T 1994 o - Mar 20 1s 1 S
-+R T 1995 2006 - Mar lastSun 1s 1 S
-+R T 1996 2006 - O lastSun 1s 0 -
- Z Europe/Istanbul 1:55:52 - LMT 1880
- 1:56:56 - IMT 1910 O
--2 AE EE%sT 1978 O 15
--3 AE +03/+04 1985 Ap 20
--2 AE EE%sT 2007
--2 O EE%sT 2011 Mar 27 1u
-+2 T EE%sT 1978 O 15
-+3 T +03/+04 1985 Ap 20
-+2 T EE%sT 2007
-+2 E EE%sT 2011 Mar 27 1u
- 2 - EET 2011 Mar 28 1u
--2 O EE%sT 2014 Mar 30 1u
-+2 E EE%sT 2014 Mar 30 1u
- 2 - EET 2014 Mar 31 1u
--2 O EE%sT 2015 O 25 1u
-+2 E EE%sT 2015 O 25 1u
- 2 1 EEST 2015 N 8 1u
--2 O EE%sT 2016 S 7
-+2 E EE%sT 2016 S 7
- 3 - +03
- Li Europe/Istanbul Asia/Istanbul
- Z Europe/Kiev 2:2:4 - LMT 1880
- 2:2:4 - KMT 1924 May 2
- 2 - EET 1930 Jun 21
- 3 - MSK 1941 S 20
--1 ( CE%sT 1943 N 6
--3 M MSK/MSD 1990 Jul 1 2
-+1 c CE%sT 1943 N 6
-+3 R MSK/MSD 1990 Jul 1 2
- 2 1 EEST 1991 S 29 3
--2 W EE%sT 1995
--2 O EE%sT
-+2 e EE%sT 1995
-+2 E EE%sT
- Z Europe/Uzhgorod 1:29:12 - LMT 1890 O
- 1 - CET 1940
--1 ( CE%sT 1944 O
-+1 c CE%sT 1944 O
- 1 1 CEST 1944 O 26
- 1 - CET 1945 Jun 29
--3 M MSK/MSD 1990
-+3 R MSK/MSD 1990
- 3 - MSK 1990 Jul 1 2
- 1 - CET 1991 Mar 31 3
- 2 - EET 1992
--2 W EE%sT 1995
--2 O EE%sT
-+2 e EE%sT 1995
-+2 E EE%sT
- Z Europe/Zaporozhye 2:20:40 - LMT 1880
- 2:20 - +0220 1924 May 2
- 2 - EET 1930 Jun 21
- 3 - MSK 1941 Au 25
--1 ( CE%sT 1943 O 25
--3 M MSK/MSD 1991 Mar 31 2
--2 W EE%sT 1995
--2 O EE%sT
--R AF 1918 1919 - Mar lastSun 2 1 D
--R AF 1918 1919 - O lastSun 2 0 S
--R AF 1942 o - F 9 2 1 W
--R AF 1945 o - Au 14 23u 1 P
--R AF 1945 o - S lastSun 2 0 S
--R AF 1967 2006 - O lastSun 2 0 S
--R AF 1967 1973 - Ap lastSun 2 1 D
--R AF 1974 o - Ja 6 2 1 D
--R AF 1975 o - F 23 2 1 D
--R AF 1976 1986 - Ap lastSun 2 1 D
--R AF 1987 2006 - Ap Sun>=1 2 1 D
--R AF 2007 ma - Mar Sun>=8 2 1 D
--R AF 2007 ma - N Sun>=1 2 0 S
-+1 c CE%sT 1943 O 25
-+3 R MSK/MSD 1991 Mar 31 2
-+2 e EE%sT 1995
-+2 E EE%sT
-+R u 1918 1919 - Mar lastSun 2 1 D
-+R u 1918 1919 - O lastSun 2 0 S
-+R u 1942 o - F 9 2 1 W
-+R u 1945 o - Au 14 23u 1 P
-+R u 1945 o - S lastSun 2 0 S
-+R u 1967 2006 - O lastSun 2 0 S
-+R u 1967 1973 - Ap lastSun 2 1 D
-+R u 1974 o - Ja 6 2 1 D
-+R u 1975 o - F 23 2 1 D
-+R u 1976 1986 - Ap lastSun 2 1 D
-+R u 1987 2006 - Ap Sun>=1 2 1 D
-+R u 2007 ma - Mar Sun>=8 2 1 D
-+R u 2007 ma - N Sun>=1 2 0 S
- Z EST -5 - EST
- Z MST -7 - MST
- Z HST -10 - HST
--Z EST5EDT -5 AF E%sT
--Z CST6CDT -6 AF C%sT
--Z MST7MDT -7 AF M%sT
--Z PST8PDT -8 AF P%sT
--R AG 1920 o - Mar lastSun 2 1 D
--R AG 1920 o - O lastSun 2 0 S
--R AG 1921 1966 - Ap lastSun 2 1 D
--R AG 1921 1954 - S lastSun 2 0 S
--R AG 1955 1966 - O lastSun 2 0 S
-+Z EST5EDT -5 u E%sT
-+Z CST6CDT -6 u C%sT
-+Z MST7MDT -7 u M%sT
-+Z PST8PDT -8 u P%sT
-+R NY 1920 o - Mar lastSun 2 1 D
-+R NY 1920 o - O lastSun 2 0 S
-+R NY 1921 1966 - Ap lastSun 2 1 D
-+R NY 1921 1954 - S lastSun 2 0 S
-+R NY 1955 1966 - O lastSun 2 0 S
- Z America/New_York -4:56:2 - LMT 1883 N 18 12:3:58
---5 AF E%sT 1920
---5 AG E%sT 1942
---5 AF E%sT 1946
---5 AG E%sT 1967
---5 AF E%sT
--R AH 1920 o - Jun 13 2 1 D
--R AH 1920 1921 - O lastSun 2 0 S
--R AH 1921 o - Mar lastSun 2 1 D
--R AH 1922 1966 - Ap lastSun 2 1 D
--R AH 1922 1954 - S lastSun 2 0 S
--R AH 1955 1966 - O lastSun 2 0 S
-+-5 u E%sT 1920
-+-5 NY E%sT 1942
-+-5 u E%sT 1946
-+-5 NY E%sT 1967
-+-5 u E%sT
-+R Ch 1920 o - Jun 13 2 1 D
-+R Ch 1920 1921 - O lastSun 2 0 S
-+R Ch 1921 o - Mar lastSun 2 1 D
-+R Ch 1922 1966 - Ap lastSun 2 1 D
-+R Ch 1922 1954 - S lastSun 2 0 S
-+R Ch 1955 1966 - O lastSun 2 0 S
- Z America/Chicago -5:50:36 - LMT 1883 N 18 12:9:24
---6 AF C%sT 1920
---6 AH C%sT 1936 Mar 1 2
-+-6 u C%sT 1920
-+-6 Ch C%sT 1936 Mar 1 2
- -5 - EST 1936 N 15 2
---6 AH C%sT 1942
---6 AF C%sT 1946
---6 AH C%sT 1967
---6 AF C%sT
-+-6 Ch C%sT 1942
-+-6 u C%sT 1946
-+-6 Ch C%sT 1967
-+-6 u C%sT
- Z America/North_Dakota/Center -6:45:12 - LMT 1883 N 18 12:14:48
---7 AF M%sT 1992 O 25 2
---6 AF C%sT
-+-7 u M%sT 1992 O 25 2
-+-6 u C%sT
- Z America/North_Dakota/New_Salem -6:45:39 - LMT 1883 N 18 12:14:21
---7 AF M%sT 2003 O 26 2
---6 AF C%sT
-+-7 u M%sT 2003 O 26 2
-+-6 u C%sT
- Z America/North_Dakota/Beulah -6:47:7 - LMT 1883 N 18 12:12:53
---7 AF M%sT 2010 N 7 2
---6 AF C%sT
--R AI 1920 1921 - Mar lastSun 2 1 D
--R AI 1920 o - O lastSun 2 0 S
--R AI 1921 o - May 22 2 0 S
--R AI 1965 1966 - Ap lastSun 2 1 D
--R AI 1965 1966 - O lastSun 2 0 S
-+-7 u M%sT 2010 N 7 2
-+-6 u C%sT
-+R De 1920 1921 - Mar lastSun 2 1 D
-+R De 1920 o - O lastSun 2 0 S
-+R De 1921 o - May 22 2 0 S
-+R De 1965 1966 - Ap lastSun 2 1 D
-+R De 1965 1966 - O lastSun 2 0 S
- Z America/Denver -6:59:56 - LMT 1883 N 18 12:0:4
---7 AF M%sT 1920
---7 AI M%sT 1942
---7 AF M%sT 1946
---7 AI M%sT 1967
---7 AF M%sT
--R AJ 1948 o - Mar 14 2:1 1 D
--R AJ 1949 o - Ja 1 2 0 S
--R AJ 1950 1966 - Ap lastSun 1 1 D
--R AJ 1950 1961 - S lastSun 2 0 S
--R AJ 1962 1966 - O lastSun 2 0 S
-+-7 u M%sT 1920
-+-7 De M%sT 1942
-+-7 u M%sT 1946
-+-7 De M%sT 1967
-+-7 u M%sT
-+R CA 1948 o - Mar 14 2:1 1 D
-+R CA 1949 o - Ja 1 2 0 S
-+R CA 1950 1966 - Ap lastSun 1 1 D
-+R CA 1950 1961 - S lastSun 2 0 S
-+R CA 1962 1966 - O lastSun 2 0 S
- Z America/Los_Angeles -7:52:58 - LMT 1883 N 18 12:7:2
---8 AF P%sT 1946
---8 AJ P%sT 1967
---8 AF P%sT
-+-8 u P%sT 1946
-+-8 CA P%sT 1967
-+-8 u P%sT
- Z America/Juneau 15:2:19 - LMT 1867 O 19 15:33:32
- -8:57:41 - LMT 1900 Au 20 12
- -8 - PST 1942
---8 AF P%sT 1946
-+-8 u P%sT 1946
- -8 - PST 1969
---8 AF P%sT 1980 Ap 27 2
---9 AF Y%sT 1980 O 26 2
---8 AF P%sT 1983 O 30 2
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-8 u P%sT 1980 Ap 27 2
-+-9 u Y%sT 1980 O 26 2
-+-8 u P%sT 1983 O 30 2
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Sitka 14:58:47 - LMT 1867 O 19 15:30
- -9:1:13 - LMT 1900 Au 20 12
- -8 - PST 1942
---8 AF P%sT 1946
-+-8 u P%sT 1946
- -8 - PST 1969
---8 AF P%sT 1983 O 30 2
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-8 u P%sT 1983 O 30 2
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Metlakatla 15:13:42 - LMT 1867 O 19 15:44:55
- -8:46:18 - LMT 1900 Au 20 12
- -8 - PST 1942
---8 AF P%sT 1946
-+-8 u P%sT 1946
- -8 - PST 1969
---8 AF P%sT 1983 O 30 2
-+-8 u P%sT 1983 O 30 2
- -8 - PST 2015 N 1 2
---9 AF AK%sT
-+-9 u AK%sT
- Z America/Yakutat 14:41:5 - LMT 1867 O 19 15:12:18
- -9:18:55 - LMT 1900 Au 20 12
- -9 - YST 1942
---9 AF Y%sT 1946
-+-9 u Y%sT 1946
- -9 - YST 1969
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Anchorage 14:0:24 - LMT 1867 O 19 14:31:37
- -9:59:36 - LMT 1900 Au 20 12
- -10 - AST 1942
---10 AF A%sT 1967 Ap
-+-10 u A%sT 1967 Ap
- -10 - AHST 1969
---10 AF AH%sT 1983 O 30 2
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-10 u AH%sT 1983 O 30 2
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Nome 12:58:22 - LMT 1867 O 19 13:29:35
- -11:1:38 - LMT 1900 Au 20 12
- -11 - NST 1942
---11 AF N%sT 1946
-+-11 u N%sT 1946
- -11 - NST 1967 Ap
- -11 - BST 1969
---11 AF B%sT 1983 O 30 2
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-11 u B%sT 1983 O 30 2
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Adak 12:13:22 - LMT 1867 O 19 12:44:35
- -11:46:38 - LMT 1900 Au 20 12
- -11 - NST 1942
---11 AF N%sT 1946
-+-11 u N%sT 1946
- -11 - NST 1967 Ap
- -11 - BST 1969
---11 AF B%sT 1983 O 30 2
---10 AF AH%sT 1983 N 30
---10 AF H%sT
-+-11 u B%sT 1983 O 30 2
-+-10 u AH%sT 1983 N 30
-+-10 u H%sT
- Z Pacific/Honolulu -10:31:26 - LMT 1896 Ja 13 12
- -10:30 - HST 1933 Ap 30 2
- -10:30 1 HDT 1933 May 21 12
-@@ -2683,531 +2700,531 @@ Z Pacific/Honolulu -10:31:26 - LMT 1896 Ja 13 12
- -10:30 - HST 1947 Jun 8 2
- -10 - HST
- Z America/Phoenix -7:28:18 - LMT 1883 N 18 11:31:42
---7 AF M%sT 1944 Ja 1 0:1
-+-7 u M%sT 1944 Ja 1 0:1
- -7 - MST 1944 Ap 1 0:1
---7 AF M%sT 1944 O 1 0:1
-+-7 u M%sT 1944 O 1 0:1
- -7 - MST 1967
---7 AF M%sT 1968 Mar 21
-+-7 u M%sT 1968 Mar 21
- -7 - MST
- Z America/Boise -7:44:49 - LMT 1883 N 18 12:15:11
---8 AF P%sT 1923 May 13 2
---7 AF M%sT 1974
-+-8 u P%sT 1923 May 13 2
-+-7 u M%sT 1974
- -7 - MST 1974 F 3 2
---7 AF M%sT
--R AK 1941 o - Jun 22 2 1 D
--R AK 1941 1954 - S lastSun 2 0 S
--R AK 1946 1954 - Ap lastSun 2 1 D
-+-7 u M%sT
-+R In 1941 o - Jun 22 2 1 D
-+R In 1941 1954 - S lastSun 2 0 S
-+R In 1946 1954 - Ap lastSun 2 1 D
- Z America/Indiana/Indianapolis -5:44:38 - LMT 1883 N 18 12:15:22
---6 AF C%sT 1920
---6 AK C%sT 1942
---6 AF C%sT 1946
---6 AK C%sT 1955 Ap 24 2
-+-6 u C%sT 1920
-+-6 In C%sT 1942
-+-6 u C%sT 1946
-+-6 In C%sT 1955 Ap 24 2
- -5 - EST 1957 S 29 2
- -6 - CST 1958 Ap 27 2
- -5 - EST 1969
---5 AF E%sT 1971
-+-5 u E%sT 1971
- -5 - EST 2006
---5 AF E%sT
--R AL 1951 o - Ap lastSun 2 1 D
--R AL 1951 o - S lastSun 2 0 S
--R AL 1954 1960 - Ap lastSun 2 1 D
--R AL 1954 1960 - S lastSun 2 0 S
-+-5 u E%sT
-+R Ma 1951 o - Ap lastSun 2 1 D
-+R Ma 1951 o - S lastSun 2 0 S
-+R Ma 1954 1960 - Ap lastSun 2 1 D
-+R Ma 1954 1960 - S lastSun 2 0 S
- Z America/Indiana/Marengo -5:45:23 - LMT 1883 N 18 12:14:37
---6 AF C%sT 1951
---6 AL C%sT 1961 Ap 30 2
-+-6 u C%sT 1951
-+-6 Ma C%sT 1961 Ap 30 2
- -5 - EST 1969
---5 AF E%sT 1974 Ja 6 2
-+-5 u E%sT 1974 Ja 6 2
- -6 1 CDT 1974 O 27 2
---5 AF E%sT 1976
-+-5 u E%sT 1976
- -5 - EST 2006
---5 AF E%sT
--R AM 1946 o - Ap lastSun 2 1 D
--R AM 1946 o - S lastSun 2 0 S
--R AM 1953 1954 - Ap lastSun 2 1 D
--R AM 1953 1959 - S lastSun 2 0 S
--R AM 1955 o - May 1 0 1 D
--R AM 1956 1963 - Ap lastSun 2 1 D
--R AM 1960 o - O lastSun 2 0 S
--R AM 1961 o - S lastSun 2 0 S
--R AM 1962 1963 - O lastSun 2 0 S
-+-5 u E%sT
-+R V 1946 o - Ap lastSun 2 1 D
-+R V 1946 o - S lastSun 2 0 S
-+R V 1953 1954 - Ap lastSun 2 1 D
-+R V 1953 1959 - S lastSun 2 0 S
-+R V 1955 o - May 1 0 1 D
-+R V 1956 1963 - Ap lastSun 2 1 D
-+R V 1960 o - O lastSun 2 0 S
-+R V 1961 o - S lastSun 2 0 S
-+R V 1962 1963 - O lastSun 2 0 S
- Z America/Indiana/Vincennes -5:50:7 - LMT 1883 N 18 12:9:53
---6 AF C%sT 1946
---6 AM C%sT 1964 Ap 26 2
-+-6 u C%sT 1946
-+-6 V C%sT 1964 Ap 26 2
- -5 - EST 1969
---5 AF E%sT 1971
-+-5 u E%sT 1971
- -5 - EST 2006 Ap 2 2
---6 AF C%sT 2007 N 4 2
---5 AF E%sT
--R AN 1946 o - Ap lastSun 2 1 D
--R AN 1946 o - S lastSun 2 0 S
--R AN 1953 1954 - Ap lastSun 2 1 D
--R AN 1953 1959 - S lastSun 2 0 S
--R AN 1955 o - May 1 0 1 D
--R AN 1956 1963 - Ap lastSun 2 1 D
--R AN 1960 o - O lastSun 2 0 S
--R AN 1961 o - S lastSun 2 0 S
--R AN 1962 1963 - O lastSun 2 0 S
-+-6 u C%sT 2007 N 4 2
-+-5 u E%sT
-+R Pe 1946 o - Ap lastSun 2 1 D
-+R Pe 1946 o - S lastSun 2 0 S
-+R Pe 1953 1954 - Ap lastSun 2 1 D
-+R Pe 1953 1959 - S lastSun 2 0 S
-+R Pe 1955 o - May 1 0 1 D
-+R Pe 1956 1963 - Ap lastSun 2 1 D
-+R Pe 1960 o - O lastSun 2 0 S
-+R Pe 1961 o - S lastSun 2 0 S
-+R Pe 1962 1963 - O lastSun 2 0 S
- Z America/Indiana/Tell_City -5:47:3 - LMT 1883 N 18 12:12:57
---6 AF C%sT 1946
---6 AN C%sT 1964 Ap 26 2
-+-6 u C%sT 1946
-+-6 Pe C%sT 1964 Ap 26 2
- -5 - EST 1969
---5 AF E%sT 1971
-+-5 u E%sT 1971
- -5 - EST 2006 Ap 2 2
---6 AF C%sT
--R AO 1955 o - May 1 0 1 D
--R AO 1955 1960 - S lastSun 2 0 S
--R AO 1956 1964 - Ap lastSun 2 1 D
--R AO 1961 1964 - O lastSun 2 0 S
-+-6 u C%sT
-+R Pi 1955 o - May 1 0 1 D
-+R Pi 1955 1960 - S lastSun 2 0 S
-+R Pi 1956 1964 - Ap lastSun 2 1 D
-+R Pi 1961 1964 - O lastSun 2 0 S
- Z America/Indiana/Petersburg -5:49:7 - LMT 1883 N 18 12:10:53
---6 AF C%sT 1955
---6 AO C%sT 1965 Ap 25 2
-+-6 u C%sT 1955
-+-6 Pi C%sT 1965 Ap 25 2
- -5 - EST 1966 O 30 2
---6 AF C%sT 1977 O 30 2
-+-6 u C%sT 1977 O 30 2
- -5 - EST 2006 Ap 2 2
---6 AF C%sT 2007 N 4 2
---5 AF E%sT
--R AP 1947 1961 - Ap lastSun 2 1 D
--R AP 1947 1954 - S lastSun 2 0 S
--R AP 1955 1956 - O lastSun 2 0 S
--R AP 1957 1958 - S lastSun 2 0 S
--R AP 1959 1961 - O lastSun 2 0 S
-+-6 u C%sT 2007 N 4 2
-+-5 u E%sT
-+R St 1947 1961 - Ap lastSun 2 1 D
-+R St 1947 1954 - S lastSun 2 0 S
-+R St 1955 1956 - O lastSun 2 0 S
-+R St 1957 1958 - S lastSun 2 0 S
-+R St 1959 1961 - O lastSun 2 0 S
- Z America/Indiana/Knox -5:46:30 - LMT 1883 N 18 12:13:30
---6 AF C%sT 1947
---6 AP C%sT 1962 Ap 29 2
-+-6 u C%sT 1947
-+-6 St C%sT 1962 Ap 29 2
- -5 - EST 1963 O 27 2
---6 AF C%sT 1991 O 27 2
-+-6 u C%sT 1991 O 27 2
- -5 - EST 2006 Ap 2 2
---6 AF C%sT
--R AQ 1946 1960 - Ap lastSun 2 1 D
--R AQ 1946 1954 - S lastSun 2 0 S
--R AQ 1955 1956 - O lastSun 2 0 S
--R AQ 1957 1960 - S lastSun 2 0 S
-+-6 u C%sT
-+R Pu 1946 1960 - Ap lastSun 2 1 D
-+R Pu 1946 1954 - S lastSun 2 0 S
-+R Pu 1955 1956 - O lastSun 2 0 S
-+R Pu 1957 1960 - S lastSun 2 0 S
- Z America/Indiana/Winamac -5:46:25 - LMT 1883 N 18 12:13:35
---6 AF C%sT 1946
---6 AQ C%sT 1961 Ap 30 2
-+-6 u C%sT 1946
-+-6 Pu C%sT 1961 Ap 30 2
- -5 - EST 1969
---5 AF E%sT 1971
-+-5 u E%sT 1971
- -5 - EST 2006 Ap 2 2
---6 AF C%sT 2007 Mar 11 2
---5 AF E%sT
-+-6 u C%sT 2007 Mar 11 2
-+-5 u E%sT
- Z America/Indiana/Vevay -5:40:16 - LMT 1883 N 18 12:19:44
---6 AF C%sT 1954 Ap 25 2
-+-6 u C%sT 1954 Ap 25 2
- -5 - EST 1969
---5 AF E%sT 1973
-+-5 u E%sT 1973
- -5 - EST 2006
---5 AF E%sT
--R AR 1921 o - May 1 2 1 D
--R AR 1921 o - S 1 2 0 S
--R AR 1941 1961 - Ap lastSun 2 1 D
--R AR 1941 o - S lastSun 2 0 S
--R AR 1946 o - Jun 2 2 0 S
--R AR 1950 1955 - S lastSun 2 0 S
--R AR 1956 1960 - O lastSun 2 0 S
-+-5 u E%sT
-+R v 1921 o - May 1 2 1 D
-+R v 1921 o - S 1 2 0 S
-+R v 1941 1961 - Ap lastSun 2 1 D
-+R v 1941 o - S lastSun 2 0 S
-+R v 1946 o - Jun 2 2 0 S
-+R v 1950 1955 - S lastSun 2 0 S
-+R v 1956 1960 - O lastSun 2 0 S
- Z America/Kentucky/Louisville -5:43:2 - LMT 1883 N 18 12:16:58
---6 AF C%sT 1921
---6 AR C%sT 1942
---6 AF C%sT 1946
---6 AR C%sT 1961 Jul 23 2
-+-6 u C%sT 1921
-+-6 v C%sT 1942
-+-6 u C%sT 1946
-+-6 v C%sT 1961 Jul 23 2
- -5 - EST 1968
---5 AF E%sT 1974 Ja 6 2
-+-5 u E%sT 1974 Ja 6 2
- -6 1 CDT 1974 O 27 2
---5 AF E%sT
-+-5 u E%sT
- Z America/Kentucky/Monticello -5:39:24 - LMT 1883 N 18 12:20:36
---6 AF C%sT 1946
-+-6 u C%sT 1946
- -6 - CST 1968
---6 AF C%sT 2000 O 29 2
---5 AF E%sT
--R AS 1948 o - Ap lastSun 2 1 D
--R AS 1948 o - S lastSun 2 0 S
-+-6 u C%sT 2000 O 29 2
-+-5 u E%sT
-+R Dt 1948 o - Ap lastSun 2 1 D
-+R Dt 1948 o - S lastSun 2 0 S
- Z America/Detroit -5:32:11 - LMT 1905
- -6 - CST 1915 May 15 2
- -5 - EST 1942
---5 AF E%sT 1946
---5 AS E%sT 1973
---5 AF E%sT 1975
-+-5 u E%sT 1946
-+-5 Dt E%sT 1973
-+-5 u E%sT 1975
- -5 - EST 1975 Ap 27 2
---5 AF E%sT
--R AT 1946 o - Ap lastSun 2 1 D
--R AT 1946 o - S lastSun 2 0 S
--R AT 1966 o - Ap lastSun 2 1 D
--R AT 1966 o - O lastSun 2 0 S
-+-5 u E%sT
-+R Me 1946 o - Ap lastSun 2 1 D
-+R Me 1946 o - S lastSun 2 0 S
-+R Me 1966 o - Ap lastSun 2 1 D
-+R Me 1966 o - O lastSun 2 0 S
- Z America/Menominee -5:50:27 - LMT 1885 S 18 12
---6 AF C%sT 1946
---6 AT C%sT 1969 Ap 27 2
-+-6 u C%sT 1946
-+-6 Me C%sT 1969 Ap 27 2
- -5 - EST 1973 Ap 29 2
---6 AF C%sT
--R AU 1918 o - Ap 14 2 1 D
--R AU 1918 o - O 27 2 0 S
--R AU 1942 o - F 9 2 1 W
--R AU 1945 o - Au 14 23u 1 P
--R AU 1945 o - S 30 2 0 S
--R AU 1974 1986 - Ap lastSun 2 1 D
--R AU 1974 2006 - O lastSun 2 0 S
--R AU 1987 2006 - Ap Sun>=1 2 1 D
--R AU 2007 ma - Mar Sun>=8 2 1 D
--R AU 2007 ma - N Sun>=1 2 0 S
--R AV 1917 o - Ap 8 2 1 D
--R AV 1917 o - S 17 2 0 S
--R AV 1919 o - May 5 23 1 D
--R AV 1919 o - Au 12 23 0 S
--R AV 1920 1935 - May Sun>=1 23 1 D
--R AV 1920 1935 - O lastSun 23 0 S
--R AV 1936 1941 - May M>=9 0 1 D
--R AV 1936 1941 - O M>=2 0 0 S
--R AV 1946 1950 - May Sun>=8 2 1 D
--R AV 1946 1950 - O Sun>=2 2 0 S
--R AV 1951 1986 - Ap lastSun 2 1 D
--R AV 1951 1959 - S lastSun 2 0 S
--R AV 1960 1986 - O lastSun 2 0 S
--R AV 1987 o - Ap Sun>=1 0:1 1 D
--R AV 1987 2006 - O lastSun 0:1 0 S
--R AV 1988 o - Ap Sun>=1 0:1 2 DD
--R AV 1989 2006 - Ap Sun>=1 0:1 1 D
--R AV 2007 2011 - Mar Sun>=8 0:1 1 D
--R AV 2007 2010 - N Sun>=1 0:1 0 S
-+-6 u C%sT
-+R C 1918 o - Ap 14 2 1 D
-+R C 1918 o - O 27 2 0 S
-+R C 1942 o - F 9 2 1 W
-+R C 1945 o - Au 14 23u 1 P
-+R C 1945 o - S 30 2 0 S
-+R C 1974 1986 - Ap lastSun 2 1 D
-+R C 1974 2006 - O lastSun 2 0 S
-+R C 1987 2006 - Ap Sun>=1 2 1 D
-+R C 2007 ma - Mar Sun>=8 2 1 D
-+R C 2007 ma - N Sun>=1 2 0 S
-+R j 1917 o - Ap 8 2 1 D
-+R j 1917 o - S 17 2 0 S
-+R j 1919 o - May 5 23 1 D
-+R j 1919 o - Au 12 23 0 S
-+R j 1920 1935 - May Sun>=1 23 1 D
-+R j 1920 1935 - O lastSun 23 0 S
-+R j 1936 1941 - May M>=9 0 1 D
-+R j 1936 1941 - O M>=2 0 0 S
-+R j 1946 1950 - May Sun>=8 2 1 D
-+R j 1946 1950 - O Sun>=2 2 0 S
-+R j 1951 1986 - Ap lastSun 2 1 D
-+R j 1951 1959 - S lastSun 2 0 S
-+R j 1960 1986 - O lastSun 2 0 S
-+R j 1987 o - Ap Sun>=1 0:1 1 D
-+R j 1987 2006 - O lastSun 0:1 0 S
-+R j 1988 o - Ap Sun>=1 0:1 2 DD
-+R j 1989 2006 - Ap Sun>=1 0:1 1 D
-+R j 2007 2011 - Mar Sun>=8 0:1 1 D
-+R j 2007 2010 - N Sun>=1 0:1 0 S
- Z America/St_Johns -3:30:52 - LMT 1884
---3:30:52 AV N%sT 1918
---3:30:52 AU N%sT 1919
---3:30:52 AV N%sT 1935 Mar 30
---3:30 AV N%sT 1942 May 11
---3:30 AU N%sT 1946
---3:30 AV N%sT 2011 N
---3:30 AU N%sT
-+-3:30:52 j N%sT 1918
-+-3:30:52 C N%sT 1919
-+-3:30:52 j N%sT 1935 Mar 30
-+-3:30 j N%sT 1942 May 11
-+-3:30 C N%sT 1946
-+-3:30 j N%sT 2011 N
-+-3:30 C N%sT
- Z America/Goose_Bay -4:1:40 - LMT 1884
- -3:30:52 - NST 1918
---3:30:52 AU N%sT 1919
-+-3:30:52 C N%sT 1919
- -3:30:52 - NST 1935 Mar 30
- -3:30 - NST 1936
---3:30 AV N%sT 1942 May 11
---3:30 AU N%sT 1946
---3:30 AV N%sT 1966 Mar 15 2
---4 AV A%sT 2011 N
---4 AU A%sT
--R AW 1916 o - Ap 1 0 1 D
--R AW 1916 o - O 1 0 0 S
--R AW 1920 o - May 9 0 1 D
--R AW 1920 o - Au 29 0 0 S
--R AW 1921 o - May 6 0 1 D
--R AW 1921 1922 - S 5 0 0 S
--R AW 1922 o - Ap 30 0 1 D
--R AW 1923 1925 - May Sun>=1 0 1 D
--R AW 1923 o - S 4 0 0 S
--R AW 1924 o - S 15 0 0 S
--R AW 1925 o - S 28 0 0 S
--R AW 1926 o - May 16 0 1 D
--R AW 1926 o - S 13 0 0 S
--R AW 1927 o - May 1 0 1 D
--R AW 1927 o - S 26 0 0 S
--R AW 1928 1931 - May Sun>=8 0 1 D
--R AW 1928 o - S 9 0 0 S
--R AW 1929 o - S 3 0 0 S
--R AW 1930 o - S 15 0 0 S
--R AW 1931 1932 - S M>=24 0 0 S
--R AW 1932 o - May 1 0 1 D
--R AW 1933 o - Ap 30 0 1 D
--R AW 1933 o - O 2 0 0 S
--R AW 1934 o - May 20 0 1 D
--R AW 1934 o - S 16 0 0 S
--R AW 1935 o - Jun 2 0 1 D
--R AW 1935 o - S 30 0 0 S
--R AW 1936 o - Jun 1 0 1 D
--R AW 1936 o - S 14 0 0 S
--R AW 1937 1938 - May Sun>=1 0 1 D
--R AW 1937 1941 - S M>=24 0 0 S
--R AW 1939 o - May 28 0 1 D
--R AW 1940 1941 - May Sun>=1 0 1 D
--R AW 1946 1949 - Ap lastSun 2 1 D
--R AW 1946 1949 - S lastSun 2 0 S
--R AW 1951 1954 - Ap lastSun 2 1 D
--R AW 1951 1954 - S lastSun 2 0 S
--R AW 1956 1959 - Ap lastSun 2 1 D
--R AW 1956 1959 - S lastSun 2 0 S
--R AW 1962 1973 - Ap lastSun 2 1 D
--R AW 1962 1973 - O lastSun 2 0 S
-+-3:30 j N%sT 1942 May 11
-+-3:30 C N%sT 1946
-+-3:30 j N%sT 1966 Mar 15 2
-+-4 j A%sT 2011 N
-+-4 C A%sT
-+R H 1916 o - Ap 1 0 1 D
-+R H 1916 o - O 1 0 0 S
-+R H 1920 o - May 9 0 1 D
-+R H 1920 o - Au 29 0 0 S
-+R H 1921 o - May 6 0 1 D
-+R H 1921 1922 - S 5 0 0 S
-+R H 1922 o - Ap 30 0 1 D
-+R H 1923 1925 - May Sun>=1 0 1 D
-+R H 1923 o - S 4 0 0 S
-+R H 1924 o - S 15 0 0 S
-+R H 1925 o - S 28 0 0 S
-+R H 1926 o - May 16 0 1 D
-+R H 1926 o - S 13 0 0 S
-+R H 1927 o - May 1 0 1 D
-+R H 1927 o - S 26 0 0 S
-+R H 1928 1931 - May Sun>=8 0 1 D
-+R H 1928 o - S 9 0 0 S
-+R H 1929 o - S 3 0 0 S
-+R H 1930 o - S 15 0 0 S
-+R H 1931 1932 - S M>=24 0 0 S
-+R H 1932 o - May 1 0 1 D
-+R H 1933 o - Ap 30 0 1 D
-+R H 1933 o - O 2 0 0 S
-+R H 1934 o - May 20 0 1 D
-+R H 1934 o - S 16 0 0 S
-+R H 1935 o - Jun 2 0 1 D
-+R H 1935 o - S 30 0 0 S
-+R H 1936 o - Jun 1 0 1 D
-+R H 1936 o - S 14 0 0 S
-+R H 1937 1938 - May Sun>=1 0 1 D
-+R H 1937 1941 - S M>=24 0 0 S
-+R H 1939 o - May 28 0 1 D
-+R H 1940 1941 - May Sun>=1 0 1 D
-+R H 1946 1949 - Ap lastSun 2 1 D
-+R H 1946 1949 - S lastSun 2 0 S
-+R H 1951 1954 - Ap lastSun 2 1 D
-+R H 1951 1954 - S lastSun 2 0 S
-+R H 1956 1959 - Ap lastSun 2 1 D
-+R H 1956 1959 - S lastSun 2 0 S
-+R H 1962 1973 - Ap lastSun 2 1 D
-+R H 1962 1973 - O lastSun 2 0 S
- Z America/Halifax -4:14:24 - LMT 1902 Jun 15
---4 AW A%sT 1918
---4 AU A%sT 1919
---4 AW A%sT 1942 F 9 2s
---4 AU A%sT 1946
---4 AW A%sT 1974
---4 AU A%sT
-+-4 H A%sT 1918
-+-4 C A%sT 1919
-+-4 H A%sT 1942 F 9 2s
-+-4 C A%sT 1946
-+-4 H A%sT 1974
-+-4 C A%sT
- Z America/Glace_Bay -3:59:48 - LMT 1902 Jun 15
---4 AU A%sT 1953
---4 AW A%sT 1954
-+-4 C A%sT 1953
-+-4 H A%sT 1954
- -4 - AST 1972
---4 AW A%sT 1974
---4 AU A%sT
--R AX 1933 1935 - Jun Sun>=8 1 1 D
--R AX 1933 1935 - S Sun>=8 1 0 S
--R AX 1936 1938 - Jun Sun>=1 1 1 D
--R AX 1936 1938 - S Sun>=1 1 0 S
--R AX 1939 o - May 27 1 1 D
--R AX 1939 1941 - S Sat>=21 1 0 S
--R AX 1940 o - May 19 1 1 D
--R AX 1941 o - May 4 1 1 D
--R AX 1946 1972 - Ap lastSun 2 1 D
--R AX 1946 1956 - S lastSun 2 0 S
--R AX 1957 1972 - O lastSun 2 0 S
--R AX 1993 2006 - Ap Sun>=1 0:1 1 D
--R AX 1993 2006 - O lastSun 0:1 0 S
-+-4 H A%sT 1974
-+-4 C A%sT
-+R o 1933 1935 - Jun Sun>=8 1 1 D
-+R o 1933 1935 - S Sun>=8 1 0 S
-+R o 1936 1938 - Jun Sun>=1 1 1 D
-+R o 1936 1938 - S Sun>=1 1 0 S
-+R o 1939 o - May 27 1 1 D
-+R o 1939 1941 - S Sat>=21 1 0 S
-+R o 1940 o - May 19 1 1 D
-+R o 1941 o - May 4 1 1 D
-+R o 1946 1972 - Ap lastSun 2 1 D
-+R o 1946 1956 - S lastSun 2 0 S
-+R o 1957 1972 - O lastSun 2 0 S
-+R o 1993 2006 - Ap Sun>=1 0:1 1 D
-+R o 1993 2006 - O lastSun 0:1 0 S
- Z America/Moncton -4:19:8 - LMT 1883 D 9
- -5 - EST 1902 Jun 15
---4 AU A%sT 1933
---4 AX A%sT 1942
---4 AU A%sT 1946
---4 AX A%sT 1973
---4 AU A%sT 1993
---4 AX A%sT 2007
---4 AU A%sT
-+-4 C A%sT 1933
-+-4 o A%sT 1942
-+-4 C A%sT 1946
-+-4 o A%sT 1973
-+-4 C A%sT 1993
-+-4 o A%sT 2007
-+-4 C A%sT
- Z America/Blanc-Sablon -3:48:28 - LMT 1884
---4 AU A%sT 1970
-+-4 C A%sT 1970
- -4 - AST
--R AY 1919 o - Mar 30 23:30 1 D
--R AY 1919 o - O 26 0 0 S
--R AY 1920 o - May 2 2 1 D
--R AY 1920 o - S 26 0 0 S
--R AY 1921 o - May 15 2 1 D
--R AY 1921 o - S 15 2 0 S
--R AY 1922 1923 - May Sun>=8 2 1 D
--R AY 1922 1926 - S Sun>=15 2 0 S
--R AY 1924 1927 - May Sun>=1 2 1 D
--R AY 1927 1932 - S lastSun 2 0 S
--R AY 1928 1931 - Ap lastSun 2 1 D
--R AY 1932 o - May 1 2 1 D
--R AY 1933 1940 - Ap lastSun 2 1 D
--R AY 1933 o - O 1 2 0 S
--R AY 1934 1939 - S lastSun 2 0 S
--R AY 1945 1946 - S lastSun 2 0 S
--R AY 1946 o - Ap lastSun 2 1 D
--R AY 1947 1949 - Ap lastSun 0 1 D
--R AY 1947 1948 - S lastSun 0 0 S
--R AY 1949 o - N lastSun 0 0 S
--R AY 1950 1973 - Ap lastSun 2 1 D
--R AY 1950 o - N lastSun 2 0 S
--R AY 1951 1956 - S lastSun 2 0 S
--R AY 1957 1973 - O lastSun 2 0 S
-+R t 1919 o - Mar 30 23:30 1 D
-+R t 1919 o - O 26 0 0 S
-+R t 1920 o - May 2 2 1 D
-+R t 1920 o - S 26 0 0 S
-+R t 1921 o - May 15 2 1 D
-+R t 1921 o - S 15 2 0 S
-+R t 1922 1923 - May Sun>=8 2 1 D
-+R t 1922 1926 - S Sun>=15 2 0 S
-+R t 1924 1927 - May Sun>=1 2 1 D
-+R t 1927 1932 - S lastSun 2 0 S
-+R t 1928 1931 - Ap lastSun 2 1 D
-+R t 1932 o - May 1 2 1 D
-+R t 1933 1940 - Ap lastSun 2 1 D
-+R t 1933 o - O 1 2 0 S
-+R t 1934 1939 - S lastSun 2 0 S
-+R t 1945 1946 - S lastSun 2 0 S
-+R t 1946 o - Ap lastSun 2 1 D
-+R t 1947 1949 - Ap lastSun 0 1 D
-+R t 1947 1948 - S lastSun 0 0 S
-+R t 1949 o - N lastSun 0 0 S
-+R t 1950 1973 - Ap lastSun 2 1 D
-+R t 1950 o - N lastSun 2 0 S
-+R t 1951 1956 - S lastSun 2 0 S
-+R t 1957 1973 - O lastSun 2 0 S
- Z America/Toronto -5:17:32 - LMT 1895
---5 AU E%sT 1919
---5 AY E%sT 1942 F 9 2s
---5 AU E%sT 1946
---5 AY E%sT 1974
---5 AU E%sT
-+-5 C E%sT 1919
-+-5 t E%sT 1942 F 9 2s
-+-5 C E%sT 1946
-+-5 t E%sT 1974
-+-5 C E%sT
- Z America/Thunder_Bay -5:57 - LMT 1895
- -6 - CST 1910
- -5 - EST 1942
---5 AU E%sT 1970
---5 AY E%sT 1973
-+-5 C E%sT 1970
-+-5 t E%sT 1973
- -5 - EST 1974
---5 AU E%sT
-+-5 C E%sT
- Z America/Nipigon -5:53:4 - LMT 1895
---5 AU E%sT 1940 S 29
-+-5 C E%sT 1940 S 29
- -5 1 EDT 1942 F 9 2s
---5 AU E%sT
-+-5 C E%sT
- Z America/Rainy_River -6:18:16 - LMT 1895
---6 AU C%sT 1940 S 29
-+-6 C C%sT 1940 S 29
- -6 1 CDT 1942 F 9 2s
---6 AU C%sT
-+-6 C C%sT
- Z America/Atikokan -6:6:28 - LMT 1895
---6 AU C%sT 1940 S 29
-+-6 C C%sT 1940 S 29
- -6 1 CDT 1942 F 9 2s
---6 AU C%sT 1945 S 30 2
-+-6 C C%sT 1945 S 30 2
- -5 - EST
--R AZ 1916 o - Ap 23 0 1 D
--R AZ 1916 o - S 17 0 0 S
--R AZ 1918 o - Ap 14 2 1 D
--R AZ 1918 o - O 27 2 0 S
--R AZ 1937 o - May 16 2 1 D
--R AZ 1937 o - S 26 2 0 S
--R AZ 1942 o - F 9 2 1 W
--R AZ 1945 o - Au 14 23u 1 P
--R AZ 1945 o - S lastSun 2 0 S
--R AZ 1946 o - May 12 2 1 D
--R AZ 1946 o - O 13 2 0 S
--R AZ 1947 1949 - Ap lastSun 2 1 D
--R AZ 1947 1949 - S lastSun 2 0 S
--R AZ 1950 o - May 1 2 1 D
--R AZ 1950 o - S 30 2 0 S
--R AZ 1951 1960 - Ap lastSun 2 1 D
--R AZ 1951 1958 - S lastSun 2 0 S
--R AZ 1959 o - O lastSun 2 0 S
--R AZ 1960 o - S lastSun 2 0 S
--R AZ 1963 o - Ap lastSun 2 1 D
--R AZ 1963 o - S 22 2 0 S
--R AZ 1966 1986 - Ap lastSun 2s 1 D
--R AZ 1966 2005 - O lastSun 2s 0 S
--R AZ 1987 2005 - Ap Sun>=1 2s 1 D
-+R W 1916 o - Ap 23 0 1 D
-+R W 1916 o - S 17 0 0 S
-+R W 1918 o - Ap 14 2 1 D
-+R W 1918 o - O 27 2 0 S
-+R W 1937 o - May 16 2 1 D
-+R W 1937 o - S 26 2 0 S
-+R W 1942 o - F 9 2 1 W
-+R W 1945 o - Au 14 23u 1 P
-+R W 1945 o - S lastSun 2 0 S
-+R W 1946 o - May 12 2 1 D
-+R W 1946 o - O 13 2 0 S
-+R W 1947 1949 - Ap lastSun 2 1 D
-+R W 1947 1949 - S lastSun 2 0 S
-+R W 1950 o - May 1 2 1 D
-+R W 1950 o - S 30 2 0 S
-+R W 1951 1960 - Ap lastSun 2 1 D
-+R W 1951 1958 - S lastSun 2 0 S
-+R W 1959 o - O lastSun 2 0 S
-+R W 1960 o - S lastSun 2 0 S
-+R W 1963 o - Ap lastSun 2 1 D
-+R W 1963 o - S 22 2 0 S
-+R W 1966 1986 - Ap lastSun 2s 1 D
-+R W 1966 2005 - O lastSun 2s 0 S
-+R W 1987 2005 - Ap Sun>=1 2s 1 D
- Z America/Winnipeg -6:28:36 - LMT 1887 Jul 16
---6 AZ C%sT 2006
---6 AU C%sT
--R Aa 1918 o - Ap 14 2 1 D
--R Aa 1918 o - O 27 2 0 S
--R Aa 1930 1934 - May Sun>=1 0 1 D
--R Aa 1930 1934 - O Sun>=1 0 0 S
--R Aa 1937 1941 - Ap Sun>=8 0 1 D
--R Aa 1937 o - O Sun>=8 0 0 S
--R Aa 1938 o - O Sun>=1 0 0 S
--R Aa 1939 1941 - O Sun>=8 0 0 S
--R Aa 1942 o - F 9 2 1 W
--R Aa 1945 o - Au 14 23u 1 P
--R Aa 1945 o - S lastSun 2 0 S
--R Aa 1946 o - Ap Sun>=8 2 1 D
--R Aa 1946 o - O Sun>=8 2 0 S
--R Aa 1947 1957 - Ap lastSun 2 1 D
--R Aa 1947 1957 - S lastSun 2 0 S
--R Aa 1959 o - Ap lastSun 2 1 D
--R Aa 1959 o - O lastSun 2 0 S
--R Ab 1957 o - Ap lastSun 2 1 D
--R Ab 1957 o - O lastSun 2 0 S
--R Ab 1959 1961 - Ap lastSun 2 1 D
--R Ab 1959 o - O lastSun 2 0 S
--R Ab 1960 1961 - S lastSun 2 0 S
-+-6 W C%sT 2006
-+-6 C C%sT
-+R r 1918 o - Ap 14 2 1 D
-+R r 1918 o - O 27 2 0 S
-+R r 1930 1934 - May Sun>=1 0 1 D
-+R r 1930 1934 - O Sun>=1 0 0 S
-+R r 1937 1941 - Ap Sun>=8 0 1 D
-+R r 1937 o - O Sun>=8 0 0 S
-+R r 1938 o - O Sun>=1 0 0 S
-+R r 1939 1941 - O Sun>=8 0 0 S
-+R r 1942 o - F 9 2 1 W
-+R r 1945 o - Au 14 23u 1 P
-+R r 1945 o - S lastSun 2 0 S
-+R r 1946 o - Ap Sun>=8 2 1 D
-+R r 1946 o - O Sun>=8 2 0 S
-+R r 1947 1957 - Ap lastSun 2 1 D
-+R r 1947 1957 - S lastSun 2 0 S
-+R r 1959 o - Ap lastSun 2 1 D
-+R r 1959 o - O lastSun 2 0 S
-+R Sw 1957 o - Ap lastSun 2 1 D
-+R Sw 1957 o - O lastSun 2 0 S
-+R Sw 1959 1961 - Ap lastSun 2 1 D
-+R Sw 1959 o - O lastSun 2 0 S
-+R Sw 1960 1961 - S lastSun 2 0 S
- Z America/Regina -6:58:36 - LMT 1905 S
---7 Aa M%sT 1960 Ap lastSun 2
-+-7 r M%sT 1960 Ap lastSun 2
- -6 - CST
- Z America/Swift_Current -7:11:20 - LMT 1905 S
---7 AU M%sT 1946 Ap lastSun 2
---7 Aa M%sT 1950
---7 Ab M%sT 1972 Ap lastSun 2
-+-7 C M%sT 1946 Ap lastSun 2
-+-7 r M%sT 1950
-+-7 Sw M%sT 1972 Ap lastSun 2
- -6 - CST
--R Ac 1918 1919 - Ap Sun>=8 2 1 D
--R Ac 1918 o - O 27 2 0 S
--R Ac 1919 o - May 27 2 0 S
--R Ac 1920 1923 - Ap lastSun 2 1 D
--R Ac 1920 o - O lastSun 2 0 S
--R Ac 1921 1923 - S lastSun 2 0 S
--R Ac 1942 o - F 9 2 1 W
--R Ac 1945 o - Au 14 23u 1 P
--R Ac 1945 o - S lastSun 2 0 S
--R Ac 1947 o - Ap lastSun 2 1 D
--R Ac 1947 o - S lastSun 2 0 S
--R Ac 1967 o - Ap lastSun 2 1 D
--R Ac 1967 o - O lastSun 2 0 S
--R Ac 1969 o - Ap lastSun 2 1 D
--R Ac 1969 o - O lastSun 2 0 S
--R Ac 1972 1986 - Ap lastSun 2 1 D
--R Ac 1972 2006 - O lastSun 2 0 S
-+R Ed 1918 1919 - Ap Sun>=8 2 1 D
-+R Ed 1918 o - O 27 2 0 S
-+R Ed 1919 o - May 27 2 0 S
-+R Ed 1920 1923 - Ap lastSun 2 1 D
-+R Ed 1920 o - O lastSun 2 0 S
-+R Ed 1921 1923 - S lastSun 2 0 S
-+R Ed 1942 o - F 9 2 1 W
-+R Ed 1945 o - Au 14 23u 1 P
-+R Ed 1945 o - S lastSun 2 0 S
-+R Ed 1947 o - Ap lastSun 2 1 D
-+R Ed 1947 o - S lastSun 2 0 S
-+R Ed 1967 o - Ap lastSun 2 1 D
-+R Ed 1967 o - O lastSun 2 0 S
-+R Ed 1969 o - Ap lastSun 2 1 D
-+R Ed 1969 o - O lastSun 2 0 S
-+R Ed 1972 1986 - Ap lastSun 2 1 D
-+R Ed 1972 2006 - O lastSun 2 0 S
- Z America/Edmonton -7:33:52 - LMT 1906 S
---7 Ac M%sT 1987
---7 AU M%sT
--R Ad 1918 o - Ap 14 2 1 D
--R Ad 1918 o - O 27 2 0 S
--R Ad 1942 o - F 9 2 1 W
--R Ad 1945 o - Au 14 23u 1 P
--R Ad 1945 o - S 30 2 0 S
--R Ad 1946 1986 - Ap lastSun 2 1 D
--R Ad 1946 o - O 13 2 0 S
--R Ad 1947 1961 - S lastSun 2 0 S
--R Ad 1962 2006 - O lastSun 2 0 S
-+-7 Ed M%sT 1987
-+-7 C M%sT
-+R Va 1918 o - Ap 14 2 1 D
-+R Va 1918 o - O 27 2 0 S
-+R Va 1942 o - F 9 2 1 W
-+R Va 1945 o - Au 14 23u 1 P
-+R Va 1945 o - S 30 2 0 S
-+R Va 1946 1986 - Ap lastSun 2 1 D
-+R Va 1946 o - O 13 2 0 S
-+R Va 1947 1961 - S lastSun 2 0 S
-+R Va 1962 2006 - O lastSun 2 0 S
- Z America/Vancouver -8:12:28 - LMT 1884
---8 Ad P%sT 1987
---8 AU P%sT
-+-8 Va P%sT 1987
-+-8 C P%sT
- Z America/Dawson_Creek -8:0:56 - LMT 1884
---8 AU P%sT 1947
---8 Ad P%sT 1972 Au 30 2
-+-8 C P%sT 1947
-+-8 Va P%sT 1972 Au 30 2
- -7 - MST
- Z America/Fort_Nelson -8:10:47 - LMT 1884
---8 Ad P%sT 1946
-+-8 Va P%sT 1946
- -8 - PST 1947
---8 Ad P%sT 1987
---8 AU P%sT 2015 Mar 8 2
-+-8 Va P%sT 1987
-+-8 C P%sT 2015 Mar 8 2
- -7 - MST
- Z America/Creston -7:46:4 - LMT 1884
- -7 - MST 1916 O
- -8 - PST 1918 Jun 2
- -7 - MST
--R Ae 1918 o - Ap 14 2 1 D
--R Ae 1918 o - O 27 2 0 S
--R Ae 1919 o - May 25 2 1 D
--R Ae 1919 o - N 1 0 0 S
--R Ae 1942 o - F 9 2 1 W
--R Ae 1945 o - Au 14 23u 1 P
--R Ae 1945 o - S 30 2 0 S
--R Ae 1965 o - Ap lastSun 0 2 DD
--R Ae 1965 o - O lastSun 2 0 S
--R Ae 1980 1986 - Ap lastSun 2 1 D
--R Ae 1980 2006 - O lastSun 2 0 S
--R Ae 1987 2006 - Ap Sun>=1 2 1 D
-+R Y 1918 o - Ap 14 2 1 D
-+R Y 1918 o - O 27 2 0 S
-+R Y 1919 o - May 25 2 1 D
-+R Y 1919 o - N 1 0 0 S
-+R Y 1942 o - F 9 2 1 W
-+R Y 1945 o - Au 14 23u 1 P
-+R Y 1945 o - S 30 2 0 S
-+R Y 1965 o - Ap lastSun 0 2 DD
-+R Y 1965 o - O lastSun 2 0 S
-+R Y 1980 1986 - Ap lastSun 2 1 D
-+R Y 1980 2006 - O lastSun 2 0 S
-+R Y 1987 2006 - Ap Sun>=1 2 1 D
- Z America/Pangnirtung 0 - -00 1921
---4 Ae A%sT 1995 Ap Sun>=1 2
---5 AU E%sT 1999 O 31 2
---6 AU C%sT 2000 O 29 2
---5 AU E%sT
-+-4 Y A%sT 1995 Ap Sun>=1 2
-+-5 C E%sT 1999 O 31 2
-+-6 C C%sT 2000 O 29 2
-+-5 C E%sT
- Z America/Iqaluit 0 - -00 1942 Au
---5 Ae E%sT 1999 O 31 2
---6 AU C%sT 2000 O 29 2
---5 AU E%sT
-+-5 Y E%sT 1999 O 31 2
-+-6 C C%sT 2000 O 29 2
-+-5 C E%sT
- Z America/Resolute 0 - -00 1947 Au 31
---6 Ae C%sT 2000 O 29 2
-+-6 Y C%sT 2000 O 29 2
- -5 - EST 2001 Ap 1 3
---6 AU C%sT 2006 O 29 2
-+-6 C C%sT 2006 O 29 2
- -5 - EST 2007 Mar 11 3
---6 AU C%sT
-+-6 C C%sT
- Z America/Rankin_Inlet 0 - -00 1957
---6 Ae C%sT 2000 O 29 2
-+-6 Y C%sT 2000 O 29 2
- -5 - EST 2001 Ap 1 3
---6 AU C%sT
-+-6 C C%sT
- Z America/Cambridge_Bay 0 - -00 1920
---7 Ae M%sT 1999 O 31 2
---6 AU C%sT 2000 O 29 2
-+-7 Y M%sT 1999 O 31 2
-+-6 C C%sT 2000 O 29 2
- -5 - EST 2000 N 5
- -6 - CST 2001 Ap 1 3
---7 AU M%sT
-+-7 C M%sT
- Z America/Yellowknife 0 - -00 1935
---7 Ae M%sT 1980
---7 AU M%sT
-+-7 Y M%sT 1980
-+-7 C M%sT
- Z America/Inuvik 0 - -00 1953
---8 Ae P%sT 1979 Ap lastSun 2
---7 Ae M%sT 1980
---7 AU M%sT
-+-8 Y P%sT 1979 Ap lastSun 2
-+-7 Y M%sT 1980
-+-7 C M%sT
- Z America/Whitehorse -9:0:12 - LMT 1900 Au 20
---9 Ae Y%sT 1967 May 28
---8 Ae P%sT 1980
---8 AU P%sT
-+-9 Y Y%sT 1967 May 28
-+-8 Y P%sT 1980
-+-8 C P%sT
- Z America/Dawson -9:17:40 - LMT 1900 Au 20
---9 Ae Y%sT 1973 O 28
---8 Ae P%sT 1980
---8 AU P%sT
--R Af 1939 o - F 5 0 1 D
--R Af 1939 o - Jun 25 0 0 S
--R Af 1940 o - D 9 0 1 D
--R Af 1941 o - Ap 1 0 0 S
--R Af 1943 o - D 16 0 1 W
--R Af 1944 o - May 1 0 0 S
--R Af 1950 o - F 12 0 1 D
--R Af 1950 o - Jul 30 0 0 S
--R Af 1996 2000 - Ap Sun>=1 2 1 D
--R Af 1996 2000 - O lastSun 2 0 S
--R Af 2001 o - May Sun>=1 2 1 D
--R Af 2001 o - S lastSun 2 0 S
--R Af 2002 ma - Ap Sun>=1 2 1 D
--R Af 2002 ma - O lastSun 2 0 S
-+-9 Y Y%sT 1973 O 28
-+-8 Y P%sT 1980
-+-8 C P%sT
-+R m 1939 o - F 5 0 1 D
-+R m 1939 o - Jun 25 0 0 S
-+R m 1940 o - D 9 0 1 D
-+R m 1941 o - Ap 1 0 0 S
-+R m 1943 o - D 16 0 1 W
-+R m 1944 o - May 1 0 0 S
-+R m 1950 o - F 12 0 1 D
-+R m 1950 o - Jul 30 0 0 S
-+R m 1996 2000 - Ap Sun>=1 2 1 D
-+R m 1996 2000 - O lastSun 2 0 S
-+R m 2001 o - May Sun>=1 2 1 D
-+R m 2001 o - S lastSun 2 0 S
-+R m 2002 ma - Ap Sun>=1 2 1 D
-+R m 2002 ma - O lastSun 2 0 S
- Z America/Cancun -5:47:4 - LMT 1922 Ja 1 0:12:56
- -6 - CST 1981 D 23
---5 Af E%sT 1998 Au 2 2
---6 Af C%sT 2015 F 1 2
-+-5 m E%sT 1998 Au 2 2
-+-6 m C%sT 2015 F 1 2
- -5 - EST
- Z America/Merida -5:58:28 - LMT 1922 Ja 1 0:1:32
- -6 - CST 1981 D 23
- -5 - EST 1982 D 2
---6 Af C%sT
-+-6 m C%sT
- Z America/Matamoros -6:40 - LMT 1921 D 31 23:20
- -6 - CST 1988
---6 AF C%sT 1989
---6 Af C%sT 2010
---6 AF C%sT
-+-6 u C%sT 1989
-+-6 m C%sT 2010
-+-6 u C%sT
- Z America/Monterrey -6:41:16 - LMT 1921 D 31 23:18:44
- -6 - CST 1988
---6 AF C%sT 1989
---6 Af C%sT
-+-6 u C%sT 1989
-+-6 m C%sT
- Z America/Mexico_City -6:36:36 - LMT 1922 Ja 1 0:23:24
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
- -7 - MST 1931 May 1 23
- -6 - CST 1931 O
- -7 - MST 1932 Ap
---6 Af C%sT 2001 S 30 2
-+-6 m C%sT 2001 S 30 2
- -6 - CST 2002 F 20
---6 Af C%sT
-+-6 m C%sT
- Z America/Ojinaga -6:57:40 - LMT 1922 Ja 1 0:2:20
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
-@@ -3215,10 +3232,10 @@ Z America/Ojinaga -6:57:40 - LMT 1922 Ja 1 0:2:20
- -6 - CST 1931 O
- -7 - MST 1932 Ap
- -6 - CST 1996
---6 Af C%sT 1998
-+-6 m C%sT 1998
- -6 - CST 1998 Ap Sun>=1 3
---7 Af M%sT 2010
---7 AF M%sT
-+-7 m M%sT 2010
-+-7 u M%sT
- Z America/Chihuahua -7:4:20 - LMT 1921 D 31 23:55:40
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
-@@ -3226,9 +3243,9 @@ Z America/Chihuahua -7:4:20 - LMT 1921 D 31 23:55:40
- -6 - CST 1931 O
- -7 - MST 1932 Ap
- -6 - CST 1996
---6 Af C%sT 1998
-+-6 m C%sT 1998
- -6 - CST 1998 Ap Sun>=1 3
---7 Af M%sT
-+-7 m M%sT
- Z America/Hermosillo -7:23:52 - LMT 1921 D 31 23:36:8
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
-@@ -3238,7 +3255,7 @@ Z America/Hermosillo -7:23:52 - LMT 1921 D 31 23:36:8
- -6 - CST 1942 Ap 24
- -7 - MST 1949 Ja 14
- -8 - PST 1970
---7 Af M%sT 1999
-+-7 m M%sT 1999
- -7 - MST
- Z America/Mazatlan -7:5:40 - LMT 1921 D 31 23:54:20
- -7 - MST 1927 Jun 10 23
-@@ -3249,7 +3266,7 @@ Z America/Mazatlan -7:5:40 - LMT 1921 D 31 23:54:20
- -6 - CST 1942 Ap 24
- -7 - MST 1949 Ja 14
- -8 - PST 1970
---7 Af M%sT
-+-7 m M%sT
- Z America/Bahia_Banderas -7:1 - LMT 1921 D 31 23:59
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
-@@ -3259,8 +3276,8 @@ Z America/Bahia_Banderas -7:1 - LMT 1921 D 31 23:59
- -6 - CST 1942 Ap 24
- -7 - MST 1949 Ja 14
- -8 - PST 1970
---7 Af M%sT 2010 Ap 4 2
---6 Af C%sT
-+-7 m M%sT 2010 Ap 4 2
-+-6 m C%sT
- Z America/Tijuana -7:48:4 - LMT 1922 Ja 1 0:11:56
- -7 - MST 1924
- -8 - PST 1927 Jun 10 23
-@@ -3273,315 +3290,315 @@ Z America/Tijuana -7:48:4 - LMT 1922 Ja 1 0:11:56
- -8 - PST 1948 Ap 5
- -8 1 PDT 1949 Ja 14
- -8 - PST 1954
---8 AJ P%sT 1961
-+-8 CA P%sT 1961
- -8 - PST 1976
---8 AF P%sT 1996
---8 Af P%sT 2001
---8 AF P%sT 2002 F 20
---8 Af P%sT 2010
---8 AF P%sT
--R Ag 1964 1975 - O lastSun 2 0 S
--R Ag 1964 1975 - Ap lastSun 2 1 D
-+-8 u P%sT 1996
-+-8 m P%sT 2001
-+-8 u P%sT 2002 F 20
-+-8 m P%sT 2010
-+-8 u P%sT
-+R BS 1964 1975 - O lastSun 2 0 S
-+R BS 1964 1975 - Ap lastSun 2 1 D
- Z America/Nassau -5:9:30 - LMT 1912 Mar 2
---5 Ag E%sT 1976
---5 AF E%sT
--R Ah 1977 o - Jun 12 2 1 D
--R Ah 1977 1978 - O Sun>=1 2 0 S
--R Ah 1978 1980 - Ap Sun>=15 2 1 D
--R Ah 1979 o - S 30 2 0 S
--R Ah 1980 o - S 25 2 0 S
-+-5 BS E%sT 1976
-+-5 u E%sT
-+R BB 1977 o - Jun 12 2 1 D
-+R BB 1977 1978 - O Sun>=1 2 0 S
-+R BB 1978 1980 - Ap Sun>=15 2 1 D
-+R BB 1979 o - S 30 2 0 S
-+R BB 1980 o - S 25 2 0 S
- Z America/Barbados -3:58:29 - LMT 1924
- -3:58:29 - BMT 1932
---4 Ah A%sT
--R Ai 1918 1942 - O Sun>=2 0 0:30 -0530
--R Ai 1919 1943 - F Sun>=9 0 0 CST
--R Ai 1973 o - D 5 0 1 CDT
--R Ai 1974 o - F 9 0 0 CST
--R Ai 1982 o - D 18 0 1 CDT
--R Ai 1983 o - F 12 0 0 CST
-+-4 BB A%sT
-+R BZ 1918 1942 - O Sun>=2 0 0:30 -0530
-+R BZ 1919 1943 - F Sun>=9 0 0 CST
-+R BZ 1973 o - D 5 0 1 CDT
-+R BZ 1974 o - F 9 0 0 CST
-+R BZ 1982 o - D 18 0 1 CDT
-+R BZ 1983 o - F 12 0 0 CST
- Z America/Belize -5:52:48 - LMT 1912 Ap
---6 Ai %s
-+-6 BZ %s
- Z Atlantic/Bermuda -4:19:18 - LMT 1930 Ja 1 2
- -4 - AST 1974 Ap 28 2
---4 AU A%sT 1976
---4 AF A%sT
--R Aj 1979 1980 - F lastSun 0 1 D
--R Aj 1979 1980 - Jun Sun>=1 0 0 S
--R Aj 1991 1992 - Ja Sat>=15 0 1 D
--R Aj 1991 o - Jul 1 0 0 S
--R Aj 1992 o - Mar 15 0 0 S
-+-4 C A%sT 1976
-+-4 u A%sT
-+R CR 1979 1980 - F lastSun 0 1 D
-+R CR 1979 1980 - Jun Sun>=1 0 0 S
-+R CR 1991 1992 - Ja Sat>=15 0 1 D
-+R CR 1991 o - Jul 1 0 0 S
-+R CR 1992 o - Mar 15 0 0 S
- Z America/Costa_Rica -5:36:13 - LMT 1890
- -5:36:13 - SJMT 1921 Ja 15
---6 Aj C%sT
--R Ak 1928 o - Jun 10 0 1 D
--R Ak 1928 o - O 10 0 0 S
--R Ak 1940 1942 - Jun Sun>=1 0 1 D
--R Ak 1940 1942 - S Sun>=1 0 0 S
--R Ak 1945 1946 - Jun Sun>=1 0 1 D
--R Ak 1945 1946 - S Sun>=1 0 0 S
--R Ak 1965 o - Jun 1 0 1 D
--R Ak 1965 o - S 30 0 0 S
--R Ak 1966 o - May 29 0 1 D
--R Ak 1966 o - O 2 0 0 S
--R Ak 1967 o - Ap 8 0 1 D
--R Ak 1967 1968 - S Sun>=8 0 0 S
--R Ak 1968 o - Ap 14 0 1 D
--R Ak 1969 1977 - Ap lastSun 0 1 D
--R Ak 1969 1971 - O lastSun 0 0 S
--R Ak 1972 1974 - O 8 0 0 S
--R Ak 1975 1977 - O lastSun 0 0 S
--R Ak 1978 o - May 7 0 1 D
--R Ak 1978 1990 - O Sun>=8 0 0 S
--R Ak 1979 1980 - Mar Sun>=15 0 1 D
--R Ak 1981 1985 - May Sun>=5 0 1 D
--R Ak 1986 1989 - Mar Sun>=14 0 1 D
--R Ak 1990 1997 - Ap Sun>=1 0 1 D
--R Ak 1991 1995 - O Sun>=8 0s 0 S
--R Ak 1996 o - O 6 0s 0 S
--R Ak 1997 o - O 12 0s 0 S
--R Ak 1998 1999 - Mar lastSun 0s 1 D
--R Ak 1998 2003 - O lastSun 0s 0 S
--R Ak 2000 2003 - Ap Sun>=1 0s 1 D
--R Ak 2004 o - Mar lastSun 0s 1 D
--R Ak 2006 2010 - O lastSun 0s 0 S
--R Ak 2007 o - Mar Sun>=8 0s 1 D
--R Ak 2008 o - Mar Sun>=15 0s 1 D
--R Ak 2009 2010 - Mar Sun>=8 0s 1 D
--R Ak 2011 o - Mar Sun>=15 0s 1 D
--R Ak 2011 o - N 13 0s 0 S
--R Ak 2012 o - Ap 1 0s 1 D
--R Ak 2012 ma - N Sun>=1 0s 0 S
--R Ak 2013 ma - Mar Sun>=8 0s 1 D
-+-6 CR C%sT
-+R Q 1928 o - Jun 10 0 1 D
-+R Q 1928 o - O 10 0 0 S
-+R Q 1940 1942 - Jun Sun>=1 0 1 D
-+R Q 1940 1942 - S Sun>=1 0 0 S
-+R Q 1945 1946 - Jun Sun>=1 0 1 D
-+R Q 1945 1946 - S Sun>=1 0 0 S
-+R Q 1965 o - Jun 1 0 1 D
-+R Q 1965 o - S 30 0 0 S
-+R Q 1966 o - May 29 0 1 D
-+R Q 1966 o - O 2 0 0 S
-+R Q 1967 o - Ap 8 0 1 D
-+R Q 1967 1968 - S Sun>=8 0 0 S
-+R Q 1968 o - Ap 14 0 1 D
-+R Q 1969 1977 - Ap lastSun 0 1 D
-+R Q 1969 1971 - O lastSun 0 0 S
-+R Q 1972 1974 - O 8 0 0 S
-+R Q 1975 1977 - O lastSun 0 0 S
-+R Q 1978 o - May 7 0 1 D
-+R Q 1978 1990 - O Sun>=8 0 0 S
-+R Q 1979 1980 - Mar Sun>=15 0 1 D
-+R Q 1981 1985 - May Sun>=5 0 1 D
-+R Q 1986 1989 - Mar Sun>=14 0 1 D
-+R Q 1990 1997 - Ap Sun>=1 0 1 D
-+R Q 1991 1995 - O Sun>=8 0s 0 S
-+R Q 1996 o - O 6 0s 0 S
-+R Q 1997 o - O 12 0s 0 S
-+R Q 1998 1999 - Mar lastSun 0s 1 D
-+R Q 1998 2003 - O lastSun 0s 0 S
-+R Q 2000 2003 - Ap Sun>=1 0s 1 D
-+R Q 2004 o - Mar lastSun 0s 1 D
-+R Q 2006 2010 - O lastSun 0s 0 S
-+R Q 2007 o - Mar Sun>=8 0s 1 D
-+R Q 2008 o - Mar Sun>=15 0s 1 D
-+R Q 2009 2010 - Mar Sun>=8 0s 1 D
-+R Q 2011 o - Mar Sun>=15 0s 1 D
-+R Q 2011 o - N 13 0s 0 S
-+R Q 2012 o - Ap 1 0s 1 D
-+R Q 2012 ma - N Sun>=1 0s 0 S
-+R Q 2013 ma - Mar Sun>=8 0s 1 D
- Z America/Havana -5:29:28 - LMT 1890
- -5:29:36 - HMT 1925 Jul 19 12
---5 Ak C%sT
--R Al 1966 o - O 30 0 1 EDT
--R Al 1967 o - F 28 0 0 EST
--R Al 1969 1973 - O lastSun 0 0:30 -0430
--R Al 1970 o - F 21 0 0 EST
--R Al 1971 o - Ja 20 0 0 EST
--R Al 1972 1974 - Ja 21 0 0 EST
-+-5 Q C%sT
-+R DO 1966 o - O 30 0 1 EDT
-+R DO 1967 o - F 28 0 0 EST
-+R DO 1969 1973 - O lastSun 0 0:30 -0430
-+R DO 1970 o - F 21 0 0 EST
-+R DO 1971 o - Ja 20 0 0 EST
-+R DO 1972 1974 - Ja 21 0 0 EST
- Z America/Santo_Domingo -4:39:36 - LMT 1890
- -4:40 - SDMT 1933 Ap 1 12
---5 Al %s 1974 O 27
-+-5 DO %s 1974 O 27
- -4 - AST 2000 O 29 2
---5 AF E%sT 2000 D 3 1
-+-5 u E%sT 2000 D 3 1
- -4 - AST
--R Am 1987 1988 - May Sun>=1 0 1 D
--R Am 1987 1988 - S lastSun 0 0 S
-+R SV 1987 1988 - May Sun>=1 0 1 D
-+R SV 1987 1988 - S lastSun 0 0 S
- Z America/El_Salvador -5:56:48 - LMT 1921
---6 Am C%sT
--R An 1973 o - N 25 0 1 D
--R An 1974 o - F 24 0 0 S
--R An 1983 o - May 21 0 1 D
--R An 1983 o - S 22 0 0 S
--R An 1991 o - Mar 23 0 1 D
--R An 1991 o - S 7 0 0 S
--R An 2006 o - Ap 30 0 1 D
--R An 2006 o - O 1 0 0 S
-+-6 SV C%sT
-+R GT 1973 o - N 25 0 1 D
-+R GT 1974 o - F 24 0 0 S
-+R GT 1983 o - May 21 0 1 D
-+R GT 1983 o - S 22 0 0 S
-+R GT 1991 o - Mar 23 0 1 D
-+R GT 1991 o - S 7 0 0 S
-+R GT 2006 o - Ap 30 0 1 D
-+R GT 2006 o - O 1 0 0 S
- Z America/Guatemala -6:2:4 - LMT 1918 O 5
---6 An C%sT
--R Ao 1983 o - May 8 0 1 D
--R Ao 1984 1987 - Ap lastSun 0 1 D
--R Ao 1983 1987 - O lastSun 0 0 S
--R Ao 1988 1997 - Ap Sun>=1 1s 1 D
--R Ao 1988 1997 - O lastSun 1s 0 S
--R Ao 2005 2006 - Ap Sun>=1 0 1 D
--R Ao 2005 2006 - O lastSun 0 0 S
--R Ao 2012 2015 - Mar Sun>=8 2 1 D
--R Ao 2012 2015 - N Sun>=1 2 0 S
--R Ao 2017 ma - Mar Sun>=8 2 1 D
--R Ao 2017 ma - N Sun>=1 2 0 S
-+-6 GT C%sT
-+R HT 1983 o - May 8 0 1 D
-+R HT 1984 1987 - Ap lastSun 0 1 D
-+R HT 1983 1987 - O lastSun 0 0 S
-+R HT 1988 1997 - Ap Sun>=1 1s 1 D
-+R HT 1988 1997 - O lastSun 1s 0 S
-+R HT 2005 2006 - Ap Sun>=1 0 1 D
-+R HT 2005 2006 - O lastSun 0 0 S
-+R HT 2012 2015 - Mar Sun>=8 2 1 D
-+R HT 2012 2015 - N Sun>=1 2 0 S
-+R HT 2017 ma - Mar Sun>=8 2 1 D
-+R HT 2017 ma - N Sun>=1 2 0 S
- Z America/Port-au-Prince -4:49:20 - LMT 1890
- -4:49 - PPMT 1917 Ja 24 12
---5 Ao E%sT
--R Ap 1987 1988 - May Sun>=1 0 1 D
--R Ap 1987 1988 - S lastSun 0 0 S
--R Ap 2006 o - May Sun>=1 0 1 D
--R Ap 2006 o - Au M>=1 0 0 S
-+-5 HT E%sT
-+R HN 1987 1988 - May Sun>=1 0 1 D
-+R HN 1987 1988 - S lastSun 0 0 S
-+R HN 2006 o - May Sun>=1 0 1 D
-+R HN 2006 o - Au M>=1 0 0 S
- Z America/Tegucigalpa -5:48:52 - LMT 1921 Ap
---6 Ap C%sT
-+-6 HN C%sT
- Z America/Jamaica -5:7:10 - LMT 1890
- -5:7:10 - KMT 1912 F
- -5 - EST 1974
---5 AF E%sT 1984
-+-5 u E%sT 1984
- -5 - EST
- Z America/Martinique -4:4:20 - LMT 1890
- -4:4:20 - FFMT 1911 May
- -4 - AST 1980 Ap 6
- -4 1 ADT 1980 S 28
- -4 - AST
--R Aq 1979 1980 - Mar Sun>=16 0 1 D
--R Aq 1979 1980 - Jun M>=23 0 0 S
--R Aq 2005 o - Ap 10 0 1 D
--R Aq 2005 o - O Sun>=1 0 0 S
--R Aq 2006 o - Ap 30 2 1 D
--R Aq 2006 o - O Sun>=1 1 0 S
-+R NI 1979 1980 - Mar Sun>=16 0 1 D
-+R NI 1979 1980 - Jun M>=23 0 0 S
-+R NI 2005 o - Ap 10 0 1 D
-+R NI 2005 o - O Sun>=1 0 0 S
-+R NI 2006 o - Ap 30 2 1 D
-+R NI 2006 o - O Sun>=1 1 0 S
- Z America/Managua -5:45:8 - LMT 1890
- -5:45:12 - MMT 1934 Jun 23
- -6 - CST 1973 May
- -5 - EST 1975 F 16
---6 Aq C%sT 1992 Ja 1 4
-+-6 NI C%sT 1992 Ja 1 4
- -5 - EST 1992 S 24
- -6 - CST 1993
- -5 - EST 1997
---6 Aq C%sT
-+-6 NI C%sT
- Z America/Panama -5:18:8 - LMT 1890
- -5:19:36 - CMT 1908 Ap 22
- -5 - EST
- Li America/Panama America/Cayman
- Z America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12
- -4 - AST 1942 May 3
---4 AF A%sT 1946
-+-4 u A%sT 1946
- -4 - AST
- Z America/Miquelon -3:44:40 - LMT 1911 May 15
- -4 - AST 1980 May
- -3 - -03 1987
---3 AU -03/-02
-+-3 C -03/-02
- Z America/Grand_Turk -4:44:32 - LMT 1890
- -5:7:10 - KMT 1912 F
- -5 - EST 1979
---5 AF E%sT 2015 N Sun>=1 2
-+-5 u E%sT 2015 N Sun>=1 2
- -4 - AST 2018 Mar 11 3
---5 AF E%sT
--R Ar 1930 o - D 1 0 1 -
--R Ar 1931 o - Ap 1 0 0 -
--R Ar 1931 o - O 15 0 1 -
--R Ar 1932 1940 - Mar 1 0 0 -
--R Ar 1932 1939 - N 1 0 1 -
--R Ar 1940 o - Jul 1 0 1 -
--R Ar 1941 o - Jun 15 0 0 -
--R Ar 1941 o - O 15 0 1 -
--R Ar 1943 o - Au 1 0 0 -
--R Ar 1943 o - O 15 0 1 -
--R Ar 1946 o - Mar 1 0 0 -
--R Ar 1946 o - O 1 0 1 -
--R Ar 1963 o - O 1 0 0 -
--R Ar 1963 o - D 15 0 1 -
--R Ar 1964 1966 - Mar 1 0 0 -
--R Ar 1964 1966 - O 15 0 1 -
--R Ar 1967 o - Ap 2 0 0 -
--R Ar 1967 1968 - O Sun>=1 0 1 -
--R Ar 1968 1969 - Ap Sun>=1 0 0 -
--R Ar 1974 o - Ja 23 0 1 -
--R Ar 1974 o - May 1 0 0 -
--R Ar 1988 o - D 1 0 1 -
--R Ar 1989 1993 - Mar Sun>=1 0 0 -
--R Ar 1989 1992 - O Sun>=15 0 1 -
--R Ar 1999 o - O Sun>=1 0 1 -
--R Ar 2000 o - Mar 3 0 0 -
--R Ar 2007 o - D 30 0 1 -
--R Ar 2008 2009 - Mar Sun>=15 0 0 -
--R Ar 2008 o - O Sun>=15 0 1 -
-+-5 u E%sT
-+R A 1930 o - D 1 0 1 -
-+R A 1931 o - Ap 1 0 0 -
-+R A 1931 o - O 15 0 1 -
-+R A 1932 1940 - Mar 1 0 0 -
-+R A 1932 1939 - N 1 0 1 -
-+R A 1940 o - Jul 1 0 1 -
-+R A 1941 o - Jun 15 0 0 -
-+R A 1941 o - O 15 0 1 -
-+R A 1943 o - Au 1 0 0 -
-+R A 1943 o - O 15 0 1 -
-+R A 1946 o - Mar 1 0 0 -
-+R A 1946 o - O 1 0 1 -
-+R A 1963 o - O 1 0 0 -
-+R A 1963 o - D 15 0 1 -
-+R A 1964 1966 - Mar 1 0 0 -
-+R A 1964 1966 - O 15 0 1 -
-+R A 1967 o - Ap 2 0 0 -
-+R A 1967 1968 - O Sun>=1 0 1 -
-+R A 1968 1969 - Ap Sun>=1 0 0 -
-+R A 1974 o - Ja 23 0 1 -
-+R A 1974 o - May 1 0 0 -
-+R A 1988 o - D 1 0 1 -
-+R A 1989 1993 - Mar Sun>=1 0 0 -
-+R A 1989 1992 - O Sun>=15 0 1 -
-+R A 1999 o - O Sun>=1 0 1 -
-+R A 2000 o - Mar 3 0 0 -
-+R A 2007 o - D 30 0 1 -
-+R A 2008 2009 - Mar Sun>=15 0 0 -
-+R A 2008 o - O Sun>=15 0 1 -
- Z America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
---3 Ar -03/-02
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
-+-3 A -03/-02
- Z America/Argentina/Cordoba -4:16:48 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar 3
- -4 - -04 1991 O 20
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
---3 Ar -03/-02
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
-+-3 A -03/-02
- Z America/Argentina/Salta -4:21:40 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar 3
- -4 - -04 1991 O 20
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Tucuman -4:20:52 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar 3
- -4 - -04 1991 O 20
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 Jun
- -4 - -04 2004 Jun 13
---3 Ar -03/-02
-+-3 A -03/-02
- Z America/Argentina/La_Rioja -4:27:24 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar
- -4 - -04 1991 May 7
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 Jun
- -4 - -04 2004 Jun 20
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/San_Juan -4:34:4 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar
- -4 - -04 1991 May 7
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 May 31
- -4 - -04 2004 Jul 25
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Jujuy -4:21:12 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1990 Mar 4
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1990 Mar 4
- -4 - -04 1990 O 28
- -4 1 -03 1991 Mar 17
- -4 - -04 1991 O 6
- -3 1 -02 1992
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Catamarca -4:23:8 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar 3
- -4 - -04 1991 O 20
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 Jun
- -4 - -04 2004 Jun 20
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Mendoza -4:35:16 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1990 Mar 4
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1990 Mar 4
- -4 - -04 1990 O 15
- -4 1 -03 1991 Mar
- -4 - -04 1991 O 15
- -4 1 -03 1992 Mar
- -4 - -04 1992 O 18
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 May 23
- -4 - -04 2004 S 26
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
--R As 2008 2009 - Mar Sun>=8 0 0 -
--R As 2007 2008 - O Sun>=8 0 1 -
-+R Sa 2008 2009 - Mar Sun>=8 0 0 -
-+R Sa 2007 2008 - O Sun>=8 0 1 -
- Z America/Argentina/San_Luis -4:25:24 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1990
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1990
- -3 1 -02 1990 Mar 14
- -4 - -04 1990 O 15
- -4 1 -03 1991 Mar
-@@ -3590,286 +3607,288 @@ Z America/Argentina/San_Luis -4:25:24 - LMT 1894 O 31
- -4 1 -03 2000 Mar 3
- -3 - -03 2004 May 31
- -4 - -04 2004 Jul 25
---3 Ar -03/-02 2008 Ja 21
---4 As -04/-03 2009 O 11
-+-3 A -03/-02 2008 Ja 21
-+-4 Sa -04/-03 2009 O 11
- -3 - -03
- Z America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 Jun
- -4 - -04 2004 Jun 20
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Ushuaia -4:33:12 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 May 30
- -4 - -04 2004 Jun 20
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Li America/Curacao America/Aruba
- Z America/La_Paz -4:32:36 - LMT 1890
- -4:32:36 - CMT 1931 O 15
- -4:32:36 1 BST 1932 Mar 21
- -4 - -04
--R At 1931 o - O 3 11 1 -
--R At 1932 1933 - Ap 1 0 0 -
--R At 1932 o - O 3 0 1 -
--R At 1949 1952 - D 1 0 1 -
--R At 1950 o - Ap 16 1 0 -
--R At 1951 1952 - Ap 1 0 0 -
--R At 1953 o - Mar 1 0 0 -
--R At 1963 o - D 9 0 1 -
--R At 1964 o - Mar 1 0 0 -
--R At 1965 o - Ja 31 0 1 -
--R At 1965 o - Mar 31 0 0 -
--R At 1965 o - D 1 0 1 -
--R At 1966 1968 - Mar 1 0 0 -
--R At 1966 1967 - N 1 0 1 -
--R At 1985 o - N 2 0 1 -
--R At 1986 o - Mar 15 0 0 -
--R At 1986 o - O 25 0 1 -
--R At 1987 o - F 14 0 0 -
--R At 1987 o - O 25 0 1 -
--R At 1988 o - F 7 0 0 -
--R At 1988 o - O 16 0 1 -
--R At 1989 o - Ja 29 0 0 -
--R At 1989 o - O 15 0 1 -
--R At 1990 o - F 11 0 0 -
--R At 1990 o - O 21 0 1 -
--R At 1991 o - F 17 0 0 -
--R At 1991 o - O 20 0 1 -
--R At 1992 o - F 9 0 0 -
--R At 1992 o - O 25 0 1 -
--R At 1993 o - Ja 31 0 0 -
--R At 1993 1995 - O Sun>=11 0 1 -
--R At 1994 1995 - F Sun>=15 0 0 -
--R At 1996 o - F 11 0 0 -
--R At 1996 o - O 6 0 1 -
--R At 1997 o - F 16 0 0 -
--R At 1997 o - O 6 0 1 -
--R At 1998 o - Mar 1 0 0 -
--R At 1998 o - O 11 0 1 -
--R At 1999 o - F 21 0 0 -
--R At 1999 o - O 3 0 1 -
--R At 2000 o - F 27 0 0 -
--R At 2000 2001 - O Sun>=8 0 1 -
--R At 2001 2006 - F Sun>=15 0 0 -
--R At 2002 o - N 3 0 1 -
--R At 2003 o - O 19 0 1 -
--R At 2004 o - N 2 0 1 -
--R At 2005 o - O 16 0 1 -
--R At 2006 o - N 5 0 1 -
--R At 2007 o - F 25 0 0 -
--R At 2007 o - O Sun>=8 0 1 -
--R At 2008 2017 - O Sun>=15 0 1 -
--R At 2008 2011 - F Sun>=15 0 0 -
--R At 2012 o - F Sun>=22 0 0 -
--R At 2013 2014 - F Sun>=15 0 0 -
--R At 2015 o - F Sun>=22 0 0 -
--R At 2016 2022 - F Sun>=15 0 0 -
--R At 2018 ma - N Sun>=1 0 1 -
--R At 2023 o - F Sun>=22 0 0 -
--R At 2024 2025 - F Sun>=15 0 0 -
--R At 2026 o - F Sun>=22 0 0 -
--R At 2027 2033 - F Sun>=15 0 0 -
--R At 2034 o - F Sun>=22 0 0 -
--R At 2035 2036 - F Sun>=15 0 0 -
--R At 2037 o - F Sun>=22 0 0 -
--R At 2038 ma - F Sun>=15 0 0 -
-+R B 1931 o - O 3 11 1 -
-+R B 1932 1933 - Ap 1 0 0 -
-+R B 1932 o - O 3 0 1 -
-+R B 1949 1952 - D 1 0 1 -
-+R B 1950 o - Ap 16 1 0 -
-+R B 1951 1952 - Ap 1 0 0 -
-+R B 1953 o - Mar 1 0 0 -
-+R B 1963 o - D 9 0 1 -
-+R B 1964 o - Mar 1 0 0 -
-+R B 1965 o - Ja 31 0 1 -
-+R B 1965 o - Mar 31 0 0 -
-+R B 1965 o - D 1 0 1 -
-+R B 1966 1968 - Mar 1 0 0 -
-+R B 1966 1967 - N 1 0 1 -
-+R B 1985 o - N 2 0 1 -
-+R B 1986 o - Mar 15 0 0 -
-+R B 1986 o - O 25 0 1 -
-+R B 1987 o - F 14 0 0 -
-+R B 1987 o - O 25 0 1 -
-+R B 1988 o - F 7 0 0 -
-+R B 1988 o - O 16 0 1 -
-+R B 1989 o - Ja 29 0 0 -
-+R B 1989 o - O 15 0 1 -
-+R B 1990 o - F 11 0 0 -
-+R B 1990 o - O 21 0 1 -
-+R B 1991 o - F 17 0 0 -
-+R B 1991 o - O 20 0 1 -
-+R B 1992 o - F 9 0 0 -
-+R B 1992 o - O 25 0 1 -
-+R B 1993 o - Ja 31 0 0 -
-+R B 1993 1995 - O Sun>=11 0 1 -
-+R B 1994 1995 - F Sun>=15 0 0 -
-+R B 1996 o - F 11 0 0 -
-+R B 1996 o - O 6 0 1 -
-+R B 1997 o - F 16 0 0 -
-+R B 1997 o - O 6 0 1 -
-+R B 1998 o - Mar 1 0 0 -
-+R B 1998 o - O 11 0 1 -
-+R B 1999 o - F 21 0 0 -
-+R B 1999 o - O 3 0 1 -
-+R B 2000 o - F 27 0 0 -
-+R B 2000 2001 - O Sun>=8 0 1 -
-+R B 2001 2006 - F Sun>=15 0 0 -
-+R B 2002 o - N 3 0 1 -
-+R B 2003 o - O 19 0 1 -
-+R B 2004 o - N 2 0 1 -
-+R B 2005 o - O 16 0 1 -
-+R B 2006 o - N 5 0 1 -
-+R B 2007 o - F 25 0 0 -
-+R B 2007 o - O Sun>=8 0 1 -
-+R B 2008 2017 - O Sun>=15 0 1 -
-+R B 2008 2011 - F Sun>=15 0 0 -
-+R B 2012 o - F Sun>=22 0 0 -
-+R B 2013 2014 - F Sun>=15 0 0 -
-+R B 2015 o - F Sun>=22 0 0 -
-+R B 2016 2022 - F Sun>=15 0 0 -
-+R B 2018 ma - N Sun>=1 0 1 -
-+R B 2023 o - F Sun>=22 0 0 -
-+R B 2024 2025 - F Sun>=15 0 0 -
-+R B 2026 o - F Sun>=22 0 0 -
-+R B 2027 2033 - F Sun>=15 0 0 -
-+R B 2034 o - F Sun>=22 0 0 -
-+R B 2035 2036 - F Sun>=15 0 0 -
-+R B 2037 o - F Sun>=22 0 0 -
-+R B 2038 ma - F Sun>=15 0 0 -
- Z America/Noronha -2:9:40 - LMT 1914
---2 At -02/-01 1990 S 17
-+-2 B -02/-01 1990 S 17
- -2 - -02 1999 S 30
---2 At -02/-01 2000 O 15
-+-2 B -02/-01 2000 O 15
- -2 - -02 2001 S 13
---2 At -02/-01 2002 O
-+-2 B -02/-01 2002 O
- -2 - -02
- Z America/Belem -3:13:56 - LMT 1914
---3 At -03/-02 1988 S 12
-+-3 B -03/-02 1988 S 12
- -3 - -03
- Z America/Santarem -3:38:48 - LMT 1914
---4 At -04/-03 1988 S 12
-+-4 B -04/-03 1988 S 12
- -4 - -04 2008 Jun 24
- -3 - -03
- Z America/Fortaleza -2:34 - LMT 1914
---3 At -03/-02 1990 S 17
-+-3 B -03/-02 1990 S 17
- -3 - -03 1999 S 30
---3 At -03/-02 2000 O 22
-+-3 B -03/-02 2000 O 22
- -3 - -03 2001 S 13
---3 At -03/-02 2002 O
-+-3 B -03/-02 2002 O
- -3 - -03
- Z America/Recife -2:19:36 - LMT 1914
---3 At -03/-02 1990 S 17
-+-3 B -03/-02 1990 S 17
- -3 - -03 1999 S 30
---3 At -03/-02 2000 O 15
-+-3 B -03/-02 2000 O 15
- -3 - -03 2001 S 13
---3 At -03/-02 2002 O
-+-3 B -03/-02 2002 O
- -3 - -03
- Z America/Araguaina -3:12:48 - LMT 1914
---3 At -03/-02 1990 S 17
-+-3 B -03/-02 1990 S 17
- -3 - -03 1995 S 14
---3 At -03/-02 2003 S 24
-+-3 B -03/-02 2003 S 24
- -3 - -03 2012 O 21
---3 At -03/-02 2013 S
-+-3 B -03/-02 2013 S
- -3 - -03
- Z America/Maceio -2:22:52 - LMT 1914
---3 At -03/-02 1990 S 17
-+-3 B -03/-02 1990 S 17
- -3 - -03 1995 O 13
---3 At -03/-02 1996 S 4
-+-3 B -03/-02 1996 S 4
- -3 - -03 1999 S 30
---3 At -03/-02 2000 O 22
-+-3 B -03/-02 2000 O 22
- -3 - -03 2001 S 13
---3 At -03/-02 2002 O
-+-3 B -03/-02 2002 O
- -3 - -03
- Z America/Bahia -2:34:4 - LMT 1914
---3 At -03/-02 2003 S 24
-+-3 B -03/-02 2003 S 24
- -3 - -03 2011 O 16
---3 At -03/-02 2012 O 21
-+-3 B -03/-02 2012 O 21
- -3 - -03
- Z America/Sao_Paulo -3:6:28 - LMT 1914
---3 At -03/-02 1963 O 23
-+-3 B -03/-02 1963 O 23
- -3 1 -02 1964
---3 At -03/-02
-+-3 B -03/-02
- Z America/Campo_Grande -3:38:28 - LMT 1914
---4 At -04/-03
-+-4 B -04/-03
- Z America/Cuiaba -3:44:20 - LMT 1914
---4 At -04/-03 2003 S 24
-+-4 B -04/-03 2003 S 24
- -4 - -04 2004 O
---4 At -04/-03
-+-4 B -04/-03
- Z America/Porto_Velho -4:15:36 - LMT 1914
---4 At -04/-03 1988 S 12
-+-4 B -04/-03 1988 S 12
- -4 - -04
- Z America/Boa_Vista -4:2:40 - LMT 1914
---4 At -04/-03 1988 S 12
-+-4 B -04/-03 1988 S 12
- -4 - -04 1999 S 30
---4 At -04/-03 2000 O 15
-+-4 B -04/-03 2000 O 15
- -4 - -04
- Z America/Manaus -4:0:4 - LMT 1914
---4 At -04/-03 1988 S 12
-+-4 B -04/-03 1988 S 12
- -4 - -04 1993 S 28
---4 At -04/-03 1994 S 22
-+-4 B -04/-03 1994 S 22
- -4 - -04
- Z America/Eirunepe -4:39:28 - LMT 1914
---5 At -05/-04 1988 S 12
-+-5 B -05/-04 1988 S 12
- -5 - -05 1993 S 28
---5 At -05/-04 1994 S 22
-+-5 B -05/-04 1994 S 22
- -5 - -05 2008 Jun 24
- -4 - -04 2013 N 10
- -5 - -05
- Z America/Rio_Branco -4:31:12 - LMT 1914
---5 At -05/-04 1988 S 12
-+-5 B -05/-04 1988 S 12
- -5 - -05 2008 Jun 24
- -4 - -04 2013 N 10
- -5 - -05
--R Au 1927 1931 - S 1 0 1 -
--R Au 1928 1932 - Ap 1 0 0 -
--R Au 1968 o - N 3 4u 1 -
--R Au 1969 o - Mar 30 3u 0 -
--R Au 1969 o - N 23 4u 1 -
--R Au 1970 o - Mar 29 3u 0 -
--R Au 1971 o - Mar 14 3u 0 -
--R Au 1970 1972 - O Sun>=9 4u 1 -
--R Au 1972 1986 - Mar Sun>=9 3u 0 -
--R Au 1973 o - S 30 4u 1 -
--R Au 1974 1987 - O Sun>=9 4u 1 -
--R Au 1987 o - Ap 12 3u 0 -
--R Au 1988 1990 - Mar Sun>=9 3u 0 -
--R Au 1988 1989 - O Sun>=9 4u 1 -
--R Au 1990 o - S 16 4u 1 -
--R Au 1991 1996 - Mar Sun>=9 3u 0 -
--R Au 1991 1997 - O Sun>=9 4u 1 -
--R Au 1997 o - Mar 30 3u 0 -
--R Au 1998 o - Mar Sun>=9 3u 0 -
--R Au 1998 o - S 27 4u 1 -
--R Au 1999 o - Ap 4 3u 0 -
--R Au 1999 2010 - O Sun>=9 4u 1 -
--R Au 2000 2007 - Mar Sun>=9 3u 0 -
--R Au 2008 o - Mar 30 3u 0 -
--R Au 2009 o - Mar Sun>=9 3u 0 -
--R Au 2010 o - Ap Sun>=1 3u 0 -
--R Au 2011 o - May Sun>=2 3u 0 -
--R Au 2011 o - Au Sun>=16 4u 1 -
--R Au 2012 2014 - Ap Sun>=23 3u 0 -
--R Au 2012 2014 - S Sun>=2 4u 1 -
--R Au 2016 ma - May Sun>=9 3u 0 -
--R Au 2016 ma - Au Sun>=9 4u 1 -
-+R x 1927 1931 - S 1 0 1 -
-+R x 1928 1932 - Ap 1 0 0 -
-+R x 1968 o - N 3 4u 1 -
-+R x 1969 o - Mar 30 3u 0 -
-+R x 1969 o - N 23 4u 1 -
-+R x 1970 o - Mar 29 3u 0 -
-+R x 1971 o - Mar 14 3u 0 -
-+R x 1970 1972 - O Sun>=9 4u 1 -
-+R x 1972 1986 - Mar Sun>=9 3u 0 -
-+R x 1973 o - S 30 4u 1 -
-+R x 1974 1987 - O Sun>=9 4u 1 -
-+R x 1987 o - Ap 12 3u 0 -
-+R x 1988 1990 - Mar Sun>=9 3u 0 -
-+R x 1988 1989 - O Sun>=9 4u 1 -
-+R x 1990 o - S 16 4u 1 -
-+R x 1991 1996 - Mar Sun>=9 3u 0 -
-+R x 1991 1997 - O Sun>=9 4u 1 -
-+R x 1997 o - Mar 30 3u 0 -
-+R x 1998 o - Mar Sun>=9 3u 0 -
-+R x 1998 o - S 27 4u 1 -
-+R x 1999 o - Ap 4 3u 0 -
-+R x 1999 2010 - O Sun>=9 4u 1 -
-+R x 2000 2007 - Mar Sun>=9 3u 0 -
-+R x 2008 o - Mar 30 3u 0 -
-+R x 2009 o - Mar Sun>=9 3u 0 -
-+R x 2010 o - Ap Sun>=1 3u 0 -
-+R x 2011 o - May Sun>=2 3u 0 -
-+R x 2011 o - Au Sun>=16 4u 1 -
-+R x 2012 2014 - Ap Sun>=23 3u 0 -
-+R x 2012 2014 - S Sun>=2 4u 1 -
-+R x 2016 2018 - May Sun>=9 3u 0 -
-+R x 2016 2018 - Au Sun>=9 4u 1 -
-+R x 2019 ma - Ap Sun>=2 3u 0 -
-+R x 2019 ma - S Sun>=2 4u 1 -
- Z America/Santiago -4:42:46 - LMT 1890
- -4:42:46 - SMT 1910 Ja 10
- -5 - -05 1916 Jul
- -4:42:46 - SMT 1918 S 10
- -4 - -04 1919 Jul
- -4:42:46 - SMT 1927 S
---5 Au -05/-04 1932 S
-+-5 x -05/-04 1932 S
- -4 - -04 1942 Jun
- -5 - -05 1942 Au
- -4 - -04 1946 Jul 15
- -4 1 -03 1946 S
- -4 - -04 1947 Ap
- -5 - -05 1947 May 21 23
---4 Au -04/-03
-+-4 x -04/-03
- Z America/Punta_Arenas -4:43:40 - LMT 1890
- -4:42:46 - SMT 1910 Ja 10
- -5 - -05 1916 Jul
- -4:42:46 - SMT 1918 S 10
- -4 - -04 1919 Jul
- -4:42:46 - SMT 1927 S
---5 Au -05/-04 1932 S
-+-5 x -05/-04 1932 S
- -4 - -04 1942 Jun
- -5 - -05 1942 Au
- -4 - -04 1947 Ap
- -5 - -05 1947 May 21 23
---4 Au -04/-03 2016 D 4
-+-4 x -04/-03 2016 D 4
- -3 - -03
- Z Pacific/Easter -7:17:28 - LMT 1890
- -7:17:28 - EMT 1932 S
---7 Au -07/-06 1982 Mar 14 3u
---6 Au -06/-05
-+-7 x -07/-06 1982 Mar 14 3u
-+-6 x -06/-05
- Z Antarctica/Palmer 0 - -00 1965
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1982 May
---4 Au -04/-03 2016 D 4
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1982 May
-+-4 x -04/-03 2016 D 4
- -3 - -03
--R Av 1992 o - May 3 0 1 -
--R Av 1993 o - Ap 4 0 0 -
-+R CO 1992 o - May 3 0 1 -
-+R CO 1993 o - Ap 4 0 0 -
- Z America/Bogota -4:56:16 - LMT 1884 Mar 13
- -4:56:16 - BMT 1914 N 23
---5 Av -05/-04
-+-5 CO -05/-04
- Z America/Curacao -4:35:47 - LMT 1912 F 12
- -4:30 - -0430 1965
- -4 - AST
- Li America/Curacao America/Lower_Princes
- Li America/Curacao America/Kralendijk
--R Aw 1992 o - N 28 0 1 -
--R Aw 1993 o - F 5 0 0 -
-+R EC 1992 o - N 28 0 1 -
-+R EC 1993 o - F 5 0 0 -
- Z America/Guayaquil -5:19:20 - LMT 1890
- -5:14 - QMT 1931
---5 Aw -05/-04
-+-5 EC -05/-04
- Z Pacific/Galapagos -5:58:24 - LMT 1931
- -5 - -05 1986
---6 Aw -06/-05
--R Ax 1937 1938 - S lastSun 0 1 -
--R Ax 1938 1942 - Mar Sun>=19 0 0 -
--R Ax 1939 o - O 1 0 1 -
--R Ax 1940 1942 - S lastSun 0 1 -
--R Ax 1943 o - Ja 1 0 0 -
--R Ax 1983 o - S lastSun 0 1 -
--R Ax 1984 1985 - Ap lastSun 0 0 -
--R Ax 1984 o - S 16 0 1 -
--R Ax 1985 2000 - S Sun>=9 0 1 -
--R Ax 1986 2000 - Ap Sun>=16 0 0 -
--R Ax 2001 2010 - Ap Sun>=15 2 0 -
--R Ax 2001 2010 - S Sun>=1 2 1 -
-+-6 EC -06/-05
-+R FK 1937 1938 - S lastSun 0 1 -
-+R FK 1938 1942 - Mar Sun>=19 0 0 -
-+R FK 1939 o - O 1 0 1 -
-+R FK 1940 1942 - S lastSun 0 1 -
-+R FK 1943 o - Ja 1 0 0 -
-+R FK 1983 o - S lastSun 0 1 -
-+R FK 1984 1985 - Ap lastSun 0 0 -
-+R FK 1984 o - S 16 0 1 -
-+R FK 1985 2000 - S Sun>=9 0 1 -
-+R FK 1986 2000 - Ap Sun>=16 0 0 -
-+R FK 2001 2010 - Ap Sun>=15 2 0 -
-+R FK 2001 2010 - S Sun>=1 2 1 -
- Z Atlantic/Stanley -3:51:24 - LMT 1890
- -3:51:24 - SMT 1912 Mar 12
---4 Ax -04/-03 1983 May
---3 Ax -03/-02 1985 S 15
---4 Ax -04/-03 2010 S 5 2
-+-4 FK -04/-03 1983 May
-+-3 FK -03/-02 1985 S 15
-+-4 FK -04/-03 2010 S 5 2
- -3 - -03
- Z America/Cayenne -3:29:20 - LMT 1911 Jul
- -4 - -04 1967 O
-@@ -3878,46 +3897,46 @@ Z America/Guyana -3:52:40 - LMT 1915 Mar
- -3:45 - -0345 1975 Jul 31
- -3 - -03 1991
- -4 - -04
--R Ay 1975 1988 - O 1 0 1 -
--R Ay 1975 1978 - Mar 1 0 0 -
--R Ay 1979 1991 - Ap 1 0 0 -
--R Ay 1989 o - O 22 0 1 -
--R Ay 1990 o - O 1 0 1 -
--R Ay 1991 o - O 6 0 1 -
--R Ay 1992 o - Mar 1 0 0 -
--R Ay 1992 o - O 5 0 1 -
--R Ay 1993 o - Mar 31 0 0 -
--R Ay 1993 1995 - O 1 0 1 -
--R Ay 1994 1995 - F lastSun 0 0 -
--R Ay 1996 o - Mar 1 0 0 -
--R Ay 1996 2001 - O Sun>=1 0 1 -
--R Ay 1997 o - F lastSun 0 0 -
--R Ay 1998 2001 - Mar Sun>=1 0 0 -
--R Ay 2002 2004 - Ap Sun>=1 0 0 -
--R Ay 2002 2003 - S Sun>=1 0 1 -
--R Ay 2004 2009 - O Sun>=15 0 1 -
--R Ay 2005 2009 - Mar Sun>=8 0 0 -
--R Ay 2010 ma - O Sun>=1 0 1 -
--R Ay 2010 2012 - Ap Sun>=8 0 0 -
--R Ay 2013 ma - Mar Sun>=22 0 0 -
-+R y 1975 1988 - O 1 0 1 -
-+R y 1975 1978 - Mar 1 0 0 -
-+R y 1979 1991 - Ap 1 0 0 -
-+R y 1989 o - O 22 0 1 -
-+R y 1990 o - O 1 0 1 -
-+R y 1991 o - O 6 0 1 -
-+R y 1992 o - Mar 1 0 0 -
-+R y 1992 o - O 5 0 1 -
-+R y 1993 o - Mar 31 0 0 -
-+R y 1993 1995 - O 1 0 1 -
-+R y 1994 1995 - F lastSun 0 0 -
-+R y 1996 o - Mar 1 0 0 -
-+R y 1996 2001 - O Sun>=1 0 1 -
-+R y 1997 o - F lastSun 0 0 -
-+R y 1998 2001 - Mar Sun>=1 0 0 -
-+R y 2002 2004 - Ap Sun>=1 0 0 -
-+R y 2002 2003 - S Sun>=1 0 1 -
-+R y 2004 2009 - O Sun>=15 0 1 -
-+R y 2005 2009 - Mar Sun>=8 0 0 -
-+R y 2010 ma - O Sun>=1 0 1 -
-+R y 2010 2012 - Ap Sun>=8 0 0 -
-+R y 2013 ma - Mar Sun>=22 0 0 -
- Z America/Asuncion -3:50:40 - LMT 1890
- -3:50:40 - AMT 1931 O 10
- -4 - -04 1972 O
- -3 - -03 1974 Ap
---4 Ay -04/-03
--R Az 1938 o - Ja 1 0 1 -
--R Az 1938 o - Ap 1 0 0 -
--R Az 1938 1939 - S lastSun 0 1 -
--R Az 1939 1940 - Mar Sun>=24 0 0 -
--R Az 1986 1987 - Ja 1 0 1 -
--R Az 1986 1987 - Ap 1 0 0 -
--R Az 1990 o - Ja 1 0 1 -
--R Az 1990 o - Ap 1 0 0 -
--R Az 1994 o - Ja 1 0 1 -
--R Az 1994 o - Ap 1 0 0 -
-+-4 y -04/-03
-+R PE 1938 o - Ja 1 0 1 -
-+R PE 1938 o - Ap 1 0 0 -
-+R PE 1938 1939 - S lastSun 0 1 -
-+R PE 1939 1940 - Mar Sun>=24 0 0 -
-+R PE 1986 1987 - Ja 1 0 1 -
-+R PE 1986 1987 - Ap 1 0 0 -
-+R PE 1990 o - Ja 1 0 1 -
-+R PE 1990 o - Ap 1 0 0 -
-+R PE 1994 o - Ja 1 0 1 -
-+R PE 1994 o - Ap 1 0 0 -
- Z America/Lima -5:8:12 - LMT 1890
- -5:8:36 - LMT 1908 Jul 28
---5 Az -05/-04
-+-5 PE -05/-04
- Z Atlantic/South_Georgia -2:26:8 - LMT 1890
- -2 - -02
- Z America/Paramaribo -3:40:40 - LMT 1911
-@@ -3940,65 +3959,65 @@ Li America/Port_of_Spain America/St_Lucia
- Li America/Port_of_Spain America/St_Thomas
- Li America/Port_of_Spain America/St_Vincent
- Li America/Port_of_Spain America/Tortola
--R A! 1923 1925 - O 1 0 0:30 -
--R A! 1924 1926 - Ap 1 0 0 -
--R A! 1933 1938 - O lastSun 0 0:30 -
--R A! 1934 1941 - Mar lastSat 24 0 -
--R A! 1939 o - O 1 0 0:30 -
--R A! 1940 o - O 27 0 0:30 -
--R A! 1941 o - Au 1 0 0:30 -
--R A! 1942 o - D 14 0 0:30 -
--R A! 1943 o - Mar 14 0 0 -
--R A! 1959 o - May 24 0 0:30 -
--R A! 1959 o - N 15 0 0 -
--R A! 1960 o - Ja 17 0 1 -
--R A! 1960 o - Mar 6 0 0 -
--R A! 1965 o - Ap 4 0 1 -
--R A! 1965 o - S 26 0 0 -
--R A! 1968 o - May 27 0 0:30 -
--R A! 1968 o - D 1 0 0 -
--R A! 1970 o - Ap 25 0 1 -
--R A! 1970 o - Jun 14 0 0 -
--R A! 1972 o - Ap 23 0 1 -
--R A! 1972 o - Jul 16 0 0 -
--R A! 1974 o - Ja 13 0 1:30 -
--R A! 1974 o - Mar 10 0 0:30 -
--R A! 1974 o - S 1 0 0 -
--R A! 1974 o - D 22 0 1 -
--R A! 1975 o - Mar 30 0 0 -
--R A! 1976 o - D 19 0 1 -
--R A! 1977 o - Mar 6 0 0 -
--R A! 1977 o - D 4 0 1 -
--R A! 1978 1979 - Mar Sun>=1 0 0 -
--R A! 1978 o - D 17 0 1 -
--R A! 1979 o - Ap 29 0 1 -
--R A! 1980 o - Mar 16 0 0 -
--R A! 1987 o - D 14 0 1 -
--R A! 1988 o - F 28 0 0 -
--R A! 1988 o - D 11 0 1 -
--R A! 1989 o - Mar 5 0 0 -
--R A! 1989 o - O 29 0 1 -
--R A! 1990 o - F 25 0 0 -
--R A! 1990 1991 - O Sun>=21 0 1 -
--R A! 1991 1992 - Mar Sun>=1 0 0 -
--R A! 1992 o - O 18 0 1 -
--R A! 1993 o - F 28 0 0 -
--R A! 2004 o - S 19 0 1 -
--R A! 2005 o - Mar 27 2 0 -
--R A! 2005 o - O 9 2 1 -
--R A! 2006 2015 - Mar Sun>=8 2 0 -
--R A! 2006 2014 - O Sun>=1 2 1 -
-+R U 1923 1925 - O 1 0 0:30 -
-+R U 1924 1926 - Ap 1 0 0 -
-+R U 1933 1938 - O lastSun 0 0:30 -
-+R U 1934 1941 - Mar lastSat 24 0 -
-+R U 1939 o - O 1 0 0:30 -
-+R U 1940 o - O 27 0 0:30 -
-+R U 1941 o - Au 1 0 0:30 -
-+R U 1942 o - D 14 0 0:30 -
-+R U 1943 o - Mar 14 0 0 -
-+R U 1959 o - May 24 0 0:30 -
-+R U 1959 o - N 15 0 0 -
-+R U 1960 o - Ja 17 0 1 -
-+R U 1960 o - Mar 6 0 0 -
-+R U 1965 o - Ap 4 0 1 -
-+R U 1965 o - S 26 0 0 -
-+R U 1968 o - May 27 0 0:30 -
-+R U 1968 o - D 1 0 0 -
-+R U 1970 o - Ap 25 0 1 -
-+R U 1970 o - Jun 14 0 0 -
-+R U 1972 o - Ap 23 0 1 -
-+R U 1972 o - Jul 16 0 0 -
-+R U 1974 o - Ja 13 0 1:30 -
-+R U 1974 o - Mar 10 0 0:30 -
-+R U 1974 o - S 1 0 0 -
-+R U 1974 o - D 22 0 1 -
-+R U 1975 o - Mar 30 0 0 -
-+R U 1976 o - D 19 0 1 -
-+R U 1977 o - Mar 6 0 0 -
-+R U 1977 o - D 4 0 1 -
-+R U 1978 1979 - Mar Sun>=1 0 0 -
-+R U 1978 o - D 17 0 1 -
-+R U 1979 o - Ap 29 0 1 -
-+R U 1980 o - Mar 16 0 0 -
-+R U 1987 o - D 14 0 1 -
-+R U 1988 o - F 28 0 0 -
-+R U 1988 o - D 11 0 1 -
-+R U 1989 o - Mar 5 0 0 -
-+R U 1989 o - O 29 0 1 -
-+R U 1990 o - F 25 0 0 -
-+R U 1990 1991 - O Sun>=21 0 1 -
-+R U 1991 1992 - Mar Sun>=1 0 0 -
-+R U 1992 o - O 18 0 1 -
-+R U 1993 o - F 28 0 0 -
-+R U 2004 o - S 19 0 1 -
-+R U 2005 o - Mar 27 2 0 -
-+R U 2005 o - O 9 2 1 -
-+R U 2006 2015 - Mar Sun>=8 2 0 -
-+R U 2006 2014 - O Sun>=1 2 1 -
- Z America/Montevideo -3:44:51 - LMT 1908 Jun 10
- -3:44:51 - MMT 1920 May
- -4 - -04 1923 O
---3:30 A! -0330/-03 1942 D 14
---3 A! -03/-0230 1960
---3 A! -03/-02 1968
---3 A! -03/-0230 1970
---3 A! -03/-02 1974
---3 A! -03/-0130 1974 Mar 10
---3 A! -03/-0230 1974 D 22
---3 A! -03/-02
-+-3:30 U -0330/-03 1942 D 14
-+-3 U -03/-0230 1960
-+-3 U -03/-02 1968
-+-3 U -03/-0230 1970
-+-3 U -03/-02 1974
-+-3 U -03/-0130 1974 Mar 10
-+-3 U -03/-0230 1974 D 22
-+-3 U -03/-02
- Z America/Caracas -4:27:44 - LMT 1890
- -4:27:40 - CMT 1912 F 12
- -4:30 - -0430 1965
-diff --git a/src/timezone/known_abbrevs.txt b/src/timezone/known_abbrevs.txt
-index 67d2f0b..2ae443a 100644
---- a/src/timezone/known_abbrevs.txt
-+++ b/src/timezone/known_abbrevs.txt
-@@ -92,6 +92,7 @@ NZST 43200
- PDT -25200 D
- PKT 18000
- PST -28800
-+PST 28800
- SAST 7200
- SST -39600
- UCT 0
-diff --git a/src/timezone/tznames/America.txt b/src/timezone/tznames/America.txt
-index 1c5eb1f..2594c37 100644
---- a/src/timezone/tznames/America.txt
-+++ b/src/timezone/tznames/America.txt
-@@ -237,6 +237,9 @@ PDT -25200 D # Pacific Daylight Time
- PET -18000 # Peru Time (obsolete)
- PMDT -7200 D # Pierre & Miquelon Daylight Time (obsolete)
- PMST -10800 # Pierre & Miquelon Standard Time (obsolete)
-+# CONFLICT! PST is not unique
-+# Other timezones:
-+# - PST: Philippine Standard Time
- PST -28800 # Pacific Standard Time
- # (America/Dawson)
- # (America/Los_Angeles)
-diff --git a/src/timezone/tznames/Asia.txt b/src/timezone/tznames/Asia.txt
-index e1fa931..1133339 100644
---- a/src/timezone/tznames/Asia.txt
-+++ b/src/timezone/tznames/Asia.txt
-@@ -158,6 +158,10 @@ PKT 18000 # Pakistan Time
- # (Asia/Karachi)
- PKST 21600 D # Pakistan Summer Time
- # (Asia/Karachi)
-+# CONFLICT! PST is not unique
-+# Other timezones:
-+# - PST: Pacific Standard Time (America)
-+PST 28800 # Philippine Standard Time
- QYZT 21600 # Kizilorda Time (obsolete)
- SAKST Asia/Sakhalin # Sakhalin Summer Time (obsolete)
- SAKT Asia/Sakhalin # Sakhalin Time (obsolete)
-diff --git a/src/timezone/tznames/Default b/src/timezone/tznames/Default
-index 3826096..1532413 100644
---- a/src/timezone/tznames/Default
-+++ b/src/timezone/tznames/Default
-@@ -181,6 +181,9 @@ PDT -25200 D # Pacific Daylight Time
- # (America/Whitehorse)
- PMDT -7200 D # Pierre & Miquelon Daylight Time (obsolete)
- PMST -10800 # Pierre & Miquelon Standard Time (obsolete)
-+# CONFLICT! PST is not unique
-+# Other timezones:
-+# - PST: Philippine Standard Time
- PST -28800 # Pacific Standard Time
- # (America/Dawson)
- # (America/Los_Angeles)
-diff --git a/src/timezone/tznames/Pacific.txt b/src/timezone/tznames/Pacific.txt
-index c86248b..c30008c 100644
---- a/src/timezone/tznames/Pacific.txt
-+++ b/src/timezone/tznames/Pacific.txt
-@@ -52,6 +52,9 @@ NZST 43200 # New Zealand Standard Time
- PGT 36000 # Papua New Guinea Time (obsolete)
- PHOT Pacific/Enderbury # Phoenix Islands Time (Kiribati) (obsolete)
- PONT 39600 # Ponape Time (Micronesia) (obsolete)
-+# CONFLICT! PST is not unique
-+# Other timezones:
-+# - PST: Philippine Standard Time
- PST -28800 # Pacific Standard Time
- # (America/Dawson)
- # (America/Los_Angeles)
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
index 971510943..22b62d9de 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init
index 4a4f0cd16..1791e68b5 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init
+++ b/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/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
index dc8522454..85f19170b 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -37,7 +37,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 pythonnative useradd update-rc.d systemd gettext cpan-base
CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR} -I${STAGING_INCDIR}/tcl8.6"
@@ -106,6 +106,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 +123,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 \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb
deleted file mode 100644
index 1a02f154c..000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=6dc95e63aa4d72502ff8193dfe2ddd38"
-
-SRC_URI += "\
- file://not-check-libperl.patch \
- file://0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch \
- file://0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch \
-"
-
-SRC_URI[md5sum] = "a5fe5fdff2d6c28f65601398be0950df"
-SRC_URI[sha256sum] = "6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.2.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.2.bb
new file mode 100644
index 000000000..0f59c8dd1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.2.bb
@@ -0,0 +1,11 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=87da2b84884860b71f5f24ab37e7da78"
+
+SRC_URI += "\
+ file://not-check-libperl.patch \
+ file://0001-Add-support-for-RISC-V.patch \
+"
+
+SRC_URI[md5sum] = "19d43be679cb0d55363feb8926af3a0f"
+SRC_URI[sha256sum] = "2676b9ce09c21978032070b6794696e0aa5a476e3d21d60afc036dc0a9c09405"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch
new file mode 100644
index 000000000..eccaa3a37
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch
@@ -0,0 +1,57 @@
+From ee728434124b9b7d17abbd060a62aac79a9b79c0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Feb 2019 14:31:24 -0800
+Subject: [PATCH] Disable -Wshadow and do not mark default copy constructors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ utilities/persistent_cache/block_cache_tier.h | 4 ++--
+ utilities/persistent_cache/block_cache_tier_file.h | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 98e2e1973..3a24a075b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -254,7 +254,7 @@ if(FAIL_ON_WARNINGS)
+ if(MSVC)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
+ else() # assume GCC
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-error=shadow")
+ endif()
+ endif()
+
+diff --git a/utilities/persistent_cache/block_cache_tier.h b/utilities/persistent_cache/block_cache_tier.h
+index 2b2c0ef4f..96d0540a4 100644
+--- a/utilities/persistent_cache/block_cache_tier.h
++++ b/utilities/persistent_cache/block_cache_tier.h
+@@ -91,9 +91,9 @@ class BlockCacheTier : public PersistentCacheTier {
+ : key_(std::move(key)), data_(data) {}
+ ~InsertOp() {}
+
+- InsertOp() = delete;
++ InsertOp() = default;
+ InsertOp(InsertOp&& /*rhs*/) = default;
+- InsertOp& operator=(InsertOp&& rhs) = default;
++ InsertOp& operator=(InsertOp&& rhs) = delete;
+
+ // used for estimating size by bounded queue
+ size_t Size() { return data_.size() + key_.size(); }
+diff --git a/utilities/persistent_cache/block_cache_tier_file.h b/utilities/persistent_cache/block_cache_tier_file.h
+index e38b6c9a1..d9b89a4f7 100644
+--- a/utilities/persistent_cache/block_cache_tier_file.h
++++ b/utilities/persistent_cache/block_cache_tier_file.h
+@@ -262,7 +262,7 @@ class ThreadedWriter : public Writer {
+ : file_(file), buf_(buf), file_off_(file_off), callback_(callback) {}
+
+ IO(const IO&) = default;
+- IO& operator=(const IO&) = default;
++ IO& operator=(const IO&) = delete;
+ size_t Size() const { return sizeof(IO); }
+
+ WritableFile* file_ = nullptr; // File to write to
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch
new file mode 100644
index 000000000..ef0429a3c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch
@@ -0,0 +1,35 @@
+From 8996f075e64da0e6ffeda57632ef31f8710defcc Mon Sep 17 00:00:00 2001
+From: He Zhe <zhe.he@windriver.com>
+Date: Fri, 15 Mar 2019 16:47:03 +0800
+Subject: [PATCH] utilities: Fix build failure with -Werror=maybe-uninitialized
+
+Summary:
+Initialize magic_number to zero to avoid such failure.
+utilities/blob_db/blob_log_format.cc:91:3: error: 'magic_number' may be used
+uninitialized in this function [-Werror=maybe-uninitialized]
+ if (magic_number != kMagicNumber) {
+ ^~
+
+Upstream-Status: Accepted [expected version 5.19]
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ utilities/blob_db/blob_log_format.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utilities/blob_db/blob_log_format.cc b/utilities/blob_db/blob_log_format.cc
+index 2bf7028..8726cb8 100644
+--- a/utilities/blob_db/blob_log_format.cc
++++ b/utilities/blob_db/blob_log_format.cc
+@@ -82,7 +82,7 @@ Status BlobLogFooter::DecodeFrom(Slice src) {
+ uint32_t src_crc = 0;
+ src_crc = crc32c::Value(src.data(), BlobLogFooter::kSize - sizeof(uint32_t));
+ src_crc = crc32c::Mask(src_crc);
+- uint32_t magic_number;
++ uint32_t magic_number = 0;
+ if (!GetFixed32(&src, &magic_number) || !GetFixed64(&src, &blob_count) ||
+ !GetFixed64(&src, &expiration_range.first) ||
+ !GetFixed64(&src, &expiration_range.second) || !GetFixed32(&src, &crc)) {
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb/0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb/0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch
deleted file mode 100644
index be498974a..000000000
--- a/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/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
index 594d1a9c7..27c7b20e1 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
@@ -6,12 +6,13 @@ 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 = "a1774dde9a5bd51bc6ece5988781c6f28cc69d48"
+SRCBRANCH = "5.18.fb"
+PV = "5.18.2"
SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \
- file://0001-Fix-GitHub-issue-3716-gcc-8-warnings.patch \
+ file://0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch \
+ file://0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch \
"
S = "${WORKDIR}/git"
@@ -19,9 +20,9 @@ S = "${WORKDIR}/git"
inherit cmake
PACKAGECONFIG ??= "bzip2 zlib lz4"
-PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
-PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
-PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON -DBZIP2_LIBRARIES:STRING=bz2,-DWITH_BZ2=OFF,bzip2"
+PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON -DLZ4_LIBRARIES:STRING=lz4,-DWITH_LZ4=OFF,lz4"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON -DZLIB_LIBRARIES:STRING=z,-DWITH_ZLIB=OFF,zlib"
PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
# Tools and tests currently don't compile on armv5 so we disable them
@@ -30,3 +31,8 @@ EXTRA_OECMAKE = "\
-DWITH_TESTS=OFF \
-DWITH_TOOLS=OFF \
"
+
+do_install_append() {
+ # fix for qa check buildpaths
+ sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
new file mode 100644
index 000000000..3ead649b1
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index 2604f65e1..e09cd829d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = " \
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,6 +37,7 @@ 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://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 \
@@ -57,6 +58,9 @@ B = "${WORKDIR}/${BPN}"
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
+COMPATIBLE_HOST_powerpc = "(null)"
+COMPATIBLE_HOST_powerpc64 = "(null)"
+
inherit systemd
SYSTEMD_SERVICE_${PN} = "android-tools-adbd.service"
@@ -91,6 +95,9 @@ do_compile() {
mips|mipsel)
export android_arch=linux-mips
;;
+ mips64|mips64el)
+ export android_arch=linux-mips64
+ ;;
powerpc|powerpc64)
export android_arch=linux-ppc
;;
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch
deleted file mode 100644
index 07cb8a366..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch
deleted file mode 100644
index bc6282981..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch
deleted file mode 100644
index 852c1ed2c..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
new file mode 100644
index 000000000..b1c37fc8e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
@@ -0,0 +1,30 @@
+Do not add stack pointer to clobber list
+
+it was being ignored until gcc 9.0 became capable
+of flagging this silent ignoring via [1]
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813<Paste>
+
+Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/linux-syscall-support/+/1390160]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/src/third_party/lss/linux_syscall_support.h
++++ b/src/third_party/lss/linux_syscall_support.h
+@@ -1966,7 +1966,7 @@ struct kernel_statfs {
+ __asm__ volatile(LSS_ENTRYPOINT \
+ : "=a" (__res) \
+ : "0" (__NR_##name) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ #undef _syscall1
+@@ -2407,7 +2407,7 @@ struct kernel_statfs {
+ "d"(LSS_SYSCALL_ARG(parent_tidptr)),
+ "r"(LSS_SYSCALL_ARG(newtls)),
+ "r"(LSS_SYSCALL_ARG(child_tidptr))
+- : "rsp", "memory", "r8", "r10", "r11", "rcx");
++ : "memory", "r8", "r10", "r11", "rcx");
+ }
+ LSS_RETURN(int, __res);
+ }
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index d9773c9a6..5f9a72e0a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/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_breakpad = "5467393a3d1e7ab929fd01d79971701bf4e2c2c6"
+#v1.8.0
SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780"
SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
-SRCREV_lss = "a91633d172407f6c83dd69af11510b37afebb7f9"
+SRCREV_lss = "a89bf7903f3169e6bc7b8efc10a73a7571de21cf"
SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770"
SRC_URI = "git://github.com/google/breakpad;name=breakpad \
@@ -30,26 +31,24 @@ 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://dont-clobber-rsp.patch \
"
S = "${WORKDIR}/git"
CXXFLAGS += "-D_GNU_SOURCE"
-COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
+COMPATIBLE_HOST_powerpc = "null"
do_install_append() {
install -d ${D}${includedir}
@@ -72,7 +71,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 +119,5 @@ 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"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
new file mode 100644
index 000000000..c86dc1691
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.15.bb b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.15.bb
new file mode 100644
index 000000000..784684620
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.15.bb
@@ -0,0 +1,16 @@
+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"
+
+inherit cmake python3native
+
+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[md5sum] = "2c98c73eba392d334f5bbaf15e09bae3"
+SRC_URI[sha256sum] = "bd9c0ec462b6a9b5b41ede97bede5458e0d7bb40d4cfa27f6f622eb33c59245d"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-correct-version-for-so-lib.patch
deleted file mode 100644
index a7a42f981..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch
deleted file mode 100644
index d736f012b..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0002-use-__builtin_bswap16-when-building-with-clang.patch
deleted file mode 100644
index 460159f27..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.10.0.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.10.0.bb
new file mode 100644
index 000000000..452e1e65a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.10.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=a873c5645c184d51e0f9b34e1d7cf559"
+
+SRCREV = "c0698cc33f1e534bb59c455909b88cc2726089af"
+
+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"
+BUILD_CXXFLAGS += "-std=c++11"
+
+# 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/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb
deleted file mode 100644
index a8df44485..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-Use-pkg-config-to-find-gpgme.patch
new file mode 100644
index 000000000..9030f36d4
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb
deleted file mode 100644
index d8f2f894b..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb
new file mode 100644
index 000000000..6c1c1535e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.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 \
+ enchant \
+ intltool-native \
+ libassuan \
+ gpgme \
+ vte \
+ 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 \
+ file://0001-Use-pkg-config-to-find-gpgme.patch \
+"
+SRC_URI[md5sum] = "bf5fdd50727ad8bbbfe00027ccf2dac5"
+SRC_URI[sha256sum] = "244417c681636e82a63cf6f9901b5b7f3889168f7d9b5ba9b45601767a589c3b"
+
+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"
+
+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/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb
deleted file mode 100644
index bb9d8bc29..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb
new file mode 100644
index 000000000..aab535d85
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.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 distro_features_check autotools pkgconfig perlnative pythonnative gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://download.geany.org/${BP}.tar.bz2"
+SRC_URI[md5sum] = "87220f4a0e03623ab9d86820f6be7b5d"
+SRC_URI[sha256sum] = "e765efd89e759defe3fd797d8a2052afbb4b23522efbcc72e3a72b7f1093ec11"
+
+FILES_${PN} += "${datadir}/icons"
+
+EXTRA_OECONF = "--disable-html-docs"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.4.bb b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.4.bb
new file mode 100644
index 000000000..1a413452a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.4.bb
@@ -0,0 +1,35 @@
+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.4+git${SRCPV}"
+PR = "r0"
+
+SRC_URI = "git://github.com/iipeace/${BPN}"
+#SRCREV = "${AUTOREV}"
+SRCREV = "b433f3805674ef4588c1a161986c74eeac6a48e7"
+
+S = "${WORKDIR}/git"
+R = "${RECIPE_SYSROOT}"
+
+inherit distutils
+
+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"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch b/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch
deleted file mode 100644
index 1dfd955f0..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb b/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb
deleted file mode 100644
index 0f40815cc..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb b/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb
new file mode 100644
index 000000000..0086eae5c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.6.bb
@@ -0,0 +1,29 @@
+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 \
+"
+
+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/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch
deleted file mode 100644
index 748e4da1a..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch
deleted file mode 100644
index d21e97950..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch
deleted file mode 100644
index 3b9068a7d..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch
deleted file mode 100644
index 21ef98bf5..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch
deleted file mode 100644
index aece45b02..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb
deleted file mode 100644
index eb1ff65b6..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_git.bb b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_git.bb
new file mode 100644
index 000000000..aea11b082
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_git.bb
@@ -0,0 +1,28 @@
+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"
+
+PV = "1.1.1+git${SRCPV}"
+# v1.1.1
+SRCREV = "319783c635cf8cabcc1a980495c99a88f9ebbd97"
+
+SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \
+ "
+
+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} \
+"
+
+FILES_${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb b/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb
deleted file mode 100644
index 8cc0e959e..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb
+++ /dev/null
@@ -1,21 +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}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20181209-3.1.bb b/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20181209-3.1.bb
new file mode 100644
index 000000000..c0a3d2136
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20181209-3.1.bb
@@ -0,0 +1,23 @@
+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] = "22e945a0476e388e6f78bfc8d6e1192c"
+SRC_URI[sha256sum] = "2811d70c0b000f2ca91b7cb1a37203134441743c4fcc9c37b0b687f328611064"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb
deleted file mode 100644
index 6386f1ffb..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.1.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.1.bb
new file mode 100644
index 000000000..190e5dd4e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.1.bb
@@ -0,0 +1,24 @@
+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] = "d224dca55bb909f6730f40cc267337be"
+SRC_URI[sha256sum] = "bb2802d29a518e8c6d2992884691f06ccfcc25792a5686178575c7111fea4630"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.2.bb
deleted file mode 100644
index d17d15c92..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb
new file mode 100644
index 000000000..56c62f1f2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb
@@ -0,0 +1,18 @@
+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] = "20a87090cd8ec34ea11b3e59954234cb"
+SRC_URI[sha256sum] = "2d8f627aa6417e6c6a100bc09dc407684ca4605c929defc1690ee7d6a575ce6a"
+
+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/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb b/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb
index b344fbf32..d1a733424 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/lshw/lshw_02.18.bb
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch
new file mode 100644
index 000000000..8f1c4b9b9
--- /dev/null
+++ b/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 + 1);
++ 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/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-move-fprintf-into-same-block-where-modname-and-symna.patch
new file mode 100644
index 000000000..54acaace1
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index f4033f7c2..3dc269c80 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -25,6 +25,8 @@ 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 \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
index f3a0f70ee..c2d2180ba 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
@@ -22,7 +22,7 @@ BBCLASSEXTEND = "native"
# you need to install the multilib development package (e.g.
# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part
# (HOST_CC="gcc -m32").
-BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS', True) != '32']}"
+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
diff --git a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch
deleted file mode 100644
index b0d772d93..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb
deleted file mode 100644
index 690a7f444..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.1.1.bb b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.1.1.bb
new file mode 100644
index 000000000..90fd44e60
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.1.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.1.1
+SRCREV = "83a82e3eb512b18d4149cabb7eb43c7e8bc081af"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
index 324a4683d..5d0dc03b6 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
@@ -4,26 +4,23 @@ 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 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
-index 0a217bd893..e1229ad07f 100644
+index a98772f..f5663e2 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
+@@ -123,8 +123,8 @@ with-code-cache:
+ test-code-cache: with-code-cache
+ $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) code-cache
-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
++ deps/v8/gypfiles/toolchain.gypi \
+ deps/v8/gypfiles/features.gypi deps/v8/gypfiles/v8.gyp node.gyp \
+ config.gypi
$(PYTHON) tools/gyp_node.py -f make
-
- config.gypi: configure
--
-2.12.2
+2.19.2
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-torque.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-torque.patch
new file mode 100644
index 000000000..e9035f9eb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-torque.patch
@@ -0,0 +1,36 @@
+From 4bbee5e3d58bc4911999f3ec2cc5aab8ded6717b Mon Sep 17 00:00:00 2001
+From: "Winker Matthias (TT-CA/ENG1)" <Matthias.Winker@de.bosch.com>
+Date: Tue, 11 Dec 2018 10:44:29 +0100
+Subject: [PATCH] Using native torque
+
+---
+ deps/v8/gypfiles/v8.gyp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/deps/v8/gypfiles/v8.gyp b/deps/v8/gypfiles/v8.gyp
+index 8c78f02255..434168844e 100644
+--- a/deps/v8/gypfiles/v8.gyp
++++ b/deps/v8/gypfiles/v8.gyp
+@@ -2831,7 +2831,6 @@
+ {
+ 'action_name': 'run_torque',
+ 'inputs': [ # Order matters.
+- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
+ '../src/builtins/base.tq',
+ '../src/builtins/array.tq',
+ '../src/builtins/typed-array.tq',
+@@ -2845,7 +2844,10 @@
+ '<(SHARED_INTERMEDIATE_DIR)/torque-generated/builtins-typed-array-from-dsl-gen.cc',
+ '<(SHARED_INTERMEDIATE_DIR)/torque-generated/builtins-typed-array-from-dsl-gen.h',
+ ],
+- 'action': ['<@(_inputs)', '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated'],
++ 'action': [
++ 'torque',
++ '<@(_inputs)',
++ '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated'],
+ },
+ ],
+ }, # torque
+--
+2.19.2
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Crypto-reduce-memory-usage-of-SignFinal.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Crypto-reduce-memory-usage-of-SignFinal.patch
new file mode 100644
index 000000000..ed3bac39b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Crypto-reduce-memory-usage-of-SignFinal.patch
@@ -0,0 +1,122 @@
+From 20282b1cb0389553421c4c5b14de198c5dfff50b Mon Sep 17 00:00:00 2001
+From: Anna Henningsen <anna@addaleax.net>
+Date: Sat, 20 Oct 2018 05:24:54 +0200
+Subject: [PATCH] src: use more explicit return type in Sign::SignFinal()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Using the non-indexed variant of `std::get<>` broke Travis CI.
+Also, this allows us to be a bit more concise when returning
+from `SignFinal()` due to some error condition.
+
+Refs: https://github.com/nodejs/node/pull/23427
+
+PR-URL: https://github.com/nodejs/node/pull/23779
+Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
+Reviewed-By: Tobias NieĂźen <tniessen@tnie.de>
+Reviewed-By: Refael Ackermann <refack@gmail.com>
+Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
+---
+ src/node_crypto.cc | 23 +++++++++++------------
+ src/node_crypto.h | 12 +++++++++++-
+ 2 files changed, 22 insertions(+), 13 deletions(-)
+
+diff --git a/src/node_crypto.cc b/src/node_crypto.cc
+index bd8d9e032554..ec7d4f2bb5be 100644
+--- a/src/node_crypto.cc
++++ b/src/node_crypto.cc
+@@ -3562,22 +3562,20 @@ static MallocedBuffer<unsigned char> Node_SignFinal(EVPMDPointer&& mdctx,
+ return MallocedBuffer<unsigned char>();
+ }
+
+-std::pair<SignBase::Error, MallocedBuffer<unsigned char>> Sign::SignFinal(
++Sign::SignResult Sign::SignFinal(
+ const char* key_pem,
+ int key_pem_len,
+ const char* passphrase,
+ int padding,
+ int salt_len) {
+- MallocedBuffer<unsigned char> buffer;
+-
+ if (!mdctx_)
+- return std::make_pair(kSignNotInitialised, std::move(buffer));
++ return SignResult(kSignNotInitialised);
+
+ EVPMDPointer mdctx = std::move(mdctx_);
+
+ BIOPointer bp(BIO_new_mem_buf(const_cast<char*>(key_pem), key_pem_len));
+ if (!bp)
+- return std::make_pair(kSignPrivateKey, std::move(buffer));
++ return SignResult(kSignPrivateKey);
+
+ EVPKeyPointer pkey(PEM_read_bio_PrivateKey(bp.get(),
+ nullptr,
+@@ -3588,7 +3586,7 @@ std::pair<SignBase::Error, MallocedBuffer<unsigned char>> Sign::SignFinal(
+ // without `pkey` being set to nullptr;
+ // cf. the test of `test_bad_rsa_privkey.pem` for an example.
+ if (!pkey || 0 != ERR_peek_error())
+- return std::make_pair(kSignPrivateKey, std::move(buffer));
++ return SignResult(kSignPrivateKey);
+
+ #ifdef NODE_FIPS_MODE
+ /* Validate DSA2 parameters from FIPS 186-4 */
+@@ -3612,9 +3610,10 @@ std::pair<SignBase::Error, MallocedBuffer<unsigned char>> Sign::SignFinal(
+ }
+ #endif // NODE_FIPS_MODE
+
+- buffer = Node_SignFinal(std::move(mdctx), pkey, padding, salt_len);
++ MallocedBuffer<unsigned char> buffer =
++ Node_SignFinal(std::move(mdctx), pkey, padding, salt_len);
+ Error error = buffer.is_empty() ? kSignPrivateKey : kSignOk;
+- return std::make_pair(error, std::move(buffer));
++ return SignResult(error, std::move(buffer));
+ }
+
+
+@@ -3639,18 +3638,18 @@ void Sign::SignFinal(const FunctionCallbackInfo<Value>& args) {
+
+ ClearErrorOnReturn clear_error_on_return;
+
+- std::pair<Error, MallocedBuffer<unsigned char>> ret = sign->SignFinal(
++ SignResult ret = sign->SignFinal(
+ buf,
+ buf_len,
+ len >= 2 && !args[1]->IsNull() ? *passphrase : nullptr,
+ padding,
+ salt_len);
+
+- if (std::get<Error>(ret) != kSignOk)
+- return sign->CheckThrow(std::get<Error>(ret));
++ if (ret.error != kSignOk)
++ return sign->CheckThrow(ret.error);
+
+ MallocedBuffer<unsigned char> sig =
+- std::move(std::get<MallocedBuffer<unsigned char>>(ret));
++ std::move(ret.signature);
+
+ Local<Object> rc =
+ Buffer::New(env, reinterpret_cast<char*>(sig.release()), sig.size)
+diff --git a/src/node_crypto.h b/src/node_crypto.h
+index 6fcf737f6c43..0c26c1f6ff1d 100644
+--- a/src/node_crypto.h
++++ b/src/node_crypto.h
+@@ -518,7 +518,17 @@ class Sign : public SignBase {
+ public:
+ static void Initialize(Environment* env, v8::Local<v8::Object> target);
+
+- std::pair<Error, MallocedBuffer<unsigned char>> SignFinal(
++ struct SignResult {
++ Error error;
++ MallocedBuffer<unsigned char> signature;
++
++ explicit SignResult(
++ Error err,
++ MallocedBuffer<unsigned char>&& sig = MallocedBuffer<unsigned char>())
++ : error(err), signature(std::move(sig)) {}
++ };
++
++ SignResult SignFinal(
+ const char* key_pem,
+ int key_pem_len,
+ const char* passphrase,
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch
new file mode 100644
index 000000000..925c085e9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch
@@ -0,0 +1,69 @@
+Implement function as wrapper for std::make_unique
+method to be compatible with gcc < 4.9 .
+"error::make_unique is not a member of 'std'"
+
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
+
+diff -Naur node-v10.15.1/src/cares_wrap.cc node-v10.15.1/src/cares_wrap.cc
+--- node-v10.15.1/src/cares_wrap.cc 2019-01-29 08:20:50.000000000 +0100
++++ node-v10.15.1/src/cares_wrap.cc 2019-02-21 16:22:25.489131665 +0100
+@@ -52,6 +52,16 @@
+ # define AI_V4MAPPED 0
+ #endif
+
++#ifndef __cpp_lib_make_unique
++namespace std {
++ /// make_unique implementation
++ template<typename T, typename... Args>
++ std::unique_ptr<T> make_unique(Args&&... args) {
++ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
++ }
++}
++#endif
++
+ namespace node {
+ namespace cares_wrap {
+
+diff -Naur node-v10.15.1/src/inspector_agent.cc node-v10.15.1/src/inspector_agent.cc
+--- node-v10.15.1/src/inspector_agent.cc 2019-01-29 08:20:50.000000000 +0100
++++ node-v10.15.1/src/inspector_agent.cc 2019-02-21 16:22:09.000185992 +0100
+@@ -24,6 +24,16 @@
+ #include <pthread.h>
+ #endif // __POSIX__
+
++#ifndef __cpp_lib_make_unique
++namespace std {
++ /// make_unique implementation
++ template<typename T, typename... Args>
++ std::unique_ptr<T> make_unique(Args&&... args) {
++ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
++ }
++}
++#endif
++
+ namespace node {
+ namespace inspector {
+ namespace {
+
+diff --git a/src/inspector/main_thread_interface.cc b/src/inspector/main_thread_interface.cc
+index e374c0fd70..05d7d8c60f 100644
+--- a/src/inspector/main_thread_interface.cc
++++ b/src/inspector/main_thread_interface.cc
+@@ -6,6 +6,16 @@
+ #include <functional>
+ #include <unicode/unistr.h>
+
++#ifndef __cpp_lib_make_unique
++namespace std {
++ /// make_unique implementation
++ template<typename T, typename... Args>
++ std::unique_ptr<T> make_unique(Args&&... args) {
++ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
++ }
++}
++#endif
++
+ namespace node {
+ namespace inspector {
+ namespace {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-Link-atomic-library.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-Link-atomic-library.patch
new file mode 100644
index 000000000..66ff18b4a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-Link-atomic-library.patch
@@ -0,0 +1,20 @@
+Link atomic library to fix missing undefined referrences
+like "undefined reference to `__atomic_fetch_add_8'"
+
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+
+diff -Naur node-v10.15.1/deps/v8/gypfiles/v8.gyp node-v10.15.1/deps/v8/gypfiles/v8.gyp
+--- node-v10.15.1/deps/v8/gypfiles/v8.gyp 2019-02-13 09:02:21.000000000 +0100
++++ node-v10.15.1/deps/v8/gypfiles/v8.gyp 2019-02-15 21:27:11.755679660 +0100
+@@ -452,6 +452,11 @@
+ '<(DEPTH)',
+ '<(SHARED_INTERMEDIATE_DIR)'
+ ],
++ 'link_settings': {
++ 'libraries': [
++ '-latomic'
++ ],
++ },
+ 'sources': [
+ '<@(inspector_all_sources)',
+ '../include//v8-inspector-protocol.h',
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0006-Use-target-ldflags.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0006-Use-target-ldflags.patch
new file mode 100644
index 000000000..f6569cd57
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0006-Use-target-ldflags.patch
@@ -0,0 +1,24 @@
+The target LDFLAGS have been ignored. Tools like torque
+have been loaded from system libraries, even if a native
+one was the target.
+|$ ldd torque
+| libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1
+| libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
+| libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1
+| libicui18n.so.63 => not found
+| libicuuc.so.63 => not found
+...
+
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+
+diff -Naur node-v10.15.1/deps/v8/gypfiles/toolchain.gypi node-v10.15.1/deps/v8/gypfiles/toolchain.gypi
+--- node-v10.15.1/deps/v8/gypfiles/toolchain.gypi 2019-03-18 15:01:39.000000000 +0100
++++ node-v10.15.1/deps/v8/gypfiles/toolchain.gypi 2019-03-18 15:04:08.628361308 +0100
+@@ -1106,6 +1106,7 @@
+ 'cflags': [ '-fno-strict-aliasing' ],
+ }],
+ ], # conditions
++ 'ldflags+': [ '$(LDFLAGS)' ],
+ }],
+ ['OS=="solaris"', {
+ 'defines': [ '__C99FEATURES__=1' ], # isinf() etc.
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb
new file mode 100644
index 000000000..d2e77ea0d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb
@@ -0,0 +1,105 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9ceeba79eb2ea1067b7b3ed16fff8bab"
+
+DEPENDS = "openssl zlib icu"
+DEPENDS_append_class-target = " nodejs-native"
+
+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 \
+ file://0003-Crypto-reduce-memory-usage-of-SignFinal.patch \
+ file://0004-Make-compatibility-with-gcc-4.8.patch \
+ file://0005-Link-atomic-library.patch \
+ file://0006-Use-target-ldflags.patch \
+ "
+SRC_URI_append_class-target = " \
+ file://0002-Using-native-torque.patch \
+ "
+
+SRC_URI[md5sum] = "d76210a6ae1ea73d10254947684836fb"
+SRC_URI[sha256sum] = "4e22d926f054150002055474e452ed6cbb85860aa7dc5422213a2002ed9791d5"
+
+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
+
+ # Install the native torque to provide it within sysroot for the target compilation
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque
+}
+
+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/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.12.0.bb
deleted file mode 100644
index 8c3397821..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch b/meta-openembedded/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch
new file mode 100644
index 000000000..e89d7d346
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
new file mode 100644
index 000000000..1ec32ce89
--- /dev/null
+++ b/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
+
+EXTRA_OECONF = "--disable-java --disable-docs"
+
+SRC_URI = "https://ftp.gnu.org/gnu/octave/${PN}-${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/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
index 21a86de39..4377e88e4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -29,6 +29,8 @@ EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html"
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}
}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl/0001-Use-API-function-for-reconnect.patch b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl/0001-Use-API-function-for-reconnect.patch
new file mode 100644
index 000000000..60d88c3d1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl/0001-Use-API-function-for-reconnect.patch
@@ -0,0 +1,53 @@
+From edb6b202b7e233864aa5dd84532646c50097b0b8 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 4 Mar 2019 00:49:17 -0800
+Subject: [PATCH] Use API function for reconnect
+
+For configuring reconnect functionality use standard API function
+MYSQL_OPT_RECONNECT instead of direct modification of internal structures
+which does not work for MariaDB. Fixes compilation with MariaDB 10.2.6+.
+
+Upstream-Status: Backport [https://github.com/perl5-dbi/DBD-mysql/commit/0b1884f4153d3de0a91bae4d3b3cc1771ffdf4f3]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ dbdimp.c | 16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+diff --git a/dbdimp.c b/dbdimp.c
+index 9b8b313..3bed213 100644
+--- a/dbdimp.c
++++ b/dbdimp.c
+@@ -1979,6 +1979,16 @@ MYSQL *mysql_dr_connect(
+
+ if (result)
+ {
++ /*
++ we turn off Mysql's auto reconnect and handle re-connecting ourselves
++ so that we can keep track of when this happens.
++ */
++#if MYSQL_VERSION_ID >= 50013
++ my_bool reconnect = FALSE;
++ mysql_options(result, MYSQL_OPT_RECONNECT, &reconnect);
++#else
++ result->reconnect = 0;
++#endif
+ #if MYSQL_VERSION_ID >=SERVER_PREPARE_VERSION
+ /* connection succeeded. */
+ /* imp_dbh == NULL when mysql_dr_connect() is called from mysql.xs
+@@ -1992,12 +2002,6 @@ MYSQL *mysql_dr_connect(
+ imp_dbh->async_query_in_flight = NULL;
+ }
+ #endif
+-
+- /*
+- we turn off Mysql's auto reconnect and handle re-connecting ourselves
+- so that we can keep track of when this happens.
+- */
+- result->reconnect=0;
+ }
+ else {
+ /*
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb
index bd8ba780a..e185f48f7 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb
@@ -15,6 +15,7 @@ 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 \
+ file://0001-Use-API-function-for-reconnect.patch \
"
SRC_URI[md5sum] = "4a00dd7f1c057931147c65dfc4901c36"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb
deleted file mode 100644
index 24a1245fc..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb
new file mode 100644
index 000000000..3c031646b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb
@@ -0,0 +1,36 @@
+SUMMARY = "The Perl Database Interface"
+DESCRIPTION = "DBI is a database access Application Programming Interface \
+(API) for the Perl Language. The DBI API Specification defines a set \
+of functions, variables and conventions that provide a consistent \
+database interface independent of the actual database being used. \
+"
+HOMEPAGE = "http://search.cpan.org/dist/DBI/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+RDEPENDS_${PN} = " perl-module-carp \
+ perl-module-exporter \
+ perl-module-exporter-heavy \
+ perl-module-dynaloader \
+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
+SRC_URI[md5sum] = "f2ba18b5cea1c8cb322a62be0a847f3d"
+SRC_URI[sha256sum] = "3f2025023a56286cebd15cb495e36ccd9b456c3cc229bf2ce1f69e9ebfc27f5d"
+
+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/meta-openembedded/meta-oe/recipes-devtools/php/php.inc b/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
index bfd0ddfb8..6f893ad85 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
@@ -8,7 +8,7 @@ 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]}"
+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 \
@@ -20,7 +20,6 @@ SRC_URI_append_class-target = " \
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 \
"
@@ -46,10 +45,9 @@ COMMON_EXTRA_OECONF = "--enable-sockets \
EXTRA_OECONF = "--enable-mbstring \
--enable-wddx \
--enable-fpm \
- --enable-zip \
--with-libdir=${baselib} \
--with-gettext=${STAGING_LIBDIR}/.. \
- --with-zlib=${STAGING_LIBDIR}/.. \
+ --with-libzip=${STAGING_LIBDIR}/.. \
--with-iconv=${STAGING_LIBDIR}/.. \
--with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
--with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Use-pkg-config-for-libxml2-detection.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Use-pkg-config-for-libxml2-detection.patch
new file mode 100644
index 000000000..ccc6d4ede
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Use-pkg-config-for-libxml2-detection.patch
@@ -0,0 +1,23 @@
+Use pkg-config for libxml2 detection.
+
+xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 15 ++-------------
+ 1 file changed, 2 insertions(+), 13 deletions(-)
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2481,8 +2481,8 @@ AC_DEFUN([PHP_SETUP_LIBXML], [
+ 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`
++ LIBXML_LIBS=`pkg-config --libs libxml-2.0`
++ LIBXML_INCS=`pkg-config --cflags libxml-2.0`
+ else
+ AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
+ fi
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch
index a250cac83..51dbe269c 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch
@@ -1,6 +1,6 @@
-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
+From d2679c89c0b15b90e5360b4863258a7955e5f4e5 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 12 Feb 2019 15:59:19 +0800
Subject: [PATCH] acinclude.m4: don't unset cache variables
Unsetting prevents cache variable from being passed to configure.
@@ -8,15 +8,18 @@ Unsetting prevents cache variable from being passed to configure.
Upstream-Status: Inappropriate [OE-specific]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+update patch to version 7.3.2
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
acinclude.m4 | 4 ----
1 file changed, 4 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4
-index f6a55ec..d3346df 100644
+index 25f900d..2641969 100644
--- a/acinclude.m4
+++ b/acinclude.m4
-@@ -1890,8 +1890,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,]))
+@@ -1921,8 +1921,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,]))
dnl
AC_DEFUN([PHP_CHECK_FUNC_LIB],[
ifelse($2,,:,[
@@ -25,14 +28,14 @@ index f6a55ec..d3346df 100644
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.
+@@ -1954,8 +1952,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/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch b/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 6ab101b41..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
index 0d24d34f2..9ffd0e4de 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
@@ -1,6 +1,6 @@
-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 fb139d9707dabe1684b472a08a6eb5761ede4a3a Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 12 Feb 2019 14:56:16 +0800
Subject: [PATCH] opcache/config.m4: enable opcache
We can't use AC_TRY_RUN to run programs in a cross compile environment. Set
@@ -10,42 +10,41 @@ enough linux kernel.
Upstream-Status: Inappropriate [Configuration]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+update patch to version 7.3.2
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- ext/opcache/config.m4 | 349 ++------------------------------------------------
- 1 file changed, 8 insertions(+), 341 deletions(-)
+ ext/opcache/config.m4 | 357 +-------------------------------------------------
+ 1 file changed, 6 insertions(+), 351 deletions(-)
diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
-index 7b500f0..10bb99a 100644
+index 392f4c6..6617693 100644
--- a/ext/opcache/config.m4
+++ b/ext/opcache/config.m4
-@@ -28,353 +28,20 @@ if test "$PHP_OPCACHE" != "no"; then
-
+@@ -27,374 +27,29 @@ if test "$PHP_OPCACHE" != "no"; then
AC_CHECK_HEADERS([unistd.h sys/uio.h])
-- AC_MSG_CHECKING(for sysvipc shared memory support)
-- AC_TRY_RUN([
+ 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 +89,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>
@@ -142,13 +142,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)
+- msg=yes],[msg=no],[msg=no])
- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
-- AC_TRY_RUN([
++ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+
+ AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/mman.h>
@@ -197,13 +198,14 @@ index 7b500f0..10bb99a 100644
- }
- return 0;
-}
--],dnl
+-]])],[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([
++ AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
+
+ 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>
@@ -266,14 +268,14 @@ 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)
+- 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([
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/mman.h>
@@ -336,50 +338,70 @@ index 7b500f0..10bb99a 100644
- }
- return 0;
-}
--],dnl
+-]])],[dnl
- AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
-- msg=yes,msg=no,msg=no)
+- msg=yes],[msg=no],[msg=no])
- AC_MSG_RESULT([$msg])
++ AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
+
+ flock_type=unknown
+ AC_MSG_CHECKING(for struct flock layout)
+
+ if test "$flock_type" = "unknown"; then
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[
+- #include <fcntl.h>
+- struct flock lock = { 1, 2, 3, 4, 5, 6, 7 };
+- int main() {
+- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 6 && lock.l_len== 7) {
+- return 0;
+- }
+- return 1;
+- }
+-]])], [
+- flock_type=aix64
+- AC_DEFINE([HAVE_FLOCK_AIX64], [], [Struct flock is 64-bit AIX-type])
+-], [])
+-fi
-
--flock_type=unknown
--AC_MSG_CHECKING("whether flock struct is linux ordered")
--AC_TRY_RUN([
+-if test "$flock_type" = "unknown"; then
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <fcntl.h>
- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
+- 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])
++ flock_type=linux
+ AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
+-], [])
+ fi
--AC_MSG_CHECKING("whether flock struct is BSD ordered")
--AC_TRY_RUN([
+ if test "$flock_type" = "unknown"; then
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <fcntl.h>
- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
+- 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_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type])
+-], [])
+-fi
+-
+-AC_MSG_RESULT([$flock_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])
+ fi
+
--
2.7.4
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0048-Use-pkg-config-for-FreeType2-detection.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0048-Use-pkg-config-for-FreeType2-detection.patch
new file mode 100644
index 000000000..f36ddac26
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0048-Use-pkg-config-for-FreeType2-detection.patch
@@ -0,0 +1,53 @@
+From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= <ondrej@sury.org>
+Date: Mon, 22 Oct 2018 06:54:31 +0000
+Subject: Use pkg-config for FreeType2 detection
+
+---
+ ext/gd/config.m4 | 30 +++++++++++++++++++-----------
+ 1 file changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index 498d870..d28c6ae 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -184,21 +184,29 @@ AC_DEFUN([PHP_GD_XPM],[
+ AC_DEFUN([PHP_GD_FREETYPE2],[
+ if test "$PHP_FREETYPE_DIR" != "no"; then
+
+- for i in $PHP_FREETYPE_DIR /usr/local /usr; do
+- if test -f "$i/bin/freetype-config"; then
+- FREETYPE2_DIR=$i
+- FREETYPE2_CONFIG="$i/bin/freetype-config"
+- break
++ if test -z "$PKG_CONFIG"; then
++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++ fi
++ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists freetype2 ; then
++ FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags freetype2`
++ FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
++ else
++ for i in $PHP_FREETYPE_DIR /usr/local /usr; do
++ if test -f "$i/bin/freetype-config"; then
++ FREETYPE2_DIR=$i
++ FREETYPE2_CONFIG="$i/bin/freetype-config"
++ break
++ fi
++ done
++
++ if test -z "$FREETYPE2_DIR"; then
++ AC_MSG_ERROR([freetype-config not found.])
+ fi
+- done
+
+- if test -z "$FREETYPE2_DIR"; then
+- AC_MSG_ERROR([freetype-config not found.])
++ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
++ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
+ fi
+
+- FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
+- FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
+-
+ PHP_EVAL_INCLINE($FREETYPE2_CFLAGS)
+ PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD)
+ AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0049-ext-intl-Use-pkg-config-to-detect-icu.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0049-ext-intl-Use-pkg-config-to-detect-icu.patch
new file mode 100644
index 000000000..deada1ff9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0049-ext-intl-Use-pkg-config-to-detect-icu.patch
@@ -0,0 +1,111 @@
+From: Hugh McMaster <hugh.mcmaster@outlook.com>
+Date: Wed, 5 Dec 2018 23:27:30 +1100
+Subject: ext/intl: Use pkg-config to detect icu
+
+The developers of icu recommend using pkg-config to detect icu,
+because icu-config is deprecated.
+---
+ acinclude.m4 | 56 +++++++-----------------------------------------------
+ ext/intl/config.m4 | 16 ++++++----------
+ 2 files changed, 13 insertions(+), 59 deletions(-)
+
+--- php7.3.orig/acinclude.m4
++++ php7.3/acinclude.m4
+@@ -2168,58 +2168,16 @@ dnl
+ dnl Common setup macro for ICU
+ dnl
+ AC_DEFUN([PHP_SETUP_ICU],[
+- PHP_ARG_WITH(icu-dir,,
+- [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no)
++ PKG_CHECK_MODULES([ICU], [icu-io >= 50.1])
+
+- if test "$PHP_ICU_DIR" = "no"; then
+- PHP_ICU_DIR=DEFAULT
+- fi
+-
+- if test "$PHP_ICU_DIR" = "DEFAULT"; then
+- dnl Try to find icu-config
+- AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin])
+- else
+- ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config"
+- fi
+-
+- AC_MSG_CHECKING([for location of ICU headers and libraries])
+-
+- dnl Trust icu-config to know better what the install prefix is..
+- icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null`
+- if test "$?" != "0" || test -z "$icu_install_prefix"; then
+- AC_MSG_RESULT([not found])
+- AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.])
+- else
+- AC_MSG_RESULT([$icu_install_prefix])
+-
+- dnl Check ICU version
+- AC_MSG_CHECKING([for ICU 4.0 or greater])
+- icu_version_full=`$ICU_CONFIG --version`
+- ac_IFS=$IFS
+- IFS="."
+- set $icu_version_full
+- IFS=$ac_IFS
+- icu_version=`expr [$]1 \* 1000 + [$]2`
+- AC_MSG_RESULT([found $icu_version_full])
+-
+- if test "$icu_version" -lt "4000"; then
+- AC_MSG_ERROR([ICU version 4.0 or later is required])
+- fi
++ PHP_EVAL_INCLINE($ICU_CFLAGS)
++ PHP_EVAL_LIBLINE($ICU_LIBS, $1)
+
+- ICU_VERSION=$icu_version
+- ICU_INCS=`$ICU_CONFIG --cppflags-searchpath`
+- ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio`
+- PHP_EVAL_INCLINE($ICU_INCS)
+- PHP_EVAL_LIBLINE($ICU_LIBS, $1)
++ ICU_CFLAGS="$ICU_CFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
++ ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit"
+
+- ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags`
+- if test "$icu_version" -ge "49000"; then
+- ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit"
+- ICU_CFLAGS="-DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
+- fi
+- if test "$icu_version" -ge "60000"; then
+- ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
+- fi
++ if $PKG_CONFIG icu-io --atleast-version=60; then
++ ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
+ fi
+ ])
+
+--- php7.3.orig/ext/intl/config.m4
++++ php7.3/ext/intl/config.m4
+@@ -9,15 +9,7 @@ if test "$PHP_INTL" != "no"; then
+ PHP_SETUP_ICU(INTL_SHARED_LIBADD)
+ PHP_SUBST(INTL_SHARED_LIBADD)
+ PHP_REQUIRE_CXX()
+- INTL_COMMON_FLAGS="$ICU_INCS $ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
+- if test "$icu_version" -ge "4002"; then
+- icu_spoof_src=" spoofchecker/spoofchecker_class.c \
+- spoofchecker/spoofchecker.c\
+- spoofchecker/spoofchecker_create.c\
+- spoofchecker/spoofchecker_main.c"
+- else
+- icu_spoof_src=""
+- fi
++ INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
+ PHP_NEW_EXTENSION(intl, php_intl.c \
+ intl_error.c \
+ intl_convert.c \
+@@ -68,7 +60,11 @@ if test "$PHP_INTL" != "no"; then
+ transliterator/transliterator_methods.c \
+ uchar/uchar.c \
+ idn/idn.c \
+- $icu_spoof_src, $ext_shared,,$INTL_COMMON_FLAGS,cxx)
++ spoofchecker/spoofchecker_class.c \
++ spoofchecker/spoofchecker.c\
++ spoofchecker/spoofchecker_create.c\
++ spoofchecker/spoofchecker_main.c \
++ , $ext_shared,,$INTL_COMMON_FLAGS,cxx)
+
+ PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \
+ common/common_enum.cpp \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2017-9120.patch
deleted file mode 100644
index 728f25bb6..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
deleted file mode 100644
index 3e901841b..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch
new file mode 100644
index 000000000..72ad554a1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch
@@ -0,0 +1,42 @@
+From 1fb5a3b3e6c9cf0002ff76988de72f011b642005 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 12 Feb 2019 16:25:37 +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>
+
+update patch to version 5.6.40
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ acinclude.m4 | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index b188eee..ed32fc5 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1897,8 +1897,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])
+@@ -1930,8 +1928,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/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.38.bb
deleted file mode 100644
index d6f51454f..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb
new file mode 100644
index 000000000..9f5bac7e2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb
@@ -0,0 +1,25 @@
+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 \
+ file://php5-0001-acinclude.m4-don-t-unset-cache-variables.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] = "44633604d2fece1f53f508bc16751b74"
+SRC_URI[sha256sum] = "ffd025d34623553ab2f7fd8fb21d0c9e6f9fa30dc565ca03a1d7b763023fba00"
+
+DEPENDS += "libmcrypt"
+EXTRA_OECONF += "--with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
+ "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.10.bb
deleted file mode 100644
index 8dc64bb89..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.2.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.2.bb
new file mode 100644
index 000000000..634facd4a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.2.bb
@@ -0,0 +1,25 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fb07bfc51f6d5e0c30b65d9701233b2e"
+
+SRC_URI += "file://0001-acinclude.m4-don-t-unset-cache-variables.patch \
+ file://0048-Use-pkg-config-for-FreeType2-detection.patch \
+ file://0049-ext-intl-Use-pkg-config-to-detect-icu.patch \
+ file://0001-Use-pkg-config-for-libxml2-detection.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] = "c893ff828945c274d90e026528142439"
+SRC_URI[sha256sum] = "946f50dacbd2f61e643bb737021cbe8b1816e780ee7ad3e0cd999a1892ab0add"
+
+PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
+ --with-pdo-mysql=mysqlnd \
+ ,--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/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest
index 7c3a8d1b3..b3b2278c4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch b/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch
new file mode 100644
index 000000000..745f5d013
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
index c90eab043..e3ed9c6a1 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
index 4dbd9a4f1..8cc07bcfa 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
+++ b/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
+@@ -1432,6 +1432,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 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` \
+ `ls -d /usr/local/lib/tcl8.6 2>/dev/null` \
+Index: a/unix/tcl.m4
+===================================================================
+--- a/unix/tcl.m4.orig
++++ b/unix/tcl.m4
+@@ -94,6 +94,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 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` \
+ `ls -d /usr/local/lib/tcl8.6 2>/dev/null` \
+@@ -227,6 +228,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/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
+ `ls -d /usr/local/lib/tk8.6 2>/dev/null` \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb
deleted file mode 100644
index 4e38525cb..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb
new file mode 100644
index 000000000..459ae8253
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb
@@ -0,0 +1,96 @@
+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://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] = "e3cf6290999ee30651d75864eccfec63"
+SRC_URI[sha256sum] = "d3f9161e8ba0f107fe8d4df1f6d3a14c30cc3512dfc12a795daa367a27660dac"
+
+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
+
+ 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/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-dlfcn.h-for-RTLD_DEFAULT.patch
deleted file mode 100644
index fe7aac931..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.8.3.bb
deleted file mode 100644
index ca38e6aa2..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb
new file mode 100644
index 000000000..4f4016895
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.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.2
+SRCREV = "66fc1fb973f4a44aecd216541405ffe05196f11e"
+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/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-compile-failure-against-musl-C-library.patch
deleted file mode 100644
index 234d696f1..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch b/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 000000000..be83b0166
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.31.0.bb
deleted file mode 100644
index efa58f198..000000000
--- a/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/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
new file mode 100644
index 000000000..524263760
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
@@ -0,0 +1,49 @@
+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"
+RDEPENDS_${PN} = "perl"
+
+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/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch
index b12690b32..13510cdea 100644
--- a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch
+++ b/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/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0006-libcollectdclient-Fix-string-overflow-errors.patch b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0006-libcollectdclient-Fix-string-overflow-errors.patch
new file mode 100644
index 000000000..3ed652f71
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.0.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.0.bb
deleted file mode 100644
index df9fa233c..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.bb
new file mode 100644
index 000000000..6dff18c16
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.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-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 \
+ file://0006-libcollectdclient-Fix-string-overflow-errors.patch \
+ "
+SRC_URI[md5sum] = "bfce96c42cede5243028510bcc57c1e6"
+SRC_URI[sha256sum] = "e796fda27ce06377f491ad91aa286962a68c2b54076aa77a29673d53204453da"
+
+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/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
index 36fd57c9b..020ac2c3b 100644
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
@@ -3,13 +3,14 @@ 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
+install-data-hook should depend on install-exec-hook, or the
haveged.service might be installed incorrectly when build
with -j option.
-Upstream-Status: Inappropriate [no upstream mailing list]
+Upstream-Status: Submitted [https://github.com/jirka-h/haveged/pull/13]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Khem Raj raj.khem@gmail.com
---
init.d/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -21,12 +22,11 @@ index 5940f78..07bcdf7 100644
@@ -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/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb
deleted file mode 100644
index bf1367391..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
new file mode 100644
index 000000000..32aab59f1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
@@ -0,0 +1,42 @@
+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.4
+SRCREV = "faa40ff345af194d3253f5fb030403e3c9831c36"
+SRC_URI = "git://github.com/jirka-h/haveged.git \
+ file://haveged-init.d-Makefile.am-add-missing-dependency.patch \
+"
+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.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/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.11.bb b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.11.bb
deleted file mode 100644
index 370fa2248..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.12.bb b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.12.bb
new file mode 100644
index 000000000..3cc353ee7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.12.bb
@@ -0,0 +1,13 @@
+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=fc2548c0eb83800f29330040e18b5a05"
+
+SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0ed1f3a924604aae68067c214b0010ef"
+SRC_URI[sha256sum] = "5f8dec765048efac5d919aded51b26a32a05397ea207aa769ff6b53c7027d2c9"
+
+inherit autotools pkgconfig
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb
index 93a09f28a..135499789 100644
--- a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb
@@ -19,9 +19,10 @@ S = "${WORKDIR}/git"
inherit autotools pkgconfig update-rc.d
-COMPATIBLE_HOST_arm_libc-musl = "null"
-
LCD_DRIVERS ?= "all,!irman,!svga"
+LCD_DRIVERS_append_aarch64 = ",!serialVFD"
+LCD_DRIVERS_append_arm = ",!serialVFD"
+
LCD_DEFAULT_DRIVER ?= "curses"
PACKAGECONFIG ??= "usb"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb
deleted file mode 100644
index 35f0cc060..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.20.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.20.bb
new file mode 100644
index 000000000..54a188dc8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.20.bb
@@ -0,0 +1,43 @@
+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 = "cb308566c3c5222b8422f78997a1742713b265a9"
+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 nvdimm"
+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, 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/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.5.bb b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.5.bb
deleted file mode 100644
index 542956cf6..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.7.bb b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.7.bb
new file mode 100644
index 000000000..da22836a2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.7.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 = "1d5cc00e44af4800fcae9761625dd4230681e82a"
+
+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/meta-openembedded/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb b/meta-openembedded/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb
new file mode 100644
index 000000000..192d4bce6
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.1.bb b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.1.bb
new file mode 100644
index 000000000..ce73700d7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.1.bb
@@ -0,0 +1,18 @@
+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=01f8b1b8da6403739094396e15b1e722"
+
+DEPENDS = "zlib bzip2"
+
+PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
+
+PACKAGECONFIG ?= "ssl"
+
+inherit cmake
+
+SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "6fe665aa6d6bf3a99eb6fa9c553283fd"
+SRC_URI[sha256sum] = "04ea35b6956c7b3453f1ed3f3fe40e3ddae1f43931089124579e8384e79ed372"
diff --git a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
index aea539ef0..275a8f238 100644
--- a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
@@ -20,9 +20,9 @@ do_install() {
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
+ 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
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch
new file mode 100644
index 000000000..29c6a7b69
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/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']:
+ DEFINES['FFI_BUILDING'] = True
+
+ if CONFIG['GNU_CXX']:
+- CXXFLAGS += ['-Wno-shadow', '-Werror=format']
++ CXXFLAGS += ['-Wno-shadow']
+
+ # Suppress warnings in third-party code.
+ if CONFIG['CLANG_CXX']:
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
index 7c8a7aee1..92d15724f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
@@ -14,6 +14,7 @@ SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/m/mozjs52/mozjs52_52.9.1.o
file://disable-mozglue-in-stand-alone-builds.patch \
file://add-riscv-support.patch \
file://0001-mozjs-fix-coredump-caused-by-getenv.patch \
+ file://format-overflow.patch \
file://JS_PUBLIC_API.patch \
"
SRC_URI_append_libc-musl = " \
@@ -44,7 +45,7 @@ EXTRA_OECONF = " \
--host=${BUILD_SYS} \
--prefix=${prefix} \
--libdir=${libdir} \
- --disable-tests \
+ --disable-tests --disable-strip --disable-optimize \
--with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \
"
@@ -52,9 +53,15 @@ EXTRA_OECONF = " \
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-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"
export TMP="${B}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Adjust-for-CURLE_SSL_CACERT-deprecation-in-curl-7.62.patch b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Adjust-for-CURLE_SSL_CACERT-deprecation-in-curl-7.62.patch
new file mode 100644
index 000000000..4dcd10800
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Adjust-for-CURLE_SSL_CACERT-deprecation-in-curl-7.62.patch
@@ -0,0 +1,42 @@
+From f2c37fab5dbaffa06c1268ee1309596306c9a4df Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 20 Nov 2018 12:23:47 -0800
+Subject: [PATCH] Adjust for CURLE_SSL_CACERT deprecation in curl >= 7.62
+
+Use CURLE_PEER_FAILED_VERIFICATION instead
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/wsman-curl-client-transport.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/lib/wsman-curl-client-transport.c b/src/lib/wsman-curl-client-transport.c
+index d0a3829b..92727f4f 100644
+--- a/src/lib/wsman-curl-client-transport.c
++++ b/src/lib/wsman-curl-client-transport.c
+@@ -186,16 +186,23 @@ convert_to_last_error(CURLcode r)
+ return WS_LASTERR_SSL_CONNECT_ERROR;
+ case CURLE_BAD_FUNCTION_ARGUMENT:
+ return WS_LASTERR_CURL_BAD_FUNCTION_ARG;
++#if LIBCURL_VERSION_NUM < 0x073E00
+ case CURLE_SSL_PEER_CERTIFICATE:
+ return WS_LASTERR_SSL_PEER_CERTIFICATE;
++#endif
+ case CURLE_SSL_ENGINE_NOTFOUND:
+ return WS_LASTERR_SSL_ENGINE_NOTFOUND;
+ case CURLE_SSL_ENGINE_SETFAILED:
+ return WS_LASTERR_SSL_ENGINE_SETFAILED;
+ case CURLE_SSL_CERTPROBLEM:
+ return WS_LASTERR_SSL_CERTPROBLEM;
++#if LIBCURL_VERSION_NUM < 0x073E00
+ case CURLE_SSL_CACERT:
+ return WS_LASTERR_SSL_CACERT;
++#else
++ case CURLE_PEER_FAILED_VERIFICATION:
++ return WS_LASTERR_SSL_PEER_CERTIFICATE;
++#endif
+ #if LIBCURL_VERSION_NUM > 0x70C01
+ case CURLE_SSL_ENGINE_INITFAILED:
+ return WS_LASTERR_SSL_ENGINE_INITFAILED;
diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Port-to-OpenSSL-1.1.0.patch b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-Port-to-OpenSSL-1.1.0.patch
deleted file mode 100644
index 49afa56f5..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-openSSL-1.1.0-API-fixes.patch b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-openSSL-1.1.0-API-fixes.patch
new file mode 100644
index 000000000..8d230ba6d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0001-openSSL-1.1.0-API-fixes.patch
@@ -0,0 +1,77 @@
+From 634b95157e1823672a2c95fac0cecf079b5967e7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= <kkaempf@suse.de>
+Date: Mon, 19 Nov 2018 15:31:27 +0100
+Subject: [PATCH] openSSL 1.1.0 API fixes
+
+---
+ src/server/shttpd/io_ssl.c | 5 +++++
+ src/server/shttpd/shttpd.c | 11 ++++++++++-
+ src/server/shttpd/ssl.h | 3 +++
+ 3 files changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/src/server/shttpd/io_ssl.c b/src/server/shttpd/io_ssl.c
+index 6de0db2a..ece610ef 100644
+--- a/src/server/shttpd/io_ssl.c
++++ b/src/server/shttpd/io_ssl.c
+@@ -21,8 +21,13 @@ struct ssl_func ssl_sw[] = {
+ {"SSL_set_fd", {0}},
+ {"SSL_new", {0}},
+ {"SSL_CTX_new", {0}},
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ {"SSLv23_server_method", {0}},
+ {"SSL_library_init", {0}},
++#else
++ {"TLS_server_method", {0}},
++ {"OPENSSL_init_ssl", {0}},
++#endif
+ {"SSL_CTX_use_PrivateKey_file", {0}},
+ {"SSL_CTX_use_certificate_file",{0}},
+ {NULL, {0}}
+diff --git a/src/server/shttpd/shttpd.c b/src/server/shttpd/shttpd.c
+index f0f3fbd8..652aea17 100644
+--- a/src/server/shttpd/shttpd.c
++++ b/src/server/shttpd/shttpd.c
+@@ -1489,9 +1489,14 @@ set_ssl(struct shttpd_ctx *ctx, const char *pem)
+ }
+
+ /* Initialize SSL crap */
+- SSL_library_init();
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++ SSL_library_init();
+ if ((CTX = SSL_CTX_new(SSLv23_server_method())) == NULL)
++#else
++ OPENSSL_init_ssl();
++ if ((CTX = SSL_CTX_new(TLS_server_method())) == NULL)
++#endif
+ _shttpd_elog(E_LOG, NULL, "SSL_CTX_new error");
+ else if (SSL_CTX_use_certificate_file(CTX, wsmand_options_get_ssl_cert_file(), SSL_FILETYPE_PEM) != 1)
+ _shttpd_elog(E_LOG, NULL, "cannot open certificate file %s", pem);
+@@ -1552,6 +1557,10 @@ set_ssl(struct shttpd_ctx *ctx, const char *pem)
+ if (rc != 1) {
+ _shttpd_elog(E_LOG, NULL, "Failed to set SSL cipher list \"%s\"", ssl_cipher_list);
+ }
++ else if ((*ssl_cipher_list == 0) || (*ssl_cipher_list == ' ')) {
++ _shttpd_elog(E_LOG, NULL, "Empty 'ssl_cipher_list' defaults to 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256'.");
++ _shttpd_elog(E_LOG, NULL, "Check openSSL documentation.");
++ }
+ }
+ ctx->ssl_ctx = CTX;
+
+diff --git a/src/server/shttpd/ssl.h b/src/server/shttpd/ssl.h
+index 2304b70a..89a73c49 100644
+--- a/src/server/shttpd/ssl.h
++++ b/src/server/shttpd/ssl.h
+@@ -56,6 +56,9 @@ extern struct ssl_func ssl_sw[];
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
+ #define SSLv23_server_method() (* (SSL_METHOD * (*)(void)) FUNC(9))()
+ #define SSL_library_init() (* (int (*)(void)) FUNC(10))()
++#else
++#define TLS_server_method() (* (SSL_METHOD * (*)(void)) FUNC(9))()
++#define OPENSSL_init_ssl() (* (int (*)(void)) FUNC(10))()
+ #endif
+ #define SSL_CTX_use_PrivateKey_file(x,y,z) (* (int (*)(SSL_CTX *, \
+ const char *, int)) FUNC(11))((x), (y), (z))
+--
+2.19.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0002-Check-OpenSSL-version-number-to-allow-builds-with-ol.patch b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman/0002-Check-OpenSSL-version-number-to-allow-builds-with-ol.patch
deleted file mode 100644
index 5ae2e0006..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.5.bb b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.5.bb
deleted file mode 100644
index 5fba3855c..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.8.bb b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.8.bb
new file mode 100644
index 000000000..f04ff01d9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.8.bb
@@ -0,0 +1,75 @@
+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"
+
+# v2.6.8
+SRCREV = "b9cd0b72534854abb6dd834c8c11e02111b4c8d7"
+
+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-openSSL-1.1.0-API-fixes.patch \
+ file://0001-Adjust-for-CURLE_SSL_CACERT-deprecation-in-curl-7.62.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+LICENSE = "BSD"
+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/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-Adapt-to-OpenSSL-1.1.1.patch b/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-Adapt-to-OpenSSL-1.1.1.patch
new file mode 100644
index 000000000..2d75a18f1
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0002-Check-against-the-correct-OPENSSL_VERSION_NUMBER.patch b/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 000000000..b03b43fb1
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
index 2a461fc11..ac7fa4bbf 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
@@ -7,11 +7,14 @@ 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
REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
index 40e400542..06ab10642 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
@@ -1,6 +1,9 @@
# polkit must prepare polkitd group
DEPENDS += "polkit"
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "polkit"
+
inherit useradd
do_install_prepend() {
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch
deleted file mode 100644
index 6fd20dc75..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb
index 8d592054f..13c4b0259 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb
@@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
DEPENDS = "expat glib-2.0 intltool-native mozjs"
-inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection
+inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
@@ -23,7 +25,6 @@ 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 \
"
SRC_URI[md5sum] = "f03b055d6ae5fc8eac76838c7d83d082"
SRC_URI[sha256sum] = "2f87ecdabfbd415c6306673ceadc59846f059b18ef2fce42bac63fe283f12131"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.12.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.12.bb
new file mode 100644
index 000000000..af99537f5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.12.bb
@@ -0,0 +1,58 @@
+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_append_powerpc = " file://remove-atomics.patch"
+
+SRC_URI[md5sum] = "48f240fd2d96b1b579300b866398edbc"
+SRC_URI[sha256sum] = "6447259d2eed426a949c9c13f8fdb2d91fb66d9dc915dd50db13b87f46d93162"
+
+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/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.8.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.8.bb
deleted file mode 100644
index 80d36d2ba..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-fix-jump-misses-init-error.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-fix-jump-misses-init-error.patch
deleted file mode 100644
index 68b686346..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-increase-the-size-of-szHname.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-src-tcp.c-increase-the-size-of-szHname.patch
deleted file mode 100644
index 5a62e1584..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.16.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.16.bb
deleted file mode 100644
index 17478efe4..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb
new file mode 100644
index 000000000..9e57dd520
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb
@@ -0,0 +1,16 @@
+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 = "e96443dda3c080fa991decec26bc4ac98d24b9a2"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch
deleted file mode 100644
index a248f75e5..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1903.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1903.0.bb
new file mode 100644
index 000000000..e06141e81
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1903.0.bb
@@ -0,0 +1,169 @@
+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] = "f0d454c79d4040e3f25fcd12f8f33fe2"
+SRC_URI[sha256sum] = "d0d23a493dcec64c7b6807a1bb8ee864ed0f3760c2ff3088008bb661d304056f"
+
+
+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 \
+ 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[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 \
+ libgcc python-core python-io \
+ "
+RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.37.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.37.0.bb
deleted file mode 100644
index 1fb439015..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.37.0.bb
+++ /dev/null
@@ -1,166 +0,0 @@
-SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
-DESCRIPTION = "\
-Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
- PostgreSQL, failover log destinations, syslog/tcp, fine grain\
- output format control, high precision timestamps, queued operations\
- and the ability to filter on any message part. It is quite\
- compatible to stock sysklogd and can be used as a drop-in replacement.\
- Its advanced features make it suitable for enterprise-class,\
- encryption protected syslog relay chains while at the same time being\
- very easy to setup for the novice user."
-
-DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging"
-HOMEPAGE = "http://www.rsyslog.com/"
-LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
- file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
- file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
-"
-
-SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
- file://initscript \
- file://rsyslog.conf \
- file://rsyslog.logrotate \
- file://use-pkgconfig-to-check-libgcrypt.patch \
- file://run-ptest \
- file://rsyslog-fix-ptest-not-finish.patch \
-"
-
-SRC_URI_append_libc-musl = " \
- file://0001-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 \
- 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[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/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb
new file mode 100644
index 000000000..8152ca7ca
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb
@@ -0,0 +1,23 @@
+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 ??= "serialport ftdi usb"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://sigrok.org/download/source/libsigrok/libsigrok-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "a3de9e52a660e51d27a6aca025d204a7"
+SRC_URI[sha256sum] = "e40fde7af98d29e922e9d3cbe0a6c0569889153fc31e47b8b1afe4d846292b9c"
+
+FILES_${PN} += "${datadir}/*"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb
new file mode 100644
index 000000000..b8e1e4705
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.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] = "b9033bc7e68bc17fffffd4fdd793f5a1"
+SRC_URI[sha256sum] = "e08d9e797c54eccf3144da631b6e5f1498ac531e51520428df537a1da82583f0"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb
new file mode 100644
index 000000000..d31bcd282
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb
@@ -0,0 +1,18 @@
+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
+
+SRC_URI = "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "77cb745e2fa239c7bd1ea81e2d67ede9"
+SRC_URI[sha256sum] = "5669d968c2de3dfc6adfda76e83789b6ba76368407c832438cef5e7099a65e1c"
diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-os_linux.cpp-Use-realpath-BSD-POSIX-instead-of-canon.patch b/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 91e64d217..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb
deleted file mode 100644
index c77c10551..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.0.bb b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.0.bb
new file mode 100644
index 000000000..d98456654
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.0.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] = "b2a80e4789af23d67dfe1e88a997abbf"
+SRC_URI[sha256sum] = "e5e1ac2786bc87fdbd6f92d0ee751b799fbb3e1a09c0a6a379f9eb64b3e8f61c"
+
+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/meta-openembedded/meta-oe/recipes-extended/triggerhappy/triggerhappy_0.5.0.bb b/meta-openembedded/meta-oe/recipes-extended/triggerhappy/triggerhappy_0.5.0.bb
new file mode 100644
index 000000000..037ce063e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/triggerhappy/triggerhappy_0.5.0.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"
+
+SRC_URI = "https://github.com/wertarbyte/triggerhappy/archive/debian/0.5.0-1.tar.gz"
+
+SRC_URI[md5sum] = "77f90a18c775e47c4c5e9e08987ca32f"
+SRC_URI[sha256sum] = "9150bafbf7f2de7d57e6cc154676c33da98dc11ac6442e1ca57e5dce82bd4292"
+
+S = "${WORKDIR}/${PN}-debian-${PV}-1"
+
+inherit autotools-brokensep pkgconfig 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/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch b/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 000000000..4b9a195e0
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
index babe5f489..8854a33bc 100644
--- a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
@@ -13,6 +13,7 @@ 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 \
+ file://0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch \
"
S = "${WORKDIR}/git"
@@ -20,7 +21,7 @@ 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
# override this in local.conf to get needed bindings.
# BINDINGS_pn-upm="python"
diff --git a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.11.bb b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.11.bb
deleted file mode 100644
index c41b20c45..000000000
--- a/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/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
new file mode 100644
index 000000000..398ca5c21
--- /dev/null
+++ b/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[python] = "--with-python,--without-python,python,python"
+PACKAGECONFIG[python3] = "--with-python3,--without-python3,python3,python3"
+
+RDEPENDS_python3-${PN} += "${PN}"
+
+PACKAGES += "python3-${PN}"
+FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
+
diff --git a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb
deleted file mode 100644
index 307774b37..000000000
--- a/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/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb
new file mode 100644
index 000000000..63f4f09ba
--- /dev/null
+++ b/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 distro_features_check gnome 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/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb
deleted file mode 100644
index 96b54dd2c..000000000
--- a/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/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb
new file mode 100644
index 000000000..6dd051337
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "C++ bindings for the GTK+ toolkit V3"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "atkmm pangomm glibmm gtk+3 cairomm"
+
+BPN = "gtkmm"
+
+inherit gnomebase distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "9524ed4e5c821d13eeda49ba2a78f024"
+SRC_URI[archive.sha256sum] = "ddfe42ed2458a20a34de252854bcf4b52d3f0c671c045f56b42aa27c7542d2fd"
+SRC_URI += "file://0001-do-not-build-demos.patch"
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.22.0.bb b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.22.0.bb
new file mode 100644
index 000000000..c1ead0670
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.22.0.bb
@@ -0,0 +1,24 @@
+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 = "gnome-common gtk+3 intltool-native"
+
+inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache
+
+SRC_URI[archive.md5sum] = "a20dc55c3f88ad06da9491cfd7de7558"
+SRC_URI[archive.sha256sum] = "5b2fc0f53962b25bca131a5ec0139e6fef8e254481b6e777975f7a1d2702a962"
+
+PACKAGECONFIG[python3] = "--enable-python3,--disable-python3,python3-pygobject"
+
+export GIR_EXTRA_LIBS_PATH = "${B}/libpeas/.libs"
+
+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/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
index 947d36eb9..661b5e8c5 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
@@ -54,7 +54,7 @@ FILES_${PN} += " \
${datadir}/icons \
"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${PN}/python"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${BPN}/python"
RDEPENDS_${PN}-python = "python"
# for e.g kde's oxygen-fonts
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-Explicit-typecast-to-avoid-implicit-double-to-float-.patch b/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-Explicit-typecast-to-avoid-implicit-double-to-float-.patch
new file mode 100644
index 000000000..385bff8dd
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch b/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch
new file mode 100644
index 000000000..cf03cd0f2
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0002-Makefile.am-remove-useless-and-breaking-code.patch b/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl/0002-Makefile.am-remove-useless-and-breaking-code.patch
new file mode 100644
index 000000000..830783e20
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl_2.1.3-rc5.bb b/meta-openembedded/meta-oe/recipes-graphics/ftgl/ftgl_2.1.3-rc5.bb
new file mode 100644
index 000000000..c5eaf425c
--- /dev/null
+++ b/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 distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+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/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
deleted file mode 100644
index d69c5af3a..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
deleted file mode 100644
index 1be3318cc..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-glm-Remove-redundant-double-semi-colons.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-glm-Remove-redundant-double-semi-colons.patch
new file mode 100644
index 000000000..6e50f2cf2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-glm-Remove-redundant-double-semi-colons.patch
@@ -0,0 +1,120 @@
+From 3f6869e392b061f2932f3df155b6cc37e3e7d342 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 1 Mar 2019 10:56:05 -0800
+Subject: [PATCH] glm: Remove redundant double semi-colons
+
+Make clang happy
+/glm/gtc/../ext/../detail/../simd/common.h:106:45: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
+| glm_vec4 const or0 = _mm_or_ps(and0, and1);;
+| ^
+| 1 error generated.
+
+Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/874]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ glm/gtx/associated_min_max.inl | 8 ++++----
+ glm/simd/common.h | 2 +-
+ test/core/core_func_exponential.cpp | 6 +++---
+ test/gtx/gtx_easing.cpp | 4 ++--
+ 4 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/glm/gtx/associated_min_max.inl b/glm/gtx/associated_min_max.inl
+index 1a459add..5186c471 100644
+--- a/glm/gtx/associated_min_max.inl
++++ b/glm/gtx/associated_min_max.inl
+@@ -86,7 +86,7 @@ GLM_FUNC_QUALIFIER U associatedMin
+ )
+ {
+ T Test1 = min(x, y);
+- T Test2 = min(z, w);;
++ T Test2 = min(z, w);
+ U Result1 = x < y ? a : b;
+ U Result2 = z < w ? c : d;
+ U Result = Test1 < Test2 ? Result1 : Result2;
+@@ -152,7 +152,7 @@ GLM_FUNC_QUALIFIER vec<L, U, Q> associatedMin
+ for(length_t i = 0, n = Result.length(); i < n; ++i)
+ {
+ T Test1 = min(x[i], y[i]);
+- T Test2 = min(z[i], w[i]);;
++ T Test2 = min(z[i], w[i]);
+ U Result1 = x[i] < y[i] ? a : b;
+ U Result2 = z[i] < w[i] ? c : d;
+ Result[i] = Test1 < Test2 ? Result1 : Result2;
+@@ -278,7 +278,7 @@ GLM_FUNC_QUALIFIER U associatedMax
+ )
+ {
+ T Test1 = max(x, y);
+- T Test2 = max(z, w);;
++ T Test2 = max(z, w);
+ U Result1 = x > y ? a : b;
+ U Result2 = z > w ? c : d;
+ U Result = Test1 > Test2 ? Result1 : Result2;
+@@ -344,7 +344,7 @@ GLM_FUNC_QUALIFIER vec<L, U, Q> associatedMax
+ for(length_t i = 0, n = Result.length(); i < n; ++i)
+ {
+ T Test1 = max(x[i], y[i]);
+- T Test2 = max(z[i], w[i]);;
++ T Test2 = max(z[i], w[i]);
+ U Result1 = x[i] > y[i] ? a : b;
+ U Result2 = z[i] > w[i] ? c : d;
+ Result[i] = Test1 > Test2 ? Result1 : Result2;
+diff --git a/glm/simd/common.h b/glm/simd/common.h
+index d07920a3..9b017cb4 100644
+--- a/glm/simd/common.h
++++ b/glm/simd/common.h
+@@ -103,7 +103,7 @@ GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_sign(glm_vec4 x)
+ glm_vec4 const cmp1 = _mm_cmpgt_ps(x, zro0);
+ glm_vec4 const and0 = _mm_and_ps(cmp0, _mm_set1_ps(-1.0f));
+ glm_vec4 const and1 = _mm_and_ps(cmp1, _mm_set1_ps(1.0f));
+- glm_vec4 const or0 = _mm_or_ps(and0, and1);;
++ glm_vec4 const or0 = _mm_or_ps(and0, and1);
+ return or0;
+ }
+
+diff --git a/test/core/core_func_exponential.cpp b/test/core/core_func_exponential.cpp
+index a414a4e9..380cdfb1 100644
+--- a/test/core/core_func_exponential.cpp
++++ b/test/core/core_func_exponential.cpp
+@@ -153,13 +153,13 @@ static int test_inversesqrt()
+ float A = glm::inversesqrt(16.f) * glm::sqrt(16.f);
+ Error += glm::equal(A, 1.f, 0.01f) ? 0 : 1;
+
+- glm::vec1 B = glm::inversesqrt(glm::vec1(16.f)) * glm::sqrt(16.f);;
++ glm::vec1 B = glm::inversesqrt(glm::vec1(16.f)) * glm::sqrt(16.f);
+ Error += glm::all(glm::equal(B, glm::vec1(1.f), 0.01f)) ? 0 : 1;
+
+- glm::vec2 C = glm::inversesqrt(glm::vec2(16.f)) * glm::sqrt(16.f);;
++ glm::vec2 C = glm::inversesqrt(glm::vec2(16.f)) * glm::sqrt(16.f);
+ Error += glm::all(glm::equal(C, glm::vec2(1.f), 0.01f)) ? 0 : 1;
+
+- glm::vec3 D = glm::inversesqrt(glm::vec3(16.f)) * glm::sqrt(16.f);;
++ glm::vec3 D = glm::inversesqrt(glm::vec3(16.f)) * glm::sqrt(16.f);
+ Error += glm::all(glm::equal(D, glm::vec3(1.f), 0.01f)) ? 0 : 1;
+
+ glm::vec4 E = glm::inversesqrt(glm::vec4(16.f)) * glm::sqrt(16.f);
+diff --git a/test/gtx/gtx_easing.cpp b/test/gtx/gtx_easing.cpp
+index b3e13997..0e98cd53 100644
+--- a/test/gtx/gtx_easing.cpp
++++ b/test/gtx/gtx_easing.cpp
+@@ -34,7 +34,7 @@ namespace
+ r = glm::circularEaseOut(a);
+ r = glm::circularEaseInOut(a);
+
+- r = glm::exponentialEaseIn(a);;
++ r = glm::exponentialEaseIn(a);
+ r = glm::exponentialEaseOut(a);
+ r = glm::exponentialEaseInOut(a);
+
+@@ -46,7 +46,7 @@ namespace
+ r = glm::backEaseOut(a);
+ r = glm::backEaseInOut(a);
+
+- r = glm::bounceEaseIn(a);;
++ r = glm::bounceEaseIn(a);
+ r = glm::bounceEaseOut(a);
+ r = glm::bounceEaseInOut(a);
+ }
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
deleted file mode 100644
index 7f16708ed..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.3.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.3.bb
new file mode 100644
index 000000000..2a26a5bc7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.3.bb
@@ -0,0 +1,24 @@
+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-glm-Remove-redundant-double-semi-colons.patch \
+"
+# v0.9.9.3
+SRCREV = "9749727c2db4742369219e1d452f43e918734b4e"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch
new file mode 100644
index 000000000..eb51d03d2
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb
new file mode 100644
index 000000000..a9efffaca
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb
@@ -0,0 +1,59 @@
+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 \
+"
+# Use native mkdefs
+SRC_URI_append_class-target = " file://0001-Use-native-mkdefs.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-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}
+}
+
+FILES_SOLIBSDEV_append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb
new file mode 100644
index 000000000..60df6f773
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb
@@ -0,0 +1,19 @@
+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/${PN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "eac3073ef381e0c09da33590296ca37f"
+SRC_URI[sha256sum] = "efa6bbbeb3bd54104425a69a2aa0d079bb5c3ecc1c420ba57dcaa1c97c5a22f6"
+
+inherit pkgconfig autotools gettext texinfo
+DEPENDS = "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0"
+RDEPENDS_${PN} = "tk-lib"
+
+EXTRA_OECONF = "--with-tcl=${STAGING_BINDIR_CROSS} --with-tk=${STAGING_BINDIR_CROSS}"
+
+FILES_${PN} = "${bindir} ${datadir}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch b/meta-openembedded/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch
new file mode 100644
index 000000000..db400f702
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch b/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch
new file mode 100644
index 000000000..c95bd18da
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch b/meta-openembedded/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch
new file mode 100644
index 000000000..73956dee9
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb b/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb
new file mode 100644
index 000000000..f86d7c16b
--- /dev/null
+++ b/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 distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+S = "${WORKDIR}/xforms-${PV}"
+
+DEPENDS = "libxpm jpeg libx11 mesa"
+RDEPENDS_${PN} = "bash"
+
+EXTRA_OECONF = "--with-extra-inc=${S}/lib"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
deleted file mode 100644
index 38dac06e6..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb
new file mode 100644
index 000000000..88a859ba2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb
@@ -0,0 +1,34 @@
+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 ??= " \
+ gcrypt \
+ gnutls \
+ jpeg \
+ lzo \
+ png \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
+ sdl \
+ zlib \
+"
+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[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[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+
+inherit cmake
+
+SRC_URI = "git://github.com/LibVNC/libvncserver"
+SRCREV = "c0a23857a5c42b45b6d22ccf7218becd1fa69402"
+
+
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
deleted file mode 100644
index e0f72cd58..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.42.0.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.42.0.bb
new file mode 100644
index 000000000..8a85db475
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.42.0.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] = "6cffedf2225c4e72645a7d757fb5b832"
+SRC_URI[sha256sum] = "ca6da067ff93a6445780c0b4b226eb84f484ab104b8391fb744a45cbc7edbf56"
+
+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/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
index f5397750f..108c339bf 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch
new file mode 100644
index 000000000..78598ea1e
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch
new file mode 100644
index 000000000..e9a45c24f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch
@@ -0,0 +1,24 @@
+From 03127fd5a6eff5ae2ebea2e9c6c01fbf1a0a421a Mon Sep 17 00:00:00 2001
+From: Ankit Navik <ankit.tarot@gmail.com>
+Date: Tue, 25 Dec 2018 14:34:09 +0530
+Subject: [PATCH] tools/lesspipe: Allow generic shell
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/SPIRV-Tools/pull/2255]
+Signed-off-by: Ankit Navik <ankit.tarot@gmail.com>
+---
+ tools/lesspipe/spirv-lesspipe.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/lesspipe/spirv-lesspipe.sh b/tools/lesspipe/spirv-lesspipe.sh
+index 81e3355..f955259 100644
+--- a/tools/lesspipe/spirv-lesspipe.sh
++++ b/tools/lesspipe/spirv-lesspipe.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env sh
+ # Copyright (c) 2016 The Khronos Group Inc.
+
+ # Licensed under the Apache License, Version 2.0 (the "License");
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb b/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb
new file mode 100644
index 000000000..b787972da
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb b/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb
new file mode 100644
index 000000000..aae11dffc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb
@@ -0,0 +1,32 @@
+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 \
+ file://0001-tools-lesspipe-Allow-generic-shell.patch \
+ 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 \
+"
+SRCREV_spirv-tools = "167f1270a9ee641b17c016a545741e4aadfabe86"
+SRCREV_spirv-headers = "4618b86e9e4b027a22040732dfee35e399cd2c47"
+SRCREV_effcee = "8f0a61dc95e0df18c18e0ac56d83b3fa9d2fe90b"
+SRCREV_re2 = "2cf86e5ab6dcfe045a1f510c2b9a8b012a4158cd"
+SRCREV_googletest = "150613166524c474a8a97df4c01d46b72050c495"
+
+inherit cmake python3native
+
+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/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
index 522f0fb7d..9de02b0f3 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
index e62badf77..8dba7ee6f 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch
new file mode 100644
index 000000000..a15f3fe5b
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch
deleted file mode 100644
index f2a538bf6..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
index f62e405dd..060319c76 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
deleted file mode 100644
index b047bc462..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
new file mode 100644
index 000000000..1aace0200
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -0,0 +1,40 @@
+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"
+
+SRC_URI = "https://github.com/LibVNC/x11vnc/archive/${PV}.tar.gz;downloadfilename=x11vnc-${PV}.tar.gz\
+ file://starting-fix.patch \
+ file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \
+"
+
+SRC_URI[md5sum] = "64172e8f896389ec963fff93415f0d93"
+SRC_URI[sha256sum] = "885e5b5f5f25eec6f9e4a1e8be3d0ac71a686331ee1cfb442dba391111bd32bd"
+
+DEPENDS = "\
+ jpeg \
+ libtasn1 \
+ libvncserver \
+ openssl \
+ p11-kit \
+ zlib \
+"
+
+inherit pkgconfig autotools distro_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/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.10.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.10.bb
new file mode 100644
index 000000000..3a2267ae9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.10.bb
@@ -0,0 +1,15 @@
+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] = "e322c08eeb635f924ede5b8eba3db54e"
+SRC_URI[sha256sum] = "6449eadca16ce0f0d900605b0cc020b95f40619261b7beccfb46bcc1836445d7"
+
+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/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb
deleted file mode 100644
index 41c804bb3..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
deleted file mode 100644
index 694bf57ac..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb
new file mode 100644
index 000000000..1ad48b071
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb
index 969c1a0a6..b38fb6592 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb
@@ -12,8 +12,6 @@ DEPENDS += "virtual/libx11 libxvmc drm \
inherit distro_features_check
REQUIRED_DISTRO_FEATURES += "opengl"
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
SRC_URI[md5sum] = "40e7c0a5a69aba3d84e0958f58705ea7"
SRC_URI[sha256sum] = "72ea3b8127d4550b64f797457f5a7851a541fa4ee2cc3f345b6c1886b81714a0"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
deleted file mode 100644
index 182e18fd9..000000000
--- a/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/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb
new file mode 100644
index 000000000..c113d51dc
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
index dd7eaa2aa..f75ac6f81 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
@@ -27,7 +27,7 @@ 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}"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb b/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
index 4544f5b2e..928973871 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
@@ -30,7 +30,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/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.4.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.4.bb
deleted file mode 100644
index c72b1a321..000000000
--- a/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/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb
new file mode 100644
index 000000000..0b2335682
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb
@@ -0,0 +1,120 @@
+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] = "3f6e18d38821bb326700f1d6d43bcaec"
+SRC_URI[sha256sum] = "114a83ca27c91e4321f6399d637a9d2270f72b9327e56d687c5fb139e903069b"
+
+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/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
index 766f4fc76..156b4d57d 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
+++ b/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 0d1cdb59da3603e0a80913617ece0164b05380d2 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,19 +21,20 @@ 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>
---
- arch/ppc64.c | 28 ++--------------------------
- 1 file changed, 2 insertions(+), 26 deletions(-)
+ arch/ppc64.c | 33 ++-------------------------------
+ 1 file changed, 2 insertions(+), 31 deletions(-)
diff --git a/arch/ppc64.c b/arch/ppc64.c
-index 8b6f7d5..458f06b 100644
+index 947a125..458f06b 100644
--- a/arch/ppc64.c
+++ b/arch/ppc64.c
-@@ -462,38 +462,14 @@ ppc64_vtop_level4(unsigned long vaddr)
- return paddr;
+@@ -463,42 +463,13 @@ ppc64_vtop_level4(unsigned long vaddr)
}
--int
+ int
-set_ppc64_max_physmem_bits(void)
-{
- long array_len = ARRAY_LENGTH(mem_section);
@@ -52,10 +53,15 @@ 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;
+-
- return FALSE;
-}
-
- int
+-int
get_machdep_info_ppc64(void)
{
unsigned long vmlist, vmap_area_list, vmalloc_start;
@@ -70,3 +76,6 @@ index 8b6f7d5..458f06b 100644
info->page_offset = __PAGE_OFFSET;
if (SYMBOL(_stext) == NOT_FOUND_SYMBOL) {
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb
deleted file mode 100644
index 33194b850..000000000
--- a/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/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.5.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.5.bb
new file mode 100644
index 000000000..413b413a9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.5.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] = "1737f8e8904d565629f0c9e702f92d02"
+SRC_URI[sha256sum] = "5d4f1d6ded8dca6951eeabcf4bb1ebf6575288fee947529397103c040eb5c760"
+
+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/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
deleted file mode 100644
index bae5cf4f9..000000000
--- a/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/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
new file mode 100644
index 000000000..50dab8d16
--- /dev/null
+++ b/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/
+EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
index 349e2bf54..515ea8faf 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
@@ -25,6 +25,7 @@ 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 \
"
UPSTREAM_CHECK_REGEX = "oprofile-(?P<pver>\d+(\.\d+)+)/"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch
new file mode 100644
index 000000000..5fd23f809
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb b/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb
deleted file mode 100644
index 9e5a3817a..000000000
--- a/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/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb b/meta-openembedded/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb
new file mode 100644
index 000000000..8b3aafc3b
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-Fix-OSX-build.patch b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-Fix-OSX-build.patch
new file mode 100644
index 000000000..d9a3ab7cc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-Fix-OSX-build.patch
@@ -0,0 +1,27 @@
+From dd65685c24bb25a800ed42388ed0a1e8792b2ed2 Mon Sep 17 00:00:00 2001
+From: falkTX <falktx@gmail.com>
+Date: Sat, 24 Nov 2018 14:29:58 +0100
+Subject: [PATCH] Fix OSX build
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://github.com/jackaudio/jack2/commit/d851fada460d42508a6f82b19867f63853062583]
+---
+ posix/JackNetUnixSocket.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/posix/JackNetUnixSocket.cpp b/posix/JackNetUnixSocket.cpp
+index 7a5585ef..a4cb5036 100644
+--- a/posix/JackNetUnixSocket.cpp
++++ b/posix/JackNetUnixSocket.cpp
+@@ -169,7 +169,7 @@ namespace Jack
+
+ int JackNetUnixSocket::Bind()
+ {
+- return bind(fSockfd, reinterpret_cast<socket_address_t*>(&fRecvAddr), sizeof(socket_address_t));
++ return ::bind(fSockfd, reinterpret_cast<socket_address_t*>(&fRecvAddr), sizeof(socket_address_t));
+ }
+
+ int JackNetUnixSocket::BindWith(const char* ip)
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
index 52559cb36..477af8ced 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
@@ -16,6 +16,7 @@ DEPENDS = "libsamplerate0 libsndfile1 readline"
SRC_URI = "git://github.com/jackaudio/jack2.git \
file://0001-Python-3.7-fixes-2126.patch \
+ file://0001-Fix-OSX-build.patch \
"
SRCREV = "c1647819eed6d11f94b21981d9c869629299f357"
PV = "1.9.12"
@@ -25,6 +26,8 @@ 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
@@ -35,6 +38,11 @@ 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-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/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
index 14ea66442..4fe744c1a 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
@@ -8,7 +8,7 @@ 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 = "http://www.live555.com/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"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb
deleted file mode 100644
index 27fc42987..000000000
--- a/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/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190306.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190306.bb
new file mode 100644
index 000000000..fa6057dc2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190306.bb
@@ -0,0 +1,8 @@
+require live555.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+SRC_URI[md5sum] = "a84ca3946d899f5592c7d31012ed2fe3"
+SRC_URI[sha256sum] = "0bd0c26d980425d9a419d835193e292a08a968f175da1902da4b495f126d5abd"
+
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.6.1.bb
deleted file mode 100644
index e17cda1a9..000000000
--- a/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/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.7.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.7.0.bb
new file mode 100644
index 000000000..1d04ed1bd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.7.0.bb
@@ -0,0 +1,51 @@
+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"
+
+# SRCREV for 1.7.0
+SRCREV = "133f83e2c34b8d770ae06aa595cef3e254173fcb"
+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/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb b/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb
index e87803826..b1b150a7d 100644
--- a/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb
+++ b/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb
@@ -42,6 +42,8 @@ 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
}
diff --git a/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.10.2.bb b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.10.2.bb
new file mode 100644
index 000000000..18566284c
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb
deleted file mode 100644
index 6dee66f69..000000000
--- a/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/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_56.bb b/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_56.bb
new file mode 100644
index 000000000..e4eb54286
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_56.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=25;md5=7204fec4d12912f2a13fe8745bc356f9 \
+ file://strlcpy.c;beginline=1;endline=17;md5=d953f28f0c43ee29e238ec9bc15df2a0 \
+ "
+
+SRC_URI = "http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R56c.tgz"
+
+SRC_URI[md5sum] = "4799a9ac6d55871d79ba66713d928663"
+SRC_URI[sha256sum] = "dd86ebc421215a7b44095dc13b056921ba81e61b9f6f4cdab08ca135d02afb77"
+
+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/meta-openembedded/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb b/meta-openembedded/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb
new file mode 100644
index 000000000..4ea6c8a29
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.1.bb b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.1.bb
deleted file mode 100644
index 28cd9c0e1..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.2.bb b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.12.2.bb
new file mode 100644
index 000000000..35f875fdc
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-add-sys-sysmacros.h-for-major-minor-macros.patch b/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-add-sys-sysmacros.h-for-major-minor-macros.patch
deleted file mode 100644
index 564606197..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-atop.daily-atop.init-atop-pm.sh-Avoid-using-bash.patch b/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 000000000..facb257be
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch b/meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch
index ee7419993..8488b3800 100644
--- a/meta-openembedded/meta-oe/recipes-support/atop/atop/fix-permissions.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/atop/atop/remove-bashisms.patch b/meta-openembedded/meta-oe/recipes-support/atop/atop/remove-bashisms.patch
deleted file mode 100644
index f1fcbfed7..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch b/meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch
index 5994d3e08..1145a2493 100644
--- a/meta-openembedded/meta-oe/recipes-support/atop/atop/sysvinit-implement-status.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/atop/atop_2.3.0.bb b/meta-openembedded/meta-oe/recipes-support/atop/atop_2.3.0.bb
deleted file mode 100644
index 302813c2e..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb b/meta-openembedded/meta-oe/recipes-support/atop/atop_2.4.0.bb
new file mode 100644
index 000000000..5bde96519
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch
deleted file mode 100644
index 8ef774f0f..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc/musl_header_fix.patch
deleted file mode 100644
index 4a1849665..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.0.bb
deleted file mode 100644
index dcb68f028..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.12.bb b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.12.bb
new file mode 100644
index 000000000..b1c1099bb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_7.6.12.bb
@@ -0,0 +1,40 @@
+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=728501f233050290314d33fb07d883eb"
+
+SRCREV = "a46546f40d18e60c31077c2e7c8bb4e44bf1bef1"
+SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-7_6 \
+ "
+
+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/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb
index 6899b1264..e62c1d3d1 100644
--- a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb
@@ -6,11 +6,14 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c271fee3ae28e11b24b97284d9f82887"
SRCREV = "bd4dc911847d0cde7a6b41dfa626a85aab213baf"
PV .= "+git${SRCPV}"
-SRC_URI += "gitsm://github.com/CLIUtils/CLI11"
+SRC_URI += "gitsm://github.com/CLIUtils/CLI11 \
+ file://0001-Add-CLANG_TIDY-check.patch \
+ "
S = "${WORKDIR}/git"
inherit cmake
inherit ptest
+EXTRA_OECMAKE += "-DCLANG_TIDY=OFF"
DEPENDS += "boost"
diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch b/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch
new file mode 100644
index 000000000..bef3548a2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch
@@ -0,0 +1,27 @@
+From ef6310bc726a53ff6b45071633fa7b37224cae96 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 79404b8..f68217d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,7 +39,7 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
+ add_definitions(-Wall -Wextra -pedantic)
+ 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(
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/950-fix.patch
deleted file mode 100644
index 3ae46a115..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
deleted file mode 100644
index 75f74ec65..000000000
--- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Description: new toolchain might have increased the float precision
-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;
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
deleted file mode 100644
index 2dff0d97c..000000000
--- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-Description: Debian forbids calls to external websites.
-
-Author: Gianfranco Costamagna <locutus@debian.org>
-Origin: Debian
-Forwarded: not-needed
-Reviewed-By: Gianfranco Costamagna <locutusofborg@debian.org>
-Last-Update: 2015-11-25
-
-Index: casablanca/Release/tests/functional/http/client/CMakeLists.txt
-===================================================================
---- casablanca.orig/Release/tests/functional/http/client/CMakeLists.txt
-+++ casablanca/Release/tests/functional/http/client/CMakeLists.txt
-@@ -12,7 +12,6 @@
- multiple_requests.cpp
- oauth1_tests.cpp
- oauth2_tests.cpp
-- outside_tests.cpp
- pipeline_stage_tests.cpp
- progress_handler_tests.cpp
- proxy_tests.cpp
-Index: casablanca/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());
- }
-
-+/*
- TEST(auth_no_data)
- {
- auth_test_impl(false);
- }
-+*/
-
-+/*
- TEST(unsuccessful_auth_with_basic_cred)
- {
- auth_test_impl(true);
- }
-+*/
-
- 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
-===================================================================
---- 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;
- }
- }
--
-+*/
- // These tests are specific to our websocketpp based implementation.
- #if !defined(__cplusplus_winrt)
-
-@@ -153,14 +153,15 @@
- 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;
- }
- }
--
-+*/
-+/*
- // 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
-===================================================================
---- 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 @@
- }
- #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 @@
-
- VERIFY_THROWS_HTTP_ERROR_CODE(t.get(), std::errc::operation_canceled);
- }
--
-+*/
- } // SUITE(connections_and_errors)
-
- }}}}
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/disable-test-timeouts.patch
deleted file mode 100644
index 93c3e8a26..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/revert-9b670e5b33dfdbd501d618cd7e7498148ffbd559.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/revert-9b670e5b33dfdbd501d618cd7e7498148ffbd559.patch
new file mode 100644
index 000000000..9af2cbf36
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/revert-9b670e5b33dfdbd501d618cd7e7498148ffbd559.patch
@@ -0,0 +1,26 @@
+Description: revert upstream bugfix (see:https://github.com/Microsoft/cpprestsdk/issues/1090)
+Last-Update: 2019-03-28
+
+--- cpprest-2.10.12.orig/Release/src/utilities/asyncrt_utils.cpp
++++ cpprest-2.10.12/Release/src/utilities/asyncrt_utils.cpp
+@@ -1393,16 +1393,15 @@ utility::seconds __cdecl timespan::xml_d
+ return utility::seconds(numSecs);
+ }
+
+-static const char c_allowed_chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+-static const int chars_count = static_cast<int>(sizeof(c_allowed_chars) - 1);
++static const utility::char_t c_allowed_chars[] =
++ _XPLATSTR("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
+
+ utility::string_t nonce_generator::generate()
+ {
+- std::uniform_int_distribution<> distr(0, chars_count - 1);
++ std::uniform_int_distribution<> distr(0, static_cast<int>(sizeof(c_allowed_chars) / sizeof(utility::char_t)) - 1);
+ utility::string_t result;
+ result.reserve(length());
+- std::generate_n(std::back_inserter(result), length(),
+- [&] { return static_cast<utility::char_t>(c_allowed_chars[distr(m_random)]); });
++ std::generate_n(std::back_inserter(result), length(), [&]() { return c_allowed_chars[distr(m_random)]; });
+ return result;
+ }
+
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/revert-f10d9f8e214516d2c19aa6ef831ee874a58c0479.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/revert-f10d9f8e214516d2c19aa6ef831ee874a58c0479.patch
new file mode 100644
index 000000000..01e463113
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/revert-f10d9f8e214516d2c19aa6ef831ee874a58c0479.patch
@@ -0,0 +1,1557 @@
+Description: revert upstream bugfix (see:https://github.com/Microsoft/cpprestsdk/issues/1090)
+Last-Update: 2019-03-28
+
+--- cpprest-2.10.12.orig/Release/include/cpprest/asyncrt_utils.h
++++ cpprest-2.10.12/Release/include/cpprest/asyncrt_utils.h
+@@ -630,6 +630,15 @@ private:
+ static const interval_type _hourTicks = 60 * 60 * _secondTicks;
+ static const interval_type _dayTicks = 24 * 60 * 60 * _secondTicks;
+
++#ifdef _WIN32
++ // void* to avoid pulling in windows.h
++ static _ASYNCRTIMP bool __cdecl system_type_to_datetime(/*SYSTEMTIME*/ void* psysTime,
++ uint64_t seconds,
++ datetime* pdt);
++#else
++ static datetime timeval_to_datetime(const timeval& time);
++#endif
++
+ // Private constructor. Use static methods to create an instance.
+ datetime(interval_type interval) : m_interval(interval) {}
+
+@@ -690,6 +699,7 @@ public:
+ void set_length(int length) { m_length = length; }
+
+ private:
++ static const utility::string_t c_allowed_chars;
+ std::mt19937 m_random;
+ int m_length;
+ };
+--- cpprest-2.10.12.orig/Release/src/pch/stdafx.h
++++ cpprest-2.10.12/Release/src/pch/stdafx.h
+@@ -61,6 +61,7 @@
+ #undef BOOST_NO_CXX11_NULLPTR
+ #endif
+ #include "boost/bind/bind.hpp"
++#include "boost/date_time/posix_time/posix_time_types.hpp"
+ #include "boost/thread/condition_variable.hpp"
+ #include "boost/thread/mutex.hpp"
+ #include <fcntl.h>
+--- cpprest-2.10.12.orig/Release/src/utilities/asyncrt_utils.cpp
++++ cpprest-2.10.12/Release/src/utilities/asyncrt_utils.cpp
+@@ -15,9 +15,20 @@
+
+ #include <algorithm>
+ #include <cpprest/asyncrt_utils.h>
+-#include <stdexcept>
++#include <sstream>
+ #include <string>
+-#include <time.h>
++
++#ifndef _WIN32
++#if defined(__clang__)
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wunused-local-typedef"
++#endif
++#include <boost/date_time/posix_time/posix_time.hpp>
++#include <boost/date_time/posix_time/posix_time_io.hpp>
++#if defined(__clang__)
++#pragma clang diagnostic pop
++#endif
++#endif
+
+ using namespace web;
+ using namespace utility;
+@@ -618,7 +629,18 @@ std::string __cdecl conversions::to_utf8
+
+ utf16string __cdecl conversions::to_utf16string(const std::string& value) { return utf8_to_utf16(value); }
+
+-static const uint64_t ntToUnixOffsetSeconds = 11644473600U; // diff between windows and unix epochs (seconds)
++#ifndef WIN32
++datetime datetime::timeval_to_datetime(const timeval& time)
++{
++ const uint64_t epoch_offset = 11644473600LL; // diff between windows and unix epochs (seconds)
++ uint64_t result = epoch_offset + time.tv_sec;
++ result *= _secondTicks; // convert to 10e-7
++ result += time.tv_usec * 10; // convert and add microseconds, 10e-6 to 10e-7
++ return datetime(result);
++}
++#endif
++
++static bool is_digit(utility::char_t c) { return c >= _XPLATSTR('0') && c <= _XPLATSTR('9'); }
+
+ datetime __cdecl datetime::utc_now()
+ {
+@@ -634,649 +656,450 @@ datetime __cdecl datetime::utc_now()
+ #else // LINUX
+ struct timeval time;
+ gettimeofday(&time, nullptr);
+- uint64_t result = ntToUnixOffsetSeconds + time.tv_sec;
+- result *= _secondTicks; // convert to 10e-7
+- result += time.tv_usec * 10; // convert and add microseconds, 10e-6 to 10e-7
+- return datetime(result);
++ return timeval_to_datetime(time);
+ #endif
+ }
+
+-static const char dayNames[] = "Sun\0Mon\0Tue\0Wed\0Thu\0Fri\0Sat";
+-static const char monthNames[] = "Jan\0Feb\0Mar\0Apr\0May\0Jun\0Jul\0Aug\0Sep\0Oct\0Nov\0Dec";
+-
+ utility::string_t datetime::to_string(date_format format) const
+ {
+- const uint64_t input = m_interval / _secondTicks; // convert to seconds
+- const int frac_sec = static_cast<int>(m_interval % _secondTicks);
+- const time_t time = static_cast<time_t>(input - ntToUnixOffsetSeconds);
+- struct tm t;
+-#ifdef _MSC_VER
+- if (gmtime_s(&t, &time) != 0)
+-#else // ^^^ _MSC_VER ^^^ // vvv !_MSC_VER vvv
+- if (gmtime_r(&time, &t) == 0)
+-#endif // _MSC_VER
+- {
+- throw std::invalid_argument("gmtime_r/s failed on the time supplied");
+- }
+-
+- char outBuffer[38]; // Thu, 01 Jan 1970 00:00:00 GMT\0
+- // 1970-01-01T00:00:00.1234567Z\0
+- char* outCursor = outBuffer;
+- switch (format)
+- {
+- case RFC_1123:
+-#ifdef _MSC_VER
+- sprintf_s(outCursor,
+- 26,
+- "%s, %02d %s %04d %02d:%02d:%02d",
+- dayNames + 4 * t.tm_wday,
+- t.tm_mday,
+- monthNames + 4 * t.tm_mon,
+- t.tm_year + 1900,
+- t.tm_hour,
+- t.tm_min,
+- t.tm_sec);
+-#else // ^^^ _MSC_VER // !_MSC_VER vvv
+- sprintf(outCursor,
+- "%s, %02d %s %04d %02d:%02d:%02d",
+- dayNames + 4 * t.tm_wday,
+- t.tm_mday,
+- monthNames + 4 * t.tm_mon,
+- t.tm_year + 1900,
+- t.tm_hour,
+- t.tm_min,
+- t.tm_sec);
+-#endif // _MSC_VER
+- outCursor += 25;
+- memcpy(outCursor, " GMT", 4);
+- outCursor += 4;
+- return utility::string_t(outBuffer, outCursor);
+- case ISO_8601:
+-#ifdef _MSC_VER
+- sprintf_s(outCursor,
+- 20,
+- "%04d-%02d-%02dT%02d:%02d:%02d",
+- t.tm_year + 1900,
+- t.tm_mon + 1,
+- t.tm_mday,
+- t.tm_hour,
+- t.tm_min,
+- t.tm_sec);
+-#else // ^^^ _MSC_VER // !_MSC_VER vvv
+- sprintf(outCursor,
+- "%04d-%02d-%02dT%02d:%02d:%02d",
+- t.tm_year + 1900,
+- t.tm_mon + 1,
+- t.tm_mday,
+- t.tm_hour,
+- t.tm_min,
+- t.tm_sec);
+-#endif // _MSC_VER
+- outCursor += 19;
+- if (frac_sec != 0)
+- {
+- // Append fractional second, which is a 7-digit value with no trailing zeros
+- // This way, '1200' becomes '00012'
+-#ifdef _MSC_VER
+- size_t appended = sprintf_s(outCursor, 9, ".%07d", frac_sec);
+-#else // ^^^ _MSC_VER // !_MSC_VER vvv
+- size_t appended = sprintf(outCursor, ".%07d", frac_sec);
+-#endif // _MSC_VER
+- while (outCursor[appended - 1] == '0')
+- {
+- --appended; // trim trailing zeros
+- }
+-
+- outCursor += appended;
+- }
+-
+- *outCursor = 'Z';
+- ++outCursor;
+- return utility::string_t(outBuffer, outCursor);
+- default: throw std::invalid_argument("Unrecognized date format.");
+- }
+-}
+-
+-template<class CharT>
+-static bool string_starts_with(const CharT* haystack, const char* needle)
+-{
+- while (*needle)
+- {
+- if (*haystack != static_cast<CharT>(*needle))
+- {
+- return false;
+- }
+-
+- ++haystack;
+- ++needle;
+- }
+-
+- return true;
+-}
+-
+-#define ascii_isdigit(c) ((unsigned char)((unsigned char)(c) - '0') <= 9)
+-#define ascii_isdigit6(c) ((unsigned char)((unsigned char)(c) - '0') <= 6)
+-#define ascii_isdigit5(c) ((unsigned char)((unsigned char)(c) - '0') <= 5)
+-#define ascii_isdigit3(c) ((unsigned char)((unsigned char)(c) - '0') <= 3)
+-#define ascii_isdigit2(c) ((unsigned char)((unsigned char)(c) - '0') <= 2)
+-#define ascii_isdigit1(c) ((unsigned char)((unsigned char)(c) - '0') <= 1)
+-
+-static const unsigned char max_days_in_month[12] = {
+- 31, // Jan
+- 00, // Feb, special handling for leap years
+- 31, // Mar
+- 30, // Apr
+- 31, // May
+- 30, // Jun
+- 31, // Jul
+- 31, // Aug
+- 30, // Sep
+- 31, // Oct
+- 30, // Nov
+- 31 // Dec
+-};
+-
+-static bool validate_day_month(int day, int month, int year)
+-{
+- int maxDaysThisMonth;
+- if (month == 1)
+- { // Feb needs leap year testing
+- maxDaysThisMonth = 28 + (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
+- }
+- else
+- {
+- maxDaysThisMonth = max_days_in_month[month];
+- }
+-
+- return day >= 1 && day <= maxDaysThisMonth;
+-}
++#ifdef _WIN32
++ int status;
+
+-template<class CharT>
+-static int atoi2(const CharT* str)
+-{
+- return (static_cast<unsigned char>(str[0]) - '0') * 10 + (static_cast<unsigned char>(str[1]) - '0');
+-}
++ ULARGE_INTEGER largeInt;
++ largeInt.QuadPart = m_interval;
+
+-static const time_t maxTimeT = sizeof(time_t) == 4 ? (time_t)INT_MAX : (time_t)LLONG_MAX;
++ FILETIME ft;
++ ft.dwHighDateTime = largeInt.HighPart;
++ ft.dwLowDateTime = largeInt.LowPart;
+
+-static time_t timezone_adjust(time_t result, unsigned char chSign, int adjustHours, int adjustMinutes)
+-{
+- if (adjustHours > 23)
++ SYSTEMTIME systemTime;
++ if (!FileTimeToSystemTime((const FILETIME*)&ft, &systemTime))
+ {
+- return (time_t)-1;
++ throw utility::details::create_system_error(GetLastError());
+ }
+
+- // adjustMinutes > 59 is impossible due to digit 5 check
+- const int tzAdjust = adjustMinutes * 60 + adjustHours * 60 * 60;
+- if (chSign == '-')
++ std::wstring result;
++ if (format == RFC_1123)
+ {
+- if (maxTimeT - result < tzAdjust)
+ {
+- return (time_t)-1;
++ wchar_t dateStr[18] = {0};
++#if _WIN32_WINNT < _WIN32_WINNT_VISTA
++ status = GetDateFormatW(
++ LOCALE_INVARIANT, 0, &systemTime, L"ddd',' dd MMM yyyy", dateStr, sizeof(dateStr) / sizeof(wchar_t));
++#else
++ status = GetDateFormatEx(LOCALE_NAME_INVARIANT,
++ 0,
++ &systemTime,
++ L"ddd',' dd MMM yyyy",
++ dateStr,
++ sizeof(dateStr) / sizeof(wchar_t),
++ NULL);
++#endif // _WIN32_WINNT < _WIN32_WINNT_VISTA
++ if (status == 0)
++ {
++ throw utility::details::create_system_error(GetLastError());
++ }
++
++ result += dateStr;
++ result += L' ';
+ }
+
+- result += tzAdjust;
+- }
+- else
+- {
+- if (tzAdjust > result)
+ {
+- return (time_t)-1;
+- }
+-
+- result -= tzAdjust;
+- }
+-
+- return result;
+-}
+-
+-static time_t make_gm_time(struct tm* t)
+-{
+-#ifdef _MSC_VER
+- return _mkgmtime(t);
+-#elif (defined(ANDROID) || defined(__ANDROID__))
+- // HACK: The (nonportable?) POSIX function timegm is not available in
+- // bionic. As a workaround[1][2], we set the C library timezone to
+- // UTC, call mktime, then set the timezone back. However, the C
+- // environment is fundamentally a shared global resource and thread-
+- // unsafe. We can protect our usage here, however any other code might
+- // manipulate the environment at the same time.
+- //
+- // [1] http://linux.die.net/man/3/timegm
+- // [2] http://www.gnu.org/software/libc/manual/html_node/Broken_002ddown-Time.html
+- time_t time;
+- static boost::mutex env_var_lock;
+- {
+- boost::lock_guard<boost::mutex> lock(env_var_lock);
+- std::string prev_env;
+- auto prev_env_cstr = getenv("TZ");
+- if (prev_env_cstr != nullptr)
+- {
+- prev_env = prev_env_cstr;
+- }
+- setenv("TZ", "UTC", 1);
+-
+- time = mktime(t);
++ wchar_t timeStr[10] = {0};
++#if _WIN32_WINNT < _WIN32_WINNT_VISTA
++ status = GetTimeFormatW(LOCALE_INVARIANT,
++ TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT,
++ &systemTime,
++ L"HH':'mm':'ss",
++ timeStr,
++ sizeof(timeStr) / sizeof(wchar_t));
++#else
++ status = GetTimeFormatEx(LOCALE_NAME_INVARIANT,
++ TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT,
++ &systemTime,
++ L"HH':'mm':'ss",
++ timeStr,
++ sizeof(timeStr) / sizeof(wchar_t));
++#endif // _WIN32_WINNT < _WIN32_WINNT_VISTA
++ if (status == 0)
++ {
++ throw utility::details::create_system_error(GetLastError());
++ }
+
+- if (prev_env_cstr)
+- {
+- setenv("TZ", prev_env.c_str(), 1);
+- }
+- else
+- {
+- unsetenv("TZ");
++ result += timeStr;
++ result += L" GMT";
+ }
+ }
+- return time;
+-#else // ^^^ ANDROID // Other POSIX platforms vvv
+- return timegm(t);
+-#endif // _MSC_VER
+-}
+-
+-/*
+-https://tools.ietf.org/html/rfc822
+-https://tools.ietf.org/html/rfc1123
+-
+-date-time = [ day "," ] date time ; dd mm yy
+- ; hh:mm:ss zzz
+-
+-day = "Mon" / "Tue" / "Wed" / "Thu"
+- / "Fri" / "Sat" / "Sun"
+-
+-date = 1*2DIGIT month 2DIGIT ; day month year
+- ; e.g. 20 Jun 82
+-RFC1123 changes this to:
+-date = 1*2DIGIT month 2*4DIGIT ; day month year
+- ; e.g. 20 Jun 1982
+-This implementation only accepts 4 digit years.
+-
+-month = "Jan" / "Feb" / "Mar" / "Apr"
+- / "May" / "Jun" / "Jul" / "Aug"
+- / "Sep" / "Oct" / "Nov" / "Dec"
+-
+-time = hour zone ; ANSI and Military
+-
+-hour = 2DIGIT ":" 2DIGIT [":" 2DIGIT]
+- ; 00:00:00 - 23:59:59
+-
+-zone = "UT" / "GMT" ; Universal Time
+- ; North American : UT
+- / "EST" / "EDT" ; Eastern: - 5/ - 4
+- / "CST" / "CDT" ; Central: - 6/ - 5
+- / "MST" / "MDT" ; Mountain: - 7/ - 6
+- / "PST" / "PDT" ; Pacific: - 8/ - 7
+-
+-// military time deleted by RFC 1123
+-
+- / ( ("+" / "-") 4DIGIT ) ; Local differential
+- ; hours+min. (HHMM)
+-*/
+-
+-
+-datetime __cdecl datetime::from_string(const utility::string_t& dateString, date_format format)
+-{
+- datetime result;
+- time_t seconds;
+- uint64_t frac_sec = 0;
+- struct tm t{};
+- auto str = dateString.c_str();
+- if (format == RFC_1123)
++ else if (format == ISO_8601)
+ {
+- int parsedWeekday = -1;
+- for (int day = 0; day < 7; ++day)
++ const size_t buffSize = 64;
+ {
+- if (string_starts_with(str, dayNames + day * 4) && str[3] == _XPLATSTR(',') && str[4] == _XPLATSTR(' '))
++ wchar_t dateStr[buffSize] = {0};
++#if _WIN32_WINNT < _WIN32_WINNT_VISTA
++ status = GetDateFormatW(LOCALE_INVARIANT, 0, &systemTime, L"yyyy-MM-dd", dateStr, buffSize);
++#else
++ status = GetDateFormatEx(LOCALE_NAME_INVARIANT, 0, &systemTime, L"yyyy-MM-dd", dateStr, buffSize, NULL);
++#endif // _WIN32_WINNT < _WIN32_WINNT_VISTA
++ if (status == 0)
+ {
+- parsedWeekday = day;
+- str += 5; // parsed day of week
+- break;
++ throw utility::details::create_system_error(GetLastError());
+ }
+- }
+
+- if (ascii_isdigit3(str[0]) && ascii_isdigit(str[1]) && str[2] == _XPLATSTR(' '))
+- {
+- t.tm_mday = atoi2(str); // validity checked later
+- str += 3; // parsed day
+- }
+- else if (ascii_isdigit(str[0]) && str[1] == _XPLATSTR(' '))
+- {
+- t.tm_mday = str[0] - _XPLATSTR('0');
+- str += 2; // parsed day
+- }
+- else
+- {
+- return result;
++ result += dateStr;
++ result += L'T';
+ }
+
+- t.tm_mon = -1;
+- for (int month = 0; month < 12; ++month)
+ {
+- if (string_starts_with(str, monthNames + month * 4))
++ wchar_t timeStr[buffSize] = {0};
++#if _WIN32_WINNT < _WIN32_WINNT_VISTA
++ status = GetTimeFormatW(LOCALE_INVARIANT,
++ TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT,
++ &systemTime,
++ L"HH':'mm':'ss",
++ timeStr,
++ buffSize);
++#else
++ status = GetTimeFormatEx(LOCALE_NAME_INVARIANT,
++ TIME_NOTIMEMARKER | TIME_FORCE24HOURFORMAT,
++ &systemTime,
++ L"HH':'mm':'ss",
++ timeStr,
++ buffSize);
++#endif // _WIN32_WINNT < _WIN32_WINNT_VISTA
++ if (status == 0)
+ {
+- t.tm_mon = month;
+- break;
++ throw utility::details::create_system_error(GetLastError());
+ }
+- }
+
+- if (t.tm_mon == -1 || str[3] != _XPLATSTR(' '))
+- {
+- return result;
++ result += timeStr;
+ }
+
+- str += 4; // parsed month
+-
+- if (!ascii_isdigit3(str[0]) || !ascii_isdigit(str[1]) || !ascii_isdigit(str[2]) || !ascii_isdigit(str[3]) ||
+- str[4] != ' ')
++ uint64_t frac_sec = largeInt.QuadPart % _secondTicks;
++ if (frac_sec > 0)
+ {
+- return result;
++ // Append fractional second, which is a 7-digit value with no trailing zeros
++ // This way, '1200' becomes '00012'
++ wchar_t buf[9] = {0};
++ size_t appended = swprintf_s(buf, 9, L".%07ld", static_cast<long>(frac_sec));
++ while (buf[appended - 1] == L'0')
++ --appended; // trim trailing zeros
++ result.append(buf, appended);
+ }
+
+- t.tm_year = (str[0] - _XPLATSTR('0')) * 1000 + (str[1] - _XPLATSTR('0')) * 100 +
+- (str[2] - _XPLATSTR('0')) * 10 + (str[3] - _XPLATSTR('0'));
+- if (t.tm_year < 1970 || t.tm_year > 3000)
+- {
+- return result;
+- }
++ result += L'Z';
++ }
+
+- // days in month validity check
+- if (!validate_day_month(t.tm_mday, t.tm_mon, t.tm_year))
+- {
+- return result;
+- }
++ return result;
++#else // LINUX
++ uint64_t input = m_interval;
++ uint64_t frac_sec = input % _secondTicks;
++ input /= _secondTicks; // convert to seconds
++ time_t time = (time_t)input - (time_t)11644473600LL; // diff between windows and unix epochs (seconds)
++
++ struct tm datetime;
++ gmtime_r(&time, &datetime);
++
++ const int max_dt_length = 64;
++ char output[max_dt_length + 1] = {0};
++
++ if (format != RFC_1123 && frac_sec > 0)
++ {
++ // Append fractional second, which is a 7-digit value with no trailing zeros
++ // This way, '1200' becomes '00012'
++ const int max_frac_length = 8;
++ char buf[max_frac_length + 1] = {0};
++ snprintf(buf, sizeof(buf), ".%07ld", (long int)frac_sec);
++ // trim trailing zeros
++ for (int i = max_frac_length - 1; buf[i] == '0'; i--)
++ buf[i] = '\0';
++ // format the datetime into a separate buffer
++ char datetime_str[max_dt_length - max_frac_length - 1 + 1] = {0};
++ strftime(datetime_str, sizeof(datetime_str), "%Y-%m-%dT%H:%M:%S", &datetime);
++ // now print this buffer into the output buffer
++ snprintf(output, sizeof(output), "%s%sZ", datetime_str, buf);
++ }
++ else
++ {
++ strftime(
++ output, sizeof(output), format == RFC_1123 ? "%a, %d %b %Y %H:%M:%S GMT" : "%Y-%m-%dT%H:%M:%SZ", &datetime);
++ }
+
+- t.tm_year -= 1900;
+- str += 5; // parsed year
++ return std::string(output);
++#endif
++}
+
+- if (!ascii_isdigit2(str[0]) || !ascii_isdigit(str[1]) || str[2] != _XPLATSTR(':') || !ascii_isdigit5(str[3]) ||
+- !ascii_isdigit(str[4]))
+- {
+- return result;
+- }
++#ifdef _WIN32
++bool __cdecl datetime::system_type_to_datetime(void* pvsysTime, uint64_t seconds, datetime* pdt)
++{
++ SYSTEMTIME* psysTime = (SYSTEMTIME*)pvsysTime;
++ FILETIME fileTime;
+
+- t.tm_hour = atoi2(str);
+- if (t.tm_hour > 23)
+- {
+- return result;
+- }
++ if (SystemTimeToFileTime(psysTime, &fileTime))
++ {
++ ULARGE_INTEGER largeInt;
++ largeInt.LowPart = fileTime.dwLowDateTime;
++ largeInt.HighPart = fileTime.dwHighDateTime;
+
+- str += 3; // parsed hour
+- t.tm_min = atoi2(str);
+- str += 2; // parsed mins
++ // Add hundredths of nanoseconds
++ largeInt.QuadPart += seconds;
+
+- if (str[0] == ':')
+- {
+- if (!ascii_isdigit6(str[1]) || !ascii_isdigit(str[2]) || str[3] != _XPLATSTR(' '))
+- {
+- return result;
+- }
++ *pdt = datetime(largeInt.QuadPart);
++ return true;
++ }
++ return false;
++}
++#endif
+
+- t.tm_sec = atoi2(str + 1);
+- str += 4; // parsed seconds
+- }
+- else if (str[0] == _XPLATSTR(' '))
+- {
+- t.tm_sec = 0;
+- str += 1; // parsed seconds
+- }
+- else
+- {
+- return result;
++// Take a string that represents a fractional second and return the number of ticks
++// This is equivalent to doing atof on the string and multiplying by 10000000,
++// but does not lose precision
++template<typename StringIterator>
++uint64_t timeticks_from_second(StringIterator begin, StringIterator end)
++{
++ int size = (int)(end - begin);
++ _ASSERTE(begin[0] == U('.'));
++ uint64_t ufrac_second = 0;
++ for (int i = 1; i <= 7; ++i)
++ {
++ ufrac_second *= 10;
++ int add = i < size ? begin[i] - U('0') : 0;
++ ufrac_second += add;
++ }
++ return ufrac_second;
++}
++
++void extract_fractional_second(const utility::string_t& dateString,
++ utility::string_t& resultString,
++ uint64_t& ufrac_second)
++{
++ resultString = dateString;
++ // First, the string must be strictly longer than 2 characters, and the trailing character must be 'Z'
++ if (resultString.size() > 2 && resultString[resultString.size() - 1] == U('Z'))
++ {
++ // Second, find the last non-digit by scanning the string backwards
++ auto last_non_digit = std::find_if_not(resultString.rbegin() + 1, resultString.rend(), is_digit);
++ if (last_non_digit < resultString.rend() - 1)
++ {
++ // Finally, make sure the last non-digit is a dot:
++ auto last_dot = last_non_digit.base() - 1;
++ if (*last_dot == U('.'))
++ {
++ // Got it! Now extract the fractional second
++ auto last_before_Z = std::end(resultString) - 1;
++ ufrac_second = timeticks_from_second(last_dot, last_before_Z);
++ // And erase it from the string
++ resultString.erase(last_dot, last_before_Z);
++ }
+ }
++ }
++}
+
+- if (t.tm_sec > 60)
+- { // 60 to allow leap seconds
+- return result;
+- }
++datetime __cdecl datetime::from_string(const utility::string_t& dateString, date_format format)
++{
++ // avoid floating point math to preserve precision
++ uint64_t ufrac_second = 0;
+
+- t.tm_isdst = 0;
+- seconds = make_gm_time(&t);
+- if (seconds < 0)
+- {
+- return result;
+- }
++#ifdef _WIN32
++ datetime result;
++ if (format == RFC_1123)
++ {
++ SYSTEMTIME sysTime = {0};
+
+- if (parsedWeekday >= 0 && parsedWeekday != t.tm_wday)
+- {
+- return result;
+- }
++ std::wstring month(3, L'\0');
++ std::wstring unused(3, L'\0');
+
+- if (!string_starts_with(str, "GMT") && !string_starts_with(str, "UT"))
+- {
+- // some timezone adjustment necessary
+- auto tzCh = _XPLATSTR('-');
+- int tzHours;
+- int tzMinutes = 0;
+- if (string_starts_with(str, "EDT"))
+- {
+- tzHours = 4;
+- }
+- else if (string_starts_with(str, "EST") || string_starts_with(str, "CDT"))
+- {
+- tzHours = 5;
+- }
+- else if (string_starts_with(str, "CST") || string_starts_with(str, "MDT"))
+- {
+- tzHours = 6;
+- }
+- else if (string_starts_with(str, "MST") || string_starts_with(str, "PDT"))
+- {
+- tzHours = 7;
+- }
+- else if (string_starts_with(str, "PST"))
+- {
+- tzHours = 8;
+- }
+- else if ((tzCh == _XPLATSTR('+') || tzCh == _XPLATSTR('-')) && ascii_isdigit2(str[1]) &&
+- ascii_isdigit(str[2]) && ascii_isdigit5(str[3]) && ascii_isdigit(str[4]))
+- {
+- tzCh = str[0];
+- tzHours = atoi2(str + 1);
+- tzMinutes = atoi2(str + 3);
+- }
+- else
+- {
+- return result;
+- }
++ const wchar_t* formatString = L"%3c, %2d %3c %4d %2d:%2d:%2d %3c";
++ auto n = swscanf_s(dateString.c_str(),
++ formatString,
++ unused.data(),
++ unused.size(),
++ &sysTime.wDay,
++ month.data(),
++ month.size(),
++ &sysTime.wYear,
++ &sysTime.wHour,
++ &sysTime.wMinute,
++ &sysTime.wSecond,
++ unused.data(),
++ unused.size());
++
++ if (n == 8)
++ {
++ std::wstring monthnames[12] = {
++ L"Jan", L"Feb", L"Mar", L"Apr", L"May", L"Jun", L"Jul", L"Aug", L"Sep", L"Oct", L"Nov", L"Dec"};
++ auto loc =
++ std::find_if(monthnames, monthnames + 12, [&month](const std::wstring& m) { return m == month; });
+
+- seconds = timezone_adjust(seconds, static_cast<unsigned char>(tzCh), tzHours, tzMinutes);
+- if (seconds < 0)
++ if (loc != monthnames + 12)
+ {
+- return result;
++ sysTime.wMonth = (short)((loc - monthnames) + 1);
++ if (system_type_to_datetime(&sysTime, ufrac_second, &result))
++ {
++ return result;
++ }
+ }
+ }
+ }
+ else if (format == ISO_8601)
+ {
+- // parse year
+- if (!ascii_isdigit3(str[0]) || !ascii_isdigit(str[1]) || !ascii_isdigit(str[2]) || !ascii_isdigit(str[3]))
+- {
+- return result;
+- }
++ // Unlike FILETIME, SYSTEMTIME does not have enough precision to hold seconds in 100 nanosecond
++ // increments. Therefore, start with seconds and milliseconds set to 0, then add them separately
+
+- t.tm_year = (str[0] - _XPLATSTR('0')) * 1000 + (str[1] - _XPLATSTR('0')) * 100 +
+- (str[2] - _XPLATSTR('0')) * 10 + (str[3] - _XPLATSTR('0'));
+- if (t.tm_year < 1970 || t.tm_year > 3000)
+- {
+- return result;
+- }
++ // Try to extract the fractional second from the timestamp
++ utility::string_t input;
++ extract_fractional_second(dateString, input, ufrac_second);
++ {
++ SYSTEMTIME sysTime = {0};
++ const wchar_t* formatString = L"%4d-%2d-%2dT%2d:%2d:%2dZ";
++ auto n = swscanf_s(input.c_str(),
++ formatString,
++ &sysTime.wYear,
++ &sysTime.wMonth,
++ &sysTime.wDay,
++ &sysTime.wHour,
++ &sysTime.wMinute,
++ &sysTime.wSecond);
+
+- str += 4;
+- if (*str == _XPLATSTR('-'))
+- {
+- ++str;
++ if (n == 3 || n == 6)
++ {
++ if (system_type_to_datetime(&sysTime, ufrac_second, &result))
++ {
++ return result;
++ }
++ }
+ }
+-
+- // parse month
+- if (!ascii_isdigit1(str[0]) || !ascii_isdigit(str[1]))
+ {
+- return result;
+- }
++ SYSTEMTIME sysTime = {0};
++ DWORD date = 0;
+
+- t.tm_mon = atoi2(str);
+- if (t.tm_mon < 1 || t.tm_mon > 12)
+- {
+- return result;
+- }
+-
+- t.tm_mon -= 1;
+- str += 2;
++ const wchar_t* formatString = L"%8dT%2d:%2d:%2dZ";
++ auto n = swscanf_s(input.c_str(), formatString, &date, &sysTime.wHour, &sysTime.wMinute, &sysTime.wSecond);
+
+- if (*str == _XPLATSTR('-'))
+- {
+- ++str;
+- }
++ if (n == 1 || n == 4)
++ {
++ sysTime.wDay = date % 100;
++ date /= 100;
++ sysTime.wMonth = date % 100;
++ date /= 100;
++ sysTime.wYear = (WORD)date;
+
+- // parse day
+- if (!ascii_isdigit3(str[0]) || !ascii_isdigit(str[1]))
+- {
+- return result;
++ if (system_type_to_datetime(&sysTime, ufrac_second, &result))
++ {
++ return result;
++ }
++ }
+ }
+-
+- t.tm_mday = atoi2(str);
+- if (!validate_day_month(t.tm_mday, t.tm_mon, t.tm_year))
+ {
+- return result;
+- }
++ SYSTEMTIME sysTime = {0};
++ GetSystemTime(&sysTime); // Fill date portion with today's information
++ sysTime.wSecond = 0;
++ sysTime.wMilliseconds = 0;
+
+- t.tm_year -= 1900;
+- str += 2;
++ const wchar_t* formatString = L"%2d:%2d:%2dZ";
++ auto n = swscanf_s(input.c_str(), formatString, &sysTime.wHour, &sysTime.wMinute, &sysTime.wSecond);
+
+- if (str[0] != _XPLATSTR('T') && str[0] != _XPLATSTR('t'))
+- {
+- // No time
+- seconds = make_gm_time(&t);
+- if (seconds < 0)
++ if (n == 3)
+ {
+- return result;
++ if (system_type_to_datetime(&sysTime, ufrac_second, &result))
++ {
++ return result;
++ }
+ }
+-
+- seconds += ntToUnixOffsetSeconds;
+- result.m_interval = static_cast<interval_type>(seconds) * _secondTicks;
+- return result;
+ }
++ }
+
+- ++str; // skip 'T'
++ return datetime();
++#else
++ std::string input(dateString);
+
+- // parse hour
+- if (!ascii_isdigit2(str[0]) || !ascii_isdigit(str[1]))
+- {
+- return result;
+- }
++ struct tm output = tm();
+
+- t.tm_hour = atoi2(str);
+- str += 2;
+- if (t.tm_hour > 23)
+- {
+- return result;
+- }
++ if (format == RFC_1123)
++ {
++ strptime(input.data(), "%a, %d %b %Y %H:%M:%S GMT", &output);
++ }
++ else
++ {
++ // Try to extract the fractional second from the timestamp
++ utility::string_t input;
++ extract_fractional_second(dateString, input, ufrac_second);
+
+- if (*str == _XPLATSTR(':'))
+- {
+- ++str;
+- }
++ auto result = strptime(input.data(), "%Y-%m-%dT%H:%M:%SZ", &output);
+
+- // parse minute
+- if (!ascii_isdigit5(str[0]) || !ascii_isdigit(str[1]))
++ if (result == nullptr)
+ {
+- return result;
++ result = strptime(input.data(), "%Y%m%dT%H:%M:%SZ", &output);
+ }
+- t.tm_min = atoi2(str);
+- // t.tm_min > 59 is impossible because we checked that the first digit is <= 5 in the basic format
+- // check above
+-
+- str += 2;
+-
+- if (*str == _XPLATSTR(':'))
++ if (result == nullptr)
+ {
+- ++str;
++ // Fill the date portion with the epoch,
++ // strptime will do the rest
++ memset(&output, 0, sizeof(struct tm));
++ output.tm_year = 70;
++ output.tm_mon = 1;
++ output.tm_mday = 1;
++ result = strptime(input.data(), "%H:%M:%SZ", &output);
+ }
+-
+- // parse seconds
+- if (!ascii_isdigit6(str[0]) || !ascii_isdigit(str[1]))
++ if (result == nullptr)
+ {
+- return result;
++ result = strptime(input.data(), "%Y-%m-%d", &output);
+ }
+-
+- t.tm_sec = atoi2(str);
+- // We allow 60 to account for leap seconds
+- if (t.tm_sec > 60)
++ if (result == nullptr)
+ {
+- return result;
++ result = strptime(input.data(), "%Y%m%d", &output);
+ }
+-
+- str += 2;
+- if (str[0] == _XPLATSTR('.') && ascii_isdigit(str[1]))
++ if (result == nullptr)
+ {
+- ++str;
+- int digits = 7;
+- for (;;)
+- {
+- frac_sec *= 10;
+- frac_sec += *str - _XPLATSTR('0');
+- --digits;
+- ++str;
+- if (digits == 0)
+- {
+- while (ascii_isdigit(*str))
+- {
+- // consume remaining fractional second digits we can't use
+- ++str;
+- }
+-
+- break;
+- }
+-
+- if (!ascii_isdigit(*str))
+- {
+- // no more digits in the input, do the remaining multiplies we need
+- for (; digits != 0; --digits)
+- {
+- frac_sec *= 10;
+- }
+-
+- break;
+- }
+- }
++ return datetime();
+ }
++ }
+
+- seconds = make_gm_time(&t);
+- if (seconds < 0)
+- {
+- return result;
+- }
++#if (defined(ANDROID) || defined(__ANDROID__))
++ // HACK: The (nonportable?) POSIX function timegm is not available in
++ // bionic. As a workaround[1][2], we set the C library timezone to
++ // UTC, call mktime, then set the timezone back. However, the C
++ // environment is fundamentally a shared global resource and thread-
++ // unsafe. We can protect our usage here, however any other code might
++ // manipulate the environment at the same time.
++ //
++ // [1] http://linux.die.net/man/3/timegm
++ // [2] http://www.gnu.org/software/libc/manual/html_node/Broken_002ddown-Time.html
++ time_t time;
+
+- if (str[0] == _XPLATSTR('Z') || str[0] == _XPLATSTR('z'))
++ static boost::mutex env_var_lock;
++ {
++ boost::lock_guard<boost::mutex> lock(env_var_lock);
++ std::string prev_env;
++ auto prev_env_cstr = getenv("TZ");
++ if (prev_env_cstr != nullptr)
+ {
+- // no adjustment needed for zulu time
++ prev_env = prev_env_cstr;
+ }
+- else if (str[0] == _XPLATSTR('+') || str[0] == _XPLATSTR('-'))
+- {
+- const unsigned char offsetDirection = static_cast<unsigned char>(str[0]);
+- if (!ascii_isdigit2(str[1]) || !ascii_isdigit(str[2]) || str[3] != _XPLATSTR(':') ||
+- !ascii_isdigit5(str[4]) || !ascii_isdigit(str[5]))
+- {
+- return result;
+- }
++ setenv("TZ", "UTC", 1);
+
+- seconds = timezone_adjust(seconds, offsetDirection, atoi2(str + 1), atoi2(str + 4));
+- if (seconds < 0)
+- {
+- return result;
+- }
++ time = mktime(&output);
++
++ if (prev_env_cstr)
++ {
++ setenv("TZ", prev_env.c_str(), 1);
+ }
+ else
+ {
+- // the timezone is malformed, but cpprestsdk currently accepts this as no timezone
++ unsetenv("TZ");
+ }
+ }
+- else
+- {
+- throw std::invalid_argument("unrecognized date format");
+- }
++#else
++ time_t time = timegm(&output);
++#endif
++
++ struct timeval tv = timeval();
++ tv.tv_sec = time;
++ auto result = timeval_to_datetime(tv);
+
+- seconds += ntToUnixOffsetSeconds;
+- result.m_interval = static_cast<interval_type>(seconds) * _secondTicks + frac_sec;
++ // fractional seconds are already in correct format so just add them.
++ result = result + ufrac_second;
+ return result;
++#endif
+ }
+
+ /// <summary>
+@@ -1358,32 +1181,38 @@ utility::seconds __cdecl timespan::xml_d
+ // The final S could be omitted
+
+ int64_t numSecs = 0;
+- auto cursor = timespanString.c_str();
+- auto c = *cursor++; // skip 'P'
+- while (c)
++
++ utility::istringstream_t is(timespanString);
++ is.imbue(std::locale::classic());
++ auto eof = std::char_traits<utility::char_t>::eof();
++
++ std::basic_istream<utility::char_t>::int_type c;
++ c = is.get(); // P
++
++ while (c != eof)
+ {
+ int val = 0;
+- c = *cursor++;
++ c = is.get();
+
+- while (ascii_isdigit(c))
++ while (is_digit((utility::char_t)c))
+ {
+- val = val * 10 + (c - _XPLATSTR('0'));
+- c = *cursor++;
++ val = val * 10 + (c - L'0');
++ c = is.get();
+
+- if (c == _XPLATSTR('.'))
++ if (c == '.')
+ {
+ // decimal point is not handled
+ do
+ {
+- c = *cursor++;
+- } while (ascii_isdigit(c));
++ c = is.get();
++ } while (is_digit((utility::char_t)c));
+ }
+ }
+
+- if (c == _XPLATSTR('D')) numSecs += val * 24 * 3600; // days
+- if (c == _XPLATSTR('H')) numSecs += val * 3600; // Hours
+- if (c == _XPLATSTR('M')) numSecs += val * 60; // Minutes
+- if (c == _XPLATSTR('S') || c == _XPLATSTR('\0'))
++ if (c == L'D') numSecs += val * 24 * 3600; // days
++ if (c == L'H') numSecs += val * 3600; // Hours
++ if (c == L'M') numSecs += val * 60; // Minutes
++ if (c == L'S' || c == eof)
+ {
+ numSecs += val; // seconds
+ break;
+@@ -1393,12 +1222,12 @@ utility::seconds __cdecl timespan::xml_d
+ return utility::seconds(numSecs);
+ }
+
+-static const utility::char_t c_allowed_chars[] =
+- _XPLATSTR("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
++const utility::string_t nonce_generator::c_allowed_chars(
++ _XPLATSTR("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"));
+
+ utility::string_t nonce_generator::generate()
+ {
+- std::uniform_int_distribution<> distr(0, static_cast<int>(sizeof(c_allowed_chars) / sizeof(utility::char_t)) - 1);
++ std::uniform_int_distribution<> distr(0, static_cast<int>(c_allowed_chars.length() - 1));
+ utility::string_t result;
+ result.reserve(length());
+ std::generate_n(std::back_inserter(result), length(), [&]() { return c_allowed_chars[distr(m_random)]; });
+--- cpprest-2.10.12.orig/Release/tests/functional/utils/datetime.cpp
++++ cpprest-2.10.12/Release/tests/functional/utils/datetime.cpp
+@@ -74,6 +74,16 @@ SUITE(datetime)
+ }
+ }
+
++ TEST(parsing_time_extended)
++ {
++ // ISO 8601
++ {
++ auto dt = utility::datetime::from_string(_XPLATSTR("14:30:01Z"), utility::datetime::ISO_8601);
++
++ VERIFY_ARE_NOT_EQUAL(0u, dt.to_interval());
++ }
++ }
++
+ void TestDateTimeRoundtrip(utility::string_t str, utility::string_t strExpected)
+ {
+ auto dt = utility::datetime::from_string(str, utility::datetime::ISO_8601);
+@@ -91,8 +101,6 @@ SUITE(datetime)
+
+ TEST(parsing_time_roundtrip_datetime2)
+ {
+- // lose the last '000'
+- TestDateTimeRoundtrip(_XPLATSTR("2013-11-19T14:30:59.1234567000Z"), _XPLATSTR("2013-11-19T14:30:59.1234567Z"));
+ // lose the last '999' without rounding up
+ TestDateTimeRoundtrip(_XPLATSTR("2013-11-19T14:30:59.1234567999Z"), _XPLATSTR("2013-11-19T14:30:59.1234567Z"));
+ }
+@@ -121,260 +129,16 @@ SUITE(datetime)
+ TestDateTimeRoundtrip(_XPLATSTR("2013-11-19T14:30:59.5Z"));
+ }
+
+- void TestRfc1123IsTimeT(const utility::char_t* str, time_t t)
+- {
+- datetime dt = datetime::from_string(str, utility::datetime::RFC_1123);
+- uint64_t interval = dt.to_interval();
+- VERIFY_ARE_EQUAL(0, interval % 10000000);
+- interval /= 10000000;
+- interval -= 11644473600; // NT epoch adjustment
+- VERIFY_ARE_EQUAL(static_cast<uint64_t>(t), interval);
+- }
+-
+- TEST(parsing_time_rfc1123_accepts_each_day)
+- {
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 00:00:00 GMT"), (time_t) 0);
+- TestRfc1123IsTimeT(_XPLATSTR("Fri, 02 Jan 1970 00:00:00 GMT"), (time_t) 86400 * 1);
+- TestRfc1123IsTimeT(_XPLATSTR("Sat, 03 Jan 1970 00:00:00 GMT"), (time_t) 86400 * 2);
+- TestRfc1123IsTimeT(_XPLATSTR("Sun, 04 Jan 1970 00:00:00 GMT"), (time_t) 86400 * 3);
+- TestRfc1123IsTimeT(_XPLATSTR("Mon, 05 Jan 1970 00:00:00 GMT"), (time_t) 86400 * 4);
+- TestRfc1123IsTimeT(_XPLATSTR("Tue, 06 Jan 1970 00:00:00 GMT"), (time_t) 86400 * 5);
+- TestRfc1123IsTimeT(_XPLATSTR("Wed, 07 Jan 1970 00:00:00 GMT"), (time_t) 86400 * 6);
+- }
+-
+- TEST(parsing_time_rfc1123_boundary_cases)
+- {
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 00:00:00 GMT"), (time_t) 0);
+- TestRfc1123IsTimeT(_XPLATSTR("19 Jan 2038 03:14:06 GMT"), (time_t) INT_MAX - 1);
+-#ifndef _USE_32BIT_TIME_T
+- TestRfc1123IsTimeT(_XPLATSTR("19 Jan 2038 03:13:07 -0001"), (time_t) INT_MAX);
+- TestRfc1123IsTimeT(_XPLATSTR("19 Jan 2038 03:14:07 -0000"), (time_t) INT_MAX);
+-#endif // _USE_32BIT_TIME_T
+- TestRfc1123IsTimeT(_XPLATSTR("14 Jan 2019 23:16:21 +0000"), (time_t) 1547507781);
+- TestRfc1123IsTimeT(_XPLATSTR("14 Jan 2019 23:16:21 -0001"), (time_t) 1547507841);
+- TestRfc1123IsTimeT(_XPLATSTR("14 Jan 2019 23:16:21 +0001"), (time_t) 1547507721);
+- TestRfc1123IsTimeT(_XPLATSTR("14 Jan 2019 23:16:21 -0100"), (time_t) 1547511381);
+- TestRfc1123IsTimeT(_XPLATSTR("14 Jan 2019 23:16:21 +0100"), (time_t) 1547504181);
+- }
+-
+- TEST(parsing_time_rfc1123_uses_each_field)
+- {
+- TestRfc1123IsTimeT(_XPLATSTR("02 Jan 1970 00:00:00 GMT"), (time_t) 86400);
+- TestRfc1123IsTimeT(_XPLATSTR("12 Jan 1970 00:00:00 GMT"), (time_t) 950400);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Feb 1970 00:00:00 GMT"), (time_t) 2678400);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 2000 00:00:00 GMT"), (time_t) 946684800);
+-#ifndef _USE_32BIT_TIME_T
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 2100 00:00:00 GMT"), (time_t) 4102444800);
+-#endif // _USE_32BIT_TIME_T
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1990 00:00:00 GMT"), (time_t) 631152000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1971 00:00:00 GMT"), (time_t) 31536000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 10:00:00 GMT"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 01:00:00 GMT"), (time_t) 3600);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 00:10:00 GMT"), (time_t) 600);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 00:01:00 GMT"), (time_t) 60);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 00:00:10 GMT"), (time_t) 10);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 00:00:01 GMT"), (time_t) 1);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 10:00:00 GMT"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 02:00:00 PST"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 03:00:00 PDT"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 03:00:00 MST"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 04:00:00 MDT"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 04:00:00 CST"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 05:00:00 CDT"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 05:00:00 EST"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 06:00:00 EDT"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 06:00:00 -0400"), (time_t) 36000);
+- TestRfc1123IsTimeT(_XPLATSTR("01 Jan 1970 05:59:00 -0401"), (time_t) 36000);
+- }
+-
+- TEST(parsing_time_rfc1123_max_days)
+- {
+- TestRfc1123IsTimeT(_XPLATSTR("31 Jan 1970 00:00:00 GMT"), (time_t) 2592000);
+- TestRfc1123IsTimeT(_XPLATSTR("28 Feb 2019 00:00:00 GMT"), (time_t) 1551312000); // non leap year allows feb 28
+- TestRfc1123IsTimeT(_XPLATSTR("29 Feb 2020 00:00:00 GMT"), (time_t) 1582934400); // leap year allows feb 29
+- TestRfc1123IsTimeT(_XPLATSTR("31 Mar 1970 00:00:00 GMT"), (time_t) 7689600);
+- TestRfc1123IsTimeT(_XPLATSTR("30 Apr 1970 00:00:00 GMT"), (time_t) 10281600);
+- TestRfc1123IsTimeT(_XPLATSTR("31 May 1970 00:00:00 GMT"), (time_t) 12960000);
+- TestRfc1123IsTimeT(_XPLATSTR("30 Jun 1970 00:00:00 GMT"), (time_t) 15552000);
+- TestRfc1123IsTimeT(_XPLATSTR("31 Jul 1970 00:00:00 GMT"), (time_t) 18230400);
+- TestRfc1123IsTimeT(_XPLATSTR("31 Aug 1970 00:00:00 GMT"), (time_t) 20908800);
+- TestRfc1123IsTimeT(_XPLATSTR("30 Sep 1970 00:00:00 GMT"), (time_t) 23500800);
+- TestRfc1123IsTimeT(_XPLATSTR("31 Oct 1970 00:00:00 GMT"), (time_t) 26179200);
+- TestRfc1123IsTimeT(_XPLATSTR("30 Nov 1970 00:00:00 GMT"), (time_t) 28771200);
+- TestRfc1123IsTimeT(_XPLATSTR("31 Dec 1970 00:00:00 GMT"), (time_t) 31449600);
+- }
+-
+- TEST(parsing_time_rfc1123_invalid_cases)
+- {
+- const utility::string_t bad_strings[] = {
+- _XPLATSTR("Ahu, 01 Jan 1970 00:00:00 GMT"), // bad letters in each place
+- _XPLATSTR("TAu, 01 Jan 1970 00:00:00 GMT"),
+- _XPLATSTR("ThA, 01 Jan 1970 00:00:00 GMT"),
+- _XPLATSTR("ThuA 01 Jan 1970 00:00:00 GMT"),
+- _XPLATSTR("Thu,A01 Jan 1970 00:00:00 GMT"),
+- _XPLATSTR("Thu, A1 Jan 1970 00:00:00 GMT"),
+- _XPLATSTR("Thu, 0A Jan 1970 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01AJan 1970 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Aan 1970 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 JAn 1970 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 JaA 1970 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 JanA1970 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan A970 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1A70 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 19A0 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 197A 00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970A00:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 A0:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 0A:00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00A00:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:A0:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:0A:00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00A00 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:A0 GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:0A GMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:00AGMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:00 AMT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:00 GAT"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:00 GMA"),
+- _XPLATSTR(""), // truncation
+- _XPLATSTR("T"),
+- _XPLATSTR("Th"),
+- _XPLATSTR("Thu"),
+- _XPLATSTR("Thu,"),
+- _XPLATSTR("Thu, "),
+- _XPLATSTR("Thu, 0"),
+- _XPLATSTR("Thu, 01"),
+- _XPLATSTR("Thu, 01 "),
+- _XPLATSTR("Thu, 01 J"),
+- _XPLATSTR("Thu, 01 Ja"),
+- _XPLATSTR("Thu, 01 Jan"),
+- _XPLATSTR("Thu, 01 Jan "),
+- _XPLATSTR("Thu, 01 Jan 1"),
+- _XPLATSTR("Thu, 01 Jan 19"),
+- _XPLATSTR("Thu, 01 Jan 197"),
+- _XPLATSTR("Thu, 01 Jan 1970"),
+- _XPLATSTR("Thu, 01 Jan 1970 "),
+- _XPLATSTR("Thu, 01 Jan 1970 0"),
+- _XPLATSTR("Thu, 01 Jan 1970 00"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:0"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:0"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:00"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:00 "),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:00 G"),
+- _XPLATSTR("Thu, 01 Jan 1970 00:00:00 GM"),
+- _XPLATSTR("Fri, 01 Jan 1970 00:00:00 GMT"), // wrong day
+- _XPLATSTR("01 Jan 4970 00:00:00 GMT"), // year too big
+- _XPLATSTR("01 Jan 3001 00:00:00 GMT"),
+- _XPLATSTR("01 Xxx 1971 00:00:00 GMT"), // month bad
+- _XPLATSTR("00 Jan 1971 00:00:00 GMT"), // day too small
+- _XPLATSTR("32 Jan 1971 00:00:00 GMT"), // day too big
+- _XPLATSTR("30 Feb 1971 00:00:00 GMT"), // day too big for feb
+- _XPLATSTR("30 Feb 1971 00:00:00 GMT"), // day too big for feb (non-leap year)
+- _XPLATSTR("32 Mar 1971 00:00:00 GMT"), // other months
+- _XPLATSTR("31 Apr 1971 00:00:00 GMT"),
+- _XPLATSTR("32 May 1971 00:00:00 GMT"),
+- _XPLATSTR("31 Jun 1971 00:00:00 GMT"),
+- _XPLATSTR("32 Jul 1971 00:00:00 GMT"),
+- _XPLATSTR("32 Aug 1971 00:00:00 GMT"),
+- _XPLATSTR("31 Sep 1971 00:00:00 GMT"),
+- _XPLATSTR("32 Oct 1971 00:00:00 GMT"),
+- _XPLATSTR("31 Nov 1971 00:00:00 GMT"),
+- _XPLATSTR("32 Dec 1971 00:00:00 GMT"),
+- _XPLATSTR("01 Jan 1971 70:00:00 GMT"), // hour too big
+- _XPLATSTR("01 Jan 1971 24:00:00 GMT"),
+- _XPLATSTR("01 Jan 1971 00:60:00 GMT"), // minute too big
+- _XPLATSTR("01 Jan 1971 00:00:70 GMT"), // second too big
+- _XPLATSTR("01 Jan 1971 00:00:61 GMT"),
+- _XPLATSTR("01 Jan 1969 00:00:00 GMT"), // underflow
+- _XPLATSTR("01 Jan 1969 00:00:00 CEST"), // bad tz
+- _XPLATSTR("01 Jan 1970 00:00:00 +2400"), // bad tzoffsets
+- _XPLATSTR("01 Jan 1970 00:00:00 -3000"),
+- _XPLATSTR("01 Jan 1970 00:00:00 +2160"),
+- _XPLATSTR("01 Jan 1970 00:00:00 -2400"),
+- _XPLATSTR("01 Jan 1970 00:00:00 -2160"),
+- };
+-
+- for (const auto& str : bad_strings)
+- {
+- auto dt = utility::datetime::from_string(str, utility::datetime::RFC_1123);
+- VERIFY_ARE_EQUAL(0, dt.to_interval());
+- }
+- }
+-
+- TEST(parsing_time_iso8601_boundary_cases)
+- {
+- // boundary cases:
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T00:00:00Z")); // epoch
+- TestDateTimeRoundtrip(_XPLATSTR("2038-01-19T03:14:06+00:00"), _XPLATSTR("2038-01-19T03:14:06Z")); // INT_MAX - 1
+-#ifndef _USE_32BIT_TIME_T
+- TestDateTimeRoundtrip(_XPLATSTR("2038-01-19T03:13:07-00:01"),
+- _XPLATSTR("2038-01-19T03:14:07Z")); // INT_MAX after subtacting 1
+- TestDateTimeRoundtrip(_XPLATSTR("2038-01-19T03:14:07-00:00"), _XPLATSTR("2038-01-19T03:14:07Z"));
+-#endif // _USE_32BIT_TIME_T
+- }
+-
+- TEST(parsing_time_iso8601_uses_each_timezone_digit)
+- {
+- TestDateTimeRoundtrip(_XPLATSTR("2019-01-14T23:16:21+00:00"), _XPLATSTR("2019-01-14T23:16:21Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("2019-01-14T23:16:21-00:01"), _XPLATSTR("2019-01-14T23:17:21Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("2019-01-14T23:16:21+00:01"), _XPLATSTR("2019-01-14T23:15:21Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("2019-01-14T23:16:21-01:00"), _XPLATSTR("2019-01-15T00:16:21Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("2019-01-14T23:16:21+01:00"), _XPLATSTR("2019-01-14T22:16:21Z"));
+- }
+-
+- TEST(parsing_time_iso8601_uses_each_digit)
+- {
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T00:00:01Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T00:01:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T01:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-02T00:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-02-01T00:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1971-01-01T00:00:00Z"));
+-
+- TestDateTimeRoundtrip(_XPLATSTR("1999-01-01T00:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-12-01T00:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-09-01T00:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-30T00:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-31T00:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T23:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T19:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T00:59:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T00:00:59Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T00:00:60Z"), _XPLATSTR("1970-01-01T00:01:00Z")); // leap seconds
+- }
+-
+- TEST(parsing_time_iso8601_accepts_month_max_days)
+- {
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-31T00:00:00Z")); // jan
+- TestDateTimeRoundtrip(_XPLATSTR("2019-02-28T00:00:00Z")); // non leap year allows feb 28
+- TestDateTimeRoundtrip(_XPLATSTR("2020-02-29T00:00:00Z")); // leap year allows feb 29
+- TestDateTimeRoundtrip(_XPLATSTR("1970-03-31T00:00:00Z")); // mar
+- TestDateTimeRoundtrip(_XPLATSTR("1970-04-30T00:00:00Z")); // apr
+- TestDateTimeRoundtrip(_XPLATSTR("1970-05-31T00:00:00Z")); // may
+- TestDateTimeRoundtrip(_XPLATSTR("1970-06-30T00:00:00Z")); // jun
+- TestDateTimeRoundtrip(_XPLATSTR("1970-07-31T00:00:00Z")); // jul
+- TestDateTimeRoundtrip(_XPLATSTR("1970-08-31T00:00:00Z")); // aug
+- TestDateTimeRoundtrip(_XPLATSTR("1970-09-30T00:00:00Z")); // sep
+- TestDateTimeRoundtrip(_XPLATSTR("1970-10-31T00:00:00Z")); // oct
+- TestDateTimeRoundtrip(_XPLATSTR("1970-11-30T00:00:00Z")); // nov
+- TestDateTimeRoundtrip(_XPLATSTR("1970-12-31T00:00:00Z")); // dec
+- }
+-
+- TEST(parsing_time_iso8601_accepts_lowercase_t_z)
+- {
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01t00:00:00Z"), _XPLATSTR("1970-01-01T00:00:00Z"));
+- TestDateTimeRoundtrip(_XPLATSTR("1970-01-01T00:00:00z"), _XPLATSTR("1970-01-01T00:00:00Z"));
+- }
+-
+- TEST(parsing_time_roundtrip_datetime_accepts_invalid_no_trailing_timezone)
++ TEST(parsing_time_roundtrip_datetime_invalid1,
++ "Ignore:Linux",
++ "Codeplex issue #115",
++ "Ignore:Apple",
++ "Codeplex issue #115")
+ {
+ // No digits after the dot, or non-digits. This is not a valid input, but we should not choke on it,
+ // Simply ignore the bad fraction
+ const utility::string_t bad_strings[] = {_XPLATSTR("2013-11-19T14:30:59.Z"),
+- _XPLATSTR("2013-11-19T14:30:59.a12Z")};
++ _XPLATSTR("2013-11-19T14:30:59.1a2Z")};
+ utility::string_t str_corrected = _XPLATSTR("2013-11-19T14:30:59Z");
+
+ for (const auto& str : bad_strings)
+@@ -387,87 +151,12 @@ SUITE(datetime)
+
+ TEST(parsing_time_roundtrip_datetime_invalid2)
+ {
+- // Various unsupported cases. In all cases, we have produce an empty date time
++ // Variouls unsupported cases. In all cases, we have produce an empty date time
+ const utility::string_t bad_strings[] = {
+- _XPLATSTR(""), // empty
+- _XPLATSTR(".Z"), // too short
+- _XPLATSTR(".Zx"), // no trailing Z
+- _XPLATSTR("3.14Z") // not a valid date
+- _XPLATSTR("a971-01-01T00:00:00Z"), // any non digits or valid separators
+- _XPLATSTR("1a71-01-01T00:00:00Z"),
+- _XPLATSTR("19a1-01-01T00:00:00Z"),
+- _XPLATSTR("197a-01-01T00:00:00Z"),
+- _XPLATSTR("1971a01-01T00:00:00Z"),
+- _XPLATSTR("1971-a1-01T00:00:00Z"),
+- _XPLATSTR("1971-0a-01T00:00:00Z"),
+- _XPLATSTR("1971-01a01T00:00:00Z"),
+- _XPLATSTR("1971-01-a1T00:00:00Z"),
+- _XPLATSTR("1971-01-0aT00:00:00Z"),
+- // _XPLATSTR("1971-01-01a00:00:00Z"), parsed as complete date
+- _XPLATSTR("1971-01-01Ta0:00:00Z"),
+- _XPLATSTR("1971-01-01T0a:00:00Z"),
+- _XPLATSTR("1971-01-01T00a00:00Z"),
+- _XPLATSTR("1971-01-01T00:a0:00Z"),
+- _XPLATSTR("1971-01-01T00:0a:00Z"),
+- _XPLATSTR("1971-01-01T00:00a00Z"),
+- _XPLATSTR("1971-01-01T00:00:a0Z"),
+- _XPLATSTR("1971-01-01T00:00:0aZ"),
+- // "1971-01-01T00:00:00a", accepted as per invalid_no_trailing_timezone above
+- _XPLATSTR("1"), // truncation
+- _XPLATSTR("19"),
+- _XPLATSTR("197"),
+- _XPLATSTR("1970"),
+- _XPLATSTR("1970-"),
+- _XPLATSTR("1970-0"),
+- _XPLATSTR("1970-01"),
+- _XPLATSTR("1970-01-"),
+- _XPLATSTR("1970-01-0"),
+- // _XPLATSTR("1970-01-01"), complete date
+- _XPLATSTR("1970-01-01T"),
+- _XPLATSTR("1970-01-01T0"),
+- _XPLATSTR("1970-01-01T00"),
+- _XPLATSTR("1970-01-01T00:"),
+- _XPLATSTR("1970-01-01T00:0"),
+- _XPLATSTR("1970-01-01T00:00"),
+- _XPLATSTR("1970-01-01T00:00:"),
+- _XPLATSTR("1970-01-01T00:00:0"),
+- // _XPLATSTR("1970-01-01T00:00:00"), // accepted as invalid timezone above
+- _XPLATSTR("4970-01-01T00:00:00Z"), // year too big
+- _XPLATSTR("3001-01-01T00:00:00Z"),
+- _XPLATSTR("1971-00-01T00:00:00Z"), // month too small
+- _XPLATSTR("1971-20-01T00:00:00Z"), // month too big
+- _XPLATSTR("1971-13-01T00:00:00Z"),
+- _XPLATSTR("1971-01-00T00:00:00Z"), // day too small
+- _XPLATSTR("1971-01-32T00:00:00Z"), // day too big
+- _XPLATSTR("1971-02-30T00:00:00Z"), // day too big for feb
+- _XPLATSTR("1971-02-30T00:00:00Z"), // day too big for feb (non-leap year)
+- _XPLATSTR("1971-03-32T00:00:00Z"), // other months
+- _XPLATSTR("1971-04-31T00:00:00Z"),
+- _XPLATSTR("1971-05-32T00:00:00Z"),
+- _XPLATSTR("1971-06-31T00:00:00Z"),
+- _XPLATSTR("1971-07-32T00:00:00Z"),
+- _XPLATSTR("1971-08-32T00:00:00Z"),
+- _XPLATSTR("1971-09-31T00:00:00Z"),
+- _XPLATSTR("1971-10-32T00:00:00Z"),
+- _XPLATSTR("1971-11-31T00:00:00Z"),
+- _XPLATSTR("1971-12-32T00:00:00Z"),
+- _XPLATSTR("1971-01-01T70:00:00Z"), // hour too big
+- _XPLATSTR("1971-01-01T24:00:00Z"),
+- _XPLATSTR("1971-01-01T00:60:00Z"), // minute too big
+- _XPLATSTR("1971-01-01T00:00:70Z"), // second too big
+- _XPLATSTR("1971-01-01T00:00:61Z"),
+- _XPLATSTR("1969-01-01T00:00:00Z"), // underflow
+-#ifdef _USE_32BIT_TIME_T
+- _XPLATSTR("3000-01-01T00:00:01Z"), // overflow
+-#endif
+- _XPLATSTR("3001-01-01T00:00:00Z"),
+- _XPLATSTR("1970-01-01T00:00:00+00:01"), // time zone underflow
+- // _XPLATSTR("1970-01-01T00:00:00.Z"), // accepted as invalid timezone above
+- _XPLATSTR("1970-01-01T00:00:00+24:00"), // bad tzoffsets
+- _XPLATSTR("1970-01-01T00:00:00-30:00"),
+- _XPLATSTR("1970-01-01T00:00:00+21:60"),
+- _XPLATSTR("1970-01-01T00:00:00-24:00"),
+- _XPLATSTR("1970-01-01T00:00:00-21:60"),
++ _XPLATSTR(""), // empty
++ _XPLATSTR(".Z"), // too short
++ _XPLATSTR(".Zx"), // no trailing Z
++ _XPLATSTR("3.14Z") // not a valid date
+ };
+
+ for (const auto& str : bad_strings)
+@@ -477,6 +166,16 @@ SUITE(datetime)
+ }
+ }
+
++ TEST(parsing_time_roundtrip_time)
++ {
++ // time only without date
++ utility::string_t str = _XPLATSTR("14:30:59.1234567Z");
++ auto dt = utility::datetime::from_string(str, utility::datetime::ISO_8601);
++ utility::string_t str2 = dt.to_string(utility::datetime::ISO_8601);
++ // Must look for a substring now, since the date part is filled with today's date
++ VERIFY_IS_TRUE(str2.find(str) != std::string::npos);
++ }
++
+ } // SUITE(datetime)
+
+ } // namespace utils_tests
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest/system-brotli.patch
deleted file mode 100644
index e6f64772d..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.12.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.12.bb
new file mode 100644
index 000000000..92c04535d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.12.bb
@@ -0,0 +1,20 @@
+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://revert-9b670e5b33dfdbd501d618cd7e7498148ffbd559.patch \
+ file://revert-f10d9f8e214516d2c19aa6ef831ee874a58c0479.patch \
+ "
+
+# tag 2.10.12
+SRCREV= "d4fb1cf7f7d22c12e2e442ba5a5e98d09b0a28ab"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.7.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.7.bb
deleted file mode 100644
index 5cc6385df..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/enchant/enchant2_2.2.3.bb b/meta-openembedded/meta-oe/recipes-support/enchant/enchant2_2.2.3.bb
new file mode 100644
index 000000000..42150c88f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/enchant/enchant2_2.2.3.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Enchant Spell checker API Library v2"
+SECTION = "libs"
+HOMEPAGE = "https://abiword.github.io/enchant/"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
+
+DEPENDS = "glib-2.0"
+
+inherit autotools pkgconfig
+
+SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz"
+SRC_URI[md5sum] = "4b8abb58e00e93363591b3f5ea4f52d5"
+SRC_URI[sha256sum] = "abd8e915675cff54c0d4da5029d95c528362266557c61c7149d53fa069b8076d"
+
+S = "${WORKDIR}/enchant-${PV}"
+
+EXTRA_OEMAKE = "pkgdatadir=${datadir}/enchant-2"
+
+PACKAGECONFIG ??= "hunspell"
+PACKAGECONFIG[aspell] = "--with-aspell,--without-aspell,aspell,aspell"
+PACKAGECONFIG[hunspell] = "--with-hunspell,--without-hunspell,hunspell,hunspell"
+
+FILES_${PN} += " \
+ ${datadir}/enchant-2 \
+ ${libdir}/enchant-2 \
+"
diff --git a/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb b/meta-openembedded/meta-oe/recipes-support/espeak/espeak-data_1.48.04.bb
deleted file mode 100644
index a4e5d14d1..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc b/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc
deleted file mode 100644
index f45455c7e..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb b/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
index 57e30f071..78f8f85c9 100644
--- a/meta-openembedded/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
+++ b/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/meta-openembedded/meta-oe/recipes-support/espeak/files/0002-tr_languages-cast-string_ordinal-init-values.patch b/meta-openembedded/meta-oe/recipes-support/espeak/files/0002-tr_languages-cast-string_ordinal-init-values.patch
new file mode 100644
index 000000000..cef360eae
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/espeak/files/espeak-1.48-gcc-6-fix.patch b/meta-openembedded/meta-oe/recipes-support/espeak/files/espeak-1.48-gcc-6-fix.patch
deleted file mode 100644
index 6e59c7892..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb
index 775257f93..967beeba4 100644
--- a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb
+++ b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb
@@ -15,15 +15,16 @@ 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"
+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
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch
deleted file mode 100644
index a567cba92..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
index 0d7dcc28d..0f6f575d0 100644
--- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
index 88aec9c41..373c4979f 100644
--- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
@@ -13,10 +13,10 @@ inherit pkgconfig cmake gitpkgv
PV = "2.0.0+gitr${SRCPV}"
PKGV = "${GITPKGVTAG}"
-SRCREV = "1648deb435ad52206f7aa2afe4b4dff71d9329bc"
+# 2.0.0-rc4
+SRCREV = "e21b72c95f857817b4b32b5ef5406355c005a9e8"
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"
diff --git a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb
new file mode 100644
index 000000000..556a25aa1
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib/CVE-2018-17942.patch b/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib/CVE-2018-17942.patch
deleted file mode 100644
index 77e82b167..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb b/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb
deleted file mode 100644
index e04881055..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb b/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb
new file mode 100644
index 000000000..146747eee
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
index e9fcc4cc9..c8b91278d 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
@@ -26,4 +26,5 @@ COMPATIBLE_HOST_mipsarch_libc-glibc = "null"
# {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"
diff --git a/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch b/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch
new file mode 100644
index 000000000..97f16bbc0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch
@@ -0,0 +1,71 @@
+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(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 08a65c4..9af14d5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -817,4 +817,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)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index d343208..d11525b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -613,32 +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 ()
+-
+-set (CMD $<TARGET_FILE:H5detect>)
+-add_custom_command (
+- OUTPUT ${HDF5_BINARY_DIR}/H5Tinit.c
+- COMMAND ${CMD}
+- 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 ()
+-
+-set (CMD $<TARGET_FILE:H5make_libsettings>)
+-add_custom_command (
+- OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
+- COMMAND ${CMD}
+- ARGS > ${HDF5_BINARY_DIR}/H5lib_settings.c
+- DEPENDS H5make_libsettings
+- WORKING_DIRECTORY ${HDF5_BINARY_DIR}
+-)
+
+ if (GENERATE_ERROR_HEADERS)
+ find_package (Perl)
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch b/meta-openembedded/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch
new file mode 100644
index 000000000..6f893787f
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c b/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c
new file mode 100755
index 000000000..8057a7ad8
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c b/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c
new file mode 100644
index 000000000..85f79a6ae
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5lib_settings.c b/meta-openembedded/meta-oe/recipes-support/hdf5/files/H5lib_settings.c
new file mode 100644
index 000000000..c243aee12
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb
new file mode 100644
index 000000000..fcbe9b0d6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb
@@ -0,0 +1,58 @@
+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] = "6f0353ee33e99089c110a1c8d2dd1b22"
+SRC_URI[sha256sum] = "59c03816105d57990329537ad1049ba22c2b8afe1890085f0c022b75f1727238"
+
+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/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb
deleted file mode 100644
index 5feea8987..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
new file mode 100644
index 000000000..40da3b496
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
@@ -0,0 +1,17 @@
+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 \
+"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/archive/v${PV}.tar.gz"
+SRC_URI[md5sum] = "b2399a4aa927e8b3e171d9ea6737cc02"
+SRC_URI[sha256sum] = "bb27b86eb910a8285407cf3ca33b62643a02798cf2eef468c0a74f6c3ee6bc8a"
+
+inherit autotools pkgconfig gettext
+
+RDEPENDS_${PN} = "perl"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb
index 46cc78ed7..37d5a637a 100644
--- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.7.bb
@@ -1,5 +1,8 @@
-SUMMARY = "ImageMagick is an image convertion tools"
+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=dad5a98f173fd3fa6958a1a58c6131c1"
# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
diff --git a/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.5.bb b/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.5.bb
new file mode 100644
index 000000000..b74d5f607
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.5.bb
@@ -0,0 +1,22 @@
+SUMMARY = "ITS Tool allows you to translate your XML documents with PO files"
+HOMEPAGE = "http://itstool.org/"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59c57b95fd7d0e9e238ebbc7ad47c5a5"
+
+inherit autotools python3native
+
+DEPENDS = "python3-native python3-lxml-native"
+
+SRC_URI = "http://files.itstool.org/${BPN}/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "655c6f78fc64faee45adcc45ccc5a57e"
+SRC_URI[sha256sum] = "100506f8df62cca6225ec3e631a8237e9c04650c77495af4919ac6a100d4b308"
+
+do_install_append() {
+ # fix shebang of main script
+ sed -i 's:${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}:${bindir}/${PYTHON_PN}:g' ${D}${bindir}/itstool
+}
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN} += "python3 python3-lxml"
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.3.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.3.bb
deleted file mode 100644
index caf84de2c..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.4.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.4.bb
new file mode 100644
index 000000000..863ce428f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.4.bb
@@ -0,0 +1,33 @@
+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 = "ebbda2217d177d2a17f917d7a3e3d132a26db791"
+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/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.5.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.5.bb
deleted file mode 100644
index 7078e50bb..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
new file mode 100644
index 000000000..e1deb662a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
+AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
+HOMEPAGE = "http://eigen.tuxfamily.org/"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad"
+
+SRC_URI = "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})"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb
deleted file mode 100644
index 816ae5e2e..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.8.bb b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.8.bb
new file mode 100644
index 000000000..a43408908
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.8.bb
@@ -0,0 +1,25 @@
+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.8
+SRCREV = "2882803ca2b2cdedd069746422155a23fdd002b2"
+
+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/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
index 09fb65a08..96615ebf2 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
@@ -1,4 +1,6 @@
require libgpiod.inc
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
+
SRC_URI[md5sum] = "2aa1e1a80c3c919ae142ab9a55fb59ca"
SRC_URI[sha256sum] = "b773e557af1a497f786825462a776b7bf90168e67ee0a5bc5d2473a5674dc38c"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.2.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.2.bb
deleted file mode 100644
index 30289b983..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb
new file mode 100644
index 000000000..e513a33bd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb
@@ -0,0 +1,17 @@
+require libgpiod.inc
+
+DEPENDS += "autoconf-archive-native"
+
+SRC_URI[md5sum] = "9f7530a5d56f070ba0af78d6ba077973"
+SRC_URI[sha256sum] = "6ec837f23e8f2196e5976dec4ac81403170830075e7f33ede1394eaf67f2e962"
+
+PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
+PACKAGECONFIG[tests] = "--enable-tests --enable-install-tests,--disable-tests --disable-install-tests,kmod udev"
+
+PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
+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}-python += "${RRECOMMENDS_PYTHON}"
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index fa6f4c2ca..cc0efccf9 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -4,8 +4,8 @@ SECTION = "libs"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
-SRCREV = "fa82974d8bd1fded78e630ab71a7ded1b11d0e33"
-PV = "0.14+git${SRCPV}"
+SRCREV = "6ecff5d46e1b12c2859f0b63a73282940e3402bb"
+PV = "0.15+git${SRCPV}"
SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https"
diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb
index 542fe8157..b17fc67e0 100644
--- a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb
@@ -1,13 +1,14 @@
DESCRIPTION = "Tiny XML Library"
-LICENSE = "Mini-XML-License"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6ba38606d63bb042c5d8cfee182e120"
+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 = "ba3cca82e15a88a9cc6afb60f059288a99afc703"
+SRCREV = "c7755b6992a2afdd34dde47fc9be97f1237cfded"
S = "${WORKDIR}/git"
-PV = "2.12+git${SRCPV}"
+# v3.0
+PV = "3.0"
CONFIGUREOPTS = " --prefix=${prefix} \
--bindir=${bindir} \
@@ -28,6 +29,8 @@ CONFIGUREOPTS = " --prefix=${prefix} \
"
do_configure() {
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
./configure ${CONFIGUREOPTS} --enable-shared
}
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb b/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.0.bb
deleted file mode 100644
index 94bfb8f87..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.2.bb b/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.2.bb
new file mode 100644
index 000000000..fe853cde4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.8.2.bb
@@ -0,0 +1,27 @@
+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] = "616efd99af3d9ef731a26bed6cee9593"
+SRC_URI[sha256sum] = "088307d9f6b6c4b8c13f34602e8ff65d21c2dc4d55284dfe15d502c4ee190d67"
+
+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/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb
deleted file mode 100644
index 442592de9..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb
new file mode 100644
index 000000000..b80bb4efa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb
@@ -0,0 +1,39 @@
+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 = "903950c7fcf28c32f4b62d9d1c07c0234e8378a2"
+
+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/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config.bb b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config.bb
new file mode 100644
index 000000000..b269e33c4
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config/usbgx.default b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config/usbgx.default
new file mode 100644
index 000000000..f690dfe2a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx-config/usbgx.default
@@ -0,0 +1,2 @@
+IMPORT_SCHEMAS=""
+ENABLED_SCHEMAS="$IMPORT_SCHEMAS"
diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
new file mode 100644
index 000000000..1a106b785
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.initd b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.initd
new file mode 100644
index 000000000..d1938078f
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
new file mode 100644
index 000000000..74541d3c2
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
new file mode 100644
index 000000000..d73ca6106
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb b/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb
index 8c84cb376..b8a700b7b 100644
--- a/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb
+++ b/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/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch b/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch
new file mode 100644
index 000000000..2a866c079
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb b/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
index d9780cfb4..ea54e7552 100644
--- a/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
@@ -6,10 +6,10 @@ 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
diff --git a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
deleted file mode 100644
index 12f5be981..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch
new file mode 100644
index 000000000..6ec91d231
--- /dev/null
+++ b/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)
+@@ -72,6 +72,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/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch
new file mode 100644
index 000000000..aa8f6a4d8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch
@@ -0,0 +1,25 @@
+--- a/Makefile
++++ b/Makefile
+@@ -15,17 +15,17 @@ shared = ${libname}.${VER}.so
+ soname = ${libname}.so.${MVER}
+
+ # overwritten by caller (e.g.: debian/rules)
+-basedir = /usr/local
++basedir ?= /usr/local
+ srcdir=.
+
+ libdir = ${basedir}/lib
+ 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/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
new file mode 100644
index 000000000..5b862bd1f
--- /dev/null
+++ b/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
+export basedir="${D}${prefix}"
+
+CFLAGS += " -D__GNU_LIBRARY__"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_compile() {
+ oe_runmake basedir=${D}${prefix} LD="${CC}" LD="${CC}" shared static
+}
+do_install() {
+ oe_runmake DESTDIR=${D} basedir=${D}${prefix} install
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb
deleted file mode 100644
index 5ad7f0c50..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
index 5b55111dc..3c4a3a151 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
deleted file mode 100644
index 9ab1c06d2..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
index e3ce4c8ac..7117d99a3 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
index 0e68d62fc..e5ad4eaf2 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
@@ -10,20 +10,25 @@ So start lvm2-monitor.service after tmp.mount
Upstream-Status: Inappropriate [oe specific]
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>
---
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 7ec4e4e..3282a95 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
+ 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
DefaultDependencies=no
Conflicts=shutdown.target
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.180.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.180.bb
deleted file mode 100644
index 26af3275d..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb
new file mode 100644
index 000000000..2c4febbe0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb
@@ -0,0 +1,15 @@
+require lvm2.inc
+
+SRCREV = "913c28917e62577a2ef67152b2e5159237503dda"
+
+DEPENDS += "autoconf-archive-native"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' -C libdm install
+}
+
+RRECOMMENDS_${PN}_append_class-target = " lvm2-udevrules"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
index 26a887ea1..8617f25cb 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -7,25 +7,23 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
DEPENDS += "util-linux libaio"
-SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \
+SRC_URI = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${PV}.tgz \
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+)+)"
+SRC_URI[md5sum] = "5fc07da5461a3794a751dcfc355827d5"
+SRC_URI[sha256sum] = "550ba750239fd75b7e52c9877565cabffef506bbf6d7f6f17b9700dee56c720f"
S = "${WORKDIR}/LVM2.${PV}"
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)} \
@@ -39,7 +37,6 @@ 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"
@@ -50,7 +47,6 @@ PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${n
EXTRA_OECONF = "--with-user= \
--with-group= \
--enable-realtime \
- --enable-applib \
--enable-cmdlib \
--enable-pkgconfig \
--with-usrlibdir=${libdir} \
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch b/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 000000000..24d5b1b48
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
index 7f5dd9334..24160b405 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
@@ -1,6 +1,6 @@
-From 5a3e13ae94318c2bed60f875bb3852c45ce0113c Mon Sep 17 00:00:00 2001
+From 3c16d9aaa46602e7594d717d86e7f02066d21134 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 25 May 2017 05:27:11 -0400
+Date: Mon, 26 Nov 2018 17:20:20 +0800
Subject: [PATCH] explicitly do not install libdm
Already have package libdevmapper which split from lvm2,
@@ -9,17 +9,21 @@ 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>
+
+
+Update context for lvm2 2.03.02.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
- libdm/Makefile.in | 6 ++++--
- tools/Makefile.in | 3 ++-
- 2 files changed, 6 insertions(+), 3 deletions(-)
+ libdm/Makefile.in | 6 ++++--
+ libdm/dm-tools/Makefile.in | 6 ++++--
+ 2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/libdm/Makefile.in b/libdm/Makefile.in
-index 66ec39513..c779c9d86 100644
+index e9bb5ae..4e9ae3f 100644
--- a/libdm/Makefile.in
+++ b/libdm/Makefile.in
-@@ -77,9 +77,11 @@ ifeq ("@PKGCONFIG@", "yes")
+@@ -82,9 +82,11 @@ ifeq ("@PKGCONFIG@", "yes")
INSTALL_TYPE += install_pkgconfig
endif
@@ -32,21 +36,30 @@ index 66ec39513..c779c9d86 100644
+ 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
+ @echo " [INSTALL] $<"
+diff --git a/libdm/dm-tools/Makefile.in b/libdm/dm-tools/Makefile.in
+index 15a9d8e..65e1306 100644
+--- a/libdm/dm-tools/Makefile.in
++++ b/libdm/dm-tools/Makefile.in
+@@ -20,7 +20,8 @@ all: device-mapper
--install_device-mapper: $(INSTALL_DMSETUP_TARGETS)
+ SOURCES2 = dmsetup.c
+ TARGETS_DM = dmsetup
+-install_device-mapper: install_dmsetup_dynamic
+install_device-mapper:
+ echo "Do not install device mapper in lvm2"
- install_lvm2: $(INSTALL_LVM_TARGETS)
+ ifeq ("@STATIC_LINK@", "yes")
+ TARGETS_DM += dmsetup.static
+@@ -93,6 +94,7 @@ install_dmfilemapd_static: dmfilemapd.static
+ .PHONY: install_dmsetup_dynamic install_dmsetup_static
+ .PHONY: install_dmfilemapd install_dmfilemapd_static
+
+-install: install_device-mapper install_dmfilemapd
++install:
++ echo "Do not install device mapper in lvm2"
+ device-mapper: $(TARGETS_DM)
--
-2.19.0.397.gdd90340f6a-goog
+2.7.4
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.180.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.180.bb
deleted file mode 100644
index 7bd7b09d8..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb
new file mode 100644
index 000000000..e2ce95c81
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb
@@ -0,0 +1,62 @@
+require lvm2.inc
+
+SRCREV = "913c28917e62577a2ef67152b2e5159237503dda"
+
+SRC_URI += "file://0001-explicitly-do-not-install-libdm.patch \
+ file://0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.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}"
+
+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/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/makefile-remove-ldflags.patch b/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test/makefile-remove-ldflags.patch
new file mode 100644
index 000000000..0ffedd2c1
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test_git.bb b/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test_git.bb
new file mode 100644
index 000000000..888c729b3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/mcelog/mce-test_git.bb
@@ -0,0 +1,30 @@
+#
+# 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 \
+ "
+SRCREV = "74bffd8b0aa27051aeaa1983a7b23975ca8d8726"
+PV = "20171030+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/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb b/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb
index 0f1548aa2..44f55b58d 100644
--- a/meta-openembedded/meta-oe/recipes-support/mini-iconv/mini-iconv.bb
+++ b/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/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb b/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
new file mode 100644
index 000000000..6ead015f8
--- /dev/null
+++ b/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/${PN}-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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-tools-add-RDAC-SUN-ArrayStorage-to-hwtable.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipath-tools-add-RDAC-SUN-ArrayStorage-to-hwtable.patch
deleted file mode 100644
index 1d983e978..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-multipath-tools-remove-c-from-__cpluscplus-misspelle.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0002-multipath-tools-remove-c-from-__cpluscplus-misspelle.patch
deleted file mode 100644
index 73f000aca..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-multipath-tools-remove-emacs-autoconfig-of-kpartx-gp.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0003-multipath-tools-remove-emacs-autoconfig-of-kpartx-gp.patch
deleted file mode 100644
index 7358e1ae9..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0004-multipath-tools-replace-FSF-address-with-a-www-point.patch b/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 13f18b576..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-multipath-tools-Remove-trailing-leading-whitespaces-.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0005-multipath-tools-Remove-trailing-leading-whitespaces-.patch
deleted file mode 100644
index 953e739ef..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-multipath-tools-fix-compilation-with-musl-libc.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0006-multipath-tools-fix-compilation-with-musl-libc.patch
deleted file mode 100644
index c6fd5b4cf..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0007-multipath-tools-add-x-to-doc-preclean.pl-and-split-m.patch b/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 9e608e16f..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch
deleted file mode 100644
index 375215870..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-configure-hitachi-ams2000-and-hus100.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-configure-hitachi-ams2000-and-hus100.patch
deleted file mode 100644
index 2cae0750b..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-libmultipath-don-t-reject-maps-with-undefined-prio.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0010-libmultipath-don-t-reject-maps-with-undefined-prio.patch
deleted file mode 100644
index 2dda2edae..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-handle-errors-in-uxlsnr-as-fatal.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0011-multipathd-handle-errors-in-uxlsnr-as-fatal.patch
deleted file mode 100644
index 96a814ff8..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-libmultipath-fix-error-parsing-find_multipaths-stric.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0012-libmultipath-fix-error-parsing-find_multipaths-stric.patch
deleted file mode 100644
index 8ce2431d6..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-libmultipath-print-correct-default-for-delay_-_check.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0013-libmultipath-print-correct-default-for-delay_-_check.patch
deleted file mode 100644
index c767804d1..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-multipath.conf.5-clarify-property-whitelist-handling.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0014-multipath.conf.5-clarify-property-whitelist-handling.patch
deleted file mode 100644
index 0ab4e0673..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0015-mpathpersist-add-all_tg_pt-option.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0015-mpathpersist-add-all_tg_pt-option.patch
deleted file mode 100644
index be2681d70..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0016-libmultipath-remove-rbd-code.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0016-libmultipath-remove-rbd-code.patch
deleted file mode 100644
index 8d1954725..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0017-mpathpersist-fix-aptpl-support.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0017-mpathpersist-fix-aptpl-support.patch
deleted file mode 100644
index b98d310a1..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0018-multipath-don-t-check-timestamps-without-a-path.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0018-multipath-don-t-check-timestamps-without-a-path.patch
deleted file mode 100644
index 5a3fd8374..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0019-libmultipath-fix-detect-alua-corner-case.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0019-libmultipath-fix-detect-alua-corner-case.patch
deleted file mode 100644
index 23908fa58..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0020-multipath-fix-setting-conf-version.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0020-multipath-fix-setting-conf-version.patch
deleted file mode 100644
index 624f45efd..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
index 4ef3e708d..e88e25617 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
index 451c524c9..fd1060892 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
+++ b/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.0
+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 e0d0279..9f58313 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;
+@@ -415,8 +409,11 @@ filter_property(struct config *conf, struct udev_device *udev, int lvl)
+ }
+ }
+
+- 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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
index 886f1c86f..ea6137f87 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
index 9330bf070..77dd96fee 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
@@ -1,49 +1,58 @@
-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(-)
+ Makefile.inc | 25 ++++++++++++++++---------
+ 1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc
-index 0b271ea..5ff69a3 100644
+index b86cba6..295afb9 100644
--- a/Makefile.inc
+++ b/Makefile.inc
-@@ -85,14 +85,22 @@ TEST_CC_OPTION = $(shell \
+@@ -85,15 +85,22 @@ TEST_CC_OPTION = $(shell \
echo "$(2)"; \
fi)
-STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
+-ERROR_DISCARDED_QUALIFIERS := $(call TEST_CC_OPTION,-Werror=discarded-qualifiers,)
-
-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 \
+- -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) \
- -Wp,-D_FORTIFY_SOURCE=2 $(STACKPROT) \
- --param=ssp-buffer-size=4
+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
CFLAGS := $(OPTFLAGS) -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
-MMD -MP $(CFLAGS)
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
index 5cad22b2b..a1407718d 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
index ddf022f76..938262ba4 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
@@ -1,7 +1,7 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+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
+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,16 +13,22 @@ 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.0
+
+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 ++++-
+ multipath/main.c | 9 ++++++++-
+ multipath/multipath.8 | 3 +++
multipathd/multipathd.service | 1 +
- 5 files changed, 58 insertions(+), 3 deletions(-)
+ 5 files changed, 57 insertions(+), 1 deletion(-)
diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c
-index 53e7951..39e08cd 100644
+index 53e7951..9ba9b62 100644
--- a/libmultipath/wwids.c
+++ b/libmultipath/wwids.c
@@ -443,3 +443,47 @@ int op ## _wwid(const char *wwid) \
@@ -32,46 +38,46 @@ index 53e7951..39e08cd 100644
+
+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
@@ -86,19 +92,18 @@ index 0c6ee54..e32a0b0 100644
enum {
WWID_IS_NOT_FAILED = 0,
diff --git a/multipath/main.c b/multipath/main.c
-index 6fdde03..7bac232 100644
+index 5abb118..c751b31 100644
--- a/multipath/main.c
+++ b/multipath/main.c
-@@ -109,7 +109,7 @@ usage (char * progname)
- {
+@@ -134,6 +134,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|-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)
+ fprintf (stderr, " %s [-t|-T]\n", progname);
+@@ -147,6 +148,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"
@@ -107,40 +112,31 @@ index 6fdde03..7bac232 100644
" -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);
+@@ -870,7 +873,7 @@ main (int argc, char *argv[])
+ exit(RTVL_FAIL);
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 ) {
+- while ((arg = getopt(argc, argv, ":adcChl::FfM:v:p:b:BrR:itTquUwW")) != EOF ) {
++ while ((arg = getopt(argc, argv, ":aAdcChl::FfM:v:p:b:BrR:itTquUwW")) != EOF ) {
switch(arg) {
case 1: printf("optarg : %s\n",optarg);
break;
-@@ -974,6 +976,10 @@ main (int argc, char *argv[])
+@@ -937,6 +940,10 @@ main (int argc, char *argv[])
case 't':
- r = dump_config(conf);
+ r = dump_config(conf, NULL, NULL) ? RTVL_FAIL : RTVL_OK;
goto out_free_config;
+ case 'A':
+ if (remember_cmdline_wwid() != 0)
+ exit(1);
+ exit(0);
- case 'h':
- usage(argv[0]);
- exit(0);
+ case 'T':
+ cmd = CMD_DUMP_CONFIG;
+ break;
diff --git a/multipath/multipath.8 b/multipath/multipath.8
-index 914a8cb..8c6a4c1 100644
+index 9cdd05a..1e120f3 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.
+@@ -167,6 +167,9 @@ itself doesn't attempt to do I/O on the device.
Check if the device specified in the program environment should be
a path in a multipath device.
.
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
index a23e16739..57d04d02b 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
@@ -1,7 +1,10 @@
-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 d16de70b76919269561b4e404825f78286ea9a40 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 10:31:30 +0800
+Subject: [PATCH] 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 +12,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 new version
+
+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(-)
+ libmultipath/parser.h | 2 +-
+ 3 files changed, 36 insertions(+), 8 deletions(-)
diff --git a/libmultipath/dict.c b/libmultipath/dict.c
-index 7ad0f5a..ab808d6 100644
+index a81c051..0689763 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) \
+@@ -1346,8 +1361,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) \
+@@ -1363,7 +1378,7 @@ ble_ ## option ## _ ## name ## _handler (struct config *conf, vector strvec) \
if (!conf->option) \
return 1; \
\
@@ -59,7 +70,7 @@ index 7ad0f5a..ab808d6 100644
if (!buff) \
return 1; \
\
-@@ -1388,16 +1403,16 @@ device_handler(struct config *conf, vector strvec)
+@@ -1466,16 +1481,16 @@ device_handler(struct config *conf, vector strvec)
return 0;
}
@@ -81,37 +92,38 @@ 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 92ef7cf..0e2cf49 100644
--- a/libmultipath/parser.c
+++ b/libmultipath/parser.c
-@@ -380,6 +380,19 @@ set_value(vector strvec)
+@@ -384,6 +384,19 @@ set_value(vector strvec)
return alloc;
}
+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 */
static int kw_level = 0;
diff --git a/libmultipath/parser.h b/libmultipath/parser.h
-index 62906e9..b791705 100644
+index 62906e9..b6899fc 100644
--- a/libmultipath/parser.h
+++ b/libmultipath/parser.h
-@@ -77,6 +77,7 @@ extern void dump_keywords(vector keydump, int level);
+@@ -76,7 +76,7 @@ extern int _install_keyword(vector keywords, char *string,
+ extern void dump_keywords(vector keydump, int level);
extern void free_keywords(vector keywords);
extern vector alloc_strvec(char *string);
- extern void *set_value(vector strvec);
+-extern void *set_value(vector strvec);
+extern void *set_regex_value(vector strvec);
extern int process_file(struct config *conf, char *conf_file);
extern struct keyword * find_keyword(vector keywords, vector v, char * name);
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
index 05e686492..ad03b8acc 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
index 45cd32ac2..4fa7960b1 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
@@ -1,7 +1,10 @@
-From 8bdd4481d822b6625d8bf719431ca74ed1b5e021 Mon Sep 17 00:00:00 2001
+From a805b601fcf4bb9e269566a8d25e48d9e60915c0 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 16 Jul 2018 15:56:37 +0800
-Subject: [PATCH] multipath-tools: modify Makefile.inc for cross-compilation
+Date: Mon, 26 Nov 2018 11:14:24 +0800
+Subject: [PATCH] From 8bdd4481d822b6625d8bf719431ca74ed1b5e021 Mon Sep 17
+ 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> Date: Mon, 16
+ Jul 2018 15:56:37 +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
using the OPTFLAGS variable.
@@ -23,12 +26,15 @@ 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.7.9
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- Makefile.inc | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
+ Makefile.inc | 6 ------
+ 1 file changed, 6 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc
-index 57a1835..0c403c7 100644
+index 295afb9..7136db3 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -38,12 +38,6 @@ ifndef RUN
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
index 12811804a..3e88b4100 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
index 88a758dcb..418c0200f 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.7.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.7.7.bb
deleted file mode 100644
index 5cc154604..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb
new file mode 100644
index 000000000..0cff48dc4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb
@@ -0,0 +1,111 @@
+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://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 = "eb688e1833e9533bfd9496ddc37eecc93590defa"
+
+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/meta-openembedded/meta-oe/recipes-support/nano/nano_3.0.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_3.0.bb
deleted file mode 100644
index 2c7fbd549..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/nano/nano_4.0.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.0.bb
new file mode 100644
index 000000000..3d7921a37
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.0.bb
@@ -0,0 +1,20 @@
+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] = "2de3e8a60ecf09649e316e89be2aac65"
+SRC_URI[sha256sum] = "1e2fcfea35784624a7d86785768b772d58bb3995d1aec9176a27a113b1e9bac3"
+
+inherit autotools gettext pkgconfig
+
+PACKAGECONFIG[tiny] = "--enable-tiny,"
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch
new file mode 100644
index 000000000..7af265a99
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch
@@ -0,0 +1,31 @@
+From e25d00d8297cba044c3a4d2e38749e54adac66c1 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(-)
+
+diff --git open-vm-tools/lib/misc/util_misc.c b/open-vm-tools/lib/misc/util_misc.c
+index 198c23d2..0ac0a335 100644
+--- open-vm-tools/lib/misc/util_misc.c
++++ open-vm-tools/lib/misc/util_misc.c
+@@ -719,8 +719,8 @@ Util_ExpandString(const char *fileName) // IN file path to expand
+ ASSERT(!freeChunk[i]);
+ chunks[i] = expand;
+ if (chunks[i] == NULL) {
+- Log("%s: Cannot allocate memory to expand \"%s\" in \"%s\".\n",
+- __FUNCTION__, expand, fileName);
++ Log("%s: Cannot allocate memory to expand in \"%s\".\n",
++ __FUNCTION__, fileName);
+ goto out;
+ }
+ chunkSize[i] = strlen(expand);
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb
deleted file mode 100644
index 2d7486da3..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb
new file mode 100644
index 000000000..7ed659372
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb
@@ -0,0 +1,107 @@
+# 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 \
+ file://0001-misc-Do-not-print-NULL-string-into-logs.patch \
+ "
+# stable-10.3.5
+SRCREV = "f2ff192717375b95a6b7e278fb47dbb3d3bc56d1"
+
+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/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-multi-line-separator.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-multi-line-separator.patch
deleted file mode 100644
index 513597b8c..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Check-for-clang-before-using-isystem.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Check-for-clang-before-using-isystem.patch
deleted file mode 100644
index 319071a31..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.3.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.3.bb
deleted file mode 100644
index 0a99700b4..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.5.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.5.bb
new file mode 100644
index 000000000..fa6e06a25
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.5.bb
@@ -0,0 +1,190 @@
+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 = "8f1356c3c5b16721349582db461a2051653059e8"
+SRCREV_contrib = "7292df62624ded8af8035231435dfd17c93e1a80"
+SRCREV_ipp = "32e315a5b106a7b89dbed51c28f8120a48b368b4"
+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')
+ 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 \
+ 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://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 \
+"
+PV = "3.4.5"
+
+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)} \
+"
+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"
+
+RDEPENDS_opencv-apps = "bash"
+
+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/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch
index 4eb389797..870fc98ad 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch
+++ b/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/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.46.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.46.bb
deleted file mode 100644
index 7fe9fb0d7..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.47.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.47.bb
new file mode 100644
index 000000000..4345d7d89
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.47.bb
@@ -0,0 +1,255 @@
+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 = "http://www.openldap.org/software/download/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] = "e508f97bfd778fec7799f286e5c07176"
+SRC_URI[sha256sum] = "f54c5877865233d9ada77c60c0f69b3e0bfd8b1b55889504c650047cc305520b"
+
+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/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch b/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fixed-gcc-8-compilation-errors-1353.patch
deleted file mode 100644
index 48d832754..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Remove-redundant-logging.patch b/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Remove-redundant-logging.patch
new file mode 100644
index 000000000..291f1a239
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Remove-redundant-logging.patch
@@ -0,0 +1,34 @@
+From c012f46965b3fe24e31367796e52c2d0b14ca5d9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 17 Dec 2018 18:44:23 -0800
+Subject: [PATCH] Remove redundant logging
+
+Same information is printed a few line below in same function, the only
+difference is that there it takes care of case when label is NULL pointer
+unlike this line
+
+secondly, every function call to cosm_write_tokeninfo() in this file
+passes label=NULL, and then it tries to print a null pointer
+
+Fixes errors like
+src/libopensc/log.h:48:47: error: '%s' directive argument is null
+[-Werror=format-overflow=]
+
+Upstream-Status: Submitted [https://github.com/OpenSC/OpenSC/pull/1557]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/pkcs15init/pkcs15-oberthur.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+Index: git/src/pkcs15init/pkcs15-oberthur.c
+===================================================================
+--- git.orig/src/pkcs15init/pkcs15-oberthur.c
++++ git/src/pkcs15init/pkcs15-oberthur.c
+@@ -70,7 +70,6 @@ cosm_write_tokeninfo (struct sc_pkcs15_c
+ ctx = p15card->card->ctx;
+
+ SC_FUNC_CALLED(ctx, SC_LOG_DEBUG_VERBOSE);
+- sc_debug(ctx, SC_LOG_DEBUG_NORMAL, "cosm_write_tokeninfo() label '%s'; flags 0x%X", label, flags);
+ if (sc_profile_get_file(profile, COSM_TITLE"-token-info", &file)) {
+ rv = SC_ERROR_INCONSISTENT_PROFILE;
+ SC_TEST_GOTO_ERR(ctx, SC_LOG_DEBUG_NORMAL, rv, "Cannot find "COSM_TITLE"-token-info");
diff --git a/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.18.0.bb b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.18.0.bb
deleted file mode 100644
index 45c931e7b..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb
new file mode 100644
index 000000000..bc1722e39
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Smart card library and applications"
+DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\
+functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\
+7816-4 compatible smart card. Encryption and decryption using private\
+keys on the smart card is possible with PKCS\
+such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\
+eID cards have also been confirmed to work."
+
+HOMEPAGE = "http://www.opensc-project.org/opensc/"
+SECTION = "System Environment/Libraries"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+#v0.19.0
+SRCREV = "f1691fc91fc113191c3a8aaf5facd6983334ec47"
+SRC_URI = "git://github.com/OpenSC/OpenSC \
+ file://0001-Remove-redundant-logging.patch \
+ "
+DEPENDS = "openct pcsc-lite virtual/libiconv openssl"
+
+S = "${WORKDIR}/git"
+inherit autotools pkgconfig bash-completion
+
+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/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Support-of-arch-riscv64-by-Manuel-A.-Fernandez-Monte.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Support-of-arch-riscv64-by-Manuel-A.-Fernandez-Monte.patch
new file mode 100644
index 000000000..72d89d09b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Support-of-arch-riscv64-by-Manuel-A.-Fernandez-Monte.patch
@@ -0,0 +1,41 @@
+From ed04c97abe015a226269de391e36c4d251292725 Mon Sep 17 00:00:00 2001
+From: Francis ANDRE <francis.andre.kampbell@orange.fr>
+Date: Sun, 6 May 2018 12:28:25 +0200
+Subject: [PATCH] Support of arch riscv64 by Manuel A. Fernandez Montecelo
+ <mafm@debian.org>
+
+---
+ Foundation/include/Poco/Platform.h | 6 +++++-
+ Foundation/src/utils.h | 1 +
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+--- a/Foundation/include/Poco/Platform.h
++++ b/Foundation/include/Poco/Platform.h
+@@ -134,6 +134,7 @@
+ #define POCO_ARCH_NIOS2 0x0e
+ #define POCO_ARCH_AARCH64 0x0f
+ #define POCO_ARCH_ARM64 0x0f // same as POCO_ARCH_AARCH64
++#define POCO_ARCH_RISCV64 0x10
+
+
+ #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA)
+@@ -224,6 +225,9 @@
+ #elif defined(__AARCH64EB__)
+ #define POCO_ARCH POCO_ARCH_AARCH64
+ #define POCO_ARCH_BIG_ENDIAN 1
++#elif defined(__riscv) && (__riscv_xlen == 64)
++ #define POCO_ARCH POCO_ARCH_RISCV64
++ #define POCO_ARCH_LITTLE_ENDIAN 1
+ #endif
+
+
+--- a/Foundation/src/utils.h
++++ b/Foundation/src/utils.h
+@@ -63,6 +63,7 @@
+ defined(__SH4__) || defined(__alpha__) || \
+ defined(_MIPS_ARCH_MIPS32R2) || \
+ defined(__AARCH64EL__) || \
++ defined(__riscv) || \
+ defined(nios2) || defined(__nios2) || defined(__nios2__)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb
index 258cc4994..70b251034 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb
@@ -11,6 +11,7 @@ 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-Support-of-arch-riscv64-by-Manuel-A.-Fernandez-Monte.patch \
file://run-ptest \
"
SRCREV = "daf00da73ab917e4d4581e3aa00c0ee61e0cc58b"
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch
index 7ed795ef7..c364d7372 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch
@@ -15,15 +15,18 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
-index 33c6608..87e1b44 100644
+index 6f91669..ca5021f 100644
--- a/glib/CMakeLists.txt
+++ b/glib/CMakeLists.txt
-@@ -127,7 +127,7 @@ if (HAVE_INTROSPECTION AND BUILD_SHARED_LIBS)
+@@ -135,7 +135,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_CFLAGS ${_includes} -L${CMAKE_BINARY_DIR} -L${CMAKE_CURRENT_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
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
index 528528ae7..ab6bdb080 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
@@ -8,8 +8,8 @@ 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"
+ #include <libgen.h>
+#if !defined(__GLIBC__)
+#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.70.1.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.70.1.bb
deleted file mode 100644
index b618f28c5..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.75.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.75.0.bb
new file mode 100644
index 000000000..0704f1a2a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.75.0.bb
@@ -0,0 +1,59 @@
+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] = "3fb4ca803d989742695ca586c5cc489e"
+SRC_URI[sha256sum] = "3bbaedb0fa2797cac933a0659d144303e4d09eec6892c65600da987d8707199a"
+
+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_UNSTABLE_API_ABI_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
+ # gir-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/meta-openembedded/meta-oe/recipes-support/pv/pv_1.5.3.bb b/meta-openembedded/meta-oe/recipes-support/pv/pv_1.5.3.bb
deleted file mode 100644
index 5e3dd67c5..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/pv/pv_1.6.6.bb b/meta-openembedded/meta-oe/recipes-support/pv/pv_1.6.6.bb
new file mode 100644
index 000000000..9649555b8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pv/pv_1.6.6.bb
@@ -0,0 +1,13 @@
+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"
+
+inherit autotools
+
+LDEMULATION_mipsarchn32 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'elf32btsmipn32', 'elf32ltsmipn32', d)}"
+export LDEMULATION
diff --git a/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-Do-not-install-license-file.patch b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-Do-not-install-license-file.patch
new file mode 100644
index 000000000..a9b9476bd
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch b/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 440800235..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb
deleted file mode 100644
index b002906fa..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
new file mode 100644
index 000000000..e4c2cadc2
--- /dev/null
+++ b/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/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb b/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb
new file mode 100644
index 000000000..4c229cdb7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.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=3.5-stable"
+SRCREV = "39e30874b9a5dd6a802c20e8b0470ba44eeba929"
+S = "${WORKDIR}/git"
+PV = "3.5.5"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb b/meta-openembedded/meta-oe/recipes-support/sass/sassc_git.bb
new file mode 100644
index 000000000..044c0c7fc
--- /dev/null
+++ b/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 = "aa6d5c635ea8faf44d542a23aaf85d27e5777d48"
+S = "${WORKDIR}/git"
+PV = "3.5.0"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.26.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.26.bb
deleted file mode 100644
index a09bea23d..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.27.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.27.bb
new file mode 100644
index 000000000..10dfc2bad
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.27.bb
@@ -0,0 +1,32 @@
+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 = "dff1b877d42bf2153f8f090905d9cc8fb333bf1e"
+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/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/glibc-2.28.patch b/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/glibc-2.28.patch
deleted file mode 100644
index fbad4135d..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb b/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb
deleted file mode 100644
index c37c5e952..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.44.bb b/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.44.bb
new file mode 100644
index 000000000..4909035b3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.44.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] = "c11d2b3ca4cc2fd01796473e5330afed"
+SRC_URI[sha256sum] = "8dae684d22e71b11353a48b16c95597af90f0cbe9bbd57f98d7f5544da5cae7b"
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/sg3_utils-${PV}"
+
+RDEPENDS_${PN} += "bash"
diff --git a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
index c12289b5d..dca42676d 100644
--- a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
@@ -20,3 +20,5 @@ do_install_append() {
rmdir --ignore-fail-on-non-empty ${D}${libdir}
fi
}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.3.1.bb b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.3.1.bb
new file mode 100644
index 000000000..91e3f67c2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.3.1.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 = "a7148b718ea2fabb8387cb90aee9bf448da63e65"
+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/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-Add-linux-musleabi-to-ostable.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-Add-linux-musleabi-to-ostable.patch
deleted file mode 100644
index 269441fc8..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch
new file mode 100644
index 000000000..50e689440
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch
@@ -0,0 +1,41 @@
+From a328c8bec0bf8071ae8f20fee4c7475205064ba1 Mon Sep 17 00:00:00 2001
+From: sweeaun <swee.aun.khor@intel.com>
+Date: Sun, 10 Sep 2017 00:14:15 -0700
+Subject: [PATCH] dpkg: Support muslx32 build
+
+Upstream-Status: Pending.
+Changes made on ostable and tupletable to enable muslx32 build.
+
+Signed-off-by: sweeaun <swee.aun.khor@intel.com>
+---
+ data/ostable | 1 +
+ data/tupletable | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/data/ostable b/data/ostable
+index be64342..87db273 100644
+--- a/data/ostable
++++ b/data/ostable
+@@ -19,6 +19,7 @@ base-uclibc-linux linux-uclibc linux[^-]*-uclibc
+ eabihf-musl-linux linux-musleabihf linux[^-]*-musleabihf
+ eabi-musl-linux linux-musleabi linux[^-]*-musleabi
+ base-musl-linux linux-musl linux[^-]*-musl
++x32-musl-linux linux-muslx32 linux[^-]*-muslx32
+ eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf
+ eabi-gnu-linux linux-gnueabi linux[^-]*-gnueabi
+ abin32-gnu-linux linux-gnuabin32 linux[^-]*-gnuabin32
+diff --git a/data/tupletable b/data/tupletable
+index 28f00bf..748ffab 100644
+--- a/data/tupletable
++++ b/data/tupletable
+@@ -10,6 +10,7 @@ base-uclibc-linux-<cpu> uclibc-linux-<cpu>
+ eabihf-musl-linux-arm musl-linux-armhf
+ eabi-musl-linux-arm musl-linux-armel
+ base-musl-linux-<cpu> musl-linux-<cpu>
++x32-musl-linux-amd64 x32
+ ilp32-gnu-linux-arm64 arm64ilp32
+ eabihf-gnu-linux-arm armhf
+ eabi-gnu-linux-arm armel
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
new file mode 100644
index 000000000..9fe0ca760
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
@@ -0,0 +1,38 @@
+From b4ea54158c399874e12394ebc91afe98954695e2 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 26 Aug 2015 16:16:16 +0300
+Subject: [PATCH 2/5] Adapt to linux-wrs kernel version, which has character
+ '_' inside. Remove the first-char-digit-check (as the 1.15.8.5 version does).
+
+Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ lib/dpkg/parsehelp.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/lib/dpkg/parsehelp.c b/lib/dpkg/parsehelp.c
+index 453077fd9..f42ea2882 100644
+--- a/lib/dpkg/parsehelp.c
++++ b/lib/dpkg/parsehelp.c
+@@ -243,14 +243,12 @@ parseversion(struct dpkg_version *rversion, const char *string,
+ ptr = rversion->version;
+ if (!*ptr)
+ return dpkg_put_error(err, _("version number is empty"));
+- if (*ptr && !c_isdigit(*ptr++))
+- return dpkg_put_warn(err, _("version number does not start with digit"));
+ for (; *ptr; ptr++) {
+- if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:", *ptr) == NULL)
++ if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:_", *ptr) == NULL)
+ return dpkg_put_warn(err, _("invalid character in version number"));
+ }
+ for (ptr = rversion->revision; *ptr; ptr++) {
+- if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".+~", *ptr) == NULL)
++ if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~_", *ptr) == NULL)
+ return dpkg_put_warn(err, _("invalid character in revision number"));
+ }
+
+
+--
+2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
new file mode 100644
index 000000000..93d870443
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
@@ -0,0 +1,75 @@
+From 24229971492515b64c81e8c6392e5dfbdc22b44c Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 26 Aug 2015 16:25:45 +0300
+Subject: [PATCH 3/5] Our pre/postinsts expect $D to be set when running in a
+ sysroot and don't expect a chroot. This matches up our system expectations
+ with what dpkg does.
+
+Upstream-Status: Inappropriate [OE Specific]
+
+RP 2011/12/07
+ALIMON 2016/05/26
+ALIMON 2017/02/21
+---
+ src/script.c | 44 +++-----------------------------------------
+ 1 file changed, 3 insertions(+), 41 deletions(-)
+
+diff --git a/src/script.c b/src/script.c
+index 2f252ae..768a9d1 100644
+--- a/src/script.c
++++ b/src/script.c
+@@ -97,48 +97,10 @@ setexecute(const char *path, struct stat *stab)
+ static const char *
+ maintscript_pre_exec(struct command *cmd)
+ {
+- const char *admindir = dpkg_db_get_dir();
+- const char *changedir;
+- size_t instdirlen = strlen(instdir);
+-
+- if (instdirlen > 0 && fc_script_chrootless)
+- changedir = instdir;
+- else
+- changedir = "/";
+-
+- if (instdirlen > 0 && !fc_script_chrootless) {
+- if (strncmp(admindir, instdir, instdirlen) != 0)
+- ohshit(_("admindir must be inside instdir for dpkg to work properly"));
+- if (setenv("DPKG_ADMINDIR", admindir + instdirlen, 1) < 0)
+- ohshite(_("unable to setenv for subprocesses"));
+- if (setenv("DPKG_ROOT", "", 1) < 0)
+- ohshite(_("unable to setenv for subprocesses"));
+-
+- if (chroot(instdir))
+- ohshite(_("failed to chroot to '%.250s'"), instdir);
++ if (*instdir) {
++ setenv("D", instdir, 1);
+ }
+- /* Switch to a known good directory to give the maintainer script
+- * a saner environment, also needed after the chroot(). */
+- if (chdir(changedir))
+- ohshite(_("failed to chdir to '%.255s'"), changedir);
+- if (debug_has_flag(dbg_scripts)) {
+- struct varbuf args = VARBUF_INIT;
+- const char **argv = cmd->argv;
+-
+- while (*++argv) {
+- varbuf_add_char(&args, ' ');
+- varbuf_add_str(&args, *argv);
+- }
+- varbuf_end_str(&args);
+- debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename,
+- args.buf);
+- varbuf_destroy(&args);
+- }
+- if (instdirlen == 0 || fc_script_chrootless)
+- return cmd->filename;
+-
+- assert(strlen(cmd->filename) >= instdirlen);
+- return cmd->filename + instdirlen;
++ return cmd->filename;
+ }
+
+ /**
+--
+2.1.4
+
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
new file mode 100644
index 000000000..56c85c773
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
@@ -0,0 +1,31 @@
+From adb6bfd0feeceaf030df0debe3343d7f73e708a0 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 26 Aug 2015 16:27:45 +0300
+Subject: [PATCH 4/5] The lutimes function doesn't work properly for all
+ systems.
+
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ src/archives.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/archives.c b/src/archives.c
+index bff5f14..b711013 100644
+--- a/src/archives.c
++++ b/src/archives.c
+@@ -449,8 +449,9 @@ tarobject_set_mtime(struct tar_entry *te, const char *path)
+
+ if (te->type == TAR_FILETYPE_SYMLINK) {
+ #ifdef HAVE_LUTIMES
+- if (lutimes(path, tv) && errno != ENOSYS)
++/* if (lutimes(path, tv) && errno != ENOSYS)
+ ohshite(_("error setting timestamps of '%.255s'"), path);
++*/
+ #endif
+ } else {
+ if (utimes(path, tv))
+--
+2.1.4
+
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch
new file mode 100644
index 000000000..96e96f277
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch
@@ -0,0 +1,36 @@
+From 0ad7bba80d5b9035089ff2b2f77a774b5b201915 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 26 Aug 2015 16:28:59 +0300
+Subject: [PATCH 5/5] dpkg-compiler.m4: remove -Wvla
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Remove the -Wvla flag from the set of compiler warning flags, since gcc
+on old host systems such as CentOS 5.8 doesn't support it, and it
+causes a build error for dpkg-native.
+
+Upstream-Status: Pending
+
+Signed-off-by: Donn Seeley <donn.seeley@windriver.com>
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
+---
+ m4/dpkg-compiler.m4 | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/m4/dpkg-compiler.m4 b/m4/dpkg-compiler.m4
+index 682857c..23ed7d0 100644
+--- a/m4/dpkg-compiler.m4
++++ b/m4/dpkg-compiler.m4
+@@ -52,7 +52,6 @@ AC_DEFUN([DPKG_CHECK_COMPILER_WARNINGS], [
+ DPKG_CHECK_COMPILER_FLAG([-Wlogical-op])
+ DPKG_CHECK_COMPILER_FLAG([-Wlogical-not-parentheses])
+ DPKG_CHECK_COMPILER_FLAG([-Wswitch-bool])
+- DPKG_CHECK_COMPILER_FLAG([-Wvla])
+ DPKG_CHECK_COMPILER_FLAG([-Winit-self])
+ DPKG_CHECK_COMPILER_FLAG([-Wwrite-strings])
+ DPKG_CHECK_COMPILER_FLAG([-Wcast-align])
+--
+2.1.4
+
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch
new file mode 100644
index 000000000..8797ea55c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch
@@ -0,0 +1,42 @@
+From f8910022dc3ec622272f168cd0022dbdf6dff93a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Dec 2015 23:05:41 +0000
+Subject: [PATCH] add musleabi to known target tripets
+
+helps compiling dpkg for musl/arm-softfloat
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
+---
+ data/ostable | 1 +
+ data/tupletable | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/data/ostable b/data/ostable
+index 99c1f889d..be6434271 100644
+--- a/data/ostable
++++ b/data/ostable
+@@ -17,6 +17,7 @@
+ eabi-uclibc-linux linux-uclibceabi linux[^-]*-uclibceabi
+ base-uclibc-linux linux-uclibc linux[^-]*-uclibc
+ eabihf-musl-linux linux-musleabihf linux[^-]*-musleabihf
++eabi-musl-linux linux-musleabi linux[^-]*-musleabi
+ base-musl-linux linux-musl linux[^-]*-musl
+ eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf
+ eabi-gnu-linux linux-gnueabi linux[^-]*-gnueabi
+diff --git a/data/tupletable b/data/tupletable
+index 5f500f6ca..28f00bfe6 100644
+--- a/data/tupletable
++++ b/data/tupletable
+@@ -8,6 +8,7 @@
+ eabi-uclibc-linux-arm uclibc-linux-armel
+ base-uclibc-linux-<cpu> uclibc-linux-<cpu>
+ eabihf-musl-linux-arm musl-linux-armhf
++eabi-musl-linux-arm musl-linux-armel
+ base-musl-linux-<cpu> musl-linux-<cpu>
+ ilp32-gnu-linux-arm64 arm64ilp32
+ eabihf-gnu-linux-arm armhf
+--
+2.11.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
new file mode 100644
index 000000000..1b985df0f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
@@ -0,0 +1,39 @@
+From 8659eeeeda74d71e12080121f0b13a88cbdda433 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Tue, 21 Feb 2017 11:23:27 -0600
+Subject: [PATCH] dpkg-deb/build.c: Remove usage of --clamp-mtime in tar
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Recently dpkg added --clamp-mtime to tar to create reproducible
+build tarballs [1].
+
+But host tools doesn't support this option because is new on tar
+so disable in our builds.
+
+Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
+
+Upstream-Status: Inappropriate [Configuration]
+
+[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=759999#20
+[2] https://lists.gnu.org/archive/html/help-tar/2016-01/msg00000.html
+---
+ dpkg-deb/build.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
+index a92b58e..a3d1912 100644
+--- a/dpkg-deb/build.c
++++ b/dpkg-deb/build.c
+@@ -450,7 +450,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+
+ command_init(&cmd, TAR, "tar -cf");
+ command_add_args(&cmd, "tar", "-cf", "-", "--format=gnu",
+- "--mtime", mtime, "--clamp-mtime", NULL);
++ "--mtime", mtime, NULL);
+ /* Mode might become a positional argument, pass it before -T. */
+ if (mode)
+ command_add_args(&cmd, "--mode", mode, NULL);
+--
+2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch
new file mode 100644
index 000000000..d165616a1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch
@@ -0,0 +1,48 @@
+Author: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
+Date: Wed Apr 8 18:08:14 2015 +0530
+
+[PATCH] add armeb triplet entry into triplettable.
+
+Cross-compling dpkg application for armeb fails with below error
+during configure task,
+
+(snip)
+ configure:23141: checking dpkg cpu type
+ configure:23148: result: armeb
+ configure:23150: WARNING: armeb not found in cputable
+ configure:23162: checking dpkg operating system type
+ configure:23169: result: linux-gnueabi
+ configure:23171: WARNING: linux-gnueabi not found in ostable
+ configure:23183: checking dpkg architecture name
+ configure:23189: error: cannot determine host dpkg architecture
+-- CUT --
+
+the required combination of "gnueabi-linux-armeb" was not found in
+the triplettable file thereby returning dpkg_arch as
+empty in configure script.
+
+Upstream-Status: Pending
+
+Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
+Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
+
+---
+ data/tupletable | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/data/tupletable b/data/tupletable
+index b7802bec3..5f500f6ca 100644
+--- a/data/tupletable
++++ b/data/tupletable
+@@ -12,6 +12,7 @@ base-musl-linux-<cpu> musl-linux-<cpu>
+ ilp32-gnu-linux-arm64 arm64ilp32
+ eabihf-gnu-linux-arm armhf
+ eabi-gnu-linux-arm armel
++eabi-gnu-linux-armeb armeb
+ abin32-gnu-linux-mips64r6el mipsn32r6el
+ abin32-gnu-linux-mips64r6 mipsn32r6
+ abin32-gnu-linux-mips64el mipsn32el
+--
+2.11.0
+
+
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch
new file mode 100644
index 000000000..4e0d22acb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch
@@ -0,0 +1,29 @@
+configure cannot determine the proper cpu, os, or
+architecture for mips64, and possibly other arch's
+because of faulty code added to Arch.pm in the latest
+release from upstream. We remove that code.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+
+---
+ scripts/Dpkg/Arch.pm | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/scripts/Dpkg/Arch.pm b/scripts/Dpkg/Arch.pm
+index 1720847b8..6345ce3b9 100644
+--- a/scripts/Dpkg/Arch.pm
++++ b/scripts/Dpkg/Arch.pm
+@@ -323,9 +323,6 @@ sub _load_tupletable()
+ (my $dt = $debtuple) =~ s/<cpu>/$_cpu/;
+ (my $da = $debarch) =~ s/<cpu>/$_cpu/;
+
+- next if exists $debarch_to_debtuple{$da}
+- or exists $debtuple_to_debarch{$dt};
+-
+ $debarch_to_debtuple{$da} = $dt;
+ $debtuple_to_debarch{$dt} = $da;
+ }
+--
+2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch
new file mode 100644
index 000000000..a7f3cb8f4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch
@@ -0,0 +1,22 @@
+Upstream-Status: Inappropriate [disable feature]
+
+---
+ Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 0da52cb16..a1f79e0a2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -13,8 +13,7 @@ SUBDIRS = \
+ $(MAYBE_DSELECT) \
+ scripts \
+ t-func \
+- po \
+- man
++ po
+
+ ACLOCAL_AMFLAGS = -I m4
+
+--
+2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch
new file mode 100644
index 000000000..4f408ff77
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch
@@ -0,0 +1,17 @@
+busybox-1.19.4 tar utility doesn't support --warning=no-timestamp
+
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+
+Upstream-Status: Inappropriate [configuration]
+Index: dpkg-1.17.1/dpkg-deb/extract.c
+===================================================================
+--- dpkg-1.17.1.orig/dpkg-deb/extract.c
++++ dpkg-1.17.1/dpkg-deb/extract.c
+@@ -318,7 +318,6 @@ extracthalf(const char *debar, const cha
+
+ command_add_arg(&cmd, "-f");
+ command_add_arg(&cmd, "-");
+- command_add_arg(&cmd, "--warning=no-timestamp");
+
+ m_dup2(p2[0],0);
+ close(p2[0]);
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.17.25.bb
deleted file mode 100644
index b9b22a316..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb
new file mode 100644
index 000000000..b372d3c4a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb
@@ -0,0 +1,87 @@
+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"
+DEPENDS = "zlib bzip2 perl ncurses"
+# start-stop-daemon is usually shipped by dpkg
+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://noman.patch \
+ file://remove-tar-no-timestamp.patch \
+ file://arch_pm.patch \
+ file://add_armeb_triplet_entry.patch \
+ file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \
+ file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \
+ file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \
+ file://0005-dpkg-compiler.m4-remove-Wvla.patch \
+ file://0006-add-musleabi-to-known-target-tripets.patch \
+ file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \
+ file://0001-dpkg-Support-muslx32-build.patch \
+"
+SRC_URI[md5sum] = "e463f58b04acb23659df23d2a7a05cff"
+SRC_URI[sha256sum] = "c49c371953aea03f543814dcae37c069e86069333fb2e24e9252e76647663492"
+
+inherit autotools gettext perlnative pkgconfig perl-version
+
+S = "${WORKDIR}/dpkg-${PV}"
+
+EXTRA_OECONF = "\
+ --disable-dselect \
+ --enable-start-stop-daemon \
+ --with-libz \
+ --with-libbz2 \
+ --without-libselinux \
+ "
+
+PACKAGECONFIG = "liblzma"
+PACKAGECONFIG[liblzma] = "--with-liblzma,--without-liblzma, xz"
+
+export PERL = "${bindir}/perl"
+export PERL_LIBDIR = "${libdir}/perl/${@get_perl_version(d)}"
+EXTRA_OECONF += "TAR=tar"
+
+EXTRA_OECONF_append_class-target = " DEB_HOST_ARCH=${DPKG_ARCH}"
+
+DPKG_ARCH ??= "${@deb_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}"
+
+def deb_arch_map(arch, tune):
+ tune_features = tune.split()
+ if arch == "allarch":
+ return "all"
+ if arch in ["i586", "i686"]:
+ return "i386"
+ if arch == "x86_64":
+ if "mx32" in tune_features:
+ return "x32"
+ return "amd64"
+ if arch.startswith("mips"):
+ endian = ["el", ""]["bigendian" in tune_features]
+ if "n64" in tune_features:
+ return "mips64" + endian
+ if "n32" in tune_features:
+ return "mipsn32" + endian
+ return "mips" + endian
+ if arch == "powerpc":
+ return arch + ["", "spe"]["spe" in tune_features]
+ if arch == "aarch64":
+ return "arm64"
+ if arch == "arm":
+ return arch + ["el", "hf"]["callconvention-hard" in tune_features]
+ return arch
+
+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/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.16.1.bb b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.16.1.bb
deleted file mode 100644
index b5f42cf98..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.19.1.bb b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.19.1.bb
new file mode 100644
index 000000000..4eecf6b6a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.19.1.bb
@@ -0,0 +1,16 @@
+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] = "aa79bc13d9fd925aa5fb9516e87aacd3"
+SRC_URI[sha256sum] = "5cf931a9d7bead0e6d9a2c65eee8f6005a005878f59aa280f3c4294257ed5178"
diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
new file mode 100644
index 000000000..8cb16decb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
@@ -0,0 +1,21 @@
+
+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>
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -210,7 +210,7 @@ endif
+
+ %.8: %.txt bin/txt2man
+ @echo " [txt2man] $<"
+- $(V) bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
++ $(V) sh bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
+
+ #----------------------------------------------------------------
+
diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb
index 20cb17aa2..5f6ba9e37 100644
--- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb
@@ -10,6 +10,7 @@ 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 \
+ file://use-sh-on-path.patch \
"
SRCREV = "6f936992b8e6208a7838fcf1ec87c5bd3a694a77"
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.8.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.8.bb
deleted file mode 100644
index 64b338f11..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.8.1.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.8.1.bb
new file mode 100644
index 000000000..3f2130ecd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.8.1.bb
@@ -0,0 +1,50 @@
+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=master \
+ file://non-gnu-libc.patch \
+"
+SRCREV = "05ae471be3c2adf2255b3a01edb00bba06e02afb"
+S = "${WORKDIR}/git"
+
+CVE_PRODUCT = "udisks"
+
+inherit autotools systemd gtk-doc gobject-introspection distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+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/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
index 7cd999221..3ae8ecc15 100644
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
@@ -22,7 +22,10 @@ SRC_URI = "http://hal.freedesktop.org/releases/${BPN}-${PV}.tar.gz;name=${BPN} \
SRC_URI[udisks.md5sum] = "70d48dcfe523a74cd7c7fbbc2847fcdd"
SRC_URI[udisks.sha256sum] = "f2ec82eb0ea7e01dc299b5b29b3c18cdf861236ec43dcff66b3552b4b31c6f71"
-inherit autotools-brokensep systemd gtk-doc
+inherit autotools-brokensep systemd gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
PACKAGECONFIG ??= "libdevmapper"
PACKAGECONFIG[libdevmapper] = "--enable-devmapper,--disable-devmapper,libdevmapper"
diff --git a/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb b/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb
deleted file mode 100644
index 2674d3548..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb b/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
new file mode 100644
index 000000000..563badf57
--- /dev/null
+++ b/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 mysql5"
+
+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/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb b/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
index 2cf3163bb..3fd91e958 100644
--- a/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
@@ -11,7 +11,9 @@ SRC_URI = " \
SRC_URI[md5sum] = "236bb439d9ff1151450b3d8582399532"
SRC_URI[sha256sum] = "24bcc2f6ab25a2533bac70b587bcb019e591293076920f5b5e04bdedc140a401"
-inherit autotools pkgconfig gettext gobject-introspection systemd
+inherit autotools pkgconfig gettext gobject-introspection systemd distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
diff --git a/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb b/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb
deleted file mode 100644
index eeed5e275..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170806.bb b/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170806.bb
new file mode 100644
index 000000000..6abd94168
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170806.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] = "fb50d15b52e909d742dd16f0a9882316"
+SRC_URI[sha256sum] = "ce413ef2a50e648e9c81bc3ea6110e7324a8bf981034fc9ec4467d3562563c2c"
+
+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/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb b/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb
deleted file mode 100644
index ac0df8bab..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.2.bb b/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.2.bb
new file mode 100644
index 000000000..33e40b36b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.2.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=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "libusb1"
+
+SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
+SRC_URI[md5sum] = "16b9a8efa1bf8fbd7d5612757eae4f26"
+SRC_URI[sha256sum] = "abffac09c87eacd78e101545967dc25af7e989745b4276756d45dbf4008a2ea6"
+
+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/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb
deleted file mode 100644
index ccdd13b32..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb
new file mode 100644
index 000000000..7eb138305
--- /dev/null
+++ b/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"
+
+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] = "4d0a33f6393260926032f1fad4bad39a"
+SRC_URI[sha256sum] = "152ccd8e64d0f495377232e3964d06c7ec8bb8c3fbd3217f8a5702614f9a669e"
+
+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/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-4.18.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-4.18.patch
deleted file mode 100644
index 93eaa3d6c..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.18.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.18.bb
deleted file mode 100644
index 2a4cc387f..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb
new file mode 100644
index 000000000..e394f34c7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb
@@ -0,0 +1,80 @@
+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] = "c9c2f162ac5f99d28d8c0ca43b19ed01"
+SRC_URI[sha256sum] = "5580e875349341a1aabc6d5d2f697d242f277487316faaf1fbe68d9014f788d4"
+
+S = "${WORKDIR}/vbox_module"
+
+export BUILD_TARGET_ARCH="${ARCH}"
+export BUILD_TARGET_ARCH_x86-64="amd64"
+
+EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build'"
+
+# otherwise 5.2.22 builds just vboxguest
+MAKE_TARGETS = "all"
+
+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/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch b/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch
deleted file mode 100644
index 4720003c2..000000000
--- a/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/meta-openembedded/meta-oe/recipes-support/vim/vim_8.1.0347.bb b/meta-openembedded/meta-oe/recipes-support/vim/vim_8.1.0347.bb
deleted file mode 100644
index 4de4d8e38..000000000
--- a/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/meta-openembedded/meta-oe/recipes-test/catch2/catch2/0001-Fix-convert-from-char-on-ARM-build.patch b/meta-openembedded/meta-oe/recipes-test/catch2/catch2/0001-Fix-convert-from-char-on-ARM-build.patch
deleted file mode 100644
index 307377563..000000000
--- a/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/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.4.1.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.4.1.bb
deleted file mode 100644
index 0183c2e41..000000000
--- a/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/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.6.1.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.6.1.bb
new file mode 100644
index 000000000..08d661640
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.6.1.bb
@@ -0,0 +1,25 @@
+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-Wdefaulted-function-deleted-warning.patch \
+ "
+# v2.6.1
+SRCREV = "dbbab8727c342733f75045483048cdcb52421e32"
+
+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/meta-openembedded/meta-oe/recipes-test/catch2/files/0001-Fix-Wdefaulted-function-deleted-warning.patch b/meta-openembedded/meta-oe/recipes-test/catch2/files/0001-Fix-Wdefaulted-function-deleted-warning.patch
new file mode 100644
index 000000000..555c71ad2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/catch2/files/0001-Fix-Wdefaulted-function-deleted-warning.patch
@@ -0,0 +1,35 @@
+From a39e0eaa8318335260967ffd1d16388eb5a1d6d8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Feb 2019 12:57:00 -0800
+Subject: [PATCH] Fix -Wdefaulted-function-deleted warning
+
+Clang8 warns
+
+catch_interfaces_reporter.h:84:25: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
+| AssertionStats& operator = ( AssertionStats && ) = default;
+| ^
+
+Upstream-Status: Submitted [https://github.com/catchorg/Catch2/pull/1537]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/internal/catch_interfaces_reporter.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/internal/catch_interfaces_reporter.h b/include/internal/catch_interfaces_reporter.h
+index 9d99c981..e5fbf8bb 100644
+--- a/include/internal/catch_interfaces_reporter.h
++++ b/include/internal/catch_interfaces_reporter.h
+@@ -80,8 +80,8 @@ namespace Catch {
+
+ AssertionStats( AssertionStats const& ) = default;
+ AssertionStats( AssertionStats && ) = default;
+- AssertionStats& operator = ( AssertionStats const& ) = default;
+- AssertionStats& operator = ( AssertionStats && ) = default;
++ AssertionStats& operator = ( AssertionStats const& ) = delete;
++ AssertionStats& operator = ( AssertionStats && ) = delete;
+ virtual ~AssertionStats();
+
+ AssertionResult assertionResult;
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb b/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb
deleted file mode 100644
index 65b08b068..000000000
--- a/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/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb b/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb
new file mode 100644
index 000000000..04327862c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.14.0.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] = "7ad93022171710a541bfe4bfd8b4a381"
+SRC_URI[sha256sum] = "3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780"
+
+inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch b/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
index 6a20c1283..441876e40 100644
--- a/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
+++ b/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/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb b/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb
deleted file mode 100644
index 291501173..000000000
--- a/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/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb b/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb
new file mode 100644
index 000000000..342fccf41
--- /dev/null
+++ b/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 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/meta-openembedded/meta-perl/README b/meta-openembedded/meta-perl/README
index 3c787f417..67f291079 100644
--- a/meta-openembedded/meta-perl/README
+++ b/meta-openembedded/meta-perl/README
@@ -52,7 +52,7 @@ Dependencies
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
- branch: thud
+ branch: master
revision: HEAD
prio: default
@@ -75,12 +75,14 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-perl][thud]' in the subject.
+'[meta-perl]' in the subject.
When sending single patches, please using something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][thud][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][PATCH'
-Thud maintainers: Armin kuster <akuster808@gmail.com>
+Layer maintainers:
+ Hongxu Jia <hongxu.jia@windriver.com>
+ Tim "moto-timo" Orling <ticotimo@gmail.com>
License
-------
diff --git a/meta-openembedded/meta-perl/conf/layer.conf b/meta-openembedded/meta-perl/conf/layer.conf
index b2bb37910..6e600aa67 100644
--- a/meta-openembedded/meta-perl/conf/layer.conf
+++ b/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"
diff --git a/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.19.bb b/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.19.bb
deleted file mode 100644
index 873ac2b10..000000000
--- a/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/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.20.bb b/meta-openembedded/meta-perl/recipes-extended/logcheck/logcheck_1.3.20.bb
new file mode 100644
index 000000000..10b281a66
--- /dev/null
+++ b/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/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb b/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb
index 660a7f777..e695c5894 100644
--- a/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb
@@ -22,7 +22,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/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-base.bb b/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-base.bb
new file mode 100644
index 000000000..ec671020d
--- /dev/null
+++ b/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/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb b/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-image.bb
new file mode 100644
index 000000000..c10d20a64
--- /dev/null
+++ b/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/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb b/meta-openembedded/meta-perl/recipes-perl/images/meta-perl-ptest-image.bb
new file mode 100644
index 000000000..3b776f814
--- /dev/null
+++ b/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/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.060.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.060.bb
deleted file mode 100644
index 20f880829..000000000
--- a/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/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.066.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.066.bb
new file mode 100644
index 000000000..7609846d6
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.066.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] = "ecf96ce2ff9e04a03a2d101c76ce1020"
+SRC_URI[sha256sum] = "0d47064781a545304d5dcea5dfcee3acc2e95a32e1b4884d80505cde8ee6ebcd"
+
+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/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.18.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.18.bb
deleted file mode 100644
index 4e0c9c446..000000000
--- a/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/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.19.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.19.bb
new file mode 100644
index 000000000..b0be604f8
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.19.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] = "8a40402888487b853f861d21433f341a"
+SRC_URI[sha256sum] = "206278bdd9a538bec3e45b50e80cc5a9d7dc6e70ebf0889ef78254f0f710ccd7"
+
+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/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb
deleted file mode 100644
index 1f1840118..000000000
--- a/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/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
new file mode 100644
index 000000000..9753520ae
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Perl interface to the libxml2 library"
+DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \
+with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \
+interface and a XML::XPath-like interface to XPath API of libxml2. \
+The module is split into several packages which are not described in this \
+section; unless stated otherwise, you only need to use XML::LibXML; in \
+your programs."
+
+HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0|GPLv1+"
+DEPENDS += "libxml2 \
+ libxml-sax-perl-native \
+ zlib \
+"
+RDEPENDS_${PN} += "\
+ libxml2 \
+ libxml-sax-perl \
+ libxml-sax-base-perl \
+ perl-module-encode \
+ perl-module-data-dumper \
+ zlib \
+"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \
+ file://disable-libxml2-check.patch \
+ file://fix-CATALOG-conditional-compile.patch \
+ file://using-DOCB-conditional.patch \
+"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=64eda1bc135f0ece1d1187f2a8ac82c1 \
+ file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446 \
+"
+SRC_URI[libxml.md5sum] = "dce687dd8b7e82d1c359fd74b1852f64"
+SRC_URI[libxml.sha256sum] = "f0bca4d0c2da35d879fee4cd13f352014186cedab27ab5e191f39b5d7d4f46cf"
+
+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/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb b/meta-openembedded/meta-perl/recipes-perl/packagegroups/packagegroup-meta-perl.bb
new file mode 100644
index 000000000..9d0e33baf
--- /dev/null
+++ b/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 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/meta-openembedded/meta-python/README b/meta-openembedded/meta-python/README
index 9c10c78af..705b035d9 100644
--- a/meta-openembedded/meta-python/README
+++ b/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: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: thud
+ branch: master
revision: HEAD
Please follow the recommended setup procedures of your OE distribution.
@@ -35,13 +35,15 @@ 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]' 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][PATCH'
Maintenance
-------------------------
-Thud Maintainers: Armin Kuster <akuster808@gmail.com>
+Layer Maintainers:
+ Tim "moto-timo" Orling <TicoTimo@gmail.com>
+ Derek Straka <derek@asterius.io>
diff --git a/meta-openembedded/meta-python/classes/bandit.bbclass b/meta-openembedded/meta-python/classes/bandit.bbclass
new file mode 100644
index 000000000..dc1041e46
--- /dev/null
+++ b/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/meta-openembedded/meta-python/conf/layer.conf b/meta-openembedded/meta-python/conf/layer.conf
index 321d51bee..fb5cda55d 100644
--- a/meta-openembedded/meta-python/conf/layer.conf
+++ b/meta-openembedded/meta-python/conf/layer.conf
@@ -14,6 +14,6 @@ LAYERVERSION_meta-python = "1"
LAYERDEPENDS_meta-python = "core openembedded-layer"
-LAYERSERIES_COMPAT_meta-python = "thud"
+LAYERSERIES_COMPAT_meta-python = "thud warrior"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc b/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
index 05fbae48b..e9eebe84a 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
+++ b/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/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb b/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.17.bb
index 6b2ea2193..6b2ea2193 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.17.bb
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.16.bb b/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb
index 837d604ed..837d604ed 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.16.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.17.bb
diff --git a/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb
new file mode 100644
index 000000000..81081e61b
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb
new file mode 100644
index 000000000..cc75fe6e4
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb
new file mode 100644
index 000000000..7ee15354a
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
new file mode 100644
index 000000000..82cda5862
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
@@ -0,0 +1,150 @@
+SUMMARY = "Meta-oe ptest packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-python \
+ packagegroup-meta-python3 \
+'
+
+RDEPENDS_packagegroup-meta-python = "\
+ packagegroup-meta-python-extended \
+ packagegroup-meta-python-connectivity \
+"
+
+RDEPENDS_packagegroup-meta-python3 = "\
+ packagegroup-meta-python3-extended \
+ packagegroup-meta-python3-connectivity \
+"
+
+RDEPENDS_packagegroup-meta-python = "\
+ python-psutil python-certifi python-flask python-pyroute2 python-pyopenssl python-pylint \
+ python-semver python-wrapt python-networkx python-behave python-dominate python-flask-user \
+ python-attrs python-humanize python-six python-flask-login python-zopeinterface python-sijax \
+ python-pyinotify python-stevedore python-pyjwt python-webdav python-twisted python-flask-sijax \
+ python-functools32 python-javaobj-py3 python-pygpgme python-future python-attr \
+ python-flask-xstatic python-m2crypto python-hyperlink python-imaging python-idna python-jinja2 \
+ python-can python-flask-bcrypt python-requests python-paste python-flask-script python-serpent \
+ python-cryptography python-pysmi python-xlrd python-appdirs python-jsonpatch python-bcrypt \
+ python-ndg-httpsclient python-pytest python-linecache2 python-visitor python-backports-abc \
+ python-setuptools-scm python-evdev python-pyjks python-jsonpointer python-cheetah python-gevent \
+ python-smbus python-sqlalchemy python-scrypt python-werkzeug python-anyjson python-pexpect \
+ python-robotframework-seriallibrary python-pyalsaaudio python-pytest-helpers-namespace \
+ python-alembic python-flask-pymongo python-slip-dbus python-pydbus python-automat python-rfc3987 \
+ python-tzlocal python-backports-ssl python-subprocess32 python-asn1crypto python-pybind11 \
+ python-ptyprocess python-babel python-passlib python-oauthlib python-sdnotify \
+ python-lazy-object-proxy python-cryptography-vectors python-crcmod python-pyusb python-vobject \
+ python-webcolors python-pyparsing python-beautifulsoup4 python-cffi python-tornado-redis \
+ python-itsdangerous python-pyasn1-modules python-netaddr python-vcversioner \
+ python-sh python-greenlet python-paho-mqtt python-traceback2 python-gdata python-dbusmock \
+ python-whoosh python-lockfile python-isort python-wtforms python-feedparser python-flask-restful \
+ python-pysnmp python-flask-babel python-pytest-tempdir python-flask-nav python-pyzmq python-pyyaml \
+ python-protobuf python-pluggy python-jsonschema python-msgpack python-pandas \
+ python-periphery python-pint python-pycryptodome python-yappi python-pycrypto python-pretend \
+ python-pyserial python-pyiface python-docutils python-grpcio-tools python-django-south \
+ python-backports-functools-lru-cache python-py python-click python-flask-migrate \
+ python-pyudev python-pystache python-blinker python-prompt-toolkit python-lxml \
+ python-unidiff python-inflection python-twofish python-prettytable python-webencodings \
+ python-mock python-pyexpect python-dnspython python-pysocks python-pynetlinux \
+ python-daemon python-djangorestframework python-typing python-monotonic python-sparts \
+ python-enum34 python-pyperclip python-flask-uploads python-pbr python-parse python-pyflakes \
+ python-pyhamcrest python-mako python-incremental python-tornado python-xstatic-font-awesome \
+ python-cmd2 python-strict-rfc3339 python-pycodestyle python-xstatic python-snakefood \
+ python-pybluez python-flask-navigation python-pyfirmata python-pymongo python-pysqlite \
+ python-progress python-flask-sqlalchemy python-pymisp python-pip python-ujson python-ply \
+ python-pep8 python-dateutil python-pycparser python-daemonize python-astroid python-pyrex \
+ python-markupsafe python-pytest-runner python-grpcio python-mccabe python-pytz python-selectors34 \
+ python-cython python-chardet python-editor python-flask-bootstrap python-html5lib \
+ python-singledispatch python-redis python-flask-mail python-funcsigs python-snimpy python-pyasn1 \
+ python-decorator python-urllib3 python-feedformatter python-matplotlib python-iso8601 \
+ python-numeric python-robotframework python-django python-simplejson python-wcwidth \
+ python-configparser python-epydoc python-intervals python-speaklater \
+ python-aws-iot-device-sdk-python python-constantly python-bitarray python-flask-wtf \
+ python-parse-type python-ipaddress python-dbus \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "python-pam pamela", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "python-systemd", "", d)} \
+"
+
+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-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-python-extended = "\
+ python-pyephem \
+ python-cson \
+ python-pywbem \
+ python-pyparted \
+"
+
+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-python-connectivity = "\
+ python-pyro4 \
+ python-pytun \
+ python-mprpc \
+ python-thrift \
+ python-txws \
+ python-pyconnman \
+ python-gsocketpool \
+"
+
+RDEPENDS_packagegroup-meta-python3-connectivity = "\
+ python3-pytun \
+ python3-mprpc \
+ python3-pyconnman \
+ python3-gsocketpool \
+"
+
+RDEPENDS_packagegroup-meta-python-ptest = "\
+ python-pygpgme \
+ python-cryptography \
+ "
+
+RDEPENDS_packagegroup-meta-python3-ptest = "\
+ python3-cryptography \
+ "
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb
new file mode 100644
index 000000000..2b3f3fb2b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb
@@ -0,0 +1,15 @@
+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 = "8bee09f4a57807136593ddc906b0b213c21f9014"
+
+S = "${WORKDIR}/git"
+PV = "0.1+git${SRCPV}"
+
+inherit setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
index fa73ea54d..d0b5697cb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
@@ -9,6 +9,6 @@ SRC_URI[md5sum] = "3f3f3e0750dab74cfa1dc8b0fd7a5f86"
inherit pypi
RDEPENDS_${PN}_class-target += " \
- ${PYTHON_PN}-cryptography \
+ ${PYTHON_PN}-crypt \
${PYTHON_PN}-ctypes \
-"
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc
new file mode 100644
index 000000000..52ae3186d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc
@@ -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=27f7518eb6f7dc686d0f953b2f28dae5"
+
+inherit pypi
+
+SRC_URI[md5sum] = "a7b1c5eb5390d50067c62d7bcb4e875c"
+SRC_URI[sha256sum] = "9efcc9fab3b49ab833475702b55edd5ae07af1af7a4c627678980b45e459c460"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb
new file mode 100644
index 000000000..8c12ad042
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-cachetools.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
index c81545b15..60bc46f82 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
@@ -6,10 +6,10 @@ 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"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c13ed890b210a882c1778216694c98c7"
-SRC_URI[md5sum] = "fc4cc00c4863833230d3af92af48abd4"
-SRC_URI[sha256sum] = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
+SRC_URI[md5sum] = "7f53d50f7b7373ebc7963f9ff697450a"
+SRC_URI[sha256sum] = "5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
UPSTREAM_CHECK_REGEX = "click/(?P<pver>\d+(\.\d+)+)/"
@@ -21,3 +21,5 @@ RDEPENDS_${PN} += "\
"
BBCLASSEXTEND = "native nativesdk"
+
+PYPI_PACKAGE = "Click"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-click_7.0.bb
index f63e27c84..f63e27c84 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-click_7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
index d1e254b4b..04173f067 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
@@ -8,8 +8,8 @@ DEPENDS += " \
${PYTHON_PN}-cryptography \
"
-SRC_URI[md5sum] = "294d44f32885a6b97d5f9cdd7ffc73a3"
-SRC_URI[sha256sum] = "356a2ded84ae379e556515eec9b68dd74957651a38465d10605bb9fbae280f15"
+SRC_URI[md5sum] = "e7f44b1678e3071e2044a32f7c353d14"
+SRC_URI[sha256sum] = "829d43e8066056de8ea7b8ad311db79e47d8d658e23d5f5fc4b0245a1b3baa74"
PYPI_PACKAGE = "cryptography_vectors"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.4.1.bb
index 4975278a9..4975278a9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
index dbbfe2cbe..2c1ac1c9f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -10,14 +10,13 @@ DEPENDS += " \
${PYTHON_PN}-six \
"
-SRC_URI[md5sum] = "a0f3f563ab1c5c3bc02fae8d4aa3ad16"
-SRC_URI[sha256sum] = "c132bab45d4bd0fff1d3fe294d92b0a6eb8404e93337b3127bdec9f21de117e6"
+SRC_URI[md5sum] = "464f180ff64622760cca7167f97b3ff4"
+SRC_URI[sha256sum] = "e85b410885addaeb31a867eabcefc9ef4a7e904ad45eac9e60a763a54b244626"
RDEPENDS_${PN} += " \
${PYTHON_PN}-cffi \
${PYTHON_PN}-idna \
${PYTHON_PN}-asn1crypto \
- ${PYTHON_PN}-pycparser \
${PYTHON_PN}-setuptools \
${PYTHON_PN}-six \
"
@@ -27,7 +26,6 @@ RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-idna \
${PYTHON_PN}-numbers \
${PYTHON_PN}-asn1crypto \
- ${PYTHON_PN}-pycparser \
${PYTHON_PN}-setuptools \
${PYTHON_PN}-six \
${PYTHON_PN}-threading \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.4.1.bb
index 9c2f88418..9c2f88418 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
index 13513f219..bc89d104a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch
new file mode 100644
index 000000000..7536b71a6
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.4.0.bb
index f13bfd7b7..f13bfd7b7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
index fcd81f6c3..c7c656c84 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.15.bb
index c14976ed3..c14976ed3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.15.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
index 23d25f7aa..fd341f5de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
@@ -5,7 +5,11 @@ 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 "
+
+SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
+ file://ppc-boringssl-support.patch \
+ file://riscv64_support.patch \
+"
RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
${PYTHON_PN}-setuptools \
@@ -17,8 +21,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec
inherit pypi
-SRC_URI[md5sum] = "0987ae2e47b5103de3cacc437874a3c5"
-SRC_URI[sha256sum] = "4bf23666e763ca7ff6010465864e9f088f4ac7ecc1e11abd6f85b250e66b2c05"
+SRC_URI[md5sum] = "188565f150f34d1927b87e014f0f4b73"
+SRC_URI[sha256sum] = "2ddbca16c2e7b3f2ffc6e34c7cfa6886fb01de9f156ad3f77b72ad652d632097"
CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
index 996597b14..f17f048de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -18,11 +18,9 @@ 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.
+--- a/setup.py
++++ b/setup.py
+@@ -145,7 +145,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:
@@ -31,7 +29,7 @@ Index: grpcio-1.14.1/setup.py
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:
+@@ -157,7 +157,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
else:
EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64'
elif "linux" in sys.platform:
@@ -39,4 +37,4 @@ Index: grpcio-1.14.1/setup.py
+ 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'
+ EXTRA_ENV_COMPILE_ARGS += ' -DPB_FIELD_32BIT'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch
new file mode 100644
index 000000000..6435abbe6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-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
+@@ -95,6 +95,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/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch
new file mode 100644
index 000000000..fef7d9e75
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch
@@ -0,0 +1,16 @@
+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
+@@ -104,6 +104,9 @@ extern "C" {
+ #elif defined(__mips__) && defined(__LP64__)
+ #define OPENSSL_64_BIT
+ #define OPENSSL_MIPS64
++#elif defined(__riscv) && defined(__riscv_xlen)
++#define OPENSSL_64_BIT
++#define OPENSSL_RISCV64
+ #elif defined(__pnacl__)
+ #define OPENSSL_32_BIT
+ #define OPENSSL_PNACL
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.19.0.bb
index 820bea44b..820bea44b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.19.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
index 0eb8bf321..a8e0fb408 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
index 519812ddc..13b0cdb62 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.8.bb
index 2dcf72a29..2dcf72a29 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.8.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
new file mode 100644
index 000000000..3cb6bb816
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
@@ -0,0 +1,14 @@
+SUMMARY = "ISO 8601 date/time parser"
+LICENSE = "BSD"
+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/meta-openembedded/meta-python/recipes-devtools/python/python-isodate_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate_0.6.0.bb
new file mode 100644
index 000000000..d48e12346
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-isodate.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
index 0c0bf0def..5342eb563 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
@@ -13,3 +13,5 @@ RDEPENDS_${PN} += "${PYTHON_PN}-io ${PYTHON_PN}-pickle ${PYTHON_PN}-crypt \
${PYTHON_PN}-json ${PYTHON_PN}-threading ${PYTHON_PN}-numbers"
CLEANBROKEN = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib-10.42.0.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib-10.42.0.inc
new file mode 100644
index 000000000..72d6a6592
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib-10.42.0.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] = "2306279a050c6a888f34a5719047f217"
+SRC_URI[sha256sum] = "0070eb9061f924e1fa7bc2b1f0aeea1d38e1ddf9bbdbd4b5c346bcf1a0848674"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
index 7f355a7bc..14897c06e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
+++ b/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] = "d2b2eb305bfa9ed15aebe61affb3ffa4"
+SRC_URI[sha256sum] = "da5e7e941d6e71c9c9a717c93725cda0708c2474f532e3680ac5e39ec57d224d"
DISTUTILS_BUILD_ARGS += " \
--with-xslt-config='pkg-config libxslt' \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.1.bb
index 81ccb12d8..81ccb12d8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
index 927f84452..437a60cfb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
@@ -10,3 +10,5 @@ PYPI_PACKAGE = "MarkupSafe"
inherit pypi
RDEPENDS_${PN} += "${PYTHON_PN}-stringold"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
index fdc892610..9147c0632 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
@@ -2,12 +2,12 @@ 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"
+PYPI_PACKAGE = "msgpack"
inherit pypi
+SRC_URI[md5sum] = "be3043cc2c1e3b5ebf08463ffa71cf17"
+SRC_URI[sha256sum] = "64abc6bf3a2ac301702f5760f4e6e227d0fd4d84d9014ef9a40faa9d43365259"
+
RDEPENDS_${PN}_class-target += "\
${PYTHON_PN}-io \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.0.bb
index 2c2c8f2ad..2c2c8f2ad 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc
new file mode 100644
index 000000000..f2caf6491
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc
@@ -0,0 +1,9 @@
+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.rst;md5=2988a5e913eb105fa08011135c4157d4"
+
+SRC_URI[md5sum] = "93e04f825e13b7ebc97d06b6a6407807"
+SRC_URI[sha256sum] = "4b1bac95df2faac571ebf444778e4d736d050d8ed7049023c0fc929a520eba6d"
+
+inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
index f834e6fd8..66943ed6c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
@@ -7,8 +7,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc \
SRCNAME = "paho-mqtt"
inherit pypi
-SRC_URI[md5sum] = "2cc27d8b369700b1fc99325add0dadd2"
-SRC_URI[sha256sum] = "31911f6031de306c27ed79dc77b690d7c55b0dcb0f0434ca34ec6361d0371122"
+
+SRC_URI[md5sum] = "e3ac29cd5dc247a01083a2a8f3fddd08"
+SRC_URI[sha256sum] = "e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79"
DEPENDS += "${PYTHON_PN}-pytest-runner-native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.4.0.bb
index a1031176e..a1031176e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb
deleted file mode 100644
index 6b4019f84..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.6.bb
new file mode 100644
index 000000000..4d5c3239b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.6.bb
@@ -0,0 +1,17 @@
+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] = "4e93762f24fc728ecb4ddcff2693df39"
+SRC_URI[sha256sum] = "06aacf7a40685be0a0db8b26516e7d559d7fe5ccf7a47c5cd34f15ab558a8b92"
+
+PYPI_PACKAGE = "Paste"
+inherit pypi setuptools
+
+FILES_${PN} += "/usr/lib/*"
+
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
index a4b56cdbd..32487723b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
@@ -1,3 +1,7 @@
inherit setuptools
# The inc file is in oe-core
require recipes-devtools/python/python-pbr.inc
+
+SRC_URI[md5sum] = "6619780896ca81c7cd19c6e2f439b6c9"
+SRC_URI[sha256sum] = "1b8be50d938c9bb75d0eaf7eda111eec1bf6dc88a62a6412e33bf077457e0f45"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
index b617904d2..54eacc0b7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
@@ -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/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
index d112d9f77..47a0e0e97 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
@@ -3,8 +3,9 @@ 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"
+SRC_URI[md5sum] = "76396762adc3fa769c83d8e202d36b6f"
+SRC_URI[sha256sum] = "a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.19.bb
index 98742737f..98742737f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.19.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch b/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 09c4394c2..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch b/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 3eefc9cb9..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
index 340aab74e..d8d8349df 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
DEPENDS = "python"
-SRC_URI = "git://github.com/uber/pyflame.git;protocol=https"
+SRC_URI = "git://github.com/uber/pyflame.git;protocol=https;nobranch=1"
S = "${WORKDIR}/git"
inherit pkgconfig autotools
@@ -13,3 +13,6 @@ inherit pkgconfig autotools
COMPATIBLE_HOST_libc-musl_class-target = "null"
COMPATIBLE_HOST_mipsarch_class-target = "null"
COMPATIBLE_HOST_aarch64_class-target = "null"
+COMPATIBLE_HOST_powerpc_class-target = "null"
+COMPATIBLE_HOST_riscv64_class-target = "null"
+COMPATIBLE_HOST_riscv32_class-target = "null"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb
deleted file mode 100644
index 8dedb8928..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.7.bb
new file mode 100644
index 000000000..cb08f30a6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.7.bb
@@ -0,0 +1,4 @@
+require python-pyflame.inc
+
+# v1.6.7
+SRCREV = "c151d2f34737f28a1f5266a003b2b0720bbd9f96"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
index 975f11c10..21abdb84f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
@@ -7,6 +7,7 @@ RDEPENDS_${PN} += "\
${PYTHON_PN}-io \
${PYTHON_PN}-misc \
${PYTHON_PN}-shell \
+ ${PYTHON_PN}-smtpd \
"
SRC_URI[md5sum] = "8e580fa1ff3971f94a6f81672b76c406"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc
new file mode 100644
index 000000000..0eac19788
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc
@@ -0,0 +1,15 @@
+SUMMARY = "RDFLib is a pure Python package for working with RDF"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=68c1a3bb687bd63b8e5552f3ea249840"
+
+SRC_URI[md5sum] = "534fe35b13c5857d53fa1ac5a41eca67"
+SRC_URI[sha256sum] = "da1df14552555c5c7715d8ce71c08f404c988c58a1ecd38552d0da4fc261280d"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-isodate \
+ ${PYTHON_PN}-pyparsing \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib_4.2.2.bb
new file mode 100644
index 000000000..7ed0f5f9a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib_4.2.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-rdflib.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib.inc
new file mode 100644
index 000000000..4bc6a368c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib.inc
@@ -0,0 +1,7 @@
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=22d117a849df10d047ed9b792838e863"
+
+SRC_URI[md5sum] = "4358a879a4377393bcfd37d0f9ae6d4d"
+SRC_URI[sha256sum] = "883ac416757eada6d3d07054ec7092ac21c7f35cb1d2cf82faf205637081f468"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-requests"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib_0.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib_0.8.0.bb
new file mode 100644
index 000000000..43189150a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib_0.8.0.bb
@@ -0,0 +1,3 @@
+require python-requests-oauthlib.inc
+inherit pypi setuptools
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
index 301c2f82f..0401ee448 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
@@ -1,16 +1,12 @@
DESCRIPTION = "Python HTTP for Humans."
HOMEPAGE = "http://python-requests.org"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bfbeafb85a2cee261510d65d5ec19156"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a8d5a1d1c2d53025e2282c511033f6f7"
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"
+SRC_URI[md5sum] = "2918817ea4688f4ea21cb4b11e353448"
+SRC_URI[sha256sum] = "ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch
deleted file mode 100644
index 80ef5ffb1..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch
deleted file mode 100644
index ef069fb97..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.20.1.bb
index 0d7a29f74..0d7a29f74 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.20.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc
new file mode 100644
index 000000000..0933b4559
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc
@@ -0,0 +1,29 @@
+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' 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/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
deleted file mode 100644
index dc587e761..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.5.bb
new file mode 100644
index 000000000..330fa1ba4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.5.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-slip-dbus.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm.inc
new file mode 100644
index 000000000..967a80c20
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm.inc
@@ -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=054ef7105cba050017d1368262a1623c"
+
+inherit pypi
+
+SRC_URI[md5sum] = "807e8c13e16e3660ac88e05d711daeb0"
+SRC_URI[sha256sum] = "e22977e3ebe961f72362f6ddfb9197cc531c9737aaf5f607ef09740c849ecd05"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm_4.31.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm_4.31.1.bb
new file mode 100644
index 000000000..b3810097e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm_4.31.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-tqdm.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
index 01616b168..456adf4c3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
@@ -35,7 +35,6 @@ PACKAGES += "\
"
PACKAGES =+ "\
- ${PN}-src \
${PN}-bin \
"
@@ -242,9 +241,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/meta-openembedded/meta-python/recipes-devtools/python/python-twitter.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-twitter.inc
new file mode 100644
index 000000000..f5657eeb2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twitter.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Twitter for Python"
+DESCRIPTION = "Python module to support twitter API"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=0307fffd8c4d9946c029daa1426d26e7"
+
+SRC_URI[md5sum] = "c6dc2f315ded761aafc96bea3351c7f6"
+SRC_URI[sha256sum] = "fe85a79f58a01dd335968523b91c5fce760e7fe78bf25a6e71c72204fe499d0b"
+
+PYPI_PACKAGE = "tweepy"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-pip \
+ ${PYTHON_PN}-pysocks \
+ ${PYTHON_PN}-requests \
+ ${PYTHON_PN}-six \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twitter_3.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-twitter_3.7.0.bb
new file mode 100644
index 000000000..6a28b08ae
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twitter_3.7.0.bb
@@ -0,0 +1,3 @@
+require python-twitter.inc
+inherit pypi setuptools
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal.inc
new file mode 100644
index 000000000..42f93e6a5
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal.inc
@@ -0,0 +1,8 @@
+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] = "4553be891efa0812c4adfb0c6e818eec"
+SRC_URI[sha256sum] = "4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal_1.5.1.bb
new file mode 100644
index 000000000..b7980dd55
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal_1.5.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-tzlocal.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
index cd6fa8dff..e6cc4acce 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
@@ -9,14 +9,6 @@ SRC_URI[sha256sum] = "dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa
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 \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
index 34ca7066b..a2b8410cf 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
@@ -11,3 +11,5 @@ RDEPENDS_${PN} += " \
${PYTHON_PN}-codecs \
${PYTHON_PN}-json \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
index d1ab05d4f..893e82e05 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
@@ -10,3 +10,5 @@ SRC_URI[md5sum] = "b85c9916ac755cad489a9005f5a0d390"
SRC_URI[sha256sum] = "8a21885513e6d915fe33a8ee5fdfa675433b61405ba13e2a69e62ee36828d7e2"
RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb
new file mode 100644
index 000000000..c65a6d7da
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.7.1.bb
new file mode 100644
index 000000000..c2dc9245c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.7.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 ?= "4ca3a26e52f08678854c2841cd0fdf223461e47d"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb
deleted file mode 100644
index 84f47614e..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb
new file mode 100644
index 000000000..3002d5aa5
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.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] = "81ba3979ded1b421fa8d69e6faa06dcb"
+SRC_URI[sha256sum] = "9413facfe9de1e1bd291d525c784e1beb1a55c9916b51dae12979af63a69ba4c"
+
+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/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb
new file mode 100644
index 000000000..76b2f6785
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-cachetools.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb
index 192064404..192064404 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.4.1.bb
index 58994ffff..58994ffff 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.4.1.bb
index 195923343..195923343 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb
new file mode 100644
index 000000000..6e08a1994
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb
deleted file mode 100644
index 1f172e586..000000000
--- a/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/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb
new file mode 100644
index 000000000..df688e424
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.15.bb
index 1aedf7fa8..1aedf7fa8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.15.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb
index d4720b4b8..d4720b4b8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch
new file mode 100644
index 000000000..ff50c85a0
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb
new file mode 100644
index 000000000..bca7757ad
--- /dev/null
+++ b/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"
+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/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.8.bb
index a08ca714a..a08ca714a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.8.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb
new file mode 100644
index 000000000..0e79ae995
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_10.42.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_10.42.0.bb
new file mode 100644
index 000000000..10b039a75
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_10.42.0.bb
@@ -0,0 +1,2 @@
+require python-kconfiglib-${PV}.inc
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.6.bb
new file mode 100644
index 000000000..d38b992d0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.6.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 ?= "61de21815728aa66377ebb2a7b4c2f5492a34dd2"
+
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN} = "python3-numpy \
+ python3-h5py \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.0.5.bb
new file mode 100644
index 000000000..58b8c6243
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.0.5.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 ?= "362fe9f8daf556151328eb5d02bd5ae638c653b8"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.1.bb
index b95d7bae7..b95d7bae7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb
new file mode 100644
index 000000000..b6d2f18c8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb
@@ -0,0 +1,12 @@
+SUMMARY = "A Python implementation of John Gruber's Markdown."
+LICENSE = "BSD"
+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"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.0.bb
index 096d7ddcb..096d7ddcb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb
new file mode 100644
index 000000000..578e38d3a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-obd.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.4.0.bb
index 4981e61ed..4981e61ed 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
new file mode 100644
index 000000000..de89ba005
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
@@ -0,0 +1,39 @@
+From 52879439f2976662140b76951f43f16e1d5ef08e 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 95900ff..27da313 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -9,3 +9,15 @@ addopts = -vx Tests
+
+ [flake8]
+ max-line-length = 88
++
++[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
+--
+2.8.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
new file mode 100644
index 000000000..e86293421
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
@@ -0,0 +1,61 @@
+From a78411402c824668283beb94db4bf7e206a4cf60 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 79f912b..37e5827 100755
+--- a/setup.py
++++ b/setup.py
+@@ -50,7 +50,7 @@ _LIB_IMAGING = (
+ "ZipEncode", "TiffDecode", "Jpeg2KDecode", "Jpeg2KEncode", "BoxBlur",
+ "QuantPngQuant", "codec_fd")
+
+-DEBUG = False
++DEBUG = True
+
+
+ class DependencyException(Exception):
+@@ -345,21 +345,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
+
+@@ -413,8 +408,6 @@ class pil_build_ext(build_ext):
+ elif sys.platform.startswith("linux") 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):
+ # termux support for android.
+--
+2.8.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb
new file mode 100644
index 000000000..746c18449
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb
@@ -0,0 +1,28 @@
+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=c6379001ecb47e2a0420c40177fc1125"
+
+SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=5.4.x \
+ file://0001-support-cross-compiling.patch \
+ file://0001-explicitly-set-compile-options.patch \
+"
+SRCREV ?= "f38f01bbe3a0a9f49ce592c86ff20c01c9655133"
+
+
+inherit setuptools3
+
+DEPENDS += " \
+ zlib \
+ jpeg \
+ tiff \
+ freetype \
+ lcms \
+ openjpeg \
+"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb
new file mode 100644
index 000000000..92eb8bfb5
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb
@@ -0,0 +1,18 @@
+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 \
+ "
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch
new file mode 100644
index 000000000..da5e73b15
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch
@@ -0,0 +1,98 @@
+From 539bc017a62f91bdf7c547b58948cb5a2f59d918 Mon Sep 17 00:00:00 2001
+From: Ben Webb <ben@salilab.org>
+Date: Thu, 12 Jul 2018 10:58:10 -0700
+Subject: [PATCH] Add Python 3.7 compatibility (#4862)
+
+Compilation of Python wrappers fails with Python 3.7 because
+the Python folks changed their C API such that
+PyUnicode_AsUTF8AndSize() now returns a const char* rather
+than a char*. Add a patch to work around. Relates #4086.
+
+Upstream-Status: Backport [https://github.com/protocolbuffers/protobuf.git]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ google/protobuf/pyext/descriptor.cc | 2 +-
+ google/protobuf/pyext/descriptor_containers.cc | 2 +-
+ google/protobuf/pyext/descriptor_pool.cc | 2 +-
+ google/protobuf/pyext/extension_dict.cc | 2 +-
+ google/protobuf/pyext/message.cc | 4 ++--
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
+index 8af0cb1..19a1c38 100644
+--- a/google/protobuf/pyext/descriptor.cc
++++ b/google/protobuf/pyext/descriptor.cc
+@@ -56,7 +56,7 @@
+ #endif
+ #define PyString_AsStringAndSize(ob, charpp, sizep) \
+ (PyUnicode_Check(ob)? \
+- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+ PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+
+diff --git a/google/protobuf/pyext/descriptor_containers.cc b/google/protobuf/pyext/descriptor_containers.cc
+index bc007f7..0153664 100644
+--- a/google/protobuf/pyext/descriptor_containers.cc
++++ b/google/protobuf/pyext/descriptor_containers.cc
+@@ -66,7 +66,7 @@
+ #endif
+ #define PyString_AsStringAndSize(ob, charpp, sizep) \
+ (PyUnicode_Check(ob)? \
+- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+ PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+
+diff --git a/google/protobuf/pyext/descriptor_pool.cc b/google/protobuf/pyext/descriptor_pool.cc
+index 95882ae..962accc 100644
+--- a/google/protobuf/pyext/descriptor_pool.cc
++++ b/google/protobuf/pyext/descriptor_pool.cc
+@@ -48,7 +48,7 @@
+ #endif
+ #define PyString_AsStringAndSize(ob, charpp, sizep) \
+ (PyUnicode_Check(ob)? \
+- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+ PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+
+diff --git a/google/protobuf/pyext/extension_dict.cc b/google/protobuf/pyext/extension_dict.cc
+index 018b5c2..174c547 100644
+--- a/google/protobuf/pyext/extension_dict.cc
++++ b/google/protobuf/pyext/extension_dict.cc
+@@ -53,7 +53,7 @@
+ #endif
+ #define PyString_AsStringAndSize(ob, charpp, sizep) \
+ (PyUnicode_Check(ob)? \
+- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+ PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+
+diff --git a/google/protobuf/pyext/message.cc b/google/protobuf/pyext/message.cc
+index 5893533..31094b7 100644
+--- a/google/protobuf/pyext/message.cc
++++ b/google/protobuf/pyext/message.cc
+@@ -79,7 +79,7 @@
+ (PyUnicode_Check(ob)? PyUnicode_AsUTF8(ob): PyBytes_AsString(ob))
+ #define PyString_AsStringAndSize(ob, charpp, sizep) \
+ (PyUnicode_Check(ob)? \
+- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+ PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+ #endif
+@@ -1529,7 +1529,7 @@ PyObject* HasField(CMessage* self, PyObject* arg) {
+ return NULL;
+ }
+ #else
+- field_name = PyUnicode_AsUTF8AndSize(arg, &size);
++ field_name = const_cast<char*>(PyUnicode_AsUTF8AndSize(arg, &size));
+ if (!field_name) {
+ return NULL;
+ }
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
index 781d1dc4d..9b0668a02 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
@@ -1,2 +1,11 @@
inherit setuptools3
require python-protobuf.inc
+
+SRC_URI += "file://0001-Add-Python-3.7-compatibility-4862.patch"
+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/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.19.bb
index 7cc024ea0..7cc024ea0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.19.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb
new file mode 100644
index 000000000..207751c45
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb
new file mode 100644
index 000000000..6511df3ce
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-rdflib.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_0.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_0.8.0.bb
new file mode 100644
index 000000000..129466150
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_0.8.0.bb
@@ -0,0 +1,3 @@
+require python-requests-oauthlib.inc
+inherit pypi setuptools3
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.20.1.bb
index 0a2410f85..0a2410f85 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.20.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb
new file mode 100644
index 000000000..2402a7a74
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-slip-dbus.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
index 580d99352..78ec43156 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb
new file mode 100644
index 000000000..17df7f983
--- /dev/null
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.31.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.31.1.bb
new file mode 100644
index 000000000..348337f0d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.31.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-tqdm.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
index 6bd8c52eb..dfb9d4a4c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
@@ -1,8 +1,6 @@
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 \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.7.0.bb
new file mode 100644
index 000000000..c2e4d2ebd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.7.0.bb
@@ -0,0 +1,3 @@
+require python-twitter.inc
+inherit pypi setuptools3
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_1.5.1.bb
new file mode 100644
index 000000000..813934c81
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_1.5.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-tzlocal.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
index f6372c8d5..149078c51 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
+++ b/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/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.32.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.32.3.bb
new file mode 100644
index 000000000..e8c08a7dd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.32.3.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 ?= "11584b78a56b4eedba4eedc55c9dac8aa2dd7070"
+
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
index c77b86a45..90fa387b0 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
index fea225407..5b388599b 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
index 38f061ed0..861b2cdd4 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
index be997ac4f..526a3b1fb 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
index ecb95039d..9c5d53b43 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
index da568a4b0..2e53a6477 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
index e30121948..b2606d769 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
index feb5647ce..ade1862d7 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
index 30d2d3ec9..f4778779b 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
index b2f450149..f12849045 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
index f24ce0a80..13c2933f0 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
+++ b/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
deleted file mode 100644
index 886e3ff93..000000000
--- a/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch b/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 33b5f51f9..000000000
--- a/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
deleted file mode 100644
index 75f02f13d..000000000
--- a/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.2.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.2.bb
new file mode 100644
index 000000000..45565ba71
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.2.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 = "878f794a38120a652cab0026b77175b099bf1f9d"
+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 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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch
deleted file mode 100644
index 25a71d4a7..000000000
--- a/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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb
new file mode 100644
index 000000000..2ea810327
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "GUI tool for storage configuration using blivet library"
+HOMEPAGE = "https://github.com/rhinstaller/blivet-gui"
+LICENSE = "GPLv2+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "67ec0b7a0e065ba24ab87963409bfb21b2aac6dd"
+SRC_URI = "git://github.com/rhinstaller/blivet-gui;branch=master \
+"
+
+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/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
deleted file mode 100644
index 5f62b9e5c..000000000
--- a/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/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb
deleted file mode 100644
index 07876a984..000000000
--- a/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/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb
new file mode 100644
index 000000000..1a038848c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.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 = "ad942f2644337c4672c7a22bd24a5b7268c1f5e9"
+
+UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"
+
+inherit setuptools3
diff --git a/meta-openembedded/meta-webserver/README b/meta-openembedded/meta-webserver/README
index 4d2c7105f..7b6063070 100644
--- a/meta-openembedded/meta-webserver/README
+++ b/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: master
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: master
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]' in the subject.
-Thud Maintainer: Armin Kuster <akuster808@gmail.com>
+Layer maintainer: Derek Straka <derek@asterius.io>
License
diff --git a/meta-openembedded/meta-webserver/conf/layer.conf b/meta-openembedded/meta-webserver/conf/layer.conf
index aaa3a95c4..0d694789f 100644
--- a/meta-openembedded/meta-webserver/conf/layer.conf
+++ b/meta-openembedded/meta-webserver/conf/layer.conf
@@ -17,7 +17,7 @@ LAYERVERSION_webserver = "1"
LAYERDEPENDS_webserver = "core openembedded-layer"
-LAYERSERIES_COMPAT_webserver = "thud"
+LAYERSERIES_COMPAT_webserver = "thud warrior"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb b/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb
new file mode 100644
index 000000000..a4ce10f67
--- /dev/null
+++ b/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/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb b/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb
new file mode 100644
index 000000000..ce4f8a038
--- /dev/null
+++ b/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/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb b/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb
new file mode 100644
index 000000000..fc117850b
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb
@@ -0,0 +1,37 @@
+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 cherokee hiawatha nostromo apache-websocket \
+ apache2 sthttpd \
+ "
+
+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/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.34.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.34.bb
index a87e3847f..80c8b20d0 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.34.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.34.bb
@@ -31,6 +31,8 @@ S = "${WORKDIR}/httpd-${PV}"
inherit autotools update-rc.d pkgconfig systemd update-alternatives
+CVE_PRODUCT = "http_server"
+
ALTERNATIVE_${PN}-doc = "htpasswd.1"
ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/default_server.site b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/default_server.site
new file mode 100644
index 000000000..7a8a215cf
--- /dev/null
+++ b/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/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf
index 69d3a2adc..6d219422b 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf
+++ b/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/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
index ce9906171..c6fc0495f 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
+++ b/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=@BINDIR@/kill -s QUIT $MAINPID
+PrivateTmp=true
+
[Install]
WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/proxy_params b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/proxy_params
new file mode 100644
index 000000000..df75bc5d7
--- /dev/null
+++ b/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/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
index 24c2cedf5..29e7efc14 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -16,6 +16,8 @@ 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 \
@@ -102,21 +104,37 @@ 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,@BINDIR@,${bindir},g' \
${D}${systemd_unitdir}/system/nginx.service
fi
}
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb
new file mode 100644
index 000000000..d0613ffeb
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb
@@ -0,0 +1,10 @@
+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] = "239b829a13cea1d244c1044e830bd9c2"
+SRC_URI[sha256sum] = "002d9f6154e331886a2dd4e6065863c9c1cf8291ae97a1255308572c02be9797"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.1.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.1.bb
deleted file mode 100644
index 0f1ba8f6b..000000000
--- a/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/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.2.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.2.bb
deleted file mode 100644
index 3694f5b58..000000000
--- a/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/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb
new file mode 100644
index 000000000..5e6dc33e9
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb
@@ -0,0 +1,6 @@
+require nginx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe"
+
+SRC_URI[md5sum] = "719b2e3d416f111fecc9db6625553658"
+SRC_URI[sha256sum] = "8f22ea2f6c0e0a221b6ddc02b6428a3ff708e2ad55f9361102b1c9f4142bdf93"
diff --git a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.1.bb b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.1.bb
deleted file mode 100644
index 773dbf33b..000000000
--- a/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/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb
new file mode 100644
index 000000000..7be62cb39
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.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] = "e8cabe003d6990b157d0d8caee374844"
+SRC_URI[sha256sum] = "5aa6d1772937e9f11b91ad8ced586aa0e16281dc178c405ac380d45d4731f8b0"
+
+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/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
index b0f160252..390fa4ba9 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
@@ -27,6 +27,8 @@ DEPENDS += "zlib util-linux"
inherit pkgconfig autotools useradd systemd
+LDFLAGS += "-pthread"
+
#systemd
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "netdata.service"
diff --git a/meta-openembedded/meta-xfce/README b/meta-openembedded/meta-xfce/README
index 4d8dc459a..7431e8b7c 100644
--- a/meta-openembedded/meta-xfce/README
+++ b/meta-openembedded/meta-xfce/README
@@ -1,11 +1,11 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: thud
+branch: master
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: thud
+branch: master
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]' 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][PATCH'
-Thud Maintainer: Armin Kuster <akuster808@gmail.com>
+Layer maintainer: Andreas MĂĽller <schnitzeltony@googlemail.com>
diff --git a/meta-openembedded/meta-xfce/conf/layer.conf b/meta-openembedded/meta-xfce/conf/layer.conf
index f5f44d64b..6e9d89294 100644
--- a/meta-openembedded/meta-xfce/conf/layer.conf
+++ b/meta-openembedded/meta-xfce/conf/layer.conf
@@ -18,7 +18,7 @@ LAYERDEPENDS_xfce-layer += "gnome-layer"
LAYERDEPENDS_xfce-layer += "multimedia-layer"
LAYERDEPENDS_xfce-layer += "meta-python"
-LAYERSERIES_COMPAT_xfce-layer = "thud"
+LAYERSERIES_COMPAT_xfce-layer = "thud warrior"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
xfce4-session->machine-host \
diff --git a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.6.bb b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.6.bb
deleted file mode 100644
index 229f882d0..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.7.bb b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.7.bb
new file mode 100644
index 000000000..84d5692ef
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.7.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
+
+DEPENDS += "python3-distutils-extra-native"
+
+B = "${S}"
+
+SRC_URI[md5sum] = "f4c1c2b2c560824cab8d7f6c7bd624ca"
+SRC_URI[sha256sum] = "48caaac872d29e2762e31e59ade1310cb860af55f1a36f2520ce1d90c39227e9"
+
+FILES_${PN} += "${datadir}/metainfo"
+
+RDEPENDS_${PN} += "python3-pygobject"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb b/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb
index b0e4784fe..1e9e5f1a1 100644
--- a/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb
+++ b/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.0.bb
@@ -13,7 +13,7 @@ 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 = "https://launchpad.net/menulibre/2.2/${PV}/+download/${BPN}-${PV}.tar.gz"
SRC_URI[md5sum] = "9690848dbf9196c3f7baa574e90378d8"
SRC_URI[sha256sum] = "546fec87f451c8f5c220d02b1f36dd850f4ce9ab607f8e9711ed8f2009e349fe"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb b/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
index a27c8f553..7445cd7c5 100644
--- a/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
+++ b/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 distro_features_check
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/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/files/0001-Fix-build-after-update-of-xfconf.patch b/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/files/0001-Fix-build-after-update-of-xfconf.patch
deleted file mode 100644
index 31216c038..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/xfce4-mixer_4.11.0.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-mixer/xfce4-mixer_4.11.0.bb
deleted file mode 100644
index 6c057d884..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.3.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.3.bb
deleted file mode 100644
index c6a4cdb9a..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.4.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.4.bb
new file mode 100644
index 000000000..7c5848b92
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.4.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] = "68321e50939fea3c66f0771d59845dab"
+SRC_URI[sha256sum] = "c4f3225b3f73f1feb1869807b8b27aec4c32a3e9c2954915a5fb39d18d3a60f2"
+
+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/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.1.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.1.bb
deleted file mode 100644
index 8afea1d22..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.2.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.2.bb
new file mode 100644
index 000000000..f3a59c96c
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.2.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] = "6578625ffbe069b138533ff5e77df734"
+SRC_URI[sha256sum] = "e49a61c819a4fd9286a65ae61605984f327c8b26cf939289f644e656bfa20e13"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb
deleted file mode 100644
index 9f501f796..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.1.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.1.bb
new file mode 100644
index 000000000..85235490c
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.1.bb
@@ -0,0 +1,18 @@
+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] = "305dfdacb2b2198e1f1673d61f86e4f5"
+SRC_URI[sha256sum] = "635e678c9729663e9eaadfcf58426f7cea37e6d3fda5e818955fbc8ade00de01"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.1.bb
deleted file mode 100644
index af7c65aa0..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.2.bb
new file mode 100644
index 000000000..5de1ce5e0
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.2.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A battery monitor panel plugin for Xfce4, compatible with APM and ACP"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "ba1cfe619046373f9af5b903c77d1858"
+SRC_URI[sha256sum] = "d601349fa9a979dae99ace39b24d99b97f62b80f42ac5dea5a99e5af3e88d7db"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb
deleted file mode 100644
index de0d0a06d..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.0.bb
new file mode 100644
index 000000000..1216456b4
--- /dev/null
+++ b/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/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb
deleted file mode 100644
index eeb451863..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.2.bb
new file mode 100644
index 000000000..f9fb2cad7
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.2.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "upower"
+
+SRC_URI[md5sum] = "c7b9237ec4a421de5dac76449b4b5a78"
+SRC_URI[sha256sum] = "3c67dfeb042eaea5aca440de9c6b3ecf99be0fbaa1cf7fdf9e6528233b46c99e"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.0.bb
deleted file mode 100644
index 1663bb9af..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.1.bb
new file mode 100644
index 000000000..c53ca13c8
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.9.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] = "e0bde3ba6a7e863022a86a23c7871255"
+SRC_URI[sha256sum] = "7cdc18b8df759dee4ceaaf6ce303eff7fda48e247dbc26b78142929213506cfd"
+
+FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.0.bb
deleted file mode 100644
index 24a32fc0a..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.2.bb
new file mode 100644
index 000000000..230a24faf
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "An alternate menu for the Xfce desktop environment"
+HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin cmake
+
+SRC_URI[md5sum] = "e9aa6c33463bd564c47e1943c0fc7ac3"
+SRC_URI[sha256sum] = "f1bf6be37f7778a486b16ef115d4c05120cc12c87e4af3af9c5001276bdcb7cc"
+
+RRECOMMENDS_${PN} += "menulibre"
diff --git a/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend b/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend
deleted file mode 100644
index 7b449630e..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc b/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc
deleted file mode 100644
index 25403e6cb..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.3.bb
deleted file mode 100644
index 9c4829bbf..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.4.bb
new file mode 100644
index 000000000..7b7edfe1b
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.4.bb
@@ -0,0 +1,36 @@
+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] = "962bbccb38db0aecd4151ca97f6a39bc"
+SRC_URI[sha256sum] = "b0af60816bdb572ce53f19462fb1f3a5895a04017a878893dc03c166ea2050af"
+
+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/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.1.bb
deleted file mode 100644
index 06e236977..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.2.bb
new file mode 100644
index 000000000..27096da60
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.2.bb
@@ -0,0 +1,17 @@
+DESCRIPTION="Xfce Menu Library"
+SECTION = "x11/libs"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
+DEPENDS = "xfce4-dev-tools-native libxfce4util libxfce4ui intltool-native"
+
+inherit xfce gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
+SRC_URI[md5sum] = "a4b6332ff6f090575d534d6a9d2761d8"
+SRC_URI[sha256sum] = "a87f09648ff10d45c524b3bfe618f18622bdd8b205589d35fed2f12d9c79c47c"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+FILES_${PN} += "${datadir}/desktop-directories"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
index 5f8c03cc5..b412c2726 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
@@ -64,7 +64,6 @@ RRECOMMENDS_${PN} = " \
xfce4-appfinder \
xfce4-screenshooter \
xfce4-power-manager \
- xfce4-mixer \
ristretto \
xfce4-taskmanager \
gigolo \
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.0.bb
deleted file mode 100644
index 5a37b69bd..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb
new file mode 100644
index 000000000..712453a39
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.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 glib-2.0 libxfce4ui libxfce4util xfconf libnotify libgudev"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "4992a18f422918c33b562d6e66045754"
+SRC_URI[sha256sum] = "cd87291a427e8a561c566dca3aa7e93b56fdce4caefc755dde0f59198f6db359"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
+
+RDEPENDS_${PN} = "eject"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.2.bb
deleted file mode 100644
index d2a0e30c5..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb
new file mode 100644
index 000000000..57667102c
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb
@@ -0,0 +1,32 @@
+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] = "6a5d0f4ddcc653c4791e555f0dc63828"
+SRC_URI[sha256sum] = "c2bf51da8ddec8f642d67818184ada2ca6e143151e6a45563991db73387a93b0"
+
+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/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.1.bb
deleted file mode 100644
index 0336f54ba..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb
new file mode 100644
index 000000000..e9f6e28b4
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb
@@ -0,0 +1,14 @@
+DESCRIPTION="Xfce4 Application Finder"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS="glib-2.0 gtk+3 libxfce4util libxfce4ui garcon dbus-glib xfconf"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "8b4c2ab413748fcd0cc51444418d5af3"
+SRC_URI[sha256sum] = "fd774acbcab08dbb88bcbf28eecf73ec9f55b13e1f2058021b63f703c4989d97"
+
+FILES_${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.3.bb
deleted file mode 100644
index f1abf6675..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb
new file mode 100644
index 000000000..18e054c9d
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb
@@ -0,0 +1,40 @@
+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] = "c0f132fed2110d37f351aadc9e80a034"
+SRC_URI[sha256sum] = "36ffd26ef7f5867c01ba310475b4358ff0e588cfd5599a266f0037a6c20052a1"
+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/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb
index ed117b0a6..1cdcb4160 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb
@@ -20,8 +20,8 @@ EXTRA_OECONF = " \
--enable-panel-plugins \
"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
+PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit"
PACKAGES += "xfce4-powermanager-plugin"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.2.bb
deleted file mode 100644
index 85696a193..000000000
--- a/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/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb
new file mode 100644
index 000000000..2c70a9c31
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb
@@ -0,0 +1,17 @@
+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] = "f08944f1b69ce1c6e1fbb9d7f4cb1da7"
+SRC_URI[sha256sum] = "80f7f28ef17638fe1cf4481db694731c208785a56b6c840005202f9c2db238f5"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
+
+FILES_${PN} += "${datadir}/backgrounds"
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0001-networkd-Track-address-configuration.patch b/meta-phosphor/recipes-core/systemd/systemd/0001-networkd-Track-address-configuration.patch
deleted file mode 100644
index c6836697f..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0001-networkd-Track-address-configuration.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From a24d0d95df1929912c0f767f5ab1353552464c84 Mon Sep 17 00:00:00 2001
-From: "William A. Kennington III" <william@wkennington.com>
-Date: Fri, 30 Nov 2018 15:54:45 -0800
-Subject: [PATCH 1/3] networkd: Track address configuration
-
-This will be useful to assert that our static route configuration always
-happens after address configuration once our individual configure state
-goes away.
-
-(cherry picked from commit c42ff3a1a7bfea66dc4655096c79bd481159091b)
-
-Upstream-Status: Backport
----
- src/network/networkd-link.c | 11 +++++++++--
- src/network/networkd-link.h | 2 ++
- 2 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 4afcf843bd..0faf337069 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -728,6 +728,9 @@ void link_check_ready(Link *link) {
- if (!link->network)
- return;
-
-+ if (!link->addresses_configured)
-+ return;
-+
- if (!link->static_routes_configured)
- return;
-
-@@ -835,6 +838,8 @@ static int link_enter_set_routes(Link *link) {
-
- assert(link);
- assert(link->network);
-+ assert(link->addresses_configured);
-+ assert(link->address_messages == 0);
- assert(link->state == LINK_STATE_SETTING_ADDRESSES);
-
- (void) link_set_routing_policy_rule(link);
-@@ -904,6 +909,7 @@ static int address_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userda
-
- if (link->address_messages == 0) {
- log_link_debug(link, "Addresses set");
-+ link->addresses_configured = true;
- link_enter_set_routes(link);
- }
-
-@@ -1204,9 +1210,10 @@ static int link_enter_set_addresses(Link *link) {
- log_link_debug(link, "Offering DHCPv4 leases");
- }
-
-- if (link->address_messages == 0)
-+ if (link->address_messages == 0) {
-+ link->addresses_configured = true;
- link_enter_set_routes(link);
-- else
-+ } else
- log_link_debug(link, "Setting addresses");
-
- return 0;
-diff --git a/src/network/networkd-link.h b/src/network/networkd-link.h
-index 7e22dfd504..2f37cc1598 100644
---- a/src/network/networkd-link.h
-+++ b/src/network/networkd-link.h
-@@ -80,6 +80,8 @@ typedef struct Link {
- Set *routes;
- Set *routes_foreign;
-
-+ bool addresses_configured;
-+
- sd_dhcp_client *dhcp_client;
- sd_dhcp_lease *dhcp_lease;
- char *lease_file;
---
-2.20.1.97.g81188d93c3-goog
-
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0001-timedate-defer-the-property-changed-signal-until-job.patch b/meta-phosphor/recipes-core/systemd/systemd/0001-timedate-defer-the-property-changed-signal-until-job.patch
deleted file mode 100644
index a43c36b33..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0001-timedate-defer-the-property-changed-signal-until-job.patch
+++ /dev/null
@@ -1,179 +0,0 @@
-From 3af0a96c0fcc623bd16649fc3640396a657cf9ef Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Sun, 22 Jul 2018 23:10:02 +0900
-Subject: [PATCH] timedate: defer the property changed signal until job of
- starting/stopping NTP service is finished
-
-Before this, the property changed signal is emitted immediately after
-StartUnit/StopUnit method is called. So, the running state of the NTP
-client service may not updated.
-This makes the timing of emitting property changed signal is deferred
-until job of starting/stopping NTP client service is completed.
-
-Fixes #9672.
----
- src/timedate/timedated.c | 78 ++++++++++++++++++++++++++++++++++++++++--------
- 1 file changed, 65 insertions(+), 13 deletions(-)
-
-diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
-index 6c95764..012cbe0 100644
---- a/src/timedate/timedated.c
-+++ b/src/timedate/timedated.c
-@@ -46,6 +46,9 @@ typedef struct Context {
- Hashmap *polkit_registry;
- sd_bus_message *cache;
-
-+ sd_bus_slot *slot_job_removed;
-+ char *path_ntp_unit;
-+
- LIST_HEAD(UnitStatusInfo, units);
- } Context;
-
-@@ -74,6 +77,9 @@ static void context_free(Context *c) {
- bus_verify_polkit_async_registry_free(c->polkit_registry);
- sd_bus_message_unref(c->cache);
-
-+ sd_bus_slot_unref(c->slot_job_removed);
-+ free(c->path_ntp_unit);
-+
- while ((p = c->units)) {
- LIST_REMOVE(units, c->units, p);
- unit_status_info_free(p);
-@@ -345,17 +351,55 @@ static int context_update_ntp_status(Context *c, sd_bus *bus, sd_bus_message *m)
- return 0;
- }
-
--static int unit_start_or_stop(UnitStatusInfo *u, sd_bus *bus, sd_bus_error *error, bool start) {
-+static int match_job_removed(sd_bus_message *m, void *userdata, sd_bus_error *error) {
-+ const char *path;
-+ Context *c = userdata;
-+ int r;
-+
-+ assert(c);
-+ assert(m);
-+
-+ r = sd_bus_message_read(m, "uoss", NULL, &path, NULL, NULL);
-+ if (r < 0) {
-+ bus_log_parse_error(r);
-+ return 0;
-+ }
-+
-+ if (!streq_ptr(path, c->path_ntp_unit))
-+ return 0;
-+
-+ (void) sd_bus_emit_properties_changed(sd_bus_message_get_bus(m), "/org/freedesktop/timedate1", "org.freedesktop.timedate1", "NTP", NULL);
-+
-+ c->slot_job_removed = sd_bus_slot_unref(c->slot_job_removed);
-+ c->path_ntp_unit = mfree(c->path_ntp_unit);
-+
-+ return 0;
-+}
-+
-+static int unit_start_or_stop(Context *c, UnitStatusInfo *u, sd_bus *bus, sd_bus_error *error, bool start) {
-+ _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
-+ _cleanup_(sd_bus_slot_unrefp) sd_bus_slot *slot = NULL;
-+ const char *path;
- int r;
-
-+ assert(c);
- assert(u);
- assert(bus);
- assert(error);
-
-- /* Call context_update_ntp_status() to update UnitStatusInfo before calling this. */
-+ /* This method may be called frequently. Forget the previous job if it has not completed yet. */
-+ c->slot_job_removed = sd_bus_slot_unref(c->slot_job_removed);
-
-- if (streq(u->active_state, "active") == start)
-- return 0;
-+ r = sd_bus_match_signal_async(
-+ bus,
-+ &slot,
-+ "org.freedesktop.systemd1",
-+ "/org/freedesktop/systemd1",
-+ "org.freedesktop.systemd1.Manager",
-+ "JobRemoved",
-+ match_job_removed, NULL, c);
-+ if (r < 0)
-+ return r;
-
- r = sd_bus_call_method(
- bus,
-@@ -364,13 +408,22 @@ static int unit_start_or_stop(UnitStatusInfo *u, sd_bus *bus, sd_bus_error *erro
- "org.freedesktop.systemd1.Manager",
- start ? "StartUnit" : "StopUnit",
- error,
-- NULL,
-+ &reply,
- "ss",
- u->name,
- "replace");
- if (r < 0)
- return r;
-
-+ r = sd_bus_message_read(reply, "o", &path);
-+ if (r < 0)
-+ return bus_log_parse_error(r);
-+
-+ r = free_and_strdup(&c->path_ntp_unit, path);
-+ if (r < 0)
-+ return log_oom();
-+
-+ c->slot_job_removed = TAKE_PTR(slot);
- return 0;
- }
-
-@@ -422,8 +475,9 @@ static int unit_enable_or_disable(UnitStatusInfo *u, sd_bus *bus, sd_bus_error *
- error,
- NULL,
- NULL);
-- if (r < 0)
-- return r;
-+ if (r < 0)
-+ return r;
-+
- return 0;
- }
-
-@@ -813,7 +867,7 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error
- if (q < 0)
- r = q;
-
-- q = unit_start_or_stop(u, bus, error, enable);
-+ q = unit_start_or_stop(c, u, bus, error, enable);
- if (q < 0)
- r = q;
- }
-@@ -827,17 +881,17 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error
- if (r < 0)
- continue;
-
-- r = unit_start_or_stop(u, bus, error, enable);
-+ r = unit_start_or_stop(c, u, bus, error, enable);
- break;
- }
-
-- else if (context_ntp_service_is_active(c) <= 0)
-+ else
- LIST_FOREACH(units, u, c->units) {
- if (!streq(u->load_state, "loaded") ||
- !streq(u->unit_file_state, "enabled"))
- continue;
-
-- r = unit_start_or_stop(u, bus, error, enable);
-+ r = unit_start_or_stop(c, u, bus, error, enable);
- break;
- }
-
-@@ -846,8 +900,6 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error
-
- log_info("Set NTP to %sd", enable_disable(enable));
-
-- (void) sd_bus_emit_properties_changed(bus, "/org/freedesktop/timedate1", "org.freedesktop.timedate1", "NTP", NULL);
--
- return sd_bus_reply_method_return(m, NULL);
- }
-
---
-2.7.4
-
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0001-timedate-treat-activating-or-inactivating-NTP-client.patch b/meta-phosphor/recipes-core/systemd/systemd/0001-timedate-treat-activating-or-inactivating-NTP-client.patch
deleted file mode 100644
index 6ca16ab5a..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0001-timedate-treat-activating-or-inactivating-NTP-client.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 84a87726eec88e7b11c8aa633bca006a0c0fc435 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Tue, 15 Jan 2019 02:59:48 +0900
-Subject: [PATCH 1/2] timedate: treat 'activating' or 'inactivating' NTP client
- status as 'active'
-
-When `timedatectl set-time` is called, NTP client may be in
-'activating' or something. For safety, let's treat such states as
-'active'.
-
-This also changes all unit file status except for 'masked' or 'disabled'
-are treated as 'enabled'.
----
- src/timedate/timedated.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
-index e168889..12308be 100644
---- a/src/timedate/timedated.c
-+++ b/src/timedate/timedated.c
-@@ -160,7 +160,7 @@ static int context_ntp_service_is_active(Context *c) {
- /* Call context_update_ntp_status() to update UnitStatusInfo before calling this. */
-
- LIST_FOREACH(units, info, c->units)
-- count += streq_ptr(info->active_state, "active");
-+ count += !STRPTR_IN_SET(info->active_state, "inactive", "failed");
-
- return count;
- }
-@@ -174,7 +174,7 @@ static int context_ntp_service_is_enabled(Context *c) {
- /* Call context_update_ntp_status() to update UnitStatusInfo before calling this. */
-
- LIST_FOREACH(units, info, c->units)
-- count += STRPTR_IN_SET(info->unit_file_state, "enabled", "enabled-runtime");
-+ count += !STRPTR_IN_SET(info->unit_file_state, "masked", "masked-runtime", "disabled", "bad");
-
- return count;
- }
---
-2.7.4
-
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0002-networkd-Use-only-a-generic-CONFIGURING-state.patch b/meta-phosphor/recipes-core/systemd/systemd/0002-networkd-Use-only-a-generic-CONFIGURING-state.patch
deleted file mode 100644
index 49c4cc35f..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0002-networkd-Use-only-a-generic-CONFIGURING-state.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From 3283d15fe33da392b7174eb4b82a5ad1ce03a6e4 Mon Sep 17 00:00:00 2001
-From: "William A. Kennington III" <william@wkennington.com>
-Date: Fri, 30 Nov 2018 15:36:33 -0800
-Subject: [PATCH 2/3] networkd: Use only a generic CONFIGURING state
-
-This allows us to convey that we are performing multiple link
-configuration changes in parallel. This is needed to support configuring
-neighbors while simultaneously configuring addresses and routes.
-
-(cherry picked from commit 289e6774d0daefe86771171b8f4f97b63354683e)
-
-Upstream-Status: Backport
----
- src/network/networkd-link.c | 37 +++++++++++++++++--------------------
- src/network/networkd-link.h | 4 +---
- 2 files changed, 18 insertions(+), 23 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 0faf337069..71b92185cd 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -706,7 +706,7 @@ static void link_enter_configured(Link *link) {
- assert(link);
- assert(link->network);
-
-- if (link->state != LINK_STATE_SETTING_ROUTES)
-+ if (link->state != LINK_STATE_CONFIGURING)
- return;
-
- log_link_info(link, "Configured");
-@@ -810,9 +810,8 @@ static int route_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata
- int r;
-
- assert(link->route_messages > 0);
-- assert(IN_SET(link->state, LINK_STATE_SETTING_ADDRESSES,
-- LINK_STATE_SETTING_ROUTES, LINK_STATE_FAILED,
-- LINK_STATE_LINGER));
-+ assert(IN_SET(link->state, LINK_STATE_CONFIGURING,
-+ LINK_STATE_FAILED, LINK_STATE_LINGER));
-
- link->route_messages--;
-
-@@ -832,7 +831,7 @@ static int route_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata
- return 1;
- }
-
--static int link_enter_set_routes(Link *link) {
-+static int link_request_set_routes(Link *link) {
- Route *rt;
- int r;
-
-@@ -840,11 +839,11 @@ static int link_enter_set_routes(Link *link) {
- assert(link->network);
- assert(link->addresses_configured);
- assert(link->address_messages == 0);
-- assert(link->state == LINK_STATE_SETTING_ADDRESSES);
-+ assert(link->state != _LINK_STATE_INVALID);
-
-- (void) link_set_routing_policy_rule(link);
-+ link_set_state(link, LINK_STATE_CONFIGURING);
-
-- link_set_state(link, LINK_STATE_SETTING_ROUTES);
-+ (void) link_set_routing_policy_rule(link);
-
- LIST_FOREACH(routes, rt, link->network->static_routes) {
- r = route_configure(rt, link, route_handler);
-@@ -893,7 +892,7 @@ static int address_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userda
- assert(link);
- assert(link->ifname);
- assert(link->address_messages > 0);
-- assert(IN_SET(link->state, LINK_STATE_SETTING_ADDRESSES,
-+ assert(IN_SET(link->state, LINK_STATE_CONFIGURING,
- LINK_STATE_FAILED, LINK_STATE_LINGER));
-
- link->address_messages--;
-@@ -910,7 +909,7 @@ static int address_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userda
- if (link->address_messages == 0) {
- log_link_debug(link, "Addresses set");
- link->addresses_configured = true;
-- link_enter_set_routes(link);
-+ link_request_set_routes(link);
- }
-
- return 1;
-@@ -1054,7 +1053,7 @@ static int link_set_bridge_fdb(Link *link) {
- return 0;
- }
-
--static int link_enter_set_addresses(Link *link) {
-+static int link_request_set_addresses(Link *link) {
- AddressLabel *label;
- Address *ad;
- int r;
-@@ -1067,7 +1066,7 @@ static int link_enter_set_addresses(Link *link) {
- if (r < 0)
- return r;
-
-- link_set_state(link, LINK_STATE_SETTING_ADDRESSES);
-+ link_set_state(link, LINK_STATE_CONFIGURING);
-
- LIST_FOREACH(addresses, ad, link->network->static_addresses) {
- r = address_configure(ad, link, address_handler, false);
-@@ -1212,7 +1211,7 @@ static int link_enter_set_addresses(Link *link) {
-
- if (link->address_messages == 0) {
- link->addresses_configured = true;
-- link_enter_set_routes(link);
-+ link_request_set_routes(link);
- } else
- log_link_debug(link, "Setting addresses");
-
-@@ -2313,7 +2312,7 @@ static int link_joined(Link *link) {
- if (!link_has_carrier(link) && !link->network->configure_without_carrier)
- return 0;
-
-- return link_enter_set_addresses(link);
-+ return link_request_set_addresses(link);
- }
-
- static int netdev_join_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
-@@ -2351,7 +2350,7 @@ static int link_enter_join_netdev(Link *link) {
- assert(link->network);
- assert(link->state == LINK_STATE_PENDING);
-
-- link_set_state(link, LINK_STATE_ENSLAVING);
-+ link_set_state(link, LINK_STATE_CONFIGURING);
-
- link_dirty(link);
-
-@@ -3264,7 +3263,7 @@ static int link_carrier_gained(Link *link) {
- return r;
- }
-
-- r = link_enter_set_addresses(link);
-+ r = link_request_set_addresses(link);
- if (r < 0)
- return r;
- }
-@@ -3348,7 +3347,7 @@ int link_update(Link *link, sd_netlink_message *m) {
- if (link->state == LINK_STATE_LINGER) {
- link_ref(link);
- log_link_info(link, "Link readded");
-- link_set_state(link, LINK_STATE_ENSLAVING);
-+ link_set_state(link, LINK_STATE_CONFIGURING);
-
- r = link_new_carrier_maps(link);
- if (r < 0)
-@@ -3911,9 +3910,7 @@ void link_clean(Link *link) {
-
- static const char* const link_state_table[_LINK_STATE_MAX] = {
- [LINK_STATE_PENDING] = "pending",
-- [LINK_STATE_ENSLAVING] = "configuring",
-- [LINK_STATE_SETTING_ADDRESSES] = "configuring",
-- [LINK_STATE_SETTING_ROUTES] = "configuring",
-+ [LINK_STATE_CONFIGURING] = "configuring",
- [LINK_STATE_CONFIGURED] = "configured",
- [LINK_STATE_UNMANAGED] = "unmanaged",
- [LINK_STATE_FAILED] = "failed",
-diff --git a/src/network/networkd-link.h b/src/network/networkd-link.h
-index 2f37cc1598..5fd81be5a5 100644
---- a/src/network/networkd-link.h
-+++ b/src/network/networkd-link.h
-@@ -19,9 +19,7 @@
-
- typedef enum LinkState {
- LINK_STATE_PENDING,
-- LINK_STATE_ENSLAVING,
-- LINK_STATE_SETTING_ADDRESSES,
-- LINK_STATE_SETTING_ROUTES,
-+ LINK_STATE_CONFIGURING,
- LINK_STATE_CONFIGURED,
- LINK_STATE_UNMANAGED,
- LINK_STATE_FAILED,
---
-2.20.1.97.g81188d93c3-goog
-
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0002-timedate-refuse-to-set-time-when-previous-request-is.patch b/meta-phosphor/recipes-core/systemd/systemd/0002-timedate-refuse-to-set-time-when-previous-request-is.patch
deleted file mode 100644
index 09c3f37fa..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0002-timedate-refuse-to-set-time-when-previous-request-is.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From b4356b5720ae0974f1f8962e26562591dd0be9e9 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Tue, 15 Jan 2019 14:51:30 +0900
-Subject: [PATCH 2/2] timedate: refuse to set time when previous request is not
- finished
-
-If `timedatectl set-time` is invoked right after `timedatectl set-ntp true`,
-then, the NTP service may not be started yet.
-
-Fixes #11420.
----
- src/timedate/timedated.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
-index 12308be..eeb17b6 100644
---- a/src/timedate/timedated.c
-+++ b/src/timedate/timedated.c
-@@ -523,6 +523,10 @@ static int property_get_can_ntp(
- assert(reply);
- assert(error);
-
-+ if (c->slot_job_removed)
-+ /* When the previous request is not finished, then assume NTP is enabled. */
-+ return sd_bus_message_append(reply, "b", true);
-+
- r = context_update_ntp_status(c, bus, reply);
- if (r < 0)
- return r;
-@@ -548,6 +552,10 @@ static int property_get_ntp(
- assert(reply);
- assert(error);
-
-+ if (c->slot_job_removed)
-+ /* When the previous request is not finished, then assume NTP is active. */
-+ return sd_bus_message_append(reply, "b", true);
-+
- r = context_update_ntp_status(c, bus, reply);
- if (r < 0)
- return r;
-@@ -735,6 +743,9 @@ static int method_set_time(sd_bus_message *m, void *userdata, sd_bus_error *erro
- assert(m);
- assert(c);
-
-+ if (c->slot_job_removed)
-+ return sd_bus_error_set(error, BUS_ERROR_AUTOMATIC_TIME_SYNC_ENABLED, "Previous request is not finished, refusing.");
-+
- r = context_update_ntp_status(c, bus, m);
- if (r < 0)
- return sd_bus_error_set_errnof(error, r, "Failed to update context: %m");
---
-2.7.4
-
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0003-networkd-Static-neighbor-support.patch b/meta-phosphor/recipes-core/systemd/systemd/0003-networkd-Static-neighbor-support.patch
deleted file mode 100644
index 86a563144..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0003-networkd-Static-neighbor-support.patch
+++ /dev/null
@@ -1,547 +0,0 @@
-From 2402e69c2ccf795d67bb55d7cd073e7384d57a3d Mon Sep 17 00:00:00 2001
-From: "William A. Kennington III" <william@wkennington.com>
-Date: Wed, 28 Nov 2018 19:00:58 -0800
-Subject: [PATCH 3/3] networkd: Static neighbor support
-
-When using networkd we currently have no way of ensuring that static
-neighbor entries are set when our link comes up. This change adds a new
-section to the network definition that allows multiple static neighbors
-to be set on a link.
-
-(cherry picked from commit e4a71bf36f422c3728b902aaa5846add7bbc0eb9)
-
-Upstream-Status: Backport
----
- man/systemd.network.xml | 25 +++
- src/network/meson.build | 2 +
- src/network/networkd-link.c | 34 ++++
- src/network/networkd-link.h | 3 +
- src/network/networkd-neighbor.c | 234 +++++++++++++++++++++++
- src/network/networkd-neighbor.h | 37 ++++
- src/network/networkd-network-gperf.gperf | 2 +
- src/network/networkd-network.c | 10 +
- src/network/networkd-network.h | 4 +
- 9 files changed, 351 insertions(+)
- create mode 100644 src/network/networkd-neighbor.c
- create mode 100644 src/network/networkd-neighbor.h
-
-diff --git a/man/systemd.network.xml b/man/systemd.network.xml
-index fc8e0aea68..804419c31a 100644
---- a/man/systemd.network.xml
-+++ b/man/systemd.network.xml
-@@ -899,6 +899,31 @@
- </variablelist>
- </refsect1>
-
-+ <refsect1>
-+ <title>[Neighbor] Section Options</title>
-+ <para>A <literal>[Neighbor]</literal> section accepts the
-+ following keys. The neighbor section adds a permanent, static
-+ entry to the neighbor table (IPv6) or ARP table (IPv4) for
-+ the given hardware address on the links matched for the network.
-+ Specify several <literal>[Neighbor]</literal> sections to configure
-+ several static neighbors.</para>
-+
-+ <variablelist class='network-directives'>
-+ <varlistentry>
-+ <term><varname>Address=</varname></term>
-+ <listitem>
-+ <para>The IP address of the neighbor.</para>
-+ </listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><varname>MACAddress=</varname></term>
-+ <listitem>
-+ <para>The hardware address of the neighbor.</para>
-+ </listitem>
-+ </varlistentry>
-+ </variablelist>
-+ </refsect1>
-+
- <refsect1>
- <title>[IPv6AddressLabel] Section Options</title>
-
-diff --git a/src/network/meson.build b/src/network/meson.build
-index 8f5544ea04..900130ed6a 100644
---- a/src/network/meson.build
-+++ b/src/network/meson.build
-@@ -62,6 +62,8 @@ sources = files('''
- networkd-manager.h
- networkd-ndisc.c
- networkd-ndisc.h
-+ networkd-neighbor.c
-+ networkd-neighbor.h
- networkd-radv.c
- networkd-radv.h
- networkd-network-bus.c
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 71b92185cd..51f95ac55e 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -17,6 +17,7 @@
- #include "networkd-lldp-tx.h"
- #include "networkd-manager.h"
- #include "networkd-ndisc.h"
-+#include "networkd-neighbor.h"
- #include "networkd-radv.h"
- #include "networkd-routing-policy-rule.h"
- #include "set.h"
-@@ -731,6 +732,9 @@ void link_check_ready(Link *link) {
- if (!link->addresses_configured)
- return;
-
-+ if (!link->neighbors_configured)
-+ return;
-+
- if (!link->static_routes_configured)
- return;
-
-@@ -883,6 +887,34 @@ int link_route_remove_handler(sd_netlink *rtnl, sd_netlink_message *m, void *use
- return 1;
- }
-
-+static int link_request_set_neighbors(Link *link) {
-+ Neighbor *neighbor;
-+ int r;
-+
-+ assert(link);
-+ assert(link->network);
-+ assert(link->state != _LINK_STATE_INVALID);
-+
-+ link_set_state(link, LINK_STATE_CONFIGURING);
-+
-+ LIST_FOREACH(neighbors, neighbor, link->network->neighbors) {
-+ r = neighbor_configure(neighbor, link, NULL);
-+ if (r < 0) {
-+ log_link_warning_errno(link, r, "Could not set neighbor: %m");
-+ link_enter_failed(link);
-+ return r;
-+ }
-+ }
-+
-+ if (link->neighbor_messages == 0) {
-+ link->neighbors_configured = true;
-+ link_check_ready(link);
-+ } else
-+ log_link_debug(link, "Setting neighbors");
-+
-+ return 0;
-+}
-+
- static int address_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
- _cleanup_(link_unrefp) Link *link = userdata;
- int r;
-@@ -1068,6 +1100,8 @@ static int link_request_set_addresses(Link *link) {
-
- link_set_state(link, LINK_STATE_CONFIGURING);
-
-+ link_request_set_neighbors(link);
-+
- LIST_FOREACH(addresses, ad, link->network->static_addresses) {
- r = address_configure(ad, link, address_handler, false);
- if (r < 0) {
-diff --git a/src/network/networkd-link.h b/src/network/networkd-link.h
-index 5fd81be5a5..464e93d982 100644
---- a/src/network/networkd-link.h
-+++ b/src/network/networkd-link.h
-@@ -68,6 +68,7 @@ typedef struct Link {
-
- unsigned address_messages;
- unsigned address_label_messages;
-+ unsigned neighbor_messages;
- unsigned route_messages;
- unsigned routing_policy_rule_messages;
- unsigned routing_policy_rule_remove_messages;
-@@ -95,6 +96,8 @@ typedef struct Link {
- bool ipv4ll_address:1;
- bool ipv4ll_route:1;
-
-+ bool neighbors_configured;
-+
- bool static_routes_configured;
- bool routing_policy_rules_configured;
- bool setting_mtu;
-diff --git a/src/network/networkd-neighbor.c b/src/network/networkd-neighbor.c
-new file mode 100644
-index 0000000000..db69d310d3
---- /dev/null
-+++ b/src/network/networkd-neighbor.c
-@@ -0,0 +1,234 @@
-+/* SPDX-License-Identifier: LGPL-2.1+ */
-+
-+#include "sd-netlink.h"
-+
-+#include "alloc-util.h"
-+#include "conf-parser.h"
-+#include "ether-addr-util.h"
-+#include "hashmap.h"
-+#include "in-addr-util.h"
-+#include "netlink-util.h"
-+#include "networkd-link.h"
-+#include "networkd-manager.h"
-+#include "networkd-neighbor.h"
-+
-+void neighbor_free(Neighbor *neighbor) {
-+ if (!neighbor)
-+ return;
-+
-+ if (neighbor->network) {
-+ LIST_REMOVE(neighbors, neighbor->network->neighbors, neighbor);
-+ assert(neighbor->network->n_neighbors > 0);
-+ neighbor->network->n_neighbors--;
-+
-+ if (neighbor->section) {
-+ hashmap_remove(neighbor->network->neighbors_by_section, neighbor->section);
-+ network_config_section_free(neighbor->section);
-+ }
-+ }
-+
-+ free(neighbor);
-+}
-+
-+static int neighbor_new_static(Network *network, const char *filename, unsigned section_line, Neighbor **ret) {
-+ _cleanup_(network_config_section_freep) NetworkConfigSection *n = NULL;
-+ _cleanup_(neighbor_freep) Neighbor *neighbor = NULL;
-+ int r;
-+
-+ assert(network);
-+ assert(ret);
-+ assert(!!filename == (section_line > 0));
-+
-+ if (filename) {
-+ r = network_config_section_new(filename, section_line, &n);
-+ if (r < 0)
-+ return r;
-+
-+ neighbor = hashmap_get(network->neighbors_by_section, n);
-+ if (neighbor) {
-+ *ret = TAKE_PTR(neighbor);
-+
-+ return 0;
-+ }
-+ }
-+
-+ neighbor = new(Neighbor, 1);
-+ if (!neighbor)
-+ return -ENOMEM;
-+
-+ *neighbor = (Neighbor) {
-+ .network = network,
-+ .family = AF_UNSPEC,
-+ };
-+
-+ LIST_APPEND(neighbors, network->neighbors, neighbor);
-+ network->n_neighbors++;
-+
-+ if (filename) {
-+ neighbor->section = TAKE_PTR(n);
-+
-+ r = hashmap_put(network->neighbors_by_section, neighbor->section, neighbor);
-+ if (r < 0)
-+ return r;
-+ }
-+
-+ *ret = TAKE_PTR(neighbor);
-+
-+ return 0;
-+}
-+
-+static int neighbor_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
-+ _cleanup_(link_unrefp) Link *link = userdata;
-+ int r;
-+
-+ assert(link);
-+ assert(link->neighbor_messages > 0);
-+
-+ link->neighbor_messages--;
-+
-+ if (IN_SET(link->state, LINK_STATE_FAILED, LINK_STATE_LINGER))
-+ return 1;
-+
-+ r = sd_netlink_message_get_errno(m);
-+ if (r < 0 && r != -EEXIST)
-+ log_link_warning_errno(link, r, "Could not set neighbor: %m");
-+
-+ if (link->neighbor_messages == 0) {
-+ log_link_debug(link, "Neighbors set");
-+ link->neighbors_configured = true;
-+ link_check_ready(link);
-+ }
-+
-+ return 1;
-+}
-+
-+int neighbor_configure(Neighbor *neighbor, Link *link, sd_netlink_message_handler_t callback) {
-+ _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;
-+ int r;
-+
-+ assert(neighbor);
-+ assert(link);
-+ assert(link->ifindex > 0);
-+ assert(link->manager);
-+ assert(link->manager->rtnl);
-+
-+ if (neighbor->family == AF_UNSPEC)
-+ return log_error_errno(EINVAL, "Neighbor without Address= configured");
-+ if (!neighbor->mac_configured)
-+ return log_error_errno(EINVAL, "Neighbor without MACAddress= configured");
-+
-+ r = sd_rtnl_message_new_neigh(link->manager->rtnl, &req, RTM_NEWNEIGH,
-+ link->ifindex, neighbor->family);
-+ if (r < 0)
-+ return log_error_errno(r, "Could not allocate RTM_NEWNEIGH message: %m");
-+
-+ r = sd_rtnl_message_neigh_set_state(req, NUD_PERMANENT);
-+ if (r < 0)
-+ return log_error_errno(r, "Could not set state: %m");
-+
-+ r = sd_netlink_message_set_flags(req, NLM_F_REQUEST | NLM_F_CREATE | NLM_F_REPLACE);
-+ if (r < 0)
-+ return log_error_errno(r, "Could not set flags: %m");
-+
-+ r = sd_netlink_message_append_ether_addr(req, NDA_LLADDR, &neighbor->mac);
-+ if (r < 0)
-+ return log_error_errno(r, "Could not append NDA_LLADDR attribute: %m");
-+
-+ switch (neighbor->family) {
-+ case AF_INET6:
-+ r = sd_netlink_message_append_in6_addr(req, NDA_DST, &neighbor->in_addr.in6);
-+ if (r < 0)
-+ return log_error_errno(r, "Could not append NDA_DST attribute: %m");
-+ break;
-+ case AF_INET:
-+ r = sd_netlink_message_append_in_addr(req, NDA_DST, &neighbor->in_addr.in);
-+ if (r < 0)
-+ return log_error_errno(r, "Could not append NDA_DST attribute: %m");
-+ break;
-+ default:
-+ return log_error_errno(EINVAL, "Neighbor with invalid address family");
-+ }
-+
-+ r = sd_netlink_call_async(link->manager->rtnl, req, callback ?: neighbor_handler,
-+ link, 0, NULL);
-+ if (r < 0)
-+ return log_error_errno(r, "Could not send rtnetlink message: %m");
-+
-+ link->neighbor_messages++;
-+ link_ref(link);
-+
-+ return 0;
-+}
-+
-+int config_parse_neighbor_address(const char *unit,
-+ const char *filename,
-+ unsigned line,
-+ const char *section,
-+ unsigned section_line,
-+ const char *lvalue,
-+ int ltype,
-+ const char *rvalue,
-+ void *data,
-+ void *userdata) {
-+
-+ Network *network = userdata;
-+ _cleanup_(neighbor_freep) Neighbor *n = NULL;
-+ int r;
-+
-+ assert(filename);
-+ assert(section);
-+ assert(lvalue);
-+ assert(rvalue);
-+ assert(data);
-+
-+ r = neighbor_new_static(network, filename, section_line, &n);
-+ if (r < 0)
-+ return r;
-+
-+ r = in_addr_from_string_auto(rvalue, &n->family, &n->in_addr);
-+ if (r < 0) {
-+ log_syntax(unit, LOG_ERR, filename, line, r, "Neighbor Address is invalid, ignoring assignment: %s", rvalue);
-+ return 0;
-+ }
-+
-+ TAKE_PTR(n);
-+
-+ return 0;
-+}
-+
-+int config_parse_neighbor_hwaddr(const char *unit,
-+ const char *filename,
-+ unsigned line,
-+ const char *section,
-+ unsigned section_line,
-+ const char *lvalue,
-+ int ltype,
-+ const char *rvalue,
-+ void *data,
-+ void *userdata) {
-+
-+ Network *network = userdata;
-+ _cleanup_(neighbor_freep) Neighbor *n = NULL;
-+ int r;
-+
-+ assert(filename);
-+ assert(section);
-+ assert(lvalue);
-+ assert(rvalue);
-+ assert(data);
-+
-+ r = neighbor_new_static(network, filename, section_line, &n);
-+ if (r < 0)
-+ return r;
-+
-+ r = ether_addr_from_string(rvalue, &n->mac);
-+ if (r < 0) {
-+ log_syntax(unit, LOG_ERR, filename, line, r, "Neighbor MACAddress is invalid, ignoring assignment: %s", rvalue);
-+ return 0;
-+ }
-+
-+ n->mac_configured = true;
-+ TAKE_PTR(n);
-+
-+ return 0;
-+}
-diff --git a/src/network/networkd-neighbor.h b/src/network/networkd-neighbor.h
-new file mode 100644
-index 0000000000..30a1f8fe27
---- /dev/null
-+++ b/src/network/networkd-neighbor.h
-@@ -0,0 +1,37 @@
-+/* SPDX-License-Identifier: LGPL-2.1+ */
-+#pragma once
-+
-+#include "sd-netlink.h"
-+
-+#include "conf-parser.h"
-+#include "ether-addr-util.h"
-+#include "in-addr-util.h"
-+#include "list.h"
-+#include "macro.h"
-+
-+typedef struct Neighbor Neighbor;
-+
-+#include "networkd-link.h"
-+#include "networkd-network.h"
-+
-+struct Neighbor {
-+ Network *network;
-+ Link *link;
-+ NetworkConfigSection *section;
-+
-+ int family;
-+ union in_addr_union in_addr;
-+ bool mac_configured;
-+ struct ether_addr mac;
-+
-+ LIST_FIELDS(Neighbor, neighbors);
-+};
-+
-+void neighbor_free(Neighbor *neighbor);
-+
-+DEFINE_TRIVIAL_CLEANUP_FUNC(Neighbor*, neighbor_free);
-+
-+int neighbor_configure(Neighbor *neighbor, Link *link, sd_netlink_message_handler_t callback);
-+
-+CONFIG_PARSER_PROTOTYPE(config_parse_neighbor_address);
-+CONFIG_PARSER_PROTOTYPE(config_parse_neighbor_hwaddr);
-diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
-index 6ad5257f79..18405149a4 100644
---- a/src/network/networkd-network-gperf.gperf
-+++ b/src/network/networkd-network-gperf.gperf
-@@ -93,6 +93,8 @@ Address.AutoJoin, config_parse_address_flags,
- Address.Scope, config_parse_address_scope, 0, 0
- IPv6AddressLabel.Prefix, config_parse_address_label_prefix, 0, 0
- IPv6AddressLabel.Label, config_parse_address_label, 0, 0
-+Neighbor.Address, config_parse_neighbor_address, 0, 0
-+Neighbor.MACAddress, config_parse_neighbor_hwaddr, 0, 0
- RoutingPolicyRule.TypeOfService, config_parse_routing_policy_rule_tos, 0, 0
- RoutingPolicyRule.Priority, config_parse_routing_policy_rule_priority, 0, 0
- RoutingPolicyRule.Table, config_parse_routing_policy_rule_table, 0, 0
-diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
-index 429aac5e6c..a3b8f0cec4 100644
---- a/src/network/networkd-network.c
-+++ b/src/network/networkd-network.c
-@@ -158,6 +158,10 @@ static int network_load_one(Manager *manager, const char *filename) {
- if (!network->fdb_entries_by_section)
- return log_oom();
-
-+ network->neighbors_by_section = hashmap_new(&network_config_hash_ops);
-+ if (!network->neighbors_by_section)
-+ log_oom();
-+
- network->address_labels_by_section = hashmap_new(&network_config_hash_ops);
- if (!network->address_labels_by_section)
- log_oom();
-@@ -256,6 +260,7 @@ static int network_load_one(Manager *manager, const char *filename) {
- "Link\0"
- "Network\0"
- "Address\0"
-+ "Neighbor\0"
- "IPv6AddressLabel\0"
- "RoutingPolicyRule\0"
- "Route\0"
-@@ -340,6 +345,7 @@ void network_free(Network *network) {
- IPv6ProxyNDPAddress *ipv6_proxy_ndp_address;
- RoutingPolicyRule *rule;
- FdbEntry *fdb_entry;
-+ Neighbor *neighbor;
- AddressLabel *label;
- Prefix *prefix;
- Address *address;
-@@ -393,6 +399,9 @@ void network_free(Network *network) {
- while ((ipv6_proxy_ndp_address = network->ipv6_proxy_ndp_addresses))
- ipv6_proxy_ndp_address_free(ipv6_proxy_ndp_address);
-
-+ while ((neighbor = network->neighbors))
-+ neighbor_free(neighbor);
-+
- while ((label = network->address_labels))
- address_label_free(label);
-
-@@ -405,6 +414,7 @@ void network_free(Network *network) {
- hashmap_free(network->addresses_by_section);
- hashmap_free(network->routes_by_section);
- hashmap_free(network->fdb_entries_by_section);
-+ hashmap_free(network->neighbors_by_section);
- hashmap_free(network->address_labels_by_section);
- hashmap_free(network->prefixes_by_section);
- hashmap_free(network->rules_by_section);
-diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h
-index 2d46d393ac..8df18326bb 100644
---- a/src/network/networkd-network.h
-+++ b/src/network/networkd-network.h
-@@ -16,6 +16,7 @@
- #include "networkd-fdb.h"
- #include "networkd-ipv6-proxy-ndp.h"
- #include "networkd-lldp-tx.h"
-+#include "networkd-neighbor.h"
- #include "networkd-radv.h"
- #include "networkd-route.h"
- #include "networkd-routing-policy-rule.h"
-@@ -229,6 +230,7 @@ struct Network {
- LIST_HEAD(Route, static_routes);
- LIST_HEAD(FdbEntry, static_fdb_entries);
- LIST_HEAD(IPv6ProxyNDPAddress, ipv6_proxy_ndp_addresses);
-+ LIST_HEAD(Neighbor, neighbors);
- LIST_HEAD(AddressLabel, address_labels);
- LIST_HEAD(Prefix, static_prefixes);
- LIST_HEAD(RoutingPolicyRule, rules);
-@@ -237,6 +239,7 @@ struct Network {
- unsigned n_static_routes;
- unsigned n_static_fdb_entries;
- unsigned n_ipv6_proxy_ndp_addresses;
-+ unsigned n_neighbors;
- unsigned n_address_labels;
- unsigned n_static_prefixes;
- unsigned n_rules;
-@@ -244,6 +247,7 @@ struct Network {
- Hashmap *addresses_by_section;
- Hashmap *routes_by_section;
- Hashmap *fdb_entries_by_section;
-+ Hashmap *neighbors_by_section;
- Hashmap *address_labels_by_section;
- Hashmap *prefixes_by_section;
- Hashmap *rules_by_section;
---
-2.20.1.97.g81188d93c3-goog
-
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0006-core-fix-the-check-if-CONFIG_CGROUP_BPF-is-on.patch b/meta-phosphor/recipes-core/systemd/systemd/0006-core-fix-the-check-if-CONFIG_CGROUP_BPF-is-on.patch
deleted file mode 100644
index 3645100ab..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0006-core-fix-the-check-if-CONFIG_CGROUP_BPF-is-on.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 4ea79c18f1e2081d59eaa0f1df479dbc7700779e Mon Sep 17 00:00:00 2001
-From: Ed Tanous <ed.tanous@intel.com>
-Date: Sun, 16 Dec 2018 18:27:06 -0800
-Subject: [PATCH] core: fix the check if CONFIG_CGROUP_BPF is on
-
-Since the commit torvalds/linux@fdb5c4531c1e0e50e609df83f736b6f3a02896e2
-the syscall BPF_PROG_ATTACH return EBADF when CONFIG_CGROUP_BPF is
-turned off and as result the bpf_firewall_supported() returns the
-incorrect value.
-
-This commmit replaces the syscall BPF_PROG_ATTACH with BPF_PROG_DETACH
-which is still work as expected.
-
-Resolves openbmc/linux#159
-See also systemd/systemd#7054
-
-Originally written by:
-Alexander Filippov <a.filippov@yadro.com>
-
-Signed-off-by: Ed Tanous <ed.tanous@intel.com>
----
- src/core/bpf-firewall.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/core/bpf-firewall.c b/src/core/bpf-firewall.c
-index 8b66ef73d..e68b70d0c 100644
---- a/src/core/bpf-firewall.c
-+++ b/src/core/bpf-firewall.c
-@@ -660,7 +660,7 @@ int bpf_firewall_supported(void) {
- * b) whether the unified hierarchy is being used
- * c) the BPF implementation in the kernel supports BPF LPM TRIE maps, which we require
- * d) the BPF implementation in the kernel supports BPF_PROG_TYPE_CGROUP_SKB programs, which we require
-- * e) the BPF implementation in the kernel supports the BPF_PROG_ATTACH call, which we require
-+ * e) the BPF implementation in the kernel supports the BPF_PROG_DETACH call, which we require
- *
- */
-
-@@ -714,7 +714,7 @@ int bpf_firewall_supported(void) {
- * is turned off at kernel compilation time. This sucks of course: why does it allow us to create a cgroup BPF
- * program if we can't do a thing with it later?
- *
-- * We detect this case by issuing the BPF_PROG_ATTACH bpf() call with invalid file descriptors: if
-+ * We detect this case by issuing the BPF_PROG_DETACH bpf() call with invalid file descriptors: if
- * CONFIG_CGROUP_BPF is turned off, then the call will fail early with EINVAL. If it is turned on the
- * parameters are validated however, and that'll fail with EBADF then. */
-
-@@ -724,15 +724,15 @@ int bpf_firewall_supported(void) {
- .attach_bpf_fd = -1,
- };
-
-- if (bpf(BPF_PROG_ATTACH, &attr, sizeof(attr)) < 0) {
-+ if (bpf(BPF_PROG_DETACH, &attr, sizeof(attr)) < 0) {
- if (errno != EBADF) {
-- log_debug_errno(errno, "Didn't get EBADF from BPF_PROG_ATTACH, BPF firewalling is not supported: %m");
-+ log_debug_errno(errno, "Didn't get EBADF from BPF_PROG_DETACH, BPF firewalling is not supported: %m");
- return supported = BPF_FIREWALL_UNSUPPORTED;
- }
-
- /* YAY! */
- } else {
-- log_debug("Wut? Kernel accepted our invalid BPF_PROG_ATTACH call? Something is weird, assuming BPF firewalling is broken and hence not supported.");
-+ log_debug("Wut? Kernel accepted our invalid BPF_PROG_DETACH call? Something is weird, assuming BPF firewalling is broken and hence not supported.");
- return supported = BPF_FIREWALL_UNSUPPORTED;
- }
-
-@@ -748,7 +748,7 @@ int bpf_firewall_supported(void) {
- .attach_flags = BPF_F_ALLOW_MULTI,
- };
-
-- if (bpf(BPF_PROG_ATTACH, &attr, sizeof(attr)) < 0) {
-+ if (bpf(BPF_PROG_DETACH, &attr, sizeof(attr)) < 0) {
- if (errno == EBADF) {
- log_debug_errno(errno, "Got EBADF when using BPF_F_ALLOW_MULTI, which indicates it is supported. Yay!");
- return supported = BPF_FIREWALL_SUPPORTED_WITH_MULTI;
-@@ -761,7 +761,7 @@ int bpf_firewall_supported(void) {
-
- return supported = BPF_FIREWALL_SUPPORTED;
- } else {
-- log_debug("Wut? Kernel accepted our invalid BPF_PROG_ATTACH+BPF_F_ALLOW_MULTI call? Something is weird, assuming BPF firewalling is broken and hence not supported.");
-+ log_debug("Wut? Kernel accepted our invalid BPF_PROG_DETACH+BPF_F_ALLOW_MULTI call? Something is weird, assuming BPF firewalling is broken and hence not supported.");
- return supported = BPF_FIREWALL_UNSUPPORTED;
- }
- }
---
-2.17.1
-
diff --git a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
index 680f4f61b..fa6a7ed8e 100644
--- a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
@@ -1,23 +1,13 @@
FILES_${PN}-catalog-extralocales = \
"${exec_prefix}/lib/systemd/catalog/*.*.catalog"
PACKAGES =+ "${PN}-catalog-extralocales"
-PACKAGECONFIG_remove = "backlight binfmt firstboot hibernate ima \
- localed logind machined polkit quotacheck smack utmp \
- vconsole"
+PACKAGECONFIG_remove = "backlight binfmt firstboot gshadow hibernate ima \
+ localed logind machined nss nss-mymachines nss-resolve \
+ polkit quotacheck smack utmp vconsole"
+
FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"
SRC_URI += "file://default.network"
SRC_URI += "file://0001-sd-bus-Don-t-automatically-add-ObjectManager.patch"
-SRC_URI += "file://0006-core-fix-the-check-if-CONFIG_CGROUP_BPF-is-on.patch"
-
-# Static neighbor support included in v240 so remove when updated
-SRC_URI += "file://0001-networkd-Track-address-configuration.patch"
-SRC_URI += "file://0002-networkd-Use-only-a-generic-CONFIGURING-state.patch"
-SRC_URI += "file://0003-networkd-Static-neighbor-support.patch"
-
-# Fixes from upstream for openbmc/openbmc#3459
-SRC_URI += "file://0001-timedate-defer-the-property-changed-signal-until-job.patch"
-SRC_URI += "file://0001-timedate-treat-activating-or-inactivating-NTP-client.patch"
-SRC_URI += "file://0002-timedate-refuse-to-set-time-when-previous-request-is.patch"
RRECOMMENDS_${PN} += "obmc-targets"
FILES_${PN} += "${systemd_unitdir}/network/default.network"
diff --git a/meta-phosphor/recipes-phosphor/mrw/mrw-api-native.bb b/meta-phosphor/recipes-phosphor/mrw/mrw-api-native.bb
index 1d277cf2b..b8c311bd1 100644
--- a/meta-phosphor/recipes-phosphor/mrw/mrw-api-native.bb
+++ b/meta-phosphor/recipes-phosphor/mrw/mrw-api-native.bb
@@ -17,6 +17,6 @@ SRC_URI += "${MRW_API_SRC_URI}"
SRCREV = "${MRW_API_SRCREV}"
do_install() {
- install -d ${D}${PERLLIBDIRS_class-native}/perl/site_perl/${PERLVERSION}/mrw
- install -m 0755 scripts/Targets.pm ${D}${PERLLIBDIRS_class-native}/perl/site_perl/${PERLVERSION}/mrw/Targets.pm
+ install -d ${D}${PERLLIBDIRS_class-native}/site_perl/${PERLVERSION}/mrw
+ install -m 0755 scripts/Targets.pm ${D}${PERLLIBDIRS_class-native}/site_perl/${PERLVERSION}/mrw/Targets.pm
}
diff --git a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
index d63a24028..538803d8e 100644
--- a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
+++ b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
@@ -64,13 +64,6 @@ do_image_rpi_sdimg[recrdeps] = "do_build"
# SD card image name
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.rpi-sdimg"
-# Compression method to apply to SDIMG after it has been created. Supported
-# compression formats are "gzip", "bzip2" or "xz". The original .rpi-sdimg file
-# is kept and a new compressed file is created if one of these compression
-# formats is chosen. If SDIMG_COMPRESSION is set to any other value it is
-# silently ignored.
-#SDIMG_COMPRESSION ?= ""
-
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
FATPAYLOAD ?= ""
@@ -177,19 +170,6 @@ IMAGE_CMD_rpi-sdimg () {
else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
fi
-
- # Optionally apply compression
- case "${SDIMG_COMPRESSION}" in
- "gzip")
- gzip -k9 "${SDIMG}"
- ;;
- "bzip2")
- bzip2 -k9 "${SDIMG}"
- ;;
- "xz")
- xz -k "${SDIMG}"
- ;;
- esac
}
ROOTFS_POSTPROCESS_COMMAND += " rpi_generate_sysctl_config ; "
diff --git a/meta-raspberrypi/conf/layer.conf b/meta-raspberrypi/conf/layer.conf
index 67eb98ff5..264b2c030 100644
--- a/meta-raspberrypi/conf/layer.conf
+++ b/meta-raspberrypi/conf/layer.conf
@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9"
-LAYERSERIES_COMPAT_raspberrypi = "sumo thud"
+LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc
index 4bbd576b9..cc6a54ecf 100644
--- a/meta-raspberrypi/conf/machine/include/rpi-base.inc
+++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -25,7 +25,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/i2c-rtc.dtbo \
overlays/iqaudio-dac.dtbo \
overlays/iqaudio-dacplus.dtbo \
- overlays/lirc-rpi.dtbo \
+ overlays/mcp2515-can0.dtbo \
overlays/pi3-disable-bt.dtbo \
overlays/pi3-miniuart-bt.dtbo \
overlays/pitft22.dtbo \
diff --git a/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc b/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
index a5fe6d707..9983b61a6 100644
--- a/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
+++ b/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
@@ -1,3 +1,3 @@
# RaspberryPi BSP default versions
-PREFERRED_VERSION_linux-raspberrypi ??= "4.14.%"
+PREFERRED_VERSION_linux-raspberrypi ??= "4.19.%"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
index 635e4f67f..80b6bc463 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
@@ -11,7 +11,7 @@ MACHINE_EXTRA_RRECOMMENDS += "\
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
-require conf/machine/include/arm/arch-armv8.inc
+require conf/machine/include/tune-cortexa53.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md
index 732c10207..b44dece3a 100644
--- a/meta-raspberrypi/docs/extra-build-config.md
+++ b/meta-raspberrypi/docs/extra-build-config.md
@@ -13,9 +13,6 @@ specific to it. For the rest please check:
2. Overwrite SDIMG_ROOTFS_TYPE in local.conf
* `SDIMG_ROOTFS_TYPE = "ext3.xz"`
-3. Overwrite SDIMG_COMPRESSION in local.conf
- * `SDIMG_COMPRESSION = "xz"`
-
Accommodate the values above to your own needs (ex: ext3 / ext4).
## GPU memory
@@ -246,6 +243,15 @@ When using device tree kernels, set this variable to enable the 802.15.4 hat:
See: <https://openlabs.co/OSHW/Raspberry-Pi-802.15.4-radio>
+## Enable CAN with Pican2
+
+In order to use Pican2 CAN module, set the following variables:
+
+ ENABLE_SPI_BUS = "1"
+ ENABLE_CAN = "1"
+
+See: <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html>
+
## Manual additions to config.txt
The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to
diff --git a/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
index 58b7b4713..4202651f4 100644
--- a/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
+++ b/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -1,7 +1,8 @@
PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \
bb.utils.contains('DISTRO_FEATURES', 'opengl', 'eglfs gles2', \
'', d), d)}"
-PACKAGECONFIG_GL_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' gbm kms', '', d)}"
+PACKAGECONFIG_GL_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' kms', '', d)}"
+PACKAGECONFIG_GL_append_rpi = " gbm"
PACKAGECONFIG_FONTS_rpi = "fontconfig"
PACKAGECONFIG_append_rpi = " libinput examples tslib xkb xkbcommon-evdev"
PACKAGECONFIG_remove_rpi = "tests"
@@ -15,3 +16,4 @@ do_configure_prepend_rpi() {
fi
}
RDEPENDS_${PN}_append_rpi = " userland"
+DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
index fcc7771b9..b3356edff 100644
--- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
+++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
@@ -183,6 +183,12 @@ do_deploy() {
echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
+ # ENABLE CAN
+ if [ "${ENABLE_CAN}" = "1" ]; then
+ echo "# Enable CAN" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ fi
+
# Append extra config if the user has provided any
printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
}
diff --git a/meta-raspberrypi/recipes-bsp/common/firmware.inc b/meta-raspberrypi/recipes-bsp/common/firmware.inc
index 37cd343f4..d19525ffd 100644
--- a/meta-raspberrypi/recipes-bsp/common/firmware.inc
+++ b/meta-raspberrypi/recipes-bsp/common/firmware.inc
@@ -1,11 +1,10 @@
-RPIFW_DATE ?= "20190212"
-SRCREV ?= "83977fe3b6ef54c1d29c83b0a778d330f523441f"
+RPIFW_DATE ?= "20190220"
+SRCREV ?= "ebf7b40cdc6effe7ffa3fd5195e8be01b94f80da"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[md5sum] = "5ccdb5447cbdd3ee0158a514f7b76cb9"
-SRC_URI[sha256sum] = "9a34ccc4a51695a33206cc6c8534f615ba5a30fcbce5fa3add400ecc6b80ad8a"
-
+SRC_URI[md5sum] = "611077d343e3802496dd99118ca4e977"
+SRC_URI[sha256sum] = "e911f6342ea8aa9380cae97c6f5ac4ddd370527265f23d5b5d4b2c6f679d4ba8"
PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb b/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
index edef0db9e..42cfcdd4d 100644
--- a/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
+++ b/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
@@ -2,7 +2,10 @@ DESCRIPTION = "udev rules for Raspberry Pi Boards"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRC_URI = " file://99-com.rules"
+SRC_URI = " \
+ file://99-com.rules \
+ file://can.rules \
+ "
S = "${WORKDIR}"
@@ -11,4 +14,5 @@ INHIBIT_DEFAULT_DEPS = "1"
do_install () {
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${WORKDIR}/99-com.rules ${D}${sysconfdir}/udev/rules.d/
+ install -m 0644 ${WORKDIR}/can.rules ${D}${sysconfdir}/udev/rules.d/
}
diff --git a/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/can.rules b/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/can.rules
new file mode 100644
index 000000000..a47d57de8
--- /dev/null
+++ b/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/can.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="net", DEVPATH=="/devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.0/net/can0", RUN+="/sbin/ip link set can0 up type can bitrate 500000"
diff --git a/meta-raspberrypi/recipes-graphics/cairo/cairo_%.bbappend b/meta-raspberrypi/recipes-graphics/cairo/cairo_%.bbappend
new file mode 100644
index 000000000..7ba13e209
--- /dev/null
+++ b/meta-raspberrypi/recipes-graphics/cairo/cairo_%.bbappend
@@ -0,0 +1,3 @@
+PACKAGECONFIG_GLESV2 = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'glesv2', d)}"
+
+PACKAGECONFIG_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' egl ${PACKAGECONFIG_GLESV2}', d)}"
diff --git a/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
index 7897125b4..08ec1c59a 100644
--- a/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
@@ -1 +1,6 @@
PACKAGECONFIG_append_rpi = " gbm"
+PROVIDES_append_rpi = " virtual/libgbm"
+
+do_install_append_rpi() {
+ rm -rf ${D}${includedir}/KHR/khrplatform.h
+}
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
index d6b2abb21..cea215dad 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
@@ -1,4 +1,4 @@
-From 08d56c1174e27573ae8df2a7b9e6632afd0bfe86 Mon Sep 17 00:00:00 2001
+From 829dff626d423ad34c8e710cd10d5fc9a4ea80b3 Mon Sep 17 00:00:00 2001
From: Dom Cobley <dc4@broadcom.com>
Date: Tue, 9 Jul 2013 09:26:26 -0400
Subject: [PATCH 01/18] Allow applications to set next resource handle
@@ -204,5 +204,5 @@ index 8a5734c..51b3580 100644
FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
index c41cde779..5501000e3 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
@@ -1,4 +1,4 @@
-From da60a2a34a48e2b324fceae608964814488cc8fb Mon Sep 17 00:00:00 2001
+From 469840d211beb22085e57934bda3caabb71a4695 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
Subject: [PATCH 02/18] wayland: Add support for the Wayland winsys
@@ -91,13 +91,13 @@ index cfc8ae5..673a5ad 100644
# Global include paths
diff --git a/README.md b/README.md
-index 94b93b8..50b90b1 100644
+index de5754d..2097036 100644
--- a/README.md
+++ b/README.md
@@ -6,3 +6,7 @@ Use buildme to build. It requires cmake to be installed and an arm cross compile
https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
- Note that this repository does not contain the source for the edid_parser and vcdbg binaries due to licensing restrictions.
+ Note that this repository does not contain the source for the edidparser and vcdbg binaries due to licensing restrictions.
+
+To build support for the Wayland winsys in EGL, execute the buildme script like this:
+
@@ -133,10 +133,10 @@ index b8fd440..a780bb6 100755
if [ "$1" != "" ]; then
diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt
-index 42636e8..d47ad55 100644
+index f7db21e..73997b7 100644
--- a/host_applications/linux/apps/raspicam/CMakeLists.txt
+++ b/host_applications/linux/apps/raspicam/CMakeLists.txt
-@@ -33,7 +33,7 @@ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c)
+@@ -54,7 +54,7 @@ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c)
set (MMAL_LIBS mmal_core mmal_util mmal_vc_client)
@@ -1894,5 +1894,5 @@ index 0000000..ad90d30
+ set(${_sources} ${${_sources}} PARENT_SCOPE)
+endfunction()
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
index d83a9e502..74b97b821 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
@@ -1,4 +1,4 @@
-From 976cc9355fe18487cd84e313e76f397ab47a4bf8 Mon Sep 17 00:00:00 2001
+From 2391bba64116135369147e930fb14b5824a9cef0 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
Subject: [PATCH 03/18] wayland: Add Wayland example
@@ -862,5 +862,5 @@ index 8225dd5..0be6ce7 100755
-
+make -C hello_wayland
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
index a42aa144f..9621afa7f 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
@@ -1,4 +1,4 @@
-From c379bd2dc575256084d9e36fc11a347e20660130 Mon Sep 17 00:00:00 2001
+From 3d1d046281b90d6777864b0d9a032657fad78d76 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 10 Aug 2015 02:38:27 -0700
Subject: [PATCH 04/18] wayland-egl: Add bcm_host to dependencies
@@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644
Libs: -L${libdir} -lwayland-egl
Cflags: -I${includedir}
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
index bbaaddad9..004e2eb11 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
@@ -1,4 +1,4 @@
-From bd940c32878d401f311215270579ff513c2f3999 Mon Sep 17 00:00:00 2001
+From d17e5b9285635dcbe1c6e5a7398f6e5b1560a0c0 Mon Sep 17 00:00:00 2001
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Date: Sat, 24 Jan 2015 22:07:19 +0100
Subject: [PATCH 05/18] interface: remove faulty assert() to make weston happy
@@ -25,5 +25,5 @@ index eab146e..29e0dee 100755
}
} else {
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
index 1a5e14f0e..955dfa1a6 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
@@ -1,4 +1,4 @@
-From 466f28ce302f68ac39be750f4b55285791f43ab1 Mon Sep 17 00:00:00 2001
+From 7d4559c2418f4997dfdddefa9281250d0d8082db Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:10:47 -0800
Subject: [PATCH 06/18] zero-out wl buffers in egl_surface_free
@@ -29,5 +29,5 @@ index 42350bf..1f923d9 100644
#endif
}
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
index 72264e4fd..514782f17 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
@@ -1,4 +1,4 @@
-From b4a2967513f7d0f5f3caee8cf6cbc7a7a085ebac Mon Sep 17 00:00:00 2001
+From 19e63107670bb15833744402d68c8fcae9e53a12 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:11:41 -0800
Subject: [PATCH 07/18] initialize front back wayland buffers
@@ -30,5 +30,5 @@ index 1f923d9..9a9582c 100644
}
#endif
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
index a100e3953..bd6c2ff0f 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
@@ -1,4 +1,4 @@
-From 14c22987dfa9fec02794856cd15b2d64b4b81c32 Mon Sep 17 00:00:00 2001
+From 4312ce4f9320b25f513c4d8fa163f9d8faebfd97 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:09:18 -0800
Subject: [PATCH 08/18] Remove RPC_FLUSH
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
}
#endif
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
index 4609455a3..e138ae250 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
@@ -1,4 +1,4 @@
-From e510be221276d06e630ab93452ecb712d3921790 Mon Sep 17 00:00:00 2001
+From cb454ad44fcb35fc28b823f05f3538c1f997e89e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 13:12:47 -0800
Subject: [PATCH 09/18] fix cmake dependency race
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
struct wl_resource *resource;
struct wl_dispmanx *dispmanx;
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
index dd0b95ed4..70d90455f 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
@@ -1,4 +1,4 @@
-From 8e6cde08077eadfe563dc17c19995ebc48e30b97 Mon Sep 17 00:00:00 2001
+From 2f0b25266d0b4b04ef78b8950f5bd9749857b4f0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 29 Mar 2016 20:38:30 -0700
Subject: [PATCH 10/18] Fix for framerate with nested composition
@@ -56,5 +56,5 @@ index 03fe67b..13a110c 100644
#ifdef ANDROID
CLIENT_UNLOCK();
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
index 4bd532080..da37102ca 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
@@ -1,4 +1,4 @@
-From 9a97d60262999093d6ce8cb688279506c210d802 Mon Sep 17 00:00:00 2001
+From 5bc4118e7861f35ead6565530cb4213987296fb9 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:37:24 -0700
Subject: [PATCH 11/18] build shared library for vchostif
@@ -24,5 +24,5 @@ index c415176..d0cca1a 100755
#add_library(bufman vc_vchi_bufman.c )
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
index 9684b4cff..40666fde9 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
@@ -1,4 +1,4 @@
-From fedd7668152049c15ed58c7058e5f4a9c1fac7cb Mon Sep 17 00:00:00 2001
+From 27194bc05a7a488827590208285a8757164edcef Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:54:59 -0700
Subject: [PATCH 12/18] implement buffer wrapping interface for dispmanx
@@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644
</protocol>
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
index 3052168c5..519785699 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
@@ -1,4 +1,4 @@
-From 65f8bca55aead676cd06fc3210aeffef1f2158c6 Mon Sep 17 00:00:00 2001
+From e99b2eafba5260b8087fc1a85830b08ea3228292 Mon Sep 17 00:00:00 2001
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Date: Thu, 19 Jan 2017 18:56:07 +0000
Subject: [PATCH 13/18] Implement triple buffering for wayland
@@ -86,5 +86,5 @@ index e328b77..58a3184 100644
back_wl_buffer
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
index 037d70833..7f7e73227 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
@@ -1,4 +1,4 @@
-From dc1d07d835e1fe70c957a655d6fbb8cde65775af Mon Sep 17 00:00:00 2001
+From a9726c7fdcd386bd104b13c494d261f693dde792 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 10 May 2017 06:39:34 +0000
Subject: [PATCH 14/18] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
@@ -31,5 +31,5 @@ index 4eacf7f..b1acc9f 100644
#ifndef GL_EXT_texture_type_2_10_10_10_REV
#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
index 02cecb83e..cfcc12088 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
@@ -1,4 +1,4 @@
-From b5fa294c0d8fcb6dd5bfbfb96a0885dd9f3ae609 Mon Sep 17 00:00:00 2001
+From 3ba79e86cdec88440885fefc7aadf793b301b000 Mon Sep 17 00:00:00 2001
From: Andrea Galbusera <gizero@gmail.com>
Date: Fri, 14 Jul 2017 09:52:54 +0200
Subject: [PATCH 15/18] EGL/glplatform.h: define EGL_CAST
@@ -28,5 +28,5 @@ index 1f7c930..c39d425 100644
+
#endif /* __eglplatform_h */
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
index 34ad90cd8..2d1b8828c 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
@@ -1,4 +1,4 @@
-From bff03f92c0d8bae113e0c7234c719f8385808b38 Mon Sep 17 00:00:00 2001
+From 5c53b2ff4d14b988ae9ab453fb2ef97b6a277ded Mon Sep 17 00:00:00 2001
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Date: Sat, 27 Jan 2018 12:28:31 -0500
Subject: [PATCH 16/18] Allow multiple wayland compositor state data per
@@ -141,5 +141,5 @@ index 9ef89cd..abd5ab3 100644
CLIENT_UNLOCK();
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
index 546cd588a..9c223abea 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
@@ -1,4 +1,4 @@
-From 8efd81e96bdd3be68063a6fd32be4755225e93b2 Mon Sep 17 00:00:00 2001
+From 0d3c6b7ca5d352cc00d9501b9d5576c4ece70a83 Mon Sep 17 00:00:00 2001
From: Hugo Hromic <hhromic@gmail.com>
Date: Sun, 13 May 2018 10:49:04 +0100
Subject: [PATCH 17/18] khronos: backport typedef for
@@ -34,5 +34,5 @@ index d7e5ba7..dcc90ce 100755
#ifndef EGL_WL_bind_wayland_display
#define EGL_WL_bind_wayland_display 1
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
index f4d865e6e..03499d40d 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
@@ -1,4 +1,4 @@
-From 9cfea4761ba68776fd9bfac671b74c7174f99029 Mon Sep 17 00:00:00 2001
+From 0f98ccac128265b85af3c5e310413fc9fce9f78c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 15 Jul 2018 00:48:38 -0700
Subject: [PATCH 18/18] Add EGL_IMG_context_priority related defines
@@ -31,5 +31,5 @@ index dcc90ce..6842bf9 100755
#define EGL_KHR_vg_parent_image 1
#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */
--
-2.19.1
+2.20.1
diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index f5c803e48..4311588e4 100644
--- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
@@ -12,11 +12,11 @@ COMPATIBLE_MACHINE = "^rpi$"
SRCBRANCH = "master"
SRCFORK = "raspberrypi"
-SRCREV = "d574b51a60a075baefe863670466ee24e6c4256e"
+SRCREV = "e5803f2c986cbf8c919c60278b3231dcdf4271a6"
# Use the date of the above commit as the package version. Update this when
# SRCREV is changed.
-PV = "20181120"
+PV = "20190114"
SRC_URI = "\
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
@@ -64,6 +64,8 @@ do_install_append () {
sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f}
sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f}
done
+ install -D -m 0755 ${D}${prefix}${sysconfdir}/init.d/vcfiled ${D}${sysconfdir}/init.d/vcfiled
+ rm -rf ${D}${prefix}${sysconfdir}
if [ "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" = "1" ]; then
rm -rf ${D}${libdir}/libEGL*
rm -rf ${D}${libdir}/libGLES*
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
index 4a7db1a4e..bb4a64ef8 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
@@ -7,16 +7,17 @@ python __anonymous() {
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
-LINUX_VERSION ?= "4.16"
-LINUX_RPI_DEV_BRANCH ?= "rpi-4.16.y"
+LINUX_VERSION ?= "4.19"
+LINUX_RPI_BRANCH ?= "rpi-4.19.y"
SRCREV = "${AUTOREV}"
SRC_URI = " \
- git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_DEV_BRANCH} \
- file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
+ git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \
"
require linux-raspberrypi.inc
# Disable version check so that we don't have to edit this recipe every time
# upstream bumps the version
KERNEL_VERSION_SANITY_SKIP = "1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
new file mode 100644
index 000000000..d96abd51b
--- /dev/null
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
+
+LINUX_VERSION ?= "4.19.30"
+LINUX_RPI_BRANCH ?= "rpi-4.19.y"
+
+SRCREV = "3c468fc8191d276e3e9efd976a0ff71271f3fc51"
+SRC_URI = " \
+ git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \
+ "
+require linux-raspberrypi.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
diff --git a/meta-security/README b/meta-security/README
index e238271a6..5abb0e262 100644
--- a/meta-security/README
+++ b/meta-security/README
@@ -57,8 +57,14 @@ Send pull requests, patches, comments or questions to yocto@yoctoproject.org
When sending single patches, please using something like:
'git send-email -1 --to yocto@yoctoproject.org --subject-prefix=meta-security][PATCH'
+These values can be set as defaults for this repository:
+
+$ git config sendemail.to yocto@yoctoproject.org
+$ git config format.subjectPrefix meta-security][PATCH
+
+Now you can just do 'git send-email origin/master' to send all local patches.
+
Maintainers: Armin Kuster <akuster808@gmail.com>
- Saul Wold <sgw@linux.intel.com>
License
diff --git a/meta-security/conf/distro/include/maintainers.inc b/meta-security/conf/distro/include/maintainers.inc
new file mode 100644
index 000000000..94b45f288
--- /dev/null
+++ b/meta-security/conf/distro/include/maintainers.inc
@@ -0,0 +1,59 @@
+# meta-securiyt Maintainers File
+#
+# This file contains a list of recipe maintainers.
+#
+# Please submit any patches against recipes in meta to the
+# Yocto mail list (yocto@yoctoproject.org)
+#
+# If you have problems with or questions about a particular recipe, feel
+# free to contact the maintainer directly (cc:ing the appropriate mailing list
+# puts it in the archive and helps other people who might have the same
+# questions in the future), but please try to do the following first:
+#
+# - look in the Yocto Project Bugzilla
+# (http://bugzilla.yoctoproject.org/) to see if a problem has
+# already been reported
+#
+# The format is as a bitbake variable override for each recipe
+#
+# RECIPE_MAINTAINER_pn-<recipe name> = "Full Name <address@domain>"
+#
+# Please keep this list in alphabetical order.
+RECIPE_MAINTAINER_pn-aircrack-ng = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-apparmor = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-bastille = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-buck-security = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-ccs-tools = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-checksec = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-checksecurity = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-clamav = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-ding-libs = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-ecryptfs-utils = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-fscryptctl = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-google-authenticator-libpam = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-hash-perl = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-isic = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-keyutils = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libaes-siv = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libenv-perl = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libgssglue = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libhtp = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libmhash = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libmspack = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-lib-perl = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libseccomp = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libwhisker2-perl = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-ncrack = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-nikto = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-paxctl = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-python3-fail2ban = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-python3-scapy = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-python-fail2ban = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-python-scapy = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-redhat-security = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-samhain = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-smack = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-sssd = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-suricata = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tripwire = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-xmlsec1 = "Armin Kuster <akuster808@gmail.com>"
diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf
index 19e647e7f..716f8acc7 100644
--- a/meta-security/conf/layer.conf
+++ b/meta-security/conf/layer.conf
@@ -13,4 +13,4 @@ LAYERSERIES_COMPAT_security = "thud"
LAYERDEPENDS_security = "core openembedded-layer perl-layer networking-layer meta-python"
-DEFAULT_TEST_SUITES_pn-security-build-image = " ${PTESTTESTSUITE}"
+DEFAULT_TEST_SUITES_pn-security-build-image = " ping ssh ptest"
diff --git a/meta-security/lib/oeqa/runtime/cases/apparmor.py b/meta-security/lib/oeqa/runtime/cases/apparmor.py
new file mode 100644
index 000000000..e2cb316d1
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/apparmor.py
@@ -0,0 +1,27 @@
+# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class ApparmorTest(OERuntimeTestCase):
+
+ @OEHasPackage(['apparmor'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_apparmor_help(self):
+ status, output = self.target.run('aa-status --help')
+ msg = ('apparmor command does not work as expected. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
+
+ @OETestDepends(['apparmor.ApparmorTest.test_apparmor_help'])
+ def test_apparmor_aa_status(self):
+ status, output = self.target.run('aa-status')
+ match = re.search('apparmor module is loaded.', output)
+ if not match:
+ msg = ('aa-status failed. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
diff --git a/meta-security/lib/oeqa/runtime/cases/clamav.py b/meta-security/lib/oeqa/runtime/cases/clamav.py
new file mode 100644
index 000000000..fc77330dd
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/clamav.py
@@ -0,0 +1,38 @@
+# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class ClamavTest(OERuntimeTestCase):
+
+ @OEHasPackage(['clamav'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_freshclam_help(self):
+ status, output = self.target.run('freshclam --help ')
+ msg = ('freshclam --hlep command does not work as expected. ',
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
+
+ @OETestDepends(['clamav.ClamavTest.test_freshclam_help'])
+ def test_freshclam_download(self):
+ status, output = self.target.run('freshclam --show-progress')
+ match = re.search('Database updated', output)
+ #match = re.search('main.cvd is up to date', output)
+ if not match:
+ msg = ('freshclam : DB dowbload failed. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 1, msg = msg)
+
+ @OETestDepends(['clamav.ClamavTest.test_freshclam_download'])
+ def test_freshclam_check_mirrors(self):
+ status, output = self.target.run('freshclam --list-mirrors')
+ match = re.search('Failures: 0', output)
+ if not match:
+ msg = ('freshclam --list-mirrors: failed. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 1, msg = msg)
+
diff --git a/meta-security/lib/oeqa/runtime/cases/samhain.py b/meta-security/lib/oeqa/runtime/cases/samhain.py
new file mode 100644
index 000000000..e4bae7bda
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/samhain.py
@@ -0,0 +1,20 @@
+# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class SamhainTest(OERuntimeTestCase):
+
+ @OEHasPackage(['samhain-standalone'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_samhain_standalone_help(self):
+ status, output = self.target.run('samhain --help')
+ match = re.search('Please report bugs to support@la-samhna.de.', output)
+ if not match:
+ msg = ('samhain-standalone command does not work as expected. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 1, msg = msg)
diff --git a/meta-security/lib/oeqa/runtime/cases/sssd.py b/meta-security/lib/oeqa/runtime/cases/sssd.py
new file mode 100644
index 000000000..464483625
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/sssd.py
@@ -0,0 +1,37 @@
+# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class SSSDTest(OERuntimeTestCase):
+
+ @OEHasPackage(['sssd'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_sssd_help(self):
+ status, output = self.target.run('sssctl --help')
+ msg = ('sssctl command does not work as expected. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 1, msg = msg)
+
+ @OETestDepends(['sssd.SSSDTest.test_sssd_help'])
+ def test_sssd_sssctl_conf_perms_chk(self):
+ status, output = self.target.run('sssctl domain-status')
+ match = re.search('ConfDB initialization has failed', output)
+ if match:
+ msg = ('sssctl domain-status failed, check sssd.conf perms. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
+
+ @OETestDepends(['sssd.SSSDTest.test_sssd_sssctl_conf_perms_chk'])
+ def test_sssd_sssctl_deamon(self):
+ status, output = self.target.run('sssctl domain-status')
+ match = re.search('No domains configured, fatal error!', output)
+ if match:
+ msg = ('sssctl domain-status failed, sssd.conf not setup correctly. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
+
diff --git a/meta-security/lib/oeqa/runtime/cases/suricata.py b/meta-security/lib/oeqa/runtime/cases/suricata.py
new file mode 100644
index 000000000..17fc8c508
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/suricata.py
@@ -0,0 +1,27 @@
+# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class SuricataTest(OERuntimeTestCase):
+
+ @OEHasPackage(['suricata'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_suricata_help(self):
+ status, output = self.target.run('suricata --help')
+ msg = ('suricata command does not work as expected. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 1, msg = msg)
+
+ @OETestDepends(['suricata.SuricataTest.test_suricata_help'])
+ def test_suricata_unittest(self):
+ status, output = self.target.run('suricata -u')
+ match = re.search('FAILED: 0 ', output)
+ if not match:
+ msg = ('suricata unittest had an unexpected failure. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
diff --git a/meta-security/lib/oeqa/runtime/cases/tripwire.py b/meta-security/lib/oeqa/runtime/cases/tripwire.py
new file mode 100644
index 000000000..659724d0a
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/tripwire.py
@@ -0,0 +1,47 @@
+# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class TripwireTest(OERuntimeTestCase):
+
+ @OEHasPackage(['tripwire'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_tripwire_help(self):
+ status, output = self.target.run('tripwire --help')
+ msg = ('tripwire command does not work as expected. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 8, msg = msg)
+
+ @OETestDepends(['tripwire.TripwireTest.test_tripwire_help'])
+ def test_tripwire_twinstall(self):
+ status, output = self.target.run('/etc/tripwire/twinstall.sh')
+ match = re.search('The database was successfully generated.', output)
+ if not match:
+ msg = ('/etc/tripwire/twinstall.sh failed. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
+
+ @OETestDepends(['tripwire.TripwireTest.test_tripwire_twinstall'])
+ def test_tripwire_twadmin(self):
+ status, output = self.target.run('twadmin --create-cfgfile --cfgfile /etc/tripwire/twcfg.enc --site-keyfile /etc/tripwire/site.key -Q tripwire /etc/tripwire/twcfg.txt')
+ status, output = self.target.run('twadmin --create-polfile --cfgfile /etc/tripwire/twcfg.enc --polfile /etc/tripwire/twpol.enc --site-keyfile /etc/tripwire/site.key -Q tripwire /etc/tripwire/twpol.txt')
+ match = re.search('Wrote policy file: /etc/tripwire/twpol.enc', output)
+ if not match:
+ msg = ('twadmin --create-profile ; failed. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
+
+ @OETestDepends(['tripwire.TripwireTest.test_tripwire_twadmin'])
+ def test_tripwire_init(self):
+ status, hostname = self.target.run('hostname')
+ status, output = self.target.run('tripwire --init --cfgfile /etc/tripwire/twcfg.enc --polfile /etc/tripwire/tw.pol --site-keyfile /etc/tripwire/site.key --local-keyfile /etc/tripwire/%s-local.key -P tripwire' % hostname)
+ match = re.search('The database was successfully generated.', output)
+ if not match:
+ msg = ('tripwire --init; Failed for host: %s. '
+ 'Status and output:%s and %s' % (hostname, status, output))
+ self.assertEqual(status, 0, msg = msg)
diff --git a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.6.8.bb b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.6.8.bb
deleted file mode 100644
index 28a44691c..000000000
--- a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.6.8.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Lynis is a free and open source security and auditing tool."
-HOMEDIR = "https://cisofy.com/"
-LICENSE = "GPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3edd6782854304fd11da4975ab9799c1"
-
-SRC_URI = "https://cisofy.com/files/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "91a538055bfb682733ef8e4fe7eb0902"
-SRC_URI[sha256sum] = "2e4c5157a4f2d9bb37d3f0f1f5bea03f92233a2a7d4df6eddf231a784087dfac"
-
-S = "${WORKDIR}/${BPN}"
-
-inherit autotools-brokensep
-
-do_compile[noexec] = "1"
-do_configure[noexec] = "1"
-
-do_install () {
- install -d ${D}/${bindir}
- install -d ${D}/${sysconfdir}/lynis
- install -m 555 ${S}/lynis ${D}/${bindir}
-
- install -d ${D}/${datadir}/lynis/db
- install -d ${D}/${datadir}/lynis/plugins
- install -d ${D}/${datadir}/lynis/include
- install -d ${D}/${datadir}/lynis/extras
-
- cp -r ${S}/db/* ${D}/${datadir}/lynis/db/.
- cp -r ${S}/plugins/* ${D}/${datadir}/lynis/plugins/.
- cp -r ${S}/include/* ${D}/${datadir}/lynis/include/.
- cp -r ${S}/extras/* ${D}/${datadir}/lynis/extras/.
- cp ${S}/*.prf ${D}/${sysconfdir}/lynis
-}
-
-FILES_${PN} += "${sysconfdir}/developer.prf ${sysconfdir}/default.prf"
-FILES_${PN}-doc += "lynis.8 FAQ README CHANGELOG.md CONTRIBUTIONS.md CONTRIBUTORS.md"
-
-RDEPENDS_${PN} += "procps"
diff --git a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.2.bb b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.2.bb
new file mode 100644
index 000000000..3ba82f9e4
--- /dev/null
+++ b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.2.bb
@@ -0,0 +1,41 @@
+# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Lynis is a free and open source security and auditing tool."
+HOMEDIR = "https://cisofy.com/"
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3edd6782854304fd11da4975ab9799c1"
+
+SRC_URI = "https://cisofy.com/files/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "3422cee3b12fc33338fcde003d65e234"
+SRC_URI[sha256sum] = "fde6ccf8d6ec0ae1e9c9f4a6d640cddcde4bf7a92f8437d47d16a5477e21bfda"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit autotools-brokensep
+
+do_compile[noexec] = "1"
+do_configure[noexec] = "1"
+
+do_install () {
+ install -d ${D}/${bindir}
+ install -d ${D}/${sysconfdir}/lynis
+ install -m 555 ${S}/lynis ${D}/${bindir}
+
+ install -d ${D}/${datadir}/lynis/db
+ install -d ${D}/${datadir}/lynis/plugins
+ install -d ${D}/${datadir}/lynis/include
+ install -d ${D}/${datadir}/lynis/extras
+
+ cp -r ${S}/db/* ${D}/${datadir}/lynis/db/.
+ cp -r ${S}/plugins/* ${D}/${datadir}/lynis/plugins/.
+ cp -r ${S}/include/* ${D}/${datadir}/lynis/include/.
+ cp -r ${S}/extras/* ${D}/${datadir}/lynis/extras/.
+ cp ${S}/*.prf ${D}/${sysconfdir}/lynis
+}
+
+FILES_${PN} += "${sysconfdir}/developer.prf ${sysconfdir}/default.prf"
+FILES_${PN}-doc += "lynis.8 FAQ README CHANGELOG.md CONTRIBUTIONS.md CONTRIBUTORS.md"
+
+RDEPENDS_${PN} += "procps"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb b/meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb
index 5b6137569..e84ed30f8 100644
--- a/meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb
+++ b/meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb
@@ -8,12 +8,11 @@ LICENSE = "MIT"
SRCREV = "7147871d7f37d408c0dd7720ef0fd3ec1b54ad98"
SRC_URI = "git://github.com/akuster/oe-scap.git"
SRC_URI += " \
- file://run_cve.sh \
- file://run_test.sh \
- file://OpenEmbedded_nodistro_0.xml \
- file://OpenEmbedded_nodistro_0.xccdf.xml \
-"
-
+ file://run_cve.sh \
+ file://run_test.sh \
+ file://OpenEmbedded_nodistro_0.xml \
+ file://OpenEmbedded_nodistro_0.xccdf.xml \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/files/0001-Renamed-module-and-variables-to-get-rid-of-async.patch b/meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/files/0001-Renamed-module-and-variables-to-get-rid-of-async.patch
new file mode 100644
index 000000000..2a518bfe9
--- /dev/null
+++ b/meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/files/0001-Renamed-module-and-variables-to-get-rid-of-async.patch
@@ -0,0 +1,130 @@
+From c34349720a57997d30946286756e2ba9dbab6ace Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mat=C4=9Bj=20T=C3=BD=C4=8D?= <matyc@redhat.com>
+Date: Mon, 2 Jul 2018 11:21:19 +0200
+Subject: [PATCH] Renamed module and variables to get rid of async.
+
+async is a reserved word in Python 3.7.
+
+Upstream-Status: Backport
+[https://github.com/OpenSCAP/openscap-daemon/commit/c34349720a57997d30946286756e2ba9dbab6ace]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ openscap_daemon/{async.py => async_tools.py} | 0
+ openscap_daemon/dbus_daemon.py | 2 +-
+ openscap_daemon/system.py | 16 ++++++++--------
+ tests/unit/test_basic_update.py | 3 ++-
+ 4 files changed, 11 insertions(+), 10 deletions(-)
+ rename openscap_daemon/{async.py => async_tools.py} (100%)
+
+diff --git a/openscap_daemon/async.py b/openscap_daemon/async_tools.py
+similarity index 100%
+rename from openscap_daemon/async.py
+rename to openscap_daemon/async_tools.py
+diff --git a/openscap_daemon/dbus_daemon.py b/openscap_daemon/dbus_daemon.py
+index e6eadf9..cb6a8b6 100644
+--- a/openscap_daemon/dbus_daemon.py
++++ b/openscap_daemon/dbus_daemon.py
+@@ -81,7 +81,7 @@ class OpenSCAPDaemonDbus(dbus.service.Object):
+ @dbus.service.method(dbus_interface=dbus_utils.DBUS_INTERFACE,
+ in_signature="", out_signature="a(xsi)")
+ def GetAsyncActionsStatus(self):
+- return self.system.async.get_status()
++ return self.system.async_manager.get_status()
+
+ @dbus.service.method(dbus_interface=dbus_utils.DBUS_INTERFACE,
+ in_signature="s", out_signature="(sssn)")
+diff --git a/openscap_daemon/system.py b/openscap_daemon/system.py
+index 2012f6e..85c2680 100644
+--- a/openscap_daemon/system.py
++++ b/openscap_daemon/system.py
+@@ -26,7 +26,7 @@ import logging
+ from openscap_daemon.task import Task
+ from openscap_daemon.config import Configuration
+ from openscap_daemon import oscap_helpers
+-from openscap_daemon import async
++from openscap_daemon import async_tools
+
+
+ class ResultsNotAvailable(Exception):
+@@ -40,7 +40,7 @@ TASK_ACTION_PRIORITY = 10
+
+ class System(object):
+ def __init__(self, config_file):
+- self.async = async.AsyncManager()
++ self.async_manager = async_tools.AsyncManager()
+
+ logging.info("Loading configuration from '%s'.", config_file)
+ self.config = Configuration()
+@@ -90,7 +90,7 @@ class System(object):
+ input_file, tailoring_file, None
+ )
+
+- class AsyncEvaluateSpecAction(async.AsyncAction):
++ class AsyncEvaluateSpecAction(async_tools.AsyncAction):
+ def __init__(self, system, spec):
+ super(System.AsyncEvaluateSpecAction, self).__init__()
+
+@@ -113,7 +113,7 @@ class System(object):
+ return "Evaluate Spec '%s'" % (self.spec)
+
+ def evaluate_spec_async(self, spec):
+- return self.async.enqueue(
++ return self.async_manager.enqueue(
+ System.AsyncEvaluateSpecAction(
+ self,
+ spec
+@@ -488,7 +488,7 @@ class System(object):
+
+ return ret
+
+- class AsyncUpdateTaskAction(async.AsyncAction):
++ class AsyncUpdateTaskAction(async_tools.AsyncAction):
+ def __init__(self, system, task_id, reference_datetime):
+ super(System.AsyncUpdateTaskAction, self).__init__()
+
+@@ -536,7 +536,7 @@ class System(object):
+
+ if task.should_be_updated(reference_datetime):
+ self.tasks_scheduled.add(task.id_)
+- self.async.enqueue(
++ self.async_manager.enqueue(
+ System.AsyncUpdateTaskAction(
+ self,
+ task.id_,
+@@ -662,7 +662,7 @@ class System(object):
+ fix_type
+ )
+
+- class AsyncEvaluateCVEScannerWorkerAction(async.AsyncAction):
++ class AsyncEvaluateCVEScannerWorkerAction(async_tools.AsyncAction):
+ def __init__(self, system, worker):
+ super(System.AsyncEvaluateCVEScannerWorkerAction, self).__init__()
+
+@@ -680,7 +680,7 @@ class System(object):
+ return "Evaluate CVE Scanner Worker '%s'" % (self.worker)
+
+ def evaluate_cve_scanner_worker_async(self, worker):
+- return self.async.enqueue(
++ return self.async_manager.enqueue(
+ System.AsyncEvaluateCVEScannerWorkerAction(
+ self,
+ worker
+diff --git a/tests/unit/test_basic_update.py b/tests/unit/test_basic_update.py
+index 6f683e6..7f953f7 100755
+--- a/tests/unit/test_basic_update.py
++++ b/tests/unit/test_basic_update.py
+@@ -37,8 +37,9 @@ class BasicUpdateTest(unit_test_harness.APITest):
+ print(self.system.tasks)
+ self.system.schedule_tasks()
+
+- while len(self.system.async.actions) > 0:
++ while len(self.system.async_manager.actions) > 0:
+ time.sleep(1)
+
++
+ if __name__ == "__main__":
+ BasicUpdateTest.run()
+--
+2.7.4
+
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/openscap-daemon_0.1.10.bb b/meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/openscap-daemon_0.1.10.bb
index a6a9373ea..ca6e03079 100644
--- a/meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/openscap-daemon_0.1.10.bb
+++ b/meta-security/meta-security-compliance/recipes-openscap/openscap-daemon/openscap-daemon_0.1.10.bb
@@ -9,7 +9,9 @@ LICENSE = "LGPL-2.1"
DEPENDS = "python3-dbus"
SRCREV = "f25b16afb6ac761fea13132ff406fba4cdfd2b76"
-SRC_URI = "git://github.com/OpenSCAP/openscap-daemon.git"
+SRC_URI = "git://github.com/OpenSCAP/openscap-daemon.git \
+ file://0001-Renamed-module-and-variables-to-get-rid-of-async.patch \
+ "
inherit setuptools3
diff --git a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb
index 7fa417de4..27d3d869a 100644
--- a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb
+++ b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb
@@ -19,6 +19,8 @@ S = "${WORKDIR}/git"
STAGING_OSCAP_BUILDDIR = "${TMPDIR}/work-shared/openscap/oscap-build-artifacts"
+OECMAKE_GENERATOR = "Unix Makefiles"
+
EXTRA_OECMAKE += "-DSSG_PRODUCT_CHROMIUM:BOOL=OFF"
EXTRA_OECMAKE += "-DSSG_PRODUCT_DEBIAN8:BOOL=OFF"
EXTRA_OECMAKE += "-DSSG_PRODUCT_FEDORA:BOOL=OFF"
diff --git a/meta-security/meta-tpm/conf/distro/include/maintainers.inc b/meta-security/meta-tpm/conf/distro/include/maintainers.inc
new file mode 100644
index 000000000..74c1a1812
--- /dev/null
+++ b/meta-security/meta-tpm/conf/distro/include/maintainers.inc
@@ -0,0 +1,39 @@
+# meta-tpm Maintainers File
+#
+# This file contains a list of recipe maintainers.
+#
+# Please submit any patches against recipes in meta to the
+# Yocto mail list (yocto@yoctoproject.org)
+#
+# If you have problems with or questions about a particular recipe, feel
+# free to contact the maintainer directly (cc:ing the appropriate mailing list
+# puts it in the archive and helps other people who might have the same
+# questions in the future), but please try to do the following first:
+#
+# - look in the Yocto Project Bugzilla
+# (http://bugzilla.yoctoproject.org/) to see if a problem has
+# already been reported
+#
+# The format is as a bitbake variable override for each recipe
+#
+# RECIPE_MAINTAINER_pn-<recipe name> = "Full Name <address@domain>"
+#
+# Please keep this list in alphabetical order.
+RECIPE_MAINTAINER_pn-aircrack-ng = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-pcr-extend = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm-quote-tools = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libtpm = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-trousers = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-swtpm = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-openssl-tpm-engine = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm-tools = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm2-abrmd = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm2-totp = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm2-tcti-uefi = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm2-tss-engine = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm2-pkcs11 = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm2-tss = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-cryptsetup-tpm-incubator = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-tpm2-tools = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-ibmswtpm2 = "Armin Kuster <akuster808@gmail.com>"
+
diff --git a/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py b/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
new file mode 100644
index 000000000..240a9b3ba
--- /dev/null
+++ b/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
@@ -0,0 +1,43 @@
+# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+#
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class Tpm2Test(OERuntimeTestCase):
+ def check_endlines(self, results, expected_endlines):
+ for line in results.splitlines():
+ for el in expected_endlines:
+ if line == el:
+ expected_endlines.remove(el)
+ break
+
+ if expected_endlines:
+ self.fail('Missing expected line endings:\n %s' % '\n '.join(expected_endlines))
+
+ @OEHasPackage(['tpm2.0-tss'])
+ @OEHasPackage(['tpm2-abrmd'])
+ @OEHasPackage(['tpm2.0-tools'])
+ @OEHasPackage(['ibmswtpm2'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_tpm2_sim(self):
+ cmds = [
+ 'tpm_server &',
+ 'tpm2-abrmd --allow-root --tcti=mssim &'
+ ]
+
+ for cmd in cmds:
+ status, output = self.target.run(cmd)
+ self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
+
+ @OETestDepends(['tpm2.Tpm2Test.test_tpm2_sim'])
+ def test_tpm2(self):
+ (status, output) = self.target.run('tpm2_pcrlist')
+ expected_endlines = []
+ expected_endlines.append('sha1 :')
+ expected_endlines.append(' 0 : 0000000000000000000000000000000000000003')
+ expected_endlines.append(' 1 : 0000000000000000000000000000000000000000')
+
+ self.check_endlines(output, expected_endlines)
+
diff --git a/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb b/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
index c4c8fb22b..5ded3a2cc 100644
--- a/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
+++ b/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
@@ -9,10 +9,15 @@ PACKAGES = "packagegroup-security-tpm2"
SUMMARY_packagegroup-security-tpm2 = "Security TPM 2.0 support"
RDEPENDS_packagegroup-security-tpm2 = " \
- tpm2.0-tools \
+ tpm2-tools \
trousers \
libtss2 \
libtss2-tcti-device \
libtss2-tcti-mssim \
tpm2-abrmd \
+ tpm2-pkcs11 \
+ cryptsetup-tpm-incubator \
"
+
+RDEPENDS_packagegroup-security-tpm2_append_x86 = " tpm2-tcti-uefi"
+RDEPENDS_packagegroup-security-tpm2_append_x86-64 = " tpm2-tcti-uefi"
diff --git a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.6.0.bb b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.6.0.bb
new file mode 100644
index 000000000..a88296046
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.6.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "LIBPM - Software TPM Library"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9"
+
+SRCREV = "9dc915572b51db0714640ba1ddf8cca9c0f24f05"
+SRC_URI = "git://github.com/stefanberger/libtpms.git;branch=stable-${PV}"
+
+PE = "1"
+
+S = "${WORKDIR}/git"
+inherit autotools-brokensep pkgconfig
+
+PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_1.0.bb b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_1.0.bb
deleted file mode 100644
index a930d7bc3..000000000
--- a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_1.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "LIBPM - Software TPM Library"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9"
-
-SRCREV = "4111bd1bcf721e6e7b5f11ed9c2b93083677aa25"
-SRC_URI = "git://github.com/stefanberger/libtpms.git"
-
-S = "${WORKDIR}/git"
-inherit autotools-brokensep pkgconfig
-
-PACKAGECONFIG ?= "openssl"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-
-PV = "1.0+git${SRCPV}"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.1.0.bb b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.1.0.bb
new file mode 100644
index 000000000..42de8b18e
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.1.0.bb
@@ -0,0 +1,51 @@
+SUMMARY = "SWTPM - Software TPM Emulator"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fe8092c832b71ef20dfe4c6d3decb3a8"
+SECTION = "apps"
+
+DEPENDS = "libtasn1 expect socat glib-2.0 net-tools-native libtpm libtpm-native"
+
+# configure checks for the tools already during compilation and
+# then swtpm_setup needs them at runtime
+DEPENDS += "tpm-tools-native expect-native socat-native"
+
+SRCREV = "d803d84575ab3e5dac316bf863c7f569a27ea35f"
+SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=stable-${PV} \
+ file://fix_fcntl_h.patch \
+ file://ioctl_h.patch \
+ "
+PE = "1"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+PARALLEL_MAKE = ""
+
+TSS_USER="tss"
+TSS_GROUP="tss"
+
+PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', 'cuse', '', d)}"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
+PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
+PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
+PACKAGECONFIG[cuse] = "--with-cuse, --without-cuse, fuse"
+
+EXTRA_OECONF += "--with-tss-user=${TSS_USER} --with-tss-group=${TSS_GROUP}"
+
+export SEARCH_DIR = "${STAGING_LIBDIR_NATIVE}"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system ${TSS_USER}"
+USERADD_PARAM_${PN} = "--system -g ${TSS_GROUP} --home-dir \
+ --no-create-home --shell /bin/false ${BPN}"
+
+PACKAGE_BEFORE_PN = "${PN}-cuse"
+FILES_${PN}-cuse = "${bindir}/swtpm_cuse"
+
+INSANE_SKIP_${PN} += "dev-so"
+
+RDEPENDS_${PN} = "libtpm expect socat bash tpm-tools"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_1.0.bb b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_1.0.bb
deleted file mode 100644
index 3fe1393af..000000000
--- a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_1.0.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "SWTPM - Software TPM Emulator"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fe8092c832b71ef20dfe4c6d3decb3a8"
-SECTION = "apps"
-
-DEPENDS = "libtasn1 expect socat glib-2.0 net-tools-native libtpm libtpm-native"
-
-# configure checks for the tools already during compilation and
-# then swtpm_setup needs them at runtime
-DEPENDS += "tpm-tools-native expect-native socat-native"
-
-SRCREV = "94bb9f2d716d09bcc6cd2a2e033018f8592008e7"
-SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=tpm2-preview.v2 \
- file://fix_fcntl_h.patch \
- file://ioctl_h.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-PARALLEL_MAKE = ""
-
-TSS_USER="tss"
-TSS_GROUP="tss"
-
-PACKAGECONFIG ?= "openssl cuse"
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
-PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
-PACKAGECONFIG[cuse] = "--with-cuse, --without-cuse, fuse"
-
-EXTRA_OECONF += "--with-tss-user=${TSS_USER} --with-tss-group=${TSS_GROUP}"
-
-export SEARCH_DIR = "${STAGING_LIBDIR_NATIVE}"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system ${TSS_USER}"
-USERADD_PARAM_${PN} = "--system -g ${TSS_GROUP} --home-dir \
- --no-create-home --shell /bin/false ${BPN}"
-
-RDEPENDS_${PN} = "libtpm expect socat bash tpm-tools"
-
-BBCLASSEXTEND = "native nativesdk"
-
-python() {
- if 'cuse' in d.getVar('PACKAGECONFIG') and \
- 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
- raise bb.parse.SkipRecipe('Cuse enabled which requires meta-filesystems to be present.')
-}
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/tpm2-abrmd_2.0.2.bb b/meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/tpm2-abrmd_2.0.2.bb
deleted file mode 100644
index 63473790d..000000000
--- a/meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/tpm2-abrmd_2.0.2.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "TPM2 Access Broker & Resource Manager"
-DESCRIPTION = "This is a system daemon implementing the TPM2 access \
-broker (TAB) & Resource Manager (RM) spec from the TCG. The daemon (tpm2-abrmd) \
-is implemented using Glib and the GObject system. In this documentation and \
-in the code we use `tpm2-abrmd` and `tabrmd` interchangeably. \
-"
-SECTION = "security/tpm"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
-
-DEPENDS = "autoconf-archive dbus glib-2.0 tpm2.0-tss glib-2.0-native \
- libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim"
-
-
-SRC_URI = "\
- git://github.com/01org/tpm2-abrmd.git \
- file://tpm2-abrmd-init.sh \
- file://tpm2-abrmd.default \
-"
-SRCREV = "d0120ace58d97bc9520c0d558657eaca87ae73b1"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig systemd update-rc.d useradd
-
-SYSTEMD_PACKAGES += "${PN}"
-SYSTEMD_SERVICE_${PN} = "tpm2-abrmd.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-INITSCRIPT_NAME = "${PN}"
-INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 19 0 1 6 ."
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "tss"
-USERADD_PARAM_${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss"
-
-PACKAGECONFIG ?="${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd', '', d)}"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, --with-systemdsystemunitdir=no"
-
-do_install_append() {
- install -d "${D}${sysconfdir}/init.d"
- install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd"
-
- install -d "${D}${sysconfdir}/default"
- install -m 0644 "${WORKDIR}/tpm2-abrmd.default" "${D}${sysconfdir}/default/tpm2-abrmd"
-}
-
-FILES_${PN} += "${libdir}/systemd/system-preset \
- ${datadir}/dbus-1"
-
-RDEPENDS_${PN} += "tpm2.0-tss"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm2.0-tools/tpm2.0-tools_3.1.2.bb b/meta-security/meta-tpm/recipes-tpm/tpm2.0-tools/tpm2.0-tools_3.1.2.bb
deleted file mode 100644
index 3f40eb70e..000000000
--- a/meta-security/meta-tpm/recipes-tpm/tpm2.0-tools/tpm2.0-tools_3.1.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Tools for TPM2."
-DESCRIPTION = "tpm2.0-tools"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=91b7c548d73ea16537799e8060cea819"
-SECTION = "tpm"
-
-DEPENDS = "pkgconfig tpm2.0-tss openssl curl autoconf-archive"
-
-SRCREV = "5e2f1aafc58e60c5050f85147a14914561f28ad9"
-
-SRC_URI = "git://github.com/01org/tpm2.0-tools.git;name=tpm2.0-tools;destsuffix=tpm2.0-tools;branch=3.X"
-
-S = "${WORKDIR}/tpm2.0-tools"
-
-inherit autotools pkgconfig
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss_2.0.1.bb b/meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss_2.0.1.bb
deleted file mode 100644
index 9d1ff72f3..000000000
--- a/meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss_2.0.1.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-SUMMARY = "Software stack for TPM2."
-DESCRIPTION = "tpm2.0-tss like woah."
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0b1d631c4218b72f6b05cb58613606f4"
-SECTION = "tpm"
-
-DEPENDS = "autoconf-archive-native libgcrypt"
-
-SRCREV = "dc31e8dca9dbc77d16e419dc514ce8c526cd3351"
-
-SRC_URI = "git://github.com/tpm2-software/tpm2-tss.git;branch=2.0.x"
-
-inherit autotools-brokensep pkgconfig systemd
-
-S = "${WORKDIR}/git"
-
-do_configure_prepend () {
- ./bootstrap
-}
-
-INHERIT += "extrausers"
-EXTRA_USERS_PARAMS = "\
- useradd -p '' tss; \
- groupadd tss; \
- "
-
-PROVIDES = "${PACKAGES}"
-PACKAGES = " \
- ${PN} \
- ${PN}-dbg \
- ${PN}-doc \
- libtss2-mu \
- libtss2-mu-dev \
- libtss2-mu-staticdev \
- libtss2-tcti-device \
- libtss2-tcti-device-dev \
- libtss2-tcti-device-staticdev \
- libtss2-tcti-mssim \
- libtss2-tcti-mssim-dev \
- libtss2-tcti-mssim-staticdev \
- libtss2 \
- libtss2-dev \
- libtss2-staticdev \
-"
-
-FILES_libtss2-tcti-device = "${libdir}/libtss2-tcti-device.so.*"
-FILES_libtss2-tcti-device-dev = " \
- ${includedir}/tss2/tss2_tcti_device.h \
- ${libdir}/pkgconfig/tss2-tcti-device.pc \
- ${libdir}/libtss2-tcti-device.so"
-FILES_libtss2-tcti-device-staticdev = "${libdir}/libtss2-tcti-device.*a"
-
-FILES_libtss2-tcti-mssim = "${libdir}/libtss2-tcti-mssim.so.*"
-FILES_libtss2-tcti-mssim-dev = " \
- ${includedir}/tss2/tss2_tcti_mssim.h \
- ${libdir}/pkgconfig/tss2-tcti-mssim.pc \
- ${libdir}/libtss2-tcti-mssim.so"
-FILES_libtss2-tcti-mssim-staticdev = "${libdir}/libtss2-tcti-mssim.*a"
-
-FILES_libtss2-mu = "${libdir}/libtss2-mu.so.*"
-FILES_libtss2-mu-dev = " \
- ${includedir}/tss2/tss2_mu.h \
- ${libdir}/pkgconfig/tss2-mu.pc \
- ${libdir}/libtss2-mu.so"
-FILES_libtss2-mu-staticdev = "${libdir}/libtss2-mu.*a"
-
-FILES_libtss2 = "${libdir}/libtss2*so.*"
-FILES_libtss2-dev = " \
- ${includedir} \
- ${libdir}/pkgconfig \
- ${libdir}/libtss2*so"
-FILES_libtss2-staticdev = "${libdir}/libtss*a"
-
-FILES_${PN} = "${libdir}/udev"
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm2simulator/tpm2simulator_138.bb b/meta-security/meta-tpm/recipes-tpm/tpm2simulator/tpm2simulator_138.bb
deleted file mode 100644
index 866791c29..000000000
--- a/meta-security/meta-tpm/recipes-tpm/tpm2simulator/tpm2simulator_138.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "TPM 2.0 Simulator Extraction Script"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1415f7be284540b81d9d28c67c1a6b8b"
-
-DEPENDS = "python"
-
-SRCREV = "e45324eba268723d39856111e7933c5c76238481"
-SRC_URI = "git://github.com/stwagnr/tpm2simulator.git"
-
-S = "${WORKDIR}/git"
-OECMAKE_SOURCEPATH = "${S}/cmake"
-
-inherit native lib_package cmake
-
-EXTRA_OECMAKE = " \
- -DCMAKE_BUILD_TYPE=Debug \
- -DSPEC_VERSION=138 \
-"
-
-do_configure_prepend () {
- sed -i 's/^SET = False/SET = True/' ${S}/scripts/settings.py
-}
diff --git a/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb
new file mode 100644
index 000000000..8b504453f
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb
@@ -0,0 +1,41 @@
+SUMMARY = "An extension to cryptsetup/LUKS that enables use of the TPM 2.0 via tpm2-tss"
+DESCRIPTION = "Cryptsetup is utility used to conveniently setup disk encryption based on DMCrypt kernel module."
+
+SECTION = "security/tpm"
+LICENSE = "LGPL-2.1 | GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326 \
+ file://COPYING.LGPL;md5=1960515788100ce5f9c98ea78a65dc52 \
+ "
+
+DEPENDS = "autoconf-archive pkgconfig gettext libtss2-dev libdevmapper popt libgcrypt json-c"
+
+SRC_URI = "git://github.com/AndreasFuchsSIT/cryptsetup-tpm-incubator.git;branch=luks2tpm \
+ file://configure_fix.patch "
+
+SRCREV = "15c283195f19f1d980e39ba45448683d5e383179"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gettext
+
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
+PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
+
+EXTRA_OECONF = "--enable-static"
+
+RRECOMMENDS_${PN} = "kernel-module-aes-generic \
+ kernel-module-dm-crypt \
+ kernel-module-md5 \
+ kernel-module-cbc \
+ kernel-module-sha256-generic \
+ kernel-module-xts \
+ "
+
+RDEPENDS_${PN} += "lvm2"
+RRECOMMENDS_${PN} += "lvm2-udevrules"
+
+RREPLACES_${PN} = "cryptsetup"
+RCONFLICTS_${PN} ="cryptsetup"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/files/configure_fix.patch b/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/files/configure_fix.patch
new file mode 100644
index 000000000..8c7b6da41
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/files/configure_fix.patch
@@ -0,0 +1,16 @@
+Upstream-Status: OE specific
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -16,7 +16,7 @@ AC_CONFIG_HEADERS([config.h:config.h.in]
+
+ # For old automake use this
+ #AM_INIT_AUTOMAKE(dist-xz subdir-objects)
+-AM_INIT_AUTOMAKE([dist-xz 1.12 serial-tests subdir-objects])
++AM_INIT_AUTOMAKE([dist-xz 1.12 serial-tests subdir-objects foreign])
+
+ if test "x$prefix" = "xNONE"; then
+ sysconfdir=/etc
diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1332.bb b/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1332.bb
new file mode 100644
index 000000000..a6068e65c
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1332.bb
@@ -0,0 +1,24 @@
+SUMMARY = "IBM's Software TPM 2.0"
+
+LICENSE = "BSD"
+SECTION = "securty/tpm"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=1e023f61454ac828b4aa1bc4293f7d5f"
+
+SRC_URI = "https://sourceforge.net/projects/ibmswtpm2/files/ibmtpm1332.tar.gz"
+SRC_URI[md5sum] = "0ab34a655b4e09812d7ada19746af4f9"
+SRC_URI[sha256sum] = "8e8193af3d11d9ff6a951dda8cd1f4693cb01934a8ad7876b84e92c6148ab0fd"
+
+DEPENDS = "openssl"
+
+S = "${WORKDIR}/src"
+
+LDFLAGS = "${LDFALGS}"
+
+do_compile () {
+ make CC='${CC}'
+}
+
+do_install () {
+ install -d ${D}/${bindir}
+ install -m 0755 tpm_server ${D}/${bindir}
+}
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd-init.sh b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/files/tpm2-abrmd-init.sh
index c8dfb7de3..c8dfb7de3 100644
--- a/meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd-init.sh
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/files/tpm2-abrmd-init.sh
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd.default b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/files/tpm2-abrmd.default
index 987978a66..987978a66 100644
--- a/meta-security/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd.default
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/files/tpm2-abrmd.default
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.1.1.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.1.1.bb
new file mode 100644
index 000000000..a4c66823f
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.1.1.bb
@@ -0,0 +1,55 @@
+SUMMARY = "TPM2 Access Broker & Resource Manager"
+DESCRIPTION = "This is a system daemon implementing the TPM2 access \
+broker (TAB) & Resource Manager (RM) spec from the TCG. The daemon (tpm2-abrmd) \
+is implemented using Glib and the GObject system. In this documentation and \
+in the code we use `tpm2-abrmd` and `tabrmd` interchangeably. \
+"
+SECTION = "security/tpm"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
+
+DEPENDS = "autoconf-archive dbus glib-2.0 tpm2-tss glib-2.0-native \
+ libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim"
+
+
+SRC_URI = "\
+ git://github.com/tpm2-software/tpm2-abrmd.git \
+ file://tpm2-abrmd-init.sh \
+ file://tpm2-abrmd.default \
+"
+
+SRCREV = "06d9d433ba27159687255406baa37940db15465b"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig systemd update-rc.d useradd
+
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = "tpm2-abrmd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+INITSCRIPT_NAME = "${PN}"
+INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 19 0 1 6 ."
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "tss"
+USERADD_PARAM_${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss"
+
+PACKAGECONFIG ?="${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd', '', d)}"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, --with-systemdsystemunitdir=no"
+
+do_install_append() {
+ install -d "${D}${sysconfdir}/init.d"
+ install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd"
+
+ install -d "${D}${sysconfdir}/default"
+ install -m 0644 "${WORKDIR}/tpm2-abrmd.default" "${D}${sysconfdir}/default/tpm2-abrmd"
+}
+
+FILES_${PN} += "${libdir}/systemd/system-preset \
+ ${datadir}/dbus-1"
+
+RDEPENDS_${PN} += "tpm2-tss"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/bootstrap_fixup.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/bootstrap_fixup.patch
new file mode 100644
index 000000000..d38e23777
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/bootstrap_fixup.patch
@@ -0,0 +1,12 @@
+Upstream-Status: OE specific
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: git/bootstrap
+===================================================================
+--- git.orig/bootstrap
++++ git/bootstrap
+@@ -27,4 +27,3 @@ echo "Generating file lists: ${VARS_FILE
+ ) > ${VARS_FILE}
+
+ mkdir -p m4
+-${AUTORECONF} --install --sym $@
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb
new file mode 100644
index 000000000..9031e63e4
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A PKCS#11 interface for TPM2 hardware"
+DESCRIPTION = "PKCS #11 is a Public-Key Cryptography Standard that defines a standard method to access cryptographic services from tokens/ devices such as hardware security modules (HSM), smart cards, etc. In this project we intend to use a TPM2 device as the cryptographic token."
+SECTION = "security/tpm"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b748af41ef1300c98e105b3b7ec4ecc1"
+
+DEPENDS = "autoconf-archive pkgconfig dstat sqlite3 openssl libtss2-dev tpm2-tools"
+
+SRC_URI = "git://github.com/tpm2-software/tpm2-pkcs11.git \
+ file://bootstrap_fixup.patch \
+ "
+
+SRCREV = "3107d89b406ecd9c007884613733c9a344ef6d39"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig
+
+do_configure_prepend () {
+ ${S}/bootstrap
+}
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/configure_oe_fixup.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/configure_oe_fixup.patch
new file mode 100644
index 000000000..8a216cd45
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/configure_oe_fixup.patch
@@ -0,0 +1,27 @@
+Upstream-Status: OE specific
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -84,9 +84,6 @@ AC_ARG_WITH([efi-lds],
+ AS_HELP_STRING([--with-efi-lds=LDS_PATH],[Path to gnu-efi lds file.]),
+ [],
+ [with_efi_lds="/usr/lib/elf_${ARCH}_efi.lds"])
+-AC_CHECK_FILE(["${with_efi_lds}"],
+- [],
+- [AC_MSG_ERROR([Missing file: ${with_efi_lds}.])])
+ EXTRA_LDFLAGS="-L /usr/lib -L /usr/lib64 -Wl,--script=${with_efi_lds}"
+
+ # path to object file from gnu-efi
+@@ -94,9 +91,6 @@ AC_ARG_WITH([efi-crt0],
+ AS_HELP_STRING([--with-efi-crt0=OBJ_PATH],[Path to gnu-efi crt0 object file.]),
+ [],
+ [with_efi_crt0="/usr/lib/crt0-efi-${ARCH}.o"])
+-AC_CHECK_FILE(["${with_efi_crt0}"],
+- [],
+- [AC_MSG_ERROR([Missing ${with_efi_crt0} file.])])
+ EXTRA_LDLIBS="${with_efi_crt0}"
+
+ # check for efi and gnuefi libraries
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb
new file mode 100644
index 000000000..815691dfe
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb
@@ -0,0 +1,18 @@
+SUMMARY = "TCTI module for use with TSS2 libraries in UEFI environment"
+SECTION = "security/tpm"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
+DEPENDS = "libtss2-dev gnu-efi-native gnu-efi pkgconfig"
+
+SRC_URI = "git://github.com/tpm2-software/tpm2-tcti-uefi.git \
+ file://configure_oe_fixup.patch \
+ "
+SRCREV = "131889d12d2c7d8974711d2ebd1032cd32577b7f"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+EXTRA_OECONF_append = " --with-efi-includedir=${STAGING_INCDIR}/efi --with-efi-lds=${STAGING_LIBDIR_NATIVE}/"
+RDEPENDS_${PN} = "gnu-efi"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.1.3.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.1.3.bb
new file mode 100644
index 000000000..1f1f5c606
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.1.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Tools for TPM2."
+DESCRIPTION = "tpm2-tools"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91b7c548d73ea16537799e8060cea819"
+SECTION = "tpm"
+
+DEPENDS = "pkgconfig tpm2-tss openssl curl autoconf-archive"
+
+SRCREV = "74ba065e5914bc5d713ca3709d62a5751b097369"
+
+SRC_URI = "git://github.com/tpm2-software/tpm2-tools.git;branch=3.X"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/files/litpm2_totp_build_fix.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/files/litpm2_totp_build_fix.patch
new file mode 100644
index 000000000..c14705458
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/files/litpm2_totp_build_fix.patch
@@ -0,0 +1,36 @@
+C99 fixes:
+
+ src/libtpm2-totp.c:172:13: error: format '%li' expects argument of type 'long int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]
+| dbg("Calling Esys_GetRandom for %li bytes", SECRETLEN - *secret_size);
+
+src/tpm2-totp.c:343:23: error: format '%ld' expects argument of type 'long int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} [-Werror=format=]
+
+Upstream-Status: Pending
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: git/src/libtpm2-totp.c
+===================================================================
+--- git.orig/src/libtpm2-totp.c
++++ git/src/libtpm2-totp.c
+@@ -169,7 +169,7 @@ tpm2totp_generateKey(uint32_t pcrs, uint
+ if (rc != TPM2_RC_INITIALIZE) chkrc(rc, goto error);
+
+ while (*secret_size < SECRETLEN) {
+- dbg("Calling Esys_GetRandom for %li bytes", SECRETLEN - *secret_size);
++ dbg("Calling Esys_GetRandom for %li bytes", (long int) (SECRETLEN - *secret_size));
+ rc = Esys_GetRandom(ctx,
+ ESYS_TR_NONE, ESYS_TR_NONE, ESYS_TR_NONE,
+ SECRETLEN - *secret_size, &t);
+Index: git/src/tpm2-totp.c
+===================================================================
+--- git.orig/src/tpm2-totp.c
++++ git/src/tpm2-totp.c
+@@ -340,7 +340,7 @@ main(int argc, char **argv)
+ localtime (&now));
+ chkrc(rc, exit(1));
+ }
+- printf("%s%06ld", timestr, totp);
++ printf("%s%06ld", timestr, (long int)totp);
+ break;
+ case CMD_RESEAL:
+ rc = tpm2totp_loadKey_nv(opt.nvindex, &keyBlob, &keyBlob_size);
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.9.9.bb
new file mode 100644
index 000000000..bc94ab711
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.9.9.bb
@@ -0,0 +1,17 @@
+SUMMARY = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL."
+DESCRIPTION = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL for Trusted Platform Module (TPM 2.0) using the tpm2-tss software stack that follows the Trusted Computing Groups (TCG) TPM Software Stack (TSS 2.0). It uses the Enhanced System API (ESAPI) interface of the TSS 2.0 for downwards communication. It supports RSA decryption and signatures as well as ECDSA signatures."
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ed23833e93c95173c8d8913745e4b4e1"
+
+SECTION = "security/tpm"
+
+DEPENDS = "autoconf-archive libtss2-dev qrencode"
+
+SRCREV = "44fcb6819f79302d5a088b3def648616e3551d4a"
+SRC_URI = "git://github.com/tpm2-software/tpm2-totp.git \
+ file://litpm2_totp_build_fix.patch "
+
+inherit autotools-brokensep pkgconfig
+
+S = "${WORKDIR}/git"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_0.9.9.bb
new file mode 100644
index 000000000..36530be2c
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_0.9.9.bb
@@ -0,0 +1,23 @@
+SUMMARY = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL."
+DESCRIPTION = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL for Trusted Platform Module (TPM 2.0) using the tpm2-tss software stack that follows the Trusted Computing Groups (TCG) TPM Software Stack (TSS 2.0). It uses the Enhanced System API (ESAPI) interface of the TSS 2.0 for downwards communication. It supports RSA decryption and signatures as well as ECDSA signatures."
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3fb0047fd29391478a71e8e6101c76eb"
+
+SECTION = "security/tpm"
+
+DEPENDS = "autoconf-archive-native bash-completion libtss2 libgcrypt openssl"
+
+SRCREV = "bef89ec79cbb4c99963b0e336d9184827c545782"
+SRC_URI = "git://github.com/tpm2-software/tpm2-tss-engine.git"
+
+inherit autotools-brokensep pkgconfig systemd
+
+S = "${WORKDIR}/git"
+
+PACKAGES += "${PN}-engines ${PN}-engines-staticdev ${PN}-bash-completion"
+
+FILES_${PN}-dev = "${libdir}/engines-1.1/tpm2tss.so ${includedir}/*"
+FILES_${PN}-engines = "${libdir}/engines-1.1/lib*.so*"
+FILES_${PN}-engines-staticdev = "${libdir}/engines-1.1/libtpm2tss.a"
+FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions"
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss/ax_pthread.m4 b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/ax_pthread.m4
index d383ad5c6..d383ad5c6 100644
--- a/meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss/ax_pthread.m4
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/ax_pthread.m4
diff --git a/meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss/fix_musl_select_include.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fix_musl_select_include.patch
index ecaca6ea5..ecaca6ea5 100644
--- a/meta-security/meta-tpm/recipes-tpm/tpm2.0-tss/tpm2.0-tss/fix_musl_select_include.patch
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fix_musl_select_include.patch
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.2.1.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.2.1.bb
new file mode 100644
index 000000000..78bdeebe0
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.2.1.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Software stack for TPM2."
+DESCRIPTION = "OSS implementation of the TCG TPM2 Software Stack (TSS2) "
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
+SECTION = "tpm"
+
+DEPENDS = "autoconf-archive-native libgcrypt openssl"
+
+SRCREV = "eb69e13559f20a0b49002a685c6f4a39be9503e2"
+
+SRC_URI = "git://github.com/tpm2-software/tpm2-tss.git;branch=2.2.x"
+
+inherit autotools-brokensep pkgconfig systemd
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[oxygen] = ",--disable-doxygen-doc, "
+
+do_configure_prepend () {
+ ./bootstrap
+}
+
+INHERIT += "extrausers"
+EXTRA_USERS_PARAMS = "\
+ useradd -p '' tss; \
+ groupadd tss; \
+ "
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dbg \
+ ${PN}-doc \
+ libtss2-mu \
+ libtss2-mu-dev \
+ libtss2-mu-staticdev \
+ libtss2-tcti-device \
+ libtss2-tcti-device-dev \
+ libtss2-tcti-device-staticdev \
+ libtss2-tcti-mssim \
+ libtss2-tcti-mssim-dev \
+ libtss2-tcti-mssim-staticdev \
+ libtss2 \
+ libtss2-dev \
+ libtss2-staticdev \
+"
+
+FILES_libtss2-tcti-device = "${libdir}/libtss2-tcti-device.so.*"
+FILES_libtss2-tcti-device-dev = " \
+ ${includedir}/tss2/tss2_tcti_device.h \
+ ${libdir}/pkgconfig/tss2-tcti-device.pc \
+ ${libdir}/libtss2-tcti-device.so"
+FILES_libtss2-tcti-device-staticdev = "${libdir}/libtss2-tcti-device.*a"
+
+FILES_libtss2-tcti-mssim = "${libdir}/libtss2-tcti-mssim.so.*"
+FILES_libtss2-tcti-mssim-dev = " \
+ ${includedir}/tss2/tss2_tcti_mssim.h \
+ ${libdir}/pkgconfig/tss2-tcti-mssim.pc \
+ ${libdir}/libtss2-tcti-mssim.so"
+FILES_libtss2-tcti-mssim-staticdev = "${libdir}/libtss2-tcti-mssim.*a"
+
+FILES_libtss2-mu = "${libdir}/libtss2-mu.so.*"
+FILES_libtss2-mu-dev = " \
+ ${includedir}/tss2/tss2_mu.h \
+ ${libdir}/pkgconfig/tss2-mu.pc \
+ ${libdir}/libtss2-mu.so"
+FILES_libtss2-mu-staticdev = "${libdir}/libtss2-mu.*a"
+
+FILES_libtss2 = "${libdir}/libtss2*so.*"
+FILES_libtss2-dev = " \
+ ${includedir} \
+ ${libdir}/pkgconfig \
+ ${libdir}/libtss2*so"
+FILES_libtss2-staticdev = "${libdir}/libtss*a"
+
+FILES_${PN} = "${libdir}/udev"
+
+RDEPENDS_libtss2 = "libgcrypt"
diff --git a/meta-security/recipes-security/samhain/files/run-ptest b/meta-security/recipes-ids/samhain/files/run-ptest
index 2a4a76530..2a4a76530 100755
--- a/meta-security/recipes-security/samhain/files/run-ptest
+++ b/meta-security/recipes-ids/samhain/files/run-ptest
diff --git a/meta-security/recipes-security/samhain/files/samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch b/meta-security/recipes-ids/samhain/files/samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch
index 088a938e3..088a938e3 100644
--- a/meta-security/recipes-security/samhain/files/samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-avoid-searching-host-for-postgresql.patch b/meta-security/recipes-ids/samhain/files/samhain-avoid-searching-host-for-postgresql.patch
index 6bf67e09b..6bf67e09b 100644
--- a/meta-security/recipes-security/samhain/files/samhain-avoid-searching-host-for-postgresql.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-avoid-searching-host-for-postgresql.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-client.default b/meta-security/recipes-ids/samhain/files/samhain-client.default
index 9899577ae..9899577ae 100644
--- a/meta-security/recipes-security/samhain/files/samhain-client.default
+++ b/meta-security/recipes-ids/samhain/files/samhain-client.default
diff --git a/meta-security/recipes-security/samhain/files/samhain-client.init b/meta-security/recipes-ids/samhain/files/samhain-client.init
index d5fabeded..d5fabeded 100644
--- a/meta-security/recipes-security/samhain/files/samhain-client.init
+++ b/meta-security/recipes-ids/samhain/files/samhain-client.init
diff --git a/meta-security/recipes-security/samhain/files/samhain-configure-add-option-for-ps.patch b/meta-security/recipes-ids/samhain/files/samhain-configure-add-option-for-ps.patch
index 8de0735fc..8de0735fc 100644
--- a/meta-security/recipes-security/samhain/files/samhain-configure-add-option-for-ps.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-configure-add-option-for-ps.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-cross-compile.patch b/meta-security/recipes-ids/samhain/files/samhain-cross-compile.patch
index 7f80a5c61..7f80a5c61 100644
--- a/meta-security/recipes-security/samhain/files/samhain-cross-compile.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-cross-compile.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-mips64-aarch64-dnmalloc-hash-fix.patch b/meta-security/recipes-ids/samhain/files/samhain-mips64-aarch64-dnmalloc-hash-fix.patch
index 060866068..060866068 100644
--- a/meta-security/recipes-security/samhain/files/samhain-mips64-aarch64-dnmalloc-hash-fix.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-mips64-aarch64-dnmalloc-hash-fix.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-not-run-ptest-on-host.patch b/meta-security/recipes-ids/samhain/files/samhain-not-run-ptest-on-host.patch
index 528431311..528431311 100644
--- a/meta-security/recipes-security/samhain/files/samhain-not-run-ptest-on-host.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-not-run-ptest-on-host.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-pid-path.patch b/meta-security/recipes-ids/samhain/files/samhain-pid-path.patch
index 592bd165f..592bd165f 100644
--- a/meta-security/recipes-security/samhain/files/samhain-pid-path.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-pid-path.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-samhainrc-fix-files-dirs-path.patch b/meta-security/recipes-ids/samhain/files/samhain-samhainrc-fix-files-dirs-path.patch
index dad6b150e..dad6b150e 100644
--- a/meta-security/recipes-security/samhain/files/samhain-samhainrc-fix-files-dirs-path.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-samhainrc-fix-files-dirs-path.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-samhainrc.patch b/meta-security/recipes-ids/samhain/files/samhain-samhainrc.patch
index 145700a0e..145700a0e 100644
--- a/meta-security/recipes-security/samhain/files/samhain-samhainrc.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-samhainrc.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-server-volatiles b/meta-security/recipes-ids/samhain/files/samhain-server-volatiles
index 6b8070936..6b8070936 100644
--- a/meta-security/recipes-security/samhain/files/samhain-server-volatiles
+++ b/meta-security/recipes-ids/samhain/files/samhain-server-volatiles
diff --git a/meta-security/recipes-security/samhain/files/samhain-server.default b/meta-security/recipes-ids/samhain/files/samhain-server.default
index bc3d67cde..bc3d67cde 100644
--- a/meta-security/recipes-security/samhain/files/samhain-server.default
+++ b/meta-security/recipes-ids/samhain/files/samhain-server.default
diff --git a/meta-security/recipes-security/samhain/files/samhain-server.init b/meta-security/recipes-ids/samhain/files/samhain-server.init
index c456e51c9..c456e51c9 100644
--- a/meta-security/recipes-security/samhain/files/samhain-server.init
+++ b/meta-security/recipes-ids/samhain/files/samhain-server.init
diff --git a/meta-security/recipes-security/samhain/files/samhain-sha256-big-endian.patch b/meta-security/recipes-ids/samhain/files/samhain-sha256-big-endian.patch
index 3065c7309..3065c7309 100644
--- a/meta-security/recipes-security/samhain/files/samhain-sha256-big-endian.patch
+++ b/meta-security/recipes-ids/samhain/files/samhain-sha256-big-endian.patch
diff --git a/meta-security/recipes-security/samhain/files/samhain-standalone.default b/meta-security/recipes-ids/samhain/files/samhain-standalone.default
index 507a59f29..507a59f29 100644
--- a/meta-security/recipes-security/samhain/files/samhain-standalone.default
+++ b/meta-security/recipes-ids/samhain/files/samhain-standalone.default
diff --git a/meta-security/recipes-security/samhain/files/samhain-standalone.init b/meta-security/recipes-ids/samhain/files/samhain-standalone.init
index 2f23bffd9..2f23bffd9 100644
--- a/meta-security/recipes-security/samhain/files/samhain-standalone.init
+++ b/meta-security/recipes-ids/samhain/files/samhain-standalone.init
diff --git a/meta-security/recipes-security/samhain/files/samhain.service b/meta-security/recipes-ids/samhain/files/samhain.service
index e4f216ab4..e4f216ab4 100644
--- a/meta-security/recipes-security/samhain/files/samhain.service
+++ b/meta-security/recipes-ids/samhain/files/samhain.service
diff --git a/meta-security/recipes-security/samhain/samhain-client_4.3.0.bb b/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb
index 812408e5e..812408e5e 100644
--- a/meta-security/recipes-security/samhain/samhain-client_4.3.0.bb
+++ b/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb
diff --git a/meta-security/recipes-security/samhain/samhain-server_4.3.0.bb b/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb
index 9341d4440..9341d4440 100644
--- a/meta-security/recipes-security/samhain/samhain-server_4.3.0.bb
+++ b/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb
diff --git a/meta-security/recipes-security/samhain/samhain-standalone_4.3.0.bb b/meta-security/recipes-ids/samhain/samhain-standalone_4.3.2.bb
index 4fed9e9e9..4fed9e9e9 100644
--- a/meta-security/recipes-security/samhain/samhain-standalone_4.3.0.bb
+++ b/meta-security/recipes-ids/samhain/samhain-standalone_4.3.2.bb
diff --git a/meta-security/recipes-ids/samhain/samhain.inc b/meta-security/recipes-ids/samhain/samhain.inc
new file mode 100644
index 000000000..1b9af39ce
--- /dev/null
+++ b/meta-security/recipes-ids/samhain/samhain.inc
@@ -0,0 +1,163 @@
+DESCRIPTION = "Provides file integrity checking and log file monitoring/analysis"
+HOMEPAGE = "http://www.la-samhna.de/samhain/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b"
+
+
+SRC_URI = "http://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \
+ file://samhain-cross-compile.patch \
+ file://samhain-mips64-aarch64-dnmalloc-hash-fix.patch \
+ file://samhain-samhainrc.patch \
+ file://samhain-samhainrc-fix-files-dirs-path.patch \
+ file://samhain-pid-path.patch \
+ file://samhain-sha256-big-endian.patch \
+ file://samhain-configure-add-option-for-ps.patch \
+ file://samhain-avoid-searching-host-for-postgresql.patch \
+ file://samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch \
+ file://${INITSCRIPT_NAME}.init \
+ file://${INITSCRIPT_NAME}.default \
+ file://samhain.service \
+ "
+
+SRC_URI[md5sum] = "eae4674164d7c78f5bb39c72b7029c8b"
+SRC_URI[sha256sum] = "0582864ef56ab796031e8e611ed66c48adeb3a30ec34e1a8d0088572442035fc"
+
+UPSTREAM_CHECK_URI = "https://www.la-samhna.de/samhain/archive.html"
+UPSTREAM_CHECK_REGEX = "samhain_signed-(?P<pver>(\d+(\.\d+)+))\.tar"
+
+S = "${WORKDIR}/samhain-${PV}"
+
+inherit autotools-brokensep update-rc.d pkgconfig systemd
+
+SAMHAIN_PORT ??= "49777"
+SAMHAIN_SERVER ??= "NULL"
+
+INITSCRIPT_NAME = "${BPN}"
+INITSCRIPT_PARAMS ?= "defaults"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "${INITSCRIPT_NAME}.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+# mode mapping:
+# BPN MODE_NAME SAMHAIN_MODE
+# samhain-standalone standalone no
+# samhain-client client client
+# samhain-server server server
+MODE_NAME = "${@d.getVar('BPN').split('-')[1]}"
+SAMHAIN_MODE = "${@oe.utils.ifelse(d.getVar('MODE_NAME') == 'standalone', 'no', '${MODE_NAME}')}"
+
+# supports mysql|postgresql|oracle|odbc but postgresql is the only one available
+
+PACKAGECONFIG ??= "postgresql ps \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
+"
+
+PACKAGECONFIG[postgresql] = "--with-database=postgresql --enable-xml-log PGSQL_INC_DIR=${STAGING_INCDIR} PGSQL_LIB_DIR=${STAGING_LIBDIR}, , postgresql"
+PACKAGECONFIG[suidcheck] = "--enable-suidcheck, , "
+PACKAGECONFIG[logwatch] = "--enable-login-watch, , "
+PACKAGECONFIG[mounts] = "--enable-mounts-check, , "
+PACKAGECONFIG[userfiles] = "--enable-userfiles, , "
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux attr"
+PACKAGECONFIG[acl] = " --enable-posix-acl , --disable-posix-acl, acl"
+PACKAGECONFIG[audit] = "ac_cv_header_auparse_h=yes,ac_cv_header_auparse_h=no,audit"
+PACKAGECONFIG[ps] = "--with-ps-path=${base_bindir}/ps,,,procps"
+
+do_unpack_samhain() {
+ cd ${WORKDIR}
+ tar -xzvf samhain-${PV}.tar.gz
+}
+
+python do_unpack_append() {
+ bb.build.exec_func('do_unpack_samhain', d)
+}
+
+do_configure_prepend_arm() {
+ export sh_cv___va_copy=yes
+}
+
+do_configure_prepend_aarch64() {
+ export sh_cv___va_copy=yes
+}
+
+# If we use oe_runconf in do_configure() it will by default
+# use the prefix --oldincludedir=/usr/include which is not
+# recognized by Samhain's configure script and would invariably
+# throw back the error "unrecognized option: --oldincludedir=/usr/include"
+do_configure_prepend () {
+ cat << EOF > ${S}/config-site.${BP}
+ssp_cv_lib=no
+sh_cv_va_copy=yes
+EOF
+ export CONFIG_SITE=${S}/config-site.${BP}
+}
+
+do_configure () {
+ autoconf -f
+ ./configure \
+ --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} \
+ --infodir=${infodir} \
+ --mandir=${mandir} \
+ --enable-network=${SAMHAIN_MODE} \
+ --with-pid-file=${localstatedir}/run/samhain.pid \
+ --with-data-file=${localstatedir}/lib/samhain/samhain_file \
+ --disable-dnmalloc \
+ ${EXTRA_OECONF}
+}
+
+do_compile_prepend_libc-musl () {
+ sed -i 's/^#define HAVE_MALLOC_H.*//' ${B}/config.h
+}
+
+# Install the init script, it's default file, and the extraneous
+# documentation.
+do_install_append () {
+ oe_runmake install DESTDIR='${D}' INSTALL=install-boot
+
+ install -D -m 755 ${WORKDIR}/${INITSCRIPT_NAME}.init \
+ ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
+
+ install -D -m 755 ${WORKDIR}/${INITSCRIPT_NAME}.default \
+ ${D}${sysconfdir}/default/${INITSCRIPT_NAME}
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ if [ "${SAMHAIN_MODE}" = "no" ]; then
+ install -D -m 0644 ${WORKDIR}/samhain.service ${D}/${systemd_system_unitdir}/samhain.service
+ else
+ install -D -m 0644 ${WORKDIR}/samhain.service ${D}/${systemd_system_unitdir}/${BPN}.service
+ fi
+ install -D -m 0755 ${WORKDIR}/${BPN}.init ${D}/${libexecdir}/${BPN}
+ sed -i -e 's,@LIBDIR@,${libexecdir},' \
+ -e 's,@SAMHAIN_HELPER@,${BPN},' \
+ -e 's,@MODE_NAME@,${MODE_NAME},' \
+ ${D}${systemd_system_unitdir}/samhain*.service
+ fi
+
+ install -d ${D}${docdir}/${BPN}
+ cp -r docs/* ${D}${docdir}/${BPN}
+ cp -r scripts ${D}${docdir}/${BPN}
+ install -d -m 755 ${D}${localstatedir}/samhain
+
+ # Prevent QA warnings about installed ${localstatedir}/run
+ if [ -d ${D}${localstatedir}/run ]; then
+ rmdir ${D}${localstatedir}/run
+ fi
+}
+
+FILES_${PN} += "${systemd_system_unitdir}"
diff --git a/meta-security/recipes-security/suricata/files/emerging.rules.tar.gz b/meta-security/recipes-ids/suricata/files/emerging.rules.tar.gz
index aed375474..aed375474 100644
--- a/meta-security/recipes-security/suricata/files/emerging.rules.tar.gz
+++ b/meta-security/recipes-ids/suricata/files/emerging.rules.tar.gz
Binary files differ
diff --git a/meta-security/recipes-security/suricata/files/no_libhtp_build.patch b/meta-security/recipes-ids/suricata/files/no_libhtp_build.patch
index 2ebf021fc..2ebf021fc 100644
--- a/meta-security/recipes-security/suricata/files/no_libhtp_build.patch
+++ b/meta-security/recipes-ids/suricata/files/no_libhtp_build.patch
diff --git a/meta-security/recipes-security/suricata/files/run-ptest b/meta-security/recipes-ids/suricata/files/run-ptest
index 666ba9c95..666ba9c95 100644
--- a/meta-security/recipes-security/suricata/files/run-ptest
+++ b/meta-security/recipes-ids/suricata/files/run-ptest
diff --git a/meta-security/recipes-security/suricata/files/suricata.service b/meta-security/recipes-ids/suricata/files/suricata.service
index a99a76ef8..a99a76ef8 100644
--- a/meta-security/recipes-security/suricata/files/suricata.service
+++ b/meta-security/recipes-ids/suricata/files/suricata.service
diff --git a/meta-security/recipes-security/suricata/files/suricata.yaml b/meta-security/recipes-ids/suricata/files/suricata.yaml
index 8d06a2744..8d06a2744 100644
--- a/meta-security/recipes-security/suricata/files/suricata.yaml
+++ b/meta-security/recipes-ids/suricata/files/suricata.yaml
diff --git a/meta-security/recipes-security/suricata/files/volatiles.03_suricata b/meta-security/recipes-ids/suricata/files/volatiles.03_suricata
index 4627bd3b0..4627bd3b0 100644
--- a/meta-security/recipes-security/suricata/files/volatiles.03_suricata
+++ b/meta-security/recipes-ids/suricata/files/volatiles.03_suricata
diff --git a/meta-security/recipes-security/suricata/libhtp_0.5.27.bb b/meta-security/recipes-ids/suricata/libhtp_0.5.29.bb
index 8305f7010..8305f7010 100644
--- a/meta-security/recipes-security/suricata/libhtp_0.5.27.bb
+++ b/meta-security/recipes-ids/suricata/libhtp_0.5.29.bb
diff --git a/meta-security/recipes-ids/suricata/suricata.inc b/meta-security/recipes-ids/suricata/suricata.inc
new file mode 100644
index 000000000..7be403ccb
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/suricata.inc
@@ -0,0 +1,9 @@
+HOMEPAGE = "http://suricata-ids.org/"
+SECTION = "security Monitor/Admin"
+LICENSE = "GPLv2"
+
+VER = "4.1.3"
+SRC_URI = "http://www.openinfosecfoundation.org/download/suricata-${VER}.tar.gz"
+
+SRC_URI[md5sum] = "35c4a8e6be3910831649a073950195df"
+SRC_URI[sha256sum] = "6cda6c80b753ce36483c6be535358b971f3890b9aa27a58c2d2f7e89dd6c6aa0"
diff --git a/meta-security/recipes-ids/suricata/suricata_4.1.3.bb b/meta-security/recipes-ids/suricata/suricata_4.1.3.bb
new file mode 100644
index 000000000..d6f5937d1
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/suricata_4.1.3.bb
@@ -0,0 +1,97 @@
+SUMMARY = "The Suricata Engine is an Open Source Next Generation Intrusion Detection and Prevention Engine"
+
+require suricata.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
+
+SRC_URI += "file://emerging.rules.tar.gz;name=rules"
+
+SRC_URI += " \
+ file://volatiles.03_suricata \
+ file://suricata.yaml \
+ file://suricata.service \
+ file://run-ptest \
+ "
+
+SRC_URI[rules.md5sum] = "205c5e5b54e489207ed892c03ad75b33"
+SRC_URI[rules.sha256sum] = "4aa81011b246875a57181c6a0569ca887845e366904bcaf0043220f33bd69798"
+
+inherit autotools-brokensep pkgconfig python3-dir systemd ptest
+
+CFLAGS += "-D_DEFAULT_SOURCE"
+
+CACHED_CONFIGUREVARS = "ac_cv_header_htp_htp_h=yes ac_cv_lib_htp_htp_conn_create=yes \
+ ac_cv_path_HAVE_WGET=no ac_cv_path_HAVE_CURL=no "
+
+EXTRA_OECONF += " --disable-debug \
+ --enable-non-bundled-htp \
+ --disable-gccmarch-native \
+ --disable-suricata-update \
+ "
+
+PACKAGECONFIG ??= "htp jansson file pcre yaml pcap cap-ng net nfnetlink nss nspr"
+PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'unittests', '', d)}"
+
+PACKAGECONFIG[htp] = "--with-libhtp-includes=${STAGING_INCDIR} --with-libhtp-libraries=${STAGING_LIBDIR}, ,libhtp,"
+PACKAGECONFIG[pcre] = "--with-libpcre-includes=${STAGING_INCDIR} --with-libpcre-libraries=${STAGING_LIBDIR}, ,libpcre ,"
+PACKAGECONFIG[yaml] = "--with-libyaml-includes=${STAGING_INCDIR} --with-libyaml-libraries=${STAGING_LIBDIR}, ,libyaml ,"
+PACKAGECONFIG[pcap] = "--with-libpcap-includes=${STAGING_INCDIR} --with-libpcap-libraries=${STAGING_LIBDIR}, ,libpcap ,"
+PACKAGECONFIG[cap-ng] = "--with-libcap_ng-includes=${STAGING_INCDIR} --with-libcap_ng-libraries=${STAGING_LIBDIR}, ,libcap-ng , "
+PACKAGECONFIG[net] = "--with-libnet-includes=${STAGING_INCDIR} --with-libnet-libraries=${STAGING_LIBDIR}, , libnet,"
+PACKAGECONFIG[nfnetlink] = "--with-libnfnetlink-includes=${STAGING_INCDIR} --with-libnfnetlink-libraries=${STAGING_LIBDIR}, ,libnfnetlink ,"
+PACKAGECONFIG[nfq] = "--enable-nfqueue, --disable-nfqueue,libnetfilter-queue,"
+
+PACKAGECONFIG[jansson] = "--with-libjansson-includes=${STAGING_INCDIR} --with-libjansson-libraries=${STAGING_LIBDIR},,jansson, jansson"
+PACKAGECONFIG[file] = ",,file, file"
+PACKAGECONFIG[nss] = "--with-libnss-includes=${STAGING_INCDIR} --with-libnss-libraries=${STAGING_LIBDIR}, nss, nss,"
+PACKAGECONFIG[nspr] = "--with-libnspr-includes=${STAGING_INCDIR} --with-libnspr-libraries=${STAGING_LIBDIR}, nspr, nspr,"
+PACKAGECONFIG[python] = "--enable-python, --disable-python, python3, python3"
+PACKAGECONFIG[unittests] = "--enable-unittests, --disable-unittests,"
+
+export logdir = "${localstatedir}/log"
+
+do_install_append () {
+
+ install -d ${D}${sysconfdir}/suricata
+
+ oe_runmake install-conf DESTDIR=${D}
+
+ # mimic move of downloaded rules to e_sysconfrulesdir
+ cp -rf ${WORKDIR}/rules ${D}${sysconfdir}/suricata
+
+ oe_runmake install-rules DESTDIR=${D}
+
+ install -d ${D}${sysconfdir}/suricata ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.03_suricata ${D}${sysconfdir}/default/volatiles/volatiles.03_suricata
+
+ install -m 0644 ${S}/threshold.config ${D}${sysconfdir}/suricata
+
+ install -d ${D}${systemd_unitdir}/system
+ sed -e s:/etc:${sysconfdir}:g \
+ -e s:/var/run:/run:g \
+ -e s:/var:${localstatedir}:g \
+ -e s:/usr/bin:${bindir}:g \
+ -e s:/bin/kill:${base_bindir}/kill:g \
+ -e s:/usr/lib:${libdir}:g \
+ ${WORKDIR}/suricata.service > ${D}${systemd_unitdir}/system/suricata.service
+
+ # Remove /var/run as it is created on startup
+ rm -rf ${D}${localstatedir}/run
+
+}
+
+pkg_postinst_ontarget_${PN} () {
+if [ -e /etc/init.d/populate-volatile.sh ] ; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+fi
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+
+PACKAGES =+ "${PN}-socketcontrol"
+FILES_${PN} += "${systemd_unitdir}"
+FILES_${PN}-socketcontrol = "${bindir}/suricatasc ${PYTHON_SITEPACKAGES_DIR}"
+
+CONFFILES_${PN} = "${sysconfdir}/suricata/suricata.yaml"
+
+RDEPENDS_${PN}-python = "python"
diff --git a/meta-security/recipes-security/tripwire/files/add_armeb_arch.patch b/meta-security/recipes-ids/tripwire/files/add_armeb_arch.patch
index 2379d6654..2379d6654 100644
--- a/meta-security/recipes-security/tripwire/files/add_armeb_arch.patch
+++ b/meta-security/recipes-ids/tripwire/files/add_armeb_arch.patch
diff --git a/meta-security/recipes-security/tripwire/files/run-ptest b/meta-security/recipes-ids/tripwire/files/run-ptest
index aedfddc59..aedfddc59 100644
--- a/meta-security/recipes-security/tripwire/files/run-ptest
+++ b/meta-security/recipes-ids/tripwire/files/run-ptest
diff --git a/meta-security/recipes-security/tripwire/files/tripwire.cron b/meta-security/recipes-ids/tripwire/files/tripwire.cron
index 2035508d7..2035508d7 100644
--- a/meta-security/recipes-security/tripwire/files/tripwire.cron
+++ b/meta-security/recipes-ids/tripwire/files/tripwire.cron
diff --git a/meta-security/recipes-security/tripwire/files/tripwire.sh b/meta-security/recipes-ids/tripwire/files/tripwire.sh
index 4276d10eb..4276d10eb 100644
--- a/meta-security/recipes-security/tripwire/files/tripwire.sh
+++ b/meta-security/recipes-ids/tripwire/files/tripwire.sh
diff --git a/meta-security/recipes-security/tripwire/files/tripwire.txt b/meta-security/recipes-ids/tripwire/files/tripwire.txt
index 332d00420..332d00420 100644
--- a/meta-security/recipes-security/tripwire/files/tripwire.txt
+++ b/meta-security/recipes-ids/tripwire/files/tripwire.txt
diff --git a/meta-security/recipes-security/tripwire/files/twcfg.txt b/meta-security/recipes-ids/tripwire/files/twcfg.txt
index 224e9201e..224e9201e 100644
--- a/meta-security/recipes-security/tripwire/files/twcfg.txt
+++ b/meta-security/recipes-ids/tripwire/files/twcfg.txt
diff --git a/meta-security/recipes-security/tripwire/files/twinstall.sh b/meta-security/recipes-ids/tripwire/files/twinstall.sh
index 7d1b63fe5..7d1b63fe5 100644
--- a/meta-security/recipes-security/tripwire/files/twinstall.sh
+++ b/meta-security/recipes-ids/tripwire/files/twinstall.sh
diff --git a/meta-security/recipes-security/tripwire/files/twpol-yocto.txt b/meta-security/recipes-ids/tripwire/files/twpol-yocto.txt
index 65f5f7500..65f5f7500 100644
--- a/meta-security/recipes-security/tripwire/files/twpol-yocto.txt
+++ b/meta-security/recipes-ids/tripwire/files/twpol-yocto.txt
diff --git a/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb b/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb
new file mode 100644
index 000000000..c26392a04
--- /dev/null
+++ b/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb
@@ -0,0 +1,74 @@
+SUMMARY = "Tripwire: A system integrity assessment tool (IDS)"
+DESCRIPTION = "Open Source Tripwire® software is a security and data \
+integrity tool useful for monitoring and alerting on specific file change(s) on a range of systems"
+HOMEPAGE="http://sourceforge.net/projects/tripwire"
+SECTION = "security Monitor/Admin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1c069be8dbbe48e89b580ab4ed86c127"
+
+SRCREV = "6e64a9e5b70a909ec439bc5a099e3fcf38c614b0"
+
+SRC_URI = "\
+ git://github.com/Tripwire/tripwire-open-source.git \
+ file://tripwire.cron \
+ file://tripwire.sh \
+ file://tripwire.txt \
+ file://twcfg.txt \
+ file://twinstall.sh \
+ file://twpol-yocto.txt \
+ file://run-ptest \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep update-rc.d ptest
+
+INITSCRIPT_NAME = "tripwire"
+INITSCRIPT_PARAMS = "start 40 S ."
+TRIPWIRE_HOST = "${HOST_SYS}"
+TRIPWIRE_TARGET = "${TARGET_SYS}"
+
+CXXFLAGS += "-fno-strict-aliasing"
+EXTRA_OECONF = "--disable-openssl --enable-static --sysconfdir=/etc/tripwire"
+
+do_install () {
+ install -d ${D}${libdir} ${D}${datadir} ${D}${base_libdir}
+ install -d ${D}${sysconfdir} ${D}${mandir} ${D}${sbindir}
+ install -d ${D}${sysconfdir}/${PN}
+ install -d ${D}${localstatedir}/lib/${PN} ${D}${localstatedir}/lib/${BPN}/report
+ install -d ${D}${mandir}/man4 ${D}${mandir}/man5 ${D}${mandir}/man8
+ install -d ${D}${docdir}/${BPN} ${D}${docdir}/${BPN}/templates
+ install -d ${D}${sysconfdir}/init.d
+
+ install -m 0755 ${S}/bin/* ${D}${sbindir}
+ install -m 0644 ${S}/lib/* ${D}${base_libdir}
+ install -m 0644 ${S}/lib/* ${D}${localstatedir}/lib/${PN}
+ install -m 0755 ${WORKDIR}/tripwire.cron ${D}${sysconfdir}
+ install -m 0755 ${WORKDIR}/tripwire.sh ${D}${sysconfdir}/init.d/tripwire
+ install -m 0755 ${WORKDIR}/twinstall.sh ${D}${sysconfdir}/${PN}
+ install -m 0644 ${WORKDIR}/twpol-yocto.txt ${D}${sysconfdir}/${PN}/twpol.txt
+ install -m 0644 ${WORKDIR}/twcfg.txt ${D}${sysconfdir}/${PN}
+
+ install -m 0644 ${S}/man/man4/* ${D}${mandir}/man4
+ install -m 0644 ${S}/man/man5/* ${D}${mandir}/man5
+ install -m 0644 ${S}/man/man8/* ${D}${mandir}/man8
+ install -m 0644 ${S}/policy/templates/* ${D}${docdir}/${BPN}/templates
+ install -m 0644 ${S}/policy/*txt ${D}${docdir}/${BPN}
+ install -m 0644 ${S}/COPYING ${D}${docdir}/${BPN}
+ install -m 0644 ${S}/TRADEMARK ${D}${docdir}/${BPN}
+ install -m 0644 ${WORKDIR}/tripwire.txt ${D}${docdir}/${BPN}
+}
+
+do_install_ptest_append () {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -a ${S}/src/test-harness/* ${D}${PTEST_PATH}
+ sed -i -e 's@../../../../bin@${sbindir}@' ${D}${PTEST_PATH}/twtools.pm
+}
+
+FILES_${PN} += "${libdir} ${docdir}/${PN}/*"
+FILES_${PN}-dbg += "${sysconfdir}/${PN}/.debug"
+FILES_${PN}-staticdev += "${localstatedir}/lib/${PN}/lib*.a"
+FILES_${PN}-ptest += "${PTEST_PATH}/tests "
+
+RDEPENDS_${PN} += " perl nano msmtp cronie"
+RDEPENDS_${PN}-ptest = " perl lib-perl perl-modules "
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor.cfg b/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor.cfg
new file mode 100644
index 000000000..b5f9bb2a6
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor.cfg
@@ -0,0 +1,15 @@
+CONFIG_AUDIT=y
+# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+CONFIG_SECURITY_PATH=y
+# CONFIG_SECURITY_SELINUX is not set
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_SECURITY_APPARMOR_HASH=y
+CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
+# CONFIG_SECURITY_APPARMOR_DEBUG is not set
+CONFIG_INTEGRITY_AUDIT=y
+CONFIG_DEFAULT_SECURITY_APPARMOR=y
+# CONFIG_DEFAULT_SECURITY_DAC is not set
+CONFIG_DEFAULT_SECURITY="apparmor"
+CONFIG_AUDIT_GENERIC=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor_on_boot.cfg b/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor_on_boot.cfg
new file mode 100644
index 000000000..fc3574015
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor_on_boot.cfg
@@ -0,0 +1 @@
+CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack-default-lsm.cfg b/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack-default-lsm.cfg
new file mode 100644
index 000000000..b5c48454e
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack-default-lsm.cfg
@@ -0,0 +1,2 @@
+CONFIG_DEFAULT_SECURITY="smack"
+CONFIG_DEFAULT_SECURITY_SMACK=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack.cfg b/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack.cfg
new file mode 100644
index 000000000..62f465a45
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack.cfg
@@ -0,0 +1,8 @@
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_SECURITY=y
+CONFIG_SECURITY_SMACK=y
+CONFIG_TMPFS_XATTR=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg b/meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg
index 1dc4168ee..b5f9bb2a6 100644
--- a/meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg
+++ b/meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg
@@ -1,13 +1,15 @@
CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_SELINUX is not set
CONFIG_SECURITY_APPARMOR=y
-CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_APPARMOR_HASH=y
CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
+# CONFIG_SECURITY_APPARMOR_DEBUG is not set
CONFIG_INTEGRITY_AUDIT=y
-# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
+CONFIG_DEFAULT_SECURITY_APPARMOR=y
+# CONFIG_DEFAULT_SECURITY_DAC is not set
+CONFIG_DEFAULT_SECURITY="apparmor"
+CONFIG_AUDIT_GENERIC=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto/apparmor_on_boot.cfg b/meta-security/recipes-kernel/linux/linux-yocto/apparmor_on_boot.cfg
new file mode 100644
index 000000000..fc3574015
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-yocto/apparmor_on_boot.cfg
@@ -0,0 +1 @@
+CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
diff --git a/meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend b/meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend
index 067be8fe1..321392c0b 100644
--- a/meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend
+++ b/meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend
@@ -2,6 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "\
${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', ' file://apparmor.cfg', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', ' file://apparmor_on_boot.cfg', '', d)} \
"
SRC_URI += "\
diff --git a/meta-security/recipes-kernel/linux/linux-yocto_5.0.%.bbappend b/meta-security/recipes-kernel/linux/linux-yocto_5.0.%.bbappend
new file mode 100644
index 000000000..f810e2112
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-yocto_5.0.%.bbappend
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-5.0:"
+
+SRC_URI += "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', ' file://apparmor.cfg', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', ' file://apparmor_on_boot.cfg', '', d)} \
+"
+
+SRC_URI += "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'smack', ' file://smack.cfg', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'smack', ' file://smack-default-lsm.cfg', '', d)} \
+"
diff --git a/meta-security/recipes-mac/AppArmor/apparmor_2.13.2.bb b/meta-security/recipes-mac/AppArmor/apparmor_2.13.2.bb
new file mode 100644
index 000000000..62ed61148
--- /dev/null
+++ b/meta-security/recipes-mac/AppArmor/apparmor_2.13.2.bb
@@ -0,0 +1,160 @@
+SUMMARY = "AppArmor another MAC control system"
+DESCRIPTION = "user-space parser utility for AppArmor \
+ This provides the system initialization scripts needed to use the \
+ AppArmor Mandatory Access Control system, including the AppArmor Parser \
+ which is required to convert AppArmor text profiles into machine-readable \
+ policies that are loaded into the kernel for use with the AppArmor Linux \
+ Security Module."
+HOMEAPAGE = "http://apparmor.net/"
+SECTION = "admin"
+
+LICENSE = "GPLv2 & GPLv2+ & BSD-3-Clause & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fd57a4b0bc782d7b80fd431f10bbf9d0"
+
+DEPENDS = "bison-native apr gettext-native coreutils-native"
+
+SRC_URI = " \
+ http://archive.ubuntu.com/ubuntu/pool/main/a/${BPN}/${BPN}_${PV}.orig.tar.gz \
+ file://disable_perl_h_check.patch \
+ file://crosscompile_perl_bindings.patch \
+ file://apparmor.rc \
+ file://functions \
+ file://apparmor \
+ file://apparmor.service \
+ file://run-ptest \
+ "
+
+SRC_URI[md5sum] = "2439b35266b5a3a461b0a2dba6e863c3"
+SRC_URI[sha256sum] = "844def9926dfda5c7858428d06e44afc80573f9706458b6e7282edbb40b11a30"
+
+PARALLEL_MAKE = ""
+
+inherit pkgconfig autotools-brokensep update-rc.d python3native perlnative ptest cpan manpages systemd
+
+PACKAGECONFIG ??= "python perl"
+PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages"
+PACKAGECONFIG[python] = "--with-python, --without-python, python3 swig-native"
+PACKAGECONFIG[perl] = "--with-perl, --without-perl, perl perl-native swig-native"
+PACKAGECONFIG[apache2] = ",,apache2,"
+
+PAMLIB="${@bb.utils.contains('DISTRO_FEATURES', 'pam', '1', '0', d)}"
+HTTPD="${@bb.utils.contains('PACKAGECONFIG', 'apache2', '1', '0', d)}"
+
+
+python() {
+ if 'apache2' in d.getVar('PACKAGECONFIG').split() and \
+ 'webserver' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-webserver to be present.')
+}
+
+DISABLE_STATIC = ""
+
+do_configure() {
+ cd ${S}/libraries/libapparmor
+ aclocal
+ autoconf --force
+ libtoolize --automake -c --force
+ automake -ac
+ ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+}
+
+do_compile () {
+ # Fixes:
+ # | sed -ie 's///g' Makefile.perl
+ # | sed: -e expression #1, char 0: no previous regular expression
+ #| Makefile:478: recipe for target 'Makefile.perl' failed
+ sed -i "s@sed -ie 's///g' Makefile.perl@@" ${S}/libraries/libapparmor/swig/perl/Makefile
+
+
+ oe_runmake -C ${B}/libraries/libapparmor
+ oe_runmake -C ${B}/binutils
+ oe_runmake -C ${B}/utils
+ oe_runmake -C ${B}/parser
+ oe_runmake -C ${B}/profiles
+
+ if test -z "${HTTPD}" ; then
+ oe_runmake -C ${B}/changehat/mod_apparmor
+ fi
+
+ if test -z "${PAMLIB}" ; then
+ oe_runmake -C ${B}/changehat/pam_apparmor
+ fi
+}
+
+do_install () {
+ install -d ${D}/${INIT_D_DIR}
+ install -d ${D}/lib/apparmor
+
+ oe_runmake -C ${B}/libraries/libapparmor DESTDIR="${D}" install
+ oe_runmake -C ${B}/binutils DESTDIR="${D}" install
+ oe_runmake -C ${B}/utils DESTDIR="${D}" install
+ oe_runmake -C ${B}/parser DESTDIR="${D}" install
+ oe_runmake -C ${B}/profiles DESTDIR="${D}" install
+
+ # If perl is disabled this script won't be any good
+ if ! ${@bb.utils.contains('PACKAGECONFIG','perl','true','false', d)}; then
+ rm -f ${D}${sbindir}/aa-notify
+ fi
+
+ if test -z "${HTTPD}" ; then
+ oe_runmake -C ${B}/changehat/mod_apparmor DESTDIR="${D}" install
+ fi
+
+ if test -z "${PAMLIB}" ; then
+ oe_runmake -C ${B}/changehat/pam_apparmor DESTDIR="${D}" install
+ fi
+
+ # aa-easyprof is installed by python-tools-setup.py, fix it up
+ sed -i -e 's:/usr/bin/env.*:/usr/bin/python3:' ${D}${bindir}/aa-easyprof
+ chmod 0755 ${D}${bindir}/aa-easyprof
+
+ install ${WORKDIR}/apparmor ${D}/${INIT_D_DIR}/apparmor
+ install ${WORKDIR}/functions ${D}/lib/apparmor
+ install -d ${D}${systemd_system_unitdir}
+ install ${WORKDIR}/apparmor.service ${D}${systemd_system_unitdir}
+}
+
+do_compile_ptest () {
+ oe_runmake -C ${B}/tests/regression/apparmor
+ oe_runmake -C ${B}/parser/tst
+ oe_runmake -C ${B}/libraries/libapparmor
+}
+
+do_install_ptest () {
+ t=${D}/${PTEST_PATH}/testsuite
+ install -d ${t}
+ install -d ${t}/tests/regression/apparmor
+ cp -rf ${B}/tests/regression/apparmor ${t}/tests/regression
+
+ install -d ${t}/parser/tst
+ cp -rf ${B}/parser/tst ${t}/parser
+ cp ${B}/parser/apparmor_parser ${t}/parser
+ cp ${B}/parser/frob_slack_rc ${t}/parser
+
+ install -d ${t}/libraries/libapparmor
+ cp -rf ${B}/libraries/libapparmor ${t}/libraries
+
+ install -d ${t}/common
+ cp -rf ${B}/common ${t}
+
+ install -d ${t}/binutils
+ cp -rf ${B}/binutils ${t}
+}
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME = "apparmor"
+INITSCRIPT_PARAMS = "start 16 2 3 4 5 . stop 35 0 1 6 ."
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "apparmor.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+PACKAGES += "mod-${PN}"
+
+FILES_${PN} += "/lib/apparmor/ ${sysconfdir}/apparmor ${PYTHON_SITEPACKAGES_DIR}"
+FILES_mod-${PN} = "${libdir}/apache2/modules/*"
+
+RDEPENDS_${PN} += "bash lsb"
+RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','python','python3 python3-modules','', d)}"
+RDEPENDS_${PN}_remove += "${@bb.utils.contains('PACKAGECONFIG','perl','','perl', d)}"
+RDEPENDS_${PN}-ptest += "perl coreutils dbus-lib bash"
diff --git a/meta-security/recipes-security/AppArmor/files/apparmor b/meta-security/recipes-mac/AppArmor/files/apparmor
index ac3ab9a4a..ac3ab9a4a 100644
--- a/meta-security/recipes-security/AppArmor/files/apparmor
+++ b/meta-security/recipes-mac/AppArmor/files/apparmor
diff --git a/meta-security/recipes-security/AppArmor/files/apparmor.rc b/meta-security/recipes-mac/AppArmor/files/apparmor.rc
index 1507d7b5f..1507d7b5f 100644
--- a/meta-security/recipes-security/AppArmor/files/apparmor.rc
+++ b/meta-security/recipes-mac/AppArmor/files/apparmor.rc
diff --git a/meta-security/recipes-security/AppArmor/files/apparmor.service b/meta-security/recipes-mac/AppArmor/files/apparmor.service
index e66afe4e1..e66afe4e1 100644
--- a/meta-security/recipes-security/AppArmor/files/apparmor.service
+++ b/meta-security/recipes-mac/AppArmor/files/apparmor.service
diff --git a/meta-security/recipes-security/AppArmor/files/crosscompile_perl_bindings.patch b/meta-security/recipes-mac/AppArmor/files/crosscompile_perl_bindings.patch
index ef55de717..ef55de717 100644
--- a/meta-security/recipes-security/AppArmor/files/crosscompile_perl_bindings.patch
+++ b/meta-security/recipes-mac/AppArmor/files/crosscompile_perl_bindings.patch
diff --git a/meta-security/recipes-security/AppArmor/files/disable_pdf.patch b/meta-security/recipes-mac/AppArmor/files/disable_pdf.patch
index c6b4bddc2..c6b4bddc2 100644
--- a/meta-security/recipes-security/AppArmor/files/disable_pdf.patch
+++ b/meta-security/recipes-mac/AppArmor/files/disable_pdf.patch
diff --git a/meta-security/recipes-security/AppArmor/files/disable_perl_h_check.patch b/meta-security/recipes-mac/AppArmor/files/disable_perl_h_check.patch
index cf2640fce..cf2640fce 100644
--- a/meta-security/recipes-security/AppArmor/files/disable_perl_h_check.patch
+++ b/meta-security/recipes-mac/AppArmor/files/disable_perl_h_check.patch
diff --git a/meta-security/recipes-security/AppArmor/files/functions b/meta-security/recipes-mac/AppArmor/files/functions
index cef8cfe7d..cef8cfe7d 100644
--- a/meta-security/recipes-security/AppArmor/files/functions
+++ b/meta-security/recipes-mac/AppArmor/files/functions
diff --git a/meta-security/recipes-security/AppArmor/files/run-ptest b/meta-security/recipes-mac/AppArmor/files/run-ptest
index 3b8e427eb..3b8e427eb 100644
--- a/meta-security/recipes-security/AppArmor/files/run-ptest
+++ b/meta-security/recipes-mac/AppArmor/files/run-ptest
diff --git a/meta-security/recipes-security/smack/files/run-ptest b/meta-security/recipes-mac/smack/files/run-ptest
index 049a9b47a..049a9b47a 100644
--- a/meta-security/recipes-security/smack/files/run-ptest
+++ b/meta-security/recipes-mac/smack/files/run-ptest
diff --git a/meta-security/recipes-security/smack/files/smack_generator_make_fixup.patch b/meta-security/recipes-mac/smack/files/smack_generator_make_fixup.patch
index 4d677e751..4d677e751 100644
--- a/meta-security/recipes-security/smack/files/smack_generator_make_fixup.patch
+++ b/meta-security/recipes-mac/smack/files/smack_generator_make_fixup.patch
diff --git a/meta-security/recipes-security/smack/smack_1.3.1.bb b/meta-security/recipes-mac/smack/smack_1.3.1.bb
index 246562afe..246562afe 100644
--- a/meta-security/recipes-security/smack/smack_1.3.1.bb
+++ b/meta-security/recipes-mac/smack/smack_1.3.1.bb
diff --git a/meta-security/recipes-perl/perl/libwhisker2-perl_2.5.bb b/meta-security/recipes-perl/perl/libwhisker2-perl_2.5.bb
index d9af4300a..71857ab3e 100644
--- a/meta-security/recipes-perl/perl/libwhisker2-perl_2.5.bb
+++ b/meta-security/recipes-perl/perl/libwhisker2-perl_2.5.bb
@@ -24,4 +24,6 @@ do_install() {
oe_runmake install DESTDIR=${D} INSTALLDIR=${PERLLIBDIRS}/vendor_perl/${PERLVERSION} MANDIR=${datadir}/perl/${PERLVERSION}
}
+FILES_${PN} += "${datadir}/perl"
+
BBCLASSEXTEND = "native"
diff --git a/meta-security/recipes-security/AppArmor/apparmor_2.12.bb b/meta-security/recipes-security/AppArmor/apparmor_2.12.bb
deleted file mode 100644
index e3f8dc99c..000000000
--- a/meta-security/recipes-security/AppArmor/apparmor_2.12.bb
+++ /dev/null
@@ -1,159 +0,0 @@
-SUMMARY = "AppArmor another MAC control system"
-DESCRIPTION = "user-space parser utility for AppArmor \
- This provides the system initialization scripts needed to use the \
- AppArmor Mandatory Access Control system, including the AppArmor Parser \
- which is required to convert AppArmor text profiles into machine-readable \
- policies that are loaded into the kernel for use with the AppArmor Linux \
- Security Module."
-HOMEAPAGE = "http://apparmor.net/"
-SECTION = "admin"
-
-LICENSE = "GPLv2 & GPLv2+ & BSD-3-Clause & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fd57a4b0bc782d7b80fd431f10bbf9d0"
-
-DEPENDS = "bison-native apr gettext-native coreutils-native"
-
-SRC_URI = " \
- http://archive.ubuntu.com/ubuntu/pool/main/a/${BPN}/${BPN}_${PV}.orig.tar.gz \
- file://disable_perl_h_check.patch \
- file://crosscompile_perl_bindings.patch \
- file://apparmor.rc \
- file://functions \
- file://apparmor \
- file://apparmor.service \
- file://run-ptest \
- "
-
-SRC_URI[md5sum] = "49054f58042f8e51ea92cc866575a833"
-SRC_URI[sha256sum] = "8a2b0cd083faa4d0640f579024be3a629faa7db3b99540798a1a050e2eaba056"
-
-PARALLEL_MAKE = ""
-
-inherit pkgconfig autotools-brokensep update-rc.d python3native perlnative ptest cpan
-inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
-
-S = "${WORKDIR}/apparmor-${PV}"
-
-PACKAGECONFIG ?="man python perl"
-PACKAGECONFIG[man] = "--enable-man-pages, --disable-man-pages"
-PACKAGECONFIG[python] = "--with-python, --without-python, python3 swig-native"
-PACKAGECONFIG[perl] = "--with-perl, --without-perl, perl perl-native swig-native"
-PACKAGECONFIG[apache2] = ",,apache2,"
-
-PAMLIB="${@bb.utils.contains('DISTRO_FEATURES', 'pam', '1', '0', d)}"
-HTTPD="${@bb.utils.contains('PACKAGECONFIG', 'apache2', '1', '0', d)}"
-
-
-python() {
- if 'apache2' in d.getVar('PACKAGECONFIG').split() and \
- 'webserver' not in d.getVar('BBFILE_COLLECTIONS').split():
- raise bb.parse.SkipRecipe('Requires meta-webserver to be present.')
-}
-
-CONFIGUREOPTS_remove = "--disable-static"
-EXTRA_OECONF_append = " --enable-static"
-
-do_configure() {
- cd ${S}/libraries/libapparmor
- aclocal
- autoconf --force
- libtoolize --automake -c --force
- automake -ac
- ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
- sed -i -e 's#^YACC.*#YACC := bison#' ${S}/parser/Makefile
- sed -i -e 's#^LEX.*#LEX := flex#' ${S}/parser/Makefile
-}
-
-do_compile () {
- oe_runmake -C ${B}/libraries/libapparmor
- oe_runmake -C ${B}/binutils
- oe_runmake -C ${B}/utils
- oe_runmake -C ${B}/parser
- oe_runmake -C ${B}/profiles
-
- if test -z "${HTTPD}" ; then
- oe_runmake -C ${B}/changehat/mod_apparmor
- fi
-
- if test -z "${PAMLIB}" ; then
- oe_runmake -C ${B}/changehat/pam_apparmor
- fi
-}
-
-do_install () {
- install -d ${D}/${INIT_D_DIR}
- install -d ${D}/lib/apparmor
-
- oe_runmake -C ${B}/libraries/libapparmor DESTDIR="${D}" install
- oe_runmake -C ${B}/binutils DESTDIR="${D}" install
- oe_runmake -C ${B}/utils DESTDIR="${D}" install
- oe_runmake -C ${B}/parser DESTDIR="${D}" install
- oe_runmake -C ${B}/profiles DESTDIR="${D}" install
-
- if test -z "${HTTPD}" ; then
- oe_runmake -C ${B}/changehat/mod_apparmor DESTDIR="${D}" install
- fi
-
- if test -z "${PAMLIB}" ; then
- oe_runmake -C ${B}/changehat/pam_apparmor DESTDIR="${D}" install
- fi
-
- # aa-easyprof is installed by python-tools-setup.py, fix it up
- sed -i -e 's:/usr/bin/env.*:/usr/bin/python3:' ${D}${bindir}/aa-easyprof
- chmod 0755 ${D}${bindir}/aa-easyprof
-
- install ${WORKDIR}/apparmor ${D}/${INIT_D_DIR}/apparmor
- install ${WORKDIR}/functions ${D}/lib/apparmor
- if [ "${VIRTUAL-RUNTIME_init_manager}" = "systemd" ]; then
- install -d ${D}${systemd_system_unitdir}
- install ${WORKDIR}/apparmor.service \
- ${D}${systemd_system_unitdir}
- fi
-}
-
-do_compile_ptest () {
- oe_runmake -C ${B}/tests/regression/apparmor
- oe_runmake -C ${B}/parser/tst
- oe_runmake -C ${B}/libraries/libapparmor
-}
-
-do_install_ptest () {
- t=${D}/${PTEST_PATH}/testsuite
- install -d ${t}
- install -d ${t}/tests/regression/apparmor
- cp -rf ${B}/tests/regression/apparmor ${t}/tests/regression
-
- install -d ${t}/parser/tst
- cp -rf ${B}/parser/tst ${t}/parser
- cp ${B}/parser/apparmor_parser ${t}/parser
- cp ${B}/parser/frob_slack_rc ${t}/parser
-
- install -d ${t}/libraries/libapparmor
- cp -rf ${B}/libraries/libapparmor ${t}/libraries
-
- install -d ${t}/common
- cp -rf ${B}/common ${t}
-
- install -d ${t}/binutils
- cp -rf ${B}/binutils ${t}
-}
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME = "apparmor"
-INITSCRIPT_PARAMS = "start 16 2 3 4 5 . stop 35 0 1 6 ."
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "apparmor.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'mod-${PN}', '', d)}"
-
-FILES_${PN} += "/lib/apparmor/ ${sysconfdir}/apparmor ${PYTHON_SITEPACKAGES_DIR}"
-FILES_mod-${PN} = "${libdir}/apache2/modules/*"
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "bash lsb"
-RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','python','python3 python3-modules','', d)}"
-RDEPENDS_${PN}_remove += "${@bb.utils.contains('PACKAGECONFIG','perl','','perl', d)}"
-RDEPENDS_${PN}-ptest += "perl coreutils dbus-lib"
diff --git a/meta-security/recipes-security/checksec/checksec_1.11.bb b/meta-security/recipes-security/checksec/checksec_1.11.bb
new file mode 100644
index 000000000..59a67bd65
--- /dev/null
+++ b/meta-security/recipes-security/checksec/checksec_1.11.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Linux system security checks"
+DESCRIPTION = "The checksec script is designed to test what standard Linux OS and PaX security features are being used."
+SECTION = "security"
+LICENSE = "BSD"
+HOMEPAGE="https://github.com/slimm609/checksec.sh"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=93fddcca19f6c897871f9b5f9a035f4a"
+
+SRCREV = "a57e03c4f62dbaca0ec949bbc58491fb0c461447"
+SRC_URI = "git://github.com/slimm609/checksec.sh"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/checksec ${D}${bindir}
+}
+
+RDEPENDS_${PN} = "bash openssl-bin"
diff --git a/meta-security/recipes-security/checksec/checksec_1.5.bb b/meta-security/recipes-security/checksec/checksec_1.5.bb
deleted file mode 100644
index 07f0f7c79..000000000
--- a/meta-security/recipes-security/checksec/checksec_1.5.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Program radominization"
-DESCRIPTION = "The checksec.sh script is designed to test what standard Linux OS and PaX security features are being used."
-SECTION = "security"
-LICENSE = "BSD"
-HOMEPAGE="http://www.trapkit.de/tools/checksec.html"
-
-LIC_FILES_CHKSUM = "file://checksec.sh;md5=075996be339ab16ad7b94d6de3ee07bd"
-
-SRC_URI = "file://checksec.sh"
-
-S = "${WORKDIR}"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/checksec.sh ${D}${bindir}
-}
-
-RDEPENDS_${PN} = "bash"
diff --git a/meta-security/recipes-security/checksec/files/checksec.sh b/meta-security/recipes-security/checksec/files/checksec.sh
deleted file mode 100644
index dd1f72e54..000000000
--- a/meta-security/recipes-security/checksec/files/checksec.sh
+++ /dev/null
@@ -1,882 +0,0 @@
-#!/bin/bash
-#
-# The BSD License (http://www.opensource.org/licenses/bsd-license.php)
-# specifies the terms and conditions of use for checksec.sh:
-#
-# Copyright (c) 2009-2011, Tobias Klein.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Tobias Klein nor the name of trapkit.de may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
-# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-# DAMAGE.
-#
-# Name : checksec.sh
-# Version : 1.5
-# Author : Tobias Klein
-# Date : November 2011
-# Download: http://www.trapkit.de/tools/checksec.html
-# Changes : http://www.trapkit.de/tools/checksec_changes.txt
-#
-# Description:
-#
-# Modern Linux distributions offer some mitigation techniques to make it
-# harder to exploit software vulnerabilities reliably. Mitigations such
-# as RELRO, NoExecute (NX), Stack Canaries, Address Space Layout
-# Randomization (ASLR) and Position Independent Executables (PIE) have
-# made reliably exploiting any vulnerabilities that do exist far more
-# challenging. The checksec.sh script is designed to test what *standard*
-# Linux OS and PaX (http://pax.grsecurity.net/) security features are being
-# used.
-#
-# As of version 1.3 the script also lists the status of various Linux kernel
-# protection mechanisms.
-#
-# Credits:
-#
-# Thanks to Brad Spengler (grsecurity.net) for the PaX support.
-# Thanks to Jon Oberheide (jon.oberheide.org) for the kernel support.
-# Thanks to Ollie Whitehouse (Research In Motion) for rpath/runpath support.
-#
-# Others that contributed to checksec.sh (in no particular order):
-#
-# Simon Ruderich, Denis Scherbakov, Stefan Kuttler, Radoslaw Madej,
-# Anthony G. Basile, Martin Vaeth and Brian Davis.
-#
-
-# global vars
-have_readelf=1
-verbose=false
-
-# FORTIFY_SOURCE vars
-FS_end=_chk
-FS_cnt_total=0
-FS_cnt_checked=0
-FS_cnt_unchecked=0
-FS_chk_func_libc=0
-FS_functions=0
-FS_libc=0
-
-# version information
-version() {
- echo "checksec v1.5, Tobias Klein, www.trapkit.de, November 2011"
- echo
-}
-
-# help
-help() {
- echo "Usage: checksec [OPTION]"
- echo
- echo "Options:"
- echo
- echo " --file <executable-file>"
- echo " --dir <directory> [-v]"
- echo " --proc <process name>"
- echo " --proc-all"
- echo " --proc-libs <process ID>"
- echo " --kernel"
- echo " --fortify-file <executable-file>"
- echo " --fortify-proc <process ID>"
- echo " --version"
- echo " --help"
- echo
- echo "For more information, see:"
- echo " http://www.trapkit.de/tools/checksec.html"
- echo
-}
-
-# check if command exists
-command_exists () {
- type $1 > /dev/null 2>&1;
-}
-
-# check if directory exists
-dir_exists () {
- if [ -d $1 ] ; then
- return 0
- else
- return 1
- fi
-}
-
-# check user privileges
-root_privs () {
- if [ $(/usr/bin/id -u) -eq 0 ] ; then
- return 0
- else
- return 1
- fi
-}
-
-# check if input is numeric
-isNumeric () {
- echo "$@" | grep -q -v "[^0-9]"
-}
-
-# check if input is a string
-isString () {
- echo "$@" | grep -q -v "[^A-Za-z]"
-}
-
-# check file(s)
-filecheck() {
- # check for RELRO support
- if readelf -l $1 2>/dev/null | grep -q 'GNU_RELRO'; then
- if readelf -d $1 2>/dev/null | grep -q 'BIND_NOW'; then
- echo -n -e '\033[32mFull RELRO \033[m '
- else
- echo -n -e '\033[33mPartial RELRO\033[m '
- fi
- else
- echo -n -e '\033[31mNo RELRO \033[m '
- fi
-
- # check for stack canary support
- if readelf -s $1 2>/dev/null | grep -q '__stack_chk_fail'; then
- echo -n -e '\033[32mCanary found \033[m '
- else
- echo -n -e '\033[31mNo canary found\033[m '
- fi
-
- # check for NX support
- if readelf -W -l $1 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; then
- echo -n -e '\033[31mNX disabled\033[m '
- else
- echo -n -e '\033[32mNX enabled \033[m '
- fi
-
- # check for PIE support
- if readelf -h $1 2>/dev/null | grep -q 'Type:[[:space:]]*EXEC'; then
- echo -n -e '\033[31mNo PIE \033[m '
- elif readelf -h $1 2>/dev/null | grep -q 'Type:[[:space:]]*DYN'; then
- if readelf -d $1 2>/dev/null | grep -q '(DEBUG)'; then
- echo -n -e '\033[32mPIE enabled \033[m '
- else
- echo -n -e '\033[33mDSO \033[m '
- fi
- else
- echo -n -e '\033[33mNot an ELF file\033[m '
- fi
-
- # check for rpath / run path
- if readelf -d $1 2>/dev/null | grep -q 'rpath'; then
- echo -n -e '\033[31mRPATH \033[m '
- else
- echo -n -e '\033[32mNo RPATH \033[m '
- fi
-
- if readelf -d $1 2>/dev/null | grep -q 'runpath'; then
- echo -n -e '\033[31mRUNPATH \033[m '
- else
- echo -n -e '\033[32mNo RUNPATH \033[m '
- fi
-}
-
-# check process(es)
-proccheck() {
- # check for RELRO support
- if readelf -l $1/exe 2>/dev/null | grep -q 'Program Headers'; then
- if readelf -l $1/exe 2>/dev/null | grep -q 'GNU_RELRO'; then
- if readelf -d $1/exe 2>/dev/null | grep -q 'BIND_NOW'; then
- echo -n -e '\033[32mFull RELRO \033[m '
- else
- echo -n -e '\033[33mPartial RELRO \033[m '
- fi
- else
- echo -n -e '\033[31mNo RELRO \033[m '
- fi
- else
- echo -n -e '\033[31mPermission denied (please run as root)\033[m\n'
- exit 1
- fi
-
- # check for stack canary support
- if readelf -s $1/exe 2>/dev/null | grep -q 'Symbol table'; then
- if readelf -s $1/exe 2>/dev/null | grep -q '__stack_chk_fail'; then
- echo -n -e '\033[32mCanary found \033[m '
- else
- echo -n -e '\033[31mNo canary found \033[m '
- fi
- else
- if [ "$1" != "1" ] ; then
- echo -n -e '\033[33mPermission denied \033[m '
- else
- echo -n -e '\033[33mNo symbol table found\033[m '
- fi
- fi
-
- # first check for PaX support
- if cat $1/status 2> /dev/null | grep -q 'PaX:'; then
- pageexec=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b6) )
- segmexec=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b10) )
- mprotect=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b8) )
- randmmap=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b9) )
- if [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "M" && "$randmmap" = "R" ]] ; then
- echo -n -e '\033[32mPaX enabled\033[m '
- elif [[ "$pageexec" = "p" && "$segmexec" = "s" && "$randmmap" = "R" ]] ; then
- echo -n -e '\033[33mPaX ASLR only\033[m '
- elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "m" && "$randmmap" = "R" ]] ; then
- echo -n -e '\033[33mPaX mprot off \033[m'
- elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "M" && "$randmmap" = "r" ]] ; then
- echo -n -e '\033[33mPaX ASLR off\033[m '
- elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "m" && "$randmmap" = "r" ]] ; then
- echo -n -e '\033[33mPaX NX only\033[m '
- else
- echo -n -e '\033[31mPaX disabled\033[m '
- fi
- # fallback check for NX support
- elif readelf -W -l $1/exe 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; then
- echo -n -e '\033[31mNX disabled\033[m '
- else
- echo -n -e '\033[32mNX enabled \033[m '
- fi
-
- # check for PIE support
- if readelf -h $1/exe 2>/dev/null | grep -q 'Type:[[:space:]]*EXEC'; then
- echo -n -e '\033[31mNo PIE \033[m '
- elif readelf -h $1/exe 2>/dev/null | grep -q 'Type:[[:space:]]*DYN'; then
- if readelf -d $1/exe 2>/dev/null | grep -q '(DEBUG)'; then
- echo -n -e '\033[32mPIE enabled \033[m '
- else
- echo -n -e '\033[33mDynamic Shared Object\033[m '
- fi
- else
- echo -n -e '\033[33mNot an ELF file \033[m '
- fi
-}
-
-# check mapped libraries
-libcheck() {
- libs=( $(awk '{ print $6 }' /proc/$1/maps | grep '/' | sort -u | xargs file | grep ELF | awk '{ print $1 }' | sed 's/:/ /') )
-
- printf "\n* Loaded libraries (file information, # of mapped files: ${#libs[@]}):\n\n"
-
- for element in $(seq 0 $((${#libs[@]} - 1)))
- do
- echo " ${libs[$element]}:"
- echo -n " "
- filecheck ${libs[$element]}
- printf "\n\n"
- done
-}
-
-# check for system-wide ASLR support
-aslrcheck() {
- # PaX ASLR support
- if !(cat /proc/1/status 2> /dev/null | grep -q 'Name:') ; then
- echo -n -e ':\033[33m insufficient privileges for PaX ASLR checks\033[m\n'
- echo -n -e ' Fallback to standard Linux ASLR check'
- fi
-
- if cat /proc/1/status 2> /dev/null | grep -q 'PaX:'; then
- printf ": "
- if cat /proc/1/status 2> /dev/null | grep 'PaX:' | grep -q 'R'; then
- echo -n -e '\033[32mPaX ASLR enabled\033[m\n\n'
- else
- echo -n -e '\033[31mPaX ASLR disabled\033[m\n\n'
- fi
- else
- # standard Linux 'kernel.randomize_va_space' ASLR support
- # (see the kernel file 'Documentation/sysctl/kernel.txt' for a detailed description)
- printf " (kernel.randomize_va_space): "
- if /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 1'; then
- echo -n -e '\033[33mOn (Setting: 1)\033[m\n\n'
- printf " Description - Make the addresses of mmap base, stack and VDSO page randomized.\n"
- printf " This, among other things, implies that shared libraries will be loaded to \n"
- printf " random addresses. Also for PIE-linked binaries, the location of code start\n"
- printf " is randomized. Heap addresses are *not* randomized.\n\n"
- elif /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 2'; then
- echo -n -e '\033[32mOn (Setting: 2)\033[m\n\n'
- printf " Description - Make the addresses of mmap base, heap, stack and VDSO page randomized.\n"
- printf " This, among other things, implies that shared libraries will be loaded to random \n"
- printf " addresses. Also for PIE-linked binaries, the location of code start is randomized.\n\n"
- elif /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 0'; then
- echo -n -e '\033[31mOff (Setting: 0)\033[m\n'
- else
- echo -n -e '\033[31mNot supported\033[m\n'
- fi
- printf " See the kernel file 'Documentation/sysctl/kernel.txt' for more details.\n\n"
- fi
-}
-
-# check cpu nx flag
-nxcheck() {
- if grep -q nx /proc/cpuinfo; then
- echo -n -e '\033[32mYes\033[m\n\n'
- else
- echo -n -e '\033[31mNo\033[m\n\n'
- fi
-}
-
-# check for kernel protection mechanisms
-kernelcheck() {
- printf " Description - List the status of kernel protection mechanisms. Rather than\n"
- printf " inspect kernel mechanisms that may aid in the prevention of exploitation of\n"
- printf " userspace processes, this option lists the status of kernel configuration\n"
- printf " options that harden the kernel itself against attack.\n\n"
- printf " Kernel config: "
-
- if [ -f /proc/config.gz ] ; then
- kconfig="zcat /proc/config.gz"
- printf "\033[32m/proc/config.gz\033[m\n\n"
- elif [ -f /boot/config-`uname -r` ] ; then
- kconfig="cat /boot/config-`uname -r`"
- printf "\033[33m/boot/config-`uname -r`\033[m\n\n"
- printf " Warning: The config on disk may not represent running kernel config!\n\n";
- elif [ -f "${KBUILD_OUTPUT:-/usr/src/linux}"/.config ] ; then
- kconfig="cat ${KBUILD_OUTPUT:-/usr/src/linux}/.config"
- printf "\033[33m%s\033[m\n\n" "${KBUILD_OUTPUT:-/usr/src/linux}/.config"
- printf " Warning: The config on disk may not represent running kernel config!\n\n";
- else
- printf "\033[31mNOT FOUND\033[m\n\n"
- exit 0
- fi
-
- printf " GCC stack protector support: "
- if $kconfig | grep -qi 'CONFIG_CC_STACKPROTECTOR=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Strict user copy checks: "
- if $kconfig | grep -qi 'CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Enforce read-only kernel data: "
- if $kconfig | grep -qi 'CONFIG_DEBUG_RODATA=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
- printf " Restrict /dev/mem access: "
- if $kconfig | grep -qi 'CONFIG_STRICT_DEVMEM=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Restrict /dev/kmem access: "
- if $kconfig | grep -qi 'CONFIG_DEVKMEM=y'; then
- printf "\033[31mDisabled\033[m\n"
- else
- printf "\033[32mEnabled\033[m\n"
- fi
-
- printf "\n"
- printf "* grsecurity / PaX: "
-
- if $kconfig | grep -qi 'CONFIG_GRKERNSEC=y'; then
- if $kconfig | grep -qi 'CONFIG_GRKERNSEC_HIGH=y'; then
- printf "\033[32mHigh GRKERNSEC\033[m\n\n"
- elif $kconfig | grep -qi 'CONFIG_GRKERNSEC_MEDIUM=y'; then
- printf "\033[33mMedium GRKERNSEC\033[m\n\n"
- elif $kconfig | grep -qi 'CONFIG_GRKERNSEC_LOW=y'; then
- printf "\033[31mLow GRKERNSEC\033[m\n\n"
- else
- printf "\033[33mCustom GRKERNSEC\033[m\n\n"
- fi
-
- printf " Non-executable kernel pages: "
- if $kconfig | grep -qi 'CONFIG_PAX_KERNEXEC=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Prevent userspace pointer deref: "
- if $kconfig | grep -qi 'CONFIG_PAX_MEMORY_UDEREF=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Prevent kobject refcount overflow: "
- if $kconfig | grep -qi 'CONFIG_PAX_REFCOUNT=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Bounds check heap object copies: "
- if $kconfig | grep -qi 'CONFIG_PAX_USERCOPY=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Disable writing to kmem/mem/port: "
- if $kconfig | grep -qi 'CONFIG_GRKERNSEC_KMEM=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Disable privileged I/O: "
- if $kconfig | grep -qi 'CONFIG_GRKERNSEC_IO=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Harden module auto-loading: "
- if $kconfig | grep -qi 'CONFIG_GRKERNSEC_MODHARDEN=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
-
- printf " Hide kernel symbols: "
- if $kconfig | grep -qi 'CONFIG_GRKERNSEC_HIDESYM=y'; then
- printf "\033[32mEnabled\033[m\n"
- else
- printf "\033[31mDisabled\033[m\n"
- fi
- else
- printf "\033[31mNo GRKERNSEC\033[m\n\n"
- printf " The grsecurity / PaX patchset is available here:\n"
- printf " http://grsecurity.net/\n"
- fi
-
- printf "\n"
- printf "* Kernel Heap Hardening: "
-
- if $kconfig | grep -qi 'CONFIG_KERNHEAP=y'; then
- if $kconfig | grep -qi 'CONFIG_KERNHEAP_FULLPOISON=y'; then
- printf "\033[32mFull KERNHEAP\033[m\n\n"
- else
- printf "\033[33mPartial KERNHEAP\033[m\n\n"
- fi
- else
- printf "\033[31mNo KERNHEAP\033[m\n\n"
- printf " The KERNHEAP hardening patchset is available here:\n"
- printf " https://www.subreption.com/kernheap/\n\n"
- fi
-}
-
-# --- FORTIFY_SOURCE subfunctions (start) ---
-
-# is FORTIFY_SOURCE supported by libc?
-FS_libc_check() {
- printf "* FORTIFY_SOURCE support available (libc) : "
-
- if [ "${#FS_chk_func_libc[@]}" != "0" ] ; then
- printf "\033[32mYes\033[m\n"
- else
- printf "\033[31mNo\033[m\n"
- exit 1
- fi
-}
-
-# was the binary compiled with FORTIFY_SOURCE?
-FS_binary_check() {
- printf "* Binary compiled with FORTIFY_SOURCE support: "
-
- for FS_elem_functions in $(seq 0 $((${#FS_functions[@]} - 1)))
- do
- if [[ ${FS_functions[$FS_elem_functions]} =~ _chk ]] ; then
- printf "\033[32mYes\033[m\n"
- return
- fi
- done
- printf "\033[31mNo\033[m\n"
- exit 1
-}
-
-FS_comparison() {
- echo
- printf " ------ EXECUTABLE-FILE ------- . -------- LIBC --------\n"
- printf " FORTIFY-able library functions | Checked function names\n"
- printf " -------------------------------------------------------\n"
-
- for FS_elem_libc in $(seq 0 $((${#FS_chk_func_libc[@]} - 1)))
- do
- for FS_elem_functions in $(seq 0 $((${#FS_functions[@]} - 1)))
- do
- FS_tmp_func=${FS_functions[$FS_elem_functions]}
- FS_tmp_libc=${FS_chk_func_libc[$FS_elem_libc]}
-
- if [[ $FS_tmp_func =~ ^$FS_tmp_libc$ ]] ; then
- printf " \033[31m%-30s\033[m | __%s%s\n" $FS_tmp_func $FS_tmp_libc $FS_end
- let FS_cnt_total++
- let FS_cnt_unchecked++
- elif [[ $FS_tmp_func =~ ^$FS_tmp_libc(_chk) ]] ; then
- printf " \033[32m%-30s\033[m | __%s%s\n" $FS_tmp_func $FS_tmp_libc $FS_end
- let FS_cnt_total++
- let FS_cnt_checked++
- fi
-
- done
- done
-}
-
-FS_summary() {
- echo
- printf "SUMMARY:\n\n"
- printf "* Number of checked functions in libc : ${#FS_chk_func_libc[@]}\n"
- printf "* Total number of library functions in the executable: ${#FS_functions[@]}\n"
- printf "* Number of FORTIFY-able functions in the executable : %s\n" $FS_cnt_total
- printf "* Number of checked functions in the executable : \033[32m%s\033[m\n" $FS_cnt_checked
- printf "* Number of unchecked functions in the executable : \033[31m%s\033[m\n" $FS_cnt_unchecked
- echo
-}
-
-# --- FORTIFY_SOURCE subfunctions (end) ---
-
-if !(command_exists readelf) ; then
- printf "\033[31mWarning: 'readelf' not found! It's required for most checks.\033[m\n\n"
- have_readelf=0
-fi
-
-# parse command-line arguments
-case "$1" in
-
- --version)
- version
- exit 0
- ;;
-
- --help)
- help
- exit 0
- ;;
-
- --dir)
- if [ "$3" = "-v" ] ; then
- verbose=true
- fi
- if [ $have_readelf -eq 0 ] ; then
- exit 1
- fi
- if [ -z "$2" ] ; then
- printf "\033[31mError: Please provide a valid directory.\033[m\n\n"
- exit 1
- fi
- # remove trailing slashes
- tempdir=`echo $2 | sed -e "s/\/*$//"`
- if [ ! -d $tempdir ] ; then
- printf "\033[31mError: The directory '$tempdir' does not exist.\033[m\n\n"
- exit 1
- fi
- cd $tempdir
- printf "RELRO STACK CANARY NX PIE RPATH RUNPATH FILE\n"
- for N in [A-Za-z]*; do
- if [ "$N" != "[A-Za-z]*" ]; then
- # read permissions?
- if [ ! -r $N ]; then
- printf "\033[31mError: No read permissions for '$tempdir/$N' (run as root).\033[m\n"
- else
- # ELF executable?
- out=`file $N`
- if [[ ! $out =~ ELF ]] ; then
- if [ "$verbose" = "true" ] ; then
- printf "\033[34m*** Not an ELF file: $tempdir/"
- file $N
- printf "\033[m"
- fi
- else
- filecheck $N
- if [ `find $tempdir/$N \( -perm -004000 -o -perm -002000 \) -type f -print` ]; then
- printf "\033[37;41m%s%s\033[m" $2 $N
- else
- printf "%s%s" $tempdir/ $N
- fi
- echo
- fi
- fi
- fi
- done
- exit 0
- ;;
-
- --file)
- if [ $have_readelf -eq 0 ] ; then
- exit 1
- fi
- if [ -z "$2" ] ; then
- printf "\033[31mError: Please provide a valid file.\033[m\n\n"
- exit 1
- fi
- # does the file exist?
- if [ ! -e $2 ] ; then
- printf "\033[31mError: The file '$2' does not exist.\033[m\n\n"
- exit 1
- fi
- # read permissions?
- if [ ! -r $2 ] ; then
- printf "\033[31mError: No read permissions for '$2' (run as root).\033[m\n\n"
- exit 1
- fi
- # ELF executable?
- out=`file $2`
- if [[ ! $out =~ ELF ]] ; then
- printf "\033[31mError: Not an ELF file: "
- file $2
- printf "\033[m\n"
- exit 1
- fi
- printf "RELRO STACK CANARY NX PIE RPATH RUNPATH FILE\n"
- filecheck $2
- if [ `find $2 \( -perm -004000 -o -perm -002000 \) -type f -print` ] ; then
- printf "\033[37;41m%s%s\033[m" $2 $N
- else
- printf "%s" $2
- fi
- echo
- exit 0
- ;;
-
- --proc-all)
- if [ $have_readelf -eq 0 ] ; then
- exit 1
- fi
- cd /proc
- printf "* System-wide ASLR"
- aslrcheck
- printf "* Does the CPU support NX: "
- nxcheck
- printf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"
- for N in [1-9]*; do
- if [ $N != $$ ] && readlink -q $N/exe > /dev/null; then
- printf "%16s" `head -1 $N/status | cut -b 7-`
- printf "%7d " $N
- proccheck $N
- echo
- fi
- done
- if [ ! -e /usr/bin/id ] ; then
- printf "\n\033[33mNote: If you are running 'checksec.sh' as an unprivileged user, you\n"
- printf " will not see all processes. Please run the script as root.\033[m\n\n"
- else
- if !(root_privs) ; then
- printf "\n\033[33mNote: You are running 'checksec.sh' as an unprivileged user.\n"
- printf " Too see all processes, please run the script as root.\033[m\n\n"
- fi
- fi
- exit 0
- ;;
-
- --proc)
- if [ $have_readelf -eq 0 ] ; then
- exit 1
- fi
- if [ -z "$2" ] ; then
- printf "\033[31mError: Please provide a valid process name.\033[m\n\n"
- exit 1
- fi
- if !(isString "$2") ; then
- printf "\033[31mError: Please provide a valid process name.\033[m\n\n"
- exit 1
- fi
- cd /proc
- printf "* System-wide ASLR"
- aslrcheck
- printf "* Does the CPU support NX: "
- nxcheck
- printf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"
- for N in `ps -Ao pid,comm | grep $2 | cut -b1-6`; do
- if [ -d $N ] ; then
- printf "%16s" `head -1 $N/status | cut -b 7-`
- printf "%7d " $N
- # read permissions?
- if [ ! -r $N/exe ] ; then
- if !(root_privs) ; then
- printf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"
- exit 1
- fi
- if [ ! `readlink $N/exe` ] ; then
- printf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"
- exit 1
- fi
- exit 1
- fi
- proccheck $N
- echo
- fi
- done
- exit 0
- ;;
-
- --proc-libs)
- if [ $have_readelf -eq 0 ] ; then
- exit 1
- fi
- if [ -z "$2" ] ; then
- printf "\033[31mError: Please provide a valid process ID.\033[m\n\n"
- exit 1
- fi
- if !(isNumeric "$2") ; then
- printf "\033[31mError: Please provide a valid process ID.\033[m\n\n"
- exit 1
- fi
- cd /proc
- printf "* System-wide ASLR"
- aslrcheck
- printf "* Does the CPU support NX: "
- nxcheck
- printf "* Process information:\n\n"
- printf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"
- N=$2
- if [ -d $N ] ; then
- printf "%16s" `head -1 $N/status | cut -b 7-`
- printf "%7d " $N
- # read permissions?
- if [ ! -r $N/exe ] ; then
- if !(root_privs) ; then
- printf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"
- exit 1
- fi
- if [ ! `readlink $N/exe` ] ; then
- printf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"
- exit 1
- fi
- exit 1
- fi
- proccheck $N
- echo
- libcheck $N
- fi
- exit 0
- ;;
-
- --kernel)
- cd /proc
- printf "* Kernel protection information:\n\n"
- kernelcheck
- exit 0
- ;;
-
- --fortify-file)
- if [ $have_readelf -eq 0 ] ; then
- exit 1
- fi
- if [ -z "$2" ] ; then
- printf "\033[31mError: Please provide a valid file.\033[m\n\n"
- exit 1
- fi
- # does the file exist?
- if [ ! -e $2 ] ; then
- printf "\033[31mError: The file '$2' does not exist.\033[m\n\n"
- exit 1
- fi
- # read permissions?
- if [ ! -r $2 ] ; then
- printf "\033[31mError: No read permissions for '$2' (run as root).\033[m\n\n"
- exit 1
- fi
- # ELF executable?
- out=`file $2`
- if [[ ! $out =~ ELF ]] ; then
- printf "\033[31mError: Not an ELF file: "
- file $2
- printf "\033[m\n"
- exit 1
- fi
- if [ -e /lib/libc.so.6 ] ; then
- FS_libc=/lib/libc.so.6
- elif [ -e /lib64/libc.so.6 ] ; then
- FS_libc=/lib64/libc.so.6
- elif [ -e /lib/i386-linux-gnu/libc.so.6 ] ; then
- FS_libc=/lib/i386-linux-gnu/libc.so.6
- elif [ -e /lib/x86_64-linux-gnu/libc.so.6 ] ; then
- FS_libc=/lib/x86_64-linux-gnu/libc.so.6
- else
- printf "\033[31mError: libc not found.\033[m\n\n"
- exit 1
- fi
-
- FS_chk_func_libc=( $(readelf -s $FS_libc | grep _chk@@ | awk '{ print $8 }' | cut -c 3- | sed -e 's/_chk@.*//') )
- FS_functions=( $(readelf -s $2 | awk '{ print $8 }' | sed 's/_*//' | sed -e 's/@.*//') )
-
- FS_libc_check
- FS_binary_check
- FS_comparison
- FS_summary
-
- exit 0
- ;;
-
- --fortify-proc)
- if [ $have_readelf -eq 0 ] ; then
- exit 1
- fi
- if [ -z "$2" ] ; then
- printf "\033[31mError: Please provide a valid process ID.\033[m\n\n"
- exit 1
- fi
- if !(isNumeric "$2") ; then
- printf "\033[31mError: Please provide a valid process ID.\033[m\n\n"
- exit 1
- fi
- cd /proc
- N=$2
- if [ -d $N ] ; then
- # read permissions?
- if [ ! -r $N/exe ] ; then
- if !(root_privs) ; then
- printf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"
- exit 1
- fi
- if [ ! `readlink $N/exe` ] ; then
- printf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"
- exit 1
- fi
- exit 1
- fi
- if [ -e /lib/libc.so.6 ] ; then
- FS_libc=/lib/libc.so.6
- elif [ -e /lib64/libc.so.6 ] ; then
- FS_libc=/lib64/libc.so.6
- elif [ -e /lib/i386-linux-gnu/libc.so.6 ] ; then
- FS_libc=/lib/i386-linux-gnu/libc.so.6
- elif [ -e /lib/x86_64-linux-gnu/libc.so.6 ] ; then
- FS_libc=/lib/x86_64-linux-gnu/libc.so.6
- else
- printf "\033[31mError: libc not found.\033[m\n\n"
- exit 1
- fi
- printf "* Process name (PID) : %s (%d)\n" `head -1 $N/status | cut -b 7-` $N
- FS_chk_func_libc=( $(readelf -s $FS_libc | grep _chk@@ | awk '{ print $8 }' | cut -c 3- | sed -e 's/_chk@.*//') )
- FS_functions=( $(readelf -s $2/exe | awk '{ print $8 }' | sed 's/_*//' | sed -e 's/@.*//') )
-
- FS_libc_check
- FS_binary_check
- FS_comparison
- FS_summary
- fi
- exit 0
- ;;
-
- *)
- if [ "$#" != "0" ] ; then
- printf "\033[31mError: Unknown option '$1'.\033[m\n\n"
- fi
- help
- exit 1
- ;;
-esac
diff --git a/meta-security/recipes-security/clamav/clamav_0.99.4.bb b/meta-security/recipes-security/clamav/clamav_0.99.4.bb
index 8c2c2fa2f..6219d9ed2 100644
--- a/meta-security/recipes-security/clamav/clamav_0.99.4.bb
+++ b/meta-security/recipes-security/clamav/clamav_0.99.4.bb
@@ -31,17 +31,13 @@ GID = "clamav"
# Clamav has a built llvm version 2 but does not build with gcc 6.x,
# disable the internal one. This is a known issue
-# If you want LLVM support, use meta-oe llvm3.3 to build for GCC 6.X,
-# as defined below
+# If you want LLVM support, use the one in core
-CLAMAV_LLVM ?= "oellvm"
-CLAMAV_LLVM_RELEASE ?= "6.0"
-
-PACKAGECONFIG ?= "ncurses openssl bz2 zlib ${CLAMAV_LLVM}"
+PACKAGECONFIG ?= "ncurses openssl bz2 zlib llvm"
PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}"
PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-PACKAGECONFIG[oellvm] = "--with-system-llvm --with-llvm-linking=dynamic --disable-llvm, ,llvm${CLAMAV_LLVM_RELEASE}"
+PACKAGECONFIG[llvm] = "--with-system-llvm --with-llvm-linking=dynamic --disable-llvm, ,llvm8.0"
PACKAGECONFIG[pcre] = "--with-pcre=${STAGING_LIBDIR}, --without-pcre, libpcre"
PACKAGECONFIG[xml] = "--with-xml=${STAGING_LIBDIR}/.., --with-xml=no, libxml2,"
diff --git a/meta-security/recipes-security/fail2ban/python-fail2ban.inc b/meta-security/recipes-security/fail2ban/python-fail2ban.inc
index 9245f17b1..7270ed8ac 100644
--- a/meta-security/recipes-security/fail2ban/python-fail2ban.inc
+++ b/meta-security/recipes-security/fail2ban/python-fail2ban.inc
@@ -9,7 +9,7 @@ HOMEPAGE = "http://www.fail2ban.org"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=ecabc31e90311da843753ba772885d9f"
-SRCREV ="ac0d441fd68852ffda7b15c71f16b7f4fde1a7ee"
+SRCREV ="aa565eb80ec6043317e8430cabcaf9c3f4e61578"
SRC_URI = " \
git://github.com/fail2ban/fail2ban.git;branch=0.11 \
file://initd \
diff --git a/meta-security/recipes-security/fail2ban/python-fail2ban_0.10.3.1.bb b/meta-security/recipes-security/fail2ban/python-fail2ban_0.10.4.0.bb
index 17a7dd8dd..17a7dd8dd 100644
--- a/meta-security/recipes-security/fail2ban/python-fail2ban_0.10.3.1.bb
+++ b/meta-security/recipes-security/fail2ban/python-fail2ban_0.10.4.0.bb
diff --git a/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.3.1.bb b/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb
index 5c887e857..5c887e857 100644
--- a/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.3.1.bb
+++ b/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb
diff --git a/meta-security/recipes-security/keyutils/files/keyutils-use-relative-path-for-link.patch b/meta-security/recipes-security/keyutils/files/keyutils-use-relative-path-for-link.patch
deleted file mode 100644
index dde1af44a..000000000
--- a/meta-security/recipes-security/keyutils/files/keyutils-use-relative-path-for-link.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 824bbbf..8ce3a13 100644
---- a/Makefile
-+++ b/Makefile
-@@ -167,7 +167,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)
- endif
- $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl
- $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key
---
-2.11.0
-
diff --git a/meta-security/recipes-security/keyutils/keyutils_1.5.10.bb b/meta-security/recipes-security/keyutils/keyutils_1.5.10.bb
deleted file mode 100644
index a4222b9e9..000000000
--- a/meta-security/recipes-security/keyutils/keyutils_1.5.10.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-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 ptest
-
-SRC_URI = "http://people.redhat.com/dhowells/keyutils/${BP}.tar.bz2 \
- file://keyutils-use-relative-path-for-link.patch \
- file://keyutils-test-fix-output-format.patch \
- file://keyutils-fix-error-report-by-adding-default-message.patch \
- file://run-ptest \
- "
-
-SRC_URI[md5sum] = "3771676319bc7b84b1549b5c63ff5243"
-SRC_URI[sha256sum] = "115c3deae7f181778fd0e0ffaa2dad1bf1fe2f5677cf2e0e348cdb7a1c93afb6"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \
- NO_ARLIB=1 \
- BINDIR=${base_bindir} \
- SBINDIR=${base_sbindir} \
- LIBDIR=${base_libdir} \
- USRLIBDIR=${base_libdir} \
- BUILDFOR=${SITEINFO_BITS}-bit \
- NO_GLIBC_KEYERR=1 \
- "
-
-do_install () {
- oe_runmake DESTDIR=${D} install
-}
-
-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 += "glibc-utils"
diff --git a/meta-security/recipes-security/keyutils/keyutils_1.6.bb b/meta-security/recipes-security/keyutils/keyutils_1.6.bb
new file mode 100644
index 000000000..c961fa293
--- /dev/null
+++ b/meta-security/recipes-security/keyutils/keyutils_1.6.bb
@@ -0,0 +1,51 @@
+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 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 \
+ "
+
+SRC_URI[md5sum] = "191987b0ab46bb5b50efd70a6e6ce808"
+SRC_URI[sha256sum] = "d3aef20cec0005c0fa6b4be40079885567473185b1a57b629b030e67942c7115"
+
+EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \
+ NO_ARLIB=1 \
+ BINDIR=${base_bindir} \
+ SBINDIR=${base_sbindir} \
+ LIBDIR=${base_libdir} \
+ USRLIBDIR=${base_libdir} \
+ BUILDFOR=${SITEINFO_BITS}-bit \
+ NO_GLIBC_KEYERR=1 \
+ "
+
+do_install () {
+ install -d ${D}/${nonarch_base_libdir}/pkgconfig
+ oe_runmake DESTDIR=${D} install
+}
+
+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
+}
+
+FILES_${PN}-dev += "${nonarch_base_libdir}/pkgconfig/libkeyutils.pc"
+
+RDEPENDS_${PN}-ptest += "lsb"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
+RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
diff --git a/meta-security/recipes-security/libmspack/libmspack_0.5.bb b/meta-security/recipes-security/libmspack/libmspack_0.5.bb
deleted file mode 100644
index 80db23cec..000000000
--- a/meta-security/recipes-security/libmspack/libmspack_0.5.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A library for Microsoft compression formats"
-HOMEPAGE = "http://www.cabextract.org.uk/libmspack/"
-SECTION = "lib"
-LICENSE = "LGPL-2.1"
-DEPENDS = ""
-
-LIC_FILES_CHKSUM = "file://COPYING.LIB;beginline=1;endline=2;md5=5b1fd1f66ef926b3c8a5bb00a72a28dd"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/libm/${BPN}/${BPN}_${PV}.orig.tar.gz\
-"
-SRC_URI[md5sum] = "3aa3f6b9ef101463270c085478fda1da"
-SRC_URI[sha256sum] = "8967f275525f5067b364cee43b73e44d0433668c39f9376dfff19f653d1c8110"
-
-inherit autotools
-
-S = "${WORKDIR}/${BP}alpha"
diff --git a/meta-security/recipes-security/libmspack/libmspack_0.9.1.bb b/meta-security/recipes-security/libmspack/libmspack_0.9.1.bb
new file mode 100644
index 000000000..56a8a0770
--- /dev/null
+++ b/meta-security/recipes-security/libmspack/libmspack_0.9.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A library for Microsoft compression formats"
+HOMEPAGE = "http://www.cabextract.org.uk/libmspack/"
+SECTION = "lib"
+LICENSE = "LGPL-2.1"
+DEPENDS = ""
+
+LIC_FILES_CHKSUM = "file://COPYING.LIB;beginline=1;endline=2;md5=5b1fd1f66ef926b3c8a5bb00a72a28dd"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/libm/${BPN}/${BPN}_${PV}.orig.tar.gz"
+
+SRC_URI[md5sum] = "9602ae4a6b0468d9aaef6359c1e90657"
+SRC_URI[sha256sum] = "62a336d9c798638aaf3dceb43843320061544bbf35547c316b075b99112f2e40"
+
+inherit autotools
+
+S = "${WORKDIR}/${BP}alpha"
diff --git a/meta-security/recipes-security/libseccomp/libseccomp_2.3.3.bb b/meta-security/recipes-security/libseccomp/libseccomp_2.3.3.bb
deleted file mode 100644
index 9c66db68c..000000000
--- a/meta-security/recipes-security/libseccomp/libseccomp_2.3.3.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "interface to seccomp filtering mechanism"
-DESCRIPTION = "The libseccomp library provides and easy to use, platform independent,interface to the Linux Kernel's syscall filtering mechanism: seccomp."
-SECTION = "security"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=0;endline=1;md5=8eac08d22113880357ceb8e7c37f989f"
-
-SRCREV = "74b190e1aa05f07da0c61fb9a30dbc9c18ce2c9d"
-
-SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.3 \
- file://run-ptest \
-"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig ptest
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[python] = "--enable-python, --disable-python, python"
-
-do_compile_ptest() {
- oe_runmake -C tests check-build
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- install -d ${D}${PTEST_PATH}/tools
- for file in $(find tests/* -executable -type f); do
- install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests
- done
- for file in $(find tests/*.tests -type f); do
- install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests
- done
- for file in $(find tools/* -executable -type f); do
- install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools
- done
-}
-
-FILES_${PN} = "${bindir} ${libdir}/${BPN}.so*"
-FILES_${PN}-dbg += "${libdir}/${PN}/tests/.debug/* ${libdir}/${PN}/tools/.debug"
-
-RDEPENDS_${PN}-ptest = "bash"
diff --git a/meta-security/recipes-security/libseccomp/libseccomp_2.4.0.bb b/meta-security/recipes-security/libseccomp/libseccomp_2.4.0.bb
new file mode 100644
index 000000000..41ffd625c
--- /dev/null
+++ b/meta-security/recipes-security/libseccomp/libseccomp_2.4.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "interface to seccomp filtering mechanism"
+DESCRIPTION = "The libseccomp library provides and easy to use, platform independent,interface to the Linux Kernel's syscall filtering mechanism: seccomp."
+SECTION = "security"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=0;endline=1;md5=8eac08d22113880357ceb8e7c37f989f"
+
+SRCREV = "4d64011741375bb1a4ba7d71905ca37b97885083"
+
+SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.4 \
+ file://run-ptest \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig ptest
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[python] = "--enable-python, --disable-python, python"
+
+do_compile_ptest() {
+ oe_runmake -C tests check-build
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ install -d ${D}${PTEST_PATH}/tools
+ for file in $(find tests/* -executable -type f); do
+ install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests
+ done
+ for file in $(find tests/*.tests -type f); do
+ install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests
+ done
+ for file in $(find tools/* -executable -type f); do
+ install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools
+ done
+}
+
+FILES_${PN} = "${bindir} ${libdir}/${BPN}.so*"
+FILES_${PN}-dbg += "${libdir}/${PN}/tests/.debug/* ${libdir}/${PN}/tools/.debug"
+
+RDEPENDS_${PN}-ptest = "bash"
diff --git a/meta-security/recipes-security/ncrack/ncrack_0.7.bb b/meta-security/recipes-security/ncrack/ncrack_0.7.bb
new file mode 100644
index 000000000..06ba2b6df
--- /dev/null
+++ b/meta-security/recipes-security/ncrack/ncrack_0.7.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Network authentication cracking tool"
+DESCRIPTION = "Ncrack is designed for high-speed parallel testing of network devices for poor passwords."
+HOMEPAGE = "https://nmap.org/ncrack"
+SECTION = "security"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=198fa93d4e80225839e595336f3b5ff0"
+
+SRCREV = "3a793a21820708466081825beda9fce857f36cb6"
+SRC_URI = "git://github.com/nmap/ncrack.git"
+
+DEPENDS = "openssl zlib"
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/git"
+
+INSANE_SKIP_${PN} = "already-stripped"
diff --git a/meta-security/recipes-security/nikto/files/CVE-2018-11652.patch b/meta-security/recipes-security/nikto/files/CVE-2018-11652.patch
deleted file mode 100644
index 5ddb16926..000000000
--- a/meta-security/recipes-security/nikto/files/CVE-2018-11652.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From e759b3300aace5314fe3d30800c8bd83c81c29f7 Mon Sep 17 00:00:00 2001
-From: sullo <sullo@cirt.net>
-Date: Thu, 31 May 2018 23:30:03 -0400
-Subject: [PATCH] Fix CSV injection issue if server responds with a malicious
- Server string & CSV output is opened in Excel or other spreadsheet app.
- Potentially malicious cell start characters are now prefaced with a ' mark.
- Thanks to Adam (@bytesoverbombs) for letting me know!
-
-Also fixed a crash in the outdated plugin if the $sepr field ends up being something that triggers a panic in split().
-
-CVE: CVE-2018-11652
-Upstream-Status: Backport
-Signed-off-by: Nagalakshmi Veeramallu <nveeramallu@mvista.com>
----
- plugins/nikto_outdated.plugin | 2 +-
- plugins/nikto_report_csv.plugin | 42 +++++++++++++++++++++++++++++------------
- 2 files changed, 31 insertions(+), 13 deletions(-)
-
-diff --git a/plugins/nikto_outdated.plugin b/plugins/nikto_outdated.plugin
-index 72379cc..eb1d889 100644
---- a/plugins/nikto_outdated.plugin
-+++ b/plugins/nikto_outdated.plugin
-@@ -83,7 +83,7 @@ sub nikto_outdated {
- $sepr = substr($sepr, (length($sepr) - 1), 1);
-
- # break up ID string on $sepr
-- my @T = split(/$sepr/, $mark->{'banner'});
-+ my @T = split(/\\$sepr/, $mark->{'banner'});
-
- # assume last is version...
- for ($i = 0 ; $i < $#T ; $i++) { $MATCHSTRING .= "$T[$i] "; }
-diff --git a/plugins/nikto_report_csv.plugin b/plugins/nikto_report_csv.plugin
-index d13acab..b942e78 100644
---- a/plugins/nikto_report_csv.plugin
-+++ b/plugins/nikto_report_csv.plugin
-@@ -52,10 +52,12 @@ sub csv_open {
- sub csv_host_start {
- my ($handle, $mark) = @_;
- $mark->{'banner'} =~ s/"/\\"/g;
-- print OUT "\"$mark->{'hostname'}\","
-- . "\"$mark->{'ip'}\","
-- . "\"$mark->{'port'}\"," . "\"\"," . "\"\"," . "\"\","
-- . "\"$mark->{'banner'}\"\n";
-+ print $handle "\"" . csv_safecell($hostname) . "\","
-+ . "\"" . csv_safecell($mark->{'ip'}) . "\","
-+ . "\"" . csv_safecell($mark->{'port'}) . "\"," . "\"\"," . "\"\"," . "\"\","
-+ #. "\"" . $mark->{'banner'} . "\"\n";
-+ . "\"" . csv_safecell($mark->{'banner'}) . "\"\n";
-+
- return;
- }
-
-@@ -65,26 +67,42 @@ sub csv_item {
- my ($handle, $mark, $item) = @_;
- foreach my $uri (split(' ', $item->{'uri'})) {
- my $line = '';
-- $line .= "\"$item->{'mark'}->{'hostname'}\",";
-- $line .= "\"$item->{'mark'}->{'ip'}\",";
-- $line .= "\"$item->{'mark'}->{'port'}\",";
-+ $line .= "\"" . csv_safecell($hostname) . "\",";
-+ $line .= "\"" . csv_safecell($item->{'mark'}->{'ip'}) . \",";
-+ $line .= "\"" . csv_safecell($item->{'mark'}->{'port'}) . "\",";
-
- $line .= "\"";
- if ($item->{'osvdb'} ne '') { $line .= "OSVDB-" . $item->{'osvdb'}; }
- $line .= "\",";
-
- $line .= "\"";
-- if ($item->{'method'} ne '') { $line .= $item->{'method'}; }
-+ if ($item->{'method'} ne '') { $line .= csv_safecell($item->{'method'}); }
- $line .= "\",";
-
- $line .= "\"";
-- if ($uri ne '') { $line .= $mark->{'root'} . $uri; }
-+ { $line .= csv_safecell($mark->{'root'}) . $uri; }
-+ else { $line .= csv_safecell($ur
- $line .= "\",";
-
-- $item->{'message'} =~ s/"/\\"/g;
-- $line .= "\"$item->{'message'}\"";
-- print $handle "$line\n";
-+ my $msg = $item->{'message'};
-+ $uri=quotemeta($uri);
-+ my $root = quotemeta($mark->{'root'});
-+ $msg =~ s/^$uri:\s//;
-+ $msg =~ s/^$root$uri:\s//;
-+ $msg =~ s/"/\\"/g;
-+ $line .= "\"" . csv_safecell($msg) ."\"";
-+ print $handle "$line\n";
-+
- }
- }
-
-+###############################################################################
-+# prevent CSV injection attacks
-+sub csv_safecell {
-+ my $celldata = $_[0] || return;
-+ if ($celldata =~ /^[=+@-]/) { $celldata = "'" . $celldata; }
-+ return $celldata;
-+}
-+
-+
- 1;
---
-2.6.4
-
diff --git a/meta-security/recipes-security/nikto/files/location.patch b/meta-security/recipes-security/nikto/files/location.patch
index a95b0629f..edaa20475 100644
--- a/meta-security/recipes-security/nikto/files/location.patch
+++ b/meta-security/recipes-security/nikto/files/location.patch
@@ -1,36 +1,36 @@
-From e10b9b1f6704057ace39956ae1dc5c7caca07ff1 Mon Sep 17 00:00:00 2001
-From: Andrei Dinu <andrei.adrianx.dinu@intel.com>
-Date: Mon, 8 Jul 2013 11:53:54 +0300
-Subject: [PATCH] Setting the location of nikto on the image
+From d1cb702d5147abea0d3208a4d554c61a6f2decd6 Mon Sep 17 00:00:00 2001
+From: Scott Ellis <scott@jumpnowtek.com>
+Date: Fri, 28 Dec 2018 11:08:25 -0500
+Subject: [PATCH] Set custom paths
-Upstream Status: Inapropriate
+Upstream Status: Inappropriate
-Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
+Signed-off-by: Scott Ellis <scott@jumpnowtek.com>
---
- nikto.conf | 10 +++++-----
+ nikto.conf | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
-diff --git a/nikto.conf b/nikto.conf
-index 25b784d..9577033 100644
+diff --git a/program/nikto.conf b/program/nikto.conf
+index bf36c58..8c55415 100644
--- a/nikto.conf
+++ b/nikto.conf
-@@ -61,11 +61,11 @@ CIRT=174.142.17.165
+@@ -61,11 +61,11 @@ CIRT=107.170.99.251
CHECKMETHODS=HEAD GET
# If you want to specify the location of any of the files, specify them here
-# EXECDIR=/opt/nikto # Location of Nikto
-# PLUGINDIR=/opt/nikto/plugins # Location of plugin dir
--# DBDIR=/opt/nikto/databases # Location of plugin dir
--# TEMPLATEDIR=/opt/nikto/templates # Location of tempmlate dir
+-# DBDIR=/opt/nikto/databases # Location of database dir
+-# TEMPLATEDIR=/opt/nikto/templates # Location of template dir
-# DOCDIR=/opt/nikto/docs # Location of docs dir
+EXECDIR=/usr/bin/nikto # Location of Nikto
+PLUGINDIR=/etc/nikto/plugins # Location of plugin dir
-+DBDIR=/etc/nikto/databases # Location of plugin dir
-+TEMPLATEDIR=/etc/nikto/templates # Location of tempmlate dir
++DBDIR=/etc/nikto/databases # Location of database dir
++TEMPLATEDIR=/etc/nikto/templates # Location of template dir
+DOCDIR=/usr/share/doc/nikto # Location of docs dir
# Default plugin macros
- @@MUTATE=dictionary;subdomain
+ # Remove plugins designed to be run standalone
--
-1.7.9.5
+2.7.4
diff --git a/meta-security/recipes-security/nikto/nikto_2.1.5.bb b/meta-security/recipes-security/nikto/nikto_2.1.5.bb
deleted file mode 100644
index 19eb14f3e..000000000
--- a/meta-security/recipes-security/nikto/nikto_2.1.5.bb
+++ /dev/null
@@ -1,108 +0,0 @@
-SUMMARY = "web server scanner"
-DESCRIPTION = "Nikto is an Open Source (GPL) web server scanner which performs comprehensive tests against web servers for multiple items, including over 6500 potentially dangerous \
- files/CGIs, checks for outdated versions of over 1250 servers, and version specific problems on over 270 servers."
-SECTION = "security"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-SRC_URI = "http://cirt.net/nikto/${BP}.tar.gz \
- file://location.patch \
- file://CVE-2018-11652.patch"
-
-SRC_URI[md5sum] = "efcc98a918becb77471ee9a5df0a7b1e"
-SRC_URI[sha256sum] = "0e672a6a46bf2abde419a0e8ea846696d7f32e99ad18a6b405736ee6af07509f"
-
-do_install() {
- install -d ${D}${bindir}
- install -d ${D}${datadir}
- install -d ${D}${datadir}/man/man1
- install -d ${D}${datadir}/doc/nikto
- install -d ${D}${sysconfdir}/nikto
- install -d ${D}${sysconfdir}/nikto/databases
- install -d ${D}${sysconfdir}/nikto/plugins
- install -d ${D}${sysconfdir}/nikto/templates
-
- install -m 0644 databases/db_404_strings ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_content_search ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_dictionary ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_embedded ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_favicon ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_headers ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_httpoptions ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_multiple_index ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_outdated ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_parked_strings ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_realms ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_server_msgs ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_subdomains ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_tests ${D}${sysconfdir}/nikto/databases
- install -m 0644 databases/db_variables ${D}${sysconfdir}/nikto/databases
-
- install -m 0644 plugins/JSON-PP.pm ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/LW2.pm ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_apache_expect_xss.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_apacheusers.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_auth.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_cgi.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_clientaccesspolicy.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_content_search.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_cookies.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_core.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_dictionary_attack.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_embedded.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_favicon.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_fileops.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_headers.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_httpoptions.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_msgs.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_multiple_index.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_outdated.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_parked.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_paths.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_put_del_test.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_report_csv.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_report_html.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_report_msf.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_report_nbe.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_report_text.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_report_xml.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_robots.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_siebel.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_ssl.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_subdomain.plugin ${D}${sysconfdir}/nikto/plugins
- install -m 0644 plugins/nikto_tests.plugin ${D}${sysconfdir}/nikto/plugins
-
- install -m 0644 templates/htm_close.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/htm_end.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/htm_host_head.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/htm_host_im.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/htm_host_item.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/htm_start.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/htm_stop.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/htm_start.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/htm_summary.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/xml_end.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/xml_host_head.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/xml_host_im.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/xml_host_item.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/xml_start.tmpl ${D}${sysconfdir}/nikto/templates
- install -m 0644 templates/xml_summary.tmpl ${D}${sysconfdir}/nikto/templates
-
- install -m 0644 nikto.conf ${D}${sysconfdir}
-
- install -m 0755 nikto.pl ${D}${bindir}/nikto
- install -m 0644 replay.pl ${D}${bindir}
- install -m 0644 docs/nikto.1 ${D}${datadir}/man/man1
-
- install -m 0644 docs/CHANGES.txt ${D}${datadir}/doc/nikto
- install -m 0644 docs/LICENSE.txt ${D}${datadir}/doc/nikto
- install -m 0644 docs/nikto.dtd ${D}${datadir}/doc/nikto
- install -m 0644 docs/nikto_manual.html ${D}${datadir}/doc/nikto
-}
-
-RDEPENDS_${PN} = "perl libnet-ssleay-perl libwhisker2-perl \
- perl-module-getopt-long perl-module-time-local \
- perl-module-io-socket perl-module-overloading \
- perl-module-base perl-module-b perl-module-bytes \
- nikto-doc"
diff --git a/meta-security/recipes-security/nikto/nikto_2.1.6.bb b/meta-security/recipes-security/nikto/nikto_2.1.6.bb
new file mode 100644
index 000000000..2d2c46ca1
--- /dev/null
+++ b/meta-security/recipes-security/nikto/nikto_2.1.6.bb
@@ -0,0 +1,118 @@
+SUMMARY = "web server scanner"
+DESCRIPTION = "Nikto is an Open Source web server scanner which performs comprehensive tests against web servers"
+SECTION = "security"
+HOMEPAGE = "https://cirt.net/Nikto2"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+SRCREV = "f1bbd1a8756c076c8fd4f4dd0bc34a8ef215ae79"
+SRC_URI = "git://github.com/sullo/nikto.git \
+ file://location.patch"
+
+S = "${WORKDIR}/git/program"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -d ${D}${datadir}
+ install -d ${D}${datadir}/man/man1
+ install -d ${D}${datadir}/doc/nikto
+ install -d ${D}${sysconfdir}/nikto
+ install -d ${D}${sysconfdir}/nikto/databases
+ install -d ${D}${sysconfdir}/nikto/plugins
+ install -d ${D}${sysconfdir}/nikto/templates
+
+ install -m 0644 databases/db_404_strings ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_content_search ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_dictionary ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_dir_traversal ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_domino ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_drupal ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_embedded ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_favicon ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_headers ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_httpoptions ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_multiple_index ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_outdated ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_parked_strings ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_realms ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_server_msgs ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_tests ${D}${sysconfdir}/nikto/databases
+ install -m 0644 databases/db_variables ${D}${sysconfdir}/nikto/databases
+
+ install -m 0644 plugins/LW2.pm ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_apache_expect_xss.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_apacheusers.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_auth.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_cgi.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_clientaccesspolicy.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_content_search.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_cookies.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_core.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_dictionary_attack.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_dir_traversal.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_dishwasher.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_docker_registry.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_domino.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_drupal.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_embedded.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_favicon.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_fileops.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_headers.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_httpoptions.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_ms10_070.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_msgs.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_multiple_index.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_negotiate.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_origin_reflection.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_outdated.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_parked.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_paths.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_put_del_test.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_report_csv.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_report_html.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_report_json.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_report_nbe.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_report_sqlg.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_report_text.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_report_xml.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_robots.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_siebel.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_sitefiles.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_ssl.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_strutshock.plugin ${D}${sysconfdir}/nikto/plugins
+ install -m 0644 plugins/nikto_tests.plugin ${D}${sysconfdir}/nikto/plugins
+
+ install -m 0644 templates/htm_close.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/htm_end.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/htm_host_head.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/htm_host_im.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/htm_host_item.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/htm_start.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/htm_stop.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/htm_start.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/htm_summary.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/xml_end.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/xml_host_head.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/xml_host_im.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/xml_host_item.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/xml_start.tmpl ${D}${sysconfdir}/nikto/templates
+ install -m 0644 templates/xml_summary.tmpl ${D}${sysconfdir}/nikto/templates
+
+ install -m 0644 nikto.conf ${D}${sysconfdir}
+
+ install -m 0755 nikto.pl ${D}${bindir}/nikto
+ install -m 0644 replay.pl ${D}${bindir}
+ install -m 0644 docs/nikto.1 ${D}${datadir}/man/man1
+
+ install -m 0644 docs/CHANGES.txt ${D}${datadir}/doc/nikto
+ install -m 0644 docs/LICENSE.txt ${D}${datadir}/doc/nikto
+ install -m 0644 docs/nikto.dtd ${D}${datadir}/doc/nikto
+ install -m 0644 docs/nikto_manual.html ${D}${datadir}/doc/nikto
+}
+
+RDEPENDS_${PN} = "perl libnet-ssleay-perl libwhisker2-perl \
+ perl-module-getopt-long perl-module-time-local \
+ perl-module-io-socket perl-module-overloading \
+ perl-module-base perl-module-b perl-module-bytes"
+
diff --git a/meta-security/recipes-security/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-security/packagegroup/packagegroup-core-security.bb
index e847847b8..b8ab27df1 100644
--- a/meta-security/recipes-security/packagegroup/packagegroup-core-security.bb
+++ b/meta-security/recipes-security/packagegroup/packagegroup-core-security.bb
@@ -78,7 +78,7 @@ RDEPENDS_packagegroup-security-ptest = " \
python-scapy-ptest \
suricata-ptest \
tripwire-ptest \
- python3-fail2ban-ptest \
+ python-fail2ban-ptest \
${@bb.utils.contains("DISTRO_FEATURES", "apparmor", "apparmor-ptest", "",d)} \
${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack-ptest", "",d)} \
ptest-runner \
diff --git a/meta-security/recipes-security/samhain/samhain.inc b/meta-security/recipes-security/samhain/samhain.inc
deleted file mode 100644
index 944bf0d0b..000000000
--- a/meta-security/recipes-security/samhain/samhain.inc
+++ /dev/null
@@ -1,162 +0,0 @@
-DESCRIPTION = "Provides file integrity checking and log file monitoring/analysis"
-HOMEPAGE = "http://www.la-samhna.de/samhain/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b"
-
-
-SRC_URI = "http://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \
- file://samhain-cross-compile.patch \
- file://samhain-mips64-aarch64-dnmalloc-hash-fix.patch \
- file://samhain-samhainrc.patch \
- file://samhain-samhainrc-fix-files-dirs-path.patch \
- file://samhain-pid-path.patch \
- file://samhain-sha256-big-endian.patch \
- file://samhain-configure-add-option-for-ps.patch \
- file://samhain-avoid-searching-host-for-postgresql.patch \
- file://samhain-add-LDFLAGS-variable-for-samhain_setpwd.patch \
- file://${INITSCRIPT_NAME}.init \
- file://${INITSCRIPT_NAME}.default \
- file://samhain.service \
- "
-
-SRC_URI[md5sum] = "a00e99375675fc6e50cca3e208f5207e"
-SRC_URI[sha256sum] = "8551dc3b0851889a2b979097e9c02309b40d48b4659f02efe7fe525ce8361a0d"
-
-UPSTREAM_CHECK_URI = "https://www.la-samhna.de/samhain/archive.html"
-UPSTREAM_CHECK_REGEX = "samhain_signed-(?P<pver>(\d+(\.\d+)+))\.tar"
-
-S = "${WORKDIR}/samhain-${PV}"
-
-inherit autotools-brokensep update-rc.d pkgconfig systemd
-
-SAMHAIN_PORT ??= "49777"
-SAMHAIN_SERVER ??= "NULL"
-
-INITSCRIPT_NAME = "${BPN}"
-INITSCRIPT_PARAMS ?= "defaults"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "${INITSCRIPT_NAME}.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-# mode mapping:
-# BPN MODE_NAME SAMHAIN_MODE
-# samhain-standalone standalone no
-# samhain-client client client
-# samhain-server server server
-MODE_NAME = "${@d.getVar('BPN').split('-')[1]}"
-SAMHAIN_MODE = "${@oe.utils.ifelse(d.getVar('MODE_NAME') == 'standalone', 'no', '${MODE_NAME}')}"
-
-# supports mysql|postgresql|oracle|odbc but postgresql is the only one available
-
-PACKAGECONFIG ??= "postgresql ps \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
-"
-
-PACKAGECONFIG[postgresql] = "--with-database=postgresql --enable-xml-log PGSQL_INC_DIR=${STAGING_INCDIR} PGSQL_LIB_DIR=${STAGING_LIBDIR}, , postgresql"
-PACKAGECONFIG[suidcheck] = "--enable-suidcheck, , "
-PACKAGECONFIG[logwatch] = "--enable-login-watch, , "
-PACKAGECONFIG[mounts] = "--enable-mounts-check, , "
-PACKAGECONFIG[userfiles] = "--enable-userfiles, , "
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux attr"
-PACKAGECONFIG[acl] = " --enable-posix-acl , --disable-posix-acl, acl"
-PACKAGECONFIG[audit] = "ac_cv_header_auparse_h=yes,ac_cv_header_auparse_h=no,audit"
-PACKAGECONFIG[ps] = "--with-ps-path=${base_bindir}/ps,,,procps"
-
-do_unpack_samhain() {
- cd ${WORKDIR}
- tar -xzvf samhain-${PV}.tar.gz
-}
-
-python do_unpack_append() {
- bb.build.exec_func('do_unpack_samhain', d)
-}
-
-do_configure_prepend_arm() {
- export sh_cv___va_copy=yes
-}
-
-do_configure_prepend_aarch64() {
- export sh_cv___va_copy=yes
-}
-
-# If we use oe_runconf in do_configure() it will by default
-# use the prefix --oldincludedir=/usr/include which is not
-# recognized by Samhain's configure script and would invariably
-# throw back the error "unrecognized option: --oldincludedir=/usr/include"
-do_configure_prepend () {
- cat << EOF > ${S}/config-site.${BP}
-ssp_cv_lib=no
-sh_cv_va_copy=yes
-EOF
- export CONFIG_SITE=${S}/config-site.${BP}
-}
-
-do_configure () {
- autoconf -f
- ./configure \
- --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} \
- --infodir=${infodir} \
- --mandir=${mandir} \
- --enable-network=${SAMHAIN_MODE} \
- --with-pid-file=${localstatedir}/run/samhain.pid \
- --with-data-file=${localstatedir}/lib/samhain/samhain_file \
- ${EXTRA_OECONF}
-}
-
-do_compile_prepend_libc-musl () {
- sed -i 's/^#define HAVE_MALLOC_H.*//' ${B}/config.h
-}
-
-# Install the init script, it's default file, and the extraneous
-# documentation.
-do_install_append () {
- oe_runmake install DESTDIR='${D}' INSTALL=install-boot
-
- install -D -m 755 ${WORKDIR}/${INITSCRIPT_NAME}.init \
- ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
-
- install -D -m 755 ${WORKDIR}/${INITSCRIPT_NAME}.default \
- ${D}${sysconfdir}/default/${INITSCRIPT_NAME}
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- if [ "${SAMHAIN_MODE}" = "no" ]; then
- install -D -m 0644 ${WORKDIR}/samhain.service ${D}/${systemd_system_unitdir}/samhain.service
- else
- install -D -m 0644 ${WORKDIR}/samhain.service ${D}/${systemd_system_unitdir}/${BPN}.service
- fi
- install -D -m 0755 ${WORKDIR}/${BPN}.init ${D}/${libexecdir}/${BPN}
- sed -i -e 's,@LIBDIR@,${libexecdir},' \
- -e 's,@SAMHAIN_HELPER@,${BPN},' \
- -e 's,@MODE_NAME@,${MODE_NAME},' \
- ${D}${systemd_system_unitdir}/samhain*.service
- fi
-
- install -d ${D}${docdir}/${BPN}
- cp -r docs/* ${D}${docdir}/${BPN}
- cp -r scripts ${D}${docdir}/${BPN}
- install -d -m 755 ${D}${localstatedir}/samhain
-
- # Prevent QA warnings about installed ${localstatedir}/run
- if [ -d ${D}${localstatedir}/run ]; then
- rmdir ${D}${localstatedir}/run
- fi
-}
-
-FILES_${PN} += "${systemd_system_unitdir}"
diff --git a/meta-security/recipes-security/scapy/files/run-ptest b/meta-security/recipes-security/scapy/files/run-ptest
index 91b29f907..91b29f907 100755..100644
--- a/meta-security/recipes-security/scapy/files/run-ptest
+++ b/meta-security/recipes-security/scapy/files/run-ptest
diff --git a/meta-security/recipes-security/scapy/python-scapy.inc b/meta-security/recipes-security/scapy/python-scapy.inc
index 5abe7db76..99f30a7bf 100644
--- a/meta-security/recipes-security/scapy/python-scapy.inc
+++ b/meta-security/recipes-security/scapy/python-scapy.inc
@@ -5,16 +5,25 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://bin/scapy;beginline=9;endline=13;md5=1d5249872cc54cd4ca3d3879262d0c69"
-SRC_URI[md5sum] = "d7d3c4294f5a718e234775d38dbeb7ec"
-SRC_URI[sha256sum] = "452f714f5c2eac6fd0a6146b1dbddfc24dd5f4103f3ed76227995a488cfb2b73"
+S = "${WORKDIR}/git"
-inherit pypi ptest
+SRCREV = "bad14cb1a5aee29f8107fbe8ad008d4645f14da7"
+SRC_URI = "git://github.com/secdev/scapy.git"
+
+inherit ptest
+
+do_install_append() {
+ if [ "${PYTHON_PN}" = "python3" ]; then
+ sed -i -e 's/python/python3/' ${D}${bindir}/scapy
+ sed -i -e 's/python/python3/' ${D}${bindir}/UTscapy
+ fi
+}
do_install_ptest() {
install -m 0644 ${S}/test/regression.uts ${D}${PTEST_PATH}
sed -i 's,@PTEST_PATH@,${PTEST_PATH},' ${D}${PTEST_PATH}/run-ptest
}
-RDEPENDS_${PN} = "tcpdump ${PYTHON_PN}-compression ${PYTHON_PN}-netclient \
+RDEPENDS_${PN} = "tcpdump ${PYTHON_PN}-compression ${PYTHON_PN}-cryptography ${PYTHON_PN}-netclient \
${PYTHON_PN}-netserver ${PYTHON_PN}-pydoc ${PYTHON_PN}-pkgutil ${PYTHON_PN}-shell \
${PYTHON_PN}-threading ${PYTHON_PN}-numbers ${PYTHON_PN}-pycrypto"
diff --git a/meta-security/recipes-security/scapy/python-scapy_2.4.0.bb b/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb
index 98db1fd6d..98db1fd6d 100644
--- a/meta-security/recipes-security/scapy/python-scapy_2.4.0.bb
+++ b/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb
diff --git a/meta-security/recipes-security/scapy/python3-scapy_2.4.0.bb b/meta-security/recipes-security/scapy/python3-scapy_2.4.0.bb
deleted file mode 100644
index 93ca7be8a..000000000
--- a/meta-security/recipes-security/scapy/python3-scapy_2.4.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools3
-require python-scapy.inc
-
-SRC_URI += "file://run-ptest"
diff --git a/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb b/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb
new file mode 100644
index 000000000..83c79f484
--- /dev/null
+++ b/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-scapy.inc
+
+SRC_URI += "file://run-ptest"
+
diff --git a/meta-security/recipes-security/sssd/sssd_1.16.3.bb b/meta-security/recipes-security/sssd/sssd_1.16.3.bb
deleted file mode 100644
index 8f7f805fd..000000000
--- a/meta-security/recipes-security/sssd/sssd_1.16.3.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "system security services daemon"
-DESCRIPTION = "SSSD is a system security services daemon"
-HOMEPAGE = "https://pagure.io/SSSD/sssd/"
-SECTION = "base"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "openldap cyrus-sasl libtdb ding-libs libpam c-ares krb5 autoconf-archive"
-DEPENDS += "libldb dbus libtalloc libpcre glib-2.0 popt e2fsprogs libtevent"
-
-SRC_URI = "https://releases.pagure.org/SSSD/${BPN}/${BP}.tar.gz\
- file://sssd.conf "
-
-SRC_URI[md5sum] = "af4288c9d1f9953e3b3b6e0b165a5ece"
-SRC_URI[sha256sum] = "ee5d17a0c663c09819cbab9364085b9e57faeca02406cc30efe14cc0cfc04ec4"
-
-inherit autotools pkgconfig gettext update-rc.d python-dir distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "pam"
-
-CACHED_CONFIGUREVARS = "ac_cv_member_struct_ldap_conncb_lc_arg=no \
- ac_cv_path_NSUPDATE=${bindir} \
- ac_cv_path_PYTHON2=${PYTHON_DIR} ac_cv_prog_HAVE_PYTHON3=${PYTHON_DIR} \
- "
-
-PACKAGECONFIG ?="nss nscd"
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
-
-PACKAGECONFIG[ssh] = "--with-ssh, --with-ssh=no, "
-PACKAGECONFIG[samba] = "--with-samba, --with-samba=no, samba"
-PACKAGECONFIG[selinux] = "--with-selinux, --with-selinux=no --with-semanage=no, libselinux"
-PACKAGECONFIG[manpages] = "--with-manpages, --with-manpages=no"
-PACKAGECONFIG[python2] = "--with-python2-bindings, --without-python2-bindings"
-PACKAGECONFIG[python3] = "--with-python3-bindings, --without-python3-bindings"
-PACKAGECONFIG[nss] = "--with-crypto=nss, ,nss,"
-PACKAGECONFIG[cyrpto] = "--with-crypto=libcrypto, , libcrypto"
-PACKAGECONFIG[nscd] = "--with-nscd=${sbindir}, --with-nscd=no "
-PACKAGECONFIG[nl] = "--with-libnl, --with-libnl=no, libnl"
-PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/, --with-systemdunitdir="
-PACKAGECONFIG[http] = "--with-secrets, --without-secrets, apache2"
-PACKAGECONFIG[curl] = "--with-secrets --with-kcm, --without-secrets --without-kcm, curl"
-
-EXTRA_OECONF += "--disable-cifs-idmap-plugin --without-nfsv4-idmapd-plugin --without-ipa-getkeytab"
-
-do_configure_prepend() {
- mkdir -p ${AUTOTOOLS_AUXDIR}/build
- cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/build/
-
- # libresove has host path, remove it
- sed -i -e "s#\$sss_extra_libdir##" ${S}/src/external/libresolv.m4
-}
-
-do_install () {
- oe_runmake install DESTDIR="${D}"
- rmdir --ignore-fail-on-non-empty "${D}/${bindir}"
- install -d ${D}/${sysconfdir}/${BPN}
- install -m 600 ${WORKDIR}/${BPN}.conf ${D}/${sysconfdir}/${BPN}
-}
-
-CONFFILES_${PN} = "${sysconfdir}/${BPN}/${BPN}.conf"
-
-INITSCRIPT_NAME = "sssd"
-INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-FILES_${PN} += "${libdir} ${datadir} /run ${libdir}/*.so* "
-FILES_${PN}-dev = " ${includedir}/* ${libdir}/*la ${libdir}/*/*la"
-
-# The package contains symlinks that trip up insane
-INSANE_SKIP_${PN} = "dev-so"
-
-RDEPENDS_${PN} += "bind dbus"
diff --git a/meta-security/recipes-security/sssd/sssd_1.16.4.bb b/meta-security/recipes-security/sssd/sssd_1.16.4.bb
new file mode 100644
index 000000000..34bc8c804
--- /dev/null
+++ b/meta-security/recipes-security/sssd/sssd_1.16.4.bb
@@ -0,0 +1,88 @@
+SUMMARY = "system security services daemon"
+DESCRIPTION = "SSSD is a system security services daemon"
+HOMEPAGE = "https://pagure.io/SSSD/sssd/"
+SECTION = "base"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "openldap cyrus-sasl libtdb ding-libs libpam c-ares krb5 autoconf-archive"
+DEPENDS += "libldb dbus libtalloc libpcre glib-2.0 popt e2fsprogs libtevent"
+
+SRC_URI = "https://releases.pagure.org/SSSD/${BPN}/${BP}.tar.gz\
+ file://sssd.conf "
+
+SRC_URI[md5sum] = "757bbb6f15409d8d075f4f06cb678d50"
+SRC_URI[sha256sum] = "6bb212cd6b75b918e945c24e7c3f95a486fb54d7f7d489a9334cfa1a1f3bf959"
+
+inherit autotools pkgconfig gettext python-dir distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SSSD_UID ?= "root"
+SSSD_GID ?= "root"
+
+CACHED_CONFIGUREVARS = "ac_cv_member_struct_ldap_conncb_lc_arg=no \
+ ac_cv_path_NSUPDATE=${bindir} \
+ ac_cv_path_PYTHON2=${PYTHON_DIR} ac_cv_prog_HAVE_PYTHON3=${PYTHON_DIR} \
+ "
+
+PACKAGECONFIG ?="nss nscd"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+PACKAGECONFIG[ssh] = "--with-ssh, --with-ssh=no, "
+PACKAGECONFIG[samba] = "--with-samba, --with-samba=no, samba"
+PACKAGECONFIG[selinux] = "--with-selinux, --with-selinux=no --with-semanage=no, libselinux"
+PACKAGECONFIG[manpages] = "--with-manpages, --with-manpages=no"
+PACKAGECONFIG[python2] = "--with-python2-bindings, --without-python2-bindings"
+PACKAGECONFIG[python3] = "--with-python3-bindings, --without-python3-bindings"
+PACKAGECONFIG[nss] = "--with-crypto=nss, ,nss,"
+PACKAGECONFIG[cyrpto] = "--with-crypto=libcrypto, , libcrypto"
+PACKAGECONFIG[nscd] = "--with-nscd=${sbindir}, --with-nscd=no "
+PACKAGECONFIG[nl] = "--with-libnl, --with-libnl=no, libnl"
+PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/, --with-systemdunitdir="
+PACKAGECONFIG[http] = "--with-secrets, --without-secrets, apache2"
+PACKAGECONFIG[curl] = "--with-secrets --with-kcm, --without-secrets --without-kcm, curl"
+
+EXTRA_OECONF += "--disable-cifs-idmap-plugin --without-nfsv4-idmapd-plugin --without-ipa-getkeytab"
+
+do_configure_prepend() {
+ mkdir -p ${AUTOTOOLS_AUXDIR}/build
+ cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/build/
+
+ # libresove has host path, remove it
+ sed -i -e "s#\$sss_extra_libdir##" ${S}/src/external/libresolv.m4
+}
+
+do_install () {
+ oe_runmake install DESTDIR="${D}"
+ rmdir --ignore-fail-on-non-empty "${D}/${bindir}"
+ install -d ${D}/${sysconfdir}/${BPN}
+ install -m 600 ${WORKDIR}/${BPN}.conf ${D}/${sysconfdir}/${BPN}
+
+ # Remove /var/run as it is created on startup
+ rm -rf ${D}${localstatedir}/run
+
+}
+
+pkg_postinst_ontarget_${PN} () {
+if [ -e /etc/init.d/populate-volatile.sh ] ; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+fi
+ chown ${SSSD_UID}:${SSSD_GID} ${sysconfdir}/${BPN}/${BPN}.conf
+}
+
+CONFFILES_${PN} = "${sysconfdir}/${BPN}/${BPN}.conf"
+
+INITSCRIPT_NAME = "sssd"
+INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+FILES_${PN} += "${libdir} ${datadir} /run ${libdir}/*.so* "
+FILES_${PN}-dev = " ${includedir}/* ${libdir}/*la ${libdir}/*/*la"
+
+# The package contains symlinks that trip up insane
+INSANE_SKIP_${PN} = "dev-so"
+
+RDEPENDS_${PN} = "bind dbus libldb libpam"
diff --git a/meta-security/recipes-security/suricata/suricata.inc b/meta-security/recipes-security/suricata/suricata.inc
deleted file mode 100644
index 1f421210d..000000000
--- a/meta-security/recipes-security/suricata/suricata.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-HOMEPAGE = "http://suricata-ids.org/"
-SECTION = "security Monitor/Admin"
-LICENSE = "GPLv2"
-
-VER = "4.0.5"
-SRC_URI = "http://www.openinfosecfoundation.org/download/suricata-${VER}.tar.gz"
-
-SRC_URI[md5sum] = "ea0cb823d6a86568152f75ade6de442f"
-SRC_URI[sha256sum] = "74dacb4359d57fbd3452e384eeeb1dd77b6ae00f02e9994ad5a7b461d5f4c6c2"
diff --git a/meta-security/recipes-security/suricata/suricata_4.0.5.bb b/meta-security/recipes-security/suricata/suricata_4.0.5.bb
deleted file mode 100644
index 6c0a109be..000000000
--- a/meta-security/recipes-security/suricata/suricata_4.0.5.bb
+++ /dev/null
@@ -1,96 +0,0 @@
-SUMMARY = "The Suricata Engine is an Open Source Next Generation Intrusion Detection and Prevention Engine"
-
-require suricata.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
-
-SRC_URI += "file://emerging.rules.tar.gz;name=rules"
-
-SRC_URI += " \
- file://volatiles.03_suricata \
- file://suricata.yaml \
- file://suricata.service \
- file://run-ptest \
- "
-
-SRC_URI[rules.md5sum] = "205c5e5b54e489207ed892c03ad75b33"
-SRC_URI[rules.sha256sum] = "4aa81011b246875a57181c6a0569ca887845e366904bcaf0043220f33bd69798"
-
-inherit autotools-brokensep pkgconfig python-dir systemd ptest
-
-CFLAGS += "-D_DEFAULT_SOURCE"
-
-CACHED_CONFIGUREVARS = "ac_cv_header_htp_htp_h=yes ac_cv_lib_htp_htp_conn_create=yes \
- ac_cv_path_HAVE_WGET=no ac_cv_path_HAVE_CURL=no "
-
-EXTRA_OECONF += " --disable-debug \
- --enable-non-bundled-htp \
- --disable-gccmarch-native \
- "
-
-PACKAGECONFIG ??= "htp jansson file pcre yaml pcap cap-ng net nfnetlink nss nspr"
-PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'unittests', '', d)}"
-
-PACKAGECONFIG[htp] = "--with-libhtp-includes=${STAGING_INCDIR} --with-libhtp-libraries=${STAGING_LIBDIR}, ,libhtp,"
-PACKAGECONFIG[pcre] = "--with-libpcre-includes=${STAGING_INCDIR} --with-libpcre-libraries=${STAGING_LIBDIR}, ,libpcre ,"
-PACKAGECONFIG[yaml] = "--with-libyaml-includes=${STAGING_INCDIR} --with-libyaml-libraries=${STAGING_LIBDIR}, ,libyaml ,"
-PACKAGECONFIG[pcap] = "--with-libpcap-includes=${STAGING_INCDIR} --with-libpcap-libraries=${STAGING_LIBDIR}, ,libpcap ,"
-PACKAGECONFIG[cap-ng] = "--with-libcap_ng-includes=${STAGING_INCDIR} --with-libcap_ng-libraries=${STAGING_LIBDIR}, ,libcap-ng , "
-PACKAGECONFIG[net] = "--with-libnet-includes=${STAGING_INCDIR} --with-libnet-libraries=${STAGING_LIBDIR}, , libnet,"
-PACKAGECONFIG[nfnetlink] = "--with-libnfnetlink-includes=${STAGING_INCDIR} --with-libnfnetlink-libraries=${STAGING_LIBDIR}, ,libnfnetlink ,"
-PACKAGECONFIG[nfq] = "--enable-nfqueue, --disable-nfqueue,libnetfilter-queue,"
-
-PACKAGECONFIG[jansson] = "--with-libjansson-includes=${STAGING_INCDIR} --with-libjansson-libraries=${STAGING_LIBDIR},,jansson, jansson"
-PACKAGECONFIG[file] = ",,file, file"
-PACKAGECONFIG[nss] = "--with-libnss-includes=${STAGING_INCDIR} --with-libnss-libraries=${STAGING_LIBDIR}, nss, nss,"
-PACKAGECONFIG[nspr] = "--with-libnspr-includes=${STAGING_INCDIR} --with-libnspr-libraries=${STAGING_LIBDIR}, nspr, nspr,"
-PACKAGECONFIG[python] = "--enable-python, --disable-python, python, python"
-PACKAGECONFIG[unittests] = "--enable-unittests, --disable-unittests,"
-
-export logdir = "${localstatedir}/log"
-
-do_install_append () {
-
- install -d ${D}${sysconfdir}/suricata
-
- oe_runmake install-conf DESTDIR=${D}
-
- # mimic move of downloaded rules to e_sysconfrulesdir
- cp -rf ${WORKDIR}/rules ${D}${sysconfdir}/suricata
-
- oe_runmake install-rules DESTDIR=${D}
-
- install -d ${D}${sysconfdir}/suricata ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/volatiles.03_suricata ${D}${sysconfdir}/default/volatiles/volatiles.03_suricata
-
- install -m 0644 ${S}/threshold.config ${D}${sysconfdir}/suricata
-
- install -d ${D}${systemd_unitdir}/system
- sed -e s:/etc:${sysconfdir}:g \
- -e s:/var/run:/run:g \
- -e s:/var:${localstatedir}:g \
- -e s:/usr/bin:${bindir}:g \
- -e s:/bin/kill:${base_bindir}/kill:g \
- -e s:/usr/lib:${libdir}:g \
- ${WORKDIR}/suricata.service > ${D}${systemd_unitdir}/system/suricata.service
-
- # Remove /var/run as it is created on startup
- rm -rf ${D}${localstatedir}/run
-
-}
-
-pkg_postinst_ontarget_${PN} () {
-if [ -e /etc/init.d/populate-volatile.sh ] ; then
- ${sysconfdir}/init.d/populate-volatile.sh update
-fi
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-
-PACKAGES =+ "${PN}-socketcontrol"
-FILES_${PN} += "${systemd_unitdir}"
-FILES_${PN}-socketcontrol = "${bindir}/suricatasc ${PYTHON_SITEPACKAGES_DIR}"
-
-CONFFILES_${PN} = "${sysconfdir}/suricata/suricata.yaml"
-
-RDEPENDS_${PN}-python = "python"
diff --git a/meta-security/recipes-security/tripwire/tripwire_2.4.3.6.bb b/meta-security/recipes-security/tripwire/tripwire_2.4.3.6.bb
deleted file mode 100644
index 59d1f35c5..000000000
--- a/meta-security/recipes-security/tripwire/tripwire_2.4.3.6.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "Tripwire: A system integrity assessment tool (IDS)"
-DESCRIPTION = "Open Source Tripwire® software is a security and data \
-integrity tool useful for monitoring and alerting on specific file change(s) on a range of systems"
-HOMEPAGE="http://sourceforge.net/projects/tripwire"
-SECTION = "security Monitor/Admin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1c069be8dbbe48e89b580ab4ed86c127"
-
-SRCREV = "80db91b4c1ca4be9efafd2286e3b2ad32ba4c34c"
-
-SRC_URI = "\
- git://github.com/Tripwire/tripwire-open-source.git \
- file://tripwire.cron \
- file://tripwire.sh \
- file://tripwire.txt \
- file://twcfg.txt \
- file://twinstall.sh \
- file://twpol-yocto.txt \
- file://run-ptest \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep update-rc.d ptest
-
-INITSCRIPT_NAME = "tripwire"
-INITSCRIPT_PARAMS = "start 40 S ."
-TRIPWIRE_HOST = "${HOST_SYS}"
-TRIPWIRE_TARGET = "${TARGET_SYS}"
-
-CXXFLAGS += "-fno-strict-aliasing"
-EXTRA_OECONF = "--disable-openssl --enable-static --sysconfdir=/etc/tripwire"
-
-do_install () {
- install -d ${D}${libdir} ${D}${datadir} ${D}${base_libdir}
- install -d ${D}${sysconfdir} ${D}${mandir} ${D}${sbindir}
- install -d ${D}${sysconfdir}/${PN}
- install -d ${D}${localstatedir}/lib/${PN} ${D}${localstatedir}/lib/${BPN}/report
- install -d ${D}${mandir}/man4 ${D}${mandir}/man5 ${D}${mandir}/man8
- install -d ${D}${docdir}/${BPN} ${D}${docdir}/${BPN}/templates
- install -d ${D}${sysconfdir}/init.d
-
- install -m 0755 ${S}/bin/* ${D}${sbindir}
- install -m 0644 ${S}/lib/* ${D}${base_libdir}
- install -m 0644 ${S}/lib/* ${D}${localstatedir}/lib/${PN}
- install -m 0755 ${WORKDIR}/tripwire.cron ${D}${sysconfdir}
- install -m 0755 ${WORKDIR}/tripwire.sh ${D}${sysconfdir}/init.d/tripwire
- install -m 0755 ${WORKDIR}/twinstall.sh ${D}${sysconfdir}/${PN}
- install -m 0644 ${WORKDIR}/twpol-yocto.txt ${D}${sysconfdir}/${PN}/twpol.txt
- install -m 0644 ${WORKDIR}/twcfg.txt ${D}${sysconfdir}/${PN}
-
- install -m 0644 ${S}/man/man4/* ${D}${mandir}/man4
- install -m 0644 ${S}/man/man5/* ${D}${mandir}/man5
- install -m 0644 ${S}/man/man8/* ${D}${mandir}/man8
- install -m 0644 ${S}/policy/templates/* ${D}${docdir}/${BPN}/templates
- install -m 0644 ${S}/policy/*txt ${D}${docdir}/${BPN}
- install -m 0644 ${S}/COPYING ${D}${docdir}/${BPN}
- install -m 0644 ${S}/TRADEMARK ${D}${docdir}/${BPN}
- install -m 0644 ${WORKDIR}/tripwire.txt ${D}${docdir}/${BPN}
-}
-
-do_install_ptest_append () {
- install -d ${D}${PTEST_PATH}/tests
- cp -a ${S}/src/test-harness/* ${D}${PTEST_PATH}
-}
-
-FILES_${PN} += "${libdir} ${docdir}/${PN}/*"
-FILES_${PN}-dbg += "${sysconfdir}/${PN}/.debug"
-FILES_${PN}-staticdev += "${localstatedir}/lib/${PN}/lib*.a"
-FILES_${PN}-ptest += "${PTEST_PATH}/tests "
-
-RDEPENDS_${PN} += " perl nano msmtp cronie"
-RDEPENDS_${PN}-ptest = " perl lib-perl"
diff --git a/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.26.bb b/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.26.bb
deleted file mode 100644
index 2dbbf331e..000000000
--- a/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.26.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-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 openssl zlib libgcrypt gnutls nss nspr libgpg-error"
-
-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://run-ptest \
- "
-
-SRC_URI[md5sum] = "9c4aaf9ff615a73921b9e3bf4988d878"
-SRC_URI[sha256sum] = "8d8276c9c720ca42a3b0023df8b7ae41a2d6c5f9aa8d20ed1672d84cc8982d50"
-
-inherit autotools-brokensep ptest pkgconfig
-
-CFLAGS += "-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3"
-CPPFLAGS += "-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3"
-
-EXTRA_OECONF = "\
- --with-nss=${STAGING_LIBDIR}/../.. --with-nspr=${STAGING_LIBDIR}/../.. \
- "
-
-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/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.27.bb b/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.27.bb
new file mode 100644
index 000000000..eac8d6bd4
--- /dev/null
+++ b/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.27.bb
@@ -0,0 +1,64 @@
+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://run-ptest \
+ "
+
+SRC_URI[md5sum] = "508bee7e4f1b99f2d50aaa7d38ede56e"
+SRC_URI[sha256sum] = "97d756bad8e92588e6997d2227797eaa900d05e34a426829b149f65d87118eb6"
+
+inherit autotools-brokensep ptest pkgconfig
+
+CFLAGS += "-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3"
+CPPFLAGS += "-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3"
+
+PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des"
+PACKAGECONFIG[gnutls] = ",,gnutls"
+PACKAGECONFIG[libgcrypt] = ",,libgcrypt"
+PACKAGECONFIG[nss] = "--with-nss=${STAGING_LIBDIR}/../.. --with-nspr=${STAGING_LIBDIR}/../..,,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/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc
deleted file mode 100644
index 17041e41a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-board.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default Xilinx Board settings
-
-EXTRA_IMAGEDEPENDS += "virtual/bootloader"
-
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc
index 225fa65cf..cbfa47b89 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynqmp.inc
@@ -8,7 +8,7 @@ SOC_FAMILY ?= "zynqmp"
SOC_VARIANT ?= "eg"
-require conf/machine/include/arm/arch-armv8.inc
+require conf/machine/include/arm/arch-armv8a.inc
require conf/machine/include/soc-family.inc
# Linux Configuration
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb
index 847e07187..3432c1f2d 100644
--- a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb
+++ b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb
@@ -23,6 +23,9 @@ do_configure() {
# manually do the copy_bsp step first, so as to be able to fix up use of
# mb-* commands
${S}/../misc/copy_bsp.sh
+
+ # fix xilfpga to include the zynqmp backend
+ mv ${S}/../misc/zynqmp_pmufw_bsp/psu_pmu_0/libsrc/xilfpga/src/interface/zynqmp/* ${S}/../misc/zynqmp_pmufw_bsp/psu_pmu_0/libsrc/xilfpga/src
}
COMPILER = "${CC}"
diff --git a/poky/README.OE-Core b/poky/README.OE-Core
new file mode 100644
index 000000000..521916cd4
--- /dev/null
+++ b/poky/README.OE-Core
@@ -0,0 +1,29 @@
+OpenEmbedded-Core
+=================
+
+OpenEmbedded-Core is a layer containing the core metadata for current versions
+of OpenEmbedded. It is distro-less (can build a functional image with
+DISTRO = "nodistro") and contains only emulated machine support.
+
+For information about OpenEmbedded, see the OpenEmbedded website:
+ http://www.openembedded.org/
+
+The Yocto Project has extensive documentation about OE including a reference manual
+which can be found at:
+ http://yoctoproject.org/documentation
+
+
+Contributing
+------------
+
+Please refer to
+http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
+for guidelines on how to submit patches.
+
+Mailing list:
+
+ http://lists.openembedded.org/mailman/listinfo/openembedded-core
+
+Source code:
+
+ http://git.openembedded.org/openembedded-core/
diff --git a/poky/bitbake/.gitattributes b/poky/bitbake/.gitattributes
new file mode 100644
index 000000000..e4f8f62fc
--- /dev/null
+++ b/poky/bitbake/.gitattributes
@@ -0,0 +1,2 @@
+*min.js binary
+*min.css binary
diff --git a/poky/bitbake/bin/bitbake-hashserv b/poky/bitbake/bin/bitbake-hashserv
new file mode 100755
index 000000000..c49397b73
--- /dev/null
+++ b/poky/bitbake/bin/bitbake-hashserv
@@ -0,0 +1,67 @@
+#! /usr/bin/env python3
+#
+# Copyright (C) 2018 Garmin 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
+# 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.
+#
+# 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.
+import os
+import sys
+import logging
+import argparse
+import sqlite3
+
+sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),'lib'))
+
+import hashserv
+
+VERSION = "1.0.0"
+
+DEFAULT_HOST = ''
+DEFAULT_PORT = 8686
+
+def main():
+ parser = argparse.ArgumentParser(description='HTTP Equivalence Reference Server. Version=%s' % VERSION)
+ parser.add_argument('--address', default=DEFAULT_HOST, help='Bind address (default "%(default)s")')
+ parser.add_argument('--port', type=int, default=DEFAULT_PORT, help='Bind port (default %(default)d)')
+ parser.add_argument('--prefix', default='', help='HTTP path prefix (default "%(default)s")')
+ parser.add_argument('--database', default='./hashserv.db', help='Database file (default "%(default)s")')
+ parser.add_argument('--log', default='WARNING', help='Set logging level')
+
+ args = parser.parse_args()
+
+ logger = logging.getLogger('hashserv')
+
+ level = getattr(logging, args.log.upper(), None)
+ if not isinstance(level, int):
+ raise ValueError('Invalid log level: %s' % args.log)
+
+ logger.setLevel(level)
+ console = logging.StreamHandler()
+ console.setLevel(level)
+ logger.addHandler(console)
+
+ db = sqlite3.connect(args.database)
+
+ server = hashserv.create_server((args.address, args.port), db, args.prefix)
+ server.serve_forever()
+ return 0
+
+if __name__ == '__main__':
+ try:
+ ret = main()
+ except Exception:
+ ret = 1
+ import traceback
+ traceback.print_exc()
+ sys.exit(ret)
+
diff --git a/poky/bitbake/bin/bitbake-selftest b/poky/bitbake/bin/bitbake-selftest
index cfa7ac539..99f1af910 100755
--- a/poky/bitbake/bin/bitbake-selftest
+++ b/poky/bitbake/bin/bitbake-selftest
@@ -22,6 +22,7 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib
import unittest
try:
import bb
+ import hashserv
import layerindexlib
except RuntimeError as exc:
sys.exit(str(exc))
@@ -33,7 +34,9 @@ tests = ["bb.tests.codeparser",
"bb.tests.event",
"bb.tests.fetch",
"bb.tests.parse",
+ "bb.tests.persist_data",
"bb.tests.utils",
+ "hashserv.tests",
"layerindexlib.tests.layerindexobj",
"layerindexlib.tests.restapi",
"layerindexlib.tests.cooker"]
diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker
index e925054b7..a9e997e1f 100755
--- a/poky/bitbake/bin/bitbake-worker
+++ b/poky/bitbake/bin/bitbake-worker
@@ -136,7 +136,7 @@ def sigterm_handler(signum, frame):
os.killpg(0, signal.SIGTERM)
sys.exit()
-def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False):
+def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskhash, unihash, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False):
# We need to setup the environment BEFORE the fork, since
# a fork() or exec*() activates PSEUDO...
@@ -234,7 +234,8 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, append
ret = 0
the_data = bb_cache.loadDataFull(fn, appends)
- the_data.setVar('BB_TASKHASH', workerdata["runq_hash"][task])
+ the_data.setVar('BB_TASKHASH', taskhash)
+ the_data.setVar('BB_UNIHASH', unihash)
bb.utils.set_process_name("%s:%s" % (the_data.getVar("PN"), taskname.replace("do_", "")))
@@ -425,10 +426,10 @@ class BitbakeWorker(object):
sys.exit(0)
def handle_runtask(self, data):
- fn, task, taskname, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data)
+ fn, task, taskname, taskhash, unihash, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data)
workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname))
- pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec)
+ pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, taskhash, unihash, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec)
self.build_pids[pid] = task
self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout)
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
index f1caaecd2..46dafeee3 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
@@ -31,7 +31,7 @@
<para>
Prior to executing BitBake, you should take advantage of available
parallel thread execution on your build host by setting the
- <link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
+ <link linkend='var-bb-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
variable in your project's <filename>local.conf</filename>
configuration file.
</para>
@@ -87,9 +87,9 @@
<para>
The <filename>layer.conf</filename> files are used to
construct key variables such as
- <link linkend='var-BBPATH'><filename>BBPATH</filename></link>
+ <link linkend='var-bb-BBPATH'><filename>BBPATH</filename></link>
and
- <link linkend='var-BBFILES'><filename>BBFILES</filename></link>.
+ <link linkend='var-bb-BBFILES'><filename>BBFILES</filename></link>.
<filename>BBPATH</filename> is used to search for
configuration and class files under the
<filename>conf</filename> and <filename>classes</filename>
@@ -117,19 +117,19 @@
at certain variables, including:
<itemizedlist>
<listitem><para>
- <link linkend='var-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>
+ <link linkend='var-bb-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>
</para></listitem>
<listitem><para>
- <link linkend='var-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>
+ <link linkend='var-bb-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>
</para></listitem>
<listitem><para>
- <link linkend='var-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>
+ <link linkend='var-bb-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>
</para></listitem>
<listitem><para>
- <link linkend='var-BB_ORIGENV'><filename>BB_ORIGENV</filename></link>
+ <link linkend='var-bb-BB_ORIGENV'><filename>BB_ORIGENV</filename></link>
</para></listitem>
<listitem><para>
- <link linkend='var-BITBAKE_UI'><filename>BITBAKE_UI</filename></link>
+ <link linkend='var-bb-BITBAKE_UI'><filename>BITBAKE_UI</filename></link>
</para></listitem>
</itemizedlist>
The first four variables in this list relate to how BitBake treats shell
@@ -156,7 +156,7 @@
BitBake first searches the current working directory for an
optional <filename>conf/bblayers.conf</filename> configuration file.
This file is expected to contain a
- <link linkend='var-BBLAYERS'><filename>BBLAYERS</filename></link>
+ <link linkend='var-bb-BBLAYERS'><filename>BBLAYERS</filename></link>
variable that is a space-delimited list of 'layer' directories.
Recall that if BitBake cannot find a <filename>bblayers.conf</filename>
file, then it is assumed the user has set the <filename>BBPATH</filename>
@@ -166,10 +166,10 @@
<para>
For each directory (layer) in this list, a <filename>conf/layer.conf</filename>
file is located and parsed with the
- <link linkend='var-LAYERDIR'><filename>LAYERDIR</filename></link>
+ <link linkend='var-bb-LAYERDIR'><filename>LAYERDIR</filename></link>
variable being set to the directory where the layer was found.
The idea is these files automatically set up
- <link linkend='var-BBPATH'><filename>BBPATH</filename></link>
+ <link linkend='var-bb-BBPATH'><filename>BBPATH</filename></link>
and other variables correctly for a given build directory.
</para>
@@ -189,7 +189,7 @@
depending on the environment variables previously
mentioned or set in the configuration files.
The
- "<link linkend='ref-variables-glos'>Variables Glossary</link>"
+ "<link linkend='ref-bb-variables-glos'>Variables Glossary</link>"
chapter presents a full list of variables.
</para>
@@ -204,7 +204,7 @@
<para>
The <filename>base.bbclass</filename> file is always included.
Other classes that are specified in the configuration using the
- <link linkend='var-INHERIT'><filename>INHERIT</filename></link>
+ <link linkend='var-bb-INHERIT'><filename>INHERIT</filename></link>
variable are also included.
BitBake searches for class files in a
<filename>classes</filename> subdirectory under
@@ -270,7 +270,7 @@
<para>
During the configuration phase, BitBake will have set
- <link linkend='var-BBFILES'><filename>BBFILES</filename></link>.
+ <link linkend='var-bb-BBFILES'><filename>BBFILES</filename></link>.
BitBake now uses it to construct a list of recipes to parse,
along with any append files (<filename>.bbappend</filename>)
to apply.
@@ -292,7 +292,7 @@
Any inherit statements cause BitBake to find and
then parse class files (<filename>.bbclass</filename>)
using
- <link linkend='var-BBPATH'><filename>BBPATH</filename></link>
+ <link linkend='var-bb-BBPATH'><filename>BBPATH</filename></link>
as the search path.
Finally, BitBake parses in order any append files found in
<filename>BBFILES</filename>.
@@ -303,8 +303,8 @@
pieces of metadata.
For example, in <filename>bitbake.conf</filename> the recipe
name and version are used to set the variables
- <link linkend='var-PN'><filename>PN</filename></link> and
- <link linkend='var-PV'><filename>PV</filename></link>:
+ <link linkend='var-bb-PN'><filename>PN</filename></link> and
+ <link linkend='var-bb-PV'><filename>PV</filename></link>:
<literallayout class='monospaced'>
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
@@ -336,7 +336,7 @@
recipe information.
The validity of this cache is determined by first computing a
checksum of the base configuration data (see
- <link linkend='var-BB_HASHCONFIG_WHITELIST'><filename>BB_HASHCONFIG_WHITELIST</filename></link>)
+ <link linkend='var-bb-BB_HASHCONFIG_WHITELIST'><filename>BB_HASHCONFIG_WHITELIST</filename></link>)
and then checking if the checksum matches.
If that checksum matches what is in the cache and the recipe
and class files have not changed, Bitbake is able to use
@@ -384,9 +384,9 @@
the recipe can be known.
Each recipe's <filename>PROVIDES</filename> list is created
implicitly through the recipe's
- <link linkend='var-PN'><filename>PN</filename></link> variable
+ <link linkend='var-bb-PN'><filename>PN</filename></link> variable
and explicitly through the recipe's
- <link linkend='var-PROVIDES'><filename>PROVIDES</filename></link>
+ <link linkend='var-bb-PROVIDES'><filename>PROVIDES</filename></link>
variable, which is optional.
</para>
@@ -427,7 +427,7 @@
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
</literallayout>
The default
- <link linkend='var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>
+ <link linkend='var-bb-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>
is the provider with the same name as the target.
Bitbake iterates through each target it needs to build and
resolves them and their dependencies using this process.
@@ -439,10 +439,10 @@
BitBake defaults to the highest version of a provider.
Version comparisons are made using the same method as Debian.
You can use the
- <link linkend='var-PREFERRED_VERSION'><filename>PREFERRED_VERSION</filename></link>
+ <link linkend='var-bb-PREFERRED_VERSION'><filename>PREFERRED_VERSION</filename></link>
variable to specify a particular version.
You can influence the order by using the
- <link linkend='var-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
+ <link linkend='var-bb-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
variable.
</para>
@@ -464,7 +464,7 @@
BitBake defaults to selecting the most recent
version, unless otherwise specified.
If the recipe in question has a
- <link linkend='var-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
+ <link linkend='var-bb-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
set lower than the other recipes (default is 0), then
it will not be selected.
This allows the person or persons maintaining
@@ -475,9 +475,9 @@
<para>
If the first recipe is named <filename>a_1.1.bb</filename>, then the
- <link linkend='var-PN'><filename>PN</filename></link> variable
+ <link linkend='var-bb-PN'><filename>PN</filename></link> variable
will be set to “a”, and the
- <link linkend='var-PV'><filename>PV</filename></link>
+ <link linkend='var-bb-PV'><filename>PV</filename></link>
variable will be set to 1.1.
</para>
@@ -532,11 +532,11 @@
<para>
Dependencies are defined through several variables.
You can find information about variables BitBake uses in
- the <link linkend='ref-variables-glos'>Variables Glossary</link>
+ the <link linkend='ref-bb-variables-glos'>Variables Glossary</link>
near the end of this manual.
At a basic level, it is sufficient to know that BitBake uses the
- <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link> and
- <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link> variables when
+ <link linkend='var-bb-DEPENDS'><filename>DEPENDS</filename></link> and
+ <link linkend='var-bb-RDEPENDS'><filename>RDEPENDS</filename></link> variables when
calculating dependencies.
</para>
@@ -560,7 +560,7 @@
<para>
The build now starts with BitBake forking off threads up to the limit set in the
- <link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
+ <link linkend='var-bb-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
variable.
BitBake continues to fork threads as long as there are tasks ready to run,
those tasks have all their dependencies met, and the thread threshold has not been
@@ -574,7 +574,7 @@
<para>
As each task completes, a timestamp is written to the directory specified by the
- <link linkend='var-STAMP'><filename>STAMP</filename></link> variable.
+ <link linkend='var-bb-STAMP'><filename>STAMP</filename></link> variable.
On subsequent runs, BitBake looks in the build directory within
<filename>tmp/stamps</filename> and does not rerun
tasks that are already completed unless a timestamp is found to be invalid.
@@ -618,7 +618,7 @@
<para>
Tasks can be either a shell task or a Python task.
For shell tasks, BitBake writes a shell script to
- <filename>${</filename><link linkend='var-T'><filename>T</filename></link><filename>}/run.do_taskname.pid</filename>
+ <filename>${</filename><link linkend='var-bb-T'><filename>T</filename></link><filename>}/run.do_taskname.pid</filename>
and then executes the script.
The generated shell script contains all the exported variables,
and the shell functions with all variables expanded.
@@ -645,10 +645,10 @@
behavior:
<itemizedlist>
<listitem><para>
- <link linkend='var-BB_SCHEDULER'><filename>BB_SCHEDULER</filename></link>
+ <link linkend='var-bb-BB_SCHEDULER'><filename>BB_SCHEDULER</filename></link>
</para></listitem>
<listitem><para>
- <link linkend='var-BB_SCHEDULERS'><filename>BB_SCHEDULERS</filename></link>
+ <link linkend='var-bb-BB_SCHEDULERS'><filename>BB_SCHEDULERS</filename></link>
</para></listitem>
</itemizedlist>
It is possible to have functions run before and after a task's main
@@ -684,7 +684,7 @@
The simplistic approach for excluding the working directory is to set
it to some fixed value and create the checksum for the "run" script.
BitBake goes one step better and uses the
- <link linkend='var-BB_HASHBASE_WHITELIST'><filename>BB_HASHBASE_WHITELIST</filename></link>
+ <link linkend='var-bb-BB_HASHBASE_WHITELIST'><filename>BB_HASHBASE_WHITELIST</filename></link>
variable to define a list of variables that should never be included
when generating the signatures.
</para>
@@ -795,7 +795,7 @@
This results in any metadata change that changes the task hash, automatically
causing the task to be run again.
This removes the need to bump
- <link linkend='var-PR'><filename>PR</filename></link>
+ <link linkend='var-bb-PR'><filename>PR</filename></link>
values, and changes to metadata automatically ripple across the build.
</para>
@@ -884,7 +884,7 @@
<para>
BitBake first calls the function defined by the
- <link linkend='var-BB_HASHCHECK_FUNCTION'><filename>BB_HASHCHECK_FUNCTION</filename></link>
+ <link linkend='var-bb-BB_HASHCHECK_FUNCTION'><filename>BB_HASHCHECK_FUNCTION</filename></link>
variable with a list of tasks and corresponding
hashes it wants to build.
This function is designed to be fast and returns a list
@@ -908,7 +908,7 @@
For example, it is pointless to obtain a compiler if you
already have the compiled binary.
To handle this, BitBake calls the
- <link linkend='var-BB_SETSCENE_DEPVALID'><filename>BB_SETSCENE_DEPVALID</filename></link>
+ <link linkend='var-bb-BB_SETSCENE_DEPVALID'><filename>BB_SETSCENE_DEPVALID</filename></link>
function for each successful setscene task to know whether or not it needs
to obtain the dependencies of that task.
</para>
@@ -916,7 +916,7 @@
<para>
Finally, after all the setscene tasks have executed, BitBake calls the
function listed in
- <link linkend='var-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></link>
+ <link linkend='var-bb-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></link>
with the list of tasks BitBake thinks has been "covered".
The metadata can then ensure that this list is correct and can
inform BitBake that it wants specific tasks to be run regardless
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
index 92b2c3d1b..3acd7c403 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
@@ -44,7 +44,7 @@
</literallayout>
This code sets up an instance of the fetch class.
The instance uses a space-separated list of URLs from the
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
+ <link linkend='var-bb-SRC_URI'><filename>SRC_URI</filename></link>
variable and then calls the <filename>download</filename>
method to download the files.
</para>
@@ -78,7 +78,7 @@
<listitem><para><emphasis>Pre-mirror Sites:</emphasis>
BitBake first uses pre-mirrors to try and find source files.
These locations are defined using the
- <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>
+ <link linkend='var-bb-PREMIRRORS'><filename>PREMIRRORS</filename></link>
variable.
</para></listitem>
<listitem><para><emphasis>Source URI:</emphasis>
@@ -88,7 +88,7 @@
<listitem><para><emphasis>Mirror Sites:</emphasis>
If fetch failures occur, BitBake next uses mirror locations as
defined by the
- <link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>
+ <link linkend='var-bb-MIRRORS'><filename>MIRRORS</filename></link>
variable.
</para></listitem>
</itemizedlist>
@@ -144,7 +144,7 @@
Any source files that are not local (i.e.
downloaded from the Internet) are placed into the download
directory, which is specified by the
- <link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
+ <link linkend='var-bb-DL_DIR'><filename>DL_DIR</filename></link>
variable.
</para>
@@ -184,11 +184,11 @@
<para>
If
- <link linkend='var-BB_STRICT_CHECKSUM'><filename>BB_STRICT_CHECKSUM</filename></link>
+ <link linkend='var-bb-BB_STRICT_CHECKSUM'><filename>BB_STRICT_CHECKSUM</filename></link>
is set, any download without a checksum triggers an
error message.
The
- <link linkend='var-BB_NO_NETWORK'><filename>BB_NO_NETWORK</filename></link>
+ <link linkend='var-bb-BB_NO_NETWORK'><filename>BB_NO_NETWORK</filename></link>
variable can be used to make any attempted network access a fatal
error, which is useful for checking that mirrors are complete
as well as other things.
@@ -265,11 +265,11 @@
The filename you specify within the URL can be
either an absolute or relative path to a file.
If the filename is relative, the contents of the
- <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
+ <link linkend='var-bb-FILESPATH'><filename>FILESPATH</filename></link>
variable is used in the same way
<filename>PATH</filename> is used to find executables.
If the file cannot be found, it is assumed that it is available in
- <link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
+ <link linkend='var-bb-DL_DIR'><filename>DL_DIR</filename></link>
by the time the <filename>download()</filename> method is called.
</para>
@@ -304,7 +304,7 @@
allows the name of the downloaded file to be specified.
Specifying the name of the downloaded file is useful
for avoiding collisions in
- <link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
+ <link linkend='var-bb-DL_DIR'><filename>DL_DIR</filename></link>
when dealing with multiple files that have the same name.
</para>
@@ -355,7 +355,7 @@
A special value of "now" causes the checkout to
be updated on every build.
</para></listitem>
- <listitem><para><emphasis><link linkend='var-CVSDIR'><filename>CVSDIR</filename></link>:</emphasis>
+ <listitem><para><emphasis><link linkend='var-bb-CVSDIR'><filename>CVSDIR</filename></link>:</emphasis>
Specifies where a temporary checkout is saved.
The location is often <filename>DL_DIR/cvs</filename>.
</para></listitem>
@@ -395,7 +395,7 @@
<listitem><para><emphasis>"date":</emphasis>
Specifies a date.
If no "date" is specified, the
- <link linkend='var-SRCDATE'><filename>SRCDATE</filename></link>
+ <link linkend='var-bb-SRCDATE'><filename>SRCDATE</filename></link>
of the configuration is used to checkout a specific date.
The special value of "now" causes the checkout to be
updated on every build.
@@ -406,7 +406,7 @@
to which the module is unpacked.
You are forcing the module into a special
directory relative to
- <link linkend='var-CVSDIR'><filename>CVSDIR</filename></link>.
+ <link linkend='var-bb-CVSDIR'><filename>CVSDIR</filename></link>.
</para></listitem>
<listitem><para><emphasis>"rsh"</emphasis>
Used in conjunction with the "method" parameter.
@@ -448,7 +448,7 @@
<filename>FETCHCMD_svn</filename>, which defaults
to "svn".
The fetcher's temporary working directory is set by
- <link linkend='var-SVNDIR'><filename>SVNDIR</filename></link>,
+ <link linkend='var-bb-SVNDIR'><filename>SVNDIR</filename></link>,
which is usually <filename>DL_DIR/svn</filename>.
</para>
@@ -509,7 +509,7 @@
source control system.
The fetcher works by creating a bare clone of the
remote into
- <link linkend='var-GITDIR'><filename>GITDIR</filename></link>,
+ <link linkend='var-bb-GITDIR'><filename>GITDIR</filename></link>,
which is usually <filename>DL_DIR/git2</filename>.
This bare clone is then cloned into the work directory during the
unpack stage when a specific tree is checked out.
@@ -612,7 +612,7 @@
This fetcher submodule inherits from the
<link linkend='git-fetcher'>Git fetcher</link> and extends
that fetcher's behavior by fetching a repository's submodules.
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
+ <link linkend='var-bb-SRC_URI'><filename>SRC_URI</filename></link>
is passed to the Git fetcher as described in the
"<link linkend='git-fetcher'>Git Fetcher (<filename>git://</filename>)</link>"
section.
@@ -647,9 +647,9 @@
<para>
To use this fetcher, make sure your recipe has proper
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
- <link linkend='var-SRCREV'><filename>SRCREV</filename></link>, and
- <link linkend='var-PV'><filename>PV</filename></link> settings.
+ <link linkend='var-bb-SRC_URI'><filename>SRC_URI</filename></link>,
+ <link linkend='var-bb-SRCREV'><filename>SRCREV</filename></link>, and
+ <link linkend='var-bb-PV'><filename>PV</filename></link> settings.
Here is an example:
<literallayout class='monospaced'>
SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
@@ -734,15 +734,15 @@
<filename>FETCHCMD_p4</filename>, which defaults
to "p4".
The fetcher's temporary working directory is set by
- <link linkend='var-P4DIR'><filename>P4DIR</filename></link>,
+ <link linkend='var-bb-P4DIR'><filename>P4DIR</filename></link>,
which defaults to "DL_DIR/p4".
</para>
<para>
To use this fetcher, make sure your recipe has proper
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
- <link linkend='var-SRCREV'><filename>SRCREV</filename></link>, and
- <link linkend='var-PV'><filename>PV</filename></link> values.
+ <link linkend='var-bb-SRC_URI'><filename>SRC_URI</filename></link>,
+ <link linkend='var-bb-SRCREV'><filename>SRCREV</filename></link>, and
+ <link linkend='var-bb-PV'><filename>PV</filename></link> values.
The p4 executable is able to use the config file defined by your
system's <filename>P4CONFIG</filename> environment variable in
order to define the Perforce server URL and port, username, and
@@ -793,9 +793,9 @@
<filename>google-repo</filename> source control system.
The fetcher works by initiating and syncing sources of the
repository into
- <link linkend='var-REPODIR'><filename>REPODIR</filename></link>,
+ <link linkend='var-bb-REPODIR'><filename>REPODIR</filename></link>,
which is usually
- <link linkend='var-DL_DIR'><filename>DL_DIR</filename></link><filename>/repo</filename>.
+ <link linkend='var-bb-DL_DIR'><filename>DL_DIR</filename></link><filename>/repo</filename>.
</para>
<para>
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml
index 9076f0fcd..39066e4b1 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml
@@ -194,7 +194,7 @@
<para>
When you run BitBake, it begins looking for metadata files.
The
- <link linkend='var-BBPATH'><filename>BBPATH</filename></link>
+ <link linkend='var-bb-BBPATH'><filename>BBPATH</filename></link>
variable is what tells BitBake where to look for those files.
<filename>BBPATH</filename> is not set and you need to set it.
Without <filename>BBPATH</filename>, Bitbake cannot
@@ -273,14 +273,14 @@
some editor to create the <filename>bitbake.conf</filename>
so that it contains the following:
<literallayout class='monospaced'>
- <link linkend='var-PN'>PN</link> = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
+ <link linkend='var-bb-PN'>PN</link> = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
</literallayout>
<literallayout class='monospaced'>
- TMPDIR = "${<link linkend='var-TOPDIR'>TOPDIR</link>}/tmp"
- <link linkend='var-CACHE'>CACHE</link> = "${TMPDIR}/cache"
- <link linkend='var-STAMP'>STAMP</link> = "${TMPDIR}/${PN}/stamps"
- <link linkend='var-T'>T</link> = "${TMPDIR}/${PN}/work"
- <link linkend='var-B'>B</link> = "${TMPDIR}/${PN}"
+ TMPDIR = "${<link linkend='var-bb-TOPDIR'>TOPDIR</link>}/tmp"
+ <link linkend='var-bb-CACHE'>CACHE</link> = "${TMPDIR}/cache"
+ <link linkend='var-bb-STAMP'>STAMP</link> = "${TMPDIR}/${PN}/stamps"
+ <link linkend='var-bb-T'>T</link> = "${TMPDIR}/${PN}/work"
+ <link linkend='var-bb-B'>B</link> = "${TMPDIR}/${PN}"
</literallayout>
<note>
Without a value for <filename>PN</filename>, the
@@ -402,12 +402,12 @@
Move to the <filename>conf</filename> directory and create a
<filename>layer.conf</filename> file that has the following:
<literallayout class='monospaced'>
- BBPATH .= ":${<link linkend='var-LAYERDIR'>LAYERDIR</link>}"
+ BBPATH .= ":${<link linkend='var-bb-LAYERDIR'>LAYERDIR</link>}"
- <link linkend='var-BBFILES'>BBFILES</link> += "${LAYERDIR}/*.bb"
+ <link linkend='var-bb-BBFILES'>BBFILES</link> += "${LAYERDIR}/*.bb"
- <link linkend='var-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</link> += "mylayer"
- <link linkend='var-BBFILE_PATTERN'>BBFILE_PATTERN_mylayer</link> := "^${LAYERDIR_RE}/"
+ <link linkend='var-bb-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</link> += "mylayer"
+ <link linkend='var-bb-BBFILE_PATTERN'>BBFILE_PATTERN_mylayer</link> := "^${LAYERDIR_RE}/"
</literallayout>
For information on these variables, click the links
to go to the definitions in the glossary.</para>
@@ -416,9 +416,9 @@
a recipe file named <filename>printhello.bb</filename> that
has the following:
<literallayout class='monospaced'>
- <link linkend='var-DESCRIPTION'>DESCRIPTION</link> = "Prints Hello World"
- <link linkend='var-PN'>PN</link> = 'printhello'
- <link linkend='var-PV'>PV</link> = '1'
+ <link linkend='var-bb-DESCRIPTION'>DESCRIPTION</link> = "Prints Hello World"
+ <link linkend='var-bb-PN'>PN</link> = 'printhello'
+ <link linkend='var-bb-PV'>PV</link> = '1'
python do_build() {
bb.plain("********************");
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml
index f7d312a32..02058a6f6 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml
@@ -781,7 +781,7 @@
target, you must also enable BitBake to perform multiple
configuration builds.
Enabling is accomplished by setting the
- <link linkend='var-BBMULTICONFIG'><filename>BBMULTICONFIG</filename></link>
+ <link linkend='var-bb-BBMULTICONFIG'><filename>BBMULTICONFIG</filename></link>
variable in the <filename>local.conf</filename>
configuration file.
As an example, suppose you had configuration files
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
index d91f437d3..199ab2309 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
@@ -595,7 +595,7 @@
<para>
BitBake uses
- <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
+ <link linkend='var-bb-OVERRIDES'><filename>OVERRIDES</filename></link>
to control what variables are overridden after BitBake
parses recipes and configuration files.
This section describes how you can use
@@ -705,7 +705,7 @@
<para>Internally, this is implemented by prepending
the task (e.g. "task-compile:") to the value of
- <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
+ <link linkend='var-bb-OVERRIDES'><filename>OVERRIDES</filename></link>
for the local datastore of the <filename>do_compile</filename>
task.</para>
@@ -868,7 +868,7 @@
<para>
BitBake uses the
- <link linkend='var-BBPATH'><filename>BBPATH</filename></link>
+ <link linkend='var-bb-BBPATH'><filename>BBPATH</filename></link>
variable to locate needed include and class files.
Additionally, BitBake searches the current directory for
<filename>include</filename> and <filename>require</filename>
@@ -1086,7 +1086,7 @@
<para>
When creating a configuration file (<filename>.conf</filename>),
you can use the
- <link linkend='var-INHERIT'><filename>INHERIT</filename></link>
+ <link linkend='var-bb-INHERIT'><filename>INHERIT</filename></link>
configuration directive to inherit a class.
BitBake only supports this directive when used within
a configuration file.
@@ -1370,7 +1370,7 @@
</para></listitem>
<listitem><para>
BitBake-style Python functions generate a separate
- <filename>${</filename><link linkend='var-T'><filename>T</filename></link><filename>}/run.</filename><replaceable>function-name</replaceable><filename>.</filename><replaceable>pid</replaceable>
+ <filename>${</filename><link linkend='var-bb-T'><filename>T</filename></link><filename>}/run.</filename><replaceable>function-name</replaceable><filename>.</filename><replaceable>pid</replaceable>
script that is executed to run the function, and also
generate a log file in
<filename>${T}/log.</filename><replaceable>function-name</replaceable><filename>.</filename><replaceable>pid</replaceable>
@@ -1773,7 +1773,7 @@
things exported or listed in its whitelist to ensure that the build
environment is reproducible and consistent.
You can prevent this "cleaning" by setting the
- <link linkend='var-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>
+ <link linkend='var-bb-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>
variable.
</note>
Consequently, if you do want something to get passed into the
@@ -1783,9 +1783,9 @@
Tell BitBake to load what you want from the environment
into the datastore.
You can do so through the
- <link linkend='var-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>
+ <link linkend='var-bb-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>
and
- <link linkend='var-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>
+ <link linkend='var-bb-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>
variables.
For example, assume you want to prevent the build system from
accessing your <filename>$HOME/.ccache</filename>
@@ -1824,7 +1824,7 @@
from the original execution environment.
Bitbake saves a copy of the original environment into
a special variable named
- <link linkend='var-BB_ORIGENV'><filename>BB_ORIGENV</filename></link>.
+ <link linkend='var-bb-BB_ORIGENV'><filename>BB_ORIGENV</filename></link>.
</para>
<para>
@@ -1883,7 +1883,7 @@
<listitem><para><emphasis><filename>[depends]</filename>:</emphasis>
Controls inter-task dependencies.
See the
- <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
+ <link linkend='var-bb-DEPENDS'><filename>DEPENDS</filename></link>
variable and the
"<link linkend='inter-task-dependencies'>Inter-Task Dependencies</link>"
section for more information.
@@ -1891,7 +1891,7 @@
<listitem><para><emphasis><filename>[deptask]</filename>:</emphasis>
Controls task build-time dependencies.
See the
- <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
+ <link linkend='var-bb-DEPENDS'><filename>DEPENDS</filename></link>
variable and the
"<link linkend='build-dependencies'>Build Dependencies</link>"
section for more information.
@@ -1937,7 +1937,7 @@
of cores but certain tasks need to be rate-limited due to various
kinds of resource constraints (e.g. to avoid network throttling).
<filename>number_threads</filename> works similarly to the
- <link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
+ <link linkend='var-bb-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
variable but is task-specific.</para>
<para>Set the value globally.
@@ -1971,9 +1971,9 @@
<listitem><para><emphasis><filename>[rdepends]</filename>:</emphasis>
Controls inter-task runtime dependencies.
See the
- <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>
+ <link linkend='var-bb-RDEPENDS'><filename>RDEPENDS</filename></link>
variable, the
- <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
+ <link linkend='var-bb-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
variable, and the
"<link linkend='inter-task-dependencies'>Inter-Task Dependencies</link>"
section for more information.
@@ -1981,9 +1981,9 @@
<listitem><para><emphasis><filename>[rdeptask]</filename>:</emphasis>
Controls task runtime dependencies.
See the
- <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>
+ <link linkend='var-bb-RDEPENDS'><filename>RDEPENDS</filename></link>
variable, the
- <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
+ <link linkend='var-bb-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
variable, and the
"<link linkend='runtime-dependencies'>Runtime Dependencies</link>"
section for more information.
@@ -1996,9 +1996,9 @@
<listitem><para><emphasis><filename>[recrdeptask]</filename>:</emphasis>
Controls task recursive runtime dependencies.
See the
- <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>
+ <link linkend='var-bb-RDEPENDS'><filename>RDEPENDS</filename></link>
variable, the
- <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
+ <link linkend='var-bb-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
variable, and the
"<link linkend='recursive-dependencies'>Recursive Dependencies</link>"
section for more information.
@@ -2127,7 +2127,7 @@
Any given datastore only has one such event executed
against it, however.
If
- <link linkende='var-BB_INVALIDCONF'><filename>BB_INVALIDCONF</filename></link>
+ <link linkende='var-bb-BB_INVALIDCONF'><filename>BB_INVALIDCONF</filename></link>
is set in the datastore by the event handler, the
configuration is reparsed and a new event triggered,
allowing the metadata to update configuration.
@@ -2256,17 +2256,17 @@
from a single recipe file multiple incarnations of that
recipe file where all incarnations are buildable.
These features are enabled through the
- <link linkend='var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></link>
+ <link linkend='var-bb-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></link>
and
- <link linkend='var-BBVERSIONS'><filename>BBVERSIONS</filename></link>
+ <link linkend='var-bb-BBVERSIONS'><filename>BBVERSIONS</filename></link>
variables.
<note>
The mechanism for this class extension is extremely
specific to the implementation.
Usually, the recipe's
- <link linkend='var-PROVIDES'><filename>PROVIDES</filename></link>,
- <link linkend='var-PN'><filename>PN</filename></link>, and
- <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
+ <link linkend='var-bb-PROVIDES'><filename>PROVIDES</filename></link>,
+ <link linkend='var-bb-PN'><filename>PN</filename></link>, and
+ <link linkend='var-bb-DEPENDS'><filename>DEPENDS</filename></link>
variables would need to be modified by the extension class.
For specific examples, see the OE-Core
<filename>native</filename>, <filename>nativesdk</filename>,
@@ -2287,7 +2287,7 @@
project from a single recipe file.
You can also specify conditional metadata
(using the
- <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
+ <link linkend='var-bb-OVERRIDES'><filename>OVERRIDES</filename></link>
mechanism) for a single version, or an optionally named range of versions.
Here is an example:
<literallayout class='monospaced'>
@@ -2306,7 +2306,7 @@
into overrides, but it is also made available for the metadata to use
in the variable that defines the base recipe versions for use in
<filename>file://</filename> search paths
- (<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>).
+ (<link linkend='var-bb-FILESPATH'><filename>FILESPATH</filename></link>).
</para></listitem>
</itemizedlist>
</para>
@@ -2408,7 +2408,7 @@
<para>
BitBake uses the
- <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
+ <link linkend='var-bb-DEPENDS'><filename>DEPENDS</filename></link>
variable to manage build time dependencies.
The <filename>[deptask]</filename> varflag for tasks
signifies the task of each
@@ -2429,9 +2429,9 @@
<para>
BitBake uses the
- <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>,
- <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, and
- <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
+ <link linkend='var-bb-PACKAGES'><filename>PACKAGES</filename></link>,
+ <link linkend='var-bb-RDEPENDS'><filename>RDEPENDS</filename></link>, and
+ <link linkend='var-bb-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
variables to manage runtime dependencies.
</para>
@@ -2686,7 +2686,7 @@
<para>
These checksums are stored in
- <link linkend='var-STAMP'><filename>STAMP</filename></link>.
+ <link linkend='var-bb-STAMP'><filename>STAMP</filename></link>.
You can examine the checksums using the following BitBake command:
<literallayout class='monospaced'>
$ bitbake-dumpsigs
@@ -2708,44 +2708,44 @@
The following list describes related variables:
<itemizedlist>
<listitem><para>
- <link linkend='var-BB_HASHCHECK_FUNCTION'><filename>BB_HASHCHECK_FUNCTION</filename></link>:
+ <link linkend='var-bb-BB_HASHCHECK_FUNCTION'><filename>BB_HASHCHECK_FUNCTION</filename></link>:
Specifies the name of the function to call during
the "setscene" part of the task's execution in order
to validate the list of task hashes.
</para></listitem>
<listitem><para>
- <link linkend='var-BB_SETSCENE_DEPVALID'><filename>BB_SETSCENE_DEPVALID</filename></link>:
+ <link linkend='var-bb-BB_SETSCENE_DEPVALID'><filename>BB_SETSCENE_DEPVALID</filename></link>:
Specifies a function BitBake calls that determines
whether BitBake requires a setscene dependency to
be met.
</para></listitem>
<listitem><para>
- <link linkend='var-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></link>:
+ <link linkend='var-bb-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></link>:
Specifies a function to call that verifies the list of
planned task execution before the main task execution
happens.
</para></listitem>
<listitem><para>
- <link linkend='var-BB_STAMP_POLICY'><filename>BB_STAMP_POLICY</filename></link>:
+ <link linkend='var-bb-BB_STAMP_POLICY'><filename>BB_STAMP_POLICY</filename></link>:
Defines the mode for comparing timestamps of stamp files.
</para></listitem>
<listitem><para>
- <link linkend='var-BB_STAMP_WHITELIST'><filename>BB_STAMP_WHITELIST</filename></link>:
+ <link linkend='var-bb-BB_STAMP_WHITELIST'><filename>BB_STAMP_WHITELIST</filename></link>:
Lists stamp files that are looked at when the stamp policy
is "whitelist".
</para></listitem>
<listitem><para>
- <link linkend='var-BB_TASKHASH'><filename>BB_TASKHASH</filename></link>:
+ <link linkend='var-bb-BB_TASKHASH'><filename>BB_TASKHASH</filename></link>:
Within an executing task, this variable holds the hash
of the task as returned by the currently enabled
signature generator.
</para></listitem>
<listitem><para>
- <link linkend='var-STAMP'><filename>STAMP</filename></link>:
+ <link linkend='var-bb-STAMP'><filename>STAMP</filename></link>:
The base path to create stamp files.
</para></listitem>
<listitem><para>
- <link linkend='var-STAMPCLEAN'><filename>STAMPCLEAN</filename></link>:
+ <link linkend='var-bb-STAMPCLEAN'><filename>STAMPCLEAN</filename></link>:
Again, the base path to create stamp files but can use wildcards
for matching a range of files for clean operations.
</para></listitem>
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
index a84b2bc99..aca6741c2 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
@@ -3,7 +3,7 @@
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<!-- Dummy chapter -->
-<chapter id='ref-variables-glos'>
+<chapter id='ref-bb-variables-glos'>
<title>Variables Glossary</title>
@@ -34,29 +34,29 @@
</itemizedlist>
</note>
-<glossary id='ref-variables-glossary'>
+<glossary id='ref-bb-variables-glossary'>
<para>
- <link linkend='var-ASSUME_PROVIDED'>A</link>
- <link linkend='var-B'>B</link>
- <link linkend='var-CACHE'>C</link>
- <link linkend='var-DEFAULT_PREFERENCE'>D</link>
- <link linkend='var-EXCLUDE_FROM_WORLD'>E</link>
- <link linkend='var-FAKEROOT'>F</link>
- <link linkend='var-GITDIR'>G</link>
- <link linkend='var-HGDIR'>H</link>
-<!-- <link linkend='var-ICECC_DISABLED'>I</link> -->
+ <link linkend='var-bb-ASSUME_PROVIDED'>A</link>
+ <link linkend='var-bb-B'>B</link>
+ <link linkend='var-bb-CACHE'>C</link>
+ <link linkend='var-bb-DEFAULT_PREFERENCE'>D</link>
+ <link linkend='var-bb-EXCLUDE_FROM_WORLD'>E</link>
+ <link linkend='var-bb-FAKEROOT'>F</link>
+ <link linkend='var-bb-GITDIR'>G</link>
+ <link linkend='var-bb-HGDIR'>H</link>
+ <link linkend='var-bb-INHERIT'>I</link>
<!-- <link linkend='var-glossary-j'>J</link> -->
<!-- <link linkend='var-KARCH'>K</link> -->
- <link linkend='var-LAYERDEPENDS'>L</link>
- <link linkend='var-MIRRORS'>M</link>
+ <link linkend='var-bb-LAYERDEPENDS'>L</link>
+ <link linkend='var-bb-MIRRORS'>M</link>
<!-- <link linkend='var-glossary-n'>N</link> -->
- <link linkend='var-OVERRIDES'>O</link>
- <link linkend='var-P4DIR'>P</link>
+ <link linkend='var-bb-OVERRIDES'>O</link>
+ <link linkend='var-bb-P4DIR'>P</link>
<!-- <link linkend='var-QMAKE_PROFILES'>Q</link> -->
- <link linkend='var-RDEPENDS'>R</link>
- <link linkend='var-SECTION'>S</link>
- <link linkend='var-T'>T</link>
+ <link linkend='var-bb-RDEPENDS'>R</link>
+ <link linkend='var-bb-SECTION'>S</link>
+ <link linkend='var-bb-T'>T</link>
<!-- <link linkend='var-UBOOT_CONFIG'>U</link> -->
<!-- <link linkend='var-glossary-v'>V</link> -->
<!-- <link linkend='var-WARN_QA'>W</link> -->
@@ -65,13 +65,13 @@
<!-- <link linkend='var-glossary-z'>Z</link>-->
</para>
- <glossdiv id='var-glossary-a'><title>A</title>
+ <glossdiv id='var-bb-glossary-a'><title>A</title>
- <glossentry id='var-ASSUME_PROVIDED'><glossterm>ASSUME_PROVIDED</glossterm>
+ <glossentry id='var-bb-ASSUME_PROVIDED'><glossterm>ASSUME_PROVIDED</glossterm>
<glossdef>
<para>
Lists recipe names
- (<link linkend='var-PN'><filename>PN</filename></link>
+ (<link linkend='var-bb-PN'><filename>PN</filename></link>
values) BitBake does not attempt to build.
Instead, BitBake assumes these recipes have already been
built.
@@ -91,9 +91,9 @@
</glossdiv>
- <glossdiv id='var-glossary-b'><title>B</title>
+ <glossdiv id='var-bb-glossary-b'><title>B</title>
- <glossentry id='var-B'><glossterm>B</glossterm>
+ <glossentry id='var-bb-B'><glossterm>B</glossterm>
<glossdef>
<para>
The directory in which BitBake executes functions
@@ -102,7 +102,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_ALLOWED_NETWORKS'><glossterm>BB_ALLOWED_NETWORKS</glossterm>
+ <glossentry id='var-bb-BB_ALLOWED_NETWORKS'><glossterm>BB_ALLOWED_NETWORKS</glossterm>
<glossdef>
<para>
Specifies a space-delimited list of hosts that the fetcher
@@ -111,7 +111,7 @@
<itemizedlist>
<listitem><para>
This host list is only used if
- <link linkend='var-BB_NO_NETWORK'><filename>BB_NO_NETWORK</filename></link>
+ <link linkend='var-bb-BB_NO_NETWORK'><filename>BB_NO_NETWORK</filename></link>
is either not set or set to "0".
</para></listitem>
<listitem><para>
@@ -151,13 +151,13 @@
</itemizedlist>
Using <filename>BB_ALLOWED_NETWORKS</filename> in
conjunction with
- <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>
+ <link linkend='var-bb-PREMIRRORS'><filename>PREMIRRORS</filename></link>
is very useful.
Adding the host you want to use to
<filename>PREMIRRORS</filename> results in the source code
being fetched from an allowed location and avoids raising
an error when a host that is not allowed is in a
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
+ <link linkend='var-bb-SRC_URI'><filename>SRC_URI</filename></link>
statement.
This is because the fetcher does not attempt to use the
host listed in <filename>SRC_URI</filename> after a
@@ -167,7 +167,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_CONSOLELOG'><glossterm>BB_CONSOLELOG</glossterm>
+ <glossentry id='var-bb-BB_CONSOLELOG'><glossterm>BB_CONSOLELOG</glossterm>
<glossdef>
<para>
Specifies the path to a log file into which BitBake's user
@@ -176,7 +176,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_CURRENTTASK'><glossterm>BB_CURRENTTASK</glossterm>
+ <glossentry id='var-bb-BB_CURRENTTASK'><glossterm>BB_CURRENTTASK</glossterm>
<glossdef>
<para>
Contains the name of the currently running task.
@@ -186,7 +186,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_DANGLINGAPPENDS_WARNONLY'><glossterm>BB_DANGLINGAPPENDS_WARNONLY</glossterm>
+ <glossentry id='var-bb-BB_DANGLINGAPPENDS_WARNONLY'><glossterm>BB_DANGLINGAPPENDS_WARNONLY</glossterm>
<glossdef>
<para>
Defines how BitBake handles situations where an append
@@ -208,7 +208,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_DEFAULT_TASK'><glossterm>BB_DEFAULT_TASK</glossterm>
+ <glossentry id='var-bb-BB_DEFAULT_TASK'><glossterm>BB_DEFAULT_TASK</glossterm>
<glossdef>
<para>
The default task to use when none is specified (e.g.
@@ -219,7 +219,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_DISKMON_DIRS'><glossterm>BB_DISKMON_DIRS</glossterm>
+ <glossentry id='var-bb-BB_DISKMON_DIRS'><glossterm>BB_DISKMON_DIRS</glossterm>
<glossdef>
<para>
Monitors disk space and available inodes during the build
@@ -245,7 +245,7 @@
build when a threshold is broken.
Subsequent warnings are issued as
defined by the
- <link linkend='var-BB_DISKMON_WARNINTERVAL'>BB_DISKMON_WARNINTERVAL</link> variable,
+ <link linkend='var-bb-BB_DISKMON_WARNINTERVAL'>BB_DISKMON_WARNINTERVAL</link> variable,
which must be defined.
&lt;dir&gt; is:
@@ -275,7 +275,7 @@
BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K"
</literallayout>
The first example works only if you also set
- the <link linkend='var-BB_DISKMON_WARNINTERVAL'><filename>BB_DISKMON_WARNINTERVAL</filename></link> variable.
+ the <link linkend='var-bb-BB_DISKMON_WARNINTERVAL'><filename>BB_DISKMON_WARNINTERVAL</filename></link> variable.
This example causes the build system to immediately
abort when either the disk space in <filename>${TMPDIR}</filename> drops
below 1 Gbyte or the available free inodes drops below
@@ -309,7 +309,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_DISKMON_WARNINTERVAL'><glossterm>BB_DISKMON_WARNINTERVAL</glossterm>
+ <glossentry id='var-bb-BB_DISKMON_WARNINTERVAL'><glossterm>BB_DISKMON_WARNINTERVAL</glossterm>
<glossdef>
<para>
Defines the disk space and free inode warning intervals.
@@ -319,7 +319,7 @@
If you are going to use the
<filename>BB_DISKMON_WARNINTERVAL</filename> variable, you must
also use the
- <link linkend='var-BB_DISKMON_DIRS'><filename>BB_DISKMON_DIRS</filename></link> variable
+ <link linkend='var-bb-BB_DISKMON_DIRS'><filename>BB_DISKMON_DIRS</filename></link> variable
and define its action as "WARN".
During the build, subsequent warnings are issued each time
disk space or number of free inodes further reduces by
@@ -374,7 +374,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_ENV_WHITELIST'><glossterm>BB_ENV_WHITELIST</glossterm>
+ <glossentry id='var-bb-BB_ENV_WHITELIST'><glossterm>BB_ENV_WHITELIST</glossterm>
<glossdef>
<para>
Specifies the internal whitelist of variables to allow
@@ -382,11 +382,11 @@
datastore.
If the value of this variable is not specified
(which is the default), the following list is used:
- <link linkend='var-BBPATH'><filename>BBPATH</filename></link>,
- <link linkend='var-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>,
- <link linkend='var-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>,
+ <link linkend='var-bb-BBPATH'><filename>BBPATH</filename></link>,
+ <link linkend='var-bb-BB_PRESERVE_ENV'><filename>BB_PRESERVE_ENV</filename></link>,
+ <link linkend='var-bb-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>,
and
- <link linkend='var-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>.
+ <link linkend='var-bb-BB_ENV_EXTRAWHITE'><filename>BB_ENV_EXTRAWHITE</filename></link>.
<note>
You must set this variable in the external environment
in order for it to work.
@@ -395,7 +395,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_ENV_EXTRAWHITE'><glossterm>BB_ENV_EXTRAWHITE</glossterm>
+ <glossentry id='var-bb-BB_ENV_EXTRAWHITE'><glossterm>BB_ENV_EXTRAWHITE</glossterm>
<glossdef>
<para>
Specifies an additional set of variables to allow through
@@ -403,7 +403,7 @@
datastore.
This list of variables are on top of the internal list
set in
- <link linkend='var-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>.
+ <link linkend='var-bb-BB_ENV_WHITELIST'><filename>BB_ENV_WHITELIST</filename></link>.
<note>
You must set this variable in the external
environment in order for it to work.
@@ -412,22 +412,22 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_FETCH_PREMIRRORONLY'><glossterm>BB_FETCH_PREMIRRORONLY</glossterm>
+ <glossentry id='var-bb-BB_FETCH_PREMIRRORONLY'><glossterm>BB_FETCH_PREMIRRORONLY</glossterm>
<glossdef>
<para>
When set to "1", causes BitBake's fetcher module to only
search
- <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>
+ <link linkend='var-bb-PREMIRRORS'><filename>PREMIRRORS</filename></link>
for files.
BitBake will not search the main
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
+ <link linkend='var-bb-SRC_URI'><filename>SRC_URI</filename></link>
or
- <link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>.
+ <link linkend='var-bb-MIRRORS'><filename>MIRRORS</filename></link>.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-BB_FILENAME'><glossterm>BB_FILENAME</glossterm>
+ <glossentry id='var-bb-BB_FILENAME'><glossterm>BB_FILENAME</glossterm>
<glossdef>
<para>
Contains the filename of the recipe that owns the currently
@@ -440,12 +440,12 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_GENERATE_MIRROR_TARBALLS'><glossterm>BB_GENERATE_MIRROR_TARBALLS</glossterm>
+ <glossentry id='var-bb-BB_GENERATE_MIRROR_TARBALLS'><glossterm>BB_GENERATE_MIRROR_TARBALLS</glossterm>
<glossdef>
<para>
Causes tarballs of the Git repositories, including the
Git metadata, to be placed in the
- <link linkend='var-DL_DIR'><filename>DL_DIR</filename></link>
+ <link linkend='var-bb-DL_DIR'><filename>DL_DIR</filename></link>
directory.
Anyone wishing to create a source mirror would want to
enable this variable.
@@ -461,7 +461,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_HASHCONFIG_WHITELIST'><glossterm>BB_HASHCONFIG_WHITELIST</glossterm>
+ <glossentry id='var-bb-BB_HASHCONFIG_WHITELIST'><glossterm>BB_HASHCONFIG_WHITELIST</glossterm>
<glossdef>
<para>
Lists variables that are excluded from base configuration
@@ -485,7 +485,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_HASHBASE_WHITELIST'><glossterm>BB_HASHBASE_WHITELIST</glossterm>
+ <glossentry id='var-bb-BB_HASHBASE_WHITELIST'><glossterm>BB_HASHBASE_WHITELIST</glossterm>
<glossdef>
<para>
Lists variables that are excluded from checksum and
@@ -500,7 +500,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_HASHCHECK_FUNCTION'><glossterm>BB_HASHCHECK_FUNCTION</glossterm>
+ <glossentry id='var-bb-BB_HASHCHECK_FUNCTION'><glossterm>BB_HASHCHECK_FUNCTION</glossterm>
<glossdef>
<para>
Specifies the name of the function to call during the
@@ -524,7 +524,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_INVALIDCONF'><glossterm>BB_INVALIDCONF</glossterm>
+ <glossentry id='var-bb-BB_INVALIDCONF'><glossterm>BB_INVALIDCONF</glossterm>
<glossdef>
<para>
Used in combination with the
@@ -539,11 +539,11 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_LOGFMT'><glossterm>BB_LOGFMT</glossterm>
+ <glossentry id='var-bb-BB_LOGFMT'><glossterm>BB_LOGFMT</glossterm>
<glossdef>
<para>
Specifies the name of the log files saved into
- <filename>${</filename><link linkend='var-T'><filename>T</filename></link><filename>}</filename>.
+ <filename>${</filename><link linkend='var-bb-T'><filename>T</filename></link><filename>}</filename>.
By default, the <filename>BB_LOGFMT</filename> variable
is undefined and the log file names get created using the
following form:
@@ -556,7 +556,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_NICE_LEVEL'><glossterm>BB_NICE_LEVEL</glossterm>
+ <glossentry id='var-bb-BB_NICE_LEVEL'><glossterm>BB_NICE_LEVEL</glossterm>
<glossdef>
<para>
Allows BitBake to run at a specific priority
@@ -564,13 +564,13 @@
System permissions usually mean that BitBake can reduce its
priority but not raise it again.
See
- <link linkend='var-BB_TASK_NICE_LEVEL'><filename>BB_TASK_NICE_LEVEL</filename></link>
+ <link linkend='var-bb-BB_TASK_NICE_LEVEL'><filename>BB_TASK_NICE_LEVEL</filename></link>
for additional information.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-BB_NO_NETWORK'><glossterm>BB_NO_NETWORK</glossterm>
+ <glossentry id='var-bb-BB_NO_NETWORK'><glossterm>BB_NO_NETWORK</glossterm>
<glossdef>
<para>
Disables network access in the BitBake fetcher modules.
@@ -587,7 +587,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_NUMBER_THREADS'><glossterm>BB_NUMBER_THREADS</glossterm>
+ <glossentry id='var-bb-BB_NUMBER_THREADS'><glossterm>BB_NUMBER_THREADS</glossterm>
<glossdef>
<para>
The maximum number of tasks BitBake should run in parallel
@@ -599,7 +599,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_NUMBER_PARSE_THREADS'><glossterm>BB_NUMBER_PARSE_THREADS</glossterm>
+ <glossentry id='var-bb-BB_NUMBER_PARSE_THREADS'><glossterm>BB_NUMBER_PARSE_THREADS</glossterm>
<glossdef>
<para>
Sets the number of threads BitBake uses when parsing.
@@ -609,7 +609,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_ORIGENV'><glossterm>BB_ORIGENV</glossterm>
+ <glossentry id='var-bb-BB_ORIGENV'><glossterm>BB_ORIGENV</glossterm>
<glossdef>
<para>
Contains a copy of the original external environment in
@@ -625,7 +625,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_PRESERVE_ENV'><glossterm>BB_PRESERVE_ENV</glossterm>
+ <glossentry id='var-bb-BB_PRESERVE_ENV'><glossterm>BB_PRESERVE_ENV</glossterm>
<glossdef>
<para>
Disables whitelisting and instead allows all variables
@@ -639,12 +639,12 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_RUNFMT'><glossterm>BB_RUNFMT</glossterm>
+ <glossentry id='var-bb-BB_RUNFMT'><glossterm>BB_RUNFMT</glossterm>
<glossdef>
<para>
Specifies the name of the executable script files
(i.e. run files) saved into
- <filename>${</filename><link linkend='var-T'><filename>T</filename></link><filename>}</filename>.
+ <filename>${</filename><link linkend='var-bb-T'><filename>T</filename></link><filename>}</filename>.
By default, the <filename>BB_RUNFMT</filename> variable
is undefined and the run file names get created using the
following form:
@@ -657,7 +657,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_RUNTASK'><glossterm>BB_RUNTASK</glossterm>
+ <glossentry id='var-bb-BB_RUNTASK'><glossterm>BB_RUNTASK</glossterm>
<glossdef>
<para>
Contains the name of the currently executing task.
@@ -669,7 +669,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_SCHEDULER'><glossterm>BB_SCHEDULER</glossterm>
+ <glossentry id='var-bb-BB_SCHEDULER'><glossterm>BB_SCHEDULER</glossterm>
<glossdef>
<para>
Selects the name of the scheduler to use for the
@@ -695,7 +695,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_SCHEDULERS'><glossterm>BB_SCHEDULERS</glossterm>
+ <glossentry id='var-bb-BB_SCHEDULERS'><glossterm>BB_SCHEDULERS</glossterm>
<glossdef>
<para>
Defines custom schedulers to import.
@@ -705,13 +705,13 @@
<para>
For information how to select a scheduler, see the
- <link linkend='var-BB_SCHEDULER'><filename>BB_SCHEDULER</filename></link>
+ <link linkend='var-bb-BB_SCHEDULER'><filename>BB_SCHEDULER</filename></link>
variable.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-BB_SETSCENE_DEPVALID'><glossterm>BB_SETSCENE_DEPVALID</glossterm>
+ <glossentry id='var-bb-BB_SETSCENE_DEPVALID'><glossterm>BB_SETSCENE_DEPVALID</glossterm>
<glossdef>
<para>
Specifies a function BitBake calls that determines
@@ -731,7 +731,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_SETSCENE_VERIFY_FUNCTION2'><glossterm>BB_SETSCENE_VERIFY_FUNCTION2</glossterm>
+ <glossentry id='var-bb-BB_SETSCENE_VERIFY_FUNCTION2'><glossterm>BB_SETSCENE_VERIFY_FUNCTION2</glossterm>
<glossdef>
<para>
Specifies a function to call that verifies the list of
@@ -752,7 +752,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_SIGNATURE_EXCLUDE_FLAGS'><glossterm>BB_SIGNATURE_EXCLUDE_FLAGS</glossterm>
+ <glossentry id='var-bb-BB_SIGNATURE_EXCLUDE_FLAGS'><glossterm>BB_SIGNATURE_EXCLUDE_FLAGS</glossterm>
<glossdef>
<para>
Lists variable flags (varflags)
@@ -771,7 +771,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_SIGNATURE_HANDLER'><glossterm>BB_SIGNATURE_HANDLER</glossterm>
+ <glossentry id='var-bb-BB_SIGNATURE_HANDLER'><glossterm>BB_SIGNATURE_HANDLER</glossterm>
<glossdef>
<para>
Defines the name of the signature handler BitBake uses.
@@ -790,7 +790,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_SRCREV_POLICY'><glossterm>BB_SRCREV_POLICY</glossterm>
+ <glossentry id='var-bb-BB_SRCREV_POLICY'><glossterm>BB_SRCREV_POLICY</glossterm>
<glossdef>
<para>
Defines the behavior of the fetcher when it interacts with
@@ -817,7 +817,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_STAMP_POLICY'><glossterm>BB_STAMP_POLICY</glossterm>
+ <glossentry id='var-bb-BB_STAMP_POLICY'><glossterm>BB_STAMP_POLICY</glossterm>
<glossdef>
<para>
Defines the mode used for how timestamps of stamp files
@@ -836,7 +836,7 @@
<listitem><para><emphasis>whitelist</emphasis> -
Identical to "full" mode except timestamp
comparisons are made for recipes listed in the
- <link linkend='var-BB_STAMP_WHITELIST'><filename>BB_STAMP_WHITELIST</filename></link>
+ <link linkend='var-bb-BB_STAMP_WHITELIST'><filename>BB_STAMP_WHITELIST</filename></link>
variable.
</para></listitem>
</itemizedlist>
@@ -848,19 +848,19 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_STAMP_WHITELIST'><glossterm>BB_STAMP_WHITELIST</glossterm>
+ <glossentry id='var-bb-BB_STAMP_WHITELIST'><glossterm>BB_STAMP_WHITELIST</glossterm>
<glossdef>
<para>
Lists files whose stamp file timestamps are compared when
the stamp policy mode is set to "whitelist".
For information on stamp policies, see the
- <link linkend='var-BB_STAMP_POLICY'><filename>BB_STAMP_POLICY</filename></link>
+ <link linkend='var-bb-BB_STAMP_POLICY'><filename>BB_STAMP_POLICY</filename></link>
variable.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-BB_STRICT_CHECKSUM'><glossterm>BB_STRICT_CHECKSUM</glossterm>
+ <glossentry id='var-bb-BB_STRICT_CHECKSUM'><glossterm>BB_STRICT_CHECKSUM</glossterm>
<glossdef>
<para>
Sets a more strict checksum mechanism for non-local URLs.
@@ -871,7 +871,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_TASK_IONICE_LEVEL'><glossterm>BB_TASK_IONICE_LEVEL</glossterm>
+ <glossentry id='var-bb-BB_TASK_IONICE_LEVEL'><glossterm>BB_TASK_IONICE_LEVEL</glossterm>
<glossdef>
<para>
Allows adjustment of a task's Input/Output priority.
@@ -882,7 +882,7 @@
variable to adjust the I/O priority of these tasks.
<note>
This variable works similarly to the
- <link linkend='var-BB_TASK_NICE_LEVEL'><filename>BB_TASK_NICE_LEVEL</filename></link>
+ <link linkend='var-bb-BB_TASK_NICE_LEVEL'><filename>BB_TASK_NICE_LEVEL</filename></link>
variable except with a task's I/O priorities.
</note>
</para>
@@ -921,7 +921,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_TASK_NICE_LEVEL'><glossterm>BB_TASK_NICE_LEVEL</glossterm>
+ <glossentry id='var-bb-BB_TASK_NICE_LEVEL'><glossterm>BB_TASK_NICE_LEVEL</glossterm>
<glossdef>
<para>
Allows specific tasks to change their priority
@@ -940,7 +940,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_TASKHASH'><glossterm>BB_TASKHASH</glossterm>
+ <glossentry id='var-bb-BB_TASKHASH'><glossterm>BB_TASKHASH</glossterm>
<glossdef>
<para>
Within an executing task, this variable holds the hash
@@ -950,7 +950,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_VERBOSE_LOGS'><glossterm>BB_VERBOSE_LOGS</glossterm>
+ <glossentry id='var-bb-BB_VERBOSE_LOGS'><glossterm>BB_VERBOSE_LOGS</glossterm>
<glossdef>
<para>
Controls how verbose BitBake is during builds.
@@ -960,7 +960,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BB_WORKERCONTEXT'><glossterm>BB_WORKERCONTEXT</glossterm>
+ <glossentry id='var-bb-BB_WORKERCONTEXT'><glossterm>BB_WORKERCONTEXT</glossterm>
<glossdef>
<para>
Specifies if the current context is executing a task.
@@ -973,7 +973,7 @@
</glossentry>
- <glossentry id='var-BBCLASSEXTEND'><glossterm>BBCLASSEXTEND</glossterm>
+ <glossentry id='var-bb-BBCLASSEXTEND'><glossterm>BBCLASSEXTEND</glossterm>
<glossdef>
<para>
Allows you to extend a recipe so that it builds variants
@@ -1009,7 +1009,7 @@
<filename>_class-native</filename>.
For example, to generate a native version of a recipe,
a
- <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
+ <link linkend='var-bb-DEPENDS'><filename>DEPENDS</filename></link>
on "foo" is rewritten to a <filename>DEPENDS</filename>
on "foo-native".
</para>
@@ -1028,7 +1028,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBDEBUG'><glossterm>BBDEBUG</glossterm>
+ <glossentry id='var-bb-BBDEBUG'><glossterm>BBDEBUG</glossterm>
<glossdef>
<para>
Sets the BitBake debug output level to a specific value
@@ -1042,7 +1042,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBFILE_COLLECTIONS'><glossterm>BBFILE_COLLECTIONS</glossterm>
+ <glossentry id='var-bb-BBFILE_COLLECTIONS'><glossterm>BBFILE_COLLECTIONS</glossterm>
<glossdef>
<para>Lists the names of configured layers.
These names are used to find the other <filename>BBFILE_*</filename>
@@ -1053,10 +1053,10 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBFILE_PATTERN'><glossterm>BBFILE_PATTERN</glossterm>
+ <glossentry id='var-bb-BBFILE_PATTERN'><glossterm>BBFILE_PATTERN</glossterm>
<glossdef>
<para>Variable that expands to match files from
- <link linkend='var-BBFILES'><filename>BBFILES</filename></link>
+ <link linkend='var-bb-BBFILES'><filename>BBFILES</filename></link>
in a particular layer.
This variable is used in the <filename>conf/layer.conf</filename> file and must
be suffixed with the name of the specific layer (e.g.
@@ -1064,7 +1064,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBFILE_PRIORITY'><glossterm>BBFILE_PRIORITY</glossterm>
+ <glossentry id='var-bb-BBFILE_PRIORITY'><glossterm>BBFILE_PRIORITY</glossterm>
<glossdef>
<para>Assigns the priority for recipe files in each layer.</para>
<para>This variable is useful in situations where the same recipe appears in
@@ -1074,7 +1074,7 @@
letting you control the precedence for the multiple layers.
The precedence established through this variable stands regardless of a
recipe's version
- (<link linkend='var-PV'><filename>PV</filename></link> variable).
+ (<link linkend='var-bb-PV'><filename>PV</filename></link> variable).
For example, a layer that has a recipe with a higher <filename>PV</filename> value but for
which the <filename>BBFILE_PRIORITY</filename> is set to have a lower precedence still has a
lower precedence.</para>
@@ -1083,7 +1083,7 @@
For example, the value 6 has a higher precedence than the value 5.
If not specified, the <filename>BBFILE_PRIORITY</filename> variable is set based on layer
dependencies (see the
- <filename><link linkend='var-LAYERDEPENDS'>LAYERDEPENDS</link></filename> variable for
+ <filename><link linkend='var-bb-LAYERDEPENDS'>LAYERDEPENDS</link></filename> variable for
more information.
The default priority, if unspecified
for a layer with no dependencies, is the lowest defined priority + 1
@@ -1095,7 +1095,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBFILES'><glossterm>BBFILES</glossterm>
+ <glossentry id='var-bb-BBFILES'><glossterm>BBFILES</glossterm>
<glossdef>
<para>
A space-separated list of recipe files BitBake uses to
@@ -1113,7 +1113,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBINCLUDED'><glossterm>BBINCLUDED</glossterm>
+ <glossentry id='var-bb-BBINCLUDED'><glossterm>BBINCLUDED</glossterm>
<glossdef>
<para>
Contains a space-separated list of all of all files that
@@ -1123,7 +1123,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBINCLUDELOGS'><glossterm>BBINCLUDELOGS</glossterm>
+ <glossentry id='var-bb-BBINCLUDELOGS'><glossterm>BBINCLUDELOGS</glossterm>
<glossdef>
<para>
If set to a value, enables printing the task log when
@@ -1132,11 +1132,11 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBINCLUDELOGS_LINES'><glossterm>BBINCLUDELOGS_LINES</glossterm>
+ <glossentry id='var-bb-BBINCLUDELOGS_LINES'><glossterm>BBINCLUDELOGS_LINES</glossterm>
<glossdef>
<para>
If
- <link linkend='var-BBINCLUDELOGS'><filename>BBINCLUDELOGS</filename></link>
+ <link linkend='var-bb-BBINCLUDELOGS'><filename>BBINCLUDELOGS</filename></link>
is set, specifies the maximum number of lines from the
task log file to print when reporting a failed task.
If you do not set <filename>BBINCLUDELOGS_LINES</filename>,
@@ -1145,7 +1145,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBLAYERS'><glossterm>BBLAYERS</glossterm>
+ <glossentry id='var-bb-BBLAYERS'><glossterm>BBLAYERS</glossterm>
<glossdef>
<para>Lists the layers to enable during the build.
This variable is defined in the <filename>bblayers.conf</filename> configuration
@@ -1166,7 +1166,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBLAYERS_FETCH_DIR'><glossterm>BBLAYERS_FETCH_DIR</glossterm>
+ <glossentry id='var-bb-BBLAYERS_FETCH_DIR'><glossterm>BBLAYERS_FETCH_DIR</glossterm>
<glossdef>
<para>
Sets the base location where layers are stored.
@@ -1178,7 +1178,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBMASK'><glossterm>BBMASK</glossterm>
+ <glossentry id='var-bb-BBMASK'><glossterm>BBMASK</glossterm>
<glossdef>
<para>
Prevents BitBake from processing recipes and recipe
@@ -1236,7 +1236,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBMULTICONFIG'><glossterm>BBMULTICONFIG</glossterm>
+ <glossentry id='var-bb-BBMULTICONFIG'><glossterm>BBMULTICONFIG</glossterm>
<info>
BBMULTICONFIG[doc] = "Enables BitBake to perform multiple configuration builds and lists each separate configuration (multiconfig)."
</info>
@@ -1275,7 +1275,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBPATH'><glossterm>BBPATH</glossterm>
+ <glossentry id='var-bb-BBPATH'><glossterm>BBPATH</glossterm>
<glossdef>
<para>
Used by BitBake to locate class
@@ -1302,7 +1302,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBSERVER'><glossterm>BBSERVER</glossterm>
+ <glossentry id='var-bb-BBSERVER'><glossterm>BBSERVER</glossterm>
<glossdef>
<para>
Points to the server that runs memory-resident BitBake.
@@ -1312,7 +1312,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBTARGETS'><glossterm>BBTARGETS</glossterm>
+ <glossentry id='var-bb-BBTARGETS'><glossterm>BBTARGETS</glossterm>
<glossdef>
<para>
Allows you to use a configuration file to add to the list
@@ -1321,14 +1321,14 @@
</glossdef>
</glossentry>
- <glossentry id='var-BBVERSIONS'><glossterm>BBVERSIONS</glossterm>
+ <glossentry id='var-bb-BBVERSIONS'><glossterm>BBVERSIONS</glossterm>
<glossdef>
<para>
Allows a single recipe to build multiple versions of a
project from a single recipe file.
You also able to specify conditional metadata
using the
- <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
+ <link linkend='var-bb-OVERRIDES'><filename>OVERRIDES</filename></link>
mechanism for a single version or for an optionally named
range of versions.
</para>
@@ -1342,7 +1342,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BITBAKE_UI'><glossterm>BITBAKE_UI</glossterm>
+ <glossentry id='var-bb-BITBAKE_UI'><glossterm>BITBAKE_UI</glossterm>
<glossdef>
<para>
Used to specify the UI module to use when running BitBake.
@@ -1356,7 +1356,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BUILDNAME'><glossterm>BUILDNAME</glossterm>
+ <glossentry id='var-bb-BUILDNAME'><glossterm>BUILDNAME</glossterm>
<glossdef>
<para>
A name assigned to the build.
@@ -1366,7 +1366,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-BZRDIR'><glossterm>BZRDIR</glossterm>
+ <glossentry id='var-bb-BZRDIR'><glossterm>BZRDIR</glossterm>
<glossdef>
<para>
The directory in which files checked out of a Bazaar
@@ -1377,9 +1377,9 @@
</glossdiv>
- <glossdiv id='var-glossary-c'><title>C</title>
+ <glossdiv id='var-bb-glossary-c'><title>C</title>
- <glossentry id='var-CACHE'><glossterm>CACHE</glossterm>
+ <glossentry id='var-bb-CACHE'><glossterm>CACHE</glossterm>
<glossdef>
<para>
Specifies the directory BitBake uses to store a cache
@@ -1389,7 +1389,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-CVSDIR'><glossterm>CVSDIR</glossterm>
+ <glossentry id='var-bb-CVSDIR'><glossterm>CVSDIR</glossterm>
<glossdef>
<para>
The directory in which files checked out under the
@@ -1400,9 +1400,9 @@
</glossdiv>
- <glossdiv id='var-glossary-d'><title>D</title>
+ <glossdiv id='var-bb-glossary-d'><title>D</title>
- <glossentry id='var-DEFAULT_PREFERENCE'><glossterm>DEFAULT_PREFERENCE</glossterm>
+ <glossentry id='var-bb-DEFAULT_PREFERENCE'><glossterm>DEFAULT_PREFERENCE</glossterm>
<glossdef>
<para>
Specifies a weak bias for recipe selection priority.
@@ -1413,20 +1413,20 @@
piece of software.
Using the variable in this way causes the stable version
of the recipe to build by default in the absence of
- <filename><link linkend='var-PREFERRED_VERSION'>PREFERRED_VERSION</link></filename>
+ <filename><link linkend='var-bb-PREFERRED_VERSION'>PREFERRED_VERSION</link></filename>
being used to build the development version.
</para>
<note>
The bias provided by <filename>DEFAULT_PREFERENCE</filename>
is weak and is overridden by
- <filename><link linkend='var-BBFILE_PRIORITY'>BBFILE_PRIORITY</link></filename>
+ <filename><link linkend='var-bb-BBFILE_PRIORITY'>BBFILE_PRIORITY</link></filename>
if that variable is different between two layers
that contain different versions of the same recipe.
</note>
</glossdef>
</glossentry>
- <glossentry id='var-DEPENDS'><glossterm>DEPENDS</glossterm>
+ <glossentry id='var-bb-DEPENDS'><glossterm>DEPENDS</glossterm>
<glossdef>
<para>
Lists a recipe's build-time dependencies
@@ -1451,13 +1451,13 @@
<para>
For information on runtime dependencies, see the
- <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>
+ <link linkend='var-bb-RDEPENDS'><filename>RDEPENDS</filename></link>
variable.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-DESCRIPTION'><glossterm>DESCRIPTION</glossterm>
+ <glossentry id='var-bb-DESCRIPTION'><glossterm>DESCRIPTION</glossterm>
<glossdef>
<para>
A long description for the recipe.
@@ -1465,7 +1465,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-DL_DIR'><glossterm>DL_DIR</glossterm>
+ <glossentry id='var-bb-DL_DIR'><glossterm>DL_DIR</glossterm>
<glossdef>
<para>
The central download directory used by the build process to
@@ -1474,7 +1474,7 @@
suitable for mirroring for everything except Git
repositories.
If you want tarballs of Git repositories, use the
- <link linkend='var-BB_GENERATE_MIRROR_TARBALLS'><filename>BB_GENERATE_MIRROR_TARBALLS</filename></link>
+ <link linkend='var-bb-BB_GENERATE_MIRROR_TARBALLS'><filename>BB_GENERATE_MIRROR_TARBALLS</filename></link>
variable.
</para>
</glossdef>
@@ -1482,9 +1482,9 @@
</glossentry>
</glossdiv>
- <glossdiv id='var-glossary-e'><title>E</title>
+ <glossdiv id='var-bb-glossary-e'><title>E</title>
- <glossentry id='var-EXCLUDE_FROM_WORLD'><glossterm>EXCLUDE_FROM_WORLD</glossterm>
+ <glossentry id='var-bb-EXCLUDE_FROM_WORLD'><glossterm>EXCLUDE_FROM_WORLD</glossterm>
<glossdef>
<para>
Directs BitBake to exclude a recipe from world builds (i.e.
@@ -1512,9 +1512,9 @@
</glossdiv>
- <glossdiv id='var-glossary-f'><title>F</title>
+ <glossdiv id='var-bb-glossary-f'><title>F</title>
- <glossentry id='var-FAKEROOT'><glossterm>FAKEROOT</glossterm>
+ <glossentry id='var-bb-FAKEROOT'><glossterm>FAKEROOT</glossterm>
<glossdef>
<para>
Contains the command to use when running a shell script
@@ -1527,19 +1527,19 @@
</glossdef>
</glossentry>
- <glossentry id='var-FAKEROOTBASEENV'><glossterm>FAKEROOTBASEENV</glossterm>
+ <glossentry id='var-bb-FAKEROOTBASEENV'><glossterm>FAKEROOTBASEENV</glossterm>
<glossdef>
<para>
Lists environment variables to set when executing
the command defined by
- <link linkend='var-FAKEROOTCMD'><filename>FAKEROOTCMD</filename></link>
+ <link linkend='var-bb-FAKEROOTCMD'><filename>FAKEROOTCMD</filename></link>
that starts the bitbake-worker process
in the fakeroot environment.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-FAKEROOTCMD'><glossterm>FAKEROOTCMD</glossterm>
+ <glossentry id='var-bb-FAKEROOTCMD'><glossterm>FAKEROOTCMD</glossterm>
<glossdef>
<para>
Contains the command that starts the bitbake-worker
@@ -1548,7 +1548,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-FAKEROOTDIRS'><glossterm>FAKEROOTDIRS</glossterm>
+ <glossentry id='var-bb-FAKEROOTDIRS'><glossterm>FAKEROOTDIRS</glossterm>
<glossdef>
<para>
Lists directories to create before running a task in
@@ -1557,33 +1557,33 @@
</glossdef>
</glossentry>
- <glossentry id='var-FAKEROOTENV'><glossterm>FAKEROOTENV</glossterm>
+ <glossentry id='var-bb-FAKEROOTENV'><glossterm>FAKEROOTENV</glossterm>
<glossdef>
<para>
Lists environment variables to set when running a task
in the fakeroot environment.
For additional information on environment variables and
the fakeroot environment, see the
- <link linkend='var-FAKEROOTBASEENV'><filename>FAKEROOTBASEENV</filename></link>
+ <link linkend='var-bb-FAKEROOTBASEENV'><filename>FAKEROOTBASEENV</filename></link>
variable.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-FAKEROOTNOENV'><glossterm>FAKEROOTNOENV</glossterm>
+ <glossentry id='var-bb-FAKEROOTNOENV'><glossterm>FAKEROOTNOENV</glossterm>
<glossdef>
<para>
Lists environment variables to set when running a task
that is not in the fakeroot environment.
For additional information on environment variables and
the fakeroot environment, see the
- <link linkend='var-FAKEROOTENV'><filename>FAKEROOTENV</filename></link>
+ <link linkend='var-bb-FAKEROOTENV'><filename>FAKEROOTENV</filename></link>
variable.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-FETCHCMD'><glossterm>FETCHCMD</glossterm>
+ <glossentry id='var-bb-FETCHCMD'><glossterm>FETCHCMD</glossterm>
<glossdef>
<para>
Defines the command the BitBake fetcher module
@@ -1595,7 +1595,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-FILE'><glossterm>FILE</glossterm>
+ <glossentry id='var-bb-FILE'><glossterm>FILE</glossterm>
<glossdef>
<para>
Points at the current file.
@@ -1607,7 +1607,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-FILESPATH'><glossterm>FILESPATH</glossterm>
+ <glossentry id='var-bb-FILESPATH'><glossterm>FILESPATH</glossterm>
<glossdef>
<para>
Specifies directories BitBake uses when searching for
@@ -1625,9 +1625,9 @@
</glossdiv>
- <glossdiv id='var-glossary-g'><title>G</title>
+ <glossdiv id='var-bb-glossary-g'><title>G</title>
- <glossentry id='var-GITDIR'><glossterm>GITDIR</glossterm>
+ <glossentry id='var-bb-GITDIR'><glossterm>GITDIR</glossterm>
<glossdef>
<para>
The directory in which a local copy of a Git repository
@@ -1639,9 +1639,9 @@
</glossdiv>
- <glossdiv id='var-glossary-h'><title>H</title>
+ <glossdiv id='var-bb-glossary-h'><title>H</title>
- <glossentry id='var-HGDIR'><glossterm>HGDIR</glossterm>
+ <glossentry id='var-bb-HGDIR'><glossterm>HGDIR</glossterm>
<glossdef>
<para>
The directory in which files checked out of a Mercurial
@@ -1650,7 +1650,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-HOMEPAGE'><glossterm>HOMEPAGE</glossterm>
+ <glossentry id='var-bb-HOMEPAGE'><glossterm>HOMEPAGE</glossterm>
<glossdef>
<para>Website where more information about the software the recipe is building
can be found.</para>
@@ -1659,9 +1659,9 @@
</glossdiv>
- <glossdiv id='var-glossary-i'><title>I</title>
+ <glossdiv id='var-bb-glossary-i'><title>I</title>
- <glossentry id='var-INHERIT'><glossterm>INHERIT</glossterm>
+ <glossentry id='var-bb-INHERIT'><glossterm>INHERIT</glossterm>
<glossdef>
<para>
Causes the named class or classes to be inherited globally.
@@ -1691,15 +1691,15 @@
</glossdiv>
-->
- <glossdiv id='var-glossary-l'><title>L</title>
+ <glossdiv id='var-bb-glossary-l'><title>L</title>
- <glossentry id='var-LAYERDEPENDS'><glossterm>LAYERDEPENDS</glossterm>
+ <glossentry id='var-bb-LAYERDEPENDS'><glossterm>LAYERDEPENDS</glossterm>
<glossdef>
<para>Lists the layers, separated by spaces, upon which this recipe depends.
Optionally, you can specify a specific layer version for a dependency
by adding it to the end of the layer name with a colon, (e.g. "anotherlayer:3"
to be compared against
- <link linkend='var-LAYERVERSION'><filename>LAYERVERSION</filename></link><filename>_anotherlayer</filename>
+ <link linkend='var-bb-LAYERVERSION'><filename>LAYERVERSION</filename></link><filename>_anotherlayer</filename>
in this case).
BitBake produces an error if any dependency is missing or
the version numbers do not match exactly (if specified).</para>
@@ -1710,7 +1710,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-LAYERDIR'><glossterm>LAYERDIR</glossterm>
+ <glossentry id='var-bb-LAYERDIR'><glossterm>LAYERDIR</glossterm>
<glossdef>
<para>When used inside the <filename>layer.conf</filename> configuration
file, this variable provides the path of the current layer.
@@ -1719,22 +1719,22 @@
</glossdef>
</glossentry>
- <glossentry id='var-LAYERDIR_RE'><glossterm>LAYERDIR_RE</glossterm>
+ <glossentry id='var-bb-LAYERDIR_RE'><glossterm>LAYERDIR_RE</glossterm>
<glossdef>
<para>When used inside the <filename>layer.conf</filename> configuration
file, this variable provides the path of the current layer,
escaped for use in a regular expression
- (<link linkend='var-BBFILE_PATTERN'><filename>BBFILE_PATTERN</filename></link>).
+ (<link linkend='var-bb-BBFILE_PATTERN'><filename>BBFILE_PATTERN</filename></link>).
This variable is not available outside of <filename>layer.conf</filename>
and references are expanded immediately when parsing of the file completes.</para>
</glossdef>
</glossentry>
- <glossentry id='var-LAYERVERSION'><glossterm>LAYERVERSION</glossterm>
+ <glossentry id='var-bb-LAYERVERSION'><glossterm>LAYERVERSION</glossterm>
<glossdef>
<para>Optionally specifies the version of a layer as a single number.
You can use this variable within
- <link linkend='var-LAYERDEPENDS'><filename>LAYERDEPENDS</filename></link>
+ <link linkend='var-bb-LAYERDEPENDS'><filename>LAYERDEPENDS</filename></link>
for another layer in order to depend on a specific version
of the layer.</para>
<para>
@@ -1744,7 +1744,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-LICENSE'><glossterm>LICENSE</glossterm>
+ <glossentry id='var-bb-LICENSE'><glossterm>LICENSE</glossterm>
<glossdef>
<para>
The list of source licenses for the recipe.
@@ -1754,9 +1754,9 @@
</glossdiv>
- <glossdiv id='var-glossary-m'><title>M</title>
+ <glossdiv id='var-bb-glossary-m'><title>M</title>
- <glossentry id='var-MIRRORS'><glossterm>MIRRORS</glossterm>
+ <glossentry id='var-bb-MIRRORS'><glossterm>MIRRORS</glossterm>
<glossdef>
<para>
Specifies additional paths from which BitBake gets source code.
@@ -1764,14 +1764,14 @@
tries the local download directory.
If that location fails, the build system tries locations
defined by
- <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>,
+ <link linkend='var-bb-PREMIRRORS'><filename>PREMIRRORS</filename></link>,
the upstream source, and then locations specified by
<filename>MIRRORS</filename> in that order.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-MULTI_PROVIDER_WHITELIST'><glossterm>MULTI_PROVIDER_WHITELIST</glossterm>
+ <glossentry id='var-bb-MULTI_PROVIDER_WHITELIST'><glossterm>MULTI_PROVIDER_WHITELIST</glossterm>
<glossdef>
<para>
Allows you to suppress BitBake warnings caused when
@@ -1804,9 +1804,9 @@
</glossdiv>
-->
- <glossdiv id='var-glossary-o'><title>O</title>
+ <glossdiv id='var-bb-glossary-o'><title>O</title>
- <glossentry id='var-OVERRIDES'><glossterm>OVERRIDES</glossterm>
+ <glossentry id='var-bb-OVERRIDES'><glossterm>OVERRIDES</glossterm>
<glossdef>
<para>
BitBake uses <filename>OVERRIDES</filename> to control
@@ -1829,9 +1829,9 @@
</glossentry>
</glossdiv>
- <glossdiv id='var-glossary-p'><title>P</title>
+ <glossdiv id='var-bb-glossary-p'><title>P</title>
- <glossentry id='var-P4DIR'><glossterm>P4DIR</glossterm>
+ <glossentry id='var-bb-P4DIR'><glossterm>P4DIR</glossterm>
<glossdef>
<para>
The directory in which a local copy of a Perforce depot
@@ -1840,14 +1840,14 @@
</glossdef>
</glossentry>
- <glossentry id='var-PACKAGES'><glossterm>PACKAGES</glossterm>
+ <glossentry id='var-bb-PACKAGES'><glossterm>PACKAGES</glossterm>
<glossdef>
<para>The list of packages the recipe creates.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-PACKAGES_DYNAMIC'><glossterm>PACKAGES_DYNAMIC</glossterm>
+ <glossentry id='var-bb-PACKAGES_DYNAMIC'><glossterm>PACKAGES_DYNAMIC</glossterm>
<glossdef>
<para>
A promise that your recipe satisfies runtime dependencies
@@ -1856,7 +1856,7 @@
does not actually satisfy the dependencies, it only states that
they should be satisfied.
For example, if a hard, runtime dependency
- (<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>)
+ (<link linkend='var-bb-RDEPENDS'><filename>RDEPENDS</filename></link>)
of another package is satisfied during the build
through the <filename>PACKAGES_DYNAMIC</filename>
variable, but a package with the module name is never actually
@@ -1865,7 +1865,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-PE'><glossterm>PE</glossterm>
+ <glossentry id='var-bb-PE'><glossterm>PE</glossterm>
<glossdef>
<para>
The epoch of the recipe.
@@ -1877,7 +1877,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-PERSISTENT_DIR'><glossterm>PERSISTENT_DIR</glossterm>
+ <glossentry id='var-bb-PERSISTENT_DIR'><glossterm>PERSISTENT_DIR</glossterm>
<glossdef>
<para>
Specifies the directory BitBake uses to store data that
@@ -1889,7 +1889,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-PF'><glossterm>PF</glossterm>
+ <glossentry id='var-bb-PF'><glossterm>PF</glossterm>
<glossdef>
<para>
Specifies the recipe or package name and includes all version and revision
@@ -1899,27 +1899,27 @@
</glossdef>
</glossentry>
- <glossentry id='var-PN'><glossterm>PN</glossterm>
+ <glossentry id='var-bb-PN'><glossterm>PN</glossterm>
<glossdef>
<para>The recipe name.</para>
</glossdef>
</glossentry>
- <glossentry id='var-PR'><glossterm>PR</glossterm>
+ <glossentry id='var-bb-PR'><glossterm>PR</glossterm>
<glossdef>
<para>The revision of the recipe.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-PREFERRED_PROVIDER'><glossterm>PREFERRED_PROVIDER</glossterm>
+ <glossentry id='var-bb-PREFERRED_PROVIDER'><glossterm>PREFERRED_PROVIDER</glossterm>
<glossdef>
<para>
Determines which recipe should be given preference when
multiple recipes provide the same item.
You should always suffix the variable with the name of the
provided item, and you should set it to the
- <link linkend='var-PN'><filename>PN</filename></link>
+ <link linkend='var-bb-PN'><filename>PN</filename></link>
of the recipe to which you want to give precedence.
Some examples:
<literallayout class='monospaced'>
@@ -1931,14 +1931,14 @@
</glossdef>
</glossentry>
- <glossentry id='var-PREFERRED_PROVIDERS'><glossterm>PREFERRED_PROVIDERS</glossterm>
+ <glossentry id='var-bb-PREFERRED_PROVIDERS'><glossterm>PREFERRED_PROVIDERS</glossterm>
<glossdef>
<para>
Determines which recipe should be given preference for
cases where multiple recipes provide the same item.
Functionally,
<filename>PREFERRED_PROVIDERS</filename> is identical to
- <link linkend='var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>.
+ <link linkend='var-bb-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>.
However, the <filename>PREFERRED_PROVIDERS</filename>
variable lets you define preferences for multiple
situations using the following form:
@@ -1954,15 +1954,15 @@
</glossdef>
</glossentry>
- <glossentry id='var-PREFERRED_VERSION'><glossterm>PREFERRED_VERSION</glossterm>
+ <glossentry id='var-bb-PREFERRED_VERSION'><glossterm>PREFERRED_VERSION</glossterm>
<glossdef>
<para>
If there are multiple versions of recipes available, this
variable determines which recipe should be given preference.
You must always suffix the variable with the
- <link linkend='var-PN'><filename>PN</filename></link>
+ <link linkend='var-bb-PN'><filename>PN</filename></link>
you want to select, and you should set
- <link linkend='var-PV'><filename>PV</filename></link>
+ <link linkend='var-bb-PV'><filename>PV</filename></link>
accordingly for precedence.
</para>
@@ -1989,7 +1989,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-PREMIRRORS'><glossterm>PREMIRRORS</glossterm>
+ <glossentry id='var-bb-PREMIRRORS'><glossterm>PREMIRRORS</glossterm>
<glossdef>
<para>
Specifies additional paths from which BitBake gets source code.
@@ -1998,7 +1998,7 @@
If that location fails, the build system tries locations
defined by <filename>PREMIRRORS</filename>, the upstream
source, and then locations specified by
- <link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>
+ <link linkend='var-bb-MIRRORS'><filename>MIRRORS</filename></link>
in that order.
</para>
@@ -2022,20 +2022,20 @@
</glossdef>
</glossentry>
- <glossentry id='var-PROVIDES'><glossterm>PROVIDES</glossterm>
+ <glossentry id='var-bb-PROVIDES'><glossterm>PROVIDES</glossterm>
<glossdef>
<para>
A list of aliases by which a particular recipe can be
known.
By default, a recipe's own
- <filename><link linkend='var-PN'>PN</link></filename>
+ <filename><link linkend='var-bb-PN'>PN</link></filename>
is implicitly already in its <filename>PROVIDES</filename>
list.
If a recipe uses <filename>PROVIDES</filename>, the
additional aliases are synonyms for the recipe and can
be useful satisfying dependencies of other recipes during
the build as specified by
- <filename><link linkend='var-DEPENDS'>DEPENDS</link></filename>.
+ <filename><link linkend='var-bb-DEPENDS'>DEPENDS</link></filename>.
</para>
<para>
@@ -2059,7 +2059,7 @@
virtual target in <filename>PROVIDES</filename>.
Recipes that depend on the functionality in question can
include the virtual target in
- <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
+ <link linkend='var-bb-DEPENDS'><filename>DEPENDS</filename></link>
to leave the choice of provider open.
</para>
@@ -2072,11 +2072,11 @@
</glossdef>
</glossentry>
- <glossentry id='var-PRSERV_HOST'><glossterm>PRSERV_HOST</glossterm>
+ <glossentry id='var-bb-PRSERV_HOST'><glossterm>PRSERV_HOST</glossterm>
<glossdef>
<para>
The network based
- <link linkend='var-PR'><filename>PR</filename></link>
+ <link linkend='var-bb-PR'><filename>PR</filename></link>
service host and port.
</para>
@@ -2094,7 +2094,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-PV'><glossterm>PV</glossterm>
+ <glossentry id='var-bb-PV'><glossterm>PV</glossterm>
<glossdef>
<para>The version of the recipe.
</para>
@@ -2108,9 +2108,9 @@
</glossdiv>
-->
- <glossdiv id='var-glossary-r'><title>R</title>
+ <glossdiv id='var-bb-glossary-r'><title>R</title>
- <glossentry id='var-RDEPENDS'><glossterm>RDEPENDS</glossterm>
+ <glossentry id='var-bb-RDEPENDS'><glossterm>RDEPENDS</glossterm>
<glossdef>
<para>
Lists a package's runtime dependencies (i.e. other packages)
@@ -2165,13 +2165,13 @@
<para>
For information on build-time dependencies, see the
- <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
+ <link linkend='var-bb-DEPENDS'><filename>DEPENDS</filename></link>
variable.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-REPODIR'><glossterm>REPODIR</glossterm>
+ <glossentry id='var-bb-REPODIR'><glossterm>REPODIR</glossterm>
<glossdef>
<para>
The directory in which a local copy of a
@@ -2181,14 +2181,14 @@
</glossdef>
</glossentry>
- <glossentry id='var-RPROVIDES'><glossterm>RPROVIDES</glossterm>
+ <glossentry id='var-bb-RPROVIDES'><glossterm>RPROVIDES</glossterm>
<glossdef>
<para>
A list of package name aliases that a package also provides.
These aliases are useful for satisfying runtime dependencies
of other packages both during the build and on the target
(as specified by
- <filename><link linkend='var-RDEPENDS'>RDEPENDS</link></filename>).
+ <filename><link linkend='var-bb-RDEPENDS'>RDEPENDS</link></filename>).
</para>
<para>
As with all package-controlling variables, you must always
@@ -2201,7 +2201,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-RRECOMMENDS'><glossterm>RRECOMMENDS</glossterm>
+ <glossentry id='var-bb-RRECOMMENDS'><glossterm>RRECOMMENDS</glossterm>
<glossdef>
<para>
A list of packages that extends the usability of a package
@@ -2210,7 +2210,7 @@
packages in order to successfully build, but needs them for
the extended usability.
To specify runtime dependencies for packages, see the
- <filename><link linkend='var-RDEPENDS'>RDEPENDS</link></filename>
+ <filename><link linkend='var-bb-RDEPENDS'>RDEPENDS</link></filename>
variable.
</para>
@@ -2243,15 +2243,15 @@
</glossdiv>
- <glossdiv id='var-glossary-s'><title>S</title>
+ <glossdiv id='var-bb-glossary-s'><title>S</title>
- <glossentry id='var-SECTION'><glossterm>SECTION</glossterm>
+ <glossentry id='var-bb-SECTION'><glossterm>SECTION</glossterm>
<glossdef>
<para>The section in which packages should be categorized.</para>
</glossdef>
</glossentry>
- <glossentry id='var-SRC_URI'><glossterm>SRC_URI</glossterm>
+ <glossentry id='var-bb-SRC_URI'><glossterm>SRC_URI</glossterm>
<glossdef>
<para>
The list of source files - local or remote.
@@ -2272,7 +2272,7 @@
the metadata,
from the local machine.
The path is relative to the
- <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
+ <link linkend='var-bb-FILESPATH'><filename>FILESPATH</filename></link>
variable.</para></listitem>
<listitem><para><emphasis><filename>bzr://</filename> -</emphasis> Fetches files from a
Bazaar revision control repository.</para></listitem>
@@ -2322,7 +2322,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-SRCDATE'><glossterm>SRCDATE</glossterm>
+ <glossentry id='var-bb-SRCDATE'><glossterm>SRCDATE</glossterm>
<glossdef>
<para>
The date of the source code used to build the package.
@@ -2331,7 +2331,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-SRCREV'><glossterm>SRCREV</glossterm>
+ <glossentry id='var-bb-SRCREV'><glossterm>SRCREV</glossterm>
<glossdef>
<para>
The revision of the source code used to build the package.
@@ -2344,13 +2344,13 @@
</glossdef>
</glossentry>
- <glossentry id='var-SRCREV_FORMAT'><glossterm>SRCREV_FORMAT</glossterm>
+ <glossentry id='var-bb-SRCREV_FORMAT'><glossterm>SRCREV_FORMAT</glossterm>
<glossdef>
<para>
Helps construct valid
- <link linkend='var-SRCREV'><filename>SRCREV</filename></link>
+ <link linkend='var-bb-SRCREV'><filename>SRCREV</filename></link>
values when multiple source controlled URLs are used in
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>.
+ <link linkend='var-bb-SRC_URI'><filename>SRC_URI</filename></link>.
</para>
<para>
@@ -2371,7 +2371,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-STAMP'><glossterm>STAMP</glossterm>
+ <glossentry id='var-bb-STAMP'><glossterm>STAMP</glossterm>
<glossdef>
<para>
Specifies the base path used to create recipe stamp files.
@@ -2381,12 +2381,12 @@
</glossdef>
</glossentry>
- <glossentry id='var-STAMPCLEAN'><glossterm>STAMPCLEAN</glossterm>
+ <glossentry id='var-bb-STAMPCLEAN'><glossterm>STAMPCLEAN</glossterm>
<glossdef>
<para>
Specifies the base path used to create recipe stamp files.
Unlike the
- <link linkend='var-STAMP'><filename>STAMP</filename></link>
+ <link linkend='var-bb-STAMP'><filename>STAMP</filename></link>
variable, <filename>STAMPCLEAN</filename> can contain
wildcards to match the range of files a clean operation
should remove.
@@ -2396,7 +2396,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-SUMMARY'><glossterm>SUMMARY</glossterm>
+ <glossentry id='var-bb-SUMMARY'><glossterm>SUMMARY</glossterm>
<glossdef>
<para>
A short summary for the recipe, which is 72 characters or less.
@@ -2404,7 +2404,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-SVNDIR'><glossterm>SVNDIR</glossterm>
+ <glossentry id='var-bb-SVNDIR'><glossterm>SVNDIR</glossterm>
<glossdef>
<para>
The directory in which files checked out of a Subversion
@@ -2415,9 +2415,9 @@
</glossdiv>
- <glossdiv id='var-glossary-t'><title>T</title>
+ <glossdiv id='var-bb-glossary-t'><title>T</title>
- <glossentry id='var-T'><glossterm>T</glossterm>
+ <glossentry id='var-bb-T'><glossterm>T</glossterm>
<glossdef>
<para>Points to a directory were BitBake places
temporary files, which consist mostly of task logs and
@@ -2426,7 +2426,7 @@
</glossdef>
</glossentry>
- <glossentry id='var-TOPDIR'><glossterm>TOPDIR</glossterm>
+ <glossentry id='var-bb-TOPDIR'><glossterm>TOPDIR</glossterm>
<glossdef>
<para>
Points to the build directory.
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py
index 3e2a94edb..7571421d7 100644
--- a/poky/bitbake/lib/bb/build.py
+++ b/poky/bitbake/lib/bb/build.py
@@ -304,9 +304,10 @@ def exec_func_python(func, d, runfile, cwd=None, pythonexception=False):
utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated", pythonexception=pythonexception)
except (bb.parse.SkipRecipe, bb.build.FuncFailed):
raise
- except:
+ except Exception as e:
if pythonexception:
raise
+ logger.error(str(e))
raise FuncFailed(func, None)
finally:
bb.debug(2, "Python function %s finished" % func)
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index 258d679dc..65c514b90 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -97,7 +97,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.skipreason = self.getvar('__SKIPPED', metadata)
if self.skipreason:
- self.pn = self.getvar('PN', metadata) or bb.parse.BBHandler.vars_from_file(filename,metadata)[0]
+ self.pn = self.getvar('PN', metadata) or bb.parse.vars_from_file(filename,metadata)[0]
self.skipped = True
self.provides = self.depvar('PROVIDES', metadata)
self.rprovides = self.depvar('RPROVIDES', metadata)
diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py
index ddd1b97dc..ac995a6a1 100644
--- a/poky/bitbake/lib/bb/codeparser.py
+++ b/poky/bitbake/lib/bb/codeparser.py
@@ -33,7 +33,7 @@ from bb.cache import MultiProcessCache
logger = logging.getLogger('BitBake.CodeParser')
def bbhash(s):
- return hashlib.md5(s.encode("utf-8")).hexdigest()
+ return hashlib.sha256(s.encode("utf-8")).hexdigest()
def check_indent(codestr):
"""If the code is indented, add a top level piece of code to 'remove' the indentation"""
@@ -140,7 +140,7 @@ class CodeParserCache(MultiProcessCache):
# so that an existing cache gets invalidated. Additionally you'll need
# to increment __cache_version__ in cache.py in order to ensure that old
# recipe caches don't trigger "Taskhash mismatch" errors.
- CACHE_VERSION = 10
+ CACHE_VERSION = 11
def __init__(self):
MultiProcessCache.__init__(self)
@@ -368,8 +368,9 @@ class ShellParser():
def _parse_shell(self, value):
try:
tokens, _ = pyshyacc.parse(value, eof=True, debug=False)
- except pyshlex.NeedMore:
- raise sherrors.ShellSyntaxError("Unexpected EOF")
+ except Exception:
+ bb.error('Error during parse shell code, the last 5 lines are:\n%s' % '\n'.join(value.split('\n')[-5:]))
+ raise
self.process_tokens(tokens)
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index adc41014e..9ccaa79f5 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -1216,8 +1216,8 @@ class BBCooker:
continue
elif regex == "":
parselog.debug(1, "BBFILE_PATTERN_%s is empty" % c)
+ cre = re.compile('^NULL$')
errors = False
- continue
else:
try:
cre = re.compile(regex)
@@ -1890,35 +1890,6 @@ class ParsingFailure(Exception):
self.recipe = recipe
Exception.__init__(self, realexception, recipe)
-class Feeder(multiprocessing.Process):
- def __init__(self, jobs, to_parsers, quit):
- self.quit = quit
- self.jobs = jobs
- self.to_parsers = to_parsers
- multiprocessing.Process.__init__(self)
-
- def run(self):
- while True:
- try:
- quit = self.quit.get_nowait()
- except queue.Empty:
- pass
- else:
- if quit == 'cancel':
- self.to_parsers.cancel_join_thread()
- break
-
- try:
- job = self.jobs.pop()
- except IndexError:
- break
-
- try:
- self.to_parsers.put(job, timeout=0.5)
- except queue.Full:
- self.jobs.insert(0, job)
- continue
-
class Parser(multiprocessing.Process):
def __init__(self, jobs, results, quit, init, profile):
self.jobs = jobs
@@ -1965,11 +1936,8 @@ class Parser(multiprocessing.Process):
result = pending.pop()
else:
try:
- job = self.jobs.get(timeout=0.25)
- except queue.Empty:
- continue
-
- if job is None:
+ job = self.jobs.pop()
+ except IndexError:
break
result = self.parse(*job)
@@ -2053,14 +2021,15 @@ class CookerParser(object):
multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1)
multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1)
- self.feeder_quit = multiprocessing.Queue(maxsize=1)
self.parser_quit = multiprocessing.Queue(maxsize=self.num_processes)
- self.jobs = multiprocessing.Queue(maxsize=self.num_processes)
self.result_queue = multiprocessing.Queue()
- self.feeder = Feeder(self.willparse, self.jobs, self.feeder_quit)
- self.feeder.start()
+
+ def chunkify(lst,n):
+ return [lst[i::n] for i in range(n)]
+ self.jobs = chunkify(self.willparse, self.num_processes)
+
for i in range(0, self.num_processes):
- parser = Parser(self.jobs, self.result_queue, self.parser_quit, init, self.cooker.configuration.profile)
+ parser = Parser(self.jobs[i], self.result_queue, self.parser_quit, init, self.cooker.configuration.profile)
parser.start()
self.process_names.append(parser.name)
self.processes.append(parser)
@@ -2081,25 +2050,19 @@ class CookerParser(object):
self.total)
bb.event.fire(event, self.cfgdata)
- self.feeder_quit.put(None)
for process in self.processes:
self.parser_quit.put(None)
else:
- self.feeder_quit.put('cancel')
-
self.parser_quit.cancel_join_thread()
for process in self.processes:
self.parser_quit.put(None)
- self.jobs.cancel_join_thread()
-
for process in self.processes:
if force:
process.join(.1)
process.terminate()
else:
process.join()
- self.feeder.join()
sync = threading.Thread(target=self.bb_cache.sync)
sync.start()
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index 5df66e617..09412e28c 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -391,7 +391,11 @@ class CookerDataBuilder(object):
bb.fatal("BBFILES_DYNAMIC entries must be of the form <collection name>:<filename pattern>, not:\n %s" % "\n ".join(invalid))
layerseries = set((data.getVar("LAYERSERIES_CORENAMES") or "").split())
+ collections_tmp = collections[:]
for c in collections:
+ collections_tmp.remove(c)
+ if c in collections_tmp:
+ bb.fatal("Found duplicated BBFILE_COLLECTIONS '%s', check bblayers.conf or layer.conf to fix it." % c)
compat = set((data.getVar("LAYERSERIES_COMPAT_%s" % c) or "").split())
if compat and not (compat & layerseries):
bb.fatal("Layer %s is not compatible with the core layer which only supports these series: %s (layer is compatible with %s)"
diff --git a/poky/bitbake/lib/bb/data.py b/poky/bitbake/lib/bb/data.py
index d66d98cc8..29c238803 100644
--- a/poky/bitbake/lib/bb/data.py
+++ b/poky/bitbake/lib/bb/data.py
@@ -322,8 +322,6 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
if varflags.get("python"):
value = d.getVarFlag(key, "_content", False)
parser = bb.codeparser.PythonParser(key, logger)
- if value and "\t" in value:
- logger.warning("Variable %s contains tabs, please remove these (%s)" % (key, d.getVar("FILE")))
parser.parse_python(value, filename=varflags.get("filename"), lineno=varflags.get("lineno"))
deps = deps | parser.references
deps = deps | (keys & parser.execs)
@@ -438,7 +436,7 @@ def generate_dependency_hash(tasklist, gendeps, lookupcache, whitelist, fn):
if var is not None:
data = data + str(var)
k = fn + "." + task
- basehash[k] = hashlib.md5(data.encode("utf-8")).hexdigest()
+ basehash[k] = hashlib.sha256(data.encode("utf-8")).hexdigest()
taskdeps[task] = alldeps
return taskdeps, basehash
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index 6b94fc4b4..07db7be97 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -39,10 +39,11 @@ from bb.COW import COWDictBase
logger = logging.getLogger("BitBake.Data")
__setvar_keyword__ = ["_append", "_prepend", "_remove"]
-__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
-__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}")
+__setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
+__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~]+?}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
-__whitespace_split__ = re.compile('(\s)')
+__whitespace_split__ = re.compile(r'(\s)')
+__override_regexp__ = re.compile(r'[a-z0-9]+')
def infer_caller_details(loginfo, parent = False, varval = True):
"""Save the caller the trouble of specifying everything."""
@@ -122,7 +123,11 @@ class VariableParse:
connector = self.d["_remote_data"]
return connector.expandPythonRef(self.varname, code, self.d)
- codeobj = compile(code.strip(), self.varname or "<expansion>", "eval")
+ if self.varname:
+ varname = 'Var <%s>' % self.varname
+ else:
+ varname = '<expansion>'
+ codeobj = compile(code.strip(), varname, "eval")
parser = bb.codeparser.PythonParser(self.varname, logger)
parser.parse_python(code)
@@ -427,7 +432,8 @@ class DataSmart(MutableMapping):
except bb.parse.SkipRecipe:
raise
except Exception as exc:
- raise ExpansionError(varname, s, exc) from exc
+ tb = sys.exc_info()[2]
+ raise ExpansionError(varname, s, exc).with_traceback(tb) from exc
varparse.value = s
@@ -592,7 +598,7 @@ class DataSmart(MutableMapping):
# aka pay the cookie monster
override = var[var.rfind('_')+1:]
shortvar = var[:var.rfind('_')]
- while override and override.islower():
+ while override and __override_regexp__.match(override):
if shortvar not in self.overridedata:
self.overridedata[shortvar] = []
if [var, override] not in self.overridedata[shortvar]:
@@ -1068,4 +1074,4 @@ class DataSmart(MutableMapping):
data.update({i:value})
data_str = str([(k, data[k]) for k in sorted(data.keys())])
- return hashlib.md5(data_str.encode("utf-8")).hexdigest()
+ return hashlib.sha256(data_str.encode("utf-8")).hexdigest()
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 709372e16..8fecc809d 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -524,7 +524,7 @@ def fetcher_parse_save():
def fetcher_parse_done():
_checksum_cache.save_merge()
-def fetcher_compare_revisions():
+def fetcher_compare_revisions(d):
"""
Compare the revisions in the persistant cache with current values and
return true/false on whether they've changed.
@@ -777,7 +777,8 @@ def get_srcrev(d, method_name='sortable_revision'):
#
format = d.getVar('SRCREV_FORMAT')
if not format:
- raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
+ raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.\n"\
+ "The SCMs are:\n%s" % '\n'.join(scms))
name_to_rev = {}
seenautoinc = False
@@ -858,7 +859,10 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
# Disable pseudo as it may affect ssh, potentially causing it to hang.
cmd = 'export PSEUDO_DISABLED=1; ' + cmd
- logger.debug(1, "Running %s", cmd)
+ if workdir:
+ logger.debug(1, "Running '%s' in %s" % (cmd, workdir))
+ else:
+ logger.debug(1, "Running %s", cmd)
success = False
error_message = ""
@@ -894,7 +898,7 @@ def check_network_access(d, info, url):
log remote network access, and error if BB_NO_NETWORK is set or the given
URI is untrusted
"""
- if d.getVar("BB_NO_NETWORK") == "1":
+ if bb.utils.to_boolean(d.getVar("BB_NO_NETWORK")):
raise NetworkAccess(url, info)
elif not trusted_network(d, url):
raise UntrustedUrl(url, info)
@@ -1027,7 +1031,7 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
raise
except IOError as e:
- if e.errno in [os.errno.ESTALE]:
+ if e.errno in [errno.ESTALE]:
logger.warning("Stale Error Observed %s." % ud.url)
return False
raise
@@ -1094,7 +1098,7 @@ def trusted_network(d, url):
BB_ALLOWED_NETWORKS is set globally or for a specific recipe.
Note: modifies SRC_URI & mirrors.
"""
- if d.getVar('BB_NO_NETWORK') == "1":
+ if bb.utils.to_boolean(d.getVar("BB_NO_NETWORK")):
return True
pkgname = d.expand(d.getVar('PN', False))
@@ -1403,7 +1407,7 @@ class FetchMethod(object):
Fetch urls
Assumes localpath was called first
"""
- raise NoMethodError(url)
+ raise NoMethodError(urldata.url)
def unpack(self, urldata, rootdir, data):
iterate = False
@@ -1547,7 +1551,7 @@ class FetchMethod(object):
Check the status of a URL
Assumes localpath was called first
"""
- logger.info("URL %s could not be checked for status since no method exists.", url)
+ logger.info("URL %s could not be checked for status since no method exists.", urldata.url)
return True
def latest_revision(self, ud, d, name):
@@ -1555,7 +1559,7 @@ class FetchMethod(object):
Look in the cache for the latest revision, if not present ask the SCM.
"""
if not hasattr(self, "_latest_revision"):
- raise ParameterError("The fetcher for this URL does not support _latest_revision", url)
+ raise ParameterError("The fetcher for this URL does not support _latest_revision", ud.url)
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
key = self.generate_revision_key(ud, d, name)
@@ -1638,7 +1642,7 @@ class Fetch(object):
urls = self.urls
network = self.d.getVar("BB_NO_NETWORK")
- premirroronly = (self.d.getVar("BB_FETCH_PREMIRRORONLY") == "1")
+ premirroronly = bb.utils.to_boolean(self.d.getVar("BB_FETCH_PREMIRRORONLY"))
for u in urls:
ud = self.ud[u]
@@ -1716,7 +1720,7 @@ class Fetch(object):
update_stamp(ud, self.d)
except IOError as e:
- if e.errno in [os.errno.ESTALE]:
+ if e.errno in [errno.ESTALE]:
logger.error("Stale Error Observed %s." % u)
raise ChecksumError("Stale Error Detected")
@@ -1786,7 +1790,7 @@ class Fetch(object):
for url in urls:
if url not in self.ud:
- self.ud[url] = FetchData(url, d)
+ self.ud[url] = FetchData(url, self.d)
ud = self.ud[url]
ud.setup_localpath(self.d)
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index 59a2ee8f8..8185bf4db 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -199,7 +199,7 @@ class Git(FetchMethod):
depth_default = 1
ud.shallow_depths = collections.defaultdict(lambda: depth_default)
- revs_default = d.getVar("BB_GIT_SHALLOW_REVS", True)
+ revs_default = d.getVar("BB_GIT_SHALLOW_REVS")
ud.shallow_revs = []
ud.branches = {}
for pos, name in enumerate(ud.names):
@@ -318,7 +318,7 @@ class Git(FetchMethod):
def try_premirror(self, ud, d):
# If we don't do this, updating an existing checkout with only premirrors
# is not possible
- if d.getVar("BB_FETCH_PREMIRRORONLY") is not None:
+ if bb.utils.to_boolean(d.getVar("BB_FETCH_PREMIRRORONLY")):
return True
if os.path.exists(ud.clonedir):
return False
@@ -522,9 +522,17 @@ class Git(FetchMethod):
def clean(self, ud, d):
""" clean the git directory """
- bb.utils.remove(ud.localpath, True)
- bb.utils.remove(ud.fullmirror)
- bb.utils.remove(ud.fullmirror + ".done")
+ to_remove = [ud.localpath, ud.fullmirror, ud.fullmirror + ".done"]
+ # The localpath is a symlink to clonedir when it is cloned from a
+ # mirror, so remove both of them.
+ if os.path.islink(ud.localpath):
+ clonedir = os.path.realpath(ud.localpath)
+ to_remove.append(clonedir)
+
+ for r in to_remove:
+ if os.path.exists(r):
+ bb.note('Removing %s' % r)
+ bb.utils.remove(r, True)
def supports_srcrev(self):
return True
@@ -615,7 +623,7 @@ class Git(FetchMethod):
"""
pupver = ('', '')
- tagregex = re.compile(d.getVar('UPSTREAM_CHECK_GITTAGREGEX') or "(?P<pver>([0-9][\.|_]?)+)")
+ tagregex = re.compile(d.getVar('UPSTREAM_CHECK_GITTAGREGEX') or r"(?P<pver>([0-9][\.|_]?)+)")
try:
output = self._lsremote(ud, d, "refs/tags/*")
except (bb.fetch2.FetchError, bb.fetch2.NetworkAccess) as e:
@@ -630,7 +638,7 @@ class Git(FetchMethod):
tag_head = line.split("/")[-1]
# Ignore non-released branches
- m = re.search("(alpha|beta|rc|final)+", tag_head)
+ m = re.search(r"(alpha|beta|rc|final)+", tag_head)
if m:
continue
diff --git a/poky/bitbake/lib/bb/fetch2/gitsm.py b/poky/bitbake/lib/bb/fetch2/gitsm.py
index b21fed266..32389130b 100644
--- a/poky/bitbake/lib/bb/fetch2/gitsm.py
+++ b/poky/bitbake/lib/bb/fetch2/gitsm.py
@@ -147,6 +147,23 @@ class GitSM(Git):
return submodules != []
+ def need_update(self, ud, d):
+ if Git.need_update(self, ud, d):
+ return True
+
+ try:
+ # Check for the nugget dropped by the download operation
+ known_srcrevs = runfetchcmd("%s config --get-all bitbake.srcrev" % \
+ (ud.basecmd), d, workdir=ud.clonedir)
+
+ if ud.revisions[ud.names[0]] not in known_srcrevs.split():
+ return True
+ except bb.fetch2.FetchError:
+ # No srcrev nuggets, so this is new and needs to be updated
+ return True
+
+ return False
+
def download(self, ud, d):
def download_submodule(ud, url, module, modpath, d):
url += ";bareclone=1;nobranch=1"
@@ -157,6 +174,9 @@ class GitSM(Git):
try:
newfetch = Fetch([url], d, cache=False)
newfetch.download()
+ # Drop a nugget to add each of the srcrevs we've fetched (used by need_update)
+ runfetchcmd("%s config --add bitbake.srcrev %s" % \
+ (ud.basecmd, ud.revisions[ud.names[0]]), d, workdir=ud.clonedir)
except Exception as e:
logger.error('gitsm: submodule download failed: %s %s' % (type(e).__name__, str(e)))
raise
diff --git a/poky/bitbake/lib/bb/fetch2/hg.py b/poky/bitbake/lib/bb/fetch2/hg.py
index 936d04311..5a2985e16 100644
--- a/poky/bitbake/lib/bb/fetch2/hg.py
+++ b/poky/bitbake/lib/bb/fetch2/hg.py
@@ -99,7 +99,7 @@ class Hg(FetchMethod):
def try_premirror(self, ud, d):
# If we don't do this, updating an existing checkout with only premirrors
# is not possible
- if d.getVar("BB_FETCH_PREMIRRORONLY") is not None:
+ if bb.utils.to_boolean(d.getVar("BB_FETCH_PREMIRRORONLY")):
return True
if os.path.exists(ud.moddir):
return False
diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py
index 408dfc3d0..65bf5a364 100644
--- a/poky/bitbake/lib/bb/fetch2/npm.py
+++ b/poky/bitbake/lib/bb/fetch2/npm.py
@@ -226,7 +226,7 @@ class Npm(FetchMethod):
self._getshrinkeddependencies(obj, data['dependencies'][obj], data['dependencies'][obj]['version'], d, ud, lockdown, manifest, False)
return
outputurl = "invalid"
- if ('resolved' not in data) or (not data['resolved'].startswith('http')):
+ if ('resolved' not in data) or (not data['resolved'].startswith('http://') and not data['resolved'].startswith('https://')):
# will be the case for ${PN}
fetchcmd = "npm view %s@%s dist.tarball --registry %s" % (pkg, version, ud.registry)
logger.debug(2, "Found this matching URL: %s" % str(fetchcmd))
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index 8f505b6de..3bb3e3bb0 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -33,11 +33,14 @@ import logging
import errno
import bb
import bb.progress
+import socket
+import http.client
import urllib.request, urllib.parse, urllib.error
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import logger
from bb.fetch2 import runfetchcmd
+from bb.fetch2 import FetchConnectionCache
from bb.utils import export_proxies
from bs4 import BeautifulSoup
from bs4 import SoupStrainer
@@ -132,10 +135,6 @@ class Wget(FetchMethod):
return True
def checkstatus(self, fetch, ud, d, try_again=True):
- import urllib.request, urllib.error, urllib.parse, socket, http.client
- from urllib.response import addinfourl
- from bb.fetch2 import FetchConnectionCache
-
class HTTPConnectionCache(http.client.HTTPConnection):
if fetch.connection_cache:
def connect(self):
@@ -168,7 +167,7 @@ class Wget(FetchMethod):
"""
host = req.host
if not host:
- raise urlllib2.URLError('no host given')
+ raise urllib.error.URLError('no host given')
h = http_class(host, timeout=req.timeout) # will parse host:port
h.set_debuglevel(self._debuglevel)
@@ -185,7 +184,7 @@ class Wget(FetchMethod):
# request.
# Don't close connection when connection_cache is enabled,
- if fetch.connection_cache is None:
+ if fetch.connection_cache is None:
headers["Connection"] = "close"
else:
headers["Connection"] = "Keep-Alive" # Works for HTTP/1.0
@@ -252,7 +251,7 @@ class Wget(FetchMethod):
pass
closed = False
- resp = addinfourl(fp_dummy(), r.msg, req.get_full_url())
+ resp = urllib.response.addinfourl(fp_dummy(), r.msg, req.get_full_url())
resp.code = r.status
resp.msg = r.reason
@@ -271,17 +270,16 @@ class Wget(FetchMethod):
fp.read()
fp.close()
- newheaders = dict((k,v) for k,v in list(req.headers.items())
+ newheaders = dict((k, v) for k, v in list(req.headers.items())
if k.lower() not in ("content-length", "content-type"))
return self.parent.open(urllib.request.Request(req.get_full_url(),
headers=newheaders,
origin_req_host=req.origin_req_host,
unverifiable=True))
- """
- Some servers (e.g. GitHub archives, hosted on Amazon S3) return 403
- Forbidden when they actually mean 405 Method Not Allowed.
- """
+
+ # Some servers (e.g. GitHub archives, hosted on Amazon S3) return 403
+ # Forbidden when they actually mean 405 Method Not Allowed.
http_error_403 = http_error_405
@@ -292,15 +290,15 @@ class Wget(FetchMethod):
"""
def redirect_request(self, req, fp, code, msg, headers, newurl):
newreq = urllib.request.HTTPRedirectHandler.redirect_request(self, req, fp, code, msg, headers, newurl)
- newreq.get_method = lambda: req.get_method()
+ newreq.get_method = req.get_method
return newreq
exported_proxies = export_proxies(d)
handlers = [FixedHTTPRedirectHandler, HTTPMethodFallback]
- if export_proxies:
+ if exported_proxies:
handlers.append(urllib.request.ProxyHandler())
handlers.append(CacheHTTPHandler())
- # XXX: Since Python 2.7.9 ssl cert validation is enabled by default
+ # Since Python 2.7.9 ssl cert validation is enabled by default
# see PEP-0476, this causes verification errors on some https servers
# so disable by default.
import ssl
@@ -319,19 +317,19 @@ class Wget(FetchMethod):
'''Adds Basic auth to http request, pass in login:password as string'''
import base64
encodeuser = base64.b64encode(login_str.encode('utf-8')).decode("utf-8")
- authheader = "Basic %s" % encodeuser
+ authheader = "Basic %s" % encodeuser
r.add_header("Authorization", authheader)
- if ud.user:
- add_basic_auth(ud.user, r)
+ if ud.user and ud.pswd:
+ add_basic_auth(ud.user + ':' + ud.pswd, r)
try:
- import netrc, urllib.parse
+ import netrc
n = netrc.netrc()
login, unused, password = n.authenticators(urllib.parse.urlparse(uri).hostname)
add_basic_auth("%s:%s" % (login, password), r)
except (TypeError, ImportError, IOError, netrc.NetrcParseError):
- pass
+ pass
with opener.open(r) as response:
pass
@@ -396,18 +394,14 @@ class Wget(FetchMethod):
(oldpn, oldpv, oldsuffix) = old
(newpn, newpv, newsuffix) = new
- """
- Check for a new suffix type that we have never heard of before
- """
- if (newsuffix):
+ # Check for a new suffix type that we have never heard of before
+ if newsuffix:
m = self.suffix_regex_comp.search(newsuffix)
if not m:
bb.warn("%s has a possible unknown suffix: %s" % (newpn, newsuffix))
return False
- """
- Not our package so ignore it
- """
+ # Not our package so ignore it
if oldpn != newpn:
return False
@@ -473,15 +467,14 @@ class Wget(FetchMethod):
return ""
- def _check_latest_version_by_dir(self, dirver, package, package_regex,
- current_version, ud, d):
+ def _check_latest_version_by_dir(self, dirver, package, package_regex, current_version, ud, d):
"""
- Scan every directory in order to get upstream version.
+ Scan every directory in order to get upstream version.
"""
version_dir = ['', '', '']
version = ['', '', '']
- dirver_regex = re.compile("(?P<pfx>\D*)(?P<ver>(\d+[\.\-_])+(\d+))")
+ dirver_regex = re.compile(r"(?P<pfx>\D*)(?P<ver>(\d+[\.\-_])+(\d+))")
s = dirver_regex.search(dirver)
if s:
version_dir[1] = s.group('ver')
@@ -541,26 +534,26 @@ class Wget(FetchMethod):
gst-fluendo-mp3
"""
# match most patterns which uses "-" as separator to version digits
- pn_prefix1 = "[a-zA-Z][a-zA-Z0-9]*([-_][a-zA-Z]\w+)*\+?[-_]"
+ pn_prefix1 = r"[a-zA-Z][a-zA-Z0-9]*([-_][a-zA-Z]\w+)*\+?[-_]"
# a loose pattern such as for unzip552.tar.gz
- pn_prefix2 = "[a-zA-Z]+"
+ pn_prefix2 = r"[a-zA-Z]+"
# a loose pattern such as for 80325-quicky-0.4.tar.gz
- pn_prefix3 = "[0-9]+[-]?[a-zA-Z]+"
+ pn_prefix3 = r"[0-9]+[-]?[a-zA-Z]+"
# Save the Package Name (pn) Regex for use later
- pn_regex = "(%s|%s|%s)" % (pn_prefix1, pn_prefix2, pn_prefix3)
+ pn_regex = r"(%s|%s|%s)" % (pn_prefix1, pn_prefix2, pn_prefix3)
# match version
- pver_regex = "(([A-Z]*\d+[a-zA-Z]*[\.\-_]*)+)"
+ pver_regex = r"(([A-Z]*\d+[a-zA-Z]*[\.\-_]*)+)"
# match arch
parch_regex = "-source|_all_"
# src.rpm extension was added only for rpm package. Can be removed if the rpm
# packaged will always be considered as having to be manually upgraded
- psuffix_regex = "(tar\.gz|tgz|tar\.bz2|zip|xz|tar\.lz|rpm|bz2|orig\.tar\.gz|tar\.xz|src\.tar\.gz|src\.tgz|svnr\d+\.tar\.bz2|stable\.tar\.gz|src\.rpm)"
+ psuffix_regex = r"(tar\.gz|tgz|tar\.bz2|zip|xz|tar\.lz|rpm|bz2|orig\.tar\.gz|tar\.xz|src\.tar\.gz|src\.tgz|svnr\d+\.tar\.bz2|stable\.tar\.gz|src\.rpm)"
# match name, version and archive type of a package
- package_regex_comp = re.compile("(?P<name>%s?\.?v?)(?P<pver>%s)(?P<arch>%s)?[\.-](?P<type>%s$)"
+ package_regex_comp = re.compile(r"(?P<name>%s?\.?v?)(?P<pver>%s)(?P<arch>%s)?[\.-](?P<type>%s$)"
% (pn_regex, pver_regex, parch_regex, psuffix_regex))
self.suffix_regex_comp = re.compile(psuffix_regex)
@@ -572,7 +565,7 @@ class Wget(FetchMethod):
version = self._parse_path(package_regex_comp, package)
if version:
package_custom_regex_comp = re.compile(
- "(?P<name>%s)(?P<pver>%s)(?P<arch>%s)?[\.-](?P<type>%s)" %
+ r"(?P<name>%s)(?P<pver>%s)(?P<arch>%s)?[\.-](?P<type>%s)" %
(re.escape(version[0]), pver_regex, parch_regex, psuffix_regex))
else:
package_custom_regex_comp = None
@@ -589,7 +582,7 @@ class Wget(FetchMethod):
current_version = ['', d.getVar('PV'), '']
"""possible to have no version in pkg name, such as spectrum-fw"""
- if not re.search("\d+", package):
+ if not re.search(r"\d+", package):
current_version[1] = re.sub('_', '.', current_version[1])
current_version[1] = re.sub('-', '.', current_version[1])
return (current_version[1], '')
@@ -607,13 +600,13 @@ class Wget(FetchMethod):
# search for version matches on folders inside the path, like:
# "5.7" in http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz
- dirver_regex = re.compile("(?P<dirver>[^/]*(\d+\.)*\d+([-_]r\d+)*)/")
+ dirver_regex = re.compile(r"(?P<dirver>[^/]*(\d+\.)*\d+([-_]r\d+)*)/")
m = dirver_regex.search(path)
if m:
pn = d.getVar('PN')
dirver = m.group('dirver')
- dirver_pn_regex = re.compile("%s\d?" % (re.escape(pn)))
+ dirver_pn_regex = re.compile(r"%s\d?" % (re.escape(pn)))
if not dirver_pn_regex.search(dirver):
return (self._check_latest_version_by_dir(dirver,
package, package_regex, current_version, ud, d), '')
diff --git a/poky/bitbake/lib/bb/main.py b/poky/bitbake/lib/bb/main.py
index 7dc953da6..41dd3b9e0 100755
--- a/poky/bitbake/lib/bb/main.py
+++ b/poky/bitbake/lib/bb/main.py
@@ -475,10 +475,11 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
if not retries:
raise
retries -= 1
+ tryno = 8 - retries
if isinstance(e, (bb.server.process.ProcessTimeout, BrokenPipeError)):
- logger.info("Retrying server connection...")
+ logger.info("Retrying server connection (#%d)..." % tryno)
else:
- logger.info("Retrying server connection... (%s)" % traceback.format_exc())
+ logger.info("Retrying server connection (#%d)... (%s)" % (tryno, traceback.format_exc()))
if not retries:
bb.fatal("Unable to connect to bitbake server, or start one")
if retries < 5:
diff --git a/poky/bitbake/lib/bb/monitordisk.py b/poky/bitbake/lib/bb/monitordisk.py
index 833cd3d34..2ad1e6156 100644
--- a/poky/bitbake/lib/bb/monitordisk.py
+++ b/poky/bitbake/lib/bb/monitordisk.py
@@ -28,16 +28,16 @@ def convertGMK(unit):
""" Convert the space unit G, M, K, the unit is case-insensitive """
- unitG = re.match('([1-9][0-9]*)[gG]\s?$', unit)
+ unitG = re.match(r'([1-9][0-9]*)[gG]\s?$', unit)
if unitG:
return int(unitG.group(1)) * (1024 ** 3)
- unitM = re.match('([1-9][0-9]*)[mM]\s?$', unit)
+ unitM = re.match(r'([1-9][0-9]*)[mM]\s?$', unit)
if unitM:
return int(unitM.group(1)) * (1024 ** 2)
- unitK = re.match('([1-9][0-9]*)[kK]\s?$', unit)
+ unitK = re.match(r'([1-9][0-9]*)[kK]\s?$', unit)
if unitK:
return int(unitK.group(1)) * 1024
- unitN = re.match('([1-9][0-9]*)\s?$', unit)
+ unitN = re.match(r'([1-9][0-9]*)\s?$', unit)
if unitN:
return int(unitN.group(1))
else:
@@ -83,7 +83,7 @@ def getDiskData(BBDirs, configuration):
for pathSpaceInode in BBDirs.split():
# The input format is: "dir,space,inode", dir is a must, space
# and inode are optional
- pathSpaceInodeRe = re.match('([^,]*),([^,]*),([^,]*),?(.*)', pathSpaceInode)
+ pathSpaceInodeRe = re.match(r'([^,]*),([^,]*),([^,]*),?(.*)', pathSpaceInode)
if not pathSpaceInodeRe:
printErr("Invalid value in BB_DISKMON_DIRS: %s" % pathSpaceInode)
return None
@@ -147,7 +147,7 @@ def getInterval(configuration):
else:
# The disk space or inode interval is optional, but it should
# have a correct value once it is specified
- intervalRe = re.match('([^,]*),?\s*(.*)', interval)
+ intervalRe = re.match(r'([^,]*),?\s*(.*)', interval)
if intervalRe:
intervalSpace = intervalRe.group(1)
if intervalSpace:
diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py
index 9d20c323f..6d7c80b34 100644
--- a/poky/bitbake/lib/bb/parse/ast.py
+++ b/poky/bitbake/lib/bb/parse/ast.py
@@ -178,7 +178,7 @@ class MethodNode(AstNode):
funcname = ("__anon_%s_%s" % (self.lineno, self.filename.translate(MethodNode.tr_tbl)))
self.python = True
text = "def %s(d):\n" % (funcname) + text
- bb.methodpool.insert_method(funcname, text, self.filename, self.lineno - len(self.body))
+ bb.methodpool.insert_method(funcname, text, self.filename, self.lineno - len(self.body) - 1)
anonfuncs = data.getVar('__BBANONFUNCS', False) or []
anonfuncs.append(funcname)
data.setVar('__BBANONFUNCS', anonfuncs)
diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
index e5039e3bd..9dba5f233 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -38,14 +38,15 @@ from .ConfHandler import include, init
# For compatibility
bb.deprecate_import(__name__, "bb.parse", ["vars_from_file"])
-__func_start_regexp__ = re.compile( r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
-__inherit_regexp__ = re.compile( r"inherit\s+(.+)" )
-__export_func_regexp__ = re.compile( r"EXPORT_FUNCTIONS\s+(.+)" )
-__addtask_regexp__ = re.compile("addtask\s+(?P<func>\w+)\s*((before\s*(?P<before>((.*(?=after))|(.*))))|(after\s*(?P<after>((.*(?=before))|(.*)))))*")
-__deltask_regexp__ = re.compile("deltask\s+(?P<func>\w+)")
-__addhandler_regexp__ = re.compile( r"addhandler\s+(.+)" )
-__def_regexp__ = re.compile( r"def\s+(\w+).*:" )
-__python_func_regexp__ = re.compile( r"(\s+.*)|(^$)" )
+__func_start_regexp__ = re.compile(r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
+__inherit_regexp__ = re.compile(r"inherit\s+(.+)" )
+__export_func_regexp__ = re.compile(r"EXPORT_FUNCTIONS\s+(.+)" )
+__addtask_regexp__ = re.compile(r"addtask\s+(?P<func>\w+)\s*((before\s*(?P<before>((.*(?=after))|(.*))))|(after\s*(?P<after>((.*(?=before))|(.*)))))*")
+__deltask_regexp__ = re.compile(r"deltask\s+(?P<func>\w+)")
+__addhandler_regexp__ = re.compile(r"addhandler\s+(.+)" )
+__def_regexp__ = re.compile(r"def\s+(\w+).*:" )
+__python_func_regexp__ = re.compile(r"(\s+.*)|(^$)|(^#)" )
+__python_tab_regexp__ = re.compile(r" *\t")
__infunc__ = []
__inpython__ = False
@@ -160,6 +161,16 @@ def handle(fn, d, include):
def feeder(lineno, s, fn, root, statements, eof=False):
global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __def_regexp__, __python_func_regexp__, __inpython__, __infunc__, __body__, bb, __residue__, __classname__
+
+ # Check tabs in python functions:
+ # - def py_funcname(): covered by __inpython__
+ # - python(): covered by '__anonymous' == __infunc__[0]
+ # - python funcname(): covered by __infunc__[3]
+ if __inpython__ or (__infunc__ and ('__anonymous' == __infunc__[0] or __infunc__[3])):
+ tab = __python_tab_regexp__.match(s)
+ if tab:
+ bb.warn('python should use 4 spaces indentation, but found tabs in %s, line %s' % (root, lineno))
+
if __infunc__:
if s == '}':
__body__.append('')
diff --git a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index 9d3ebe16f..ea49f8ca9 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -147,7 +147,7 @@ def handle(fn, data, include):
continue
s = s.rstrip()
while s[-1] == '\\':
- s2 = f.readline().strip()
+ s2 = f.readline().rstrip()
lineno = lineno + 1
if (not s2 or s2 and s2[0] != "#") and s[0] == "#" :
bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s))
diff --git a/poky/bitbake/lib/bb/persist_data.py b/poky/bitbake/lib/bb/persist_data.py
index bef701861..0d44100f1 100644
--- a/poky/bitbake/lib/bb/persist_data.py
+++ b/poky/bitbake/lib/bb/persist_data.py
@@ -29,6 +29,7 @@ import warnings
from bb.compat import total_ordering
from collections import Mapping
import sqlite3
+import contextlib
sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
@@ -36,84 +37,181 @@ if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
logger = logging.getLogger("BitBake.PersistData")
-if hasattr(sqlite3, 'enable_shared_cache'):
- try:
- sqlite3.enable_shared_cache(True)
- except sqlite3.OperationalError:
- pass
-
@total_ordering
class SQLTable(collections.MutableMapping):
+ class _Decorators(object):
+ @staticmethod
+ def retry(*, reconnect=True):
+ """
+ Decorator that restarts a function if a database locked sqlite
+ exception occurs. If reconnect is True, the database connection
+ will be closed and reopened each time a failure occurs
+ """
+ def retry_wrapper(f):
+ def wrap_func(self, *args, **kwargs):
+ # Reconnect if necessary
+ if self.connection is None and reconnect:
+ self.reconnect()
+
+ count = 0
+ while True:
+ try:
+ return f(self, *args, **kwargs)
+ except sqlite3.OperationalError as exc:
+ if count < 500 and ('is locked' in str(exc) or 'locking protocol' in str(exc)):
+ count = count + 1
+ if reconnect:
+ self.reconnect()
+ continue
+ raise
+ return wrap_func
+ return retry_wrapper
+
+ @staticmethod
+ def transaction(f):
+ """
+ Decorator that starts a database transaction and creates a database
+ cursor for performing queries. If no exception is thrown, the
+ database results are commited. If an exception occurs, the database
+ is rolled back. In all cases, the cursor is closed after the
+ function ends.
+
+ Note that the cursor is passed as an extra argument to the function
+ after `self` and before any of the normal arguments
+ """
+ def wrap_func(self, *args, **kwargs):
+ # Context manager will COMMIT the database on success,
+ # or ROLLBACK on an exception
+ with self.connection:
+ # Automatically close the cursor when done
+ with contextlib.closing(self.connection.cursor()) as cursor:
+ return f(self, cursor, *args, **kwargs)
+ return wrap_func
+
"""Object representing a table/domain in the database"""
def __init__(self, cachefile, table):
self.cachefile = cachefile
self.table = table
- self.cursor = connect(self.cachefile)
-
- self._execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);"
- % table)
-
- def _execute(self, *query):
- """Execute a query, waiting to acquire a lock if necessary"""
- count = 0
- while True:
- try:
- return self.cursor.execute(*query)
- except sqlite3.OperationalError as exc:
- if 'database is locked' in str(exc) and count < 500:
- count = count + 1
+
+ self.connection = None
+ self._execute_single("CREATE TABLE IF NOT EXISTS %s(key TEXT PRIMARY KEY NOT NULL, value TEXT);" % table)
+
+ @_Decorators.retry(reconnect=False)
+ @_Decorators.transaction
+ def _setup_database(self, cursor):
+ cursor.execute("pragma synchronous = off;")
+ # Enable WAL and keep the autocheckpoint length small (the default is
+ # usually 1000). Persistent caches are usually read-mostly, so keeping
+ # this short will keep readers running quickly
+ cursor.execute("pragma journal_mode = WAL;")
+ cursor.execute("pragma wal_autocheckpoint = 100;")
+
+ def reconnect(self):
+ if self.connection is not None:
+ self.connection.close()
+ self.connection = sqlite3.connect(self.cachefile, timeout=5)
+ self.connection.text_factory = str
+ self._setup_database()
+
+ @_Decorators.retry()
+ @_Decorators.transaction
+ def _execute_single(self, cursor, *query):
+ """
+ Executes a single query and discards the results. This correctly closes
+ the database cursor when finished
+ """
+ cursor.execute(*query)
+
+ @_Decorators.retry()
+ def _row_iter(self, f, *query):
+ """
+ Helper function that returns a row iterator. Each time __next__ is
+ called on the iterator, the provided function is evaluated to determine
+ the return value
+ """
+ class CursorIter(object):
+ def __init__(self, cursor):
+ self.cursor = cursor
+
+ def __iter__(self):
+ return self
+
+ def __next__(self):
+ row = self.cursor.fetchone()
+ if row is None:
self.cursor.close()
- self.cursor = connect(self.cachefile)
- continue
- raise
+ raise StopIteration
+ return f(row)
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, typ, value, traceback):
+ self.cursor.close()
+ return False
+
+ cursor = self.connection.cursor()
+ try:
+ cursor.execute(*query)
+ return CursorIter(cursor)
+ except:
+ cursor.close()
def __enter__(self):
- self.cursor.__enter__()
+ self.connection.__enter__()
return self
def __exit__(self, *excinfo):
- self.cursor.__exit__(*excinfo)
-
- def __getitem__(self, key):
- data = self._execute("SELECT * from %s where key=?;" %
- self.table, [key])
- for row in data:
+ self.connection.__exit__(*excinfo)
+
+ @_Decorators.retry()
+ @_Decorators.transaction
+ def __getitem__(self, cursor, key):
+ cursor.execute("SELECT * from %s where key=?;" % self.table, [key])
+ row = cursor.fetchone()
+ if row is not None:
return row[1]
raise KeyError(key)
- def __delitem__(self, key):
+ @_Decorators.retry()
+ @_Decorators.transaction
+ def __delitem__(self, cursor, key):
if key not in self:
raise KeyError(key)
- self._execute("DELETE from %s where key=?;" % self.table, [key])
+ cursor.execute("DELETE from %s where key=?;" % self.table, [key])
- def __setitem__(self, key, value):
+ @_Decorators.retry()
+ @_Decorators.transaction
+ def __setitem__(self, cursor, key, value):
if not isinstance(key, str):
raise TypeError('Only string keys are supported')
elif not isinstance(value, str):
raise TypeError('Only string values are supported')
- data = self._execute("SELECT * from %s where key=?;" %
- self.table, [key])
- exists = len(list(data))
- if exists:
- self._execute("UPDATE %s SET value=? WHERE key=?;" % self.table,
- [value, key])
+ cursor.execute("SELECT * from %s where key=?;" % self.table, [key])
+ row = cursor.fetchone()
+ if row is not None:
+ cursor.execute("UPDATE %s SET value=? WHERE key=?;" % self.table, [value, key])
else:
- self._execute("INSERT into %s(key, value) values (?, ?);" %
- self.table, [key, value])
-
- def __contains__(self, key):
- return key in set(self)
-
- def __len__(self):
- data = self._execute("SELECT COUNT(key) FROM %s;" % self.table)
- for row in data:
+ cursor.execute("INSERT into %s(key, value) values (?, ?);" % self.table, [key, value])
+
+ @_Decorators.retry()
+ @_Decorators.transaction
+ def __contains__(self, cursor, key):
+ cursor.execute('SELECT * from %s where key=?;' % self.table, [key])
+ return cursor.fetchone() is not None
+
+ @_Decorators.retry()
+ @_Decorators.transaction
+ def __len__(self, cursor):
+ cursor.execute("SELECT COUNT(key) FROM %s;" % self.table)
+ row = cursor.fetchone()
+ if row is not None:
return row[0]
def __iter__(self):
- data = self._execute("SELECT key FROM %s;" % self.table)
- return (row[0] for row in data)
+ return self._row_iter(lambda row: row[0], "SELECT key from %s;" % self.table)
def __lt__(self, other):
if not isinstance(other, Mapping):
@@ -122,25 +220,27 @@ class SQLTable(collections.MutableMapping):
return len(self) < len(other)
def get_by_pattern(self, pattern):
- data = self._execute("SELECT * FROM %s WHERE key LIKE ?;" %
- self.table, [pattern])
- return [row[1] for row in data]
+ return self._row_iter(lambda row: row[1], "SELECT * FROM %s WHERE key LIKE ?;" %
+ self.table, [pattern])
def values(self):
return list(self.itervalues())
def itervalues(self):
- data = self._execute("SELECT value FROM %s;" % self.table)
- return (row[0] for row in data)
+ return self._row_iter(lambda row: row[0], "SELECT value FROM %s;" %
+ self.table)
def items(self):
return list(self.iteritems())
def iteritems(self):
- return self._execute("SELECT * FROM %s;" % self.table)
+ return self._row_iter(lambda row: (row[0], row[1]), "SELECT * FROM %s;" %
+ self.table)
- def clear(self):
- self._execute("DELETE FROM %s;" % self.table)
+ @_Decorators.retry()
+ @_Decorators.transaction
+ def clear(self, cursor):
+ cursor.execute("DELETE FROM %s;" % self.table)
def has_key(self, key):
return key in self
@@ -194,12 +294,6 @@ class PersistData(object):
"""
del self.data[domain][key]
-def connect(database):
- connection = sqlite3.connect(database, timeout=5, isolation_level=None)
- connection.execute("pragma synchronous = off;")
- connection.text_factory = str
- return connection
-
def persist(domain, d):
"""Convenience factory for SQLTable objects based upon metadata"""
import bb.utils
diff --git a/poky/bitbake/lib/bb/providers.py b/poky/bitbake/lib/bb/providers.py
index c2aa98c06..f496d84d1 100644
--- a/poky/bitbake/lib/bb/providers.py
+++ b/poky/bitbake/lib/bb/providers.py
@@ -129,7 +129,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
preferred_v = cfgData.getVar("PREFERRED_VERSION")
if preferred_v:
- m = re.match('(\d+:)*(.*)(_.*)*', preferred_v)
+ m = re.match(r'(\d+:)*(.*)(_.*)*', preferred_v)
if m:
if m.group(1):
preferred_e = m.group(1)[:-1]
@@ -384,7 +384,7 @@ def getRuntimeProviders(dataCache, rdepend):
# Only search dynamic packages if we can't find anything in other variables
for pattern in dataCache.packages_dynamic:
- pattern = pattern.replace('+', "\+")
+ pattern = pattern.replace(r'+', r"\+")
if pattern in regexp_cache:
regexp = regexp_cache[pattern]
else:
diff --git a/poky/bitbake/lib/bb/pysh/builtin.py b/poky/bitbake/lib/bb/pysh/builtin.py
deleted file mode 100644
index a8814dc33..000000000
--- a/poky/bitbake/lib/bb/pysh/builtin.py
+++ /dev/null
@@ -1,710 +0,0 @@
-# builtin.py - builtins and utilities definitions for pysh.
-#
-# Copyright 2007 Patrick Mezard
-#
-# This software may be used and distributed according to the terms
-# of the GNU General Public License, incorporated herein by reference.
-
-"""Builtin and internal utilities implementations.
-
-- Beware not to use python interpreter environment as if it were the shell
-environment. For instance, commands working directory must be explicitely handled
-through env['PWD'] instead of relying on python working directory.
-"""
-import errno
-import optparse
-import os
-import re
-import subprocess
-import sys
-import time
-
-def has_subprocess_bug():
- return getattr(subprocess, 'list2cmdline') and \
- ( subprocess.list2cmdline(['']) == '' or \
- subprocess.list2cmdline(['foo|bar']) == 'foo|bar')
-
-# Detect python bug 1634343: "subprocess swallows empty arguments under win32"
-# <http://sourceforge.net/tracker/index.php?func=detail&aid=1634343&group_id=5470&atid=105470>
-# Also detect: "[ 1710802 ] subprocess must escape redirection characters under win32"
-# <http://sourceforge.net/tracker/index.php?func=detail&aid=1710802&group_id=5470&atid=105470>
-if has_subprocess_bug():
- import subprocess_fix
- subprocess.list2cmdline = subprocess_fix.list2cmdline
-
-from sherrors import *
-
-class NonExitingParser(optparse.OptionParser):
- """OptionParser default behaviour upon error is to print the error message and
- exit. Raise a utility error instead.
- """
- def error(self, msg):
- raise UtilityError(msg)
-
-#-------------------------------------------------------------------------------
-# set special builtin
-#-------------------------------------------------------------------------------
-OPT_SET = NonExitingParser(usage="set - set or unset options and positional parameters")
-OPT_SET.add_option( '-f', action='store_true', dest='has_f', default=False,
- help='The shell shall disable pathname expansion.')
-OPT_SET.add_option('-e', action='store_true', dest='has_e', default=False,
- help="""When this option is on, if a simple command fails for any of the \
- reasons listed in Consequences of Shell Errors or returns an exit status \
- value >0, and is not part of the compound list following a while, until, \
- or if keyword, and is not a part of an AND or OR list, and is not a \
- pipeline preceded by the ! reserved word, then the shell shall immediately \
- exit.""")
-OPT_SET.add_option('-x', action='store_true', dest='has_x', default=False,
- help="""The shell shall write to standard error a trace for each command \
- after it expands the command and before it executes it. It is unspecified \
- whether the command that turns tracing off is traced.""")
-
-def builtin_set(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- option, args = OPT_SET.parse_args(args)
- env = interp.get_env()
-
- if option.has_f:
- env.set_opt('-f')
- if option.has_e:
- env.set_opt('-e')
- if option.has_x:
- env.set_opt('-x')
- return 0
-
-#-------------------------------------------------------------------------------
-# shift special builtin
-#-------------------------------------------------------------------------------
-def builtin_shift(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- params = interp.get_env().get_positional_args()
- if args:
- try:
- n = int(args[0])
- if n > len(params):
- raise ValueError()
- except ValueError:
- return 1
- else:
- n = 1
-
- params[:n] = []
- interp.get_env().set_positional_args(params)
- return 0
-
-#-------------------------------------------------------------------------------
-# export special builtin
-#-------------------------------------------------------------------------------
-OPT_EXPORT = NonExitingParser(usage="set - set or unset options and positional parameters")
-OPT_EXPORT.add_option('-p', action='store_true', dest='has_p', default=False)
-
-def builtin_export(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- option, args = OPT_EXPORT.parse_args(args)
- if option.has_p:
- raise NotImplementedError()
-
- for arg in args:
- try:
- name, value = arg.split('=', 1)
- except ValueError:
- name, value = arg, None
- env = interp.get_env().export(name, value)
-
- return 0
-
-#-------------------------------------------------------------------------------
-# return special builtin
-#-------------------------------------------------------------------------------
-def builtin_return(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
- res = 0
- if args:
- try:
- res = int(args[0])
- except ValueError:
- res = 0
- if not 0<=res<=255:
- res = 0
-
- # BUG: should be last executed command exit code
- raise ReturnSignal(res)
-
-#-------------------------------------------------------------------------------
-# trap special builtin
-#-------------------------------------------------------------------------------
-def builtin_trap(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
- if len(args) < 2:
- stderr.write('trap: usage: trap [[arg] signal_spec ...]\n')
- return 2
-
- action = args[0]
- for sig in args[1:]:
- try:
- env.traps[sig] = action
- except Exception as e:
- stderr.write('trap: %s\n' % str(e))
- return 0
-
-#-------------------------------------------------------------------------------
-# unset special builtin
-#-------------------------------------------------------------------------------
-OPT_UNSET = NonExitingParser("unset - unset values and attributes of variables and functions")
-OPT_UNSET.add_option( '-f', action='store_true', dest='has_f', default=False)
-OPT_UNSET.add_option( '-v', action='store_true', dest='has_v', default=False)
-
-def builtin_unset(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- option, args = OPT_UNSET.parse_args(args)
-
- status = 0
- env = interp.get_env()
- for arg in args:
- try:
- if option.has_f:
- env.remove_function(arg)
- else:
- del env[arg]
- except KeyError:
- pass
- except VarAssignmentError:
- status = 1
-
- return status
-
-#-------------------------------------------------------------------------------
-# wait special builtin
-#-------------------------------------------------------------------------------
-def builtin_wait(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- return interp.wait([int(arg) for arg in args])
-
-#-------------------------------------------------------------------------------
-# cat utility
-#-------------------------------------------------------------------------------
-def utility_cat(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- if not args:
- args = ['-']
-
- status = 0
- for arg in args:
- if arg == '-':
- data = stdin.read()
- else:
- path = os.path.join(env['PWD'], arg)
- try:
- f = file(path, 'rb')
- try:
- data = f.read()
- finally:
- f.close()
- except IOError as e:
- if e.errno != errno.ENOENT:
- raise
- status = 1
- continue
- stdout.write(data)
- stdout.flush()
- return status
-
-#-------------------------------------------------------------------------------
-# cd utility
-#-------------------------------------------------------------------------------
-OPT_CD = NonExitingParser("cd - change the working directory")
-
-def utility_cd(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- option, args = OPT_CD.parse_args(args)
- env = interp.get_env()
-
- directory = None
- printdir = False
- if not args:
- home = env.get('HOME')
- if home:
- # Unspecified, do nothing
- return 0
- else:
- directory = home
- elif len(args)==1:
- directory = args[0]
- if directory=='-':
- if 'OLDPWD' not in env:
- raise UtilityError("OLDPWD not set")
- printdir = True
- directory = env['OLDPWD']
- else:
- raise UtilityError("too many arguments")
-
- curpath = None
- # Absolute directories will be handled correctly by the os.path.join call.
- if not directory.startswith('.') and not directory.startswith('..'):
- cdpaths = env.get('CDPATH', '.').split(';')
- for cdpath in cdpaths:
- p = os.path.join(cdpath, directory)
- if os.path.isdir(p):
- curpath = p
- break
-
- if curpath is None:
- curpath = directory
- curpath = os.path.join(env['PWD'], directory)
-
- env['OLDPWD'] = env['PWD']
- env['PWD'] = curpath
- if printdir:
- stdout.write('%s\n' % curpath)
- return 0
-
-#-------------------------------------------------------------------------------
-# colon utility
-#-------------------------------------------------------------------------------
-def utility_colon(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
- return 0
-
-#-------------------------------------------------------------------------------
-# echo utility
-#-------------------------------------------------------------------------------
-def utility_echo(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- # Echo only takes arguments, no options. Use printf if you need fancy stuff.
- output = ' '.join(args) + '\n'
- stdout.write(output)
- stdout.flush()
- return 0
-
-#-------------------------------------------------------------------------------
-# egrep utility
-#-------------------------------------------------------------------------------
-# egrep is usually a shell script.
-# Unfortunately, pysh does not support shell scripts *with arguments* right now,
-# so the redirection is implemented here, assuming grep is available.
-def utility_egrep(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- return run_command('grep', ['-E'] + args, interp, env, stdin, stdout,
- stderr, debugflags)
-
-#-------------------------------------------------------------------------------
-# env utility
-#-------------------------------------------------------------------------------
-def utility_env(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- if args and args[0]=='-i':
- raise NotImplementedError('env: -i option is not implemented')
-
- i = 0
- for arg in args:
- if '=' not in arg:
- break
- # Update the current environment
- name, value = arg.split('=', 1)
- env[name] = value
- i += 1
-
- if args[i:]:
- # Find then execute the specified interpreter
- utility = env.find_in_path(args[i])
- if not utility:
- return 127
- args[i:i+1] = utility
- name = args[i]
- args = args[i+1:]
- try:
- return run_command(name, args, interp, env, stdin, stdout, stderr,
- debugflags)
- except UtilityError:
- stderr.write('env: failed to execute %s' % ' '.join([name]+args))
- return 126
- else:
- for pair in env.get_variables().iteritems():
- stdout.write('%s=%s\n' % pair)
- return 0
-
-#-------------------------------------------------------------------------------
-# exit utility
-#-------------------------------------------------------------------------------
-def utility_exit(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- res = None
- if args:
- try:
- res = int(args[0])
- except ValueError:
- res = None
- if not 0<=res<=255:
- res = None
-
- if res is None:
- # BUG: should be last executed command exit code
- res = 0
-
- raise ExitSignal(res)
-
-#-------------------------------------------------------------------------------
-# fgrep utility
-#-------------------------------------------------------------------------------
-# see egrep
-def utility_fgrep(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- return run_command('grep', ['-F'] + args, interp, env, stdin, stdout,
- stderr, debugflags)
-
-#-------------------------------------------------------------------------------
-# gunzip utility
-#-------------------------------------------------------------------------------
-# see egrep
-def utility_gunzip(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- return run_command('gzip', ['-d'] + args, interp, env, stdin, stdout,
- stderr, debugflags)
-
-#-------------------------------------------------------------------------------
-# kill utility
-#-------------------------------------------------------------------------------
-def utility_kill(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- for arg in args:
- pid = int(arg)
- status = subprocess.call(['pskill', '/T', str(pid)],
- shell=True,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
- # pskill is asynchronous, hence the stupid polling loop
- while 1:
- p = subprocess.Popen(['pslist', str(pid)],
- shell=True,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT)
- output = p.communicate()[0]
- if ('process %d was not' % pid) in output:
- break
- time.sleep(1)
- return status
-
-#-------------------------------------------------------------------------------
-# mkdir utility
-#-------------------------------------------------------------------------------
-OPT_MKDIR = NonExitingParser("mkdir - make directories.")
-OPT_MKDIR.add_option('-p', action='store_true', dest='has_p', default=False)
-
-def utility_mkdir(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- # TODO: implement umask
- # TODO: implement proper utility error report
- option, args = OPT_MKDIR.parse_args(args)
- for arg in args:
- path = os.path.join(env['PWD'], arg)
- if option.has_p:
- try:
- os.makedirs(path)
- except IOError as e:
- if e.errno != errno.EEXIST:
- raise
- else:
- os.mkdir(path)
- return 0
-
-#-------------------------------------------------------------------------------
-# netstat utility
-#-------------------------------------------------------------------------------
-def utility_netstat(name, args, interp, env, stdin, stdout, stderr, debugflags):
- # Do you really expect me to implement netstat ?
- # This empty form is enough for Mercurial tests since it's
- # supposed to generate nothing upon success. Faking this test
- # is not a big deal either.
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
- return 0
-
-#-------------------------------------------------------------------------------
-# pwd utility
-#-------------------------------------------------------------------------------
-OPT_PWD = NonExitingParser("pwd - return working directory name")
-OPT_PWD.add_option('-L', action='store_true', dest='has_L', default=True,
- help="""If the PWD environment variable contains an absolute pathname of \
- the current directory that does not contain the filenames dot or dot-dot, \
- pwd shall write this pathname to standard output. Otherwise, the -L option \
- shall behave as the -P option.""")
-OPT_PWD.add_option('-P', action='store_true', dest='has_L', default=False,
- help="""The absolute pathname written shall not contain filenames that, in \
- the context of the pathname, refer to files of type symbolic link.""")
-
-def utility_pwd(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- option, args = OPT_PWD.parse_args(args)
- stdout.write('%s\n' % env['PWD'])
- return 0
-
-#-------------------------------------------------------------------------------
-# printf utility
-#-------------------------------------------------------------------------------
-RE_UNESCAPE = re.compile(r'(\\x[a-zA-Z0-9]{2}|\\[0-7]{1,3}|\\.)')
-
-def utility_printf(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- def replace(m):
- assert m.group()
- g = m.group()[1:]
- if g.startswith('x'):
- return chr(int(g[1:], 16))
- if len(g) <= 3 and len([c for c in g if c in '01234567']) == len(g):
- # Yay, an octal number
- return chr(int(g, 8))
- return {
- 'a': '\a',
- 'b': '\b',
- 'f': '\f',
- 'n': '\n',
- 'r': '\r',
- 't': '\t',
- 'v': '\v',
- '\\': '\\',
- }.get(g)
-
- # Convert escape sequences
- format = re.sub(RE_UNESCAPE, replace, args[0])
- stdout.write(format % tuple(args[1:]))
- return 0
-
-#-------------------------------------------------------------------------------
-# true utility
-#-------------------------------------------------------------------------------
-def utility_true(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
- return 0
-
-#-------------------------------------------------------------------------------
-# sed utility
-#-------------------------------------------------------------------------------
-RE_SED = re.compile(r'^s(.).*\1[a-zA-Z]*$')
-
-# cygwin sed fails with some expressions when they do not end with a single space.
-# see unit tests for details. Interestingly, the same expressions works perfectly
-# in cygwin shell.
-def utility_sed(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- # Scan pattern arguments and append a space if necessary
- for i in range(len(args)):
- if not RE_SED.search(args[i]):
- continue
- args[i] = args[i] + ' '
-
- return run_command(name, args, interp, env, stdin, stdout,
- stderr, debugflags)
-
-#-------------------------------------------------------------------------------
-# sleep utility
-#-------------------------------------------------------------------------------
-def utility_sleep(name, args, interp, env, stdin, stdout, stderr, debugflags):
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
- time.sleep(int(args[0]))
- return 0
-
-#-------------------------------------------------------------------------------
-# sort utility
-#-------------------------------------------------------------------------------
-OPT_SORT = NonExitingParser("sort - sort, merge, or sequence check text files")
-
-def utility_sort(name, args, interp, env, stdin, stdout, stderr, debugflags):
-
- def sort(path):
- if path == '-':
- lines = stdin.readlines()
- else:
- try:
- f = file(path)
- try:
- lines = f.readlines()
- finally:
- f.close()
- except IOError as e:
- stderr.write(str(e) + '\n')
- return 1
-
- if lines and lines[-1][-1]!='\n':
- lines[-1] = lines[-1] + '\n'
- return lines
-
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- option, args = OPT_SORT.parse_args(args)
- alllines = []
-
- if len(args)<=0:
- args += ['-']
-
- # Load all files lines
- curdir = os.getcwd()
- try:
- os.chdir(env['PWD'])
- for path in args:
- alllines += sort(path)
- finally:
- os.chdir(curdir)
-
- alllines.sort()
- for line in alllines:
- stdout.write(line)
- return 0
-
-#-------------------------------------------------------------------------------
-# hg utility
-#-------------------------------------------------------------------------------
-
-hgcommands = [
- 'add',
- 'addremove',
- 'commit', 'ci',
- 'debugrename',
- 'debugwalk',
- 'falabala', # Dummy command used in a mercurial test
- 'incoming',
- 'locate',
- 'pull',
- 'push',
- 'qinit',
- 'remove', 'rm',
- 'rename', 'mv',
- 'revert',
- 'showconfig',
- 'status', 'st',
- 'strip',
- ]
-
-def rewriteslashes(name, args):
- # Several hg commands output file paths, rewrite the separators
- if len(args) > 1 and name.lower().endswith('python') \
- and args[0].endswith('hg'):
- for cmd in hgcommands:
- if cmd in args[1:]:
- return True
-
- # svn output contains many paths with OS specific separators.
- # Normalize these to unix paths.
- base = os.path.basename(name)
- if base.startswith('svn'):
- return True
-
- return False
-
-def rewritehg(output):
- if not output:
- return output
- # Rewrite os specific messages
- output = output.replace(': The system cannot find the file specified',
- ': No such file or directory')
- output = re.sub(': Access is denied.*$', ': Permission denied', output)
- output = output.replace(': No connection could be made because the target machine actively refused it',
- ': Connection refused')
- return output
-
-
-def run_command(name, args, interp, env, stdin, stdout,
- stderr, debugflags):
- # Execute the command
- if 'debug-utility' in debugflags:
- print interp.log(' '.join([name, str(args), interp['PWD']]) + '\n')
-
- hgbin = interp.options().hgbinary
- ishg = hgbin and ('hg' in name or args and 'hg' in args[0])
- unixoutput = 'cygwin' in name or ishg
-
- exec_env = env.get_variables()
- try:
- # BUG: comparing file descriptor is clearly not a reliable way to tell
- # whether they point on the same underlying object. But in pysh limited
- # scope this is usually right, we do not expect complicated redirections
- # besides usual 2>&1.
- # Still there is one case we have but cannot deal with is when stdout
- # and stderr are redirected *by pysh caller*. This the reason for the
- # --redirect pysh() option.
- # Now, we want to know they are the same because we sometimes need to
- # transform the command output, mostly remove CR-LF to ensure that
- # command output is unix-like. Cygwin utilies are a special case because
- # they explicitely set their output streams to binary mode, so we have
- # nothing to do. For all others commands, we have to guess whether they
- # are sending text data, in which case the transformation must be done.
- # Again, the NUL character test is unreliable but should be enough for
- # hg tests.
- redirected = stdout.fileno()==stderr.fileno()
- if not redirected:
- p = subprocess.Popen([name] + args, cwd=env['PWD'], env=exec_env,
- stdin=stdin, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- else:
- p = subprocess.Popen([name] + args, cwd=env['PWD'], env=exec_env,
- stdin=stdin, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- out, err = p.communicate()
- except WindowsError as e:
- raise UtilityError(str(e))
-
- if not unixoutput:
- def encode(s):
- if '\0' in s:
- return s
- return s.replace('\r\n', '\n')
- else:
- encode = lambda s: s
-
- if rewriteslashes(name, args):
- encode1_ = encode
- def encode(s):
- s = encode1_(s)
- s = s.replace('\\\\', '\\')
- s = s.replace('\\', '/')
- return s
-
- if ishg:
- encode2_ = encode
- def encode(s):
- return rewritehg(encode2_(s))
-
- stdout.write(encode(out))
- if not redirected:
- stderr.write(encode(err))
- return p.returncode
-
diff --git a/poky/bitbake/lib/bb/pysh/interp.py b/poky/bitbake/lib/bb/pysh/interp.py
deleted file mode 100644
index d14ecf3c6..000000000
--- a/poky/bitbake/lib/bb/pysh/interp.py
+++ /dev/null
@@ -1,1367 +0,0 @@
-# interp.py - shell interpreter for pysh.
-#
-# Copyright 2007 Patrick Mezard
-#
-# This software may be used and distributed according to the terms
-# of the GNU General Public License, incorporated herein by reference.
-
-"""Implement the shell interpreter.
-
-Most references are made to "The Open Group Base Specifications Issue 6".
-<http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html>
-"""
-# TODO: document the fact input streams must implement fileno() so Popen will work correctly.
-# it requires non-stdin stream to be implemented as files. Still to be tested...
-# DOC: pathsep is used in PATH instead of ':'. Clearly, there are path syntax issues here.
-# TODO: stop command execution upon error.
-# TODO: sort out the filename/io_number mess. It should be possible to use filenames only.
-# TODO: review subshell implementation
-# TODO: test environment cloning for non-special builtins
-# TODO: set -x should not rebuild commands from tokens, assignments/redirections are lost
-# TODO: unit test for variable assignment
-# TODO: test error management wrt error type/utility type
-# TODO: test for binary output everywhere
-# BUG: debug-parsing does not pass log file to PLY. Maybe a PLY upgrade is necessary.
-import base64
-import cPickle as pickle
-import errno
-import glob
-import os
-import re
-import subprocess
-import sys
-import tempfile
-
-try:
- s = set()
- del s
-except NameError:
- from Set import Set as set
-
-import builtin
-from sherrors import *
-import pyshlex
-import pyshyacc
-
-def mappend(func, *args, **kargs):
- """Like map but assume func returns a list. Returned lists are merged into
- a single one.
- """
- return reduce(lambda a,b: a+b, map(func, *args, **kargs), [])
-
-class FileWrapper:
- """File object wrapper to ease debugging.
-
- Allow mode checking and implement file duplication through a simple
- reference counting scheme. Not sure the latter is really useful since
- only real file descriptors can be used.
- """
- def __init__(self, mode, file, close=True):
- if mode not in ('r', 'w', 'a'):
- raise IOError('invalid mode: %s' % mode)
- self._mode = mode
- self._close = close
- if isinstance(file, FileWrapper):
- if file._refcount[0] <= 0:
- raise IOError(0, 'Error')
- self._refcount = file._refcount
- self._refcount[0] += 1
- self._file = file._file
- else:
- self._refcount = [1]
- self._file = file
-
- def dup(self):
- return FileWrapper(self._mode, self, self._close)
-
- def fileno(self):
- """fileno() should be only necessary for input streams."""
- return self._file.fileno()
-
- def read(self, size=-1):
- if self._mode!='r':
- raise IOError(0, 'Error')
- return self._file.read(size)
-
- def readlines(self, *args, **kwargs):
- return self._file.readlines(*args, **kwargs)
-
- def write(self, s):
- if self._mode not in ('w', 'a'):
- raise IOError(0, 'Error')
- return self._file.write(s)
-
- def flush(self):
- self._file.flush()
-
- def close(self):
- if not self._refcount:
- return
- assert self._refcount[0] > 0
-
- self._refcount[0] -= 1
- if self._refcount[0] == 0:
- self._mode = 'c'
- if self._close:
- self._file.close()
- self._refcount = None
-
- def mode(self):
- return self._mode
-
- def __getattr__(self, name):
- if name == 'name':
- self.name = getattr(self._file, name)
- return self.name
- else:
- raise AttributeError(name)
-
- def __del__(self):
- self.close()
-
-
-def win32_open_devnull(mode):
- return open('NUL', mode)
-
-
-class Redirections:
- """Stores open files and their mapping to pseudo-sh file descriptor.
- """
- # BUG: redirections are not handled correctly: 1>&3 2>&3 3>&4 does
- # not make 1 to redirect to 4
- def __init__(self, stdin=None, stdout=None, stderr=None):
- self._descriptors = {}
- if stdin is not None:
- self._add_descriptor(0, stdin)
- if stdout is not None:
- self._add_descriptor(1, stdout)
- if stderr is not None:
- self._add_descriptor(2, stderr)
-
- def add_here_document(self, interp, name, content, io_number=None):
- if io_number is None:
- io_number = 0
-
- if name==pyshlex.unquote_wordtree(name):
- content = interp.expand_here_document(('TOKEN', content))
-
- # Write document content in a temporary file
- tmp = tempfile.TemporaryFile()
- try:
- tmp.write(content)
- tmp.flush()
- tmp.seek(0)
- self._add_descriptor(io_number, FileWrapper('r', tmp))
- except:
- tmp.close()
- raise
-
- def add(self, interp, op, filename, io_number=None):
- if op not in ('<', '>', '>|', '>>', '>&'):
- # TODO: add descriptor duplication and here_documents
- raise RedirectionError('Unsupported redirection operator "%s"' % op)
-
- if io_number is not None:
- io_number = int(io_number)
-
- if (op == '>&' and filename.isdigit()) or filename=='-':
- # No expansion for file descriptors, quote them if you want a filename
- fullname = filename
- else:
- if filename.startswith('/'):
- # TODO: win32 kludge
- if filename=='/dev/null':
- fullname = 'NUL'
- else:
- # TODO: handle absolute pathnames, they are unlikely to exist on the
- # current platform (win32 for instance).
- raise NotImplementedError()
- else:
- fullname = interp.expand_redirection(('TOKEN', filename))
- if not fullname:
- raise RedirectionError('%s: ambiguous redirect' % filename)
- # Build absolute path based on PWD
- fullname = os.path.join(interp.get_env()['PWD'], fullname)
-
- if op=='<':
- return self._add_input_redirection(interp, fullname, io_number)
- elif op in ('>', '>|'):
- clobber = ('>|'==op)
- return self._add_output_redirection(interp, fullname, io_number, clobber)
- elif op=='>>':
- return self._add_output_appending(interp, fullname, io_number)
- elif op=='>&':
- return self._dup_output_descriptor(fullname, io_number)
-
- def close(self):
- if self._descriptors is not None:
- for desc in self._descriptors.itervalues():
- desc.flush()
- desc.close()
- self._descriptors = None
-
- def stdin(self):
- return self._descriptors[0]
-
- def stdout(self):
- return self._descriptors[1]
-
- def stderr(self):
- return self._descriptors[2]
-
- def clone(self):
- clone = Redirections()
- for desc, fileobj in self._descriptors.iteritems():
- clone._descriptors[desc] = fileobj.dup()
- return clone
-
- def _add_output_redirection(self, interp, filename, io_number, clobber):
- if io_number is None:
- # io_number default to standard output
- io_number = 1
-
- if not clobber and interp.get_env().has_opt('-C') and os.path.isfile(filename):
- # File already exist in no-clobber mode, bail out
- raise RedirectionError('File "%s" already exists' % filename)
-
- # Open and register
- self._add_file_descriptor(io_number, filename, 'w')
-
- def _add_output_appending(self, interp, filename, io_number):
- if io_number is None:
- io_number = 1
- self._add_file_descriptor(io_number, filename, 'a')
-
- def _add_input_redirection(self, interp, filename, io_number):
- if io_number is None:
- io_number = 0
- self._add_file_descriptor(io_number, filename, 'r')
-
- def _add_file_descriptor(self, io_number, filename, mode):
- try:
- if filename.startswith('/'):
- if filename=='/dev/null':
- f = win32_open_devnull(mode+'b')
- else:
- # TODO: handle absolute pathnames, they are unlikely to exist on the
- # current platform (win32 for instance).
- raise NotImplementedError('cannot open absolute path %s' % repr(filename))
- else:
- f = file(filename, mode+'b')
- except IOError as e:
- raise RedirectionError(str(e))
-
- wrapper = None
- try:
- wrapper = FileWrapper(mode, f)
- f = None
- self._add_descriptor(io_number, wrapper)
- except:
- if f: f.close()
- if wrapper: wrapper.close()
- raise
-
- def _dup_output_descriptor(self, source_fd, dest_fd):
- if source_fd is None:
- source_fd = 1
- self._dup_file_descriptor(source_fd, dest_fd, 'w')
-
- def _dup_file_descriptor(self, source_fd, dest_fd, mode):
- source_fd = int(source_fd)
- if source_fd not in self._descriptors:
- raise RedirectionError('"%s" is not a valid file descriptor' % str(source_fd))
- source = self._descriptors[source_fd]
-
- if source.mode()!=mode:
- raise RedirectionError('Descriptor %s cannot be duplicated in mode "%s"' % (str(source), mode))
-
- if dest_fd=='-':
- # Close the source descriptor
- del self._descriptors[source_fd]
- source.close()
- else:
- dest_fd = int(dest_fd)
- if dest_fd not in self._descriptors:
- raise RedirectionError('Cannot replace file descriptor %s' % str(dest_fd))
-
- dest = self._descriptors[dest_fd]
- if dest.mode()!=mode:
- raise RedirectionError('Descriptor %s cannot be cannot be redirected in mode "%s"' % (str(dest), mode))
-
- self._descriptors[dest_fd] = source.dup()
- dest.close()
-
- def _add_descriptor(self, io_number, file):
- io_number = int(io_number)
-
- if io_number in self._descriptors:
- # Close the current descriptor
- d = self._descriptors[io_number]
- del self._descriptors[io_number]
- d.close()
-
- self._descriptors[io_number] = file
-
- def __str__(self):
- names = [('%d=%r' % (k, getattr(v, 'name', None))) for k,v
- in self._descriptors.iteritems()]
- names = ','.join(names)
- return 'Redirections(%s)' % names
-
- def __del__(self):
- self.close()
-
-def cygwin_to_windows_path(path):
- """Turn /cygdrive/c/foo into c:/foo, or return path if it
- is not a cygwin path.
- """
- if not path.startswith('/cygdrive/'):
- return path
- path = path[len('/cygdrive/'):]
- path = path[:1] + ':' + path[1:]
- return path
-
-def win32_to_unix_path(path):
- if path is not None:
- path = path.replace('\\', '/')
- return path
-
-_RE_SHEBANG = re.compile(r'^\#!\s?([^\s]+)(?:\s([^\s]+))?')
-_SHEBANG_CMDS = {
- '/usr/bin/env': 'env',
- '/bin/sh': 'pysh',
- 'python': 'python',
-}
-
-def resolve_shebang(path, ignoreshell=False):
- """Return a list of arguments as shebang interpreter call or an empty list
- if path does not refer to an executable script.
- See <http://www.opengroup.org/austin/docs/austin_51r2.txt>.
-
- ignoreshell - set to True to ignore sh shebangs. Return an empty list instead.
- """
- try:
- f = file(path)
- try:
- # At most 80 characters in the first line
- header = f.read(80).splitlines()[0]
- finally:
- f.close()
-
- m = _RE_SHEBANG.search(header)
- if not m:
- return []
- cmd, arg = m.group(1,2)
- if os.path.isfile(cmd):
- # Keep this one, the hg script for instance contains a weird windows
- # shebang referencing the current python install.
- cmdfile = os.path.basename(cmd).lower()
- if cmdfile == 'python.exe':
- cmd = 'python'
- pass
- elif cmd not in _SHEBANG_CMDS:
- raise CommandNotFound('Unknown interpreter "%s" referenced in '\
- 'shebang' % header)
- cmd = _SHEBANG_CMDS.get(cmd)
- if cmd is None or (ignoreshell and cmd == 'pysh'):
- return []
- if arg is None:
- return [cmd, win32_to_unix_path(path)]
- return [cmd, arg, win32_to_unix_path(path)]
- except IOError as e:
- if e.errno!=errno.ENOENT and \
- (e.errno!=errno.EPERM and not os.path.isdir(path)): # Opening a directory raises EPERM
- raise
- return []
-
-def win32_find_in_path(name, path):
- if isinstance(path, str):
- path = path.split(os.pathsep)
-
- exts = os.environ.get('PATHEXT', '').lower().split(os.pathsep)
- for p in path:
- p_name = os.path.join(p, name)
-
- prefix = resolve_shebang(p_name)
- if prefix:
- return prefix
-
- for ext in exts:
- p_name_ext = p_name + ext
- if os.path.exists(p_name_ext):
- return [win32_to_unix_path(p_name_ext)]
- return []
-
-class Traps(dict):
- def __setitem__(self, key, value):
- if key not in ('EXIT',):
- raise NotImplementedError()
- super(Traps, self).__setitem__(key, value)
-
-# IFS white spaces character class
-_IFS_WHITESPACES = (' ', '\t', '\n')
-
-class Environment:
- """Environment holds environment variables, export table, function
- definitions and whatever is defined in 2.12 "Shell Execution Environment",
- redirection excepted.
- """
- def __init__(self, pwd):
- self._opt = set() #Shell options
-
- self._functions = {}
- self._env = {'?': '0', '#': '0'}
- self._exported = set([
- 'HOME', 'IFS', 'PATH'
- ])
-
- # Set environment vars with side-effects
- self._ifs_ws = None # Set of IFS whitespace characters
- self._ifs_re = None # Regular expression used to split between words using IFS classes
- self['IFS'] = ''.join(_IFS_WHITESPACES) #Default environment values
- self['PWD'] = pwd
- self.traps = Traps()
-
- def clone(self, subshell=False):
- env = Environment(self['PWD'])
- env._opt = set(self._opt)
- for k,v in self.get_variables().iteritems():
- if k in self._exported:
- env.export(k,v)
- elif subshell:
- env[k] = v
-
- if subshell:
- env._functions = dict(self._functions)
-
- return env
-
- def __getitem__(self, key):
- if key in ('@', '*', '-', '$'):
- raise NotImplementedError('%s is not implemented' % repr(key))
- return self._env[key]
-
- def get(self, key, defval=None):
- try:
- return self[key]
- except KeyError:
- return defval
-
- def __setitem__(self, key, value):
- if key=='IFS':
- # Update the whitespace/non-whitespace classes
- self._update_ifs(value)
- elif key=='PWD':
- pwd = os.path.abspath(value)
- if not os.path.isdir(pwd):
- raise VarAssignmentError('Invalid directory %s' % value)
- value = pwd
- elif key in ('?', '!'):
- value = str(int(value))
- self._env[key] = value
-
- def __delitem__(self, key):
- if key in ('IFS', 'PWD', '?'):
- raise VarAssignmentError('%s cannot be unset' % key)
- del self._env[key]
-
- def __contains__(self, item):
- return item in self._env
-
- def set_positional_args(self, args):
- """Set the content of 'args' as positional argument from 1 to len(args).
- Return previous argument as a list of strings.
- """
- # Save and remove previous arguments
- prevargs = []
- for i in range(int(self._env['#'])):
- i = str(i+1)
- prevargs.append(self._env[i])
- del self._env[i]
- self._env['#'] = '0'
-
- #Set new ones
- for i,arg in enumerate(args):
- self._env[str(i+1)] = str(arg)
- self._env['#'] = str(len(args))
-
- return prevargs
-
- def get_positional_args(self):
- return [self._env[str(i+1)] for i in range(int(self._env['#']))]
-
- def get_variables(self):
- return dict(self._env)
-
- def export(self, key, value=None):
- if value is not None:
- self[key] = value
- self._exported.add(key)
-
- def get_exported(self):
- return [(k,self._env.get(k)) for k in self._exported]
-
- def split_fields(self, word):
- if not self._ifs_ws or not word:
- return [word]
- return re.split(self._ifs_re, word)
-
- def _update_ifs(self, value):
- """Update the split_fields related variables when IFS character set is
- changed.
- """
- # TODO: handle NULL IFS
-
- # Separate characters in whitespace and non-whitespace
- chars = set(value)
- ws = [c for c in chars if c in _IFS_WHITESPACES]
- nws = [c for c in chars if c not in _IFS_WHITESPACES]
-
- # Keep whitespaces in a string for left and right stripping
- self._ifs_ws = ''.join(ws)
-
- # Build a regexp to split fields
- trailing = '[' + ''.join([re.escape(c) for c in ws]) + ']'
- if nws:
- # First, the single non-whitespace occurence.
- nws = '[' + ''.join([re.escape(c) for c in nws]) + ']'
- nws = '(?:' + trailing + '*' + nws + trailing + '*' + '|' + trailing + '+)'
- else:
- # Then mix all parts with quantifiers
- nws = trailing + '+'
- self._ifs_re = re.compile(nws)
-
- def has_opt(self, opt, val=None):
- return (opt, val) in self._opt
-
- def set_opt(self, opt, val=None):
- self._opt.add((opt, val))
-
- def find_in_path(self, name, pwd=False):
- path = self._env.get('PATH', '').split(os.pathsep)
- if pwd:
- path[:0] = [self['PWD']]
- if os.name == 'nt':
- return win32_find_in_path(name, self._env.get('PATH', ''))
- else:
- raise NotImplementedError()
-
- def define_function(self, name, body):
- if not is_name(name):
- raise ShellSyntaxError('%s is not a valid function name' % repr(name))
- self._functions[name] = body
-
- def remove_function(self, name):
- del self._functions[name]
-
- def is_function(self, name):
- return name in self._functions
-
- def get_function(self, name):
- return self._functions.get(name)
-
-
-name_charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'
-name_charset = dict(zip(name_charset,name_charset))
-
-def match_name(s):
- """Return the length in characters of the longest prefix made of name
- allowed characters in s.
- """
- for i,c in enumerate(s):
- if c not in name_charset:
- return s[:i]
- return s
-
-def is_name(s):
- return len([c for c in s if c not in name_charset])<=0
-
-def is_special_param(c):
- return len(c)==1 and c in ('@','*','#','?','-','$','!','0')
-
-def utility_not_implemented(name, *args, **kwargs):
- raise NotImplementedError('%s utility is not implemented' % name)
-
-
-class Utility:
- """Define utilities properties:
- func -- utility callable. See builtin module for utility samples.
- is_special -- see XCU 2.8.
- """
- def __init__(self, func, is_special=0):
- self.func = func
- self.is_special = bool(is_special)
-
-
-def encodeargs(args):
- def encodearg(s):
- lines = base64.encodestring(s)
- lines = [l.splitlines()[0] for l in lines]
- return ''.join(lines)
-
- s = pickle.dumps(args)
- return encodearg(s)
-
-def decodeargs(s):
- s = base64.decodestring(s)
- return pickle.loads(s)
-
-
-class GlobError(Exception):
- pass
-
-class Options:
- def __init__(self):
- # True if Mercurial operates with binary streams
- self.hgbinary = True
-
-class Interpreter:
- # Implementation is very basic: the execute() method just makes a DFS on the
- # AST and execute nodes one by one. Nodes are tuple (name,obj) where name
- # is a string identifier and obj the AST element returned by the parser.
- #
- # Handler are named after the node identifiers.
- # TODO: check node names and remove the switch in execute with some
- # dynamic getattr() call to find node handlers.
- """Shell interpreter.
-
- The following debugging flags can be passed:
- debug-parsing - enable PLY debugging.
- debug-tree - print the generated AST.
- debug-cmd - trace command execution before word expansion, plus exit status.
- debug-utility - trace utility execution.
- """
-
- # List supported commands.
- COMMANDS = {
- 'cat': Utility(builtin.utility_cat,),
- 'cd': Utility(builtin.utility_cd,),
- ':': Utility(builtin.utility_colon,),
- 'echo': Utility(builtin.utility_echo),
- 'env': Utility(builtin.utility_env),
- 'exit': Utility(builtin.utility_exit),
- 'export': Utility(builtin.builtin_export, is_special=1),
- 'egrep': Utility(builtin.utility_egrep),
- 'fgrep': Utility(builtin.utility_fgrep),
- 'gunzip': Utility(builtin.utility_gunzip),
- 'kill': Utility(builtin.utility_kill),
- 'mkdir': Utility(builtin.utility_mkdir),
- 'netstat': Utility(builtin.utility_netstat),
- 'printf': Utility(builtin.utility_printf),
- 'pwd': Utility(builtin.utility_pwd),
- 'return': Utility(builtin.builtin_return, is_special=1),
- 'sed': Utility(builtin.utility_sed,),
- 'set': Utility(builtin.builtin_set,),
- 'shift': Utility(builtin.builtin_shift,),
- 'sleep': Utility(builtin.utility_sleep,),
- 'sort': Utility(builtin.utility_sort,),
- 'trap': Utility(builtin.builtin_trap, is_special=1),
- 'true': Utility(builtin.utility_true),
- 'unset': Utility(builtin.builtin_unset, is_special=1),
- 'wait': Utility(builtin.builtin_wait, is_special=1),
- }
-
- def __init__(self, pwd, debugflags = [], env=None, redirs=None, stdin=None,
- stdout=None, stderr=None, opts=Options()):
- self._env = env
- if self._env is None:
- self._env = Environment(pwd)
- self._children = {}
-
- self._redirs = redirs
- self._close_redirs = False
-
- if self._redirs is None:
- if stdin is None:
- stdin = sys.stdin
- if stdout is None:
- stdout = sys.stdout
- if stderr is None:
- stderr = sys.stderr
- stdin = FileWrapper('r', stdin, False)
- stdout = FileWrapper('w', stdout, False)
- stderr = FileWrapper('w', stderr, False)
- self._redirs = Redirections(stdin, stdout, stderr)
- self._close_redirs = True
-
- self._debugflags = list(debugflags)
- self._logfile = sys.stderr
- self._options = opts
-
- def close(self):
- """Must be called when the interpreter is no longer used."""
- script = self._env.traps.get('EXIT')
- if script:
- try:
- self.execute_script(script=script)
- except:
- pass
-
- if self._redirs is not None and self._close_redirs:
- self._redirs.close()
- self._redirs = None
-
- def log(self, s):
- self._logfile.write(s)
- self._logfile.flush()
-
- def __getitem__(self, key):
- return self._env[key]
-
- def __setitem__(self, key, value):
- self._env[key] = value
-
- def options(self):
- return self._options
-
- def redirect(self, redirs, ios):
- def add_redir(io):
- if isinstance(io, pyshyacc.IORedirect):
- redirs.add(self, io.op, io.filename, io.io_number)
- else:
- redirs.add_here_document(self, io.name, io.content, io.io_number)
-
- map(add_redir, ios)
- return redirs
-
- def execute_script(self, script=None, ast=None, sourced=False,
- scriptpath=None):
- """If script is not None, parse the input. Otherwise takes the supplied
- AST. Then execute the AST.
- Return the script exit status.
- """
- try:
- if scriptpath is not None:
- self._env['0'] = os.path.abspath(scriptpath)
-
- if script is not None:
- debug_parsing = ('debug-parsing' in self._debugflags)
- cmds, script = pyshyacc.parse(script, True, debug_parsing)
- if 'debug-tree' in self._debugflags:
- pyshyacc.print_commands(cmds, self._logfile)
- self._logfile.flush()
- else:
- cmds, script = ast, ''
-
- status = 0
- for cmd in cmds:
- try:
- status = self.execute(cmd)
- except ExitSignal as e:
- if sourced:
- raise
- status = int(e.args[0])
- return status
- except ShellError:
- self._env['?'] = 1
- raise
- if 'debug-utility' in self._debugflags or 'debug-cmd' in self._debugflags:
- self.log('returncode ' + str(status)+ '\n')
- return status
- except CommandNotFound as e:
- print >>self._redirs.stderr, str(e)
- self._redirs.stderr.flush()
- # Command not found by non-interactive shell
- # return 127
- raise
- except RedirectionError as e:
- # TODO: should be handled depending on the utility status
- print >>self._redirs.stderr, str(e)
- self._redirs.stderr.flush()
- # Command not found by non-interactive shell
- # return 127
- raise
-
- def dotcommand(self, env, args):
- if len(args) < 1:
- raise ShellError('. expects at least one argument')
- path = args[0]
- if '/' not in path:
- found = env.find_in_path(args[0], True)
- if found:
- path = found[0]
- script = file(path).read()
- return self.execute_script(script=script, sourced=True)
-
- def execute(self, token, redirs=None):
- """Execute and AST subtree with supplied redirections overriding default
- interpreter ones.
- Return the exit status.
- """
- if not token:
- return 0
-
- if redirs is None:
- redirs = self._redirs
-
- if isinstance(token, list):
- # Commands sequence
- res = 0
- for t in token:
- res = self.execute(t, redirs)
- return res
-
- type, value = token
- status = 0
- if type=='simple_command':
- redirs_copy = redirs.clone()
- try:
- # TODO: define and handle command return values
- # TODO: implement set -e
- status = self._execute_simple_command(value, redirs_copy)
- finally:
- redirs_copy.close()
- elif type=='pipeline':
- status = self._execute_pipeline(value, redirs)
- elif type=='and_or':
- status = self._execute_and_or(value, redirs)
- elif type=='for_clause':
- status = self._execute_for_clause(value, redirs)
- elif type=='while_clause':
- status = self._execute_while_clause(value, redirs)
- elif type=='function_definition':
- status = self._execute_function_definition(value, redirs)
- elif type=='brace_group':
- status = self._execute_brace_group(value, redirs)
- elif type=='if_clause':
- status = self._execute_if_clause(value, redirs)
- elif type=='subshell':
- status = self.subshell(ast=value.cmds, redirs=redirs)
- elif type=='async':
- status = self._asynclist(value)
- elif type=='redirect_list':
- redirs_copy = self.redirect(redirs.clone(), value.redirs)
- try:
- status = self.execute(value.cmd, redirs_copy)
- finally:
- redirs_copy.close()
- else:
- raise NotImplementedError('Unsupported token type ' + type)
-
- if status < 0:
- status = 255
- return status
-
- def _execute_if_clause(self, if_clause, redirs):
- cond_status = self.execute(if_clause.cond, redirs)
- if cond_status==0:
- return self.execute(if_clause.if_cmds, redirs)
- else:
- return self.execute(if_clause.else_cmds, redirs)
-
- def _execute_brace_group(self, group, redirs):
- status = 0
- for cmd in group.cmds:
- status = self.execute(cmd, redirs)
- return status
-
- def _execute_function_definition(self, fundef, redirs):
- self._env.define_function(fundef.name, fundef.body)
- return 0
-
- def _execute_while_clause(self, while_clause, redirs):
- status = 0
- while 1:
- cond_status = 0
- for cond in while_clause.condition:
- cond_status = self.execute(cond, redirs)
-
- if cond_status:
- break
-
- for cmd in while_clause.cmds:
- status = self.execute(cmd, redirs)
-
- return status
-
- def _execute_for_clause(self, for_clause, redirs):
- if not is_name(for_clause.name):
- raise ShellSyntaxError('%s is not a valid name' % repr(for_clause.name))
- items = mappend(self.expand_token, for_clause.items)
-
- status = 0
- for item in items:
- self._env[for_clause.name] = item
- for cmd in for_clause.cmds:
- status = self.execute(cmd, redirs)
- return status
-
- def _execute_and_or(self, or_and, redirs):
- res = self.execute(or_and.left, redirs)
- if (or_and.op=='&&' and res==0) or (or_and.op!='&&' and res!=0):
- res = self.execute(or_and.right, redirs)
- return res
-
- def _execute_pipeline(self, pipeline, redirs):
- if len(pipeline.commands)==1:
- status = self.execute(pipeline.commands[0], redirs)
- else:
- # Execute all commands one after the other
- status = 0
- inpath, outpath = None, None
- try:
- # Commands inputs and outputs cannot really be plugged as done
- # by a real shell. Run commands sequentially and chain their
- # input/output throught temporary files.
- tmpfd, inpath = tempfile.mkstemp()
- os.close(tmpfd)
- tmpfd, outpath = tempfile.mkstemp()
- os.close(tmpfd)
-
- inpath = win32_to_unix_path(inpath)
- outpath = win32_to_unix_path(outpath)
-
- for i, cmd in enumerate(pipeline.commands):
- call_redirs = redirs.clone()
- try:
- if i!=0:
- call_redirs.add(self, '<', inpath)
- if i!=len(pipeline.commands)-1:
- call_redirs.add(self, '>', outpath)
-
- status = self.execute(cmd, call_redirs)
-
- # Chain inputs/outputs
- inpath, outpath = outpath, inpath
- finally:
- call_redirs.close()
- finally:
- if inpath: os.remove(inpath)
- if outpath: os.remove(outpath)
-
- if pipeline.reverse_status:
- status = int(not status)
- self._env['?'] = status
- return status
-
- def _execute_function(self, name, args, interp, env, stdin, stdout, stderr, *others):
- assert interp is self
-
- func = env.get_function(name)
- #Set positional parameters
- prevargs = None
- try:
- prevargs = env.set_positional_args(args)
- try:
- redirs = Redirections(stdin.dup(), stdout.dup(), stderr.dup())
- try:
- status = self.execute(func, redirs)
- finally:
- redirs.close()
- except ReturnSignal as e:
- status = int(e.args[0])
- env['?'] = status
- return status
- finally:
- #Reset positional parameters
- if prevargs is not None:
- env.set_positional_args(prevargs)
-
- def _execute_simple_command(self, token, redirs):
- """Can raise ReturnSignal when return builtin is called, ExitSignal when
- exit is called, and other shell exceptions upon builtin failures.
- """
- debug_command = 'debug-cmd' in self._debugflags
- if debug_command:
- self.log('word' + repr(token.words) + '\n')
- self.log('assigns' + repr(token.assigns) + '\n')
- self.log('redirs' + repr(token.redirs) + '\n')
-
- is_special = None
- env = self._env
-
- try:
- # Word expansion
- args = []
- for word in token.words:
- args += self.expand_token(word)
- if is_special is None and args:
- is_special = env.is_function(args[0]) or \
- (args[0] in self.COMMANDS and self.COMMANDS[args[0]].is_special)
-
- if debug_command:
- self.log('_execute_simple_command' + str(args) + '\n')
-
- if not args:
- # Redirections happen is a subshell
- redirs = redirs.clone()
- elif not is_special:
- env = self._env.clone()
-
- # Redirections
- self.redirect(redirs, token.redirs)
-
- # Variables assignments
- res = 0
- for type,(k,v) in token.assigns:
- status, expanded = self.expand_variable((k,v))
- if status is not None:
- res = status
- if args:
- env.export(k, expanded)
- else:
- env[k] = expanded
-
- if args and args[0] in ('.', 'source'):
- res = self.dotcommand(env, args[1:])
- elif args:
- if args[0] in self.COMMANDS:
- command = self.COMMANDS[args[0]]
- elif env.is_function(args[0]):
- command = Utility(self._execute_function, is_special=True)
- else:
- if not '/' in args[0].replace('\\', '/'):
- cmd = env.find_in_path(args[0])
- if not cmd:
- # TODO: test error code on unknown command => 127
- raise CommandNotFound('Unknown command: "%s"' % args[0])
- else:
- # Handle commands like '/cygdrive/c/foo.bat'
- cmd = cygwin_to_windows_path(args[0])
- if not os.path.exists(cmd):
- raise CommandNotFound('%s: No such file or directory' % args[0])
- shebang = resolve_shebang(cmd)
- if shebang:
- cmd = shebang
- else:
- cmd = [cmd]
- args[0:1] = cmd
- command = Utility(builtin.run_command)
-
- # Command execution
- if 'debug-cmd' in self._debugflags:
- self.log('redirections ' + str(redirs) + '\n')
-
- res = command.func(args[0], args[1:], self, env,
- redirs.stdin(), redirs.stdout(),
- redirs.stderr(), self._debugflags)
-
- if self._env.has_opt('-x'):
- # Trace command execution in shell environment
- # BUG: would be hard to reproduce a real shell behaviour since
- # the AST is not annotated with source lines/tokens.
- self._redirs.stdout().write(' '.join(args))
-
- except ReturnSignal:
- raise
- except ShellError as e:
- if is_special or isinstance(e, (ExitSignal,
- ShellSyntaxError, ExpansionError)):
- raise e
- self._redirs.stderr().write(str(e)+'\n')
- return 1
-
- return res
-
- def expand_token(self, word):
- """Expand a word as specified in [2.6 Word Expansions]. Return the list
- of expanded words.
- """
- status, wtrees = self._expand_word(word)
- return map(pyshlex.wordtree_as_string, wtrees)
-
- def expand_variable(self, word):
- """Return a status code (or None if no command expansion occurred)
- and a single word.
- """
- status, wtrees = self._expand_word(word, pathname=False, split=False)
- words = map(pyshlex.wordtree_as_string, wtrees)
- assert len(words)==1
- return status, words[0]
-
- def expand_here_document(self, word):
- """Return the expanded document as a single word. The here document is
- assumed to be unquoted.
- """
- status, wtrees = self._expand_word(word, pathname=False,
- split=False, here_document=True)
- words = map(pyshlex.wordtree_as_string, wtrees)
- assert len(words)==1
- return words[0]
-
- def expand_redirection(self, word):
- """Return a single word."""
- return self.expand_variable(word)[1]
-
- def get_env(self):
- return self._env
-
- def _expand_word(self, token, pathname=True, split=True, here_document=False):
- wtree = pyshlex.make_wordtree(token[1], here_document=here_document)
-
- # TODO: implement tilde expansion
- def expand(wtree):
- """Return a pseudo wordtree: the tree or its subelements can be empty
- lists when no value result from the expansion.
- """
- status = None
- for part in wtree:
- if not isinstance(part, list):
- continue
- if part[0]in ("'", '\\'):
- continue
- elif part[0] in ('`', '$('):
- status, result = self._expand_command(part)
- part[:] = result
- elif part[0] in ('$', '${'):
- part[:] = self._expand_parameter(part, wtree[0]=='"', split)
- elif part[0] in ('', '"'):
- status, result = expand(part)
- part[:] = result
- else:
- raise NotImplementedError('%s expansion is not implemented'
- % part[0])
- # [] is returned when an expansion result in no-field,
- # like an empty $@
- wtree = [p for p in wtree if p != []]
- if len(wtree) < 3:
- return status, []
- return status, wtree
-
- status, wtree = expand(wtree)
- if len(wtree) == 0:
- return status, wtree
- wtree = pyshlex.normalize_wordtree(wtree)
-
- if split:
- wtrees = self._split_fields(wtree)
- else:
- wtrees = [wtree]
-
- if pathname:
- wtrees = mappend(self._expand_pathname, wtrees)
-
- wtrees = map(self._remove_quotes, wtrees)
- return status, wtrees
-
- def _expand_command(self, wtree):
- # BUG: there is something to do with backslashes and quoted
- # characters here
- command = pyshlex.wordtree_as_string(wtree[1:-1])
- status, output = self.subshell_output(command)
- return status, ['', output, '']
-
- def _expand_parameter(self, wtree, quoted=False, split=False):
- """Return a valid wtree or an empty list when no parameter results."""
- # Get the parameter name
- # TODO: implement weird expansion rules with ':'
- name = pyshlex.wordtree_as_string(wtree[1:-1])
- if not is_name(name) and not is_special_param(name):
- raise ExpansionError('Bad substitution "%s"' % name)
- # TODO: implement special parameters
- if name in ('@', '*'):
- args = self._env.get_positional_args()
- if len(args) == 0:
- return []
- if len(args)<2:
- return ['', ''.join(args), '']
-
- sep = self._env.get('IFS', '')[:1]
- if split and quoted and name=='@':
- # Introduce a new token to tell the caller that these parameters
- # cause a split as specified in 2.5.2
- return ['@'] + args + ['']
- else:
- return ['', sep.join(args), '']
-
- return ['', self._env.get(name, ''), '']
-
- def _split_fields(self, wtree):
- def is_empty(split):
- return split==['', '', '']
-
- def split_positional(quoted):
- # Return a list of wtree split according positional parameters rules.
- # All remaining '@' groups are removed.
- assert quoted[0]=='"'
-
- splits = [[]]
- for part in quoted:
- if not isinstance(part, list) or part[0]!='@':
- splits[-1].append(part)
- else:
- # Empty or single argument list were dealt with already
- assert len(part)>3
- # First argument must join with the beginning part of the original word
- splits[-1].append(part[1])
- # Create double-quotes expressions for every argument after the first
- for arg in part[2:-1]:
- splits[-1].append('"')
- splits.append(['"', arg])
- return splits
-
- # At this point, all expansions but pathnames have occured. Only quoted
- # and positional sequences remain. Thus, all candidates for field splitting
- # are in the tree root, or are positional splits ('@') and lie in root
- # children.
- if not wtree or wtree[0] not in ('', '"'):
- # The whole token is quoted or empty, nothing to split
- return [wtree]
-
- if wtree[0]=='"':
- wtree = ['', wtree, '']
-
- result = [['', '']]
- for part in wtree[1:-1]:
- if isinstance(part, list):
- if part[0]=='"':
- splits = split_positional(part)
- if len(splits)<=1:
- result[-1] += [part, '']
- else:
- # Terminate the current split
- result[-1] += [splits[0], '']
- result += splits[1:-1]
- # Create a new split
- result += [['', splits[-1], '']]
- else:
- result[-1] += [part, '']
- else:
- splits = self._env.split_fields(part)
- if len(splits)<=1:
- # No split
- result[-1][-1] += part
- else:
- # Terminate the current resulting part and create a new one
- result[-1][-1] += splits[0]
- result[-1].append('')
- result += [['', r, ''] for r in splits[1:-1]]
- result += [['', splits[-1]]]
- result[-1].append('')
-
- # Leading and trailing empty groups come from leading/trailing blanks
- if result and is_empty(result[-1]):
- result[-1:] = []
- if result and is_empty(result[0]):
- result[:1] = []
- return result
-
- def _expand_pathname(self, wtree):
- """See [2.6.6 Pathname Expansion]."""
- if self._env.has_opt('-f'):
- return [wtree]
-
- # All expansions have been performed, only quoted sequences should remain
- # in the tree. Generate the pattern by folding the tree, escaping special
- # characters when appear quoted
- special_chars = '*?[]'
-
- def make_pattern(wtree):
- subpattern = []
- for part in wtree[1:-1]:
- if isinstance(part, list):
- part = make_pattern(part)
- elif wtree[0]!='':
- for c in part:
- # Meta-characters cannot be quoted
- if c in special_chars:
- raise GlobError()
- subpattern.append(part)
- return ''.join(subpattern)
-
- def pwd_glob(pattern):
- cwd = os.getcwd()
- os.chdir(self._env['PWD'])
- try:
- return glob.glob(pattern)
- finally:
- os.chdir(cwd)
-
- #TODO: check working directory issues here wrt relative patterns
- try:
- pattern = make_pattern(wtree)
- paths = pwd_glob(pattern)
- except GlobError:
- # BUG: Meta-characters were found in quoted sequences. The should
- # have been used literally but this is unsupported in current glob module.
- # Instead we consider the whole tree must be used literally and
- # therefore there is no point in globbing. This is wrong when meta
- # characters are mixed with quoted meta in the same pattern like:
- # < foo*"py*" >
- paths = []
-
- if not paths:
- return [wtree]
- return [['', path, ''] for path in paths]
-
- def _remove_quotes(self, wtree):
- """See [2.6.7 Quote Removal]."""
-
- def unquote(wtree):
- unquoted = []
- for part in wtree[1:-1]:
- if isinstance(part, list):
- part = unquote(part)
- unquoted.append(part)
- return ''.join(unquoted)
-
- return ['', unquote(wtree), '']
-
- def subshell(self, script=None, ast=None, redirs=None):
- """Execute the script or AST in a subshell, with inherited redirections
- if redirs is not None.
- """
- if redirs:
- sub_redirs = redirs
- else:
- sub_redirs = redirs.clone()
-
- subshell = None
- try:
- subshell = Interpreter(None, self._debugflags, self._env.clone(True),
- sub_redirs, opts=self._options)
- return subshell.execute_script(script, ast)
- finally:
- if not redirs: sub_redirs.close()
- if subshell: subshell.close()
-
- def subshell_output(self, script):
- """Execute the script in a subshell and return the captured output."""
- # Create temporary file to capture subshell output
- tmpfd, tmppath = tempfile.mkstemp()
- try:
- tmpfile = os.fdopen(tmpfd, 'wb')
- stdout = FileWrapper('w', tmpfile)
-
- redirs = Redirections(self._redirs.stdin().dup(),
- stdout,
- self._redirs.stderr().dup())
- try:
- status = self.subshell(script=script, redirs=redirs)
- finally:
- redirs.close()
- redirs = None
-
- # Extract subshell standard output
- tmpfile = open(tmppath, 'rb')
- try:
- output = tmpfile.read()
- return status, output.rstrip('\n')
- finally:
- tmpfile.close()
- finally:
- os.remove(tmppath)
-
- def _asynclist(self, cmd):
- args = (self._env.get_variables(), cmd)
- arg = encodeargs(args)
- assert len(args) < 30*1024
- cmd = ['pysh.bat', '--ast', '-c', arg]
- p = subprocess.Popen(cmd, cwd=self._env['PWD'])
- self._children[p.pid] = p
- self._env['!'] = p.pid
- return 0
-
- def wait(self, pids=None):
- if not pids:
- pids = self._children.keys()
-
- status = 127
- for pid in pids:
- if pid not in self._children:
- continue
- p = self._children.pop(pid)
- status = p.wait()
-
- return status
-
diff --git a/poky/bitbake/lib/bb/pysh/lsprof.py b/poky/bitbake/lib/bb/pysh/lsprof.py
deleted file mode 100644
index b1831c22a..000000000
--- a/poky/bitbake/lib/bb/pysh/lsprof.py
+++ /dev/null
@@ -1,116 +0,0 @@
-#! /usr/bin/env python
-
-import sys
-from _lsprof import Profiler, profiler_entry
-
-__all__ = ['profile', 'Stats']
-
-def profile(f, *args, **kwds):
- """XXX docstring"""
- p = Profiler()
- p.enable(subcalls=True, builtins=True)
- try:
- f(*args, **kwds)
- finally:
- p.disable()
- return Stats(p.getstats())
-
-
-class Stats(object):
- """XXX docstring"""
-
- def __init__(self, data):
- self.data = data
-
- def sort(self, crit="inlinetime"):
- """XXX docstring"""
- if crit not in profiler_entry.__dict__:
- raise ValueError("Can't sort by %s" % crit)
- self.data.sort(lambda b, a: cmp(getattr(a, crit),
- getattr(b, crit)))
- for e in self.data:
- if e.calls:
- e.calls.sort(lambda b, a: cmp(getattr(a, crit),
- getattr(b, crit)))
-
- def pprint(self, top=None, file=None, limit=None, climit=None):
- """XXX docstring"""
- if file is None:
- file = sys.stdout
- d = self.data
- if top is not None:
- d = d[:top]
- cols = "% 12s %12s %11.4f %11.4f %s\n"
- hcols = "% 12s %12s %12s %12s %s\n"
- cols2 = "+%12s %12s %11.4f %11.4f + %s\n"
- file.write(hcols % ("CallCount", "Recursive", "Total(ms)",
- "Inline(ms)", "module:lineno(function)"))
- count = 0
- for e in d:
- file.write(cols % (e.callcount, e.reccallcount, e.totaltime,
- e.inlinetime, label(e.code)))
- count += 1
- if limit is not None and count == limit:
- return
- ccount = 0
- if e.calls:
- for se in e.calls:
- file.write(cols % ("+%s" % se.callcount, se.reccallcount,
- se.totaltime, se.inlinetime,
- "+%s" % label(se.code)))
- count += 1
- ccount += 1
- if limit is not None and count == limit:
- return
- if climit is not None and ccount == climit:
- break
-
- def freeze(self):
- """Replace all references to code objects with string
- descriptions; this makes it possible to pickle the instance."""
-
- # this code is probably rather ickier than it needs to be!
- for i in range(len(self.data)):
- e = self.data[i]
- if not isinstance(e.code, str):
- self.data[i] = type(e)((label(e.code),) + e[1:])
- if e.calls:
- for j in range(len(e.calls)):
- se = e.calls[j]
- if not isinstance(se.code, str):
- e.calls[j] = type(se)((label(se.code),) + se[1:])
-
-_fn2mod = {}
-
-def label(code):
- if isinstance(code, str):
- return code
- try:
- mname = _fn2mod[code.co_filename]
- except KeyError:
- for k, v in sys.modules.items():
- if v is None:
- continue
- if not hasattr(v, '__file__'):
- continue
- if not isinstance(v.__file__, str):
- continue
- if v.__file__.startswith(code.co_filename):
- mname = _fn2mod[code.co_filename] = k
- break
- else:
- mname = _fn2mod[code.co_filename] = '<%s>'%code.co_filename
-
- return '%s:%d(%s)' % (mname, code.co_firstlineno, code.co_name)
-
-
-if __name__ == '__main__':
- import os
- sys.argv = sys.argv[1:]
- if not sys.argv:
- print >> sys.stderr, "usage: lsprof.py <script> <arguments...>"
- sys.exit(2)
- sys.path.insert(0, os.path.abspath(os.path.dirname(sys.argv[0])))
- stats = profile(execfile, sys.argv[0], globals(), locals())
- stats.sort()
- stats.pprint()
diff --git a/poky/bitbake/lib/bb/pysh/pysh.py b/poky/bitbake/lib/bb/pysh/pysh.py
deleted file mode 100644
index b4e6145b5..000000000
--- a/poky/bitbake/lib/bb/pysh/pysh.py
+++ /dev/null
@@ -1,167 +0,0 @@
-# pysh.py - command processing for pysh.
-#
-# Copyright 2007 Patrick Mezard
-#
-# This software may be used and distributed according to the terms
-# of the GNU General Public License, incorporated herein by reference.
-
-import optparse
-import os
-import sys
-
-import interp
-
-SH_OPT = optparse.OptionParser(prog='pysh', usage="%prog [OPTIONS]", version='0.1')
-SH_OPT.add_option('-c', action='store_true', dest='command_string', default=None,
- help='A string that shall be interpreted by the shell as one or more commands')
-SH_OPT.add_option('--redirect-to', dest='redirect_to', default=None,
- help='Redirect script commands stdout and stderr to the specified file')
-# See utility_command in builtin.py about the reason for this flag.
-SH_OPT.add_option('--redirected', dest='redirected', action='store_true', default=False,
- help='Tell the interpreter that stdout and stderr are actually the same objects, which is really stdout')
-SH_OPT.add_option('--debug-parsing', action='store_true', dest='debug_parsing', default=False,
- help='Trace PLY execution')
-SH_OPT.add_option('--debug-tree', action='store_true', dest='debug_tree', default=False,
- help='Display the generated syntax tree.')
-SH_OPT.add_option('--debug-cmd', action='store_true', dest='debug_cmd', default=False,
- help='Trace command execution before parameters expansion and exit status.')
-SH_OPT.add_option('--debug-utility', action='store_true', dest='debug_utility', default=False,
- help='Trace utility calls, after parameters expansions')
-SH_OPT.add_option('--ast', action='store_true', dest='ast', default=False,
- help='Encoded commands to execute in a subprocess')
-SH_OPT.add_option('--profile', action='store_true', default=False,
- help='Profile pysh run')
-
-
-def split_args(args):
- # Separate shell arguments from command ones
- # Just stop at the first argument not starting with a dash. I know, this is completely broken,
- # it ignores files starting with a dash or may take option values for command file. This is not
- # supposed to happen for now
- command_index = len(args)
- for i,arg in enumerate(args):
- if not arg.startswith('-'):
- command_index = i
- break
-
- return args[:command_index], args[command_index:]
-
-
-def fixenv(env):
- path = env.get('PATH')
- if path is not None:
- parts = path.split(os.pathsep)
- # Remove Windows utilities from PATH, they are useless at best and
- # some of them (find) may be confused with other utilities.
- parts = [p for p in parts if 'system32' not in p.lower()]
- env['PATH'] = os.pathsep.join(parts)
- if env.get('HOME') is None:
- # Several utilities, including cvsps, cannot work without
- # a defined HOME directory.
- env['HOME'] = os.path.expanduser('~')
- return env
-
-def _sh(cwd, shargs, cmdargs, options, debugflags=None, env=None):
- if os.environ.get('PYSH_TEXT') != '1':
- import msvcrt
- for fp in (sys.stdin, sys.stdout, sys.stderr):
- msvcrt.setmode(fp.fileno(), os.O_BINARY)
-
- hgbin = os.environ.get('PYSH_HGTEXT') != '1'
-
- if debugflags is None:
- debugflags = []
- if options.debug_parsing: debugflags.append('debug-parsing')
- if options.debug_utility: debugflags.append('debug-utility')
- if options.debug_cmd: debugflags.append('debug-cmd')
- if options.debug_tree: debugflags.append('debug-tree')
-
- if env is None:
- env = fixenv(dict(os.environ))
- if cwd is None:
- cwd = os.getcwd()
-
- if not cmdargs:
- # Nothing to do
- return 0
-
- ast = None
- command_file = None
- if options.command_string:
- input = cmdargs[0]
- if not options.ast:
- input += '\n'
- else:
- args, input = interp.decodeargs(input), None
- env, ast = args
- cwd = env.get('PWD', cwd)
- else:
- command_file = cmdargs[0]
- arguments = cmdargs[1:]
-
- prefix = interp.resolve_shebang(command_file, ignoreshell=True)
- if prefix:
- input = ' '.join(prefix + [command_file] + arguments)
- else:
- # Read commands from file
- f = file(command_file)
- try:
- # Trailing newline to help the parser
- input = f.read() + '\n'
- finally:
- f.close()
-
- redirect = None
- try:
- if options.redirected:
- stdout = sys.stdout
- stderr = stdout
- elif options.redirect_to:
- redirect = open(options.redirect_to, 'wb')
- stdout = redirect
- stderr = redirect
- else:
- stdout = sys.stdout
- stderr = sys.stderr
-
- # TODO: set arguments to environment variables
- opts = interp.Options()
- opts.hgbinary = hgbin
- ip = interp.Interpreter(cwd, debugflags, stdout=stdout, stderr=stderr,
- opts=opts)
- try:
- # Export given environment in shell object
- for k,v in env.iteritems():
- ip.get_env().export(k,v)
- return ip.execute_script(input, ast, scriptpath=command_file)
- finally:
- ip.close()
- finally:
- if redirect is not None:
- redirect.close()
-
-def sh(cwd=None, args=None, debugflags=None, env=None):
- if args is None:
- args = sys.argv[1:]
- shargs, cmdargs = split_args(args)
- options, shargs = SH_OPT.parse_args(shargs)
-
- if options.profile:
- import lsprof
- p = lsprof.Profiler()
- p.enable(subcalls=True)
- try:
- return _sh(cwd, shargs, cmdargs, options, debugflags, env)
- finally:
- p.disable()
- stats = lsprof.Stats(p.getstats())
- stats.sort()
- stats.pprint(top=10, file=sys.stderr, climit=5)
- else:
- return _sh(cwd, shargs, cmdargs, options, debugflags, env)
-
-def main():
- sys.exit(sh())
-
-if __name__=='__main__':
- main()
diff --git a/poky/bitbake/lib/bb/pysh/pyshlex.py b/poky/bitbake/lib/bb/pysh/pyshlex.py
index fbf094b7a..a42c29446 100644
--- a/poky/bitbake/lib/bb/pysh/pyshlex.py
+++ b/poky/bitbake/lib/bb/pysh/pyshlex.py
@@ -13,11 +13,6 @@
# PLY in pull mode. It was designed to work incrementally and it would not be
# that hard to enable pull mode.
import re
-try:
- s = set()
- del s
-except NameError:
- from Set import Set as set
from ply import lex
from bb.pysh.sherrors import *
diff --git a/poky/bitbake/lib/bb/pysh/pyshyacc.py b/poky/bitbake/lib/bb/pysh/pyshyacc.py
index ba4cefdcb..de565dc9a 100644
--- a/poky/bitbake/lib/bb/pysh/pyshyacc.py
+++ b/poky/bitbake/lib/bb/pysh/pyshyacc.py
@@ -636,13 +636,16 @@ def p_empty(p):
def p_error(p):
msg = []
w = msg.append
- w('%r\n' % p)
- w('followed by:\n')
- for i in range(5):
- n = yacc.token()
- if not n:
- break
- w(' %r\n' % n)
+ if p:
+ w('%r\n' % p)
+ w('followed by:\n')
+ for i in range(5):
+ n = yacc.token()
+ if not n:
+ break
+ w(' %r\n' % n)
+ else:
+ w('Unexpected EOF')
raise sherrors.ShellSyntaxError(''.join(msg))
# Build the parser
diff --git a/poky/bitbake/lib/bb/pysh/sherrors.py b/poky/bitbake/lib/bb/pysh/sherrors.py
index 49d0533de..3fe8e47b2 100644
--- a/poky/bitbake/lib/bb/pysh/sherrors.py
+++ b/poky/bitbake/lib/bb/pysh/sherrors.py
@@ -13,29 +13,3 @@ class ShellError(Exception):
class ShellSyntaxError(ShellError):
pass
-
-class UtilityError(ShellError):
- """Raised upon utility syntax error (option or operand error)."""
- pass
-
-class ExpansionError(ShellError):
- pass
-
-class CommandNotFound(ShellError):
- """Specified command was not found."""
- pass
-
-class RedirectionError(ShellError):
- pass
-
-class VarAssignmentError(ShellError):
- """Variable assignment error."""
- pass
-
-class ExitSignal(ShellError):
- """Exit signal."""
- pass
-
-class ReturnSignal(ShellError):
- """Exit signal."""
- pass
diff --git a/poky/bitbake/lib/bb/pysh/subprocess_fix.py b/poky/bitbake/lib/bb/pysh/subprocess_fix.py
deleted file mode 100644
index 46eca2280..000000000
--- a/poky/bitbake/lib/bb/pysh/subprocess_fix.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# subprocess - Subprocesses with accessible I/O streams
-#
-# For more information about this module, see PEP 324.
-#
-# This module should remain compatible with Python 2.2, see PEP 291.
-#
-# Copyright (c) 2003-2005 by Peter Astrand <astrand@lysator.liu.se>
-#
-# Licensed to PSF under a Contributor Agreement.
-# See http://www.python.org/2.4/license for licensing details.
-
-def list2cmdline(seq):
- """
- Translate a sequence of arguments into a command line
- string, using the same rules as the MS C runtime:
-
- 1) Arguments are delimited by white space, which is either a
- space or a tab.
-
- 2) A string surrounded by double quotation marks is
- interpreted as a single argument, regardless of white space
- contained within. A quoted string can be embedded in an
- argument.
-
- 3) A double quotation mark preceded by a backslash is
- interpreted as a literal double quotation mark.
-
- 4) Backslashes are interpreted literally, unless they
- immediately precede a double quotation mark.
-
- 5) If backslashes immediately precede a double quotation mark,
- every pair of backslashes is interpreted as a literal
- backslash. If the number of backslashes is odd, the last
- backslash escapes the next double quotation mark as
- described in rule 3.
- """
-
- # See
- # http://msdn.microsoft.com/library/en-us/vccelng/htm/progs_12.asp
- result = []
- needquote = False
- for arg in seq:
- bs_buf = []
-
- # Add a space to separate this argument from the others
- if result:
- result.append(' ')
-
- needquote = (" " in arg) or ("\t" in arg) or ("|" in arg) or arg == ""
- if needquote:
- result.append('"')
-
- for c in arg:
- if c == '\\':
- # Don't know if we need to double yet.
- bs_buf.append(c)
- elif c == '"':
- # Double backspaces.
- result.append('\\' * len(bs_buf)*2)
- bs_buf = []
- result.append('\\"')
- else:
- # Normal char
- if bs_buf:
- result.extend(bs_buf)
- bs_buf = []
- result.append(c)
-
- # Add remaining backspaces, if any.
- if bs_buf:
- result.extend(bs_buf)
-
- if needquote:
- result.extend(bs_buf)
- result.append('"')
-
- return ''.join(result)
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 383c18323..329cda33a 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -37,11 +37,12 @@ from bb import monitordisk
import subprocess
import pickle
from multiprocessing import Process
+import shlex
bblogger = logging.getLogger("BitBake")
logger = logging.getLogger("BitBake.RunQueue")
-__find_md5__ = re.compile( r'(?i)(?<![a-z0-9])[a-f0-9]{32}(?![a-z0-9])' )
+__find_sha256__ = re.compile( r'(?i)(?<![a-z0-9])[a-f0-9]{64}(?![a-z0-9])' )
def fn_from_tid(tid):
return tid.rsplit(":", 1)[0]
@@ -351,6 +352,7 @@ class RunTaskEntry(object):
self.depends = set()
self.revdeps = set()
self.hash = None
+ self.unihash = None
self.task = None
self.weight = 1
@@ -390,6 +392,9 @@ class RunQueueData:
def get_task_hash(self, tid):
return self.runtaskentries[tid].hash
+ def get_task_unihash(self, tid):
+ return self.runtaskentries[tid].unihash
+
def get_user_idstring(self, tid, task_name_suffix = ""):
return tid + task_name_suffix
@@ -1161,18 +1166,21 @@ class RunQueueData:
if len(self.runtaskentries[tid].depends - dealtwith) == 0:
dealtwith.add(tid)
todeal.remove(tid)
- procdep = []
- for dep in self.runtaskentries[tid].depends:
- procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep))
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
- self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc])
- task = self.runtaskentries[tid].task
+ self.prepare_task_hash(tid)
bb.parse.siggen.writeout_file_checksum_cache()
#self.dump_data()
return len(self.runtaskentries)
+ def prepare_task_hash(self, tid):
+ procdep = []
+ for dep in self.runtaskentries[tid].depends:
+ procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep))
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc])
+ self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname)
+
def dump_data(self):
"""
Dump some debug information on the internal data structures
@@ -1224,28 +1232,23 @@ class RunQueue:
if fakeroot:
magic = magic + "beef"
mcdata = self.cooker.databuilder.mcdata[mc]
- fakerootcmd = mcdata.getVar("FAKEROOTCMD")
+ fakerootcmd = shlex.split(mcdata.getVar("FAKEROOTCMD"))
fakerootenv = (mcdata.getVar("FAKEROOTBASEENV") or "").split()
env = os.environ.copy()
for key, value in (var.split('=') for var in fakerootenv):
env[key] = value
- worker = subprocess.Popen([fakerootcmd, "bitbake-worker", magic], stdout=subprocess.PIPE, stdin=subprocess.PIPE, env=env)
+ worker = subprocess.Popen(fakerootcmd + ["bitbake-worker", magic], stdout=subprocess.PIPE, stdin=subprocess.PIPE, env=env)
else:
worker = subprocess.Popen(["bitbake-worker", magic], stdout=subprocess.PIPE, stdin=subprocess.PIPE)
bb.utils.nonblockingfd(worker.stdout)
workerpipe = runQueuePipe(worker.stdout, None, self.cfgData, self, rqexec)
- runqhash = {}
- for tid in self.rqdata.runtaskentries:
- runqhash[tid] = self.rqdata.runtaskentries[tid].hash
-
workerdata = {
"taskdeps" : self.rqdata.dataCaches[mc].task_deps,
"fakerootenv" : self.rqdata.dataCaches[mc].fakerootenv,
"fakerootdirs" : self.rqdata.dataCaches[mc].fakerootdirs,
"fakerootnoenv" : self.rqdata.dataCaches[mc].fakerootnoenv,
"sigdata" : bb.parse.siggen.get_taskdata(),
- "runq_hash" : runqhash,
"logdefaultdebug" : bb.msg.loggerDefaultDebugLevel,
"logdefaultverbose" : bb.msg.loggerDefaultVerbose,
"logdefaultverboselogs" : bb.msg.loggerVerboseLogs,
@@ -1387,6 +1390,26 @@ class RunQueue:
cache[tid] = iscurrent
return iscurrent
+ def validate_hash(self, *, sq_fn, sq_task, sq_hash, sq_hashfn, siginfo, sq_unihash, d):
+ locs = {"sq_fn" : sq_fn, "sq_task" : sq_task, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn,
+ "sq_unihash" : sq_unihash, "siginfo" : siginfo, "d" : d}
+
+ hashvalidate_args = ("(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=siginfo, sq_unihash=sq_unihash)",
+ "(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=siginfo)",
+ "(sq_fn, sq_task, sq_hash, sq_hashfn, d)")
+
+ for args in hashvalidate_args[:-1]:
+ try:
+ call = self.hashvalidate + args
+ return bb.utils.better_eval(call, locs)
+ except TypeError:
+ continue
+
+ # Call the last entry without a try...catch to propagate any thrown
+ # TypeError
+ call = self.hashvalidate + hashvalidate_args[-1]
+ return bb.utils.better_eval(call, locs)
+
def _execute_runqueue(self):
"""
Run the tasks in a queue prepared by rqdata.prepare()
@@ -1558,6 +1581,7 @@ class RunQueue:
valid = []
sq_hash = []
sq_hashfn = []
+ sq_unihash = []
sq_fn = []
sq_taskname = []
sq_task = []
@@ -1576,16 +1600,13 @@ class RunQueue:
sq_fn.append(fn)
sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[taskfn])
sq_hash.append(self.rqdata.runtaskentries[tid].hash)
+ sq_unihash.append(self.rqdata.runtaskentries[tid].unihash)
sq_taskname.append(taskname)
sq_task.append(tid)
- locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.data }
- try:
- call = self.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=True)"
- valid = bb.utils.better_eval(call, locs)
- # Handle version with no siginfo parameter
- except TypeError:
- call = self.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d)"
- valid = bb.utils.better_eval(call, locs)
+
+ valid = self.validate_hash(sq_fn=sq_fn, sq_task=sq_taskname, sq_hash=sq_hash, sq_hashfn=sq_hashfn,
+ siginfo=True, sq_unihash=sq_unihash, d=self.cooker.data)
+
for v in valid:
valid_new.add(sq_task[v])
@@ -1667,7 +1688,7 @@ class RunQueue:
matches = {k : v for k, v in iter(matches.items()) if h not in k}
if matches:
latestmatch = sorted(matches.keys(), key=lambda f: matches[f])[-1]
- prevh = __find_md5__.search(latestmatch).group(0)
+ prevh = __find_sha256__.search(latestmatch).group(0)
output = bb.siggen.compare_sigfiles(latestmatch, match, recursecb)
bb.plain("\nTask %s:%s couldn't be used from the cache because:\n We need hash %s, closest matching task was %s\n " % (pn, taskname, h, prevh) + '\n '.join(output))
@@ -2042,6 +2063,8 @@ class RunQueueExecuteTasks(RunQueueExecute):
taskdepdata = self.build_taskdepdata(task)
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
+ taskhash = self.rqdata.get_task_hash(task)
+ unihash = self.rqdata.get_task_unihash(task)
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not (self.cooker.configuration.dry_run or self.rqdata.setscene_enforce):
if not mc in self.rq.fakeworker:
try:
@@ -2051,10 +2074,10 @@ class RunQueueExecuteTasks(RunQueueExecute):
self.rq.state = runQueueFailed
self.stats.taskFailed()
return True
- self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
+ self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
self.rq.fakeworker[mc].process.stdin.flush()
else:
- self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
+ self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
self.rq.worker[mc].process.stdin.flush()
self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
@@ -2109,8 +2132,9 @@ class RunQueueExecuteTasks(RunQueueExecute):
deps = self.rqdata.runtaskentries[revdep].depends
provides = self.rqdata.dataCaches[mc].fn_provides[taskfn]
taskhash = self.rqdata.runtaskentries[revdep].hash
- taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash]
+ unihash = self.rqdata.runtaskentries[revdep].unihash
deps = self.filtermcdeps(task, deps)
+ taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash]
for revdep2 in deps:
if revdep2 not in taskdepdata:
additional.append(revdep2)
@@ -2313,6 +2337,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
if self.rq.hashvalidate:
sq_hash = []
sq_hashfn = []
+ sq_unihash = []
sq_fn = []
sq_taskname = []
sq_task = []
@@ -2344,14 +2369,14 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
sq_fn.append(fn)
sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[taskfn])
sq_hash.append(self.rqdata.runtaskentries[tid].hash)
+ sq_unihash.append(self.rqdata.runtaskentries[tid].unihash)
sq_taskname.append(taskname)
sq_task.append(tid)
self.cooker.data.setVar("BB_SETSCENE_STAMPCURRENT_COUNT", len(stamppresent))
- call = self.rq.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d)"
- locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.data }
- valid = bb.utils.better_eval(call, locs)
+ valid = self.rq.validate_hash(sq_fn=sq_fn, sq_task=sq_taskname, sq_hash=sq_hash, sq_hashfn=sq_hashfn,
+ siginfo=False, sq_unihash=sq_unihash, d=self.cooker.data)
self.cooker.data.delVar("BB_SETSCENE_STAMPCURRENT_COUNT")
@@ -2482,13 +2507,15 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
taskdepdata = self.build_taskdepdata(task)
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
+ taskhash = self.rqdata.get_task_hash(task)
+ unihash = self.rqdata.get_task_unihash(task)
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
if not mc in self.rq.fakeworker:
self.rq.start_fakeworker(self, mc)
- self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
+ self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
self.rq.fakeworker[mc].process.stdin.flush()
else:
- self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
+ self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
self.rq.worker[mc].process.stdin.flush()
self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
@@ -2552,7 +2579,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
deps = getsetscenedeps(revdep)
provides = self.rqdata.dataCaches[mc].fn_provides[taskfn]
taskhash = self.rqdata.runtaskentries[revdep].hash
- taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash]
+ unihash = self.rqdata.runtaskentries[revdep].unihash
+ taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash]
for revdep2 in deps:
if revdep2 not in taskdepdata:
additional.append(revdep2)
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 352dcab85..09c9c8a25 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -41,6 +41,9 @@ class SignatureGenerator(object):
def finalise(self, fn, d, varient):
return
+ def get_unihash(self, task):
+ return self.taskhash[task]
+
def get_taskhash(self, fn, task, deps, dataCache):
return "0"
@@ -87,7 +90,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.taints = {}
self.gendeps = {}
self.lookupcache = {}
- self.pkgnameextract = re.compile("(?P<fn>.*)\..*")
+ self.pkgnameextract = re.compile(r"(?P<fn>.*)\..*")
self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST") or "").split())
self.taskwhitelist = None
self.init_rundepcheck(data)
@@ -188,7 +191,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
continue
if dep not in self.taskhash:
bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?" % dep)
- data = data + self.taskhash[dep]
+ data = data + self.get_unihash(dep)
self.runtaskdeps[k].append(dep)
if task in dataCache.file_checksums[fn]:
@@ -215,7 +218,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.taints[k] = taint
logger.warning("%s is tainted from a forced run" % k)
- h = hashlib.md5(data.encode("utf-8")).hexdigest()
+ h = hashlib.sha256(data.encode("utf-8")).hexdigest()
self.taskhash[k] = h
#d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task])
return h
@@ -263,7 +266,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
data['file_checksum_values'] = [(os.path.basename(f), cs) for f,cs in self.file_checksum_values[k]]
data['runtaskhashes'] = {}
for dep in data['runtaskdeps']:
- data['runtaskhashes'][dep] = self.taskhash[dep]
+ data['runtaskhashes'][dep] = self.get_unihash(dep)
data['taskhash'] = self.taskhash[k]
taint = self.read_taint(fn, task, referencestamp)
@@ -313,6 +316,13 @@ class SignatureGeneratorBasic(SignatureGenerator):
class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
name = "basichash"
+ def get_stampfile_hash(self, task):
+ if task in self.taskhash:
+ return self.taskhash[task]
+
+ # If task is not in basehash, then error
+ return self.basehash[task]
+
def stampfile(self, stampbase, fn, taskname, extrainfo, clean=False):
if taskname != "do_setscene" and taskname.endswith("_setscene"):
k = fn + "." + taskname[:-9]
@@ -320,11 +330,9 @@ class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
k = fn + "." + taskname
if clean:
h = "*"
- elif k in self.taskhash:
- h = self.taskhash[k]
else:
- # If k is not in basehash, then error
- h = self.basehash[k]
+ h = self.get_stampfile_hash(k)
+
return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.')
def stampcleanmask(self, stampbase, fn, taskname, extrainfo):
@@ -644,7 +652,7 @@ def calc_basehash(sigdata):
if val is not None:
basedata = basedata + str(val)
- return hashlib.md5(basedata.encode("utf-8")).hexdigest()
+ return hashlib.sha256(basedata.encode("utf-8")).hexdigest()
def calc_taskhash(sigdata):
data = sigdata['basehash']
@@ -662,7 +670,7 @@ def calc_taskhash(sigdata):
else:
data = data + sigdata['taint']
- return hashlib.md5(data.encode("utf-8")).hexdigest()
+ return hashlib.sha256(data.encode("utf-8")).hexdigest()
def dump_sigfile(a):
diff --git a/poky/bitbake/lib/bb/tests/codeparser.py b/poky/bitbake/lib/bb/tests/codeparser.py
index e30e78c15..3fd76a8f9 100644
--- a/poky/bitbake/lib/bb/tests/codeparser.py
+++ b/poky/bitbake/lib/bb/tests/codeparser.py
@@ -123,6 +123,13 @@ ${D}${libdir}/pkgconfig/*.pc
self.parseExpression("sed -i -e 's:IP{:I${:g' $pc")
self.assertExecs(set(["sed"]))
+ def test_parameter_expansion_modifiers(self):
+ # - and + are also valid modifiers for parameter expansion, but are
+ # valid characters in bitbake variable names, so are not included here
+ for i in ('=', ':-', ':=', '?', ':?', ':+', '#', '%', '##', '%%'):
+ name = "foo%sbar" % i
+ self.parseExpression("${%s}" % name)
+ self.assertNotIn(name, self.references)
def test_until(self):
self.parseExpression("until false; do echo true; done")
diff --git a/poky/bitbake/lib/bb/tests/data.py b/poky/bitbake/lib/bb/tests/data.py
index db3e2010a..3c511f214 100644
--- a/poky/bitbake/lib/bb/tests/data.py
+++ b/poky/bitbake/lib/bb/tests/data.py
@@ -394,6 +394,15 @@ class TestOverrides(unittest.TestCase):
self.d.setVar("OVERRIDES", "foo:bar:some_val")
self.assertEqual(self.d.getVar("TEST"), " testvalue5")
+ # Test an override with _<numeric> in it based on a real world OE issue
+ def test_underscore_override(self):
+ self.d.setVar("TARGET_ARCH", "x86_64")
+ self.d.setVar("PN", "test-${TARGET_ARCH}")
+ self.d.setVar("VERSION", "1")
+ self.d.setVar("VERSION_pn-test-${TARGET_ARCH}", "2")
+ self.d.setVar("OVERRIDES", "pn-${PN}")
+ bb.data.expandKeys(self.d)
+ self.assertEqual(self.d.getVar("VERSION"), "2")
class TestKeyExpansion(unittest.TestCase):
def setUp(self):
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 522d2024f..429998b34 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -942,6 +942,25 @@ class FetcherNetworkTest(FetcherTest):
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/json/config')), msg='Missing submodule config "extern/json"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/sanitizers/config')), msg='Missing submodule config "extern/sanitizers"')
+ def test_git_submodule_update_CLI11(self):
+ """ Prevent regression on update detection not finding missing submodule, or modules without needed commits """
+ url = "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=cf6a99fa69aaefe477cc52e3ef4a7d2d7fa40714"
+ fetcher = bb.fetch.Fetch([url], self.d)
+ fetcher.download()
+
+ # CLI11 that pulls in a newer nlohmann-json
+ url = "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=49ac989a9527ee9bb496de9ded7b4872c2e0e5ca"
+ fetcher = bb.fetch.Fetch([url], self.d)
+ fetcher.download()
+ # Previous cwd has been deleted
+ os.chdir(os.path.dirname(self.unpackdir))
+ fetcher.unpack(self.unpackdir)
+
+ repo_path = os.path.join(self.tempdir, 'unpacked', 'git')
+ self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/googletest/config')), msg='Missing submodule config "extern/googletest"')
+ self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/json/config')), msg='Missing submodule config "extern/json"')
+ self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/sanitizers/config')), msg='Missing submodule config "extern/sanitizers"')
+
def test_git_submodule_aktualizr(self):
url = "gitsm://github.com/advancedtelematic/aktualizr;branch=master;protocol=git;rev=d00d1a04cc2366d1a5f143b84b9f507f8bd32c44"
fetcher = bb.fetch.Fetch([url], self.d)
@@ -1338,7 +1357,7 @@ class GitShallowTest(FetcherTest):
def fetch(self, uri=None):
if uri is None:
- uris = self.d.getVar('SRC_URI', True).split()
+ uris = self.d.getVar('SRC_URI').split()
uri = uris[0]
d = self.d
else:
@@ -1397,7 +1416,7 @@ class GitShallowTest(FetcherTest):
srcrev = self.git('rev-parse HEAD', cwd=self.srcdir).strip()
self.d.setVar('SRCREV', srcrev)
- uri = self.d.getVar('SRC_URI', True).split()[0]
+ uri = self.d.getVar('SRC_URI').split()[0]
uri = '%s;nobranch=1;bare=1' % uri
self.fetch_shallow(uri)
@@ -1576,7 +1595,7 @@ class GitShallowTest(FetcherTest):
self.add_empty_file('f')
self.assertRevCount(7, cwd=self.srcdir)
- uri = self.d.getVar('SRC_URI', True).split()[0]
+ uri = self.d.getVar('SRC_URI').split()[0]
uri = '%s;branch=master,a_branch;name=master,a_branch' % uri
self.d.setVar('BB_GIT_SHALLOW_DEPTH', '0')
@@ -1602,7 +1621,7 @@ class GitShallowTest(FetcherTest):
self.add_empty_file('f')
self.assertRevCount(7, cwd=self.srcdir)
- uri = self.d.getVar('SRC_URI', True).split()[0]
+ uri = self.d.getVar('SRC_URI').split()[0]
uri = '%s;branch=master,a_branch;name=master,a_branch' % uri
self.d.setVar('BB_GIT_SHALLOW_DEPTH', '0')
diff --git a/poky/bitbake/lib/bb/tests/persist_data.py b/poky/bitbake/lib/bb/tests/persist_data.py
new file mode 100644
index 000000000..812bcbd7b
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/persist_data.py
@@ -0,0 +1,142 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+#
+# BitBake Test for lib/bb/persist_data/
+#
+# Copyright (C) 2018 Garmin 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
+# 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.
+#
+# 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.
+#
+
+import unittest
+import bb.data
+import bb.persist_data
+import tempfile
+import threading
+
+class PersistDataTest(unittest.TestCase):
+ def _create_data(self):
+ return bb.persist_data.persist('TEST_PERSIST_DATA', self.d)
+
+ def setUp(self):
+ self.d = bb.data.init()
+ self.tempdir = tempfile.TemporaryDirectory()
+ self.d['PERSISTENT_DIR'] = self.tempdir.name
+ self.data = self._create_data()
+ self.items = {
+ 'A1': '1',
+ 'B1': '2',
+ 'C2': '3'
+ }
+ self.stress_count = 10000
+ self.thread_count = 5
+
+ for k,v in self.items.items():
+ self.data[k] = v
+
+ def tearDown(self):
+ self.tempdir.cleanup()
+
+ def _iter_helper(self, seen, iterator):
+ with iter(iterator):
+ for v in iterator:
+ self.assertTrue(v in seen)
+ seen.remove(v)
+ self.assertEqual(len(seen), 0, '%s not seen' % seen)
+
+ def test_get(self):
+ for k, v in self.items.items():
+ self.assertEqual(self.data[k], v)
+
+ self.assertIsNone(self.data.get('D'))
+ with self.assertRaises(KeyError):
+ self.data['D']
+
+ def test_set(self):
+ for k, v in self.items.items():
+ self.data[k] += '-foo'
+
+ for k, v in self.items.items():
+ self.assertEqual(self.data[k], v + '-foo')
+
+ def test_delete(self):
+ self.data['D'] = '4'
+ self.assertEqual(self.data['D'], '4')
+ del self.data['D']
+ self.assertIsNone(self.data.get('D'))
+ with self.assertRaises(KeyError):
+ self.data['D']
+
+ def test_contains(self):
+ for k in self.items:
+ self.assertTrue(k in self.data)
+ self.assertTrue(self.data.has_key(k))
+ self.assertFalse('NotFound' in self.data)
+ self.assertFalse(self.data.has_key('NotFound'))
+
+ def test_len(self):
+ self.assertEqual(len(self.data), len(self.items))
+
+ def test_iter(self):
+ self._iter_helper(set(self.items.keys()), self.data)
+
+ def test_itervalues(self):
+ self._iter_helper(set(self.items.values()), self.data.itervalues())
+
+ def test_iteritems(self):
+ self._iter_helper(set(self.items.items()), self.data.iteritems())
+
+ def test_get_by_pattern(self):
+ self._iter_helper({'1', '2'}, self.data.get_by_pattern('_1'))
+
+ def _stress_read(self, data):
+ for i in range(self.stress_count):
+ for k in self.items:
+ data[k]
+
+ def _stress_write(self, data):
+ for i in range(self.stress_count):
+ for k, v in self.items.items():
+ data[k] = v + str(i)
+
+ def _validate_stress(self):
+ for k, v in self.items.items():
+ self.assertEqual(self.data[k], v + str(self.stress_count - 1))
+
+ def test_stress(self):
+ self._stress_read(self.data)
+ self._stress_write(self.data)
+ self._validate_stress()
+
+ def test_stress_threads(self):
+ def read_thread():
+ data = self._create_data()
+ self._stress_read(data)
+
+ def write_thread():
+ data = self._create_data()
+ self._stress_write(data)
+
+ threads = []
+ for i in range(self.thread_count):
+ threads.append(threading.Thread(target=read_thread))
+ threads.append(threading.Thread(target=write_thread))
+
+ for t in threads:
+ t.start()
+ self._stress_read(self.data)
+ for t in threads:
+ t.join()
+ self._validate_stress()
+
diff --git a/poky/bitbake/lib/bb/tests/utils.py b/poky/bitbake/lib/bb/tests/utils.py
index 2f4ccf3c6..f1cd83a41 100644
--- a/poky/bitbake/lib/bb/tests/utils.py
+++ b/poky/bitbake/lib/bb/tests/utils.py
@@ -42,6 +42,10 @@ class VerCmpString(unittest.TestCase):
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.1', '1.0+1.1-beta1')
self.assertTrue(result > 0)
+ result = bb.utils.vercmp_string('1.', '1.1')
+ self.assertTrue(result < 0)
+ result = bb.utils.vercmp_string('1.1', '1.')
+ self.assertTrue(result > 0)
def test_explode_dep_versions(self):
correctresult = {"foo" : ["= 1.10"]}
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index 73b6cb423..b652a6838 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -27,7 +27,8 @@ import bb
import bb.msg
import multiprocessing
import fcntl
-import imp
+import importlib
+from importlib import machinery
import itertools
import subprocess
import glob
@@ -43,7 +44,7 @@ from contextlib import contextmanager
from ctypes import cdll
logger = logging.getLogger("BitBake.Util")
-python_extensions = [e for e, _, _ in imp.get_suffixes()]
+python_extensions = importlib.machinery.all_suffixes()
def clean_context():
@@ -68,8 +69,8 @@ class VersionStringException(Exception):
def explode_version(s):
r = []
- alpha_regexp = re.compile('^([a-zA-Z]+)(.*)$')
- numeric_regexp = re.compile('^(\d+)(.*)$')
+ alpha_regexp = re.compile(r'^([a-zA-Z]+)(.*)$')
+ numeric_regexp = re.compile(r'^(\d+)(.*)$')
while (s != ''):
if s[0] in string.digits:
m = numeric_regexp.match(s)
@@ -120,6 +121,10 @@ def vercmp_part(a, b):
return -1
elif oa > ob:
return 1
+ elif ca is None:
+ return -1
+ elif cb is None:
+ return 1
elif ca < cb:
return -1
elif ca > cb:
@@ -317,10 +322,13 @@ def better_compile(text, file, realfile, mode = "exec", lineno = 0):
error = []
# split the text into lines again
body = text.split('\n')
- error.append("Error in compiling python function in %s, line %s:\n" % (realfile, lineno))
+ error.append("Error in compiling python function in %s, line %s:\n" % (realfile, e.lineno))
if hasattr(e, "lineno"):
error.append("The code lines resulting in this error were:")
- error.extend(_print_trace(body, e.lineno))
+ # e.lineno: line's position in reaflile
+ # lineno: function name's "position -1" in realfile
+ # e.lineno - lineno: line's relative position in function
+ error.extend(_print_trace(body, e.lineno - lineno))
else:
error.append("The function causing this error was:")
for line in body:
@@ -704,15 +712,7 @@ def prunedir(topdir):
# CAUTION: This is dangerous!
if _check_unsafe_delete_path(topdir):
raise Exception('bb.utils.prunedir: called with dangerous path "%s", refusing to delete!' % topdir)
- for root, dirs, files in os.walk(topdir, topdown = False):
- for name in files:
- os.remove(os.path.join(root, name))
- for name in dirs:
- if os.path.islink(os.path.join(root, name)):
- os.remove(os.path.join(root, name))
- else:
- os.rmdir(os.path.join(root, name))
- os.rmdir(topdir)
+ remove(topdir, recurse=True)
#
# Could also use return re.compile("(%s)" % "|".join(map(re.escape, suffixes))).sub(lambda mo: "", var)
@@ -1157,14 +1157,14 @@ def edit_metadata(meta_lines, variables, varfunc, match_overrides=False):
var_res = {}
if match_overrides:
- override_re = '(_[a-zA-Z0-9-_$(){}]+)?'
+ override_re = r'(_[a-zA-Z0-9-_$(){}]+)?'
else:
override_re = ''
for var in variables:
if var.endswith('()'):
- var_res[var] = re.compile('^(%s%s)[ \\t]*\([ \\t]*\)[ \\t]*{' % (var[:-2].rstrip(), override_re))
+ var_res[var] = re.compile(r'^(%s%s)[ \\t]*\([ \\t]*\)[ \\t]*{' % (var[:-2].rstrip(), override_re))
else:
- var_res[var] = re.compile('^(%s%s)[ \\t]*[?+:.]*=[+.]*[ \\t]*(["\'])' % (var, override_re))
+ var_res[var] = re.compile(r'^(%s%s)[ \\t]*[?+:.]*=[+.]*[ \\t]*(["\'])' % (var, override_re))
updated = False
varset_start = ''
@@ -1501,6 +1501,8 @@ def ioprio_set(who, cls, value):
NR_ioprio_set = 251
elif _unamearch[0] == "i" and _unamearch[2:3] == "86":
NR_ioprio_set = 289
+ elif _unamearch == "aarch64":
+ NR_ioprio_set = 30
if NR_ioprio_set:
ioprio = value | (cls << IOPRIO_CLASS_SHIFT)
@@ -1544,12 +1546,9 @@ def export_proxies(d):
def load_plugins(logger, plugins, pluginpath):
def load_plugin(name):
logger.debug(1, 'Loading plugin %s' % name)
- fp, pathname, description = imp.find_module(name, [pluginpath])
- try:
- return imp.load_module(name, fp, pathname, description)
- finally:
- if fp:
- fp.close()
+ spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] )
+ if spec:
+ return spec.loader.load_module()
logger.debug(1, 'Loading plugins from %s...' % pluginpath)
diff --git a/poky/bitbake/lib/bs4/dammit.py b/poky/bitbake/lib/bs4/dammit.py
index 68d419feb..805aa908a 100644
--- a/poky/bitbake/lib/bs4/dammit.py
+++ b/poky/bitbake/lib/bs4/dammit.py
@@ -45,9 +45,9 @@ except ImportError:
pass
xml_encoding_re = re.compile(
- '^<\?.*encoding=[\'"](.*?)[\'"].*\?>'.encode(), re.I)
+ r'^<\?.*encoding=[\'"](.*?)[\'"].*\?>'.encode(), re.I)
html_meta_re = re.compile(
- '<\s*meta[^>]+charset\s*=\s*["\']?([^>]*?)[ /;\'">]'.encode(), re.I)
+ r'<\s*meta[^>]+charset\s*=\s*["\']?([^>]*?)[ /;\'">]'.encode(), re.I)
class EntitySubstitution(object):
@@ -80,11 +80,11 @@ class EntitySubstitution(object):
">": "gt",
}
- BARE_AMPERSAND_OR_BRACKET = re.compile("([<>]|"
- "&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;)"
- ")")
+ BARE_AMPERSAND_OR_BRACKET = re.compile(r"([<>]|"
+ r"&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;)"
+ r")")
- AMPERSAND_OR_BRACKET = re.compile("([<>&])")
+ AMPERSAND_OR_BRACKET = re.compile(r"([<>&])")
@classmethod
def _substitute_html_entity(cls, matchobj):
diff --git a/poky/bitbake/lib/bs4/element.py b/poky/bitbake/lib/bs4/element.py
index 0e62c2e10..3775a6045 100644
--- a/poky/bitbake/lib/bs4/element.py
+++ b/poky/bitbake/lib/bs4/element.py
@@ -1,7 +1,7 @@
__license__ = "MIT"
from pdb import set_trace
-import collections
+import collections.abc
import re
import sys
import warnings
@@ -10,7 +10,7 @@ from bs4.dammit import EntitySubstitution
DEFAULT_OUTPUT_ENCODING = "utf-8"
PY3K = (sys.version_info[0] > 2)
-whitespace_re = re.compile("\s+")
+whitespace_re = re.compile(r"\s+")
def _alias(attr):
"""Alias one attribute name to another for backward compatibility"""
@@ -67,7 +67,7 @@ class ContentMetaAttributeValue(AttributeValueWithCharsetSubstitution):
The value of the 'content' attribute will be one of these objects.
"""
- CHARSET_RE = re.compile("((^|;)\s*charset=)([^;]*)", re.M)
+ CHARSET_RE = re.compile(r"((^|;)\s*charset=)([^;]*)", re.M)
def __new__(cls, original_value):
match = cls.CHARSET_RE.search(original_value)
@@ -155,7 +155,7 @@ class PageElement(object):
def format_string(self, s, formatter='minimal'):
"""Format the given string using the given formatter."""
- if not isinstance(formatter, collections.Callable):
+ if not isinstance(formatter, collections.abc.Callable):
formatter = self._formatter_for_name(formatter)
if formatter is None:
output = s
@@ -580,7 +580,7 @@ class PageElement(object):
# Methods for supporting CSS selectors.
- tag_name_re = re.compile('^[a-zA-Z0-9][-.a-zA-Z0-9:_]*$')
+ tag_name_re = re.compile(r'^[a-zA-Z0-9][-.a-zA-Z0-9:_]*$')
# /^([a-zA-Z0-9][-.a-zA-Z0-9:_]*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/
# \---------------------------/ \---/\-------------/ \-------/
@@ -1077,7 +1077,7 @@ class Tag(PageElement):
# First off, turn a string formatter into a function. This
# will stop the lookup from happening over and over again.
- if not isinstance(formatter, collections.Callable):
+ if not isinstance(formatter, collections.abc.Callable):
formatter = self._formatter_for_name(formatter)
attrs = []
@@ -1181,7 +1181,7 @@ class Tag(PageElement):
"""
# First off, turn a string formatter into a function. This
# will stop the lookup from happening over and over again.
- if not isinstance(formatter, collections.Callable):
+ if not isinstance(formatter, collections.abc.Callable):
formatter = self._formatter_for_name(formatter)
pretty_print = (indent_level is not None)
@@ -1364,7 +1364,7 @@ class Tag(PageElement):
if tag_name == '':
raise ValueError(
"A pseudo-class must be prefixed with a tag name.")
- pseudo_attributes = re.match('([a-zA-Z\d-]+)\(([a-zA-Z\d]+)\)', pseudo)
+ pseudo_attributes = re.match(r'([a-zA-Z\d-]+)\(([a-zA-Z\d]+)\)', pseudo)
found = []
if pseudo_attributes is None:
pseudo_type = pseudo
@@ -1562,7 +1562,7 @@ class SoupStrainer(object):
def _normalize_search_value(self, value):
# Leave it alone if it's a Unicode string, a callable, a
# regular expression, a boolean, or None.
- if (isinstance(value, str) or isinstance(value, collections.Callable) or hasattr(value, 'match')
+ if (isinstance(value, str) or isinstance(value, collections.abc.Callable) or hasattr(value, 'match')
or isinstance(value, bool) or value is None):
return value
@@ -1602,7 +1602,7 @@ class SoupStrainer(object):
markup = markup_name
markup_attrs = markup
call_function_with_tag_data = (
- isinstance(self.name, collections.Callable)
+ isinstance(self.name, collections.abc.Callable)
and not isinstance(markup_name, Tag))
if ((not self.name)
@@ -1688,7 +1688,7 @@ class SoupStrainer(object):
# True matches any non-None value.
return markup is not None
- if isinstance(match_against, collections.Callable):
+ if isinstance(match_against, collections.abc.Callable):
return match_against(markup)
# Custom callables take the tag as an argument, but all
diff --git a/poky/bitbake/lib/hashserv/__init__.py b/poky/bitbake/lib/hashserv/__init__.py
new file mode 100644
index 000000000..46bca7cab
--- /dev/null
+++ b/poky/bitbake/lib/hashserv/__init__.py
@@ -0,0 +1,152 @@
+# Copyright (C) 2018 Garmin 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
+# 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.
+#
+# 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.
+
+from http.server import BaseHTTPRequestHandler, HTTPServer
+import contextlib
+import urllib.parse
+import sqlite3
+import json
+import traceback
+import logging
+from datetime import datetime
+
+logger = logging.getLogger('hashserv')
+
+class HashEquivalenceServer(BaseHTTPRequestHandler):
+ def log_message(self, f, *args):
+ logger.debug(f, *args)
+
+ def do_GET(self):
+ try:
+ p = urllib.parse.urlparse(self.path)
+
+ if p.path != self.prefix + '/v1/equivalent':
+ self.send_error(404)
+ return
+
+ query = urllib.parse.parse_qs(p.query, strict_parsing=True)
+ method = query['method'][0]
+ taskhash = query['taskhash'][0]
+
+ d = None
+ with contextlib.closing(self.db.cursor()) as cursor:
+ cursor.execute('SELECT taskhash, method, unihash FROM tasks_v1 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1',
+ {'method': method, 'taskhash': taskhash})
+
+ row = cursor.fetchone()
+
+ if row is not None:
+ logger.debug('Found equivalent task %s', row['taskhash'])
+ d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
+
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json; charset=utf-8')
+ self.end_headers()
+ self.wfile.write(json.dumps(d).encode('utf-8'))
+ except:
+ logger.exception('Error in GET')
+ self.send_error(400, explain=traceback.format_exc())
+ return
+
+ def do_POST(self):
+ try:
+ p = urllib.parse.urlparse(self.path)
+
+ if p.path != self.prefix + '/v1/equivalent':
+ self.send_error(404)
+ return
+
+ length = int(self.headers['content-length'])
+ data = json.loads(self.rfile.read(length).decode('utf-8'))
+
+ with contextlib.closing(self.db.cursor()) as cursor:
+ cursor.execute('''
+ SELECT taskhash, method, unihash FROM tasks_v1 WHERE method=:method AND outhash=:outhash
+ ORDER BY CASE WHEN taskhash=:taskhash THEN 1 ELSE 2 END,
+ created ASC
+ LIMIT 1
+ ''', {k: data[k] for k in ('method', 'outhash', 'taskhash')})
+
+ row = cursor.fetchone()
+
+ if row is None or row['taskhash'] != data['taskhash']:
+ unihash = data['unihash']
+ if row is not None:
+ unihash = row['unihash']
+
+ insert_data = {
+ 'method': data['method'],
+ 'outhash': data['outhash'],
+ 'taskhash': data['taskhash'],
+ 'unihash': unihash,
+ 'created': datetime.now()
+ }
+
+ for k in ('owner', 'PN', 'PV', 'PR', 'task', 'outhash_siginfo'):
+ if k in data:
+ insert_data[k] = data[k]
+
+ cursor.execute('''INSERT INTO tasks_v1 (%s) VALUES (%s)''' % (
+ ', '.join(sorted(insert_data.keys())),
+ ', '.join(':' + k for k in sorted(insert_data.keys()))),
+ insert_data)
+
+ logger.info('Adding taskhash %s with unihash %s', data['taskhash'], unihash)
+ cursor.execute('SELECT taskhash, method, unihash FROM tasks_v1 WHERE id=:id', {'id': cursor.lastrowid})
+ row = cursor.fetchone()
+
+ self.db.commit()
+
+ d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
+
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json; charset=utf-8')
+ self.end_headers()
+ self.wfile.write(json.dumps(d).encode('utf-8'))
+ except:
+ logger.exception('Error in POST')
+ self.send_error(400, explain=traceback.format_exc())
+ return
+
+def create_server(addr, db, prefix=''):
+ class Handler(HashEquivalenceServer):
+ pass
+
+ Handler.prefix = prefix
+ Handler.db = db
+ db.row_factory = sqlite3.Row
+
+ with contextlib.closing(db.cursor()) as cursor:
+ cursor.execute('''
+ CREATE TABLE IF NOT EXISTS tasks_v1 (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ method TEXT NOT NULL,
+ outhash TEXT NOT NULL,
+ taskhash TEXT NOT NULL,
+ unihash TEXT NOT NULL,
+ created DATETIME,
+
+ -- Optional fields
+ owner TEXT,
+ PN TEXT,
+ PV TEXT,
+ PR TEXT,
+ task TEXT,
+ outhash_siginfo TEXT
+ )
+ ''')
+
+ logger.info('Starting server on %s', addr)
+ return HTTPServer(addr, Handler)
diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py
new file mode 100644
index 000000000..806b54c5e
--- /dev/null
+++ b/poky/bitbake/lib/hashserv/tests.py
@@ -0,0 +1,141 @@
+#! /usr/bin/env python3
+#
+# Copyright (C) 2018 Garmin 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
+# 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.
+#
+# 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.
+
+import unittest
+import threading
+import sqlite3
+import hashlib
+import urllib.request
+import json
+from . import create_server
+
+class TestHashEquivalenceServer(unittest.TestCase):
+ def setUp(self):
+ # Start an in memory hash equivalence server in the background bound to
+ # an ephemeral port
+ db = sqlite3.connect(':memory:', check_same_thread=False)
+ self.server = create_server(('localhost', 0), db)
+ self.server_addr = 'http://localhost:%d' % self.server.socket.getsockname()[1]
+ self.server_thread = threading.Thread(target=self.server.serve_forever)
+ self.server_thread.start()
+
+ def tearDown(self):
+ # Shutdown server
+ s = getattr(self, 'server', None)
+ if s is not None:
+ self.server.shutdown()
+ self.server_thread.join()
+ self.server.server_close()
+
+ def send_get(self, path):
+ url = '%s/%s' % (self.server_addr, path)
+ request = urllib.request.Request(url)
+ response = urllib.request.urlopen(request)
+ return json.loads(response.read().decode('utf-8'))
+
+ def send_post(self, path, data):
+ headers = {'content-type': 'application/json'}
+ url = '%s/%s' % (self.server_addr, path)
+ request = urllib.request.Request(url, json.dumps(data).encode('utf-8'), headers)
+ response = urllib.request.urlopen(request)
+ return json.loads(response.read().decode('utf-8'))
+
+ def test_create_hash(self):
+ # Simple test that hashes can be created
+ taskhash = '35788efcb8dfb0a02659d81cf2bfd695fb30faf9'
+ outhash = '2765d4a5884be49b28601445c2760c5f21e7e5c0ee2b7e3fce98fd7e5970796f'
+ unihash = 'f46d3fbb439bd9b921095da657a4de906510d2cd'
+
+ d = self.send_get('v1/equivalent?method=TestMethod&taskhash=%s' % taskhash)
+ self.assertIsNone(d, msg='Found unexpected task, %r' % d)
+
+ d = self.send_post('v1/equivalent', {
+ 'taskhash': taskhash,
+ 'method': 'TestMethod',
+ 'outhash': outhash,
+ 'unihash': unihash,
+ })
+ self.assertEqual(d['unihash'], unihash, 'Server returned bad unihash')
+
+ def test_create_equivalent(self):
+ # Tests that a second reported task with the same outhash will be
+ # assigned the same unihash
+ taskhash = '53b8dce672cb6d0c73170be43f540460bfc347b4'
+ outhash = '5a9cb1649625f0bf41fc7791b635cd9c2d7118c7f021ba87dcd03f72b67ce7a8'
+ unihash = 'f37918cc02eb5a520b1aff86faacbc0a38124646'
+ d = self.send_post('v1/equivalent', {
+ 'taskhash': taskhash,
+ 'method': 'TestMethod',
+ 'outhash': outhash,
+ 'unihash': unihash,
+ })
+ self.assertEqual(d['unihash'], unihash, 'Server returned bad unihash')
+
+ # Report a different task with the same outhash. The returned unihash
+ # should match the first task
+ taskhash2 = '3bf6f1e89d26205aec90da04854fbdbf73afe6b4'
+ unihash2 = 'af36b199320e611fbb16f1f277d3ee1d619ca58b'
+ d = self.send_post('v1/equivalent', {
+ 'taskhash': taskhash2,
+ 'method': 'TestMethod',
+ 'outhash': outhash,
+ 'unihash': unihash2,
+ })
+ self.assertEqual(d['unihash'], unihash, 'Server returned bad unihash')
+
+ def test_duplicate_taskhash(self):
+ # Tests that duplicate reports of the same taskhash with different
+ # outhash & unihash always return the unihash from the first reported
+ # taskhash
+ taskhash = '8aa96fcffb5831b3c2c0cb75f0431e3f8b20554a'
+ outhash = 'afe240a439959ce86f5e322f8c208e1fedefea9e813f2140c81af866cc9edf7e'
+ unihash = '218e57509998197d570e2c98512d0105985dffc9'
+ d = self.send_post('v1/equivalent', {
+ 'taskhash': taskhash,
+ 'method': 'TestMethod',
+ 'outhash': outhash,
+ 'unihash': unihash,
+ })
+
+ d = self.send_get('v1/equivalent?method=TestMethod&taskhash=%s' % taskhash)
+ self.assertEqual(d['unihash'], unihash)
+
+ outhash2 = '0904a7fe3dc712d9fd8a74a616ddca2a825a8ee97adf0bd3fc86082c7639914d'
+ unihash2 = 'ae9a7d252735f0dafcdb10e2e02561ca3a47314c'
+ d = self.send_post('v1/equivalent', {
+ 'taskhash': taskhash,
+ 'method': 'TestMethod',
+ 'outhash': outhash2,
+ 'unihash': unihash2
+ })
+
+ d = self.send_get('v1/equivalent?method=TestMethod&taskhash=%s' % taskhash)
+ self.assertEqual(d['unihash'], unihash)
+
+ outhash3 = '77623a549b5b1a31e3732dfa8fe61d7ce5d44b3370f253c5360e136b852967b4'
+ unihash3 = '9217a7d6398518e5dc002ed58f2cbbbc78696603'
+ d = self.send_post('v1/equivalent', {
+ 'taskhash': taskhash,
+ 'method': 'TestMethod',
+ 'outhash': outhash3,
+ 'unihash': unihash3
+ })
+
+ d = self.send_get('v1/equivalent?method=TestMethod&taskhash=%s' % taskhash)
+ self.assertEqual(d['unihash'], unihash)
+
+
diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile
index 093422f69..1480e14ea 100644
--- a/poky/documentation/Makefile
+++ b/poky/documentation/Makefile
@@ -269,7 +269,8 @@ TARFILES = mega-manual.html mega-style.css \
figures/sdk-devtool-add-flow.png figures/sdk-installed-extensible-sdk-directory.png \
figures/sdk-devtool-modify-flow.png figures/sdk-eclipse-dev-flow.png \
figures/sdk-devtool-upgrade-flow.png figures/bitbake-build-flow.png figures/bypqs-title.png \
- figures/overview-manual-title.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png
+ figures/overview-manual-title.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png \
+ figures/bb_multiconfig_files.png figures/bitbake-title.png
endif
MANUALS = $(DOC)/$(DOC).html
diff --git a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml
index 5da03a890..421412ebe 100644
--- a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml
+++ b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml
@@ -131,7 +131,7 @@
section in the Yocto Project Reference Manual.
</note>
<literallayout class='monospaced'>
- $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm
+ $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
</literallayout>
</para>
</section>
@@ -148,11 +148,11 @@
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
- remote: Counting objects: 428632, done.
- remote: Compressing objects: 100% (101203/101203), done.
- remote: Total 428632 (delta 320463), reused 428532 (delta 320363)
- Receiving objects: 100% (428632/428632), 153.01 MiB | 12.40 MiB/s, done.
- Resolving deltas: 100% (320463/320463), done.
+ remote: Counting objects: 432160, done.
+ remote: Compressing objects: 100% (102056/102056), done.
+ remote: Total 432160 (delta 323116), reused 432037 (delta 323000)
+ Receiving objects: 100% (432160/432160), 153.81 MiB | 8.54 MiB/s, done.
+ Resolving deltas: 100% (323116/323116), done.
Checking connectivity... done.
</literallayout>
Move to the <filename>poky</filename> directory and take a look
@@ -174,6 +174,7 @@
yocto-2.5.2
yocto-2.6
yocto-2.6.1
+ yocto-2.7
yocto_1.5_M5.rc8
</literallayout>
For this example, check out the branch based on the
diff --git a/poky/documentation/bsp-guide/bsp-guide.xml b/poky/documentation/bsp-guide/bsp-guide.xml
index 0d5b6b136..f559e0809 100644
--- a/poky/documentation/bsp-guide/bsp-guide.xml
+++ b/poky/documentation/bsp-guide/bsp-guide.xml
@@ -127,9 +127,9 @@
<revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.6.1</revnumber>
+ <revnumber>2.7</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/dev-manual/dev-manual-common-tasks.xml b/poky/documentation/dev-manual/dev-manual-common-tasks.xml
index c75e718d6..893ef7ba0 100644
--- a/poky/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/poky/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -5116,15 +5116,15 @@
So, commands such as the following are useful when exploring the data
store and running functions:
<literallayout class='monospaced'>
- pydevshell> d.getVar("STAGING_DIR", True)
+ pydevshell> d.getVar("STAGING_DIR")
'/media/build1/poky/build/tmp/sysroots'
- pydevshell> d.getVar("STAGING_DIR", False)
+ pydevshell> d.getVar("STAGING_DIR")
'${TMPDIR}/sysroots'
pydevshell> d.setVar("FOO", "bar")
- pydevshell> d.getVar("FOO", True)
+ pydevshell> d.getVar("FOO")
'bar'
pydevshell> d.delVar("FOO")
- pydevshell> d.getVar("FOO", True)
+ pydevshell> d.getVar("FOO")
pydevshell> bb.build.exec_func("do_unpack", d)
pydevshell>
</literallayout>
@@ -6323,9 +6323,180 @@
</literallayout>
</para>
</section>
- </section>
+ <section id="replicating-a-build-offline">
+ <title>Replicating a Build Offline</title>
+
+ <para>
+ It can be useful to take a "snapshot" of upstream sources
+ used in a build and then use that "snapshot" later to
+ replicate the build offline.
+ To do so, you need to first prepare and populate your downloads
+ directory your "snapshot" of files.
+ Once your downloads directory is ready, you can use it at
+ any time and from any machine to replicate your build.
+ </para>
+
+ <para>
+ Follow these steps to populate your Downloads directory:
+ <orderedlist>
+ <listitem><para>
+ <emphasis>Create a Clean Downloads Directory:</emphasis>
+ Start with an empty downloads directory
+ (<ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink>).
+ You start with an empty downloads directory by either
+ removing the files in the existing directory or by
+ setting
+ <filename>DL_DIR</filename> to point to either an
+ empty location or one that does not yet exist.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Generate Tarballs of the Source Git Repositories:</emphasis>
+ Edit your <filename>local.conf</filename> configuration
+ file as follows:
+ <literallayout class='monospaced'>
+ DL_DIR = "/home/<replaceable>your-download-dir</replaceable>/"
+ BB_GENERATE_MIRROR_TARBALLS = "1"
+ </literallayout>
+ During the fetch process in the next step, BitBake
+ gathers the source files and creates tarballs in
+ the directory pointed to by <filename>DL_DIR</filename>.
+ See the
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_GENERATE_MIRROR_TARBALLS'><filename>BB_GENERATE_MIRROR_TARBALLS</filename></ulink>
+ variable for more information.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Populate Your Downloads Directory Without Building:</emphasis>
+ Use BitBake to fetch your sources but inhibit the
+ build:
+ <literallayout class='monospaced'>
+ $ bitbake <replaceable>target</replaceable> --runonly=fetch
+ </literallayout>
+ The downloads directory (i.e.
+ <filename>${DL_DIR}</filename>) now has a "snapshot" of
+ the source files in the form of tarballs, which can
+ be used for the build.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Optionally Remove Any Git or other SCM Subdirectories From the Downloads Directory:</emphasis>
+ If you want, you can clean up your downloads directory
+ by removing any Git or other Source Control Management
+ (SCM) subdirectories such as
+ <filename>${DL_DIR}/git2/*</filename>.
+ The tarballs already contain these subdirectories.
+ </para></listitem>
+ </orderedlist>
+ </para>
+
+ <para>
+ Once your downloads directory has everything it needs regarding
+ source files, you can create your "own-mirror" and build
+ your target.
+ Understand that you can use the files to build the target
+ offline from any machine and at any time.
+ </para>
+
+ <para>
+ Follow these steps to build your target using the files in the
+ downloads directory:
+ <orderedlist>
+ <listitem><para>
+ <emphasis>Using Local Files Only:</emphasis>
+ Inside your <filename>local.conf</filename> file, add
+ the
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-SOURCE_MIRROR_URL'><filename>SOURCE_MIRROR_URL</filename></ulink>
+ variable,
+ inherit the <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-own-mirrors'><filename>own-mirrors</filename></ulink>
+ class, and use the
+ <ulink url='&YOCTO_DOCS_BB_URL;#var-bb-BB_NO_NETWORK'><filename>BB_NO_NETWORK</filename></ulink>
+ variable to your <filename>local.conf</filename>.
+ <literallayout class='monospaced'>
+ SOURCE_MIRROR_URL ?= "file:///home/<replaceable>your-download-dir</replaceable>/"
+ INHERIT += "own-mirrors"
+ BB_NO_NETWORK = "1"
+ </literallayout>
+ The <filename>SOURCE_MIRROR_URL</filename> and
+ <filename>own-mirror</filename> class set up the system
+ to use the downloads directory as your "own mirror".
+ Using the <filename>BB_NO_NETWORK</filename>
+ variable makes sure that BitBake's fetching process
+ in step 3 stays local, which means files from
+ your "own-mirror" are used.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Start With a Clean Build:</emphasis>
+ You can start with a clean build by removing the
+ <filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink><filename>}</filename>
+ directory or using a new
+ <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Build Your Target:</emphasis>
+ Use BitBake to build your target:
+ <literallayout class='monospaced'>
+ $ bitbake <replaceable>target</replaceable>
+ </literallayout>
+ The build completes using the known local "snapshot" of
+ source files from your mirror.
+ The resulting tarballs for your "snapshot" of source
+ files are in the downloads directory.
+ <note>
+ <para>The offline build does not work if recipes
+ attempt to find the latest version of software
+ by setting
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>
+ to
+ <filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-AUTOREV'><filename>AUTOREV</filename></ulink><filename>}</filename>:
+ <literallayout class='monospaced'>
+ SRCREV = "${AUTOREV}"
+ </literallayout>
+ When a recipe sets
+ <filename>SRCREV</filename> to
+ <filename>${AUTOREV}</filename>, the build system
+ accesses the network in an attempt to determine the
+ latest version of software from the SCM.
+ Typically, recipes that use
+ <filename>AUTOREV</filename> are custom or
+ modified recipes.
+ Recipes that reside in public repositories
+ usually do not use <filename>AUTOREV</filename>.
+ </para>
+ <para>If you do have recipes that use
+ <filename>AUTOREV</filename>, you can take steps to
+ still use the recipes in an offline build.
+ Do the following:
+ <orderedlist>
+ <listitem><para>
+ Use a configuration generated by
+ enabling
+ <link linkend='maintaining-build-output-quality'>build history</link>.
+ </para></listitem>
+ <listitem><para>
+ Use the
+ <filename>buildhistory-collect-srcrevs</filename>
+ command to collect the stored
+ <filename>SRCREV</filename> values from
+ the build's history.
+ For more information on collecting these
+ values, see the
+ "<link linkend='build-history-package-information'>Build History Package Information</link>"
+ section.
+ </para></listitem>
+ <listitem><para>
+ Once you have the correct source
+ revisions, you can modify those recipes
+ to to set <filename>SRCREV</filename>
+ to specific versions of the software.
+ </para></listitem>
+ </orderedlist>
+ </para>
+ </note>
+ </para></listitem>
+ </orderedlist>
+ </para>
+ </section>
+ </section>
<section id='speeding-up-a-build'>
<title>Speeding Up a Build</title>
@@ -6892,8 +7063,8 @@
<literallayout class='monospaced'>
MACHINE = "qemux86-64"
DEFAULTTUNE = "x86-64-x32"
- baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) \
- or 'INVALID'), True) or 'lib'}"
+ baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE') \
+ or 'INVALID')) or 'lib'}"
</literallayout>
Once you have set up your configuration file, use BitBake to
build an image that supports the x32 psABI.
diff --git a/poky/documentation/dev-manual/dev-manual-qemu.xml b/poky/documentation/dev-manual/dev-manual-qemu.xml
index 4e7b5de4e..f5a0d64af 100644
--- a/poky/documentation/dev-manual/dev-manual-qemu.xml
+++ b/poky/documentation/dev-manual/dev-manual-qemu.xml
@@ -590,6 +590,9 @@
<filename>nographic</filename>:
Disables the video console, which sets the console to
"ttys0".
+ This option is useful when you have logged into a server
+ and you do not want to disable forwarding from the
+ X Window System (X11) to your workstation or laptop.
</para></listitem>
<listitem><para>
<filename>serial</filename>:
diff --git a/poky/documentation/dev-manual/dev-manual-start.xml b/poky/documentation/dev-manual/dev-manual-start.xml
index d37c0303f..6ec5c3cf4 100644
--- a/poky/documentation/dev-manual/dev-manual-start.xml
+++ b/poky/documentation/dev-manual/dev-manual-start.xml
@@ -44,7 +44,7 @@
<listitem><para>
<emphasis>Determine Who is Going to be Developing:</emphasis>
You need to understand who is going to be doing anything
- related to the Yocto Project and what their roles would be.
+ related to the Yocto Project and determine their roles.
Making this determination is essential to completing
steps two and three, which are to get your equipment together
and set up your development environment's hardware topology.
@@ -951,11 +951,11 @@
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
- remote: Counting objects: 416542, done.
- remote: Compressing objects: 100% (98611/98611), done.
- remote: Total 416542 (delta 311104), reused 416377 (delta 310939)
- Receiving objects: 100% (416542/416542), 150.39 MiB | 15.77 MiB/s, done.
- Resolving deltas: 100% (311104/311104), done.
+ remote: Counting objects: 432160, done.
+ remote: Compressing objects: 100% (102056/102056), done.
+ remote: Total 432160 (delta 323116), reused 432037 (delta 323000)
+ Receiving objects: 100% (432160/432160), 153.81 MiB | 8.54 MiB/s, done.
+ Resolving deltas: 100% (323116/323116), done.
Checking connectivity... done.
</literallayout>
Unless you specify a specific development branch or
@@ -1037,13 +1037,15 @@
.
.
.
- remotes/origin/master-next
- remotes/origin/master-next2
- remotes/origin/morty
- remotes/origin/pinky
- remotes/origin/purple
remotes/origin/pyro
+ remotes/origin/pyro-next
remotes/origin/rocko
+ remotes/origin/rocko-next
+ remotes/origin/sumo
+ remotes/origin/sumo-next
+ remotes/origin/thud
+ remotes/origin/thud-next
+ remotes/origin/warrior
</literallayout>
</para></listitem>
<listitem><para>
@@ -1125,8 +1127,10 @@
yocto-2.5
yocto-2.5.1
yocto-2.5.2
+ yocto-2.5.3
yocto-2.6
yocto-2.6.1
+ yocto-2.7
yocto_1.5_M5.rc8
</literallayout>
</para></listitem>
diff --git a/poky/documentation/dev-manual/dev-manual.xml b/poky/documentation/dev-manual/dev-manual.xml
index b54c0d65d..5dda016d7 100644
--- a/poky/documentation/dev-manual/dev-manual.xml
+++ b/poky/documentation/dev-manual/dev-manual.xml
@@ -112,9 +112,9 @@
<revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.6.1</revnumber>
+ <revnumber>2.7</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/kernel-dev/kernel-dev-common.xml b/poky/documentation/kernel-dev/kernel-dev-common.xml
index 905287612..7ff4cba3b 100644
--- a/poky/documentation/kernel-dev/kernel-dev-common.xml
+++ b/poky/documentation/kernel-dev/kernel-dev-common.xml
@@ -1479,15 +1479,33 @@
<para>
To use the <filename>menuconfig</filename> tool in the Yocto
- Project development environment, you must launch it using
- BitBake.
- Thus, the environment must be set up using the
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
- script found in the
- <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>.
- You must also be sure of the state of your build's
- configuration in the
- <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
+ Project development environment, you must do the following:
+ <itemizedlist>
+ <listitem><para>
+ Because you launch <filename>menuconfig</filename>
+ using BitBake, you must be sure to set up your
+ environment by running the
+ <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
+ script found in the
+ <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>.
+ </para></listitem>
+ <listitem><para>
+ You must be sure of the state of your build's
+ configuration in the
+ <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
+ </para></listitem>
+ <listitem><para>
+ Your build host must have the following two packages
+ installed:
+ <literallayout class='monospaced'>
+ libncurses5-dev
+ libtinfo-dev
+ </literallayout>
+ </para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
The following commands initialize the BitBake environment,
run the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-kernel_configme'><filename>do_kernel_configme</filename></ulink>
diff --git a/poky/documentation/kernel-dev/kernel-dev.xml b/poky/documentation/kernel-dev/kernel-dev.xml
index fc46c205b..33553df06 100644
--- a/poky/documentation/kernel-dev/kernel-dev.xml
+++ b/poky/documentation/kernel-dev/kernel-dev.xml
@@ -97,9 +97,9 @@
<revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.6.1</revnumber>
+ <revnumber>2.7</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/mega-manual/figures/bb_multiconfig_files.png b/poky/documentation/mega-manual/figures/bb_multiconfig_files.png
new file mode 100644
index 000000000..041f06403
--- /dev/null
+++ b/poky/documentation/mega-manual/figures/bb_multiconfig_files.png
Binary files differ
diff --git a/poky/documentation/mega-manual/figures/bitbake-title.png b/poky/documentation/mega-manual/figures/bitbake-title.png
new file mode 100644
index 000000000..cb290154d
--- /dev/null
+++ b/poky/documentation/mega-manual/figures/bitbake-title.png
Binary files differ
diff --git a/poky/documentation/mega-manual/mega-manual.xml b/poky/documentation/mega-manual/mega-manual.xml
index 7a4199198..2c518f951 100644
--- a/poky/documentation/mega-manual/mega-manual.xml
+++ b/poky/documentation/mega-manual/mega-manual.xml
@@ -12,9 +12,11 @@
<abstract>
The Yocto Project Mega-Manual is a concatenation of the published
- Yocto Project HTML manuals for the given release.
- The manual exists to help users efficiently search for strings
- across the entire Yocto Project documentation set.
+ Yocto Project HTML manuals along with the corresponding BitBake
+ User Manual for the given release.
+ The Mega-Manual exists to help users efficiently search for strings
+ across the entire Yocto Project documentation set inclusive of
+ the BitBake User Manual.
</abstract>
<mediaobject>
@@ -81,9 +83,9 @@
<revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.6.1</revnumber>
+ <revnumber>2.7</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
</revision>
</revhistory>
@@ -322,6 +324,30 @@
<xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../toaster-manual/toaster-manual-reference.xml"/>
+<!-- Includes bitbake-user-manual title image and then bitbake-user-manual chapters -->
+
+ <para>
+ <imagedata fileref="figures/bitbake-title.png" width="100%" align="left" scalefit="1" />
+ </para>
+
+ <xi:include
+ xmlns:xi="http://www.w3.org/2003/XInclude" href="../../../bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml"/>
+
+ <xi:include
+ xmlns:xi="http://www.w3.org/2003/XInclude" href="../../../bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml"/>
+
+ <xi:include
+ xmlns:xi="http://www.w3.org/2003/XInclude" href="../../../bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml"/>
+
+ <xi:include
+ xmlns:xi="http://www.w3.org/2003/XInclude" href="../../../bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml"/>
+
+ <xi:include
+ xmlns:xi="http://www.w3.org/2003/XInclude" href="../../../bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml"/>
+
+ <xi:include
+ xmlns:xi="http://www.w3.org/2003/XInclude" href="../../../bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml"/>
+
</book>
<!--
diff --git a/poky/documentation/overview-manual/overview-manual-concepts.xml b/poky/documentation/overview-manual/overview-manual-concepts.xml
index 338a190ae..c1c1fec26 100644
--- a/poky/documentation/overview-manual/overview-manual-concepts.xml
+++ b/poky/documentation/overview-manual/overview-manual-concepts.xml
@@ -82,7 +82,7 @@
<para>
This section briefly introduces BitBake.
If you want more information on BitBake, see the
- <ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual'>BitBake User Manual</ulink>.
+ <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
</para>
<para>
@@ -1091,7 +1091,7 @@
<note>
Separate documentation exists for the BitBake tool.
See the
- <ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual'>BitBake User Manual</ulink>
+ <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>
for reference material on BitBake.
</note>
</para>
diff --git a/poky/documentation/overview-manual/overview-manual.xml b/poky/documentation/overview-manual/overview-manual.xml
index 320ca3553..b23c39497 100644
--- a/poky/documentation/overview-manual/overview-manual.xml
+++ b/poky/documentation/overview-manual/overview-manual.xml
@@ -38,13 +38,8 @@
</revision>
<revision>
<revnumber>2.6</revnumber>
- <date>November 2018</date>
- <revremark>Released with the Yocto Project 2.6 Release.</revremark>
- </revision>
- <revision>
- <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/poky.ent b/poky/documentation/poky.ent
index f92e69dad..63260129c 100644
--- a/poky/documentation/poky.ent
+++ b/poky/documentation/poky.ent
@@ -1,17 +1,17 @@
-<!ENTITY DISTRO "2.6.1">
-<!ENTITY DISTRO_COMPRESSED "261">
-<!ENTITY DISTRO_NAME_NO_CAP "thud">
-<!ENTITY DISTRO_NAME "Thud">
-<!ENTITY DISTRO_NAME_NO_CAP_MINUS_ONE "sumo">
-<!ENTITY DISTRO_NAME_MINUS_ONE "Sumo">
-<!ENTITY YOCTO_DOC_VERSION "2.6.1">
-<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "2.5.2">
-<!ENTITY DISTRO_REL_TAG "yocto-2.6.1">
-<!ENTITY METAINTELVERSION "10.1">
-<!ENTITY REL_MONTH_YEAR "February 2019">
+<!ENTITY DISTRO "2.7">
+<!ENTITY DISTRO_COMPRESSED "27">
+<!ENTITY DISTRO_NAME_NO_CAP "warrior">
+<!ENTITY DISTRO_NAME "Warrior">
+<!ENTITY DISTRO_NAME_NO_CAP_MINUS_ONE "thud">
+<!ENTITY DISTRO_NAME_MINUS_ONE "Thud">
+<!ENTITY YOCTO_DOC_VERSION "2.7">
+<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "2.6">
+<!ENTITY DISTRO_REL_TAG "yocto-2.7">
+<!ENTITY METAINTELVERSION "9.0">
+<!ENTITY REL_MONTH_YEAR "TBD">
<!ENTITY META_INTEL_REL_TAG "&METAINTELVERSION;-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;">
-<!ENTITY POKYVERSION "21.0.1">
-<!ENTITY POKYVERSION_COMPRESSED "2101">
+<!ENTITY POKYVERSION "22.0.0">
+<!ENTITY POKYVERSION_COMPRESSED "2200">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2019">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">
@@ -69,17 +69,21 @@
<!ENTITY OE_INIT_FILE "oe-init-build-env">
<!ENTITY UBUNTU_HOST_PACKAGES_ESSENTIAL "gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
- xz-utils debianutils iputils-ping">
+ xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
+ xterm">
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python3 unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
- python3-pexpect findutils which file cpio python python3-pip xz">
+ python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
+ python3-jinja2 SDL-devel xterm">
<!ENTITY OPENSUSE_HOST_PACKAGES_ESSENTIAL "python gcc gcc-c++ git chrpath make wget python-xml \
diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
- python3-pexpect xz which">
+ python3-pexpect xz which python3-Jinja2 Mesa-libEGL1
+ $ sudo pip3 install GitPython libSDL-devel xterm">
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "-y epel-release
$ sudo yum makecache
$ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python34-pip xz \
- which">
+ which SDL-devel xterm
+ $ sudo pip3 install GitPython jinja2">
diff --git a/poky/documentation/profile-manual/profile-manual.xml b/poky/documentation/profile-manual/profile-manual.xml
index 10ca68e50..af2c7baf7 100644
--- a/poky/documentation/profile-manual/profile-manual.xml
+++ b/poky/documentation/profile-manual/profile-manual.xml
@@ -97,9 +97,9 @@
<revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.6.1</revnumber>
+ <revnumber>2.7</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/ref-manual/ref-manual.xml b/poky/documentation/ref-manual/ref-manual.xml
index f834d2dea..26295f02f 100644
--- a/poky/documentation/ref-manual/ref-manual.xml
+++ b/poky/documentation/ref-manual/ref-manual.xml
@@ -128,9 +128,9 @@
<revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.6.1</revnumber>
+ <revnumber>2.7</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/ref-manual/ref-system-requirements.xml b/poky/documentation/ref-manual/ref-system-requirements.xml
index 0db84e31f..5f2b9f6ce 100644
--- a/poky/documentation/ref-manual/ref-system-requirements.xml
+++ b/poky/documentation/ref-manual/ref-system-requirements.xml
@@ -97,18 +97,9 @@
<listitem><para>OpenSUSE 42.3</para></listitem>
</itemizedlist>
</para>
-<!--
-Checkout the poky distro you are interested in (by branch or tag).
-From the poky directory, run the script:
-
-bitbake -e | grep ^SANITY_TESTED_DISTROS | sed -e 's/.*"\(.*\)".*/\1/g' -e 's!\\n!\n!g' | sed 's/^[\t]*//;s/[ \t]*$//' | grep -v Poky
-
-This returns a list of the supported distros for the release.
-
-Here is some old list items to show the form:
- <listitem><para>Ubuntu 10.04</para></listitem>
+<!-- <listitem><para>Ubuntu 10.04</para></listitem>
<listitem><para>Ubuntu 11.10</para></listitem>
<listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 13.10</para></listitem>
@@ -151,8 +142,10 @@ Here is some old list items to show the form:
<listitem><para>openSUSE 13.2</para></listitem>
<listitem><para>openSUSE 42.1</para></listitem>
<listitem><para>openSUSE 42.2</para></listitem>
+ </itemizedlist>
-->
+
<note>
While the Yocto Project Team attempts to ensure all Yocto Project
releases are one hundred percent compatible with each officially
@@ -199,26 +192,12 @@ Here is some old list items to show the form:
<literallayout class='monospaced'>
$ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
- <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
- Packages recommended if the host system has graphics
- support or if you are going to use the Eclipse
- IDE:
- <literallayout class='monospaced'>
- $ sudo apt-get install libsdl1.2-dev xterm
- </literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
</literallayout></para></listitem>
- <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
- Packages needed if you are going to run
- <filename>oe-selftest</filename>:
- <literallayout class='monospaced'>
- $ sudo apt-get install python-git
- </literallayout>
- </para></listitem>
</itemizedlist>
</para>
</section>
@@ -236,27 +215,13 @@ Here is some old list items to show the form:
<literallayout class='monospaced'>
$ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
- <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
- Packages recommended if the host system has graphics
- support or if you are going to use the Eclipse
- IDE:
- <literallayout class='monospaced'>
- $ sudo dnf install SDL-devel xterm
- </literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
- $ sudo dnf install make docbook-style-dsssl docbook-style-xsl \
+ $ sudo dnf install docbook-style-dsssl docbook-style-xsl \
docbook-dtds docbook-utils fop libxslt dblatex xmlto
</literallayout></para></listitem>
- <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
- Packages needed if you are going to run
- <filename>oe-selftest</filename>:
- <literallayout class='monospaced'>
- $ sudo dnf install python3-GitPython
- </literallayout>
- </para></listitem>
</itemizedlist>
</para>
</section>
@@ -274,33 +239,13 @@ Here is some old list items to show the form:
<literallayout class='monospaced'>
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
- <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
- Packages recommended if the host system has graphics
- support or if you are going to use the Eclipse
- IDE:
- <literallayout class='monospaced'>
- $ sudo zypper install libSDL-devel xterm
- </literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
- $ sudo zypper install make dblatex xmlto
- </literallayout></para></listitem>
- <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
- Packages needed if you are going to run
- <filename>oe-selftest</filename>:
- <literallayout class='monospaced'>
- $ sudo zypper install python-GitPython
+ $ sudo zypper install dblatex xmlto
</literallayout></para></listitem>
</itemizedlist>
- <note>
- Sanity testing, through the
- <link linkend='ref-classes-testimage*'>testimage</link>
- classes, does not work on systems using the
- <ulink url='https://en.opensuse.org/Portal:Wicked'>Wicked</ulink>
- network manager.
- </note>
</para>
</section>
@@ -315,7 +260,7 @@ Here is some old list items to show the form:
Packages needed to build an image for a headless
system:
<literallayout class='monospaced'>
- $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
+ $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL;
</literallayout>
<note><title>Notes</title>
<itemizedlist>
@@ -337,27 +282,13 @@ Here is some old list items to show the form:
</itemizedlist>
</note>
</para></listitem>
- <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
- Packages recommended if the host system has graphics
- support or if you are going to use the Eclipse
- IDE:
- <literallayout class='monospaced'>
- $ sudo yum install SDL-devel xterm
- </literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
- $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
+ $ sudo yum install docbook-style-dsssl docbook-style-xsl \
docbook-dtds docbook-utils fop libxslt dblatex xmlto
</literallayout></para></listitem>
- <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
- Packages needed if you are going to run
- <filename>oe-selftest</filename>:
- <literallayout class='monospaced'>
- $ sudo yum install GitPython
- </literallayout>
- </para></listitem>
</itemizedlist>
</para>
</section>
diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml
index 9f6bc1ada..6470c739c 100644
--- a/poky/documentation/ref-manual/ref-variables.xml
+++ b/poky/documentation/ref-manual/ref-variables.xml
@@ -3621,60 +3621,6 @@
</glossdef>
</glossentry>
- <glossentry id='var-DISK_SIGNATURE'><glossterm>DISK_SIGNATURE</glossterm>
- <info>
- DISK_SIGNATURE[doc] = "A 32-bit MBR disk signature used by directdisk images."
- </info>
- <glossdef>
- <para role="glossdeffirst">
-<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- A 32-bit MBR disk signature used by
- <filename>directdisk</filename> images.
- </para>
-
- <para>
- By default, the signature is set to an automatically
- generated random value that allows the OpenEmbedded
- build system to create a boot loader.
- You can override the signature in the image recipe
- by setting <filename>DISK_SIGNATURE</filename> to an
- 8-digit hex string.
- You might want to override
- <filename>DISK_SIGNATURE</filename> if you want the disk
- signature to remain constant between image builds.
- </para>
-
- <para>
- When using Linux 3.8 or later, you can use
- <filename>DISK_SIGNATURE</filename> to specify the root
- by UUID to allow the kernel to locate the root device
- even if the device name changes due to differences in
- hardware configuration.
- By default, <filename>ROOT_VM</filename> is set
- as follows:
- <literallayout class='monospaced'>
- ROOT_VM ?= "root=/dev/sda2"
- </literallayout>
- However, you can change this to locate the root device
- using the disk signature instead:
- <literallayout class='monospaced'>
- ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
- </literallayout>
- </para>
-
- <para>
- As previously mentioned, it is possible to set the
- <filename>DISK_SIGNATURE</filename> variable in your
- <filename>local.conf</filename> file to a fixed
- value if you do not want <filename>syslinux.cfg</filename>
- changing for each build.
- You might find this useful when you want to upgrade the
- root filesystem on a device without having to recreate or
- modify the master boot record.
- </para>
- </glossdef>
- </glossentry>
-
<glossentry id='var-DISTRO'><glossterm>DISTRO</glossterm>
<info>
DISTRO[doc] = "The short name of the distribution. If the variable is blank, meta/conf/distro/defaultsetup.conf will be used."
@@ -3877,7 +3823,7 @@
<filename>DISTRO_FEATURES_DEFAULT</filename> from a
custom distro configuration file:
<literallayout class='monospaced'>
- DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} myfeature"
+ DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} myfeature"
</literallayout>
</para>
</glossdef>
@@ -3924,13 +3870,14 @@
</glossdef>
</glossentry>
+<!--
<glossentry id='var-DISTRO_FEATURES_LIBC'><glossterm>DISTRO_FEATURES_LIBC</glossterm>
<info>
DISTRO_FEATURES_LIBC[doc] = "Specifies the list of distro features that are specific to the C library (libc)."
</info>
<glossdef>
<para role="glossdeffirst">
-<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" />
A convenience variable that specifies the list of distro
features that are specific to the C library
(<filename>libc</filename>).
@@ -3940,6 +3887,7 @@
</para>
</glossdef>
</glossentry>
+-->
<glossentry id='var-DISTRO_FEATURES_NATIVE'><glossterm>DISTRO_FEATURES_NATIVE</glossterm>
<info>
@@ -5012,9 +4960,17 @@
A subset of <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
used by the OpenEmbedded build system for creating
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>.
- You can find more information on how overrides are handled
- in the
- <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
+ The <filename>FILESOVERRIDES</filename> variable uses
+ overrides to automatically extend the
+ <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
+ variable.
+ For an example of how that works, see the
+ <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
+ variable description.
+ Additionally, you find more information on how overrides
+ are handled in the
+ "<ulink url='&YOCTO_DOCS_BB_URL;#conditional-syntax-overrides'>Conditional Syntax (Overrides)</ulink>"
+ section of the BitBake User Manual.
</para>
<para>
@@ -5041,11 +4997,14 @@
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- The default set of directories the OpenEmbedded build system
- uses when searching for patches and files.
- During the build process, BitBake searches each directory in
- <filename>FILESPATH</filename> in the specified order when
- looking for files and patches specified by each
+ The default set of directories the OpenEmbedded build
+ system uses when searching for patches and files.
+ </para>
+
+ <para>
+ During the build process, BitBake searches each directory
+ in <filename>FILESPATH</filename> in the specified order
+ when looking for files and patches specified by each
<filename>file://</filename> URI in a recipe's
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
statements.
@@ -5060,23 +5019,62 @@
FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", \
"${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
</literallayout>
- <note>
- Do not hand-edit the <filename>FILESPATH</filename>
- variable.
- If you want the build system to look in directories
- other than the defaults, extend the
- <filename>FILESPATH</filename> variable by using the
- <link linkend='var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></link>
- variable.
+ The <filename>FILESPATH</filename> variable is automatically
+ extended using the overrides from the
+ <link linkend='var-FILESOVERRIDES'><filename>FILESOVERRIDES</filename></link>
+ variable.
+ <note><title>Notes</title>
+ <itemizedlist>
+ <listitem><para>
+ Do not hand-edit the
+ <filename>FILESPATH</filename> variable.
+ If you want the build system to look in
+ directories other than the defaults, extend the
+ <filename>FILESPATH</filename> variable by
+ using the
+ <link linkend='var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></link>
+ variable.
+ </para></listitem>
+ <listitem><para>
+ Be aware that the default
+ <filename>FILESPATH</filename> directories do
+ not map to directories in custom layers
+ where append files
+ (<filename>.bbappend</filename>) are used.
+ If you want the build system to find patches
+ or files that reside with your append files,
+ you need to extend the
+ <filename>FILESPATH</filename> variable by
+ using the <filename>FILESEXTRAPATHS</filename>
+ variable.
+ </para></listitem>
+ </itemizedlist>
</note>
- Be aware that the default <filename>FILESPATH</filename>
- directories do not map to directories in custom layers
- where append files (<filename>.bbappend</filename>)
- are used.
- If you want the build system to find patches or files
- that reside with your append files, you need to extend
- the <filename>FILESPATH</filename> variable by using
- the <filename>FILESEXTRAPATHS</filename> variable.
+ </para>
+
+ <para>
+ You can take advantage of this searching behavior in
+ useful ways.
+ For example, consider a case where the following
+ directory structure exists for general and machine-specific
+ configurations:
+ <literallayout class='monospaced'>
+ files/defconfig
+ files/MACHINEA/defconfig
+ files/MACHINEB/defconfig
+ </literallayout>
+ Also in the example, the <filename>SRC_URI</filename>
+ statement contains "file://defconfig".
+ Given this scenario, you can set
+ <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
+ to "MACHINEA" and cause the build system to use files
+ from <filename>files/MACHINEA</filename>.
+ Set <filename>MACHINE</filename> to "MACHINEB" and the
+ build system uses files from
+ <filename>files/MACHINEB</filename>.
+ Finally, for any machine other than "MACHINEA" and
+ "MACHINEB", the build system uses files from
+ <filename>files/defconfig</filename>.
</para>
<para>
@@ -6076,11 +6074,12 @@
<note><title>Notes</title>
<itemizedlist>
<listitem><para>
- If you add "live" to
- <filename>IMAGE_FSTYPES</filename> inside an image
- recipe, be sure that you do so prior to the
- "inherit image" line of the recipe or the live
- image will not build.
+ If an image recipe uses the "inherit image" line
+ and you are setting
+ <filename>IMAGE_FSTYPES</filename> inside the
+ recipe, you must set
+ <filename>IMAGE_FSTYPES</filename> prior to
+ using the "inherit image" line.
</para></listitem>
<listitem><para>
Due to the way the OpenEmbedded build system
@@ -6866,6 +6865,44 @@
</glossdef>
</glossentry>
+ <glossentry id='var-INHIBIT_SYSROOT_STRIP'><glossterm>INHIBIT_SYSROOT_STRIP</glossterm>
+ <info>
+ INHIBIT_SYSROOT_STRIP[doc] = "If set to "1", causes the build to not strip binaries in the resulting sysroot."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ If set to "1", causes the build to not strip binaries in
+ the resulting sysroot.
+ </para>
+
+ <para>
+ By default, the OpenEmbedded build system strips
+ binaries in the resulting sysroot.
+ When you specifically set the
+ <filename>INHIBIT_SYSROOT_STRIP</filename> variable to
+ "1" in your recipe, you inhibit this stripping.
+ </para>
+
+ <para>
+ If you want to use this variable, include the
+ <link linkend='ref-classes-staging'><filename>staging</filename></link>
+ class.
+ This class uses a <filename>sys_strip()</filename>
+ function to test for the variable and acts accordingly.
+ <note>
+ Use of the <filename>INHIBIT_SYSROOT_STRIP</filename>
+ variable occurs in rare and special circumstances.
+ For example, suppose you are building bare-metal
+ firmware by using an external GCC toolchain.
+ Furthermore, even if the toolchain's binaries are
+ strippable, other files exist that are needed for the
+ build that are not strippable.
+ </note>
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-INITRAMFS_FSTYPES'><glossterm>INITRAMFS_FSTYPES</glossterm>
<info>
INITRAMFS_FSTYPES[doc] = "Defines the format for the output image of an initial RAM filesystem (initramfs), which is used during boot."
@@ -9933,7 +9970,6 @@
<filename>/bin/.debug</filename>.
Source files are placed in
<filename>/usr/src/debug</filename>.
- This is the default behavior.
</para></listitem>
<listitem><para>
"debug-file-directory": Debug symbol files are
@@ -9957,6 +9993,7 @@
".debug" previously described with the exception
that all source files are placed in a separate
<filename>*-src</filename> pkg.
+ This is the default behavior.
</para></listitem>
</itemizedlist>
</para>
@@ -13002,7 +13039,7 @@
<filename>/meta-poky/conf/distro/poky.conf</filename>)
defines the <filename>SDK_VERSION</filename> as follows:
<literallayout class='monospaced'>
- SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
+ SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}','snapshot')}"
</literallayout>
</para>
diff --git a/poky/documentation/ref-manual/resources.xml b/poky/documentation/ref-manual/resources.xml
index be0469616..6a0cee8a5 100644
--- a/poky/documentation/ref-manual/resources.xml
+++ b/poky/documentation/ref-manual/resources.xml
@@ -155,7 +155,7 @@
</para></listitem>
<listitem><para>
<emphasis>
- <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual:</ulink>
+ <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>:
</emphasis>
A comprehensive guide to the BitBake tool.
If you want information on BitBake, see this manual.
diff --git a/poky/documentation/sdk-manual/sdk-manual.xml b/poky/documentation/sdk-manual/sdk-manual.xml
index 7f93d5f61..1828119df 100644
--- a/poky/documentation/sdk-manual/sdk-manual.xml
+++ b/poky/documentation/sdk-manual/sdk-manual.xml
@@ -62,9 +62,9 @@
<revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.6.1</revnumber>
+ <revnumber>2.7</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/toaster-manual/toaster-manual.xml b/poky/documentation/toaster-manual/toaster-manual.xml
index dcc2990dc..42dc6a33e 100644
--- a/poky/documentation/toaster-manual/toaster-manual.xml
+++ b/poky/documentation/toaster-manual/toaster-manual.xml
@@ -72,9 +72,9 @@
<revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.6.1</revnumber>
+ <revnumber>2.7</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/tools/mega-manual.sed b/poky/documentation/tools/mega-manual.sed
index f6e205feb..79bbeef57 100644
--- a/poky/documentation/tools/mega-manual.sed
+++ b/poky/documentation/tools/mega-manual.sed
@@ -1,40 +1,36 @@
-# Processes poky-ref-manual and yocto-project-qs manual (<word>-<word>-<word> style).
-# This style is for manual folders like "yocto-project-qs" and "poky-ref-manual".
-# This is the old way that did it. Can't do that now that we have "bitbake-user-manual" strings
-# in the mega-manual.
-# s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/yocto-project-qs/yocto-project-qs.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/poky-ref-manual/poky-ref-manual.html#@"link" href="#@g
+# Processes bitbake-user-manual (<word>-<word>-<word> style).
+# This style is for manual three-word folders, which currently is only the BitBake User Manual.
+# We used to have the "yocto-project-qs" and "poky-ref-manual" folders but no longer do.
+# s@"ulink" href="http://www.yoctoproject.org/docs/2.7/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/bitbake-user-manual/bitbake-user-manual.html#@"link" href="#@g
-# Processes all other manuals (<word>-<word> style) except for the BitBake User Manual because
-# it is not included in the mega-manual.
+# Processes all other manuals (<word>-<word> style).
# This style is for manual folders that use two word, which is the standard now (e.g. "ref-manual").
-# This was the one-liner that worked before we introduced the BitBake User Manual, which is
-# not in the mega-manual.
-# s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g
+# Here is the one-liner:
+# s@"ulink" href="http://www.yoctoproject.org/docs/2.7/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/sdk-manual/sdk-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/bsp-guide/bsp-guide.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/dev-manual/dev-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/overview-manual/overview-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/kernel-dev/kernel-dev.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/profile-manual/profile-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/toaster-manual/toaster-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/sdk-manual/sdk-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/bsp-guide/bsp-guide.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/dev-manual/dev-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/overview-manual/overview-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/kernel-dev/kernel-dev.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/profile-manual/profile-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/ref-manual/ref-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.7/toaster-manual/toaster-manual.html#@"link" href="#@g
# Process cases where just an external manual is referenced without an id anchor
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/yocto-project-qs/yocto-project-qs.html" target="_top">Yocto Project Quick Start</a>@Yocto Project Quick Start@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/bitbake-user-manual/bitbake-user-manual.html" target="_top">BitBake User Manual</a>@BitBake User Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g
# Process a single, rouge occurrence of a linked reference to the Mega-Manual.
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g
diff --git a/poky/meta-poky/README.poky b/poky/meta-poky/README.poky
index 0a4284318..2204801f7 100644
--- a/poky/meta-poky/README.poky
+++ b/poky/meta-poky/README.poky
@@ -27,6 +27,19 @@ DISTRO = "nodistro") and contains only emulated machine support.
For information about OpenEmbedded, see the OpenEmbedded website:
http://www.openembedded.org/
+
+Contribution Guidelines
+=======================
+
+A guide to submitting patches to OpenEmbedded is available at:
+
+http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
+
+There is good documentation on how to write/format patches at:
+
+https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
+
+
Where to Send Patches
=====================
diff --git a/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc b/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc
index a3da043d9..1fc504592 100644
--- a/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc
+++ b/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc
@@ -26,8 +26,6 @@ SRCREV_pn-sato-icon-theme ?= "${AUTOREV}"
SRCREV_pn-matchbox-desktop-sato ?= "${AUTOREV}"
SRCREV_pn-oh-puzzles ?= "${AUTOREV}"
SRCREV_pn-libowl ?= "${AUTOREV}"
-SRCREV_pn-fstests ?= "${AUTOREV}"
-SRCREV_pn-xvideo-tests ?= "${AUTOREV}"
SRCREV_pn-clutter ?= "${AUTOREV}"
SRCREV_pn-clutter-gst ?= "${AUTOREV}"
SRCREV_pn-libmatchbox ?= "${AUTOREV}"
diff --git a/poky/meta-poky/conf/distro/poky-lsb.conf b/poky/meta-poky/conf/distro/poky-lsb.conf
index 1c426bae0..5c7e2720a 100644
--- a/poky/meta-poky/conf/distro/poky-lsb.conf
+++ b/poky/meta-poky/conf/distro/poky-lsb.conf
@@ -11,4 +11,4 @@ PREFERRED_PROVIDER_virtual/libx11 = "libx11"
KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
# Use the LTSI Kernel for LSB Testing
-PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.14%"
+PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.19%"
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index a370b21ed..6544c0339 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -1,9 +1,9 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
-DISTRO_VERSION = "2.6.2"
-DISTRO_CODENAME = "thud"
+DISTRO_VERSION = "2.6+snapshot-${DATE}"
+DISTRO_CODENAME = "master"
SDK_VENDOR = "-pokysdk"
-SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
+SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}', 'snapshot')}"
MAINTAINER = "Poky <poky@yoctoproject.org>"
@@ -21,9 +21,9 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}"
-PREFERRED_VERSION_linux-yocto ?= "4.18%"
+PREFERRED_VERSION_linux-yocto ?= "5.0%"
-SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
+SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
DISTRO_EXTRA_RDEPENDS += " ${POKY_DEFAULT_EXTRA_RDEPENDS}"
@@ -39,9 +39,6 @@ DISTRO_EXTRA_RDEPENDS_append_qemux86-64 = " ${POKYQEMUDEPS}"
TCLIBCAPPEND = ""
-QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el nios2 ppc x86_64"
-# Other QEMU_TARGETS "sh4"
-
PREMIRRORS ??= "\
bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \
cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \
@@ -52,17 +49,6 @@ osc://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \
p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \
svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n"
-MIRRORS =+ "\
-ftp://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \
-http://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \
-https://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n"
-
-# The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
-# fetch from the network (and warn you if not). To disable the test set
-# the variable to be empty.
-# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=master
-CONNECTIVITY_CHECK_URIS ?= "https://www.example.com/"
-
SANITY_TESTED_DISTROS ?= " \
poky-2.5 \n \
poky-2.6 \n \
diff --git a/poky/meta-poky/conf/layer.conf b/poky/meta-poky/conf/layer.conf
index b9b263716..0d74f4eaa 100644
--- a/poky/meta-poky/conf/layer.conf
+++ b/poky/meta-poky/conf/layer.conf
@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "yocto"
BBFILE_PATTERN_yocto = "^${LAYERDIR}/"
BBFILE_PRIORITY_yocto = "5"
-LAYERSERIES_COMPAT_yocto = "thud"
+LAYERSERIES_COMPAT_yocto = "warrior"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample
index cf9659881..9068e567d 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/local.conf.sample
@@ -124,6 +124,8 @@ PACKAGE_CLASSES ?= "package_rpm"
# variable can contain the following options:
# "dbg-pkgs" - add -dbg packages for all installed packages
# (adds symbol information for debugging/profiling)
+# "src-pkgs" - add -src packages for all installed packages
+# (adds source code for debugging)
# "dev-pkgs" - add -dev packages for all installed packages
# (useful if you want to develop against libs in the image)
# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
@@ -239,7 +241,7 @@ BB_DISKMON_DIRS ??= "\
# seen. The two lines below enable the SDL backend too. By default libsdl2-native will
# be built, if you want to use your host's libSDL instead of the minimal libsdl built
# by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
-PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
#ASSUME_PROVIDED += "libsdl2-native"
diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended
index 3ba99f489..87d211db3 100644
--- a/poky/meta-poky/conf/local.conf.sample.extended
+++ b/poky/meta-poky/conf/local.conf.sample.extended
@@ -290,18 +290,18 @@
# Image level user/group configuration.
# Inherit extrausers to make the setting of EXTRA_USERS_PARAMS effective.
-#INHERIT += "extrausers"
+#IMAGE_CLASSES += "extrausers"
# User / group settings
-# The settings are sperated by the ; character.
+# The settings are separated by the ; character.
# Each setting is actually a command. The supported commands are useradd,
# groupadd, userdel, groupdel, usermod and groupmod.
#EXTRA_USERS_PARAMS = "\
-#useradd -p '' tester; \
-#groupadd developers; \
-#userdel nobody; \
-#groupdel video; \
-#groupmod -g 1020 developers; \
-#usermod -s /bin/sh tester; \
+# useradd -p '' tester; \
+# groupadd developers; \
+# userdel nobody; \
+# groupdel video; \
+# groupmod -g 1020 developers; \
+# usermod -s /bin/sh tester; \
#"
# Various packages dynamically add users and groups to the system at package
@@ -395,5 +395,6 @@
#
#DISTRO_FEATURES_append = " systemd"
#DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
+#VIRTUAL-RUNTIME_login_manager = "shadow-base"
#VIRTUAL-RUNTIME_init_manager = "systemd"
#VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
diff --git a/poky/meta-poky/conf/site.conf.sample b/poky/meta-poky/conf/site.conf.sample
index a4c2f9fee..5164fedf6 100644
--- a/poky/meta-poky/conf/site.conf.sample
+++ b/poky/meta-poky/conf/site.conf.sample
@@ -26,7 +26,7 @@ SCONF_VERSION = "1"
# If you wish to use certain hosts without the proxy, specify them in NO_PROXY.
# See the script for details on syntax. The script oe-git-proxy uses some tools
# that may not be included on HOSTTOOLS, thus add them manually through
-# HOSTTOOLS += "getent seq"
+# HOSTTOOLS += "getent"
# Uncomment this to use a shared download directory
#DL_DIR = "/some/shared/download/directory/"
diff --git a/poky/meta-selftest/conf/layer.conf b/poky/meta-selftest/conf/layer.conf
index 0626b2a3e..080350a56 100644
--- a/poky/meta-selftest/conf/layer.conf
+++ b/poky/meta-selftest/conf/layer.conf
@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "selftest"
BBFILE_PATTERN_selftest = "^${LAYERDIR}/"
BBFILE_PRIORITY_selftest = "5"
-LAYERSERIES_COMPAT_selftest = "thud"
+LAYERSERIES_COMPAT_selftest = "warrior"
diff --git a/poky/meta-selftest/lib/oeqa/runtime/cases/virgl.py b/poky/meta-selftest/lib/oeqa/runtime/cases/virgl.py
new file mode 100644
index 000000000..d301a19fa
--- /dev/null
+++ b/poky/meta-selftest/lib/oeqa/runtime/cases/virgl.py
@@ -0,0 +1,23 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+import subprocess
+import oe.lsb
+
+class VirglTest(OERuntimeTestCase):
+
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_kernel_driver(self):
+ status, output = self.target.run('dmesg|grep virgl')
+ self.assertEqual(status, 0, "Checking for virgl driver in dmesg returned non-zero: %d\n%s" % (status, output))
+ self.assertIn("virgl 3d acceleration enabled", output, "virgl acceleration seems to be disabled:\n%s" %(output))
+
+ @OETestDepends(['virgl.VirglTest.test_kernel_driver'])
+ def test_kmscube(self):
+
+ distro = oe.lsb.distro_identifier()
+ if distro and distro == 'centos-7':
+ self.skipTest('kmscube is not working when centos 7 is the host OS')
+
+ status, output = self.target.run('kmscube', timeout=30)
+ self.assertEqual(status, 0, "kmscube exited with non-zero status %d and output:\n%s" %(status, output))
+ self.assertIn('renderer: "virgl"', output, "kmscube does not seem to use virgl:\n%s" %(output))
diff --git a/poky/meta-selftest/recipes-devtools/python/python-async-test.inc b/poky/meta-selftest/recipes-devtools/python/python-async-test.inc
new file mode 100644
index 000000000..c9602e8e5
--- /dev/null
+++ b/poky/meta-selftest/recipes-devtools/python/python-async-test.inc
@@ -0,0 +1,16 @@
+SUMMARY = "Python framework to process interdependent tasks in a pool of workers"
+HOMEPAGE = "http://github.com/gitpython-developers/async"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
+
+inherit pypi
+
+PYPI_PACKAGE = "async"
+
+SRC_URI[md5sum] = "9b06b5997de2154f3bc0273f80bcef6b"
+SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-threading"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta-selftest/recipes-devtools/python/python3-async-test_0.6.2.bb b/poky/meta-selftest/recipes-devtools/python/python3-async-test_0.6.2.bb
new file mode 100644
index 000000000..22e241afb
--- /dev/null
+++ b/poky/meta-selftest/recipes-devtools/python/python3-async-test_0.6.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-async-test.inc
diff --git a/poky/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb b/poky/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb
index b377cb760..6bfc55706 100644
--- a/poky/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb
+++ b/poky/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb
@@ -9,7 +9,6 @@ SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/syslinux-${PV}.tar.x
SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13"
SRC_URI[sha256sum] = "26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e"
-UPSTREAM_VERSION_UNKNOWN = "1"
S = "${WORKDIR}/syslinux-${PV}"
diff --git a/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
new file mode 100644
index 000000000..3dbc0f5d1
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
@@ -0,0 +1,28 @@
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+MCMACHINE_virtclass-mcextend-musl = "qemux86-64"
+MCMACHINE_virtclass-mcextend-tiny = "qemux86"
+MCIMGTYPE_virtclass-mcextend-musl = "ext4"
+MCIMGTYPE_virtclass-mcextend-tiny = "cpio.gz"
+
+MC_DEPLOY_DIR_IMAGE = "${TOPDIR}/tmp-mc-${MCNAME}/deploy/images/${MCMACHINE}"
+
+do_install[mcdepends] += "multiconfig::${MCNAME}:core-image-minimal:do_image_complete multiconfig::${MCNAME}:virtual/kernel:do_deploy"
+
+do_install () {
+ install -d ${D}/var/lib/machines/${MCNAME}
+ install ${MC_DEPLOY_DIR_IMAGE}/core-image-minimal-${MCMACHINE}.${MCIMGTYPE} ${D}/var/lib/machines/${MCNAME}/core-image-minimal.${MCIMGTYPE}
+ install ${MC_DEPLOY_DIR_IMAGE}/bzImage ${D}/var/lib/machines/${MCNAME}
+}
+
+python () {
+ mcname = d.getVar('MCNAME')
+ if not mcname:
+ raise bb.parse.SkipRecipe("Not a multiconfig target")
+ multiconfigs = d.getVar('BBMULTICONFIG') or ""
+ if mcname not in multiconfigs:
+ raise bb.parse.SkipRecipe("multiconfig target %s not enabled" % mcname)
+}
+
+BBCLASSEXTEND = "mcextend:tiny mcextend:musl"
diff --git a/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test.inc b/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test.inc
new file mode 100644
index 000000000..8490b902d
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test.inc
@@ -0,0 +1,5 @@
+SRC_URI = "http://xorg.freedesktop.org/releases/individual/lib/libxshmfence-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "66662e76899112c0f99e22f2fc775a7e"
+SRC_URI[sha256sum] = "d21b2d1fd78c1efbe1f2c16dae1cb23f8fd231dcf891465b8debe636a9054b0c"
+
diff --git a/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test/anotherfile b/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test/anotherfile
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test/anotherfile
diff --git a/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test/somefile b/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test/somefile
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test/somefile
diff --git a/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb b/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb
new file mode 100644
index 000000000..7c20d9a68
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Test recipe for recipeutils.patch_recipe()"
+
+require recipeutils-test.inc
+
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/somefile;md5=d41d8cd98f00b204e9800998ecf8427e"
+DEPENDS += "virtual/libx11"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += "file://somefile"
+
+SRC_URI_append = " file://anotherfile"
diff --git a/poky/meta-skeleton/conf/layer.conf b/poky/meta-skeleton/conf/layer.conf
index 13bda7b57..7d4ffb46e 100644
--- a/poky/meta-skeleton/conf/layer.conf
+++ b/poky/meta-skeleton/conf/layer.conf
@@ -14,4 +14,4 @@ LAYERVERSION_skeleton = "1"
LAYERDEPENDS_skeleton = "core"
-LAYERSERIES_COMPAT_skeleton = "thud"
+LAYERSERIES_COMPAT_skeleton = "warrior"
diff --git a/poky/meta-yocto-bsp/conf/layer.conf b/poky/meta-yocto-bsp/conf/layer.conf
index 53e8722e8..3c8f775bc 100644
--- a/poky/meta-yocto-bsp/conf/layer.conf
+++ b/poky/meta-yocto-bsp/conf/layer.conf
@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "yoctobsp"
BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_yoctobsp = "5"
LAYERVERSION_yoctobsp = "4"
-LAYERSERIES_COMPAT_yoctobsp = "thud"
+LAYERSERIES_COMPAT_yoctobsp = "warrior"
diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
index e911e7500..70d3cfea3 100644
--- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
+++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
@@ -20,10 +20,11 @@ WKS_FILE ?= "beaglebone-yocto.wks"
IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage"
do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
-SERIAL_CONSOLES = "115200;ttyO0"
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0"
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "4.18%"
+PREFERRED_VERSION_linux-yocto ?= "5.0%"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
diff --git a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
index b7a94e9cb..88592dbc8 100644
--- a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
@@ -1,6 +1,6 @@
#@TYPE: Machine
#@NAME: Edgerouter
-#@DESCRIPTION: Edgerouter
+#@DESCRIPTION: Machine configuration for a generic edgerouter
require conf/machine/include/tune-mips64.inc
@@ -11,7 +11,7 @@ KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "4.18%"
+PREFERRED_VERSION_linux-yocto ?= "5.0%"
SERIAL_CONSOLES = "115200;ttyS0"
USE_VT ?= "0"
diff --git a/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf b/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
index 12f7c0d20..c489462dc 100644
--- a/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
+++ b/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
@@ -1,7 +1,6 @@
#@TYPE: Machine
-#@NAME: Generic X86_64.
-
-#@DESCRIPTION: Machine configuration for generic X86_64 (64-bit) PCs and servers. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
+#@NAME: Generic x86_64
+#@DESCRIPTION: Machine configuration for generic x86_64 (64-bit) PCs and servers. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
DEFAULTTUNE ?= "core2-64"
require conf/machine/include/tune-core2.inc
diff --git a/poky/meta-yocto-bsp/conf/machine/genericx86.conf b/poky/meta-yocto-bsp/conf/machine/genericx86.conf
index 798b62ec2..9929d2788 100644
--- a/poky/meta-yocto-bsp/conf/machine/genericx86.conf
+++ b/poky/meta-yocto-bsp/conf/machine/genericx86.conf
@@ -1,7 +1,6 @@
#@TYPE: Machine
-#@NAME: Generic X86.
-
-#@DESCRIPTION: Machine configuration for generic X86 (32-bit) PCs. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
+#@NAME: Generic x86
+#@DESCRIPTION: Machine configuration for generic x86 (32-bit) PCs. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
DEFAULTTUNE ?= "core2-32"
require conf/machine/include/tune-core2.inc
diff --git a/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf b/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
index 6f5b9859d..e2dce5673 100644
--- a/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
+++ b/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
@@ -1,5 +1,6 @@
#@TYPE: Machine
-#@DESCRIPTION: Machine configuration for running
+#@NAME: Freescale MPC8315E-RDB
+#@DESCRIPTION: Machine configuration for Freescale MPC8315E-RDB
TARGET_FPU = ""
@@ -14,7 +15,7 @@ SERIAL_CONSOLES = "115200;ttyS0"
MACHINE_FEATURES = "keyboard pci ext2 ext3 serial"
-PREFERRED_VERSION_linux-yocto ?= "4.18%"
+PREFERRED_VERSION_linux-yocto ?= "5.0%"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
diff --git a/poky/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/beaglebone-yocto/xorg.conf b/poky/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/beaglebone-yocto/xorg.conf
index 2f40dae15..5da15888d 100644
--- a/poky/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/beaglebone-yocto/xorg.conf
+++ b/poky/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/beaglebone-yocto/xorg.conf
@@ -5,6 +5,7 @@ EndSection
Section "Device"
Identifier "Builtin Default fbdev Device 0"
Driver "modesetting"
+ Option "AccelMethod" "none"
EndSection
Section "Screen"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.14.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.14.bbappend
deleted file mode 100644
index 502485a94..000000000
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.14.bbappend
+++ /dev/null
@@ -1,27 +0,0 @@
-KBRANCH_genericx86 = "v4.14/standard/base"
-KBRANCH_genericx86-64 = "v4.14/standard/base"
-KBRANCH_edgerouter = "v4.14/standard/edgerouter"
-KBRANCH_beaglebone-yocto = "v4.14/standard/beaglebone"
-KBRANCH_mpc8315e-rdb = "v4.14/standard/fsl-mpc8315e-rdb"
-
-KMACHINE_genericx86 ?= "common-pc"
-KMACHINE_genericx86-64 ?= "common-pc-64"
-KMACHINE_beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine_genericx86 ?= "2c5caa7e84311f2a0097974a697ac1f59030530e"
-SRCREV_machine_genericx86-64 ?= "2c5caa7e84311f2a0097974a697ac1f59030530e"
-SRCREV_machine_edgerouter ?= "e06bfa18c727bd0e6e10cf26d9f161e4c791f52b"
-SRCREV_machine_beaglebone-yocto ?= "b8805de77dcf8f59d8368fee4921c146c1300a6a"
-SRCREV_machine_mpc8315e-rdb ?= "f88e87360b10f8fbd853a7d412982e6620f3f96d"
-
-COMPATIBLE_MACHINE_genericx86 = "genericx86"
-COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE_edgerouter = "edgerouter"
-COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
-COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
-
-LINUX_VERSION_genericx86 = "4.14.76"
-LINUX_VERSION_genericx86-64 = "4.14.76"
-LINUX_VERSION_edgerouter = "4.14.71"
-LINUX_VERSION_beaglebone-yocto = "4.14.71"
-LINUX_VERSION_mpc8315e-rdb = "4.14.71"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.18.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.18.bbappend
index 7f15843f3..e53bb51f2 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.18.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.18.bbappend
@@ -8,8 +8,8 @@ KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KMACHINE_beaglebone-yocto ?= "beaglebone"
-SRCREV_machine_genericx86 ?= "db2d813869a0501782469ecdb17e277a501c9f57"
-SRCREV_machine_genericx86-64 ?= "db2d813869a0501782469ecdb17e277a501c9f57"
+SRCREV_machine_genericx86 ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0"
+SRCREV_machine_genericx86-64 ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0"
SRCREV_machine_edgerouter ?= "28e7781d57a59227bf1c08c7f3dbdfee16aa0dc2"
SRCREV_machine_beaglebone-yocto ?= "28e7781d57a59227bf1c08c7f3dbdfee16aa0dc2"
SRCREV_machine_mpc8315e-rdb ?= "99071a599d8650b069fb8135866fca203f375350"
@@ -20,8 +20,8 @@ COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
-LINUX_VERSION_genericx86 = "4.18.22"
-LINUX_VERSION_genericx86-64 = "4.18.22"
+LINUX_VERSION_genericx86 = "4.18.27"
+LINUX_VERSION_genericx86-64 = "4.18.27"
LINUX_VERSION_edgerouter = "4.18.25"
LINUX_VERSION_beaglebone-yocto = "4.18.25"
LINUX_VERSION_mpc8315e-rdb = "4.18.25"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend
new file mode 100644
index 000000000..8e708cb66
--- /dev/null
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend
@@ -0,0 +1,27 @@
+KBRANCH_genericx86 = "v4.19/standard/base"
+KBRANCH_genericx86-64 = "v4.19/standard/base"
+KBRANCH_edgerouter = "v4.19/standard/edgerouter"
+KBRANCH_beaglebone-yocto = "v4.19/standard/beaglebone"
+KBRANCH_mpc8315e-rdb = "v4.19/standard/fsl-mpc8315e-rdb"
+
+KMACHINE_genericx86 ?= "common-pc"
+KMACHINE_genericx86-64 ?= "common-pc-64"
+KMACHINE_beaglebone-yocto ?= "beaglebone"
+
+SRCREV_machine_genericx86 ?= "eebb51300a07804a020ec468b5f8c5bf720198d9"
+SRCREV_machine_genericx86-64 ?= "eebb51300a07804a020ec468b5f8c5bf720198d9"
+SRCREV_machine_edgerouter ?= "eebb51300a07804a020ec468b5f8c5bf720198d9"
+SRCREV_machine_beaglebone-yocto ?= "eebb51300a07804a020ec468b5f8c5bf720198d9"
+SRCREV_machine_mpc8315e-rdb ?= "8b60f968823256f5d2889c4520d70299ca21411b"
+
+COMPATIBLE_MACHINE_genericx86 = "genericx86"
+COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
+COMPATIBLE_MACHINE_edgerouter = "edgerouter"
+COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
+COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
+
+LINUX_VERSION_genericx86 = "4.19.14"
+LINUX_VERSION_genericx86-64 = "4.19.14"
+LINUX_VERSION_edgerouter = "4.19.14"
+LINUX_VERSION_beaglebone-yocto = "4.19.14"
+LINUX_VERSION_mpc8315e-rdb = "4.19.14"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend
new file mode 100644
index 000000000..5cf6e1f06
--- /dev/null
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend
@@ -0,0 +1,27 @@
+KBRANCH_genericx86 = "v5.0/standard/base"
+KBRANCH_genericx86-64 = "v5.0/standard/base"
+KBRANCH_edgerouter = "v5.0/standard/edgerouter"
+KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone"
+KBRANCH_mpc8315e-rdb = "v5.0/standard/fsl-mpc8315e-rdb"
+
+KMACHINE_genericx86 ?= "common-pc"
+KMACHINE_genericx86-64 ?= "common-pc-64"
+KMACHINE_beaglebone-yocto ?= "beaglebone"
+
+SRCREV_machine_genericx86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_machine_genericx86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_machine_edgerouter ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_machine_beaglebone-yocto ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_machine_mpc8315e-rdb ?= "8b62af7f252af10588276802c4c6d7c502e875be"
+
+COMPATIBLE_MACHINE_genericx86 = "genericx86"
+COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
+COMPATIBLE_MACHINE_edgerouter = "edgerouter"
+COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
+COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
+
+LINUX_VERSION_genericx86 = "5.0.3"
+LINUX_VERSION_genericx86-64 = "5.0.3"
+LINUX_VERSION_edgerouter = "5.0.3"
+LINUX_VERSION_beaglebone-yocto = "5.0.3"
+LINUX_VERSION_mpc8315e-rdb = "5.0.3"
diff --git a/poky/meta-yocto-bsp/wic/beaglebone-yocto.wks b/poky/meta-yocto-bsp/wic/beaglebone-yocto.wks
index b75f238df..97bd480a0 100644
--- a/poky/meta-yocto-bsp/wic/beaglebone-yocto.wks
+++ b/poky/meta-yocto-bsp/wic/beaglebone-yocto.wks
@@ -4,3 +4,4 @@
part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --size 16 --sourceparams="loader=u-boot" --use-uuid
part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4 --use-uuid
+bootloader --append="console=ttyS0,115200"
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index e321a0e36..af9f010df 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -37,8 +37,11 @@ ARCHIVER_MODE[recipe] ?= "0"
DEPLOY_DIR_SRC ?= "${DEPLOY_DIR}/sources"
ARCHIVER_TOPDIR ?= "${WORKDIR}/deploy-sources"
ARCHIVER_OUTDIR = "${ARCHIVER_TOPDIR}/${TARGET_SYS}/${PF}/"
+ARCHIVER_RPMTOPDIR ?= "${WORKDIR}/deploy-sources-rpm"
+ARCHIVER_RPMOUTDIR = "${ARCHIVER_RPMTOPDIR}/${TARGET_SYS}/${PF}/"
ARCHIVER_WORKDIR = "${WORKDIR}/archiver-work/"
+
do_dumpdata[dirs] = "${ARCHIVER_OUTDIR}"
do_ar_recipe[dirs] = "${ARCHIVER_OUTDIR}"
do_ar_original[dirs] = "${ARCHIVER_OUTDIR} ${ARCHIVER_WORKDIR}"
@@ -117,6 +120,9 @@ python () {
if d.getVarFlag('ARCHIVER_MODE', 'srpm') == "1" and d.getVar('PACKAGES'):
if "package_rpm" in d.getVar('PACKAGE_CLASSES'):
d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_package_write_rpm' % pn)
+ d.appendVarFlag('do_package_write_rpm', 'dirs', ' ${ARCHIVER_RPMTOPDIR}')
+ d.appendVarFlag('do_package_write_rpm', 'sstate-inputdirs', ' ${ARCHIVER_RPMTOPDIR}')
+ d.appendVarFlag('do_package_write_rpm', 'sstate-outputdirs', ' ${DEPLOY_DIR_SRC}')
if ar_dumpdata == "1":
d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_dumpdata' % pn)
if ar_recipe == "1":
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index bc9b236b8..1636c6ef9 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -122,6 +122,10 @@ def setup_hosttools_dir(dest, toolsvar, d, fatal=True):
desttool = os.path.join(dest, tool)
if not os.path.exists(desttool):
srctool = bb.utils.which(path, tool, executable=True)
+ # gcc/g++ may link to ccache on some hosts, e.g.,
+ # /usr/local/bin/ccache/gcc -> /usr/bin/ccache, then which(gcc)
+ # would return /usr/local/bin/ccache/gcc, but what we need is
+ # /usr/bin/gcc, this code can check and fix that.
if "ccache" in srctool:
srctool = bb.utils.which(path, tool, executable=True, direction=1)
if srctool:
@@ -216,7 +220,7 @@ def buildcfg_neededvars(d):
bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser))
addhandler base_eventhandler
-base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.MultiConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise bb.runqueue.sceneQueueComplete bb.event.RecipeParsed"
+base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.MultiConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise bb.event.RecipeParsed"
python base_eventhandler() {
import bb.runqueue
@@ -224,6 +228,12 @@ python base_eventhandler() {
if not d.getVar("NATIVELSBSTRING", False):
d.setVar("NATIVELSBSTRING", lsb_distro_identifier(d))
d.setVar('BB_VERSION', bb.__version__)
+
+ # There might be no bb.event.ConfigParsed event if bitbake server is
+ # running, so check bb.event.BuildStarted too to make sure ${HOSTTOOLS_DIR}
+ # exists.
+ if isinstance(e, bb.event.ConfigParsed) or \
+ (isinstance(e, bb.event.BuildStarted) and not os.path.exists(d.getVar('HOSTTOOLS_DIR'))):
# Works with the line in layer.conf which changes PATH to point here
setup_hosttools_dir(d.getVar('HOSTTOOLS_DIR'), 'HOSTTOOLS', d)
setup_hosttools_dir(d.getVar('HOSTTOOLS_DIR'), 'HOSTTOOLS_NONFATAL', d, fatal=False)
@@ -260,23 +270,10 @@ python base_eventhandler() {
if isinstance(e, bb.event.RecipePreFinalise):
if d.getVar("TARGET_PREFIX") == d.getVar("SDK_PREFIX"):
d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils")
- d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial")
d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc")
d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++")
d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs")
- if isinstance(e, bb.runqueue.sceneQueueComplete):
- completions = d.expand("${STAGING_DIR}/sstatecompletions")
- if os.path.exists(completions):
- cmds = set()
- with open(completions, "r") as f:
- cmds = set(f)
- d.setVar("completion_function", "\n".join(cmds))
- d.setVarFlag("completion_function", "func", "1")
- bb.debug(1, "Executing SceneQueue Completion commands: %s" % "\n".join(cmds))
- bb.build.exec_func("completion_function", d)
- os.remove(completions)
-
if isinstance(e, bb.event.RecipeParsed):
#
# If we have multiple providers of virtual/X and a PREFERRED_PROVIDER_virtual/X is set
@@ -301,7 +298,6 @@ CLEANBROKEN = "0"
addtask configure after do_patch
do_configure[dirs] = "${B}"
-do_prepare_recipe_sysroot[deptask] = "do_populate_sysroot"
base_do_configure() {
if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" ]; then
@@ -467,12 +463,15 @@ python () {
if bb.data.inherits_class('license', d):
check_license_format(d)
- unmatched_license_flag = check_license_flags(d)
- if unmatched_license_flag:
- bb.debug(1, "Skipping %s because it has a restricted license not"
- " whitelisted in LICENSE_FLAGS_WHITELIST" % pn)
- raise bb.parse.SkipRecipe("because it has a restricted license not"
- " whitelisted in LICENSE_FLAGS_WHITELIST")
+ unmatched_license_flags = check_license_flags(d)
+ if unmatched_license_flags:
+ if len(unmatched_license_flags) == 1:
+ message = "because it has a restricted license '{0}'. Which is not whitelisted in LICENSE_FLAGS_WHITELIST".format(unmatched_license_flags[0])
+ else:
+ message = "because it has restricted licenses {0}. Which are not whitelisted in LICENSE_FLAGS_WHITELIST".format(
+ ", ".join("'{0}'".format(f) for f in unmatched_license_flags))
+ bb.debug(1, "Skipping %s %s" % (pn, message))
+ raise bb.parse.SkipRecipe(message)
# If we're building a target package we need to use fakeroot (pseudo)
# in order to capture permissions, owners, groups and special files
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 40b292b13..796f68cf8 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -519,12 +519,14 @@ buildhistory_get_sdk_installed_target() {
buildhistory_list_files() {
# List the files in the specified directory, but exclude date/time etc.
- # This awk script is somewhat messy, but handles where the size is not printed for device files under pseudo
+ # This is somewhat messy, but handles where the size is not printed for device files under pseudo
+ ( cd $1
+ find_cmd='find . ! -path . -printf "%M %-10u %-10g %10s %p -> %l\n"'
if [ "$3" = "fakeroot" ] ; then
- ( cd $1 && ${FAKEROOTENV} ${FAKEROOTCMD} find . ! -path . -printf "%M %-10u %-10g %10s %p -> %l\n" | sort -k5 | sed 's/ * -> $//' > $2 )
+ eval ${FAKEROOTENV} ${FAKEROOTCMD} $find_cmd
else
- ( cd $1 && find . ! -path . -printf "%M %-10u %-10g %10s %p -> %l\n" | sort -k5 | sed 's/ * -> $//' > $2 )
- fi
+ eval $find_cmd
+ fi | sort -k5 | sed 's/ * -> $//' > $2 )
}
buildhistory_list_pkg_files() {
@@ -670,12 +672,29 @@ def buildhistory_get_build_id(d):
statusheader = d.getVar('BUILDCFG_HEADER')
return('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines)))
+def buildhistory_get_modified(path):
+ # copied from get_layer_git_status() in image-buildinfo.bbclass
+ import subprocess
+ try:
+ subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e;
+ git diff --quiet --no-ext-diff
+ git diff --quiet --no-ext-diff --cached""" % path,
+ shell=True,
+ stderr=subprocess.STDOUT)
+ return ""
+ except subprocess.CalledProcessError as ex:
+ # Silently treat errors as "modified", without checking for the
+ # (expected) return code 1 in a modified git repo. For example, we get
+ # output and a 129 return code when a layer isn't a git repo at all.
+ return " -- modified"
+
def buildhistory_get_metadata_revs(d):
# We want an easily machine-readable format here, so get_layers_branch_rev isn't quite what we want
layers = (d.getVar("BBLAYERS") or "").split()
- medadata_revs = ["%-17s = %s:%s" % (os.path.basename(i), \
+ medadata_revs = ["%-17s = %s:%s%s" % (os.path.basename(i), \
base_get_metadata_git_branch(i, None).strip(), \
- base_get_metadata_git_revision(i, None)) \
+ base_get_metadata_git_revision(i, None), \
+ buildhistory_get_modified(i)) \
for i in layers]
return '\n'.join(medadata_revs)
@@ -896,7 +915,7 @@ def write_latest_srcrev(d, pkghistdir):
if orig_srcrev != 'INVALID':
f.write('# SRCREV = "%s"\n' % orig_srcrev)
if len(srcrevs) > 1:
- for name, srcrev in srcrevs.items():
+ for name, srcrev in sorted(srcrevs.items()):
orig_srcrev = d.getVar('SRCREV_%s' % name, False)
if orig_srcrev:
f.write('# SRCREV_%s = "%s"\n' % (name, orig_srcrev))
@@ -904,7 +923,7 @@ def write_latest_srcrev(d, pkghistdir):
else:
f.write('SRCREV = "%s"\n' % next(iter(srcrevs.values())))
if len(tag_srcrevs) > 0:
- for name, srcrev in tag_srcrevs.items():
+ for name, srcrev in sorted(tag_srcrevs.items()):
f.write('# tag_%s = "%s"\n' % (name, srcrev))
if name in old_tag_srcrevs and old_tag_srcrevs[name] != srcrev:
pkg = d.getVar('PN')
diff --git a/poky/meta/classes/ccache.bbclass b/poky/meta/classes/ccache.bbclass
index 960902065..b5457359c 100644
--- a/poky/meta/classes/ccache.bbclass
+++ b/poky/meta/classes/ccache.bbclass
@@ -1,5 +1,37 @@
-CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}"
-export CCACHE_DIR ?= "${TMPDIR}/ccache/${MULTIMACH_TARGET_SYS}/${PN}"
+#
+# Usage:
+# - Enable ccache
+# Add the following line to a conffile such as conf/local.conf:
+# INHERIT += "ccache"
+#
+# - Disable ccache for a recipe
+# Add the following line to the recipe if it can't be built with ccache:
+# CCACHE_DISABLE = '1'
+#
+# - Share ccache files between different builds
+# Set CCACHE_TOP_DIR to a shared dir
+# CCACHE_TOP_DIR = /path/to/shared_ccache/
+#
+# - TO debug ccahe
+# export CCACHE_DEBUG = "1"
+# export CCACHE_LOGFILE = "${CCACHE_DIR}/logfile.log"
+# And also set PARALLEL_MAKE = "-j 1" to get make the log in order
+#
+
+# Set it to a shared location for different builds, so that cache files can
+# be shared between different builds.
+CCACHE_TOP_DIR ?= "${TMPDIR}/ccache"
+
+# ccahe removes CCACHE_BASEDIR from file path, so that hashes will be the same
+# in different builds.
+export CCACHE_BASEDIR ?= "${TMPDIR}"
+
+# Used for sharing cache files after compiler is rebuilt
+export CCACHE_COMPILERCHECK ?= "%compiler% -dumpspecs"
+
+export CCACHE_CONFIGPATH ?= "${COREBASE}/meta/conf/ccache.conf"
+
+export CCACHE_DIR ?= "${CCACHE_TOP_DIR}/${MULTIMACH_TARGET_SYS}/${PN}"
# We need to stop ccache considering the current directory or the
# debug-prefix-map target directory to be significant when calculating
@@ -7,5 +39,28 @@ export CCACHE_DIR ?= "${TMPDIR}/ccache/${MULTIMACH_TARGET_SYS}/${PN}"
# ${PV} or ${PR} change.
export CCACHE_NOHASHDIR ?= "1"
-DEPENDS_append_class-target = " ccache-native"
-DEPENDS[vardepvalueexclude] = " ccache-native"
+python() {
+ """
+ Enable ccache for the recipe
+ """
+ pn = d.getVar('PN')
+ # quilt-native doesn't need ccache since no c files
+ if not (pn in ('ccache-native', 'quilt-native') or
+ bb.utils.to_boolean(d.getVar('CCACHE_DISABLE'))):
+ d.appendVar('DEPENDS', ' ccache-native')
+ d.setVar('CCACHE', 'ccache ')
+}
+
+addtask cleanccache after do_clean
+python do_cleanccache() {
+ import shutil
+
+ ccache_dir = d.getVar('CCACHE_DIR')
+ if os.path.exists(ccache_dir):
+ bb.note("Removing %s" % ccache_dir)
+ shutil.rmtree(ccache_dir)
+ else:
+ bb.note("%s doesn't exist" % ccache_dir)
+}
+addtask cleanall after do_cleanccache
+do_cleanccache[nostamp] = "1"
diff --git a/poky/meta/classes/clutter.bbclass b/poky/meta/classes/clutter.bbclass
index 5edab0e55..24b53a13e 100644
--- a/poky/meta/classes/clutter.bbclass
+++ b/poky/meta/classes/clutter.bbclass
@@ -14,4 +14,5 @@ REALNAME = "${@get_real_name("${BPN}")}"
SRC_URI = "${GNOME_MIRROR}/${REALNAME}/${VERMINOR}/${REALNAME}-${PV}.tar.xz;name=archive"
S = "${WORKDIR}/${REALNAME}-${PV}"
-inherit autotools pkgconfig gtk-doc gettext
+CLUTTERBASEBUILDCLASS ??= "autotools"
+inherit ${CLUTTERBASEBUILDCLASS} pkgconfig gtk-doc gettext
diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass
index b364d2bc2..e16630434 100644
--- a/poky/meta/classes/cmake.bbclass
+++ b/poky/meta/classes/cmake.bbclass
@@ -4,9 +4,6 @@ OECMAKE_SOURCEPATH ??= "${S}"
DEPENDS_prepend = "cmake-native "
B = "${WORKDIR}/build"
-# We need to unset CCACHE otherwise cmake gets too confused
-CCACHE = ""
-
# What CMake generator to use.
# The supported options are "Unix Makefiles" or "Ninja".
OECMAKE_GENERATOR ?= "Ninja"
@@ -23,10 +20,22 @@ python() {
d.setVarFlag("do_compile", "progress", r"outof:^\[(\d+)/(\d+)\]\s+")
else:
bb.fatal("Unknown CMake Generator %s" % generator)
+
+ # C/C++ Compiler (without cpu arch/tune arguments)
+ if not d.getVar('OECMAKE_C_COMPILER'):
+ cc_list = d.getVar('CC').split()
+ if cc_list[0] == 'ccache':
+ d.setVar('OECMAKE_C_COMPILER', '%s %s' % (cc_list[0], cc_list[1]))
+ else:
+ d.setVar('OECMAKE_C_COMPILER', cc_list[0])
+
+ if not d.getVar('OECMAKE_CXX_COMPILER'):
+ cxx_list = d.getVar('CXX').split()
+ if cxx_list[0] == 'ccache':
+ d.setVar('OECMAKE_CXX_COMPILER', '%s %s' % (cxx_list[0], cxx_list[1]))
+ else:
+ d.setVar('OECMAKE_CXX_COMPILER', cxx_list[0])
}
-# C/C++ Compiler (without cpu arch/tune arguments)
-OECMAKE_C_COMPILER ?= "`echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`"
-OECMAKE_CXX_COMPILER ?= "`echo ${CXX} | sed 's/^\([^ ]*\).*/\1/'`"
OECMAKE_AR ?= "${AR}"
# Compiler flags
@@ -108,6 +117,10 @@ list(APPEND CMAKE_MODULE_PATH "${STAGING_DATADIR}/cmake/Modules/")
# add for non /usr/lib libdir, e.g. /usr/lib64
set( CMAKE_LIBRARY_PATH ${libdir} ${base_libdir})
+# add include dir to implicit includes in case it differs from /usr/include
+list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES ${includedir})
+list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES ${includedir})
+
EOF
}
@@ -151,7 +164,6 @@ cmake_do_configure() {
-DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix'))} \
-DCMAKE_INSTALL_SO_NO_EXE=0 \
-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
- -DCMAKE_VERBOSE_MAKEFILE=1 \
-DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
${EXTRA_OECMAKE} \
-Wno-dev
diff --git a/poky/meta/classes/cml1.bbclass b/poky/meta/classes/cml1.bbclass
index 926747f2b..98d24cec7 100644
--- a/poky/meta/classes/cml1.bbclass
+++ b/poky/meta/classes/cml1.bbclass
@@ -26,7 +26,7 @@ python do_menuconfig() {
except OSError:
mtime = 0
- oe_terminal("${SHELL} -c \"make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
+ oe_terminal("sh -c \"make %s; if [ \\$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
d.getVar('PN') + ' Configuration', d)
# FIXME this check can be removed when the minimum bitbake version has been bumped
diff --git a/poky/meta/classes/compress_doc.bbclass b/poky/meta/classes/compress_doc.bbclass
index 45bb8fff6..d6d11fad2 100644
--- a/poky/meta/classes/compress_doc.bbclass
+++ b/poky/meta/classes/compress_doc.bbclass
@@ -160,6 +160,7 @@ def _is_compress_doc(file, compress_format_list):
return False, ''
def compress_doc(topdir, compress_mode, compress_cmds):
+ import subprocess
hardlink_dict = {}
for root, dirs, files in os.walk(topdir):
for f in files:
@@ -187,6 +188,7 @@ def compress_doc(topdir, compress_mode, compress_cmds):
# Decompress doc files which format is not compress_mode
def decompress_doc(topdir, compress_mode, decompress_cmds):
+ import subprocess
hardlink_dict = {}
decompress = True
for root, dirs, files in os.walk(topdir):
diff --git a/poky/meta/classes/cpan-base.bbclass b/poky/meta/classes/cpan-base.bbclass
index 577fcd63c..867edf870 100644
--- a/poky/meta/classes/cpan-base.bbclass
+++ b/poky/meta/classes/cpan-base.bbclass
@@ -2,7 +2,7 @@
# cpan-base providers various perl related information needed for building
# cpan modules
#
-FILES_${PN} += "${libdir}/perl ${datadir}/perl"
+FILES_${PN} += "${libdir}/perl5 ${datadir}/perl5"
DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}"
RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
@@ -14,5 +14,5 @@ def is_target(d):
return "yes"
return "no"
-PERLLIBDIRS = "${libdir}/perl"
-PERLLIBDIRS_class-native = "${libdir}/perl-native"
+PERLLIBDIRS = "${libdir}/perl5"
+PERLLIBDIRS_class-native = "${libdir}/perl5"
diff --git a/poky/meta/classes/cpan.bbclass b/poky/meta/classes/cpan.bbclass
index a5bc30189..e9908ae4b 100644
--- a/poky/meta/classes/cpan.bbclass
+++ b/poky/meta/classes/cpan.bbclass
@@ -10,13 +10,14 @@ EXTRA_PERLFLAGS ?= ""
export PERLCONFIGTARGET = "${@is_target(d)}"
# Env var which tells perl where the perl include files are
-export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE"
-export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
-export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
-export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${@get_perl_version(d)}/"
+export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE"
+export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
+export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/"
+export PERLHOSTARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/${@get_perl_hostarch(d)}/"
cpan_do_configure () {
- yes '' | perl ${EXTRA_PERLFLAGS} Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1 ${EXTRA_CPANFLAGS}
+ yes '' | perl ${EXTRA_PERLFLAGS} Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1 PERL=$(which perl) ${EXTRA_CPANFLAGS}
# Makefile.PLs can exit with success without generating a
# Makefile, e.g. in cases of missing configure time
@@ -27,7 +28,7 @@ cpan_do_configure () {
[ -e Makefile ] || bbfatal "No Makefile was generated by Makefile.PL"
if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
- . ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh
+ . ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh
# Use find since there can be a Makefile generated for each Makefile.PL
for f in `find -name Makefile.PL`; do
f2=`echo $f | sed -e 's/.PL//'`
diff --git a/poky/meta/classes/cpan_build.bbclass b/poky/meta/classes/cpan_build.bbclass
index 9a2ad895e..f3fb4666e 100644
--- a/poky/meta/classes/cpan_build.bbclass
+++ b/poky/meta/classes/cpan_build.bbclass
@@ -7,14 +7,15 @@ EXTRA_CPAN_BUILD_FLAGS ?= ""
# Env var which tells perl if it should use host (no) or target (yes) settings
export PERLCONFIGTARGET = "${@is_target(d)}"
-export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
-export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${@get_perl_version(d)}/"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
+export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/"
+export PERLHOSTARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/${@get_perl_hostarch(d)}/"
export LD = "${CCLD}"
cpan_build_do_configure () {
if [ "${@is_target(d)}" = "yes" ]; then
# build for target
- . ${STAGING_LIBDIR}/perl/config.sh
+ . ${STAGING_LIBDIR}/perl5/config.sh
fi
perl Build.PL --installdirs vendor --destdir ${D} \
diff --git a/poky/meta/classes/cross-canadian.bbclass b/poky/meta/classes/cross-canadian.bbclass
index acde331ef..f5c9f6159 100644
--- a/poky/meta/classes/cross-canadian.bbclass
+++ b/poky/meta/classes/cross-canadian.bbclass
@@ -8,6 +8,8 @@
# SDK packages are built either explicitly by the user,
# or indirectly via dependency. No need to be in 'world'.
EXCLUDE_FROM_WORLD = "1"
+NATIVESDKLIBC ?= "libc-glibc"
+LIBCOVERRIDE = ":${NATIVESDKLIBC}"
CLASSOVERRIDE = "class-cross-canadian"
STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}:${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
diff --git a/poky/meta/classes/cross.bbclass b/poky/meta/classes/cross.bbclass
index 34d7951f3..f832561da 100644
--- a/poky/meta/classes/cross.bbclass
+++ b/poky/meta/classes/cross.bbclass
@@ -17,6 +17,9 @@ HOST_CC_ARCH = "${BUILD_CC_ARCH}"
HOST_LD_ARCH = "${BUILD_LD_ARCH}"
HOST_AS_ARCH = "${BUILD_AS_ARCH}"
+# No strip sysroot when DEBUG_BUILD is enabled
+INHIBIT_SYSROOT_STRIP ?= "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}"
+
export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir} /lib /lib64 /usr/lib /usr/lib64"
STAGING_DIR_HOST = "${RECIPE_SYSROOT_NATIVE}"
diff --git a/poky/meta/classes/crosssdk.bbclass b/poky/meta/classes/crosssdk.bbclass
index fdaaac848..c0c0bfee1 100644
--- a/poky/meta/classes/crosssdk.bbclass
+++ b/poky/meta/classes/crosssdk.bbclass
@@ -1,6 +1,8 @@
inherit cross
CLASSOVERRIDE = "class-crosssdk"
+NATIVESDKLIBC ?= "libc-glibc"
+LIBCOVERRIDE = ":${NATIVESDKLIBC}"
MACHINEOVERRIDES = ""
PACKAGE_ARCH = "${SDK_ARCH}"
python () {
diff --git a/poky/meta/classes/debian.bbclass b/poky/meta/classes/debian.bbclass
index 989ea8f8d..6f8a599cc 100644
--- a/poky/meta/classes/debian.bbclass
+++ b/poky/meta/classes/debian.bbclass
@@ -29,11 +29,11 @@ python debian_package_name_hook () {
pkgdest = d.getVar("PKGDEST")
packages = d.getVar('PACKAGES')
- so_re = re.compile("lib.*\.so")
+ so_re = re.compile(r"lib.*\.so")
def socrunch(s):
s = s.lower().replace('_', '-')
- m = re.match("^(.*)(.)\.so\.(.*)$", s)
+ m = re.match(r"^(.*)(.)\.so\.(.*)$", s)
if m is None:
return None
if m.group(2) in '0123456789':
@@ -79,7 +79,7 @@ python debian_package_name_hook () {
try:
cmd = [d.expand("${TARGET_PREFIX}objdump"), "-p", f]
output = subprocess.check_output(cmd).decode("utf-8")
- for m in re.finditer("\s+SONAME\s+([^\s]+)", output):
+ for m in re.finditer(r"\s+SONAME\s+([^\s]+)", output):
if m.group(1) not in sonames:
sonames.append(m.group(1))
except subprocess.CalledProcessError:
diff --git a/poky/meta/classes/devicetree.bbclass b/poky/meta/classes/devicetree.bbclass
index 8fe5a5ed7..5c03e4b0f 100644
--- a/poky/meta/classes/devicetree.bbclass
+++ b/poky/meta/classes/devicetree.bbclass
@@ -27,6 +27,8 @@ inherit deploy kernel-arch
COMPATIBLE_MACHINE ?= "^$"
+PROVIDES = "virtual/dtb"
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
SYSROOT_DIRS += "/boot/devicetree"
@@ -120,9 +122,12 @@ python devicetree_do_compile() {
includes = expand_includes("DT_INCLUDE", d)
listpath = d.getVar("DT_FILES_PATH")
for dts in os.listdir(listpath):
- if not dts.endswith(".dts"):
- continue # skip non-.dts files
dtspath = os.path.join(listpath, dts)
+ try:
+ if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or devicetree_source_is_overlay(dtspath)):
+ continue # skip non-.dts files and non-overlay files
+ except:
+ continue # skip if can't determine if overlay
devicetree_compile(dtspath, includes, d)
}
diff --git a/poky/meta/classes/devtool-source.bbclass b/poky/meta/classes/devtool-source.bbclass
index 1372e32c9..a8110006f 100644
--- a/poky/meta/classes/devtool-source.bbclass
+++ b/poky/meta/classes/devtool-source.bbclass
@@ -103,8 +103,10 @@ python devtool_post_unpack() {
for l in sccfile:
line = l.split()
if line and line[0] in ('kconf', 'patch'):
- local_files[line[-1]] = os.path.join(os.path.dirname(local_files[key]), line[-1])
- shutil.copy2(os.path.join(os.path.dirname(local_files[key]), line[-1]), workdir)
+ cfg = os.path.join(os.path.dirname(local_files[key]), line[-1])
+ if not cfg in local_files.values():
+ local_files[line[-1]] = cfg
+ shutil.copy2(cfg, workdir)
sccfile.close()
# Ignore local files with subdir={BP}
diff --git a/poky/meta/classes/distro_features_check.bbclass b/poky/meta/classes/distro_features_check.bbclass
index 9b78b03ef..eeaa3b44c 100644
--- a/poky/meta/classes/distro_features_check.bbclass
+++ b/poky/meta/classes/distro_features_check.bbclass
@@ -11,27 +11,22 @@
python () {
# Assume at least one var is set.
- distro_features = (d.getVar('DISTRO_FEATURES') or "").split()
+ distro_features = set((d.getVar('DISTRO_FEATURES') or '').split())
- any_of_distro_features = d.getVar('ANY_OF_DISTRO_FEATURES')
+ any_of_distro_features = set((d.getVar('ANY_OF_DISTRO_FEATURES') or '').split())
if any_of_distro_features:
- any_of_distro_features = any_of_distro_features.split()
- if set.isdisjoint(set(any_of_distro_features),set(distro_features)):
- raise bb.parse.SkipRecipe("one of '%s' needs to be in DISTRO_FEATURES" % any_of_distro_features)
+ if set.isdisjoint(any_of_distro_features, distro_features):
+ raise bb.parse.SkipRecipe("one of '%s' needs to be in DISTRO_FEATURES" % ' '.join(any_of_distro_features))
- required_distro_features = d.getVar('REQUIRED_DISTRO_FEATURES')
+ required_distro_features = set((d.getVar('REQUIRED_DISTRO_FEATURES') or '').split())
if required_distro_features:
- required_distro_features = required_distro_features.split()
- for f in required_distro_features:
- if f in distro_features:
- continue
- else:
- raise bb.parse.SkipRecipe("missing required distro feature '%s' (not in DISTRO_FEATURES)" % f)
+ missing = set.difference(required_distro_features, distro_features)
+ if missing:
+ raise bb.parse.SkipRecipe("missing required distro feature%s '%s' (not in DISTRO_FEATURES)" % ('s' if len(missing) > 1 else '', ' '.join(missing)))
- conflict_distro_features = d.getVar('CONFLICT_DISTRO_FEATURES')
+ conflict_distro_features = set((d.getVar('CONFLICT_DISTRO_FEATURES') or '').split())
if conflict_distro_features:
- conflict_distro_features = conflict_distro_features.split()
- for f in conflict_distro_features:
- if f in distro_features:
- raise bb.parse.SkipRecipe("conflicting distro feature '%s' (in DISTRO_FEATURES)" % f)
+ conflicts = set.intersection(conflict_distro_features, distro_features)
+ if conflicts:
+ raise bb.parse.SkipRecipe("conflicting distro feature%s '%s' (in DISTRO_FEATURES)" % ('s' if len(conflicts) > 1 else '', ' '.join(conflicts)))
}
diff --git a/poky/meta/classes/distrodata.bbclass b/poky/meta/classes/distrodata.bbclass
deleted file mode 100644
index 59ee8cea6..000000000
--- a/poky/meta/classes/distrodata.bbclass
+++ /dev/null
@@ -1,427 +0,0 @@
-include conf/distro/include/upstream_tracking.inc
-include conf/distro/include/distro_alias.inc
-include conf/distro/include/maintainers.inc
-
-addhandler distro_eventhandler
-distro_eventhandler[eventmask] = "bb.event.BuildStarted"
-python distro_eventhandler() {
- import oe.distro_check as dc
- import csv
- logfile = dc.create_log_file(e.data, "distrodata.csv")
-
- lf = bb.utils.lockfile("%s.lock" % logfile)
- with open(logfile, "a") as f:
- writer = csv.writer(f)
- writer.writerow(['Package', 'Description', 'Owner', 'License',
- 'VerMatch', 'Version', 'Upstream', 'Reason', 'Recipe Status',
- 'Distro 1', 'Distro 2', 'Distro 3'])
- f.close()
- bb.utils.unlockfile(lf)
-
- return
-}
-
-addtask distrodata_np
-do_distrodata_np[nostamp] = "1"
-python do_distrodata_np() {
- localdata = bb.data.createCopy(d)
- pn = d.getVar("PN")
- bb.note("Package Name: %s" % pn)
-
- import oe.distro_check as dist_check
- tmpdir = d.getVar('TMPDIR')
- distro_check_dir = os.path.join(tmpdir, "distro_check")
- datetime = localdata.getVar('DATETIME')
- dist_check.update_distro_data(distro_check_dir, datetime, localdata)
-
- if pn.find("-native") != -1:
- pnstripped = pn.split("-native")
- bb.note("Native Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- if pn.find("-cross") != -1:
- pnstripped = pn.split("-cross")
- bb.note("cross Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- if pn.find("-crosssdk") != -1:
- pnstripped = pn.split("-crosssdk")
- bb.note("cross Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- if pn.startswith("nativesdk-"):
- pnstripped = pn.replace("nativesdk-", "")
- bb.note("NativeSDK Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped + ":" + d.getVar('OVERRIDES'))
-
-
- if pn.find("-initial") != -1:
- pnstripped = pn.split("-initial")
- bb.note("initial Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- """generate package information from .bb file"""
- pname = localdata.getVar('PN')
- pcurver = localdata.getVar('PV')
- pdesc = localdata.getVar('DESCRIPTION')
- if pdesc is not None:
- pdesc = pdesc.replace(',','')
- pdesc = pdesc.replace('\n','')
-
- pgrp = localdata.getVar('SECTION')
- plicense = localdata.getVar('LICENSE').replace(',','_')
-
- rstatus = localdata.getVar('RECIPE_COLOR')
- if rstatus is not None:
- rstatus = rstatus.replace(',','')
-
- pupver = localdata.getVar('RECIPE_UPSTREAM_VERSION')
- if pcurver == pupver:
- vermatch="1"
- else:
- vermatch="0"
- noupdate_reason = localdata.getVar('RECIPE_NO_UPDATE_REASON')
- if noupdate_reason is None:
- noupdate="0"
- else:
- noupdate="1"
- noupdate_reason = noupdate_reason.replace(',','')
-
- maintainer = localdata.getVar('RECIPE_MAINTAINER')
- rlrd = localdata.getVar('RECIPE_UPSTREAM_DATE')
- result = dist_check.compare_in_distro_packages_list(distro_check_dir, localdata)
-
- bb.note("DISTRO: %s,%s,%s,%s,%s,%s,%s,%s,%s\n" % \
- (pname, pdesc, maintainer, plicense, vermatch, pcurver, pupver, noupdate_reason, rstatus))
- line = pn
- for i in result:
- line = line + "," + i
- bb.note("%s\n" % line)
-}
-do_distrodata_np[vardepsexclude] = "DATETIME"
-
-addtask distrodata
-do_distrodata[nostamp] = "1"
-python do_distrodata() {
- import csv
- logpath = d.getVar('LOG_DIR')
- bb.utils.mkdirhier(logpath)
- logfile = os.path.join(logpath, "distrodata.csv")
-
- import oe.distro_check as dist_check
- localdata = bb.data.createCopy(d)
- tmpdir = d.getVar('TMPDIR')
- distro_check_dir = os.path.join(tmpdir, "distro_check")
- datetime = localdata.getVar('DATETIME')
- dist_check.update_distro_data(distro_check_dir, datetime, localdata)
-
- pn = d.getVar("PN")
- bb.note("Package Name: %s" % pn)
-
- if pn.find("-native") != -1:
- pnstripped = pn.split("-native")
- bb.note("Native Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- if pn.startswith("nativesdk-"):
- pnstripped = pn.replace("nativesdk-", "")
- bb.note("NativeSDK Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped + ":" + d.getVar('OVERRIDES'))
-
- if pn.find("-cross") != -1:
- pnstripped = pn.split("-cross")
- bb.note("cross Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- if pn.find("-crosssdk") != -1:
- pnstripped = pn.split("-crosssdk")
- bb.note("cross Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- if pn.find("-initial") != -1:
- pnstripped = pn.split("-initial")
- bb.note("initial Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- """generate package information from .bb file"""
- pname = localdata.getVar('PN')
- pcurver = localdata.getVar('PV')
- pdesc = localdata.getVar('DESCRIPTION')
- if pdesc is not None:
- pdesc = pdesc.replace(',','')
- pdesc = pdesc.replace('\n','')
-
- pgrp = localdata.getVar('SECTION')
- plicense = localdata.getVar('LICENSE').replace(',','_')
-
- rstatus = localdata.getVar('RECIPE_COLOR')
- if rstatus is not None:
- rstatus = rstatus.replace(',','')
-
- pupver = localdata.getVar('RECIPE_UPSTREAM_VERSION')
- if pcurver == pupver:
- vermatch="1"
- else:
- vermatch="0"
-
- noupdate_reason = localdata.getVar('RECIPE_NO_UPDATE_REASON')
- if noupdate_reason is None:
- noupdate="0"
- else:
- noupdate="1"
- noupdate_reason = noupdate_reason.replace(',','')
-
- maintainer = localdata.getVar('RECIPE_MAINTAINER')
- rlrd = localdata.getVar('RECIPE_UPSTREAM_DATE')
- # do the comparison
- result = dist_check.compare_in_distro_packages_list(distro_check_dir, localdata)
-
- lf = bb.utils.lockfile("%s.lock" % logfile)
- with open(logfile, "a") as f:
- row = [pname, pdesc, maintainer, plicense, vermatch, pcurver, pupver, noupdate_reason, rstatus]
- row.extend(result)
-
- writer = csv.writer(f)
- writer.writerow(row)
- f.close()
- bb.utils.unlockfile(lf)
-}
-do_distrodata[vardepsexclude] = "DATETIME"
-
-addhandler checkpkg_eventhandler
-checkpkg_eventhandler[eventmask] = "bb.event.BuildStarted bb.event.BuildCompleted"
-python checkpkg_eventhandler() {
- import csv
-
- def parse_csv_file(filename):
- package_dict = {}
-
- with open(filename, "r") as f:
- reader = csv.reader(f, delimiter='\t')
- for row in reader:
- pn = row[0]
-
- if reader.line_num == 1:
- header = row
- continue
-
- if not pn in package_dict.keys():
- package_dict[pn] = row
- f.close()
-
- with open(filename, "w") as f:
- writer = csv.writer(f, delimiter='\t')
- writer.writerow(header)
- for pn in package_dict.keys():
- writer.writerow(package_dict[pn])
- f.close()
-
- del package_dict
-
- if bb.event.getName(e) == "BuildStarted":
- import oe.distro_check as dc
- logfile = dc.create_log_file(e.data, "checkpkg.csv")
-
- lf = bb.utils.lockfile("%s.lock" % logfile)
- with open(logfile, "a") as f:
- writer = csv.writer(f, delimiter='\t')
- headers = ['Package', 'Version', 'Upver', 'License', 'Section',
- 'Home', 'Release', 'Depends', 'BugTracker', 'PE', 'Description',
- 'Status', 'Tracking', 'URI', 'MAINTAINER', 'NoUpReason']
- writer.writerow(headers)
- f.close()
- bb.utils.unlockfile(lf)
- elif bb.event.getName(e) == "BuildCompleted":
- import os
- filename = "tmp/log/checkpkg.csv"
- if os.path.isfile(filename):
- lf = bb.utils.lockfile("%s.lock"%filename)
- parse_csv_file(filename)
- bb.utils.unlockfile(lf)
- return
-}
-
-addtask checkpkg
-do_checkpkg[nostamp] = "1"
-python do_checkpkg() {
- localdata = bb.data.createCopy(d)
- import csv
- import re
- import tempfile
- import subprocess
- import oe.recipeutils
- from bb.utils import vercmp_string
- from bb.fetch2 import FetchError, NoMethodError, decodeurl
-
- def get_upstream_version_and_status():
-
- # set if the upstream check fails reliably, e.g. absent git tags, or weird version format used on our or on upstream side.
- upstream_version_unknown = localdata.getVar('UPSTREAM_VERSION_UNKNOWN')
- # set if the upstream check cannot be reliably performed due to transient network failures, or server behaving weirdly.
- # This one should be used sparingly, as it completely excludes a recipe from upstream checking.
- upstream_check_unreliable = localdata.getVar('UPSTREAM_CHECK_UNRELIABLE')
-
- if upstream_check_unreliable == "1":
- return "N/A", "CHECK_IS_UNRELIABLE"
-
- uv = oe.recipeutils.get_recipe_upstream_version(localdata)
- pupver = uv['version'] if uv['version'] else "N/A"
- pversion = uv['current_version']
- revision = uv['revision'] if uv['revision'] else "N/A"
-
- if pupver == "N/A":
- pstatus = "UNKNOWN" if upstream_version_unknown else "UNKNOWN_BROKEN"
- else:
- cmp = vercmp_string(pversion, pupver)
- if cmp == -1:
- pstatus = "UPDATE" if not upstream_version_unknown else "KNOWN_BROKEN"
- elif cmp == 0:
- pstatus = "MATCH" if not upstream_version_unknown else "KNOWN_BROKEN"
- else:
- pstatus = "UNKNOWN" if upstream_version_unknown else "UNKNOWN_BROKEN"
-
- return pversion, pupver, pstatus, revision
-
-
- """initialize log files."""
- logpath = d.getVar('LOG_DIR')
- bb.utils.mkdirhier(logpath)
- logfile = os.path.join(logpath, "checkpkg.csv")
-
- """generate package information from .bb file"""
- pname = d.getVar('PN')
-
- if pname.find("-native") != -1:
- if d.getVar('BBCLASSEXTEND'):
- return
- pnstripped = pname.split("-native")
- bb.note("Native Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- if pname.startswith("nativesdk-"):
- if d.getVar('BBCLASSEXTEND'):
- return
- pnstripped = pname.replace("nativesdk-", "")
- bb.note("NativeSDK Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped + ":" + d.getVar('OVERRIDES'))
-
- if pname.find("-cross") != -1:
- pnstripped = pname.split("-cross")
- bb.note("cross Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- if pname.find("-initial") != -1:
- pnstripped = pname.split("-initial")
- bb.note("initial Split: %s" % pnstripped)
- localdata.setVar('OVERRIDES', "pn-" + pnstripped[0] + ":" + d.getVar('OVERRIDES'))
-
- pdesc = localdata.getVar('DESCRIPTION')
- pgrp = localdata.getVar('SECTION')
- plicense = localdata.getVar('LICENSE')
- psection = localdata.getVar('SECTION')
- phome = localdata.getVar('HOMEPAGE')
- prelease = localdata.getVar('PR')
- pdepends = localdata.getVar('DEPENDS')
- pbugtracker = localdata.getVar('BUGTRACKER')
- ppe = localdata.getVar('PE')
- psrcuri = localdata.getVar('SRC_URI')
- maintainer = localdata.getVar('RECIPE_MAINTAINER')
-
- pversion, pupver, pstatus, prevision = get_upstream_version_and_status()
-
- if psrcuri:
- psrcuri = psrcuri.split()[0]
- else:
- psrcuri = "none"
- pdepends = "".join(pdepends.split("\t"))
- pdesc = "".join(pdesc.split("\t"))
- no_upgr_reason = d.getVar('RECIPE_NO_UPDATE_REASON')
- lf = bb.utils.lockfile("%s.lock" % logfile)
- with open(logfile, "a") as f:
- writer = csv.writer(f, delimiter='\t')
- writer.writerow([pname, pversion, pupver, plicense, psection, phome,
- prelease, pdepends, pbugtracker, ppe, pdesc, pstatus, prevision,
- psrcuri, maintainer, no_upgr_reason])
- f.close()
- bb.utils.unlockfile(lf)
-}
-
-addhandler distro_check_eventhandler
-distro_check_eventhandler[eventmask] = "bb.event.BuildStarted"
-python distro_check_eventhandler() {
- """initialize log files."""
- import oe.distro_check as dc
- result_file = dc.create_log_file(e.data, "distrocheck.csv")
- return
-}
-
-addtask distro_check
-do_distro_check[nostamp] = "1"
-do_distro_check[vardepsexclude] += "DATETIME"
-python do_distro_check() {
- """checks if the package is present in other public Linux distros"""
- import oe.distro_check as dc
- import shutil
- if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('sdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('nativesdk',d):
- return
-
- localdata = bb.data.createCopy(d)
- tmpdir = d.getVar('TMPDIR')
- distro_check_dir = os.path.join(tmpdir, "distro_check")
- logpath = d.getVar('LOG_DIR')
- bb.utils.mkdirhier(logpath)
- result_file = os.path.join(logpath, "distrocheck.csv")
- datetime = localdata.getVar('DATETIME')
- dc.update_distro_data(distro_check_dir, datetime, localdata)
-
- # do the comparison
- result = dc.compare_in_distro_packages_list(distro_check_dir, d)
-
- # save the results
- dc.save_distro_check_result(result, datetime, result_file, d)
-}
-
-#
-#Check Missing License Text.
-#Use this task to generate the missing license text data for pkg-report system,
-#then we can search those recipes which license text isn't exsit in common-licenses directory
-#
-addhandler checklicense_eventhandler
-checklicense_eventhandler[eventmask] = "bb.event.BuildStarted"
-python checklicense_eventhandler() {
- """initialize log files."""
- import csv
- import oe.distro_check as dc
- logfile = dc.create_log_file(e.data, "missinglicense.csv")
- lf = bb.utils.lockfile("%s.lock" % logfile)
- with open(logfile, "a") as f:
- writer = csv.writer(f, delimiter='\t')
- writer.writerow(['Package', 'License', 'MissingLicense'])
- f.close()
- bb.utils.unlockfile(lf)
- return
-}
-
-addtask checklicense
-do_checklicense[nostamp] = "1"
-python do_checklicense() {
- import csv
- import shutil
- logpath = d.getVar('LOG_DIR')
- bb.utils.mkdirhier(logpath)
- pn = d.getVar('PN')
- logfile = os.path.join(logpath, "missinglicense.csv")
- generic_directory = d.getVar('COMMON_LICENSE_DIR')
- license_types = d.getVar('LICENSE')
- for license_type in ((license_types.replace('+', '').replace('|', '&')
- .replace('(', '').replace(')', '').replace(';', '')
- .replace(',', '').replace(" ", "").split("&"))):
- if not os.path.isfile(os.path.join(generic_directory, license_type)):
- lf = bb.utils.lockfile("%s.lock" % logfile)
- with open(logfile, "a") as f:
- writer = csv.writer(f, delimiter='\t')
- writer.writerow([pn, license_types, license_type])
- f.close()
- bb.utils.unlockfile(lf)
- return
-}
diff --git a/poky/meta/classes/distutils-tools.bbclass b/poky/meta/classes/distutils-tools.bbclass
deleted file mode 100644
index 6f2880ea0..000000000
--- a/poky/meta/classes/distutils-tools.bbclass
+++ /dev/null
@@ -1,73 +0,0 @@
-DISTUTILS_BUILD_ARGS ?= ""
-DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
-DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
- --install-data=${STAGING_DATADIR}"
-DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
- --install-data=${D}/${datadir}"
-
-distutils_do_compile() {
- STAGING_INCDIR=${STAGING_INCDIR} \
- STAGING_LIBDIR=${STAGING_LIBDIR} \
- ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py build ${DISTUTILS_BUILD_ARGS} || \
- bbfatal_log "${PYTHON_PN} setup.py build_ext execution failed."
-}
-
-distutils_stage_headers() {
- install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
- ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \
- bbfatal_log "${PYTHON_PN} setup.py install_headers execution failed."
-}
-
-distutils_stage_all() {
- STAGING_INCDIR=${STAGING_INCDIR} \
- STAGING_LIBDIR=${STAGING_LIBDIR} \
- install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
- PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \
- ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \
- bbfatal_log "${PYTHON_PN} setup.py install (stage) execution failed."
-}
-
-distutils_do_install() {
- echo "Beginning ${PN} Install ..."
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}
- echo "Step 2 of ${PN} Install ..."
- STAGING_INCDIR=${STAGING_INCDIR} \
- STAGING_LIBDIR=${STAGING_LIBDIR} \
- PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \
- ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
- bbfatal_log "${PYTHON_PN} setup.py install execution failed."
-
- echo "Step 3 of ${PN} Install ..."
- # support filenames with *spaces*
- find ${D} -name "*.py" -print0 | while read -d $'\0' i ; do \
- sed -i -e s:${D}::g $i
- done
-
- echo "Step 4 of ${PN} Install ..."
- if test -e ${D}${bindir} ; then
- for i in ${D}${bindir}/* ; do \
- sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
- done
- fi
-
- echo "Step 4 of ${PN} Install ..."
- if test -e ${D}${sbindir}; then
- for i in ${D}${sbindir}/* ; do \
- sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
- done
- fi
-
- echo "Step 5 of ${PN} Install ..."
- rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth
-
- #
- # FIXME: Bandaid against wrong datadir computation
- #
- if [ -e ${D}${datadir}/share ]; then
- mv -f ${D}${datadir}/share/* ${D}${datadir}/
- fi
-}
-
-#EXPORT_FUNCTIONS do_compile do_install
-
-export LDSHARED="${CCLD} -shared"
diff --git a/poky/meta/classes/extrausers.bbclass b/poky/meta/classes/extrausers.bbclass
index 7709407b6..32569e97d 100644
--- a/poky/meta/classes/extrausers.bbclass
+++ b/poky/meta/classes/extrausers.bbclass
@@ -1,18 +1,17 @@
-# This bbclass is mainly used for image level user/group configuration.
+# This bbclass is used for image level user/group configuration.
# Inherit this class if you want to make EXTRA_USERS_PARAMS effective.
# Below is an example showing how to use this functionality.
-# INHERIT += "extrausers"
+# IMAGE_CLASSES += "extrausers"
# EXTRA_USERS_PARAMS = "\
-# useradd -p '' tester; \
-# groupadd developers; \
-# userdel nobody; \
-# groupdel -g video; \
-# groupmod -g 1020 developers; \
-# usermod -s /bin/sh tester; \
+# useradd -p '' tester; \
+# groupadd developers; \
+# userdel nobody; \
+# groupdel -g video; \
+# groupmod -g 1020 developers; \
+# usermod -s /bin/sh tester; \
# "
-
inherit useradd_base
PACKAGE_INSTALL_append = " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS'))]}"
diff --git a/poky/meta/classes/fontcache.bbclass b/poky/meta/classes/fontcache.bbclass
index f71a754a4..13f9df159 100644
--- a/poky/meta/classes/fontcache.bbclass
+++ b/poky/meta/classes/fontcache.bbclass
@@ -20,6 +20,7 @@ if [ -n "$D" ] ; then
$INTERCEPT_DIR/postinst_intercept update_font_cache ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} \
'bindir="${bindir}"' \
'libdir="${libdir}"' \
+ 'libexecdir="${libexecdir}"' \
'base_libdir="${base_libdir}"' \
'fontconfigcachedir="${FONTCONFIG_CACHE_DIR}"' \
'fontconfigcacheparams="${FONTCONFIG_CACHE_PARAMS}"' \
diff --git a/poky/meta/classes/gconf.bbclass b/poky/meta/classes/gconf.bbclass
index 4e0ee2e7d..3e3c509d5 100644
--- a/poky/meta/classes/gconf.bbclass
+++ b/poky/meta/classes/gconf.bbclass
@@ -49,7 +49,7 @@ python populate_packages_append () {
for pkg in packages:
schema_dir = '%s/%s/etc/gconf/schemas' % (pkgdest, pkg)
schemas = []
- schema_re = re.compile(".*\.schemas$")
+ schema_re = re.compile(r".*\.schemas$")
if os.path.exists(schema_dir):
for f in os.listdir(schema_dir):
if schema_re.match(f):
diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass
index af331f801..7069c5fec 100644
--- a/poky/meta/classes/go.bbclass
+++ b/poky/meta/classes/go.bbclass
@@ -45,7 +45,6 @@ GO_INSTALL_FILTEROUT ?= "${GO_IMPORT}/vendor/"
B = "${WORKDIR}/build"
export GOPATH = "${B}"
-export GOCACHE = "off"
export GOTMPDIR ?= "${WORKDIR}/go-tmp"
GOTMPDIR[vardepvalue] = ""
diff --git a/poky/meta/classes/goarch.bbclass b/poky/meta/classes/goarch.bbclass
index b2c94fadd..7aaf26aed 100644
--- a/poky/meta/classes/goarch.bbclass
+++ b/poky/meta/classes/goarch.bbclass
@@ -42,6 +42,10 @@ TUNE_CCARGS_remove = "-march=mips32r2"
SECURITY_CFLAGS_mipsarch = "${SECURITY_NOPIE_CFLAGS}"
SECURITY_NOPIE_CFLAGS ??= ""
+# go can't be built with ccache:
+# gcc: fatal error: no input files
+CCACHE_DISABLE ?= "1"
+
def go_map_arch(a, d):
import re
if re.match('i.86', a):
@@ -64,6 +68,8 @@ def go_map_arch(a, d):
return 'ppc64'
elif re.match('p(pc|owerpc)(64el)', a):
return 'ppc64le'
+ elif a == 'riscv64':
+ return 'riscv64'
else:
raise bb.parse.SkipRecipe("Unsupported CPU architecture: %s" % a)
diff --git a/poky/meta/classes/gobject-introspection.bbclass b/poky/meta/classes/gobject-introspection.bbclass
index a323c1fc8..4ceb0c68b 100644
--- a/poky/meta/classes/gobject-introspection.bbclass
+++ b/poky/meta/classes/gobject-introspection.bbclass
@@ -25,7 +25,7 @@ DEPENDS_append_class-native = " gobject-introspection-native"
DEPENDS_append_class-nativesdk = " gobject-introspection-native"
# This is used by introspection tools to find .gir includes
-export XDG_DATA_DIRS = "${STAGING_DATADIR}"
+export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
do_configure_prepend_class-target () {
# introspection.m4 pre-packaged with upstream tarballs does not yet
diff --git a/poky/meta/classes/gsettings.bbclass b/poky/meta/classes/gsettings.bbclass
index eae3dc799..33afc96a9 100644
--- a/poky/meta/classes/gsettings.bbclass
+++ b/poky/meta/classes/gsettings.bbclass
@@ -7,32 +7,36 @@
# TODO use a trigger so that this runs once per package operation run
-
-RDEPENDS_${PN} += "glib-2.0-utils"
-
-FILES_${PN} += "${datadir}/glib-2.0/schemas"
-
-PACKAGE_WRITE_DEPS += "glib-2.0-native"
+GSETTINGS_PACKAGE ?= "${PN}"
+
+python __anonymous() {
+ pkg = d.getVar("GSETTINGS_PACKAGE")
+ if pkg:
+ d.appendVar("PACKAGE_WRITE_DEPS", " glib-2.0-native")
+ d.appendVar("RDEPENDS_" + pkg, " ${MLPREFIX}glib-2.0-utils")
+ d.appendVar("FILES_" + pkg, " ${datadir}/glib-2.0/schemas")
+}
gsettings_postinstrm () {
glib-compile-schemas $D${datadir}/glib-2.0/schemas
}
python populate_packages_append () {
- pkg = d.getVar('PN')
- bb.note("adding gsettings postinst scripts to %s" % pkg)
-
- postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
- if not postinst:
- postinst = '#!/bin/sh\n'
- postinst += d.getVar('gsettings_postinstrm')
- d.setVar('pkg_postinst_%s' % pkg, postinst)
-
- bb.note("adding gsettings postrm scripts to %s" % pkg)
-
- postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
- if not postrm:
- postrm = '#!/bin/sh\n'
- postrm += d.getVar('gsettings_postinstrm')
- d.setVar('pkg_postrm_%s' % pkg, postrm)
+ pkg = d.getVar('GSETTINGS_PACKAGE')
+ if pkg:
+ bb.note("adding gsettings postinst scripts to %s" % pkg)
+
+ postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
+ if not postinst:
+ postinst = '#!/bin/sh\n'
+ postinst += d.getVar('gsettings_postinstrm')
+ d.setVar('pkg_postinst_%s' % pkg, postinst)
+
+ bb.note("adding gsettings postrm scripts to %s" % pkg)
+
+ postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
+ if not postrm:
+ postrm = '#!/bin/sh\n'
+ postrm += d.getVar('gsettings_postinstrm')
+ d.setVar('pkg_postrm_%s' % pkg, postrm)
}
diff --git a/poky/meta/classes/gtk-doc.bbclass b/poky/meta/classes/gtk-doc.bbclass
index b4f675490..707d74d10 100644
--- a/poky/meta/classes/gtk-doc.bbclass
+++ b/poky/meta/classes/gtk-doc.bbclass
@@ -41,7 +41,7 @@ do_compile_prepend_class-target () {
if [ ${GTKDOC_ENABLED} = True ]; then
# Write out a qemu wrapper that will be given to gtkdoc-scangobj so that it
# can run target helper binaries through that.
- qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
+ qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
cat > ${B}/gtkdoc-qemuwrapper << EOF
#!/bin/sh
# Use a modules directory which doesn't exist so we don't load random things
@@ -51,6 +51,9 @@ export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
GIR_EXTRA_LIBS_PATH=\`find ${B} -name *.so -printf "%h\n"|sort|uniq| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH
GIR_EXTRA_LIBS_PATH=\`find ${B} -name .libs| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH
+# meson sets this wrongly (only to libs in build-dir), qemu-wrapper_cmdline() and GIR_EXTRA_LIBS_PATH take care of it properly
+unset LD_LIBRARY_PATH
+
if [ -d ".libs" ]; then
$qemu_binary ".libs/\$@"
else
diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass
index 7d94525d3..6d003dcce 100644
--- a/poky/meta/classes/icecc.bbclass
+++ b/poky/meta/classes/icecc.bbclass
@@ -34,6 +34,7 @@ BB_HASHBASE_WHITELIST += "ICECC_PARALLEL_MAKE ICECC_DISABLED ICECC_USER_PACKAGE_
ICECC_DEBUG ICECC_LOGFILE ICECC_REPEAT_RATE ICECC_PREFERRED_HOST \
ICECC_CLANG_REMOTE_CPP ICECC_IGNORE_UNVERIFIED ICECC_TEST_SOCKET \
ICECC_ENV_DEBUG ICECC_SYSTEM_PACKAGE_BL ICECC_SYSTEM_CLASS_BL \
+ ICECC_REMOTE_CPP \
"
ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env"
@@ -56,6 +57,8 @@ ICECC_ENV_VERSION = "2"
# See: https://github.com/icecc/icecream/issues/190
export ICECC_CARET_WORKAROUND ??= "0"
+export ICECC_REMOTE_CPP ??= "1"
+
ICECC_CFLAGS = ""
CFLAGS += "${ICECC_CFLAGS}"
CXXFLAGS += "${ICECC_CFLAGS}"
@@ -130,6 +133,13 @@ def use_icecc(bb,d):
return "no"
pn = d.getVar('PN')
+ bpn = d.getVar('BPN')
+
+ # Blacklist/whitelist checks are made against BPN, because there is a good
+ # chance that if icecc should be skipped for a recipe, it should be skipped
+ # for all the variants of that recipe. PN is still checked in case a user
+ # specified a more specific recipe.
+ check_pn = set([pn, bpn])
system_class_blacklist = (d.getVar('ICECC_SYSTEM_CLASS_BL') or "").split()
user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split()
@@ -145,11 +155,11 @@ def use_icecc(bb,d):
user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split()
package_blacklist = system_package_blacklist + user_package_blacklist
- if pn in package_blacklist:
+ if check_pn & set(package_blacklist):
bb.debug(1, "%s: found in blacklist, disable icecc" % pn)
return "no"
- if pn in user_package_whitelist:
+ if check_pn & set(user_package_whitelist):
bb.debug(1, "%s: found in whitelist, enable icecc" % pn)
return "yes"
@@ -379,7 +389,7 @@ set_icecc_env() {
${ICECC_ENV_EXEC} ${ICECC_ENV_DEBUG} "${ICECC_CC}" "${ICECC_CXX}" "${ICECC_AS}" "${ICECC_VERSION}"
then
touch "${ICECC_VERSION}.done"
- elif ! wait_for_file "${ICECC_VERSION}.done" 30
+ elif ! wait_for_file "${ICECC_VERSION}.done" 30
then
# locking failed so wait for ${ICECC_VERSION}.done to appear
bbwarn "Timeout waiting for ${ICECC_VERSION}.done"
@@ -395,7 +405,8 @@ set_icecc_env() {
export ICECC_VERSION ICECC_CC ICECC_CXX
export PATH="$ICE_PATH:$PATH"
- bbnote "Using icecc"
+ bbnote "Using icecc path: $ICE_PATH"
+ bbnote "Using icecc tarball: $ICECC_VERSION"
}
do_configure_prepend() {
diff --git a/poky/meta/classes/image-buildinfo.bbclass b/poky/meta/classes/image-buildinfo.bbclass
index 87a6a1a48..94c585d4c 100644
--- a/poky/meta/classes/image-buildinfo.bbclass
+++ b/poky/meta/classes/image-buildinfo.bbclass
@@ -16,9 +16,8 @@ IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION"
IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/build"
# From buildhistory.bbclass
-def image_buildinfo_outputvars(vars, listvars, d):
+def image_buildinfo_outputvars(vars, d):
vars = vars.split()
- listvars = listvars.split()
ret = ""
for var in vars:
value = d.getVar(var) or ""
@@ -59,8 +58,7 @@ def buildinfo_target(d):
return ""
# Single and list variables to be read
vars = (d.getVar("IMAGE_BUILDINFO_VARS") or "")
- listvars = (d.getVar("IMAGE_BUILDINFO_LVARS") or "")
- return image_buildinfo_outputvars(vars, listvars, d)
+ return image_buildinfo_outputvars(vars, d)
# Write build information to target filesystem
python buildinfo () {
diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass
index 2ff574be7..276d0d31f 100644
--- a/poky/meta/classes/image.bbclass
+++ b/poky/meta/classes/image.bbclass
@@ -24,7 +24,7 @@ POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_sysroot_relativelinks; "
LICENSE ?= "MIT"
PACKAGES = ""
DEPENDS += "${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross depmodwrapper-cross cross-localedef-native"
-RDEPENDS += "${PACKAGE_INSTALL} ${LINGUAS_INSTALL}"
+RDEPENDS += "${PACKAGE_INSTALL} ${LINGUAS_INSTALL} ${IMAGE_INSTALL_DEBUGFS}"
RRECOMMENDS += "${PACKAGE_INSTALL_ATTEMPTONLY}"
PATH_prepend = "${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
@@ -500,7 +500,7 @@ python () {
d.prependVarFlag(task, 'postfuncs', 'create_symlinks ')
d.appendVarFlag(task, 'subimages', ' ' + ' '.join(subimages))
d.appendVarFlag(task, 'vardeps', ' ' + ' '.join(vardeps))
- d.appendVarFlag(task, 'vardepsexclude', 'DATETIME DATE ' + ' '.join(vardepsexclude))
+ d.appendVarFlag(task, 'vardepsexclude', ' DATETIME DATE ' + ' '.join(vardepsexclude))
bb.debug(2, "Adding task %s before %s, after %s" % (task, 'do_image_complete', after))
bb.build.addtask(task, 'do_image_complete', after, d)
diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass
index 0a69542fc..f363c42ee 100644
--- a/poky/meta/classes/image_types.bbclass
+++ b/poky/meta/classes/image_types.bbclass
@@ -56,7 +56,6 @@ def imagetypes_getdepends(d):
XZ_COMPRESSION_LEVEL ?= "-3"
XZ_INTEGRITY_CHECK ?= "crc32"
-XZ_THREADS ?= "-T 0"
ZIP_COMPRESSION_LEVEL ?= "-9"
@@ -280,11 +279,11 @@ IMAGE_TYPES = " \
# CONVERSION_CMD/DEPENDS.
COMPRESSIONTYPES ?= ""
-CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vdi qcow2 ${COMPRESSIONTYPES}"
+CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vdi qcow2 base64 ${COMPRESSIONTYPES}"
CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_gz = "pigz -f -9 -n -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz"
CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
-CONVERSION_CMD_xz = "xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_THREADS} --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.xz"
+CONVERSION_CMD_xz = "xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_DEFAULTS} --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.xz"
CONVERSION_CMD_lz4 = "lz4 -9 -z -l ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
CONVERSION_CMD_lzo = "lzop -9 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_zip = "zip ${ZIP_COMPRESSION_LEVEL} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.zip ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
@@ -300,6 +299,7 @@ CONVERSION_CMD_u-boot = "mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk -C none -n
CONVERSION_CMD_vmdk = "qemu-img convert -O vmdk ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vmdk"
CONVERSION_CMD_vdi = "qemu-img convert -O vdi ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vdi"
CONVERSION_CMD_qcow2 = "qemu-img convert -O qcow2 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qcow2"
+CONVERSION_CMD_base64 = "base64 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.base64"
CONVERSION_DEPENDS_lzma = "xz-native"
CONVERSION_DEPENDS_gz = "pigz-native"
CONVERSION_DEPENDS_bz2 = "pbzip2-native"
@@ -309,10 +309,11 @@ CONVERSION_DEPENDS_lzo = "lzop-native"
CONVERSION_DEPENDS_zip = "zip-native"
CONVERSION_DEPENDS_sum = "mtd-utils-native"
CONVERSION_DEPENDS_bmap = "bmap-tools-native"
-CONVERSION_DEPENDS_u-boot = "u-boot-mkimage-native"
-CONVERSION_DEPENDS_vmdk = "qemu-native"
-CONVERSION_DEPENDS_vdi = "qemu-native"
-CONVERSION_DEPENDS_qcow2 = "qemu-native"
+CONVERSION_DEPENDS_u-boot = "u-boot-tools-native"
+CONVERSION_DEPENDS_vmdk = "qemu-system-native"
+CONVERSION_DEPENDS_vdi = "qemu-system-native"
+CONVERSION_DEPENDS_qcow2 = "qemu-system-native"
+CONVERSION_DEPENDS_base64 = "coreutils-native"
RUNNABLE_IMAGE_TYPES ?= "ext2 ext3 ext4"
RUNNABLE_MACHINE_PATTERNS ?= "qemu"
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index 295feb8a5..37b8bb003 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -33,7 +33,8 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
split-strip packages-list pkgv-undefined var-undefined \
version-going-backwards expanded-d invalid-chars \
- license-checksum dev-elf file-rdeps \
+ license-checksum dev-elf file-rdeps configure-unsafe \
+ configure-gettext \
"
# Add usrmerge QA check based on distro feature
ERROR_QA_append = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', ' usrmerge', '', d)}"
@@ -307,10 +308,10 @@ def package_qa_check_arch(path,name,d, elf, messages):
if not ((machine == elf.machine()) or is_32 or is_bpf):
package_qa_add_message(messages, "arch", "Architecture did not match (%s, expected %s) on %s" % \
(oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine), package_qa_clean_path(path,d)))
- elif not ((bits == elf.abiSize()) or is_32):
+ elif not ((bits == elf.abiSize()) or is_32 or is_bpf):
package_qa_add_message(messages, "arch", "Bit size did not match (%d to %d) %s on %s" % \
(bits, elf.abiSize(), bpn, package_qa_clean_path(path,d)))
- elif not littleendian == elf.isLittleEndian():
+ elif not ((littleendian == elf.isLittleEndian()) or is_bpf):
package_qa_add_message(messages, "arch", "Endiannes did not match (%d to %d) on %s" % \
(littleendian, elf.isLittleEndian(), package_qa_clean_path(path,d)))
@@ -457,7 +458,6 @@ python populate_lic_qa_checksum() {
"""
Check for changes in the license files.
"""
- import tempfile
sane = True
lic_files = d.getVar('LIC_FILES_CHKSUM') or ''
@@ -495,61 +495,45 @@ python populate_lic_qa_checksum() {
if (not beginline) and (not endline):
md5chksum = bb.utils.md5_file(srclicfile)
- with open(srclicfile, 'rb') as f:
- license = f.read()
+ with open(srclicfile, 'r', errors='replace') as f:
+ license = f.read().splitlines()
else:
- fi = open(srclicfile, 'rb')
- fo = tempfile.NamedTemporaryFile(mode='wb', prefix='poky.', suffix='.tmp', delete=False)
- tmplicfile = fo.name;
- lineno = 0
- linesout = 0
- license = []
- for line in fi:
- lineno += 1
- if (lineno >= beginline):
- if ((lineno <= endline) or not endline):
- fo.write(line)
- license.append(line)
- linesout += 1
- else:
- break
- fo.flush()
- fo.close()
- fi.close()
- md5chksum = bb.utils.md5_file(tmplicfile)
- license = b''.join(license)
- os.unlink(tmplicfile)
-
+ with open(srclicfile, 'rb') as f:
+ import hashlib
+ lineno = 0
+ license = []
+ m = hashlib.md5()
+ for line in f:
+ lineno += 1
+ if (lineno >= beginline):
+ if ((lineno <= endline) or not endline):
+ m.update(line)
+ license.append(line.decode('utf-8', errors='replace').rstrip())
+ else:
+ break
+ md5chksum = m.hexdigest()
if recipemd5 == md5chksum:
bb.note (pn + ": md5 checksum matched for ", url)
else:
if recipemd5:
msg = pn + ": The LIC_FILES_CHKSUM does not match for " + url
msg = msg + "\n" + pn + ": The new md5 checksum is " + md5chksum
- try:
- license_lines = license.decode('utf-8').split('\n')
- except:
- # License text might not be valid UTF-8, in which
- # case we don't know how to include it in our output
- # and have to skip it.
- pass
- else:
- max_lines = int(d.getVar('QA_MAX_LICENSE_LINES') or 20)
- if not license_lines or license_lines[-1] != '':
- # Ensure that our license text ends with a line break
- # (will be added with join() below).
- license_lines.append('')
- remove = len(license_lines) - max_lines
- if remove > 0:
- start = max_lines // 2
- end = start + remove - 1
- del license_lines[start:end]
- license_lines.insert(start, '...')
- msg = msg + "\n" + pn + ": Here is the selected license text:" + \
- "\n" + \
- "{:v^70}".format(" beginline=%d " % beginline if beginline else "") + \
- "\n" + "\n".join(license_lines) + \
- "{:^^70}".format(" endline=%d " % endline if endline else "")
+ max_lines = int(d.getVar('QA_MAX_LICENSE_LINES') or 20)
+ if not license or license[-1] != '':
+ # Ensure that our license text ends with a line break
+ # (will be added with join() below).
+ license.append('')
+ remove = len(license) - max_lines
+ if remove > 0:
+ start = max_lines // 2
+ end = start + remove - 1
+ del license[start:end]
+ license.insert(start, '...')
+ msg = msg + "\n" + pn + ": Here is the selected license text:" + \
+ "\n" + \
+ "{:v^70}".format(" beginline=%d " % beginline if beginline else "") + \
+ "\n" + "\n".join(license) + \
+ "{:^^70}".format(" endline=%d " % endline if endline else "")
if beginline:
if endline:
srcfiledesc = "%s (lines %d through to %d)" % (srclicfile, beginline, endline)
@@ -570,7 +554,7 @@ python populate_lic_qa_checksum() {
bb.fatal("Fatal QA errors found, failing task.")
}
-def package_qa_check_staged(path,d):
+def qa_check_staged(path,d):
"""
Check staged la and pc files for common problems like references to the work
directory.
@@ -589,20 +573,31 @@ def package_qa_check_staged(path,d):
else:
pkgconfigcheck = tmpdir
+ skip = (d.getVar('INSANE_SKIP') or "").split()
+ skip_la = False
+ if 'la' in skip:
+ bb.note("Recipe %s skipping qa checking: la" % d.getVar('PN'))
+ skip_la = True
+
+ skip_pkgconfig = False
+ if 'pkgconfig' in skip:
+ bb.note("Recipe %s skipping qa checking: pkgconfig" % d.getVar('PN'))
+ skip_pkgconfig = True
+
# find all .la and .pc files
# read the content
# and check for stuff that looks wrong
for root, dirs, files in os.walk(path):
for file in files:
path = os.path.join(root,file)
- if file.endswith(".la"):
+ if file.endswith(".la") and not skip_la:
with open(path) as f:
file_content = f.read()
file_content = file_content.replace(recipesysroot, "")
if workdir in file_content:
error_msg = "%s failed sanity test (workdir) in path %s" % (file,root)
sane &= package_qa_handle_error("la", error_msg, d)
- elif file.endswith(".pc"):
+ elif file.endswith(".pc") and not skip_pkgconfig:
with open(path) as f:
file_content = f.read()
file_content = file_content.replace(recipesysroot, "")
@@ -1017,6 +1012,13 @@ do_package_qa[vardepsexclude] = "BB_TASKDEPDATA"
do_package_qa[rdeptask] = "do_packagedata"
addtask do_package_qa after do_packagedata do_package before do_build
+# Add the package specific INSANE_SKIPs to the sstate dependencies
+python() {
+ pkgs = (d.getVar('PACKAGES') or '').split()
+ for pkg in pkgs:
+ d.appendVarFlag("do_package_qa", "vardeps", " INSANE_SKIP_{}".format(pkg))
+}
+
SSTATETASKS += "do_package_qa"
do_package_qa[sstate-inputdirs] = ""
do_package_qa[sstate-outputdirs] = ""
@@ -1027,8 +1029,7 @@ addtask do_package_qa_setscene
python do_qa_staging() {
bb.note("QA checking staging")
-
- if not package_qa_check_staged(d.expand('${SYSROOT_DESTDIR}${libdir}'), d):
+ if not qa_check_staged(d.expand('${SYSROOT_DESTDIR}${libdir}'), d):
bb.fatal("QA staging was broken by the package built above")
}
@@ -1042,15 +1043,22 @@ python do_qa_configure() {
configs = []
workdir = d.getVar('WORKDIR')
- if bb.data.inherits_class('autotools', d):
+ skip = (d.getVar('INSANE_SKIP') or "").split()
+ skip_configure_unsafe = False
+ if 'configure-unsafe' in skip:
+ bb.note("Recipe %s skipping qa checking: configure-unsafe" % d.getVar('PN'))
+ skip_configure_unsafe = True
+
+ if bb.data.inherits_class('autotools', d) and not skip_configure_unsafe:
bb.note("Checking autotools environment for common misconfiguration")
for root, dirs, files in os.walk(workdir):
statement = "grep -q -F -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s" % \
os.path.join(root,"config.log")
if "config.log" in files:
if subprocess.call(statement, shell=True) == 0:
- bb.fatal("""This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
-Rerun configure task after fixing this.""")
+ error_msg = """This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
+Rerun configure task after fixing this."""
+ package_qa_handle_error("configure-unsafe", error_msg, d)
if "configure.ac" in files:
configs.append(os.path.join(root,"configure.ac"))
@@ -1061,8 +1069,14 @@ Rerun configure task after fixing this.""")
# Check gettext configuration and dependencies are correct
###########################################################################
+ skip_configure_gettext = False
+ if 'configure-gettext' in skip:
+ bb.note("Recipe %s skipping qa checking: configure-gettext" % d.getVar('PN'))
+ skip_configure_gettext = True
+
cnf = d.getVar('EXTRA_OECONF') or ""
- if "gettext" not in d.getVar('P') and "gcc-runtime" not in d.getVar('P') and "--disable-nls" not in cnf:
+ if not ("gettext" in d.getVar('P') or "gcc-runtime" in d.getVar('P') or \
+ "--disable-nls" in cnf or skip_configure_gettext):
ml = d.getVar("MLPREFIX") or ""
if bb.data.inherits_class('cross-canadian', d):
gt = "nativesdk-gettext"
@@ -1073,8 +1087,8 @@ Rerun configure task after fixing this.""")
for config in configs:
gnu = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" %s >/dev/null" % config
if subprocess.call(gnu, shell=True) == 0:
- bb.fatal("""%s required but not in DEPENDS for file %s.
-Missing inherit gettext?""" % (gt, config))
+ error_msg = "%s required but not in DEPENDS for file %s. Missing inherit gettext?"
+ package_qa_handle_error("configure-gettext", error_msg, d)
###########################################################################
# Check unrecognised configure options (with a white list)
diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass
index 4c4fd99ff..2517d7574 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes/kernel-fitimage.bbclass
@@ -4,7 +4,7 @@ python __anonymous () {
kerneltypes = d.getVar('KERNEL_IMAGETYPES') or ""
if 'fitImage' in kerneltypes.split():
depends = d.getVar("DEPENDS")
- depends = "%s u-boot-mkimage-native dtc-native" % depends
+ depends = "%s u-boot-tools-native dtc-native" % depends
d.setVar("DEPENDS", depends)
uarch = d.getVar("UBOOT_ARCH")
@@ -19,9 +19,9 @@ python __anonymous () {
else:
replacementtype = "zImage"
- # Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
- # to kernel.bbclass . We have to override it, since we pack zImage
- # (at least for now) into the fitImage .
+ # Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
+ # to kernel.bbclass . We have to override it, since we pack zImage
+ # (at least for now) into the fitImage .
typeformake = d.getVar("KERNEL_IMAGETYPE_FOR_MAKE") or ""
if 'fitImage' in typeformake.split():
d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake.replace('fitImage', replacementtype))
@@ -30,12 +30,19 @@ python __anonymous () {
if image:
d.appendVarFlag('do_assemble_fitimage_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
+ #check if there are any dtb providers
+ providerdtb = d.getVar("PREFERRED_PROVIDER_virtual/dtb")
+ if providerdtb:
+ d.appendVarFlag('do_assemble_fitimage', 'depends', ' virtual/dtb:do_populate_sysroot')
+ d.appendVarFlag('do_assemble_fitimage_initramfs', 'depends', ' virtual/dtb:do_populate_sysroot')
+ d.setVar('EXTERNAL_KERNEL_DEVICETREE', "${RECIPE_SYSROOT}/boot/devicetree")
+
# Verified boot will sign the fitImage and append the public key to
# U-Boot dtb. We ensure the U-Boot dtb is deployed before assembling
# the fitImage:
if d.getVar('UBOOT_SIGN_ENABLE') == "1":
uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
- d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_deploy' % uboot_pn)
+ d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_populate_sysroot' % uboot_pn)
}
# Options for the device tree compiler passed to mkimage '-D' feature:
@@ -373,7 +380,8 @@ fitimage_assemble() {
#
# Step 2: Prepare a DTB image section
#
- if [ -n "${KERNEL_DEVICETREE}" ]; then
+
+ if [ -z "${EXTERNAL_KERNEL_DEVICETREE}" ] && [ -n "${KERNEL_DEVICETREE}" ]; then
dtbcount=1
for DTB in ${KERNEL_DEVICETREE}; do
if echo ${DTB} | grep -q '/dts/'; then
@@ -391,6 +399,16 @@ fitimage_assemble() {
done
fi
+ if [ -n "${EXTERNAL_KERNEL_DEVICETREE}" ]; then
+ dtbcount=1
+ for DTBFILE in ${EXTERNAL_KERNEL_DEVICETREE}/*.dtb; do
+ DTB=`basename ${DTBFILE}`
+ DTB=$(echo "${DTB}" | tr '/' '_')
+ DTBS="${DTBS} ${DTB}"
+ fitimage_emit_section_dtb ${1} ${DTB} ${DTBFILE}
+ done
+ fi
+
#
# Step 3: Prepare a setup section. (For x86)
#
@@ -456,10 +474,17 @@ fitimage_assemble() {
# Step 7: Sign the image and add public key to U-Boot dtb
#
if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
+ add_key_to_u_boot=""
+ if [ -n "${UBOOT_DTB_BINARY}" ]; then
+ # The u-boot.dtb is a symlink to UBOOT_DTB_IMAGE, so we need copy
+ # both of them, and don't dereference the symlink.
+ cp -P ${STAGING_DATADIR}/u-boot*.dtb ${B}
+ add_key_to_u_boot="-K ${B}/${UBOOT_DTB_BINARY}"
+ fi
uboot-mkimage \
${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
-F -k "${UBOOT_SIGN_KEYDIR}" \
- ${@'-K "${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY}"' if len('${UBOOT_DTB_BINARY}') else ''} \
+ $add_key_to_u_boot \
-r arch/${ARCH}/boot/${2}
fi
}
@@ -481,7 +506,7 @@ do_assemble_fitimage_initramfs() {
fi
}
-addtask assemble_fitimage_initramfs before do_deploy after do_install
+addtask assemble_fitimage_initramfs before do_deploy after do_bundle_initramfs
kernel_do_deploy[vardepsexclude] = "DATETIME"
@@ -505,5 +530,11 @@ kernel_do_deploy_append() {
install -m 0644 ${B}/arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} ${DEPLOYDIR}/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin
ln -snf fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin ${DEPLOYDIR}/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}
fi
+ if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ] ; then
+ # UBOOT_DTB_IMAGE is a realfile, but we can't use
+ # ${UBOOT_DTB_IMAGE} since it contains ${PV} which is aimed
+ # for u-boot, but we are in kernel env now.
+ install -m 0644 ${B}/u-boot-${MACHINE}*.dtb ${DEPLOYDIR}/
+ fi
fi
}
diff --git a/poky/meta/classes/kernel-module-split.bbclass b/poky/meta/classes/kernel-module-split.bbclass
index 67ab4161d..e8d3eb510 100644
--- a/poky/meta/classes/kernel-module-split.bbclass
+++ b/poky/meta/classes/kernel-module-split.bbclass
@@ -48,7 +48,8 @@ python split_kernel_module_packages () {
tmpfile = tf[1]
cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile)
subprocess.check_call(cmd, shell=True)
- f = open(tmpfile)
+ # errors='replace': Some old kernel versions contain invalid utf-8 characters in mod descriptions (like 0xf6, 'ö')
+ f = open(tmpfile, errors='replace')
l = f.read().split("\000")
f.close()
os.close(tf[0])
@@ -132,7 +133,7 @@ python split_kernel_module_packages () {
kernel_package_name = d.getVar("KERNEL_PACKAGE_NAME") or "kernel"
kernel_version = d.getVar("KERNEL_VERSION")
- module_regex = '^(.*)\.k?o$'
+ module_regex = r'^(.*)\.k?o$'
module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX')
diff --git a/poky/meta/classes/kernel-uimage.bbclass b/poky/meta/classes/kernel-uimage.bbclass
index c2de6bb40..cedb4fa07 100644
--- a/poky/meta/classes/kernel-uimage.bbclass
+++ b/poky/meta/classes/kernel-uimage.bbclass
@@ -3,7 +3,7 @@ inherit kernel-uboot
python __anonymous () {
if "uImage" in d.getVar('KERNEL_IMAGETYPES'):
depends = d.getVar("DEPENDS")
- depends = "%s u-boot-mkimage-native" % depends
+ depends = "%s u-boot-tools-native" % depends
d.setVar("DEPENDS", depends)
# Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes/kernel-yocto.bbclass
index 496c8a7f6..ed9bcfa57 100644
--- a/poky/meta/classes/kernel-yocto.bbclass
+++ b/poky/meta/classes/kernel-yocto.bbclass
@@ -5,12 +5,21 @@ PATCH_GIT_USER_NAME ?= "OpenEmbedded"
# returns local (absolute) path names for all valid patches in the
# src_uri
-def find_patches(d):
+def find_patches(d,subdir):
patches = src_patches(d)
patch_list=[]
for p in patches:
- _, _, local, _, _, _ = bb.fetch.decodeurl(p)
- patch_list.append(local)
+ _, _, local, _, _, parm = bb.fetch.decodeurl(p)
+ # if patchdir has been passed, we won't be able to apply it so skip
+ # the patch for now, and special processing happens later
+ patchdir = ''
+ if "patchdir" in parm:
+ patchdir = parm["patchdir"]
+ if subdir:
+ if subdir == patchdir:
+ patch_list.append(local)
+ else:
+ patch_list.append(local)
return patch_list
@@ -119,8 +128,20 @@ do_kernel_metadata() {
fi
fi
+ # was anyone trying to patch the kernel meta data ?, we need to do
+ # this here, since the scc commands migrate the .cfg fragments to the
+ # kernel source tree, where they'll be used later.
+ check_git_config
+ patches="${@" ".join(find_patches(d,'kernel-meta'))}"
+ for p in $patches; do
+ (
+ cd ${WORKDIR}/kernel-meta
+ git am -s $p
+ )
+ done
+
sccs_from_src_uri="${@" ".join(find_sccs(d))}"
- patches="${@" ".join(find_patches(d))}"
+ patches="${@" ".join(find_patches(d,''))}"
feat_dirs="${@" ".join(find_kernel_feature_dirs(d))}"
# a quick check to make sure we don't have duplicate defconfigs
@@ -138,10 +159,10 @@ do_kernel_metadata() {
for f in ${feat_dirs}; do
if [ -d "${WORKDIR}/$f/meta" ]; then
includes="$includes -I${WORKDIR}/$f/kernel-meta"
- elif [ -d "${WORKDIR}/$f" ]; then
- includes="$includes -I${WORKDIR}/$f"
elif [ -d "${WORKDIR}/../oe-local-files/$f" ]; then
includes="$includes -I${WORKDIR}/../oe-local-files/$f"
+ elif [ -d "${WORKDIR}/$f" ]; then
+ includes="$includes -I${WORKDIR}/$f"
fi
done
for s in ${sccs} ${patches}; do
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index bd185e258..9da981896 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -487,6 +487,15 @@ do_shared_workdir () {
mkdir -p $kerneldir/arch/${ARCH}/include/generated/
cp -fR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/
fi
+
+ if (grep -q -i -e '^CONFIG_UNWINDER_ORC=y$' $kerneldir/.config); then
+ # With CONFIG_UNWINDER_ORC (the default in 4.14), objtool is required for
+ # out-of-tree modules to be able to generate object files.
+ if [ -x tools/objtool/objtool ]; then
+ mkdir -p ${kerneldir}/tools/objtool
+ cp tools/objtool/objtool ${kerneldir}/tools/objtool/
+ fi
+ fi
}
# We don't need to stage anything, not the modules/firmware since those would clash with linux-firmware
@@ -580,7 +589,7 @@ pkg_postinst_${KERNEL_PACKAGE_NAME}-base () {
PACKAGESPLITFUNCS_prepend = "split_kernel_packages "
python split_kernel_packages () {
- do_split_packages(d, root='${nonarch_base_libdir}/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='${KERNEL_PACKAGE_NAME}-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
+ do_split_packages(d, root='${nonarch_base_libdir}/firmware', file_regex=r'^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='${KERNEL_PACKAGE_NAME}-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
}
# Many scripts want to look in arch/$arch/boot for the bootable
diff --git a/poky/meta/classes/libc-package.bbclass b/poky/meta/classes/libc-package.bbclass
index 345ec2986..8859dad56 100644
--- a/poky/meta/classes/libc-package.bbclass
+++ b/poky/meta/classes/libc-package.bbclass
@@ -37,16 +37,11 @@ python __anonymous () {
d.setVar("DEPENDS", depends)
d.setVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", "compile")
break
-
- # try to fix disable charsets/locales/locale-code compile fail
- if bb.utils.contains('DISTRO_FEATURES', 'libc-charsets', True, False, d) and \
- bb.utils.contains('DISTRO_FEATURES', 'libc-locales', True, False, d) and \
- bb.utils.contains('DISTRO_FEATURES', 'libc-locale-code', True, False, d):
- d.setVar('PACKAGE_NO_GCONV', '0')
- else:
- d.setVar('PACKAGE_NO_GCONV', '1')
}
+# try to fix disable charsets/locales/locale-code compile fail
+PACKAGE_NO_GCONV ?= "0"
+
OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
locale_base_postinst_ontarget() {
@@ -69,9 +64,14 @@ do_prep_locale_tree() {
for i in $treedir/${datadir}/i18n/charmaps/*gz; do
gunzip $i
done
- tar -cf - -C ${LOCALETREESRC}${base_libdir} -p . | tar -xf - -C $treedir/${base_libdir}
- if [ -f ${STAGING_DIR_NATIVE}${prefix_native}/lib/libgcc_s.* ]; then
- tar -cf - -C ${STAGING_DIR_NATIVE}/${prefix_native}/${base_libdir} -p libgcc_s.* | tar -xf - -C $treedir/${base_libdir}
+ # The extract pattern "./l*.so*" is carefully selected so that it will
+ # match ld*.so and lib*.so*, but not any files in the gconv directory
+ # (if it exists). This makes sure we only unpack the files we need.
+ # This is important in case usrmerge is set in DISTRO_FEATURES, which
+ # means ${base_libdir} == ${libdir}.
+ tar -cf - -C ${LOCALETREESRC}${base_libdir} -p . | tar -xf - -C $treedir/${base_libdir} --wildcards './l*.so*'
+ if [ -f ${STAGING_LIBDIR_NATIVE}/libgcc_s.* ]; then
+ tar -cf - -C ${STAGING_LIBDIR_NATIVE} -p libgcc_s.* | tar -xf - -C $treedir/${base_libdir}
fi
install -m 0755 ${LOCALETREESRC}${bindir}/localedef $treedir/${base_bindir}
}
@@ -115,8 +115,8 @@ python package_do_split_gconvs () {
def calc_gconv_deps(fn, pkg, file_regex, output_pattern, group):
deps = []
f = open(fn, "rb")
- c_re = re.compile('^copy "(.*)"')
- i_re = re.compile('^include "(\w+)".*')
+ c_re = re.compile(r'^copy "(.*)"')
+ i_re = re.compile(r'^include "(\w+)".*')
for l in f.readlines():
l = l.decode("latin-1")
m = c_re.match(l) or i_re.match(l)
@@ -130,15 +130,15 @@ python package_do_split_gconvs () {
if bpn != 'glibc':
d.setVar('RPROVIDES_%s' % pkg, pkg.replace(bpn, 'glibc'))
- do_split_packages(d, gconv_libdir, file_regex='^(.*)\.so$', output_pattern=bpn+'-gconv-%s', \
+ do_split_packages(d, gconv_libdir, file_regex=r'^(.*)\.so$', output_pattern=bpn+'-gconv-%s', \
description='gconv module for character set %s', hook=calc_gconv_deps, \
extra_depends=bpn+'-gconv')
def calc_charmap_deps(fn, pkg, file_regex, output_pattern, group):
deps = []
f = open(fn, "rb")
- c_re = re.compile('^copy "(.*)"')
- i_re = re.compile('^include "(\w+)".*')
+ c_re = re.compile(r'^copy "(.*)"')
+ i_re = re.compile(r'^include "(\w+)".*')
for l in f.readlines():
l = l.decode("latin-1")
m = c_re.match(l) or i_re.match(l)
@@ -152,14 +152,14 @@ python package_do_split_gconvs () {
if bpn != 'glibc':
d.setVar('RPROVIDES_%s' % pkg, pkg.replace(bpn, 'glibc'))
- do_split_packages(d, charmap_dir, file_regex='^(.*)\.gz$', output_pattern=bpn+'-charmap-%s', \
+ do_split_packages(d, charmap_dir, file_regex=r'^(.*)\.gz$', output_pattern=bpn+'-charmap-%s', \
description='character map for %s encoding', hook=calc_charmap_deps, extra_depends='')
def calc_locale_deps(fn, pkg, file_regex, output_pattern, group):
deps = []
f = open(fn, "rb")
- c_re = re.compile('^copy "(.*)"')
- i_re = re.compile('^include "(\w+)".*')
+ c_re = re.compile(r'^copy "(.*)"')
+ i_re = re.compile(r'^include "(\w+)".*')
for l in f.readlines():
l = l.decode("latin-1")
m = c_re.match(l) or i_re.match(l)
@@ -173,13 +173,13 @@ python package_do_split_gconvs () {
if bpn != 'glibc':
d.setVar('RPROVIDES_%s' % pkg, pkg.replace(bpn, 'glibc'))
- do_split_packages(d, locales_dir, file_regex='(.*)', output_pattern=bpn+'-localedata-%s', \
+ do_split_packages(d, locales_dir, file_regex=r'(.*)', output_pattern=bpn+'-localedata-%s', \
description='locale definition for %s', hook=calc_locale_deps, extra_depends='')
d.setVar('PACKAGES', d.getVar('PACKAGES', False) + ' ' + d.getVar('MLPREFIX', False) + bpn + '-gconv')
use_bin = d.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE")
- dot_re = re.compile("(.*)\.(.*)")
+ dot_re = re.compile(r"(.*)\.(.*)")
# Read in supported locales and associated encodings
supported = {}
@@ -236,6 +236,8 @@ python package_do_split_gconvs () {
if use_cross_localedef == "1":
target_arch = d.getVar('TARGET_ARCH')
locale_arch_options = { \
+ "arc": " --uint32-align=4 --little-endian ", \
+ "arceb": " --uint32-align=4 --big-endian ", \
"arm": " --uint32-align=4 --little-endian ", \
"armeb": " --uint32-align=4 --big-endian ", \
"aarch64": " --uint32-align=4 --little-endian ", \
@@ -278,7 +280,7 @@ python package_do_split_gconvs () {
qemu_options = d.getVar('QEMU_OPTIONS')
cmd = "PSEUDO_RELOADED=YES PATH=\"%s\" I18NPATH=\"%s\" %s -L %s \
- -E LD_LIBRARY_PATH=%s %s %s/bin/localedef %s" % \
+ -E LD_LIBRARY_PATH=%s %s %s${base_bindir}/localedef %s" % \
(path, i18npath, qemu, treedir, ldlibdir, qemu_options, treedir, localedef_opts)
commands["%s/%s" % (outputpath, name)] = cmd
@@ -290,7 +292,7 @@ python package_do_split_gconvs () {
d.setVar('ALLOW_EMPTY_%s' % pkgname, '1')
d.setVar('PACKAGES', '%s %s' % (pkgname, d.getVar('PACKAGES')))
rprovides = ' %svirtual-locale-%s' % (mlprefix, legitimize_package_name(name))
- m = re.match("(.*)_(.*)", name)
+ m = re.match(r"(.*)_(.*)", name)
if m:
rprovides += ' %svirtual-locale-%s' % (mlprefix, m.group(1))
d.setVar('RPROVIDES_%s' % pkgname, rprovides)
@@ -343,11 +345,14 @@ python package_do_split_gconvs () {
makefile = oe.path.join(d.getVar("WORKDIR"), "locale-tree", "Makefile")
m = open(makefile, "w")
m.write("all: %s\n\n" % " ".join(commands.keys()))
- for cmd in commands:
+ total = len(commands)
+ for i, cmd in enumerate(commands):
m.write(cmd + ":\n")
+ m.write("\t@echo 'Progress %d/%d'\n" % (i, total))
m.write("\t" + commands[cmd] + "\n\n")
m.close()
d.setVar("EXTRA_OEMAKE", "-C %s ${PARALLEL_MAKE}" % (os.path.dirname(makefile)))
+ d.setVarFlag("oe_runmake", "progress", "outof:Progress\s(\d+)/(\d+)")
bb.note("Executing binary locale generation makefile")
bb.build.exec_func("oe_runmake", d)
bb.note("collecting binary locales from locale tree")
@@ -356,12 +361,12 @@ python package_do_split_gconvs () {
if use_bin in ('compile', 'precompiled'):
lcsplit = d.getVar('GLIBC_SPLIT_LC_PACKAGES')
if lcsplit and int(lcsplit):
- do_split_packages(d, binary_locales_dir, file_regex='^(.*/LC_\w+)', \
+ do_split_packages(d, binary_locales_dir, file_regex=r'^(.*/LC_\w+)', \
output_pattern=bpn+'-binary-localedata-%s', \
description='binary locale definition for %s', recursive=True,
hook=metapkg_hook, extra_depends='', allow_dirs=True, match_path=True)
else:
- do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
+ do_split_packages(d, binary_locales_dir, file_regex=r'(.*)', \
output_pattern=bpn+'-binary-localedata-%s', \
description='binary locale definition for %s', extra_depends='', allow_dirs=True)
else:
diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass
index aec6999d9..ed91a4b4d 100644
--- a/poky/meta/classes/license.bbclass
+++ b/poky/meta/classes/license.bbclass
@@ -316,8 +316,8 @@ def check_license_flags(d):
This function checks if a recipe has any LICENSE_FLAGS that
aren't whitelisted.
- If it does, it returns the first LICENSE_FLAGS item missing from the
- whitelist, or all of the LICENSE_FLAGS if there is no whitelist.
+ If it does, it returns the all LICENSE_FLAGS missing from the whitelist, or
+ all of the LICENSE_FLAGS if there is no whitelist.
If everything is is properly whitelisted, it returns None.
"""
@@ -354,22 +354,23 @@ def check_license_flags(d):
return False
def all_license_flags_match(license_flags, whitelist):
- """ Return first unmatched flag, None if all flags match """
+ """ Return all unmatched flags, None if all flags match """
pn = d.getVar('PN')
split_whitelist = whitelist.split()
+ flags = []
for flag in license_flags.split():
if not license_flag_matches(flag, split_whitelist, pn):
- return flag
- return None
+ flags.append(flag)
+ return flags if flags else None
license_flags = d.getVar('LICENSE_FLAGS')
if license_flags:
whitelist = d.getVar('LICENSE_FLAGS_WHITELIST')
if not whitelist:
- return license_flags
- unmatched_flag = all_license_flags_match(license_flags, whitelist)
- if unmatched_flag:
- return unmatched_flag
+ return license_flags.split()
+ unmatched_flags = all_license_flags_match(license_flags, whitelist)
+ if unmatched_flags:
+ return unmatched_flags
return None
def check_license_format(d):
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass
index b65ff56f7..67500386b 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes/license_image.bbclass
@@ -32,11 +32,12 @@ python license_create_manifest() {
rootfs_license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY'),
d.getVar('IMAGE_NAME'), 'license.manifest')
- write_license_files(d, rootfs_license_manifest, pkg_dic)
+ write_license_files(d, rootfs_license_manifest, pkg_dic, rootfs=True)
}
-def write_license_files(d, license_manifest, pkg_dic):
+def write_license_files(d, license_manifest, pkg_dic, rootfs=True):
import re
+ import stat
bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split()
bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses)
@@ -94,7 +95,7 @@ def write_license_files(d, license_manifest, pkg_dic):
# With both options set we see a .5 M increase in core-image-minimal
copy_lic_manifest = d.getVar('COPY_LIC_MANIFEST')
copy_lic_dirs = d.getVar('COPY_LIC_DIRS')
- if copy_lic_manifest == "1":
+ if rootfs and copy_lic_manifest == "1":
rootfs_license_dir = os.path.join(d.getVar('IMAGE_ROOTFS'),
'usr', 'share', 'common-licenses')
bb.utils.mkdirhier(rootfs_license_dir)
@@ -146,6 +147,18 @@ def write_license_files(d, license_manifest, pkg_dic):
continue
os.link(pkg_license, pkg_rootfs_license)
+ # Fixup file ownership and permissions
+ for walkroot, dirs, files in os.walk(rootfs_license_dir):
+ for f in files:
+ p = os.path.join(walkroot, f)
+ os.lchown(p, 0, 0)
+ if not os.path.islink(p):
+ os.chmod(p, stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH)
+ for dir in dirs:
+ p = os.path.join(walkroot, dir)
+ os.lchown(p, 0, 0)
+ os.chmod(p, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
+
def license_deployed_manifest(d):
@@ -176,7 +189,7 @@ def license_deployed_manifest(d):
d.getVar('IMAGE_NAME'))
bb.utils.mkdirhier(lic_manifest_dir)
image_license_manifest = os.path.join(lic_manifest_dir, 'image_license.manifest')
- write_license_files(d, image_license_manifest, man_dic)
+ write_license_files(d, image_license_manifest, man_dic, rootfs=False)
def get_deployed_dependencies(d):
"""
diff --git a/poky/meta/classes/mcextend.bbclass b/poky/meta/classes/mcextend.bbclass
new file mode 100644
index 000000000..0f8f96229
--- /dev/null
+++ b/poky/meta/classes/mcextend.bbclass
@@ -0,0 +1,16 @@
+python mcextend_virtclass_handler () {
+ cls = e.data.getVar("BBEXTENDCURR")
+ variant = e.data.getVar("BBEXTENDVARIANT")
+ if cls != "mcextend" or not variant:
+ return
+
+ override = ":virtclass-mcextend-" + variant
+
+ e.data.setVar("PN", e.data.getVar("PN", False) + "-" + variant)
+ e.data.setVar("MCNAME", variant)
+ e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)
+}
+
+addhandler mcextend_virtclass_handler
+mcextend_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"
+
diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass
index 3cbdcf18c..115d1aedc 100644
--- a/poky/meta/classes/meson.bbclass
+++ b/poky/meta/classes/meson.bbclass
@@ -54,8 +54,12 @@ def meson_cpu_family(var, d):
return 'ppc'
elif arch == 'powerpc64':
return 'ppc64'
+ elif arch == 'armeb':
+ return 'arm'
elif arch == 'mipsel':
return 'mips'
+ elif arch == 'mips64el':
+ return 'mips64'
elif re.match(r"i[3-6]86", arch):
return "x86"
else:
@@ -85,6 +89,7 @@ ld = ${@meson_array('LD', d)}
strip = ${@meson_array('STRIP', d)}
readelf = ${@meson_array('READELF', d)}
pkgconfig = 'pkg-config'
+llvm-config = 'llvm-config8.0.0'
[properties]
needs_exe_wrapper = true
diff --git a/poky/meta/classes/metadata_scm.bbclass b/poky/meta/classes/metadata_scm.bbclass
index fa791f04c..58bb4c555 100644
--- a/poky/meta/classes/metadata_scm.bbclass
+++ b/poky/meta/classes/metadata_scm.bbclass
@@ -3,55 +3,15 @@ METADATA_REVISION ?= "${@base_detect_revision(d)}"
def base_detect_revision(d):
path = base_get_scmbasepath(d)
-
- scms = [base_get_metadata_git_revision]
-
- for scm in scms:
- rev = scm(path, d)
- if rev != "<unknown>":
- return rev
-
- return "<unknown>"
+ return base_get_metadata_git_revision(path, d)
def base_detect_branch(d):
path = base_get_scmbasepath(d)
-
- scms = [base_get_metadata_git_branch]
-
- for scm in scms:
- rev = scm(path, d)
- if rev != "<unknown>":
- return rev.strip()
-
- return "<unknown>"
+ return base_get_metadata_git_branch(path, d)
def base_get_scmbasepath(d):
return os.path.join(d.getVar('COREBASE'), 'meta')
-def base_get_metadata_monotone_branch(path, d):
- monotone_branch = "<unknown>"
- try:
- with open("%s/_MTN/options" % path) as f:
- monotone_branch = f.read().strip()
- if monotone_branch.startswith( "database" ):
- monotone_branch_words = monotone_branch.split()
- monotone_branch = monotone_branch_words[ monotone_branch_words.index( "branch" )+1][1:-1]
- except:
- pass
- return monotone_branch
-
-def base_get_metadata_monotone_revision(path, d):
- monotone_revision = "<unknown>"
- try:
- with open("%s/_MTN/revision" % path) as f:
- monotone_revision = f.read().strip()
- if monotone_revision.startswith( "format_version" ):
- monotone_revision_words = monotone_revision.split()
- monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1]
- except IOError:
- pass
- return monotone_revision
-
def base_get_metadata_svn_revision(path, d):
# This only works with older subversion. For newer versions
# this function will need to be fixed by someone interested
diff --git a/poky/meta/classes/module.bbclass b/poky/meta/classes/module.bbclass
index e34496024..c0dfa3506 100644
--- a/poky/meta/classes/module.bbclass
+++ b/poky/meta/classes/module.bbclass
@@ -48,6 +48,7 @@ module_do_compile() {
module_do_install() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \
+ INSTALL_FW_PATH="${D}${nonarch_base_libdir}/firmware" \
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
O=${STAGING_KERNEL_BUILDDIR} \
${MODULES_INSTALL_TARGET}
diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass
index 6c6499a23..2b761f355 100644
--- a/poky/meta/classes/multilib.bbclass
+++ b/poky/meta/classes/multilib.bbclass
@@ -88,8 +88,6 @@ python multilib_virtclass_handler () {
addhandler multilib_virtclass_handler
multilib_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"
-STAGINGCC_prepend = "${BBEXTENDVARIANT}-"
-
python __anonymous () {
variant = d.getVar("BBEXTENDVARIANT")
diff --git a/poky/meta/classes/native.bbclass b/poky/meta/classes/native.bbclass
index ddccfe2e1..e9f6c740a 100644
--- a/poky/meta/classes/native.bbclass
+++ b/poky/meta/classes/native.bbclass
@@ -119,6 +119,9 @@ PATH_prepend = "${COREBASE}/scripts/native-intercept:"
# reused if we manipulate the paths.
SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
+# No strip sysroot when DEBUG_BUILD is enabled
+INHIBIT_SYSROOT_STRIP ?= "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}"
+
python native_virtclass_handler () {
pn = e.data.getVar("PN")
if not pn.endswith("-native"):
@@ -189,3 +192,6 @@ do_packagedata[stamp-extra-info] = ""
do_populate_sysroot[stamp-extra-info] = ""
USE_NLS = "no"
+
+RECIPERDEPTASK = "do_populate_sysroot"
+do_populate_sysroot[rdeptask] = "${RECIPERDEPTASK}"
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index 66e423e99..4c0a85953 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -75,7 +75,7 @@ def legitimize_package_name(s):
return ('\\u%s' % cp).encode('latin-1').decode('unicode_escape')
# Handle unicode codepoints encoded as <U0123>, as in glibc locale files.
- s = re.sub('<U([0-9A-Fa-f]{1,4})>', fixutf, s)
+ s = re.sub(r'<U([0-9A-Fa-f]{1,4})>', fixutf, s)
# Remaining package name validity fixes
return s.lower().replace('_', '-').replace('@', '+').replace(',', '+').replace('/', '-')
@@ -344,7 +344,7 @@ def parse_debugsources_from_dwarfsrcfiles_output(dwarfsrcfiles_output):
return debugfiles.keys()
-def append_source_info(file, sourcefile, d, fatal=True):
+def source_info(file, d, fatal=True):
import subprocess
cmd = ["dwarfsrcfiles", file]
@@ -363,22 +363,15 @@ def append_source_info(file, sourcefile, d, fatal=True):
bb.note(msg)
debugsources = parse_debugsources_from_dwarfsrcfiles_output(output)
- # filenames are null-separated - this is an artefact of the previous use
- # of rpm's debugedit, which was writing them out that way, and the code elsewhere
- # is still assuming that.
- debuglistoutput = '\0'.join(debugsources) + '\0'
- lf = bb.utils.lockfile(sourcefile + ".lock")
- with open(sourcefile, 'a') as sf:
- sf.write(debuglistoutput)
- bb.utils.unlockfile(lf)
+ return list(debugsources)
-def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir, sourcefile, d):
+def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir, d):
# Function to split a single file into two components, one is the stripped
# target system binary, the other contains any debugging information. The
# two files are linked to reference each other.
#
- # sourcefile is also generated containing a list of debugsources
+ # return a mapping of files:debugsources
import stat
import subprocess
@@ -386,6 +379,7 @@ def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir,
src = file[len(dvar):]
dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend
debugfile = dvar + dest
+ sources = []
# Split the file...
bb.utils.mkdirhier(os.path.dirname(debugfile))
@@ -397,7 +391,7 @@ def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir,
# We ignore kernel modules, we don't generate debug info files.
if file.find("/lib/modules/") != -1 and file.endswith(".ko"):
- return 1
+ return (file, sources)
newmode = None
if not os.access(file, os.W_OK) or os.access(file, os.R_OK):
@@ -407,7 +401,7 @@ def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir,
# We need to extract the debug src information here...
if debugsrcdir:
- append_source_info(file, sourcefile, d)
+ sources = source_info(file, d)
bb.utils.mkdirhier(os.path.dirname(debugfile))
@@ -419,17 +413,26 @@ def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir,
if newmode:
os.chmod(file, origmode)
- return 0
+ return (file, sources)
-def copydebugsources(debugsrcdir, d):
+def copydebugsources(debugsrcdir, sources, d):
# The debug src information written out to sourcefile is further processed
# and copied to the destination here.
import stat
import subprocess
- sourcefile = d.expand("${WORKDIR}/debugsources.list")
- if debugsrcdir and os.path.isfile(sourcefile):
+ if debugsrcdir and sources:
+ sourcefile = d.expand("${WORKDIR}/debugsources.list")
+ bb.utils.remove(sourcefile)
+
+ # filenames are null-separated - this is an artefact of the previous use
+ # of rpm's debugedit, which was writing them out that way, and the code elsewhere
+ # is still assuming that.
+ debuglistoutput = '\0'.join(sources) + '\0'
+ with open(sourcefile, 'a') as sf:
+ sf.write(debuglistoutput)
+
dvar = d.getVar('PKGD')
strip = d.getVar("STRIP")
objcopy = d.getVar("OBJCOPY")
@@ -471,7 +474,8 @@ def copydebugsources(debugsrcdir, d):
# cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced.
# Work around this by manually finding and copying any symbolic links that made it through.
- cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s' 2>/dev/null)" % (dvar, debugsrcdir, dvar, debugsrcdir, workparentdir, dvar, debugsrcdir)
+ cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s')" % \
+ (dvar, debugsrcdir, dvar, debugsrcdir, workparentdir, dvar, debugsrcdir)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
# The copy by cpio may have resulted in some empty directories! Remove these
@@ -932,9 +936,6 @@ python split_and_strip_files () {
debuglibdir = ""
debugsrcdir = "/usr/src/debug"
- sourcefile = d.expand("${WORKDIR}/debugsources.list")
- bb.utils.remove(sourcefile)
-
#
# First lets figure out all of the files we may have to process ... do this only once!
#
@@ -1039,11 +1040,15 @@ python split_and_strip_files () {
# First lets process debug splitting
#
if (d.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT') != '1'):
- oe.utils.multiprocess_launch(splitdebuginfo, list(elffiles), d, extraargs=(dvar, debugdir, debuglibdir, debugappend, debugsrcdir, sourcefile, d))
+ results = oe.utils.multiprocess_launch(splitdebuginfo, list(elffiles), d, extraargs=(dvar, debugdir, debuglibdir, debugappend, debugsrcdir, d))
if debugsrcdir and not targetos.startswith("mingw"):
for file in staticlibs:
- append_source_info(file, sourcefile, d, fatal=False)
+ results.extend(source_info(file, d, fatal=False))
+
+ sources = set()
+ for r in results:
+ sources.update(r[1])
# Hardlink our debug symbols to the other hardlink copies
for ref in inodes:
@@ -1091,7 +1096,7 @@ python split_and_strip_files () {
# Process the debugsrcdir if requested...
# This copies and places the referenced sources for later debugging...
- copydebugsources(debugsrcdir, d)
+ copydebugsources(debugsrcdir, sources, d)
#
# End of debug splitting
#
@@ -1123,7 +1128,7 @@ python populate_packages () {
workdir = d.getVar('WORKDIR')
outdir = d.getVar('DEPLOY_DIR')
dvar = d.getVar('PKGD')
- packages = d.getVar('PACKAGES')
+ packages = d.getVar('PACKAGES').split()
pn = d.getVar('PN')
bb.utils.mkdirhier(outdir)
@@ -1133,32 +1138,34 @@ python populate_packages () {
split_source_package = (d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg')
- # If debug-with-srcpkg mode is enabled then the src package is added
- # into the package list and the source directory as its main content
+ # If debug-with-srcpkg mode is enabled then add the source package if it
+ # doesn't exist and add the source file contents to the source package.
if split_source_package:
src_package_name = ('%s-src' % d.getVar('PN'))
- packages += (' ' + src_package_name)
+ if not src_package_name in packages:
+ packages.append(src_package_name)
d.setVar('FILES_%s' % src_package_name, '/usr/src/debug')
# Sanity check PACKAGES for duplicates
# Sanity should be moved to sanity.bbclass once we have the infrastructure
package_dict = {}
- for i, pkg in enumerate(packages.split()):
+ for i, pkg in enumerate(packages):
if pkg in package_dict:
msg = "%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg
package_qa_handle_error("packages-list", msg, d)
- # If debug-with-srcpkg mode is enabled then the src package will have
- # priority over dbg package when assigning the files.
- # This allows src package to include source files and remove them from dbg.
- elif split_source_package and pkg.endswith("-src"):
+ # Ensure the source package gets the chance to pick up the source files
+ # before the debug package by ordering it first in PACKAGES. Whether it
+ # actually picks up any source files is controlled by
+ # PACKAGE_DEBUG_SPLIT_STYLE.
+ elif pkg.endswith("-src"):
package_dict[pkg] = (10, i)
elif autodebug and pkg.endswith("-dbg"):
package_dict[pkg] = (30, i)
else:
package_dict[pkg] = (50, i)
- package_list = sorted(package_dict.keys(), key=package_dict.get)
- d.setVar('PACKAGES', ' '.join(package_list))
+ packages = sorted(package_dict.keys(), key=package_dict.get)
+ d.setVar('PACKAGES', ' '.join(packages))
pkgdest = d.getVar('PKGDEST')
seen = []
@@ -1176,7 +1183,7 @@ python populate_packages () {
if "/.debug/" in path or path.endswith("/.debug"):
debug.append(path)
- for pkg in package_list:
+ for pkg in packages:
root = os.path.join(pkgdest, pkg)
bb.utils.mkdirhier(root)
@@ -1247,7 +1254,7 @@ python populate_packages () {
# Handle LICENSE_EXCLUSION
package_list = []
- for pkg in packages.split():
+ for pkg in packages:
if d.getVar('LICENSE_EXCLUSION-' + pkg):
msg = "%s has an incompatible license. Excluding from packaging." % pkg
package_qa_handle_error("incompatible-license", msg, d)
@@ -1438,7 +1445,7 @@ fi
if fstat.st_ino not in seen:
seen.add(fstat.st_ino)
total_size += fstat.st_size
- d.setVar('FILES_INFO', json.dumps(files))
+ d.setVar('FILES_INFO', json.dumps(files, sort_keys=True))
subdata_file = pkgdatadir + "/runtime/%s" % pkg
sf = open(subdata_file, 'w')
@@ -1561,12 +1568,12 @@ python package_do_filedeps() {
if pkg not in requires_files:
requires_files[pkg] = []
- for file in provides:
+ for file in sorted(provides):
provides_files[pkg].append(file)
key = "FILERPROVIDES_" + file + "_" + pkg
d.appendVar(key, " " + " ".join(provides[file]))
- for file in requires:
+ for file in sorted(requires):
requires_files[pkg].append(file)
key = "FILERDEPENDS_" + file + "_" + pkg
d.appendVar(key, " " + " ".join(requires[file]))
@@ -1589,8 +1596,8 @@ python package_do_shlibs() {
bb.note("not generating shlibs")
return
- lib_re = re.compile("^.*\.so")
- libdir_re = re.compile(".*/%s$" % d.getVar('baselib'))
+ lib_re = re.compile(r"^.*\.so")
+ libdir_re = re.compile(r".*/%s$" % d.getVar('baselib'))
packages = d.getVar('PACKAGES')
@@ -1631,17 +1638,17 @@ python package_do_shlibs() {
fd.close()
rpath = tuple()
for l in lines:
- m = re.match("\s+RPATH\s+([^\s]*)", l)
+ m = re.match(r"\s+RPATH\s+([^\s]*)", l)
if m:
rpaths = m.group(1).replace("$ORIGIN", ldir).split(":")
rpath = tuple(map(os.path.normpath, rpaths))
for l in lines:
- m = re.match("\s+NEEDED\s+([^\s]*)", l)
+ m = re.match(r"\s+NEEDED\s+([^\s]*)", l)
if m:
dep = m.group(1)
if dep not in needed:
needed.add((dep, file, rpath))
- m = re.match("\s+SONAME\s+([^\s]*)", l)
+ m = re.match(r"\s+SONAME\s+([^\s]*)", l)
if m:
this_soname = m.group(1)
prov = (this_soname, ldir, pkgver)
@@ -1721,7 +1728,7 @@ python package_do_shlibs() {
out, err = p.communicate()
# process the output, grabbing all .dll names
if p.returncode == 0:
- for m in re.finditer("DLL Name: (.*?\.dll)$", out.decode(), re.MULTILINE | re.IGNORECASE):
+ for m in re.finditer(r"DLL Name: (.*?\.dll)$", out.decode(), re.MULTILINE | re.IGNORECASE):
dllname = m.group(1)
if dllname:
needed[pkg].add((dllname, file, tuple()))
@@ -1867,7 +1874,7 @@ python package_do_shlibs() {
os.remove(deps_file)
if len(deps):
fd = open(deps_file, 'w')
- for dep in deps:
+ for dep in sorted(deps):
fd.write(dep + '\n')
fd.close()
}
@@ -1882,9 +1889,9 @@ python package_do_pkgconfig () {
shlibs_dirs = d.getVar('SHLIBSDIRS').split()
shlibswork_dir = d.getVar('SHLIBSWORKDIR')
- pc_re = re.compile('(.*)\.pc$')
- var_re = re.compile('(.*)=(.*)')
- field_re = re.compile('(.*): (.*)')
+ pc_re = re.compile(r'(.*)\.pc$')
+ var_re = re.compile(r'(.*)=(.*)')
+ field_re = re.compile(r'(.*): (.*)')
pkgconfig_provided = {}
pkgconfig_needed = {}
@@ -1932,7 +1939,7 @@ python package_do_pkgconfig () {
if not os.path.exists(dir):
continue
for file in os.listdir(dir):
- m = re.match('^(.*)\.pclist$', file)
+ m = re.match(r'^(.*)\.pclist$', file)
if m:
pkg = m.group(1)
fd = open(os.path.join(dir, file))
@@ -1988,7 +1995,7 @@ python read_shlibdeps () {
packages = d.getVar('PACKAGES').split()
for pkg in packages:
rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg) or "")
- for dep in pkglibdeps[pkg]:
+ for dep in sorted(pkglibdeps[pkg]):
# Add the dep if it's not already there, or if no comparison is set
if dep not in rdepends:
rdepends[dep] = []
@@ -2021,7 +2028,7 @@ python package_depchains() {
#bb.note('depends for %s is %s' % (base, depends))
rreclist = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS_' + pkg) or "")
- for depend in depends:
+ for depend in sorted(depends):
if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'):
#bb.note("Skipping %s" % depend)
continue
@@ -2042,7 +2049,7 @@ python package_depchains() {
#bb.note('rdepends for %s is %s' % (base, rdepends))
rreclist = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS_' + pkg) or "")
- for depend in rdepends:
+ for depend in sorted(rdepends):
if depend.find('virtual-locale-') != -1:
#bb.note("Skipping %s" % depend)
continue
diff --git a/poky/meta/classes/package_ipk.bbclass b/poky/meta/classes/package_ipk.bbclass
index 5eb910ca3..d1b317b42 100644
--- a/poky/meta/classes/package_ipk.bbclass
+++ b/poky/meta/classes/package_ipk.bbclass
@@ -8,7 +8,7 @@ IPKGCONF_SDK = "${WORKDIR}/opkg-sdk.conf"
PKGWRITEDIRIPK = "${WORKDIR}/deploy-ipks"
# Program to be used to build opkg packages
-OPKGBUILDCMD ??= "opkg-build -Z xz"
+OPKGBUILDCMD ??= 'opkg-build -Z xz -a "${XZ_DEFAULTS}"'
OPKG_ARGS += "--force_postinstall --prefer-arch-to-version"
OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}"
diff --git a/poky/meta/classes/package_rpm.bbclass b/poky/meta/classes/package_rpm.bbclass
index 21ada348a..1a64cb271 100644
--- a/poky/meta/classes/package_rpm.bbclass
+++ b/poky/meta/classes/package_rpm.bbclass
@@ -113,6 +113,10 @@ python write_specfile () {
source_list = os.listdir(ar_outdir)
source_number = 0
for source in source_list:
+ # do_deploy_archives may have already run (from sstate) meaning a .src.rpm may already
+ # exist in ARCHIVER_OUTDIR so skip if present.
+ if source.endswith(".src.rpm"):
+ continue
# The rpmbuild doesn't need the root permission, but it needs
# to know the file's user and group name, the only user and
# group in fakeroot is "root" when working in fakeroot.
@@ -690,7 +694,7 @@ python do_package_rpm () {
cmd = cmd + " --define '_tmppath " + workdir + "'"
if d.getVarFlag('ARCHIVER_MODE', 'srpm') == '1' and bb.data.inherits_class('archiver', d):
cmd = cmd + " --define '_sourcedir " + d.getVar('ARCHIVER_OUTDIR') + "'"
- cmdsrpm = cmd + " --define '_srcrpmdir " + d.getVar('ARCHIVER_OUTDIR') + "'"
+ cmdsrpm = cmd + " --define '_srcrpmdir " + d.getVar('ARCHIVER_RPMOUTDIR') + "'"
cmdsrpm = cmdsrpm + " -bs " + outspecfile
# Build the .src.rpm
d.setVar('SBUILDSPEC', cmdsrpm + "\n")
diff --git a/poky/meta/classes/packagegroup.bbclass b/poky/meta/classes/packagegroup.bbclass
index d540d4214..94a59e0c0 100644
--- a/poky/meta/classes/packagegroup.bbclass
+++ b/poky/meta/classes/packagegroup.bbclass
@@ -48,6 +48,8 @@ deltask do_compile
deltask do_install
deltask do_populate_sysroot
+INHIBIT_DEFAULT_DEPS = "1"
+
python () {
if bb.data.inherits_class('nativesdk', d):
return
diff --git a/poky/meta/classes/perl-version.bbclass b/poky/meta/classes/perl-version.bbclass
index bafd96518..84b67b818 100644
--- a/poky/meta/classes/perl-version.bbclass
+++ b/poky/meta/classes/perl-version.bbclass
@@ -1,4 +1,4 @@
-PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}"
+PERL_OWN_DIR = ""
# Determine the staged version of perl from the perl configuration file
# Assign vardepvalue, because otherwise signature is changed before and after
@@ -6,7 +6,7 @@ PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}"
get_perl_version[vardepvalue] = "${PERL_OWN_DIR}"
def get_perl_version(d):
import re
- cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh')
+ cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh')
try:
f = open(cfg, 'r')
except IOError:
@@ -22,3 +22,45 @@ def get_perl_version(d):
PERLVERSION := "${@get_perl_version(d)}"
PERLVERSION[vardepvalue] = ""
+
+
+# Determine the staged arch of perl from the perl configuration file
+# Assign vardepvalue, because otherwise signature is changed before and after
+# perl is built (from None to real version in config.sh).
+def get_perl_arch(d):
+ import re
+ cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh')
+ try:
+ f = open(cfg, 'r')
+ except IOError:
+ return None
+ l = f.readlines();
+ f.close();
+ r = re.compile("^archname='([^']*)'")
+ for s in l:
+ m = r.match(s)
+ if m:
+ return m.group(1)
+ return None
+
+PERLARCH := "${@get_perl_arch(d)}"
+PERLARCH[vardepvalue] = ""
+
+# Determine the staged arch of perl-native from the perl configuration file
+# Assign vardepvalue, because otherwise signature is changed before and after
+# perl is built (from None to real version in config.sh).
+def get_perl_hostarch(d):
+ import re
+ cfg = d.expand('${STAGING_LIBDIR_NATIVE}/perl5/config.sh')
+ try:
+ f = open(cfg, 'r')
+ except IOError:
+ return None
+ l = f.readlines();
+ f.close();
+ r = re.compile("^archname='([^']*)'")
+ for s in l:
+ m = r.match(s)
+ if m:
+ return m.group(1)
+ return None
diff --git a/poky/meta/classes/pixbufcache.bbclass b/poky/meta/classes/pixbufcache.bbclass
index 3378ff2c8..b07f51ed5 100644
--- a/poky/meta/classes/pixbufcache.bbclass
+++ b/poky/meta/classes/pixbufcache.bbclass
@@ -3,7 +3,7 @@
# packages.
#
-DEPENDS += "qemu-native"
+DEPENDS_append_class-target = " qemu-native"
inherit qemu
PIXBUF_PACKAGES ??= "${PN}"
@@ -54,7 +54,6 @@ GDK_PIXBUF_FATAL_LOADER=1 ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-que
DEPENDS_append_class-native = " gdk-pixbuf-native"
SYSROOT_PREPROCESS_FUNCS_append_class-native = " pixbufcache_sstate_postinst"
-# See base.bbclass for the other half of this
pixbufcache_sstate_postinst() {
mkdir -p ${SYSROOT_DESTDIR}${bindir}
dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}
diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass
index 677ba3cf1..ebc30d39b 100644
--- a/poky/meta/classes/populate_sdk_base.bbclass
+++ b/poky/meta/classes/populate_sdk_base.bbclass
@@ -6,6 +6,7 @@ COMPLEMENTARY_GLOB[dev-pkgs] = '*-dev'
COMPLEMENTARY_GLOB[staticdev-pkgs] = '*-staticdev'
COMPLEMENTARY_GLOB[doc-pkgs] = '*-doc'
COMPLEMENTARY_GLOB[dbg-pkgs] = '*-dbg'
+COMPLEMENTARY_GLOB[src-pkgs] = '*-src'
COMPLEMENTARY_GLOB[ptest-pkgs] = '*-ptest'
def complementary_globs(featurevar, d):
@@ -17,7 +18,7 @@ def complementary_globs(featurevar, d):
globs.append(glob)
return ' '.join(globs)
-SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'doc-pkgs', '', d)}"
+SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs src-pkgs ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'doc-pkgs', '', d)}"
SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)}'
PACKAGE_ARCHS_append_task-populate-sdk = " sdk-provides-dummy-target"
@@ -225,7 +226,7 @@ fakeroot tar_sdk() {
# Package it up
mkdir -p ${SDKDEPLOYDIR}
cd ${SDK_OUTPUT}/${SDKPATH}
- tar ${SDKTAROPTS} -cf - . | xz -T 0 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.xz
+ tar ${SDKTAROPTS} -cf - . | xz ${XZ_DEFAULTS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.xz
}
TOOLCHAIN_SHAR_EXT_TMPL ?= "${COREBASE}/meta/files/toolchain-shar-extract.sh"
@@ -257,7 +258,7 @@ EOF
-e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \
-e 's#@OLDEST_KERNEL@#${SDK_OLDEST_KERNEL}#g' \
-e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \
- -e 's#@SDK_TITLE@#${@d.getVar("SDK_TITLE").replace('&', '\&')}#g' \
+ -e 's#@SDK_TITLE@#${@d.getVar("SDK_TITLE").replace('&', '\\&')}#g' \
-e 's#@SDK_VERSION@#${SDK_VERSION}#g' \
-e '/@SDK_PRE_INSTALL_COMMAND@/d' \
-e '/@SDK_POST_INSTALL_COMMAND@/d' \
diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass
index 40b0375e0..800e1175d 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes/populate_sdk_ext.bbclass
@@ -589,11 +589,8 @@ sdk_ext_preinst() {
exit 1
fi
SDK_EXTENSIBLE="1"
- if [ "$publish" = "1" ] ; then
- EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=ext-sdk-prepare.py"
- if [ "${SDK_EXT_TYPE}" = "minimal" ] ; then
- EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=sstate-cache"
- fi
+ if [ "$publish" = "1" ] && [ "${SDK_EXT_TYPE}" = "minimal" ] ; then
+ EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=sstate-cache"
fi
}
SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_preinst}"
@@ -635,6 +632,8 @@ sdk_ext_postinst() {
# sourcing a script. That is why this has to look so ugly.
LOGFILE="$target_sdk_dir/preparing_build_system.log"
sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
+ fi
+ if [ -e $target_sdk_dir/ext-sdk-prepare.py ]; then
rm $target_sdk_dir/ext-sdk-prepare.py
fi
echo done
diff --git a/poky/meta/classes/ptest.bbclass b/poky/meta/classes/ptest.bbclass
index 9d8a79854..97865c933 100644
--- a/poky/meta/classes/ptest.bbclass
+++ b/poky/meta/classes/ptest.bbclass
@@ -3,6 +3,9 @@ DESCRIPTION_${PN}-ptest ?= "${DESCRIPTION} \
This package contains a test directory ${PTEST_PATH} for package test purposes."
PTEST_PATH ?= "${libdir}/${BPN}/ptest"
+PTEST_BUILD_HOST_FILES ?= "Makefile"
+PTEST_BUILD_HOST_PATTERN ?= ""
+
FILES_${PN}-ptest = "${PTEST_PATH}"
SECTION_${PN}-ptest = "devel"
ALLOW_EMPTY_${PN}-ptest = "1"
@@ -45,6 +48,21 @@ do_install_ptest_base() {
fi
do_install_ptest
chown -R root:root ${D}${PTEST_PATH}
+
+ # Strip build host paths from any installed Makefile
+ for filename in ${PTEST_BUILD_HOST_FILES}; do
+ for installed_ptest_file in $(find ${D}${PTEST_PATH} -type f -name $filename); do
+ bbnote "Stripping host paths from: $installed_ptest_file"
+ sed -e 's#${HOSTTOOLS_DIR}/*##g' \
+ -e 's#${WORKDIR}/*=#.=#g' \
+ -e 's#${WORKDIR}/*##g' \
+ -i $installed_ptest_file
+ if [ -n "${PTEST_BUILD_HOST_PATTERN}" ]; then
+ sed -E '/${PTEST_BUILD_HOST_PATTERN}/d' \
+ -i $installed_ptest_file
+ fi
+ done
+ done
}
do_configure_ptest_base[dirs] = "${B}"
diff --git a/poky/meta/classes/python3-dir.bbclass b/poky/meta/classes/python3-dir.bbclass
index 06bb046d9..7dd130bad 100644
--- a/poky/meta/classes/python3-dir.bbclass
+++ b/poky/meta/classes/python3-dir.bbclass
@@ -1,4 +1,4 @@
-PYTHON_BASEVERSION = "3.5"
+PYTHON_BASEVERSION = "3.7"
PYTHON_ABI = "m"
PYTHON_DIR = "python${PYTHON_BASEVERSION}"
PYTHON_PN = "python3"
diff --git a/poky/meta/classes/python3native.bbclass b/poky/meta/classes/python3native.bbclass
index da12a7147..a3acaf61b 100644
--- a/poky/meta/classes/python3native.bbclass
+++ b/poky/meta/classes/python3native.bbclass
@@ -9,6 +9,8 @@ DEPENDS_append = " python3-native "
export STAGING_INCDIR
export STAGING_LIBDIR
+export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
+
# suppress host user's site-packages dirs.
export PYTHONNOUSERSITE = "1"
diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass
index 374dacf4d..cab092140 100644
--- a/poky/meta/classes/sanity.bbclass
+++ b/poky/meta/classes/sanity.bbclass
@@ -338,7 +338,7 @@ def check_path_length(filepath, pathname, limit):
def get_filesystem_id(path):
import subprocess
try:
- return subprocess.check_output(["stat", "-f", "-c", "%t", path]).decode('utf-8')
+ return subprocess.check_output(["stat", "-f", "-c", "%t", path]).decode('utf-8').strip()
except subprocess.CalledProcessError:
bb.warn("Can't get filesystem id of: %s" % path)
return None
diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes/scons.bbclass
index b9ae19d58..9ee7d1587 100644
--- a/poky/meta/classes/scons.bbclass
+++ b/poky/meta/classes/scons.bbclass
@@ -2,16 +2,25 @@ DEPENDS += "python-scons-native"
EXTRA_OESCONS ?= ""
-do_configure[noexec] = "1"
+do_configure() {
+ if [ -n "${CONFIGURESTAMPFILE}" ]; then
+ if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then
+ ${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS}
+ fi
+
+ mkdir -p `dirname ${CONFIGURESTAMPFILE}`
+ echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
+ fi
+}
scons_do_compile() {
- ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
- die "scons build execution failed."
+ ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
+ die "scons build execution failed."
}
scons_do_install() {
- ${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \
- die "scons install execution failed."
+ ${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \
+ die "scons install execution failed."
}
EXPORT_FUNCTIONS do_compile do_install
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass
index edbfba5de..6f51d9c18 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -11,7 +11,7 @@ def generate_sstatefn(spec, hash, d):
SSTATE_PKGARCH = "${PACKAGE_ARCH}"
SSTATE_PKGSPEC = "sstate:${PN}:${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}:${PV}:${PR}:${SSTATE_PKGARCH}:${SSTATE_VERSION}:"
SSTATE_SWSPEC = "sstate:${PN}::${PV}:${PR}::${SSTATE_VERSION}:"
-SSTATE_PKGNAME = "${SSTATE_EXTRAPATH}${@generate_sstatefn(d.getVar('SSTATE_PKGSPEC'), d.getVar('BB_TASKHASH'), d)}"
+SSTATE_PKGNAME = "${SSTATE_EXTRAPATH}${@generate_sstatefn(d.getVar('SSTATE_PKGSPEC'), d.getVar('BB_UNIHASH'), d)}"
SSTATE_PKG = "${SSTATE_DIR}/${SSTATE_PKGNAME}"
SSTATE_EXTRAPATH = ""
SSTATE_EXTRAPATHWILDCARD = ""
@@ -23,6 +23,7 @@ PV[vardepvalue] = "${PV}"
# We don't want the sstate to depend on things like the distro string
# of the system, we let the sstate paths take care of this.
SSTATE_EXTRAPATH[vardepvalue] = ""
+SSTATE_EXTRAPATHWILDCARD[vardepvalue] = ""
# For multilib rpm the allarch packagegroup files can overwrite (in theory they're identical)
SSTATE_DUPWHITELIST = "${DEPLOY_DIR}/licenses/"
@@ -61,6 +62,7 @@ SSTATE_ARCHS = " \
SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"
SSTATECREATEFUNCS = "sstate_hardcode_path"
+SSTATECREATEFUNCS[vardeps] = "SSTATE_SCAN_FILES"
SSTATEPOSTCREATEFUNCS = ""
SSTATEPREINSTFUNCS = ""
SSTATEPOSTUNPACKFUNCS = "sstate_hardcode_path_unpack"
@@ -82,6 +84,23 @@ SSTATE_SIG_PASSPHRASE ?= ""
# Whether to verify the GnUPG signatures when extracting sstate archives
SSTATE_VERIFY_SIG ?= "0"
+SSTATE_HASHEQUIV_METHOD ?= "oe.sstatesig.OEOuthashBasic"
+SSTATE_HASHEQUIV_METHOD[doc] = "The fully-qualified function used to calculate \
+ the output hash for a task, which in turn is used to determine equivalency. \
+ "
+
+SSTATE_HASHEQUIV_SERVER ?= ""
+SSTATE_HASHEQUIV_SERVER[doc] = "The hash equivalence sever. For example, \
+ 'http://192.168.0.1:5000'. Do not include a trailing slash \
+ "
+
+SSTATE_HASHEQUIV_REPORT_TASKDATA ?= "0"
+SSTATE_HASHEQUIV_REPORT_TASKDATA[doc] = "Report additional useful data to the \
+ hash equivalency server, such as PN, PV, taskname, etc. This information \
+ is very useful for developers looking at task data, but may leak sensitive \
+ data if the equivalence server is public. \
+ "
+
python () {
if bb.data.inherits_class('native', d):
d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH', False))
@@ -101,7 +120,7 @@ python () {
if bb.data.inherits_class('native', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross', d):
d.setVar('SSTATE_EXTRAPATH', "${NATIVELSBSTRING}/")
d.setVar('BB_HASHFILENAME', "True ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}")
- d.setVar('SSTATE_EXTRAPATHWILDCARD', "*/")
+ d.setVar('SSTATE_EXTRAPATHWILDCARD', "${NATIVELSBSTRING}/")
unique_tasks = sorted(set((d.getVar('SSTATETASKS') or "").split()))
d.setVar('SSTATETASKS', " ".join(unique_tasks))
@@ -640,7 +659,7 @@ def sstate_package(ss, d):
return
for f in (d.getVar('SSTATECREATEFUNCS') or '').split() + \
- ['sstate_create_package', 'sstate_sign_package'] + \
+ ['sstate_report_unihash', 'sstate_create_package', 'sstate_sign_package'] + \
(d.getVar('SSTATEPOSTCREATEFUNCS') or '').split():
# All hooks should run in SSTATE_BUILDDIR.
bb.build.exec_func(f, d, (sstatebuild,))
@@ -764,6 +783,14 @@ python sstate_sign_package () {
d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False)
}
+python sstate_report_unihash() {
+ report_unihash = getattr(bb.parse.siggen, 'report_unihash', None)
+
+ if report_unihash:
+ ss = sstate_state_fromvars(d)
+ report_unihash(os.getcwd(), ss['task'], d)
+}
+
#
# Shell function to decompress and prepare a package for installation
# Will be run from within SSTATE_INSTDIR.
@@ -780,7 +807,7 @@ sstate_unpack_package () {
BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
-def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
+def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, sq_unihash=None):
ret = []
missed = []
@@ -788,6 +815,11 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
if siginfo:
extension = extension + ".siginfo"
+ def gethash(task):
+ if sq_unihash is not None:
+ return sq_unihash[task]
+ return sq_hash[task]
+
def getpathcomponents(task, d):
# Magic data from BB_HASHFILENAME
splithashfn = sq_hashfn[task].split(" ")
@@ -810,7 +842,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
spec, extrapath, tname = getpathcomponents(task, d)
- sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + extension)
+ sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + extension)
if os.path.exists(sstatefile):
bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
@@ -872,7 +904,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
if task in ret:
continue
spec, extrapath, tname = getpathcomponents(task, d)
- sstatefile = d.expand(extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + extension)
+ sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + extension)
tasklist.append((task, sstatefile))
if tasklist:
@@ -898,12 +930,12 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
evdata = {'missed': [], 'found': []};
for task in missed:
spec, extrapath, tname = getpathcomponents(task, d)
- sstatefile = d.expand(extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + ".tgz")
- evdata['missed'].append( (sq_fn[task], sq_task[task], sq_hash[task], sstatefile ) )
+ sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + ".tgz")
+ evdata['missed'].append( (sq_fn[task], sq_task[task], gethash(task), sstatefile ) )
for task in ret:
spec, extrapath, tname = getpathcomponents(task, d)
- sstatefile = d.expand(extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + ".tgz")
- evdata['found'].append( (sq_fn[task], sq_task[task], sq_hash[task], sstatefile ) )
+ sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + ".tgz")
+ evdata['found'].append( (sq_fn[task], sq_task[task], gethash(task), sstatefile ) )
bb.event.fire(bb.event.MetadataEvent("MissedSstate", evdata), d)
# Print some summary statistics about the current task completion and how much sstate
@@ -1087,12 +1119,15 @@ python sstate_eventhandler2() {
with open(i, "r") as f:
lines = f.readlines()
for l in lines:
- (stamp, manifest, workdir) = l.split()
- if stamp not in stamps and stamp not in preservestamps and stamp in machineindex:
- toremove.append(l)
- if stamp not in seen:
- bb.debug(2, "Stamp %s is not reachable, removing related manifests" % stamp)
- seen.append(stamp)
+ try:
+ (stamp, manifest, workdir) = l.split()
+ if stamp not in stamps and stamp not in preservestamps and stamp in machineindex:
+ toremove.append(l)
+ if stamp not in seen:
+ bb.debug(2, "Stamp %s is not reachable, removing related manifests" % stamp)
+ seen.append(stamp)
+ except ValueError:
+ bb.fatal("Invalid line '%s' in sstate manifest '%s'" % (l, i))
if toremove:
msg = "Removing %d recipes from the %s sysroot" % (len(toremove), a)
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index 84e13bab5..062b2817c 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -198,6 +198,10 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
if manifest.endswith("-initial.populate_sysroot"):
# skip glibc-initial and libgcc-initial due to file overlap
continue
+ if not native and (manifest.endswith("-native.populate_sysroot") or "nativesdk-" in manifest):
+ continue
+ if native and not (manifest.endswith("-native.populate_sysroot") or manifest.endswith("-cross.populate_sysroot") or "-cross-" in manifest):
+ continue
tmanifest = targetdir + "/" + os.path.basename(manifest)
if os.path.exists(tmanifest):
continue
@@ -573,6 +577,7 @@ python extend_recipe_sysroot() {
}
extend_recipe_sysroot[vardepsexclude] += "MACHINE_ARCH PACKAGE_EXTRA_ARCHS SDK_ARCH BUILD_ARCH SDK_OS BB_TASKDEPDATA"
+do_prepare_recipe_sysroot[deptask] = "do_populate_sysroot"
python do_prepare_recipe_sysroot () {
bb.build.exec_func("extend_recipe_sysroot", d)
}
diff --git a/poky/meta/classes/terminal.bbclass b/poky/meta/classes/terminal.bbclass
index 73e765d57..6059ae95e 100644
--- a/poky/meta/classes/terminal.bbclass
+++ b/poky/meta/classes/terminal.bbclass
@@ -14,6 +14,7 @@ def oe_terminal_prioritized():
return " ".join(o.name for o in oe.terminal.prioritized())
def emit_terminal_func(command, envdata, d):
+ import bb.build
cmd_func = 'do_terminal'
envdata.setVar(cmd_func, 'exec ' + command)
@@ -25,8 +26,7 @@ def emit_terminal_func(command, envdata, d):
bb.utils.mkdirhier(os.path.dirname(runfile))
with open(runfile, 'w') as script:
- script.write('#!/usr/bin/env %s\n' % d.getVar('SHELL'))
- script.write('set -e\n')
+ script.write(bb.build.shell_trap_code())
bb.data.emit_func(cmd_func, script, envdata)
script.write(cmd_func)
script.write("\n")
diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass
index cb8c12acc..ff1c53b93 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes/testimage.bbclass
@@ -32,6 +32,7 @@ TESTIMAGE_AUTO ??= "0"
# Booting is handled by this class, and it's not a test in itself.
# TEST_QEMUBOOT_TIMEOUT can be used to set the maximum time in seconds the launch code will wait for the login prompt.
# TEST_QEMUPARAMS can be used to pass extra parameters to qemu, e.g. "-m 1024" for setting the amount of ram to 1 GB.
+# TEST_RUNQEMUPARAMS can be used to pass extra parameters to runqemu, e.g. "gl" to enable OpenGL acceleration.
TEST_LOG_DIR ?= "${WORKDIR}/testimage"
@@ -65,6 +66,7 @@ TEST_SUITES ?= "${DEFAULT_TEST_SUITES}"
TEST_QEMUBOOT_TIMEOUT ?= "1000"
TEST_TARGET ?= "qemu"
TEST_QEMUPARAMS ?= ""
+TEST_RUNQEMUPARAMS ?= ""
TESTIMAGEDEPENDS = ""
TESTIMAGEDEPENDS_append_qemuall = " qemu-native:do_populate_sysroot qemu-helper-native:do_populate_sysroot qemu-helper-native:do_addto_recipe_sysroot"
@@ -294,7 +296,7 @@ def testimage_main(d):
try:
# We need to check if runqemu ends unexpectedly
# or if the worker send us a SIGTERM
- tc.target.start(params=d.getVar("TEST_QEMUPARAMS"))
+ tc.target.start(params=d.getVar("TEST_QEMUPARAMS"), runqemuparams=d.getVar("TEST_RUNQEMUPARAMS"))
results = tc.runTests()
except (RuntimeError, BlockingIOError) as err:
if isinstance(err, RuntimeError):
diff --git a/poky/meta/classes/uboot-extlinux-config.bbclass b/poky/meta/classes/uboot-extlinux-config.bbclass
index c65c421b6..b5b1a81df 100644
--- a/poky/meta/classes/uboot-extlinux-config.bbclass
+++ b/poky/meta/classes/uboot-extlinux-config.bbclass
@@ -148,5 +148,7 @@ python do_create_extlinux_config() {
except OSError:
bb.fatal('Unable to open %s' % (cfile))
}
+UBOOT_EXTLINUX_VARS = "CONSOLE MENU_DESCRIPTION ROOT KERNEL_IMAGE FDTDIR FDT KERNEL_ARGS INITRD"
+do_create_extlinux_config[vardeps] += "${@' '.join(['UBOOT_EXTLINUX_%s_%s' % (v, l) for v in d.getVar('UBOOT_EXTLINUX_VARS').split() for l in d.getVar('UBOOT_EXTLINUX_LABELS').split()])}"
addtask create_extlinux_config before do_install do_deploy after do_compile
diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass
index 8ee904e7d..9e3d1d6fc 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes/uboot-sign.bbclass
@@ -19,11 +19,15 @@
# The tasks sequence is set as below, using DEPLOY_IMAGE_DIR as common place to
# treat the device tree blob:
#
-# u-boot:do_deploy_dtb
-# u-boot:do_deploy
-# virtual/kernel:do_assemble_fitimage
-# u-boot:do_concat_dtb
-# u-boot:do_install
+# * u-boot:do_install_append
+# Install UBOOT_DTB_BINARY to datadir, so that kernel can use it for
+# signing, and kernel will deploy UBOOT_DTB_BINARY after signs it.
+#
+# * virtual/kernel:do_assemble_fitimage
+# Sign the image
+#
+# * u-boot:do_deploy[postfuncs]
+# Deploy files like UBOOT_DTB_IMAGE, UBOOT_DTB_SYMLINK and others.
#
# For more details on signature process, please refer to U-Boot documentation.
@@ -38,58 +42,65 @@ UBOOT_NODTB_IMAGE ?= "u-boot-nodtb-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
UBOOT_NODTB_BINARY ?= "u-boot-nodtb.${UBOOT_SUFFIX}"
UBOOT_NODTB_SYMLINK ?= "u-boot-nodtb-${MACHINE}.${UBOOT_SUFFIX}"
-#
-# Following is relevant only for u-boot recipes:
-#
+# Functions in this bbclass is for u-boot only
+UBOOT_PN = "${@d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'}"
-do_deploy_dtb () {
- mkdir -p ${DEPLOYDIR}
- cd ${DEPLOYDIR}
+concat_dtb() {
+ if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" ]; then
+ mkdir -p ${DEPLOYDIR}
+ if [ -e ${B}/${UBOOT_DTB_BINARY} ]; then
+ ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_BINARY}
+ ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_SYMLINK}
+ fi
- if [ -f ${B}/${UBOOT_DTB_BINARY} ]; then
- install ${B}/${UBOOT_DTB_BINARY} ${DEPLOYDIR}/${UBOOT_DTB_IMAGE}
- rm -f ${UBOOT_DTB_BINARY} ${UBOOT_DTB_SYMLINK}
- ln -sf ${UBOOT_DTB_IMAGE} ${UBOOT_DTB_SYMLINK}
- ln -sf ${UBOOT_DTB_IMAGE} ${UBOOT_DTB_BINARY}
- fi
- if [ -f ${B}/${UBOOT_NODTB_BINARY} ]; then
- install ${B}/${UBOOT_NODTB_BINARY} ${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}
- rm -f ${UBOOT_NODTB_BINARY} ${UBOOT_NODTB_SYMLINK}
- ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_SYMLINK}
- ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_BINARY}
- fi
-}
+ if [ -f ${B}/${UBOOT_NODTB_BINARY} ]; then
+ install ${B}/${UBOOT_NODTB_BINARY} ${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}
+ ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_SYMLINK}
+ ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_BINARY}
+ fi
-do_concat_dtb () {
- # Concatenate U-Boot w/o DTB & DTB with public key
- # (cf. kernel-fitimage.bbclass for more details)
- if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ]; then
+ # Concatenate U-Boot w/o DTB & DTB with public key
+ # (cf. kernel-fitimage.bbclass for more details)
+ deployed_uboot_dtb_binary='${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE}'
if [ "x${UBOOT_SUFFIX}" = "ximg" -o "x${UBOOT_SUFFIX}" = "xrom" ] && \
- [ -e "${DEPLOYDIR}/${UBOOT_DTB_IMAGE}" ]; then
+ [ -e "$deployed_uboot_dtb_binary" ]; then
cd ${B}
- oe_runmake EXT_DTB=${DEPLOYDIR}/${UBOOT_DTB_IMAGE}
+ oe_runmake EXT_DTB=$deployed_uboot_dtb_binary
install ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
- install ${B}/${UBOOT_BINARY} ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE}
- elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "${DEPLOYDIR}/${UBOOT_DTB_IMAGE}" ]; then
+ elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then
cd ${DEPLOYDIR}
- cat ${UBOOT_NODTB_IMAGE} ${UBOOT_DTB_IMAGE} | tee ${B}/${UBOOT_BINARY} > ${UBOOT_IMAGE}
- else
+ cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${B}/${UBOOT_BINARY} > ${UBOOT_IMAGE}
+ elif [ -n "${UBOOT_DTB_BINARY}" ]; then
bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available."
fi
fi
}
+# Install UBOOT_DTB_BINARY to datadir, so that kernel can use it for
+# signing, and kernel will deploy UBOOT_DTB_BINARY after signs it.
+do_install_append() {
+ if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" ]; then
+ if [ -f ${B}/${UBOOT_DTB_BINARY} ]; then
+ install -d ${D}${datadir}
+ # UBOOT_DTB_BINARY is a symlink to UBOOT_DTB_IMAGE, so we
+ # need both of them.
+ install ${B}/${UBOOT_DTB_BINARY} ${D}${datadir}/${UBOOT_DTB_IMAGE}
+ ln -sf ${UBOOT_DTB_IMAGE} ${D}${datadir}/${UBOOT_DTB_BINARY}
+ elif [ -n "${UBOOT_DTB_BINARY}" ]; then
+ bbwarn "${B}/${UBOOT_DTB_BINARY} not found"
+ fi
+ fi
+}
+
python () {
- uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
- if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == uboot_pn:
- kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel')
+ if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN'):
+ kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel')
- # u-boot.dtb and u-boot-nodtb.bin are deployed _before_ do_deploy
- # Thus, do_deploy_setscene will also populate them in DEPLOY_IMAGE_DIR
- bb.build.addtask('do_deploy_dtb', 'do_deploy', 'do_compile', d)
+ # Make "bitbake u-boot -cdeploy" deploys the signed u-boot.dtb
+ d.appendVarFlag('do_deploy', 'depends', ' %s:do_deploy' % kernel_pn)
- # do_concat_dtb is scheduled _before_ do_install as it overwrite the
- # u-boot.bin in both DEPLOYDIR and DEPLOY_IMAGE_DIR.
- bb.build.addtask('do_concat_dtb', 'do_install', None, d)
- d.appendVarFlag('do_concat_dtb', 'depends', ' %s:do_assemble_fitimage' % kernel_pn)
+ # kernerl's do_deploy is a litle special, so we can't use
+ # do_deploy_append, otherwise it would override
+ # kernel_do_deploy.
+ d.appendVarFlag('do_deploy', 'prefuncs', ' concat_dtb')
}
diff --git a/poky/meta/classes/update-alternatives.bbclass b/poky/meta/classes/update-alternatives.bbclass
index a7f1a6fda..537e85d9a 100644
--- a/poky/meta/classes/update-alternatives.bbclass
+++ b/poky/meta/classes/update-alternatives.bbclass
@@ -89,15 +89,21 @@ def ua_extend_depends(d):
if not 'virtual/update-alternatives' in d.getVar('PROVIDES'):
d.appendVar('DEPENDS', ' virtual/${MLPREFIX}update-alternatives')
-python __anonymous() {
+def update_alternatives_enabled(d):
# Update Alternatives only works on target packages...
if bb.data.inherits_class('native', d) or \
bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or \
bb.data.inherits_class('cross-canadian', d):
- return
+ return False
# Disable when targeting mingw32 (no target support)
if d.getVar("TARGET_OS") == "mingw32":
+ return False
+
+ return True
+
+python __anonymous() {
+ if not update_alternatives_enabled(d):
return
# compute special vardeps
@@ -125,9 +131,21 @@ def gen_updatealternativesvars(d):
populate_packages[vardeps] += "${UPDALTVARS} ${@gen_updatealternativesvars(d)}"
# We need to do the rename after the image creation step, but before
-# the split and strip steps.. packagecopy seems to be the earliest reasonable
-# place.
-python perform_packagecopy_append () {
+# the split and strip steps.. PACKAGE_PREPROCESS_FUNCS is the right
+# place for that.
+PACKAGE_PREPROCESS_FUNCS += "apply_update_alternative_renames"
+python apply_update_alternative_renames () {
+ if not update_alternatives_enabled(d):
+ return
+
+ import re
+
+ def update_files(alt_target, alt_target_rename, pkg, d):
+ f = d.getVar('FILES_' + pkg)
+ if f:
+ f = re.sub(r'(^|\s)%s(\s|$)' % re.escape (alt_target), r'\1%s\2' % alt_target_rename, f)
+ d.setVar('FILES_' + pkg, f)
+
# Check for deprecated usage...
pn = d.getVar('BPN')
if d.getVar('ALTERNATIVE_LINKS') != None:
@@ -137,7 +155,7 @@ python perform_packagecopy_append () {
pkgdest = d.getVar('PKGD')
for pkg in (d.getVar('PACKAGES') or "").split():
# If the src == dest, we know we need to rename the dest by appending ${BPN}
- link_rename = {}
+ link_rename = []
for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
alt_link = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name)
if not alt_link:
@@ -163,10 +181,11 @@ python perform_packagecopy_append () {
elif os.path.lexists(src):
if os.path.islink(src):
# Delay rename of links
- link_rename[alt_target] = alt_target_rename
+ link_rename.append((alt_target, alt_target_rename))
else:
bb.note('%s: Rename %s -> %s' % (pn, alt_target, alt_target_rename))
os.rename(src, dest)
+ update_files(alt_target, alt_target_rename, pkg, d)
else:
bb.warn("%s: alternative target (%s or %s) does not exist, skipping..." % (pn, alt_target, alt_target_rename))
continue
@@ -174,31 +193,35 @@ python perform_packagecopy_append () {
# Process delayed link names
# Do these after other renames so we can correct broken links
- for alt_target in link_rename:
+ for (alt_target, alt_target_rename) in link_rename:
src = '%s/%s' % (pkgdest, alt_target)
- dest = '%s/%s' % (pkgdest, link_rename[alt_target])
- link = os.readlink(src)
+ dest = '%s/%s' % (pkgdest, alt_target_rename)
link_target = oe.path.realpath(src, pkgdest, True)
if os.path.lexists(link_target):
# Ok, the link_target exists, we can rename
- bb.note('%s: Rename (link) %s -> %s' % (pn, alt_target, link_rename[alt_target]))
+ bb.note('%s: Rename (link) %s -> %s' % (pn, alt_target, alt_target_rename))
os.rename(src, dest)
else:
# Try to resolve the broken link to link.${BPN}
link_maybe = '%s.%s' % (os.readlink(src), pn)
if os.path.lexists(os.path.join(os.path.dirname(src), link_maybe)):
# Ok, the renamed link target exists.. create a new link, and remove the original
- bb.note('%s: Creating new link %s -> %s' % (pn, link_rename[alt_target], link_maybe))
+ bb.note('%s: Creating new link %s -> %s' % (pn, alt_target_rename, link_maybe))
os.symlink(link_maybe, dest)
os.unlink(src)
else:
bb.warn('%s: Unable to resolve dangling symlink: %s' % (pn, alt_target))
+ continue
+ update_files(alt_target, alt_target_rename, pkg, d)
}
PACKAGESPLITFUNCS_prepend = "populate_packages_updatealternatives "
python populate_packages_updatealternatives () {
+ if not update_alternatives_enabled(d):
+ return
+
pn = d.getVar('BPN')
# Do actual update alternatives processing
@@ -252,10 +275,15 @@ python populate_packages_updatealternatives () {
}
python package_do_filedeps_append () {
+ if update_alternatives_enabled(d):
+ apply_update_alternative_provides(d)
+}
+
+def apply_update_alternative_provides(d):
pn = d.getVar('BPN')
pkgdest = d.getVar('PKGDEST')
- for pkg in packages.split():
+ for pkg in d.getVar('PACKAGES').split():
for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
alt_link = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name)
alt_target = d.getVarFlag('ALTERNATIVE_TARGET_%s' % pkg, alt_name) or d.getVarFlag('ALTERNATIVE_TARGET', alt_name)
@@ -273,5 +301,4 @@ python package_do_filedeps_append () {
d.appendVar('FILERPROVIDES_%s_%s' % (trans_target, pkg), " " + alt_link)
if not trans_target in (d.getVar('FILERPROVIDESFLIST_%s' % pkg) or ""):
d.appendVar('FILERPROVIDESFLIST_%s' % pkg, " " + trans_target)
-}
diff --git a/poky/meta/classes/utils.bbclass b/poky/meta/classes/utils.bbclass
index 0016e5c4e..cd3d05709 100644
--- a/poky/meta/classes/utils.bbclass
+++ b/poky/meta/classes/utils.bbclass
@@ -264,7 +264,7 @@ create_wrapper () {
realpath=\`readlink -fn \$0\`
realdir=\`dirname \$realpath\`
export $exportstring
-exec -a \`dirname \$realpath\`/$cmdname \`dirname \$realpath\`/$cmdname.real "\$@"
+exec -a "\$0" \$realdir/$cmdname.real "\$@"
END
chmod +x $cmd
}
diff --git a/poky/meta/classes/waf.bbclass b/poky/meta/classes/waf.bbclass
index 19e93761b..8e6d754c2 100644
--- a/poky/meta/classes/waf.bbclass
+++ b/poky/meta/classes/waf.bbclass
@@ -1,6 +1,8 @@
# avoids build breaks when using no-static-libs.inc
DISABLE_STATIC = ""
+B = "${WORKDIR}/build"
+
EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
python waf_preconfigure() {
@@ -22,16 +24,16 @@ python waf_preconfigure() {
do_configure[prefuncs] += "waf_preconfigure"
waf_do_configure() {
- ${S}/waf configure --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF}
+ (cd ${S} && ./waf configure -o ${B} --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF})
}
do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+"
waf_do_compile() {
- ${S}/waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
+ (cd ${S} && ./waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)})
}
waf_do_install() {
- ${S}/waf install --destdir=${D}
+ (cd ${S} && ./waf install --destdir=${D})
}
EXPORT_FUNCTIONS do_configure do_compile do_install
diff --git a/poky/meta/classes/xmlcatalog.bbclass b/poky/meta/classes/xmlcatalog.bbclass
new file mode 100644
index 000000000..075aef8c0
--- /dev/null
+++ b/poky/meta/classes/xmlcatalog.bbclass
@@ -0,0 +1,24 @@
+# A whitespace-separated list of XML catalogs to be registered, for example
+# "${sysconfdir}/xml/docbook-xml.xml".
+XMLCATALOGS ?= ""
+
+SYSROOT_PREPROCESS_FUNCS_append = " xmlcatalog_sstate_postinst"
+
+xmlcatalog_complete() {
+ ROOTCATALOG="${STAGING_ETCDIR_NATIVE}/xml/catalog"
+ if [ ! -f $ROOTCATALOG ]; then
+ mkdir --parents $(dirname $ROOTCATALOG)
+ xmlcatalog --noout --create $ROOTCATALOG
+ fi
+ for CATALOG in ${XMLCATALOGS}; do
+ xmlcatalog --noout --add nextCatalog unused file://$CATALOG $ROOTCATALOG
+ done
+}
+
+xmlcatalog_sstate_postinst() {
+ mkdir -p ${SYSROOT_DESTDIR}${bindir}
+ dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}-xmlcatalog
+ echo '#!/bin/sh' > $dest
+ echo '${xmlcatalog_complete}' >> $dest
+ chmod 0755 $dest
+}
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index dcf200788..7f8b043cc 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -123,7 +123,7 @@ TUNE_ASARGS ??= ""
TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
LIBCEXTENSION ??= ""
ABIEXTENSION ??= ""
-USE_NLS ??= "${@bb.utils.contains('DISTRO_FEATURES', 'libc-locale-code', 'yes', 'no', d)}"
+USE_NLS ??= "yes"
SDKUSE_NLS ??= "yes"
TARGET_ARCH = "${TUNE_ARCH}"
@@ -199,9 +199,9 @@ ASSUME_PROVIDED = "\
# Package default variables.
##################################################################
-PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
-PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
-PR = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[2] or 'r0'}"
+PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
+PV = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
+PR = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[2] or 'r0'}"
PE = ""
PF = "${PN}-${EXTENDPE}${PV}-${PR}"
EXTENDPE = "${@['','${PE}_'][int(d.getVar('PE') or 0) > 0]}"
@@ -237,6 +237,10 @@ DESCRIPTION ?= "${SUMMARY}."
#SUMMARY_${PN} ?= "${SUMMARY}"
#DESCRIPTION_${PN} ?= "${DESCRIPTION}"
+SUMMARY_${PN}-src ?= "${SUMMARY} - Source files"
+DESCRIPTION_${PN}-src ?= "${DESCRIPTION} \
+This package contains sources for debugging purposes."
+
SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files"
DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION} \
This package contains ELF symbols and related sources for debugging purposes."
@@ -282,8 +286,10 @@ SOLIBSDEV = ".so"
# at least means builds aren't completely broken and symlinks don't take up much space.
SOLIBSDEV_darwin = ".dylibbroken"
+PACKAGE_DEBUG_SPLIT_STYLE ?= "debug-with-srcpkg"
+
PACKAGE_BEFORE_PN ?= ""
-PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
+PACKAGES = "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
PACKAGES_DYNAMIC = "^${PN}-locale-.*"
FILES = ""
@@ -322,6 +328,11 @@ FILES_${PN}-dbg = "/usr/lib/debug /usr/src/debug"
SECTION_${PN}-dbg = "devel"
ALLOW_EMPTY_${PN}-dbg = "1"
+# The files list for source packages are dynamically set based on
+# PACKAGE_DEBUG_SPLIT_STYLE
+FILES_${PN}-src = ""
+SECTION_${PN}-src = "devel"
+
FILES_${PN}-locale = "${datadir}/locale"
# File manifest
@@ -483,7 +494,7 @@ HOSTTOOLS += " \
fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
head hostname id install ld ldd ln ls make makeinfo md5sum mkdir mknod \
mktemp mv nm objcopy objdump od patch perl pod2man pr printf pwd python2 \
- python2.7 python3 ranlib readelf readlink rm rmdir rpcgen sed sh sha256sum \
+ python2.7 python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh sha256sum \
sleep sort split stat strings strip tail tar tee test touch tr true uname \
uniq wc wget which xargs \
"
@@ -492,7 +503,7 @@ HOSTTOOLS += " \
HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.utils.contains_any('IMAGE_CLASSES', 'testimage testsdk', True, False, d) or any(x in (d.getVar("BBINCLUDED") or "") for x in ["testimage.bbclass", "testsdk.bbclass"])) else ''}"
# Link to these if present
-HOSTTOOLS_NONFATAL += "aws ccache gcc-ar gpg ld.bfd ld.gold nc pigz sftp socat ssh sudo"
+HOSTTOOLS_NONFATAL += "aws gcc-ar gpg ld.bfd ld.gold nc pigz sftp socat ssh sudo"
# Temporary add few more detected in bitbake world
HOSTTOOLS_NONFATAL += "join nl size yes zcat"
@@ -504,10 +515,6 @@ HOSTTOOLS_NONFATAL += "bzr"
HOSTTOOLS_NONFATAL += "scp"
CCACHE ??= ""
-# ccache < 3.1.10 will create CCACHE_DIR on startup even if disabled, and
-# autogen sets HOME=/dev/null so in certain situations builds can fail.
-# Explicitly export CCACHE_DIR until we can assume ccache >3.1.10 on the host.
-export CCACHE_DIR ??= "${@os.getenv('HOME')}/.ccache"
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
@@ -517,9 +524,9 @@ export FC = "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}
export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
export CCLD = "${CC}"
-export AR = "${HOST_PREFIX}ar"
+export AR = "${HOST_PREFIX}gcc-ar"
export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}"
-export RANLIB = "${HOST_PREFIX}ranlib"
+export RANLIB = "${HOST_PREFIX}gcc-ranlib"
export STRIP = "${HOST_PREFIX}strip"
export OBJCOPY = "${HOST_PREFIX}objcopy"
export OBJDUMP = "${HOST_PREFIX}objdump"
@@ -562,7 +569,7 @@ export CPPFLAGS = "${TARGET_CPPFLAGS}"
export TARGET_CPPFLAGS = ""
export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
-BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
+BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION} ${DEBUG_PREFIX_MAP}"
export CFLAGS = "${TARGET_CFLAGS}"
export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
@@ -573,6 +580,7 @@ export TARGET_CXXFLAGS = "${TARGET_CFLAGS}"
export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
-L${STAGING_BASE_LIBDIR_NATIVE} \
+ -Wl,--enable-new-dtags \
-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} \
-Wl,-rpath,${STAGING_LIBDIR_NATIVE} \
@@ -602,7 +610,8 @@ EXTRA_OEMAKE_prepend_task-install = "${PARALLEL_MAKEINST} "
# Optimization flags.
##################################################################
# Beware: applied last to first
-DEBUG_PREFIX_MAP ?= "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+DEBUG_PREFIX_MAP ?= "-fmacro-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
-fdebug-prefix-map=${STAGING_DIR_HOST}= \
-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
"
@@ -610,10 +619,11 @@ DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}"
# Disabled until the option works properly -feliminate-dwarf2-dups
FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}"
-DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe"
+DEBUG_OPTIMIZATION = "-Og ${DEBUG_FLAGS} -pipe"
SELECTED_OPTIMIZATION = "${@d.getVar(oe.utils.vartrue('DEBUG_BUILD', 'DEBUG_OPTIMIZATION', 'FULL_OPTIMIZATION', d))}"
-SELECTED_OPTIMIZATION[vardeps] += "FULL_OPTIMIZATION DEBUG_OPTIMIZATION"
-BUILD_OPTIMIZATION = "${@oe.utils.vartrue('DEBUG_BUILD', '-O -g -feliminate-unused-debug-types -fno-omit-frame-pointer', '-O2', d)} -pipe"
+SELECTED_OPTIMIZATION[vardeps] += "FULL_OPTIMIZATION DEBUG_OPTIMIZATION DEBUG_BUILD"
+BUILD_OPTIMIZATION = "${@oe.utils.vartrue('DEBUG_BUILD', '-Og -g -feliminate-unused-debug-types', '-O2', d)} -pipe"
+BUILD_OPTIMIZATION[vardeps] += "DEBUG_BUILD"
##################################################################
# Settings used by bitbake-layers.
@@ -791,6 +801,9 @@ BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
# Default to setting automatically based on cpu count
PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
+# Default parallelism and resource usage for xz
+XZ_DEFAULTS ?= "--memlimit=50% --threads=${@oe.utils.cpu_count()}"
+
##################################################################
# Magic Cookie for SANITY CHECK
##################################################################
@@ -816,7 +829,7 @@ IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
# Native distro features (will always be used for -native, even if they
# are not enabled for target)
DISTRO_FEATURES_NATIVE ?= "x11 ipv6 xattr"
-DISTRO_FEATURES_NATIVESDK ?= "x11 libc-charsets libc-locales libc-locale-code"
+DISTRO_FEATURES_NATIVESDK ?= "x11"
# Normally target distro features will not be applied to native builds:
# Native distro features on this list will use the target feature value
@@ -867,7 +880,9 @@ BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI
STAMPS_DIR PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_NOHASHDIR LICENSE_PATH SDKPKGSUFFIX \
WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH \
- BB_WORKERCONTEXT BB_LIMITEDDEPS extend_recipe_sysroot DEPLOY_DIR"
+ BB_WORKERCONTEXT BB_LIMITEDDEPS BB_UNIHASH extend_recipe_sysroot DEPLOY_DIR \
+ SSTATE_HASHEQUIV_METHOD SSTATE_HASHEQUIV_SERVER SSTATE_HASHEQUIV_REPORT_TASKDATA \
+ SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR"
BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \
SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS \
PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
diff --git a/poky/meta/conf/ccache.conf b/poky/meta/conf/ccache.conf
new file mode 100644
index 000000000..931012dec
--- /dev/null
+++ b/poky/meta/conf/ccache.conf
@@ -0,0 +1,2 @@
+max_size = 0
+cache_dir_levels = 1
diff --git a/poky/meta/conf/distro/defaultsetup.conf b/poky/meta/conf/distro/defaultsetup.conf
index ca2f9178d..20e61232e 100644
--- a/poky/meta/conf/distro/defaultsetup.conf
+++ b/poky/meta/conf/distro/defaultsetup.conf
@@ -2,6 +2,7 @@ include conf/distro/include/default-providers.inc
include conf/distro/include/default-versions.inc
include conf/distro/include/default-distrovars.inc
include conf/distro/include/world-broken.inc
+include conf/distro/include/maintainers.inc
TCMODE ?= "default"
require conf/distro/include/tcmode-${TCMODE}.inc
diff --git a/poky/meta/conf/distro/include/default-distrovars.inc b/poky/meta/conf/distro/include/default-distrovars.inc
index f5ec6cef9..7a0baf326 100644
--- a/poky/meta/conf/distro/include/default-distrovars.inc
+++ b/poky/meta/conf/distro/include/default-distrovars.inc
@@ -10,17 +10,8 @@ LOCALE_UTF8_ONLY ?= "0"
LOCALE_UTF8_IS_DEFAULT ?= "1"
LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0"
-DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
-DISTRO_FEATURES_LIBC_DEFAULT ?= "ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
- libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
- libc-getlogin libc-idn libc-inet-anl libc-libm libc-locales libc-locale-code \
- libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \
- libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
- libc-posix-wchar-io"
-DISTRO_FEATURES_LIBC ?= "${DISTRO_FEATURES_LIBC_DEFAULT}"
-DISTRO_FEATURES_LIBC_class-nativesdk = "${DISTRO_FEATURES_LIBC_DEFAULT}"
-DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
-
+DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
+DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
IMAGE_FEATURES ?= ""
WHITELIST_GPL-3.0 ?= ""
@@ -52,3 +43,9 @@ ARCH_DEFAULT_KERNELIMAGETYPE_x86 = "bzImage"
ARCH_DEFAULT_KERNELIMAGETYPE_x86-64 = "bzImage"
KERNEL_IMAGETYPE ??= "${ARCH_DEFAULT_KERNELIMAGETYPE}"
KERNEL_IMAGETYPES ??= "${KERNEL_IMAGETYPE}"
+
+# The CONNECTIVITY_CHECK_URIS are used to test whether we can succesfully
+# fetch from the network (and warn you if not). To disable the test set
+# the variable to be empty.
+# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=master
+CONNECTIVITY_CHECK_URIS ?= "https://www.example.com/"
diff --git a/poky/meta/conf/distro/include/default-providers.inc b/poky/meta/conf/distro/include/default-providers.inc
index 019ceeb29..21419038f 100644
--- a/poky/meta/conf/distro/include/default-providers.inc
+++ b/poky/meta/conf/distro/include/default-providers.inc
@@ -54,3 +54,5 @@ PREFERRED_PROVIDER_pkgconfig ?= "pkgconfig"
PREFERRED_PROVIDER_nativesdk-pkgconfig ?= "nativesdk-pkgconfig"
PREFERRED_PROVIDER_pkgconfig-native ?= "pkgconfig-native"
PREFERRED_RPROVIDER_initd-functions ?= "initscripts"
+
+PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa"
diff --git a/poky/meta/conf/distro/include/distro_alias.inc b/poky/meta/conf/distro/include/distro_alias.inc
index 7502542e8..d2ccb1ee4 100644
--- a/poky/meta/conf/distro/include/distro_alias.inc
+++ b/poky/meta/conf/distro/include/distro_alias.inc
@@ -354,7 +354,7 @@ DISTRO_PN_ALIAS_pn-tremor = "OSPDT upstream=http://www.xiph.org/vorbis/"
DISTRO_PN_ALIAS_pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera"
DISTRO_PN_ALIAS_pn-tzcode = "OSPDT"
DISTRO_PN_ALIAS_pn-u-boot-fw-utils = "Ubuntu=u-boot-tools Debian=u-boot-tools"
-DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
+DISTRO_PN_ALIAS_pn-u-boot-tools = "Ubuntu=u-boot-tools Debian=uboot-tools"
DISTRO_PN_ALIAS_pn-udev = "Mandriva=udev Fedora=udev"
DISTRO_PN_ALIAS_pn-udev-extraconf = "OE-Core"
DISTRO_PN_ALIAS_pn-unfs3 = "Debian=unfs3 Fedora=unfs3"
@@ -410,6 +410,5 @@ DISTRO_PN_ALIAS_pn-xserver-xf86-lite = "Fedora=xorg-x11-server Ubuntu=xserver-xo
DISTRO_PN_ALIAS_pn-xserver-xorg = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
DISTRO_PN_ALIAS_pn-xset = "Fedora=xorg-x11-server-utils Ubuntu=x11-xserver-utils Debian=x11-xserver-utils Opensuse=xorg-x11"
DISTRO_PN_ALIAS_pn-xuser-account = "OE-Core"
-DISTRO_PN_ALIAS_pn-xvideo-tests = "OpenedHand"
DISTRO_PN_ALIAS_pn-xvinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
DISTRO_PN_ALIAS_pn-xwininfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 672f06779..950b8e895 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -64,9 +64,9 @@ RECIPE_MAINTAINER_pn-bash-completion = "Alexander Kanavin <alex.kanavin@gmail.co
RECIPE_MAINTAINER_pn-bc = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-bind = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-binutils = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-binutils-cross = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-binutils-cross-canadian = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-binutils-crosssdk = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-binutils-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-binutils-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-bison = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-bjam-native = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-blktool = "Yi Zhao <yi.zhao@windriver.com>"
@@ -99,11 +99,30 @@ RECIPE_MAINTAINER_pn-clutter-gtk-1.0 = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-cmake = "Pascal Bach <pascal.bach@siemens.com>"
RECIPE_MAINTAINER_pn-cmake-native = "Pascal Bach <pascal.bach@siemens.com>"
RECIPE_MAINTAINER_pn-cogl-1.0 = "Ross Burton <ross.burton@intel.com>"
-RECIPE_MAINTAINER_pn-connman = "Changhyeok Bae <changhyeok.bae@lge.com>"
+RECIPE_MAINTAINER_pn-connman = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-connman-conf = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-connman-gnome = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-console-tools = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-consolekit = "Chen Qi <Qi.Chen@windriver.com>"
+RECIPE_MAINTAINER_pn-core-image-base = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-minimal = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-minimal-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-minimal-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-minimal-mtdutils = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-tiny-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-full-cmdline = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-kernel-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-sato = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-sato-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-lsb = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-lsb-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-testmaster-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-testmaster = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-clutter = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-weston = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-x11 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-sato-sdk-ptest = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-cracklib = "Armin Kuster <akuster808@gmail.com>"
@@ -144,11 +163,12 @@ RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-eglinfo-fb = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-eglinfo-wayland = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-elfutils = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-enchant = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-encodings = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-ethtool = "Changhyeok Bae <changhyeok.bae@lge.com>"
+RECIPE_MAINTAINER_pn-ethtool = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-eudev = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-expat = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-expect = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -167,20 +187,21 @@ RECIPE_MAINTAINER_pn-fribidi = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-fts = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gawk = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-gcc = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-cross = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-cross-canadian = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-cross-initial = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-crosssdk = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-crosssdk-initial = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-cross-initial-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-crosssdk-initial-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-source = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-source-7.3.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-source-8.3.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gccmakedep = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gconf = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-gdb = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gdb-cross = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gdb-cross-canadian = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gdb-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gdbm = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-gdk-pixbuf = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-gettext = "Robert Yang <liezhi.yang@windriver.com>"
@@ -204,10 +225,13 @@ RECIPE_MAINTAINER_pn-gnu-efi = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-gnupg = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-gnutls = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-go = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-go-cross = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-go-cross-${TUNE_PKGARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-go-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-go-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-go-dep = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-go-helloworld = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-go-native = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-go-runtime = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gobject-introspection = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -245,6 +269,7 @@ RECIPE_MAINTAINER_pn-i2c-tools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-icecc-create-env = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-icu = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-ifupdown = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-inetutils = "Tom Rini <trini@konsulko.com>"
RECIPE_MAINTAINER_pn-init-ifupdown = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-initramfs-boot = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-initramfs-framework = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
@@ -256,18 +281,18 @@ RECIPE_MAINTAINER_pn-initramfs-live-install-efi-testfs = "Anuj Mittal <anuj.mitt
RECIPE_MAINTAINER_pn-initramfs-live-install-testfs = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-initscripts = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-intltool = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-iproute2 = "Changhyeok Bae <changhyeok.bae@lge.com>"
-RECIPE_MAINTAINER_pn-iptables = "Changhyeok Bae <changhyeok.bae@lge.com>"
-RECIPE_MAINTAINER_pn-iputils = "Changhyeok Bae <changhyeok.bae@lge.com>"
-RECIPE_MAINTAINER_pn-irda-utils = "Changhyeok Bae <changhyeok.bae@lge.com>"
+RECIPE_MAINTAINER_pn-iproute2 = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER_pn-iptables = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER_pn-iputils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
+RECIPE_MAINTAINER_pn-irda-utils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-iso-codes = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-iw = "Changhyeok Bae <changhyeok.bae@lge.com>"
+RECIPE_MAINTAINER_pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-json-c = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-json-glib = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-kbd = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-kern-tools-native = "Bruce Ashfield <bruce.ashfield@windriver.com>"
-RECIPE_MAINTAINER_pn-kernel-devsrc = "Bruce Ashfield <bruce.ashfield@windriver.com>"
+RECIPE_MAINTAINER_pn-kern-tools-native = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER_pn-kernel-devsrc = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-kexec-tools = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-keymaps = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-kmod = "Chen Qi <Qi.Chen@windriver.com>"
@@ -281,7 +306,6 @@ RECIPE_MAINTAINER_pn-liba52 = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-libacpi = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libaio = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libarchive = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-libart-lgpl = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libassuan = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libatomic-ops = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libbsd = "Yi Zhao <yi.zhao@windriver.com>"
@@ -293,6 +317,7 @@ RECIPE_MAINTAINER_pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libconvert-asn1-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libdmx = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libdrm = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
@@ -321,10 +346,12 @@ RECIPE_MAINTAINER_pn-libid3tag = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-libidn = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libidn2 = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-libinput = "Ross Burton <ross.burton@intel.com>"
+RECIPE_MAINTAINER_pn-libjitterentropy = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-libksba = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libmatchbox = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-libmnl = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libmpc = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-libmodulemd = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libnewt = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-libnewt-python = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-libnl = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -343,6 +370,7 @@ RECIPE_MAINTAINER_pn-libpipeline = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libpng = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libproxy = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libpthread-stubs = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-libpsl = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-librepo = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-librsvg = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libsamplerate0 = "Tanu Kaskinen <tanuk@iki.fi>"
@@ -362,7 +390,7 @@ RECIPE_MAINTAINER_pn-libtool = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libtool-cross = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libtool-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libunistring = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libunwind = "Bruce Ashfield <bruce.ashfield@windriver.com>"
+RECIPE_MAINTAINER_pn-libunwind = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-liburcu = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-liburi-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-libusb1 = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -376,6 +404,7 @@ RECIPE_MAINTAINER_pn-libxau = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcb = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcomposite = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcursor = "Armin Kuster <akuster808@gmail.com>"
+RECIPE_MAINTAINER_pn-libxcrypt = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libxdamage = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxdmcp = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxext = "Armin Kuster <akuster808@gmail.com>"
@@ -413,11 +442,11 @@ RECIPE_MAINTAINER_pn-libyaml = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-lighttpd = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-linux-dummy = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-linux-firmware = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
-RECIPE_MAINTAINER_pn-linux-libc-headers = "Bruce Ashfield <bruce.ashfield@windriver.com>"
-RECIPE_MAINTAINER_pn-linux-yocto = "Bruce Ashfield <bruce.ashfield@windriver.com>"
-RECIPE_MAINTAINER_pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@windriver.com>"
-RECIPE_MAINTAINER_pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@windriver.com>"
-RECIPE_MAINTAINER_pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@windriver.com>"
+RECIPE_MAINTAINER_pn-linux-libc-headers = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER_pn-linux-yocto = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER_pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER_pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER_pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-llvm = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-lrzsz = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -438,7 +467,7 @@ RECIPE_MAINTAINER_pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-make = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-makedepend = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-makedevs = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-make-mod-scripts = "Bruce Ashfield <bruce.ashfield@windriver.com>"
+RECIPE_MAINTAINER_pn-make-mod-scripts = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-man-db = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-man-pages = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-matchbox-config-gtk = "Ross Burton <ross.burton@intel.com>"
@@ -457,9 +486,10 @@ RECIPE_MAINTAINER_pn-mesa = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-mesa-demos = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-mesa-gl = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-meson = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-meta-environment = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-meta-environment-extsdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-meta-environment-${MACHINE} = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-meta-environment-extsdk-${MACHINE} = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-meta-extsdk-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-meta-go-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-meta-ide-support = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-meta-toolchain = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-meta-world-pkgdata = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -484,9 +514,12 @@ RECIPE_MAINTAINER_pn-musl-utils = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-mx-1.0 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-nasm = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-nativesdk-buildtools-perl-dummy = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-nativesdk-icecc-toolchain = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-nativesdk-libtool = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-nativesdk-meson = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-nativesdk-packagegroup-sdk-host = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-nativesdk-qemu-helper = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-nativesdk-sdk-provides-dummy = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-newlib = "Alejandro Hernandez <aehs29@gmail.com>"
RECIPE_MAINTAINER_pn-ncurses = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-neard = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -521,7 +554,7 @@ RECIPE_MAINTAINER_pn-patchelf = "Richard Purdie <richard.purdie@linuxfoundation.
RECIPE_MAINTAINER_pn-pbzip2 = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@windriver.com>"
+RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-perl = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-perl-native = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@intel.com>"
@@ -577,6 +610,8 @@ RECIPE_MAINTAINER_pn-python3-subunit = "Derek Straka <derek@asterius.io>"
RECIPE_MAINTAINER_pn-python3-testtools = "Derek Straka <derek@asterius.io>"
RECIPE_MAINTAINER_pn-qemu = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-qemu-helper-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-qemu-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-qemu-system-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-qemuwrapper-cross = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-quilt = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-quilt-native = "Robert Yang <liezhi.yang@windriver.com>"
@@ -634,6 +669,7 @@ RECIPE_MAINTAINER_pn-systemd-compat-units = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-systemd-serialgetty = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-systemd-systemctl-native = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-systemtap = "Victor Kamensky <kamensky@cisco.com>"
+RECIPE_MAINTAINER_pn-systemtap-native = "Victor Kamensky <kamensky@cisco.com>"
RECIPE_MAINTAINER_pn-systemtap-uprobes = "Victor Kamensky <kamensky@cisco.com>"
RECIPE_MAINTAINER_pn-sysvinit = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-sysvinit-inittab = "Ross Burton <ross.burton@intel.com>"
@@ -653,7 +689,7 @@ RECIPE_MAINTAINER_pn-tzcode-native = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-tzdata = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-u-boot = "Marek Vasut <marek.vasut@gmail.com>"
RECIPE_MAINTAINER_pn-u-boot-fw-utils = "Marek Vasut <marek.vasut@gmail.com>"
-RECIPE_MAINTAINER_pn-u-boot-mkimage = "Marek Vasut <marek.vasut@gmail.com>"
+RECIPE_MAINTAINER_pn-u-boot-tools = "Marek Vasut <marek.vasut@gmail.com>"
RECIPE_MAINTAINER_pn-udev-extraconf = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-unfs3 = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-unifdef = "Ross Burton <ross.burton@intel.com>"
@@ -667,6 +703,9 @@ RECIPE_MAINTAINER_pn-util-macros = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-v86d = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-vala = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-valgrind = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-vim = "Tom Rini <trini@konsulko.com>"
+RECIPE_MAINTAINER_pn-vim-tiny = "Tom Rini <trini@konsulko.com>"
+RECIPE_MAINTAINER_pn-virglrenderer = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-volatile-binds = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-vte = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-vulkan = "Ross Burton <ross.burton@intel.com>"
@@ -683,7 +722,7 @@ RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-wget = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-which = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-wic-tools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@lge.com>"
+RECIPE_MAINTAINER_pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-x11perf = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-x264 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-xauth = "Armin Kuster <akuster808@gmail.com>"
@@ -729,7 +768,6 @@ RECIPE_MAINTAINER_pn-xserver-xorg = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xset = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xtrans = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xuser-account = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xvideo-tests = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-xvinfo = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xwininfo = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko <denys@ti.com>"
diff --git a/poky/meta/conf/distro/include/no-static-libs.inc b/poky/meta/conf/distro/include/no-static-libs.inc
index cdc53916d..712d858dc 100644
--- a/poky/meta/conf/distro/include/no-static-libs.inc
+++ b/poky/meta/conf/distro/include/no-static-libs.inc
@@ -4,6 +4,7 @@ DISABLE_STATIC ?= " --disable-static"
DISABLE_STATIC_pn-qemu = ""
DISABLE_STATIC_pn-qemu-native = ""
DISABLE_STATIC_pn-nativesdk-qemu = ""
+DISABLE_STATIC_pn-qemu-system-native = ""
# pciutils fails build
DISABLE_STATIC_pn-pciutils = ""
# libcap aborts on unrecognised option
diff --git a/poky/meta/conf/distro/include/tclibc-glibc.inc b/poky/meta/conf/distro/include/tclibc-glibc.inc
index 8d1076440..324649099 100644
--- a/poky/meta/conf/distro/include/tclibc-glibc.inc
+++ b/poky/meta/conf/distro/include/tclibc-glibc.inc
@@ -22,17 +22,8 @@ LIBC_DEPENDENCIES = "libsegfault \
glibc-dev \
glibc-utils \
glibc-thread-db \
- ${@get_libc_locales_dependencies(d)}"
-
-LIBC_LOCALE_DEPENDENCIES = "\
- glibc-localedata-i18n \
- glibc-gconv-ibm850 \
- glibc-gconv-cp1252 \
- glibc-gconv-iso8859-1 \
- glibc-gconv-iso8859-15"
-
-def get_libc_locales_dependencies(d):
- if 'libc-locales' in (d.getVar('DISTRO_FEATURES') or '').split() :
- return d.getVar('LIBC_LOCALE_DEPENDENCIES') or ''
- else:
- return ''
+ glibc-localedata-i18n \
+ glibc-gconv-ibm850 \
+ glibc-gconv-cp1252 \
+ glibc-gconv-iso8859-1 \
+ glibc-gconv-iso8859-15"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index f8da651c5..04373cc0a 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -3,33 +3,29 @@
#
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross-${TARGET_ARCH}"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial-${TARGET_ARCH}"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross-${TARGET_ARCH}"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross-${TARGET_ARCH}"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime"
PREFERRED_PROVIDER_gdb = "gdb"
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}binutils-crosssdk ?= "binutils-crosssdk-${SDK_SYS}"
-PREFERRED_PROVIDER_virtual/${SDK_PREFIX}gcc-initial = "gcc-crosssdk-initial-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}gcc = "gcc-crosssdk-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ = "gcc-crosssdk-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime"
# Default libc config
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${TCLIBC}"
-PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-for-gcc ?= "nativesdk-glibc"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial"
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "8.%"
SDKGCCVERSION ?= "${GCCVERSION}"
-BINUVERSION ?= "2.31%"
+BINUVERSION ?= "2.32%"
GDBVERSION ?= "8.2%"
-GLIBCVERSION ?= "2.28%"
-LINUXLIBCVERSION ?= "4.18%"
-QEMUVERSION ?= "3.0%"
-GOVERSION ?= "1.11%"
+GLIBCVERSION ?= "2.29%"
+LINUXLIBCVERSION ?= "5.0%"
+QEMUVERSION ?= "3.1%"
+GOVERSION ?= "1.12%"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
diff --git a/poky/meta/conf/distro/include/upstream_tracking.inc b/poky/meta/conf/distro/include/upstream_tracking.inc
deleted file mode 100644
index e2a5e6ce4..000000000
--- a/poky/meta/conf/distro/include/upstream_tracking.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-# NOTE: THIS FILE IS DEPRECATED. Please add new entries to the recipes themselves.
-#
-# upstream_tracking.inc - This file contains data that tracks the
-# upstream project associated with a given recipe. This list is needed
-# for recipes that version information can not be automagically discovered.
-# As we automate this checking, this file will slowed be reduced.
-#
-# This data is used by the package reporting system (packages.yoctoproject.org)
-#
-# The format is as a bitbake variable override for each recipe
-#
-# RECIPE_UPSTREAM_VERSION_pn-<recipe name> = "<version>"
-# RECIPE_UPSTREAM_DATE_pn-<recipe name> = "Mmm dd, YYYY"
-# - This is the latest upstream version and date
-# RECIPE_NO_UPDATE_REASON_pn-<recipe name> = "<free form text>"
-# - Used to note why a recipe should not be upgraded to a newer versoin
-# CHECK_DATE_pn-<recipe name> = "Mmm dd, YYYY"
-# - This is the date that upstream was last manually checked over time
-# this should be removed as we automate this checking
-#
-# These entries will slowly be removed as we can automatically determine
-# the information in this file. So for existing recipes that we can get
-# from the Recipe reporting system, the entries here can be removed.
-#
diff --git a/poky/meta/conf/documentation.conf b/poky/meta/conf/documentation.conf
index fc6d00880..550df20b0 100644
--- a/poky/meta/conf/documentation.conf
+++ b/poky/meta/conf/documentation.conf
@@ -125,7 +125,7 @@ D[doc] = "The destination directory."
DATE[doc] = "The date the build was started using YMD format."
DATETIME[doc] = "The date and time the build was started."
DEBUG_BUILD[doc] = "Specifies to build packages with debugging information. This influences the value of the SELECTED_OPTIMIZATION variable."
-DEBUG_OPTIMIZATION[doc] = "The options to pass in TARGET_CFLAGS and CFLAGS when compiling a system for debugging. This variable defaults to '-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe'."
+DEBUG_OPTIMIZATION[doc] = "The options to pass in TARGET_CFLAGS and CFLAGS when compiling a system for debugging. This variable defaults to '-Og ${DEBUG_FLAGS} -pipe'."
DEFAULT_PREFERENCE[doc] = "Specifies a weak bias for recipe selection priority."
DEPENDS[doc] = "Lists a recipe's build-time dependencies (i.e. other recipe files)."
DEPLOY_DIR[doc] = "Points to the general area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
@@ -413,7 +413,7 @@ TARGET_FPU[doc] = "Specifies the method for handling FPU code. For FPU-less targ
TARGET_OS[doc] = "Specifies the target's operating system."
TARGET_PREFIX[doc] = "The prefix for the cross-compile toolchain (e.g. arm-linux-)."
TARGET_SYS[doc] = "The target system is comprised of TARGET_ARCH,TARGET_VENDOR and TARGET_OS."
-TCLIBC[doc] = "Specifies C library (libc) variant to use during the build process. You can select 'baremetal', 'glibc' or 'musl'."
+TCLIBC[doc] = "Specifies C library (libc) variant to use during the build process. You can select 'baremetal', 'glibc', 'musl' or 'newlib'."
TCMODE[doc] = "Enables an external toolchain (where provided by an additional layer) if set to a value other than 'default'."
TESTIMAGE_AUTO[doc] = "Enables test booting of virtual machine images under the QEMU emulator after any root filesystems are created and runs tests against those images each time an image is built."
TEST_QEMUBOOT_TIMEOUT[doc] = "The time in seconds allowed for an image to boot before automated runtime tests begin to run against an image."
diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf
index c67dec49e..9d63b5b24 100644
--- a/poky/meta/conf/layer.conf
+++ b/poky/meta/conf/layer.conf
@@ -7,12 +7,12 @@ BBFILE_COLLECTIONS += "core"
BBFILE_PATTERN_core = "^${LAYERDIR}/"
BBFILE_PRIORITY_core = "5"
-LAYERSERIES_CORENAMES = "thud"
+LAYERSERIES_CORENAMES = "warrior"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_core = "11"
-LAYERSERIES_COMPAT_core = "thud"
+LAYERSERIES_COMPAT_core = "warrior"
BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core"
@@ -49,9 +49,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
*->quilt-native \
*->subversion-native \
*->git-native \
- *->ccache-native \
*->icecc-create-env-native \
- gcc-cross-${TARGET_ARCH}->virtual/${TARGET_PREFIX}libc-for-gcc \
gcc-cross-${TARGET_ARCH}->linux-libc-headers \
ppp-dialin->ppp \
resolvconf->bash \
diff --git a/poky/meta/conf/machine/include/arm/arch-arm64.inc b/poky/meta/conf/machine/include/arm/arch-arm64.inc
index 5f90763f7..53f456681 100644
--- a/poky/meta/conf/machine/include/arm/arch-arm64.inc
+++ b/poky/meta/conf/machine/include/arm/arch-arm64.inc
@@ -4,7 +4,7 @@ require conf/machine/include/arm/arch-armv7ve.inc
TUNEVALID[aarch64] = "Enable instructions for aarch64"
-MACHINEOVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', ':aarch64', '' ,d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'aarch64:', '' ,d)}"
# Little Endian base configs
AVAILTUNES += "aarch64 aarch64_be"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv4.inc b/poky/meta/conf/machine/include/arm/arch-armv4.inc
index 813ed159d..47a7ad283 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv4.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv4.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4"
TUNEVALID[arm] = "Enable ARM instruction set"
TUNEVALID[armv4] = "Enable instructions for ARMv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4t', '', d)}"
# enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb
# maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does
# checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value
diff --git a/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
index 1f16085fc..d117af152 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
@@ -1,4 +1,4 @@
-ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'armv5', 'dsp' ], 'e', '', d)}"
+ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
TUNEVALID[dsp] = "ARM DSP functionality"
require conf/machine/include/arm/arch-armv5.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv5.inc b/poky/meta/conf/machine/include/arm/arch-armv5.inc
index 46f631c81..f9068af9d 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv5.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv5.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv5"
TUNEVALID[armv5] = "Enable instructions for ARMv5"
TUNECONFLICTS[armv5] = "armv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}', '', d)}"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '' ,d)}"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7a.inc b/poky/meta/conf/machine/include/arm/arch-armv7a.inc
index a2663d800..199e63f98 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -10,13 +10,15 @@ require conf/machine/include/arm/arch-armv6.inc
require conf/machine/include/arm/feature-arm-neon.inc
# Little Endian base configs
-AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4"
+AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-vfpv4d16 armv7at-vfpv4d16 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4"
ARMPKGARCH_tune-armv7a ?= "armv7a"
ARMPKGARCH_tune-armv7at ?= "armv7a"
ARMPKGARCH_tune-armv7a-vfpv3d16 ?= "armv7a"
ARMPKGARCH_tune-armv7at-vfpv3d16 ?= "armv7a"
ARMPKGARCH_tune-armv7a-vfpv3 ?= "armv7a"
ARMPKGARCH_tune-armv7at-vfpv3 ?= "armv7a"
+ARMPKGARCH_tune-armv7a-vfpv4d16 ?= "armv7a"
+ARMPKGARCH_tune-armv7at-vfpv4d16 ?= "armv7a"
ARMPKGARCH_tune-armv7a-neon ?= "armv7a"
ARMPKGARCH_tune-armv7at-neon ?= "armv7a"
ARMPKGARCH_tune-armv7a-neon-vfpv4 ?= "armv7a"
@@ -27,6 +29,8 @@ TUNE_FEATURES_tune-armv7a-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a} vfpv3d16"
TUNE_FEATURES_tune-armv7at-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at} vfpv3d16"
TUNE_FEATURES_tune-armv7a-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16} vfpv3"
TUNE_FEATURES_tune-armv7at-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} vfpv3"
+TUNE_FEATURES_tune-armv7a-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a} vfpv4d16"
+TUNE_FEATURES_tune-armv7at-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at} vfpv4d16"
TUNE_FEATURES_tune-armv7a-neon = "${TUNE_FEATURES_tune-armv7a} neon"
TUNE_FEATURES_tune-armv7at-neon = "${TUNE_FEATURES_tune-armv7at} neon"
TUNE_FEATURES_tune-armv7a-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon} vfpv4"
@@ -37,19 +41,23 @@ PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a
PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16} armv7a-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3"
+PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv4d16"
+PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv4d16 armv7at2-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-neon armv7at2-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} armv7a-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4"
# HF Tunes
-AVAILTUNES += "armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4"
+AVAILTUNES += "armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-vfpv4d16 armv7athf-vfpv4d16 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4"
ARMPKGARCH_tune-armv7ahf ?= "armv7a"
ARMPKGARCH_tune-armv7athf ?= "armv7a"
ARMPKGARCH_tune-armv7ahf-vfpv3d16 ?= "armv7a"
ARMPKGARCH_tune-armv7athf-vfpv3d16 ?= "armv7a"
ARMPKGARCH_tune-armv7ahf-vfpv3 ?= "armv7a"
ARMPKGARCH_tune-armv7athf-vfpv3 ?= "armv7a"
+ARMPKGARCH_tune-armv7ahf-vfpv4d16 ?= "armv7a"
+ARMPKGARCH_tune-armv7athf-vfpv4d16 ?= "armv7a"
ARMPKGARCH_tune-armv7ahf-neon ?= "armv7a"
ARMPKGARCH_tune-armv7athf-neon ?= "armv7a"
ARMPKGARCH_tune-armv7ahf-neon-vfpv4 ?= "armv7a"
@@ -60,6 +68,8 @@ TUNE_FEATURES_tune-armv7ahf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16}
TUNE_FEATURES_tune-armv7athf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} callconvention-hard"
TUNE_FEATURES_tune-armv7ahf-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3} callconvention-hard"
TUNE_FEATURES_tune-armv7athf-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3} callconvention-hard"
+TUNE_FEATURES_tune-armv7ahf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a-vfpv4d16} callconvention-hard"
+TUNE_FEATURES_tune-armv7athf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at-vfpv4d16} callconvention-hard"
TUNE_FEATURES_tune-armv7ahf-neon = "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard"
TUNE_FEATURES_tune-armv7athf-neon = "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard"
TUNE_FEATURES_tune-armv7ahf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} callconvention-hard"
@@ -70,19 +80,23 @@ PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv
PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3"
+PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv4d16"
+PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv4d16 armv7at2hf-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-neon armv7at2hf-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} armv7ahf-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4"
# Big Endian
-AVAILTUNES += "armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4"
+AVAILTUNES += "armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-vfpv4d16 armv7atb-vfpv4d16 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4"
ARMPKGARCH_tune-armv7ab ?= "armv7a"
ARMPKGARCH_tune-armv7atb ?= "armv7a"
ARMPKGARCH_tune-armv7ab-vfpv3d16 ?= "armv7a"
ARMPKGARCH_tune-armv7atb-vfpv3d16 ?= "armv7a"
ARMPKGARCH_tune-armv7ab-vfpv3 ?= "armv7a"
ARMPKGARCH_tune-armv7atb-vfpv3 ?= "armv7a"
+ARMPKGARCH_tune-armv7ab-vfpv4d16 ?= "armv7a"
+ARMPKGARCH_tune-armv7atb-vfpv4d16 ?= "armv7a"
ARMPKGARCH_tune-armv7ab-neon ?= "armv7a"
ARMPKGARCH_tune-armv7atb-neon ?= "armv7a"
ARMPKGARCH_tune-armv7ab-neon-vfpv4 ?= "armv7a"
@@ -93,6 +107,8 @@ TUNE_FEATURES_tune-armv7ab-vfpv3d16 = "${TUNE_FEATURES_tune-armv7a-vfpv3d16}
TUNE_FEATURES_tune-armv7atb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7at-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7ab-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7atb-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3} bigendian"
+TUNE_FEATURES_tune-armv7ab-vfpv4d16 = "${TUNE_FEATURES_tune-armv7a-vfpv4d16} bigendian"
+TUNE_FEATURES_tune-armv7atb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7at-vfpv4d16} bigendian"
TUNE_FEATURES_tune-armv7ab-neon = "${TUNE_FEATURES_tune-armv7a-neon} bigendian"
TUNE_FEATURES_tune-armv7atb-neon = "${TUNE_FEATURES_tune-armv7at-neon} bigendian"
TUNE_FEATURES_tune-armv7ab-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} bigendian"
@@ -103,19 +119,23 @@ PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7
PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16} armv7ab-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3"
+PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv4d16"
+PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfp43d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-neon armv7at2b-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon} armv7ab-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4"
# Big Endian + HF
-AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4"
+AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-vfpv4d16 armv7athfb-vfpv4d16 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4"
ARMPKGARCH_tune-armv7ahfb ?= "armv7a"
ARMPKGARCH_tune-armv7athfb ?= "armv7a"
ARMPKGARCH_tune-armv7ahfb-vfpv3d16 ?= "armv7a"
ARMPKGARCH_tune-armv7athfb-vfpv3d16 ?= "armv7a"
ARMPKGARCH_tune-armv7ahfb-vfpv3 ?= "armv7a"
ARMPKGARCH_tune-armv7athfb-vfpv3 ?= "armv7a"
+ARMPKGARCH_tune-armv7ahfb-vfpv4d16 ?= "armv7a"
+ARMPKGARCH_tune-armv7athfb-vfpv4d16 ?= "armv7a"
ARMPKGARCH_tune-armv7ahfb-neon ?= "armv7a"
ARMPKGARCH_tune-armv7athfb-neon ?= "armv7a"
ARMPKGARCH_tune-armv7ahfb-neon-vfpv4 ?= "armv7a"
@@ -126,6 +146,8 @@ TUNE_FEATURES_tune-armv7ahfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ahf-vfpv3d
TUNE_FEATURES_tune-armv7athfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7athf-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7ahfb-vfpv3 = "${TUNE_FEATURES_tune-armv7ahf-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7athfb-vfpv3 = "${TUNE_FEATURES_tune-armv7athf-vfpv3} bigendian"
+TUNE_FEATURES_tune-armv7ahfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ahf-vfpv4d16} bigendian"
+TUNE_FEATURES_tune-armv7athfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7athf-vfpv4d16} bigendian"
TUNE_FEATURES_tune-armv7ahfb-neon = "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian"
TUNE_FEATURES_tune-armv7athfb-neon = "${TUNE_FEATURES_tune-armv7athf-neon} bigendian"
TUNE_FEATURES_tune-armv7ahfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ahf-neon-vfpv4} bigendian"
@@ -136,6 +158,8 @@ PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-arm
PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3"
+PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv4d16"
+PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv4d16 armv7at2hfb-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7ve.inc b/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
index 4d9260fec..fc172d0cb 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
@@ -8,13 +8,15 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:'
require conf/machine/include/arm/arch-armv7a.inc
# Little Endian base configs
-AVAILTUNES += "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4"
+AVAILTUNES += "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-vfpv4d16 armv7vet-vfpv4d16 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4"
ARMPKGARCH_tune-armv7ve ?= "armv7ve"
ARMPKGARCH_tune-armv7vet ?= "armv7ve"
ARMPKGARCH_tune-armv7ve-vfpv3d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7vet-vfpv3d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7ve-vfpv3 ?= "armv7ve"
ARMPKGARCH_tune-armv7vet-vfpv3 ?= "armv7ve"
+ARMPKGARCH_tune-armv7ve-vfpv4d16 ?= "armv7ve"
+ARMPKGARCH_tune-armv7vet-vfpv4d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7ve-neon ?= "armv7ve"
ARMPKGARCH_tune-armv7vet-neon ?= "armv7ve"
ARMPKGARCH_tune-armv7ve-neon-vfpv4 ?= "armv7ve"
@@ -25,6 +27,8 @@ TUNE_FEATURES_tune-armv7ve-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve} vfpv3d16
TUNE_FEATURES_tune-armv7vet-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet} vfpv3d16"
TUNE_FEATURES_tune-armv7ve-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} vfpv3"
TUNE_FEATURES_tune-armv7vet-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} vfpv3"
+TUNE_FEATURES_tune-armv7ve-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve} vfpv4d16"
+TUNE_FEATURES_tune-armv7vet-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet} vfpv4d16"
TUNE_FEATURES_tune-armv7ve-neon = "${TUNE_FEATURES_tune-armv7ve} neon"
TUNE_FEATURES_tune-armv7vet-neon = "${TUNE_FEATURES_tune-armv7vet} neon"
TUNE_FEATURES_tune-armv7ve-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon} vfpv4"
@@ -35,19 +39,23 @@ PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7
PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16} armv7ve-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3"
+PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv4d16"
+PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv4d16 armv7vet2-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-neon armv7vet2-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} armv7ve-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4"
# HF Tunes
-AVAILTUNES += "armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4"
+AVAILTUNES += "armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-vfpv4d16 armv7vethf-vfpv4d16 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4"
ARMPKGARCH_tune-armv7vehf ?= "armv7ve"
ARMPKGARCH_tune-armv7vethf ?= "armv7ve"
ARMPKGARCH_tune-armv7vehf-vfpv3d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7vethf-vfpv3d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7vehf-vfpv3 ?= "armv7ve"
ARMPKGARCH_tune-armv7vethf-vfpv3 ?= "armv7ve"
+ARMPKGARCH_tune-armv7vehf-vfpv4d16 ?= "armv7ve"
+ARMPKGARCH_tune-armv7vethf-vfpv4d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7vehf-neon ?= "armv7ve"
ARMPKGARCH_tune-armv7vethf-neon ?= "armv7ve"
ARMPKGARCH_tune-armv7vehf-neon-vfpv4 ?= "armv7ve"
@@ -58,6 +66,8 @@ TUNE_FEATURES_tune-armv7vehf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d1
TUNE_FEATURES_tune-armv7vethf-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} callconvention-hard"
TUNE_FEATURES_tune-armv7vehf-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3} callconvention-hard"
TUNE_FEATURES_tune-armv7vethf-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3} callconvention-hard"
+TUNE_FEATURES_tune-armv7vehf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv4d16} callconvention-hard"
+TUNE_FEATURES_tune-armv7vethf-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv4d16} callconvention-hard"
TUNE_FEATURES_tune-armv7vehf-neon = "${TUNE_FEATURES_tune-armv7ve-neon} callconvention-hard"
TUNE_FEATURES_tune-armv7vethf-neon = "${TUNE_FEATURES_tune-armv7vet-neon} callconvention-hard"
TUNE_FEATURES_tune-armv7vehf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} callconvention-hard"
@@ -68,19 +78,23 @@ PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-arm
PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3"
+PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv4d16"
+PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv4d16 armv7vet2hf-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} armv7vehf-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4"
# Big Endian
-AVAILTUNES += "armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4"
+AVAILTUNES += "armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-vfpv4d16 armv7vetb-vfpv4d16 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4"
ARMPKGARCH_tune-armv7veb ?= "armv7ve"
ARMPKGARCH_tune-armv7vetb ?= "armv7ve"
ARMPKGARCH_tune-armv7veb-vfpv3d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7vetb-vfpv3d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7veb-vfpv3 ?= "armv7ve"
ARMPKGARCH_tune-armv7vetb-vfpv3 ?= "armv7ve"
+ARMPKGARCH_tune-armv7veb-vfpv4d16 ?= "armv7ve"
+ARMPKGARCH_tune-armv7vetb-vfpv4d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7veb-neon ?= "armv7ve"
ARMPKGARCH_tune-armv7vetb-neon ?= "armv7ve"
ARMPKGARCH_tune-armv7veb-neon-vfpv4 ?= "armv7ve"
@@ -91,6 +105,8 @@ TUNE_FEATURES_tune-armv7veb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv3d16
TUNE_FEATURES_tune-armv7vetb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7veb-vfpv3 = "${TUNE_FEATURES_tune-armv7ve-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7vetb-vfpv3 = "${TUNE_FEATURES_tune-armv7vet-vfpv3} bigendian"
+TUNE_FEATURES_tune-armv7veb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7ve-vfpv4d16} bigendian"
+TUNE_FEATURES_tune-armv7vetb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vet-vfpv4d16} bigendian"
TUNE_FEATURES_tune-armv7veb-neon = "${TUNE_FEATURES_tune-armv7ve-neon} bigendian"
TUNE_FEATURES_tune-armv7vetb-neon = "${TUNE_FEATURES_tune-armv7vet-neon} bigendian"
TUNE_FEATURES_tune-armv7veb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} bigendian"
@@ -101,19 +117,23 @@ PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv
PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16} armv7veb-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3"
+PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv4d16"
+PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv4d16 armv7vet2b-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-neon armv7vet2b-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon} armv7veb-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4"
# Big Endian + HF
-AVAILTUNES += "armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4"
+AVAILTUNES += "armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-vfpv4d16 armv7vethfb-vfpv4d16 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4"
ARMPKGARCH_tune-armv7vehfb ?= "armv7ve"
ARMPKGARCH_tune-armv7vethfb ?= "armv7ve"
ARMPKGARCH_tune-armv7vehfb-vfpv3d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7vethfb-vfpv3d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7vehfb-vfpv3 ?= "armv7ve"
ARMPKGARCH_tune-armv7vethfb-vfpv3 ?= "armv7ve"
+ARMPKGARCH_tune-armv7vehfb-vfpv4d16 ?= "armv7ve"
+ARMPKGARCH_tune-armv7vethfb-vfpv4d16 ?= "armv7ve"
ARMPKGARCH_tune-armv7vehfb-neon ?= "armv7ve"
ARMPKGARCH_tune-armv7vethfb-neon ?= "armv7ve"
ARMPKGARCH_tune-armv7vehfb-neon-vfpv4 ?= "armv7ve"
@@ -124,6 +144,8 @@ TUNE_FEATURES_tune-armv7vehfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vehf-vfpv
TUNE_FEATURES_tune-armv7vethfb-vfpv3d16 = "${TUNE_FEATURES_tune-armv7vethf-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7vehfb-vfpv3 = "${TUNE_FEATURES_tune-armv7vehf-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7vethfb-vfpv3 = "${TUNE_FEATURES_tune-armv7vethf-vfpv3} bigendian"
+TUNE_FEATURES_tune-armv7vehfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vehf-vfpv4d16} bigendian"
+TUNE_FEATURES_tune-armv7vethfb-vfpv4d16 = "${TUNE_FEATURES_tune-armv7vethf-vfpv4d16} bigendian"
TUNE_FEATURES_tune-armv7vehfb-neon = "${TUNE_FEATURES_tune-armv7vehf-neon} bigendian"
TUNE_FEATURES_tune-armv7vethfb-neon = "${TUNE_FEATURES_tune-armv7vethf-neon} bigendian"
TUNE_FEATURES_tune-armv7vehfb-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} bigendian"
@@ -134,6 +156,8 @@ PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-ar
PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3"
+PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv4d16"
+PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv4d16 armv7vet2hfb-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8.inc b/poky/meta/conf/machine/include/arm/arch-armv8.inc
deleted file mode 100644
index 5e832fae6..000000000
--- a/poky/meta/conf/machine/include/arm/arch-armv8.inc
+++ /dev/null
@@ -1 +0,0 @@
-require conf/machine/include/arm/arch-arm64.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8a.inc b/poky/meta/conf/machine/include/arm/arch-armv8a.inc
new file mode 100644
index 000000000..f810a1e8f
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/arch-armv8a.inc
@@ -0,0 +1,30 @@
+DEFAULTTUNE ?= "armv8a-crc"
+
+TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
+TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
+TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '' ,d)}"
+
+require conf/machine/include/arm/arch-arm64.inc
+
+# Little Endian base configs
+AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto"
+ARMPKGARCH_tune-armv8a ?= "armv8a"
+ARMPKGARCH_tune-armv8a-crc ?= "armv8a"
+ARMPKGARCH_tune-armv8a-crypto ?= "armv8a"
+ARMPKGARCH_tune-armv8a-crc-crypto ?= "armv8a"
+TUNE_FEATURES_tune-armv8a = "aarch64 armv8a"
+TUNE_FEATURES_tune-armv8a-crc = "${TUNE_FEATURES_tune-armv8a} crc"
+TUNE_FEATURES_tune-armv8a-crypto = "${TUNE_FEATURES_tune-armv8a} crypto"
+TUNE_FEATURES_tune-armv8a-crc-crypto = "${TUNE_FEATURES_tune-armv8a-crc} crypto"
+PACKAGE_EXTRA_ARCHS_tune-armv8a = "aarch64 armv8a"
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crc"
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crypto"
+PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} armv8a-crypto armv8a-crc-crypto"
+BASE_LIB_tune-armv8a = "lib64"
+BASE_LIB_tune-armv8a-crc = "lib64"
+BASE_LIB_tune-armv8a-crypto = "lib64"
+BASE_LIB_tune-armv8a-crc-crypto = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-neon.inc b/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
index b34af8e7c..eaddd054c 100644
--- a/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
+++ b/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
@@ -16,3 +16,6 @@ TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv3', ' vfpv3', ''
TUNEVALID[vfpv4] = "Enable Vector Floating Point Version 4 (vfpv4) unit."
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4', ' vfpv4', '', d)}"
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv4', 'neon' ], ' neon-vfpv4', '', d)}"
+
+TUNEVALID[vfpv4d16] = "Enable Vector Floating Point Version 4 with 16 registers (vfpv4-d16) unit."
+TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4d16', ' vfpv4-d16', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-vfp.inc b/poky/meta/conf/machine/include/arm/feature-arm-vfp.inc
index 7ae745669..678888e63 100644
--- a/poky/meta/conf/machine/include/arm/feature-arm-vfp.inc
+++ b/poky/meta/conf/machine/include/arm/feature-arm-vfp.inc
@@ -6,7 +6,8 @@ TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit."
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}"
TUNE_CCARGS .= "${@ (' -mfpu=%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
-ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('vfpv3-d16', 'vfpv3d16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
+# The following deals with both vfpv3-d16 and vfpv4-d16
+ARMPKGSFX_FPU = "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('-d16', 'd16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP."
TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }"
diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
index f751c6b76..d9916d43d 100644
--- a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
+++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -7,6 +7,9 @@ TUNECONFLICTS[m64] = "m32 nf"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', ' -m64', '', d)}"
TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64', '', d)}"
+# musl only supports elfv2 ABI for ppc64
+TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}"
+
# user mode qemu doesn't support ppc64
MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}"
diff --git a/poky/meta/conf/machine/include/qemuboot-mips.inc b/poky/meta/conf/machine/include/qemuboot-mips.inc
index 7d9fa52da..75bb98861 100644
--- a/poky/meta/conf/machine/include/qemuboot-mips.inc
+++ b/poky/meta/conf/machine/include/qemuboot-mips.inc
@@ -3,6 +3,7 @@ IMAGE_CLASSES += "qemuboot"
QB_MEM = "-m 256"
QB_MACHINE = "-machine malta"
QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty"
+QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
-QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -device usb-tablet -device virtio-rng-pci"
+QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
QB_SYSTEM_NAME = "qemu-system-${TUNE_ARCH}"
diff --git a/poky/meta/conf/machine/include/qemuboot-x86.inc b/poky/meta/conf/machine/include/qemuboot-x86.inc
index 1456bf7e8..5fdbe4df5 100644
--- a/poky/meta/conf/machine/include/qemuboot-x86.inc
+++ b/poky/meta/conf/machine/include/qemuboot-x86.inc
@@ -11,7 +11,8 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo"
QB_AUDIO_DRV = "alsa"
QB_AUDIO_OPT = "-soundhw ac97,es1370"
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
+QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
-QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet -device virtio-rng-pci"
+QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
UVESA_MODE ?= "640x480-32"
diff --git a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc b/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
index c5de63e1c..d883eba7c 100644
--- a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
@@ -4,8 +4,10 @@ require conf/machine/include/arm/arch-armv6.inc
TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', ' -mcpu=arm1136jf-s', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '' ,d)}"
AVAILTUNES += "arm1136jfs"
ARMPKGARCH_tune-arm1136jfs = "arm1136jfs"
-TUNE_FEATURES_tune-arm1136jfs = "${TUNE_FEATURES_tune-armv6} arm1136jfs"
+# mcpu is used so don't use armv6 as we don't want march
+TUNE_FEATURES_tune-arm1136jfs = "arm arm1136jfs"
PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp"
diff --git a/poky/meta/conf/machine/include/tune-arm920t.inc b/poky/meta/conf/machine/include/tune-arm920t.inc
index c6e74b677..42e8ed2b5 100644
--- a/poky/meta/conf/machine/include/tune-arm920t.inc
+++ b/poky/meta/conf/machine/include/tune-arm920t.inc
@@ -4,8 +4,10 @@ require conf/machine/include/arm/arch-armv4.inc
TUNEVALID[arm920t] = "Enable arm920t specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', ' -mcpu=arm920t', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm920t', 'armv4:', '' ,d)}"
AVAILTUNES += "arm920t"
ARMPKGARCH_tune-arm920t = "arm920t"
-TUNE_FEATURES_tune-arm920t = "${TUNE_FEATURES_tune-armv4t} arm920t"
+# mcpu is used so don't use armv4t as we don't want march
+TUNE_FEATURES_tune-arm920t = "arm thumb arm920t"
PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm920t arm920tt"
diff --git a/poky/meta/conf/machine/include/tune-arm926ejs.inc b/poky/meta/conf/machine/include/tune-arm926ejs.inc
index 81bcda339..563d53bc4 100644
--- a/poky/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/poky/meta/conf/machine/include/tune-arm926ejs.inc
@@ -4,8 +4,10 @@ require conf/machine/include/arm/arch-armv5-dsp.inc
TUNEVALID[arm926ejs] = "Enable arm926ejs specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', ' -mcpu=arm926ej-s', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm926ejs', 'armv5:', '' ,d)}"
AVAILTUNES += "arm926ejs"
ARMPKGARCH_tune-arm926ejs = "arm926ejs"
-TUNE_FEATURES_tune-arm926ejs = "${TUNE_FEATURES_tune-armv5te} arm926ejs"
+# mcpu is used so don't use armv5te as we don't want march
+TUNE_FEATURES_tune-arm926ejs = "arm thumb dsp arm926ejs"
PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} arm926ejste arm926ejse"
diff --git a/poky/meta/conf/machine/include/tune-arm9tdmi.inc b/poky/meta/conf/machine/include/tune-arm9tdmi.inc
index e9c2b8fcf..e03a8b86a 100644
--- a/poky/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/poky/meta/conf/machine/include/tune-arm9tdmi.inc
@@ -4,8 +4,10 @@ require conf/machine/include/arm/arch-armv4.inc
TUNEVALID[arm9tdmi] = "Enable arm9tdmi specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', ' -mcpu=arm9tdmi', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm9tdmi', 'armv4:', '' ,d)}"
AVAILTUNES += "arm9tdmi"
ARMPKGARCH_tune-arm9tdmi = "arm9tdmi"
-TUNE_FEATURES_tune-arm9tdmi = "${TUNE_FEATURES_tune-armv4t} arm9tdmi"
+# mcpu is used so don't use armv4t as we don't want march
+TUNE_FEATURES_tune-arm9tdmi = "arm thumb arm9tdmi"
PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmit"
diff --git a/poky/meta/conf/machine/include/tune-cortexa15.inc b/poky/meta/conf/machine/include/tune-cortexa15.inc
index 25e99f93d..d53403af3 100644
--- a/poky/meta/conf/machine/include/tune-cortexa15.inc
+++ b/poky/meta/conf/machine/include/tune-cortexa15.inc
@@ -4,6 +4,7 @@ require conf/machine/include/arm/arch-armv7ve.inc
TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', ' -mcpu=cortex-a15', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa15', 'armv7ve:', '' ,d)}"
# Little Endian base configs
AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon cortexa15-neon-vfpv4 cortexa15t-neon-vfpv4"
@@ -13,12 +14,13 @@ ARMPKGARCH_tune-cortexa15-neon = "cortexa15"
ARMPKGARCH_tune-cortexa15t-neon = "cortexa15"
ARMPKGARCH_tune-cortexa15-neon-vfpv4 = "cortexa15"
ARMPKGARCH_tune-cortexa15t-neon-vfpv4 = "cortexa15"
-TUNE_FEATURES_tune-cortexa15 = "${TUNE_FEATURES_tune-armv7ve} cortexa15"
-TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-armv7vet} cortexa15"
-TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-armv7ve-neon} cortexa15"
-TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-armv7vet-neon} cortexa15"
-TUNE_FEATURES_tune-cortexa15-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} cortexa15"
-TUNE_FEATURES_tune-cortexa15t-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} cortexa15"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES_tune-cortexa15 = "arm vfp cortexa15"
+TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-cortexa15} thumb"
+TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-cortexa15} neon"
+TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-cortexa15-neon} thumb"
+TUNE_FEATURES_tune-cortexa15-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15-neon} vfpv4"
+TUNE_FEATURES_tune-cortexa15t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15-neon-vfpv4} thumb"
PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa15-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa15-vfp cortexa15t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa15-vfp cortexa15-neon"
@@ -34,12 +36,13 @@ ARMPKGARCH_tune-cortexa15hf-neon = "cortexa15"
ARMPKGARCH_tune-cortexa15thf-neon = "cortexa15"
ARMPKGARCH_tune-cortexa15hf-neon-vfpv4 = "cortexa15"
ARMPKGARCH_tune-cortexa15thf-neon-vfpv4 = "cortexa15"
-TUNE_FEATURES_tune-cortexa15hf = "${TUNE_FEATURES_tune-armv7vehf} cortexa15"
-TUNE_FEATURES_tune-cortexa15thf = "${TUNE_FEATURES_tune-armv7vethf} cortexa15"
-TUNE_FEATURES_tune-cortexa15hf-neon = "${TUNE_FEATURES_tune-armv7vehf-neon} cortexa15"
-TUNE_FEATURES_tune-cortexa15thf-neon = "${TUNE_FEATURES_tune-armv7vethf-neon} cortexa15"
-TUNE_FEATURES_tune-cortexa15hf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} cortexa15"
-TUNE_FEATURES_tune-cortexa15thf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} cortexa15"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES_tune-cortexa15hf = "${TUNE_FEATURES_tune-cortexa15} callconvention-hard"
+TUNE_FEATURES_tune-cortexa15thf = "${TUNE_FEATURES_tune-cortexa15t} callconvention-hard"
+TUNE_FEATURES_tune-cortexa15hf-neon = "${TUNE_FEATURES_tune-cortexa15-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa15thf-neon = "${TUNE_FEATURES_tune-cortexa15t-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa15hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES_tune-cortexa15thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa15t-neon-vfpv4} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa15hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa15hf-vfp cortexa15t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa15hf-vfp cortexa15hf-neon"
diff --git a/poky/meta/conf/machine/include/tune-cortexa17.inc b/poky/meta/conf/machine/include/tune-cortexa17.inc
index 40392f9bc..3ffc02bf9 100644
--- a/poky/meta/conf/machine/include/tune-cortexa17.inc
+++ b/poky/meta/conf/machine/include/tune-cortexa17.inc
@@ -4,6 +4,7 @@ require conf/machine/include/arm/arch-armv7ve.inc
TUNEVALID[cortexa17] = "Enable Cortex-A17 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', ' -mcpu=cortex-a17', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa17', 'armv7ve:', '' ,d)}"
# Little Endian base configs
AVAILTUNES += "cortexa17 cortexa17t cortexa17-neon cortexa17t-neon cortexa17-neon-vfpv4 cortexa17t-neon-vfpv4"
@@ -13,12 +14,13 @@ ARMPKGARCH_tune-cortexa17-neon = "cortexa17"
ARMPKGARCH_tune-cortexa17t-neon = "cortexa17"
ARMPKGARCH_tune-cortexa17-neon-vfpv4 = "cortexa17"
ARMPKGARCH_tune-cortexa17t-neon-vfpv4 = "cortexa17"
-TUNE_FEATURES_tune-cortexa17 = "${TUNE_FEATURES_tune-armv7ve} cortexa17"
-TUNE_FEATURES_tune-cortexa17t = "${TUNE_FEATURES_tune-armv7vet} cortexa17"
-TUNE_FEATURES_tune-cortexa17-neon = "${TUNE_FEATURES_tune-armv7ve-neon} cortexa17"
-TUNE_FEATURES_tune-cortexa17t-neon = "${TUNE_FEATURES_tune-armv7vet-neon} cortexa17"
-TUNE_FEATURES_tune-cortexa17-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} cortexa17"
-TUNE_FEATURES_tune-cortexa17t-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} cortexa17"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES_tune-cortexa17 = "arm vfp cortexa17"
+TUNE_FEATURES_tune-cortexa17t = "${TUNE_FEATURES_tune-cortexa17} thumb"
+TUNE_FEATURES_tune-cortexa17-neon = "${TUNE_FEATURES_tune-cortexa17} neon"
+TUNE_FEATURES_tune-cortexa17t-neon = "${TUNE_FEATURES_tune-cortexa17-neon} thumb"
+TUNE_FEATURES_tune-cortexa17-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17-neon} vfpv4"
+TUNE_FEATURES_tune-cortexa17t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17-neon-vfpv4} thumb"
PACKAGE_EXTRA_ARCHS_tune-cortexa17 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa17-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa17t = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa17-vfp cortexa17t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa17-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa17-vfp cortexa17-neon"
@@ -34,12 +36,13 @@ ARMPKGARCH_tune-cortexa17hf-neon = "cortexa17"
ARMPKGARCH_tune-cortexa17thf-neon = "cortexa17"
ARMPKGARCH_tune-cortexa17hf-neon-vfpv4 = "cortexa17"
ARMPKGARCH_tune-cortexa17thf-neon-vfpv4 = "cortexa17"
-TUNE_FEATURES_tune-cortexa17hf = "${TUNE_FEATURES_tune-armv7vehf} cortexa17"
-TUNE_FEATURES_tune-cortexa17thf = "${TUNE_FEATURES_tune-armv7vethf} cortexa17"
-TUNE_FEATURES_tune-cortexa17hf-neon = "${TUNE_FEATURES_tune-armv7vehf-neon} cortexa17"
-TUNE_FEATURES_tune-cortexa17thf-neon = "${TUNE_FEATURES_tune-armv7vethf-neon} cortexa17"
-TUNE_FEATURES_tune-cortexa17hf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} cortexa17"
-TUNE_FEATURES_tune-cortexa17thf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} cortexa17"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES_tune-cortexa17hf = "${TUNE_FEATURES_tune-cortexa17} callconvention-hard"
+TUNE_FEATURES_tune-cortexa17thf = "${TUNE_FEATURES_tune-cortexa17t} callconvention-hard"
+TUNE_FEATURES_tune-cortexa17hf-neon = "${TUNE_FEATURES_tune-cortexa17-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa17thf-neon = "${TUNE_FEATURES_tune-cortexa17t-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa17hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES_tune-cortexa17thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa17t-neon-vfpv4} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-cortexa17hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa17hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa17thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa17hf-vfp cortexa17t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa17hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa17hf-vfp cortexa17hf-neon"
diff --git a/poky/meta/conf/machine/include/tune-cortexa32.inc b/poky/meta/conf/machine/include/tune-cortexa32.inc
new file mode 100644
index 000000000..9c948f176
--- /dev/null
+++ b/poky/meta/conf/machine/include/tune-cortexa32.inc
@@ -0,0 +1,18 @@
+DEFAULTTUNE ?= "cortexa32"
+
+
+TUNEVALID[cortexa32] = "Enable Cortex-A32 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa32', ' -mcpu=cortex-a32', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa32 cortexa32-crypto"
+ARMPKGARCH_tune-cortexa32 = "cortexa32"
+ARMPKGARCH_tune-cortexa32-crypto = "cortexa32"
+TUNE_FEATURES_tune-cortexa32 = "aarch64 cortexa32 crc"
+TUNE_FEATURES_tune-cortexa32-crypto = "aarch64 cortexa32 crc crypto"
+PACKAGE_EXTRA_ARCHS_tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa32"
+PACKAGE_EXTRA_ARCHS_tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa32 cortexa32-crypto"
+BASE_LIB_tune-cortexa32 = "lib64"
+BASE_LIB_tune-cortexa32-crypto = "lib64"
diff --git a/poky/meta/conf/machine/include/tune-cortexa35.inc b/poky/meta/conf/machine/include/tune-cortexa35.inc
new file mode 100644
index 000000000..d6df6cd6b
--- /dev/null
+++ b/poky/meta/conf/machine/include/tune-cortexa35.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "cortexa35"
+
+TUNEVALID[cortexa35] = "Enable Cortex-A35 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa35', ' -mcpu=cortex-a35', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa35 cortexa35-crypto"
+ARMPKGARCH_tune-cortexa35 = "cortexa35"
+ARMPKGARCH_tune-cortexa35-crypto = "cortexa35"
+TUNE_FEATURES_tune-cortexa35 = "aarch64 cortexa35 crc"
+TUNE_FEATURES_tune-cortexa35-crypto = "aarch64 cortexa35 crc crypto"
+PACKAGE_EXTRA_ARCHS_tune-cortexa35 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa35"
+PACKAGE_EXTRA_ARCHS_tune-cortexa35-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa35 cortexa35-crypto"
+BASE_LIB_tune-cortexa35 = "lib64"
+BASE_LIB_tune-cortexa35-crypto = "lib64"
diff --git a/poky/meta/conf/machine/include/tune-cortexa5.inc b/poky/meta/conf/machine/include/tune-cortexa5.inc
index 1f0cda664..496739e45 100644
--- a/poky/meta/conf/machine/include/tune-cortexa5.inc
+++ b/poky/meta/conf/machine/include/tune-cortexa5.inc
@@ -4,33 +4,48 @@ require conf/machine/include/arm/arch-armv7a.inc
TUNEVALID[cortexa5] = "Enable Cortex-A5 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', ' -mcpu=cortex-a5', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa5', 'armv7a:', '' ,d)}"
# Little Endian base configs
-AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon"
+AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon cortexa5-neon-vfpv4 cortexa5t-neon-vfpv4"
ARMPKGARCH_tune-cortexa5 = "cortexa5"
ARMPKGARCH_tune-cortexa5t = "cortexa5"
ARMPKGARCH_tune-cortexa5-neon = "cortexa5"
ARMPKGARCH_tune-cortexa5t-neon = "cortexa5"
-TUNE_FEATURES_tune-cortexa5 = "${TUNE_FEATURES_tune-armv7a} cortexa5"
-TUNE_FEATURES_tune-cortexa5t = "${TUNE_FEATURES_tune-armv7at} cortexa5"
-TUNE_FEATURES_tune-cortexa5-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa5"
-TUNE_FEATURES_tune-cortexa5t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa5"
+ARMPKGARCH_tune-cortexa5-neon-vfpv4 = "cortexa5"
+ARMPKGARCH_tune-cortexa5t-neon-vfpv4 = "cortexa5"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES_tune-cortexa5 = "arm vfp cortexa5"
+TUNE_FEATURES_tune-cortexa5t = "${TUNE_FEATURES_tune-cortexa5} thumb"
+TUNE_FEATURES_tune-cortexa5-neon = "${TUNE_FEATURES_tune-cortexa5} neon"
+TUNE_FEATURES_tune-cortexa5t-neon = "${TUNE_FEATURES_tune-cortexa5-neon} thumb"
+TUNE_FEATURES_tune-cortexa5-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5-neon} vfpv4"
+TUNE_FEATURES_tune-cortexa5t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5-neon-vfpv4} thumb"
PACKAGE_EXTRA_ARCHS_tune-cortexa5 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa5-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa5t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa5-vfp cortexa5t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa5-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa5-vfp cortexa5-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa5t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa5-vfp cortexa5-neon cortexa5t2-vfp cortexa5t2-neon"
+PACKAGE_EXTRA_ARCHS_tune-cortexa5-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS_tune-cortexa5t-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4} cortexa5-vfp cortexa5-neon cortexa5-neon-vfpv4 cortexa5t2-vfp cortexa5t2-neon cortexa5t2-neon-vfpv4"
# HF Tunes
-AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon"
+AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon cortexa5hf-neon-vfpv4 cortexa5thf-neon-vfpv4"
ARMPKGARCH_tune-cortexa5hf = "cortexa5"
ARMPKGARCH_tune-cortexa5thf = "cortexa5"
ARMPKGARCH_tune-cortexa5hf-neon = "cortexa5"
ARMPKGARCH_tune-cortexa5thf-neon = "cortexa5"
-TUNE_FEATURES_tune-cortexa5hf = "${TUNE_FEATURES_tune-armv7ahf} cortexa5"
-TUNE_FEATURES_tune-cortexa5thf = "${TUNE_FEATURES_tune-armv7athf} cortexa5"
-TUNE_FEATURES_tune-cortexa5hf-neon = "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa5"
-TUNE_FEATURES_tune-cortexa5thf-neon = "${TUNE_FEATURES_tune-armv7athf-neon} cortexa5"
+ARMPKGARCH_tune-cortexa5hf-neon-vfpv4 = "cortexa5"
+ARMPKGARCH_tune-cortexa5thf-neon-vfpv4 = "cortexa5"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES_tune-cortexa5hf = "${TUNE_FEATURES_tune-cortexa5} callconvention-hard"
+TUNE_FEATURES_tune-cortexa5thf = "${TUNE_FEATURES_tune-cortexa5t} callconvention-hard"
+TUNE_FEATURES_tune-cortexa5hf-neon = "${TUNE_FEATURES_tune-cortexa5-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa5thf-neon = "${TUNE_FEATURES_tune-cortexa5t-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa5hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES_tune-cortexa5thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa5t-neon-vfpv4} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-cortexa5hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa5hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa5thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa5hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa5thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-neon cortexa5t2hf-vfp cortexa5t2hf-neon"
+PACKAGE_EXTRA_ARCHS_tune-cortexa5hf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4"
+PACKAGE_EXTRA_ARCHS_tune-cortexa5thf-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4} cortexa5hf-vfp cortexa5hf-neon cortexa5hf-neon-vfpv4 cortexa5t2hf-vfp cortexa5t2hf-neon cortexa5t2hf-neon-vfpv4"
diff --git a/poky/meta/conf/machine/include/tune-cortexa53.inc b/poky/meta/conf/machine/include/tune-cortexa53.inc
new file mode 100644
index 000000000..6c0b443ea
--- /dev/null
+++ b/poky/meta/conf/machine/include/tune-cortexa53.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "cortexa53"
+
+TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mcpu=cortex-a53', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa53 cortexa53-crypto"
+ARMPKGARCH_tune-cortexa53 = "cortexa53"
+ARMPKGARCH_tune-cortexa53-crypto = "cortexa53"
+TUNE_FEATURES_tune-cortexa53 = "aarch64 cortexa53 crc"
+TUNE_FEATURES_tune-cortexa53-crypto = "aarch64 cortexa53 crc crypto"
+PACKAGE_EXTRA_ARCHS_tune-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa53"
+PACKAGE_EXTRA_ARCHS_tune-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa53 cortexa53-crypto"
+BASE_LIB_tune-cortexa53 = "lib64"
+BASE_LIB_tune-cortexa53-crypto = "lib64"
diff --git a/poky/meta/conf/machine/include/tune-cortexa7.inc b/poky/meta/conf/machine/include/tune-cortexa7.inc
index 52415d9c8..34a77b478 100644
--- a/poky/meta/conf/machine/include/tune-cortexa7.inc
+++ b/poky/meta/conf/machine/include/tune-cortexa7.inc
@@ -4,6 +4,7 @@ require conf/machine/include/arm/arch-armv7ve.inc
TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', 'armv7ve:', '' ,d)}"
# Little Endian base configs
AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4"
@@ -13,12 +14,13 @@ ARMPKGARCH_tune-cortexa7-neon = "cortexa7"
ARMPKGARCH_tune-cortexa7t-neon = "cortexa7"
ARMPKGARCH_tune-cortexa7-neon-vfpv4 = "cortexa7"
ARMPKGARCH_tune-cortexa7t-neon-vfpv4 = "cortexa7"
-TUNE_FEATURES_tune-cortexa7 = "${TUNE_FEATURES_tune-armv7ve} cortexa7"
-TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-armv7vet} cortexa7"
-TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-armv7ve-neon} cortexa7"
-TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-armv7vet-neon} cortexa7"
-TUNE_FEATURES_tune-cortexa7-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} cortexa7"
-TUNE_FEATURES_tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} cortexa7"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES_tune-cortexa7 = "arm vfp cortexa7"
+TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-cortexa7} thumb"
+TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-cortexa7} neon"
+TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-cortexa7-neon} thumb"
+TUNE_FEATURES_tune-cortexa7-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon} vfpv4"
+TUNE_FEATURES_tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon-vfpv4} thumb"
PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa7-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa7-vfp cortexa7t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa7-vfp cortexa7-neon"
@@ -34,12 +36,13 @@ ARMPKGARCH_tune-cortexa7hf-neon = "cortexa7"
ARMPKGARCH_tune-cortexa7thf-neon = "cortexa7"
ARMPKGARCH_tune-cortexa7hf-neon-vfpv4 = "cortexa7"
ARMPKGARCH_tune-cortexa7thf-neon-vfpv4 = "cortexa7"
-TUNE_FEATURES_tune-cortexa7hf = "${TUNE_FEATURES_tune-armv7vehf} cortexa7"
-TUNE_FEATURES_tune-cortexa7thf = "${TUNE_FEATURES_tune-armv7vethf} cortexa7"
-TUNE_FEATURES_tune-cortexa7hf-neon = "${TUNE_FEATURES_tune-armv7vehf-neon} cortexa7"
-TUNE_FEATURES_tune-cortexa7thf-neon = "${TUNE_FEATURES_tune-armv7vethf-neon} cortexa7"
-TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} cortexa7"
-TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} cortexa7"
+# mcpu is used so don't use armv7ve as we don't want march
+TUNE_FEATURES_tune-cortexa7hf = "${TUNE_FEATURES_tune-cortexa7} callconvention-hard"
+TUNE_FEATURES_tune-cortexa7thf = "${TUNE_FEATURES_tune-cortexa7t} callconvention-hard"
+TUNE_FEATURES_tune-cortexa7hf-neon = "${TUNE_FEATURES_tune-cortexa7-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa7thf-neon = "${TUNE_FEATURES_tune-cortexa7t-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon-vfpv4} callconvention-hard"
+TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7t-neon-vfpv4} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa7hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon"
diff --git a/poky/meta/conf/machine/include/tune-cortexa72.inc b/poky/meta/conf/machine/include/tune-cortexa72.inc
new file mode 100644
index 000000000..00f7745a2
--- /dev/null
+++ b/poky/meta/conf/machine/include/tune-cortexa72.inc
@@ -0,0 +1,13 @@
+DEFAULTTUNE ?= "cortexa72"
+
+TUNEVALID[cortexa72] = "Enable Cortex-A72 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa72', ' -mcpu=cortex-a72', '', d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
+
+# Little Endian base configs
+AVAILTUNES += "cortexa72"
+ARMPKGARCH_tune-cortexa72 = "cortexa72"
+TUNE_FEATURES_tune-cortexa72 = "aarch64 cortexa72 crc crypto"
+PACKAGE_EXTRA_ARCHS_tune-cortexa72 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa72"
+BASE_LIB_tune-cortexa72 = "lib64"
diff --git a/poky/meta/conf/machine/include/tune-cortexa8.inc b/poky/meta/conf/machine/include/tune-cortexa8.inc
index 8ee8de97f..6551ba495 100644
--- a/poky/meta/conf/machine/include/tune-cortexa8.inc
+++ b/poky/meta/conf/machine/include/tune-cortexa8.inc
@@ -4,6 +4,7 @@ require conf/machine/include/arm/arch-armv7a.inc
TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', ' -mcpu=cortex-a8', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa8', 'armv7a:', '' ,d)}"
# Little Endian base configs
AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon"
@@ -11,10 +12,11 @@ ARMPKGARCH_tune-cortexa8 = "cortexa8"
ARMPKGARCH_tune-cortexa8t = "cortexa8"
ARMPKGARCH_tune-cortexa8-neon = "cortexa8"
ARMPKGARCH_tune-cortexa8t-neon = "cortexa8"
-TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8"
-TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8"
-TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8"
-TUNE_FEATURES_tune-cortexa8t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa8"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES_tune-cortexa8 = "arm vfp cortexa8"
+TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-cortexa8} thumb"
+TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-cortexa8} neon"
+TUNE_FEATURES_tune-cortexa8t-neon = "${TUNE_FEATURES_tune-cortexa8-neon} thumb"
PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-neon"
@@ -26,10 +28,11 @@ ARMPKGARCH_tune-cortexa8hf = "cortexa8"
ARMPKGARCH_tune-cortexa8thf = "cortexa8"
ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8"
ARMPKGARCH_tune-cortexa8thf-neon = "cortexa8"
-TUNE_FEATURES_tune-cortexa8hf = "${TUNE_FEATURES_tune-armv7ahf} cortexa8"
-TUNE_FEATURES_tune-cortexa8thf = "${TUNE_FEATURES_tune-armv7athf} cortexa8"
-TUNE_FEATURES_tune-cortexa8hf-neon = "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8"
-TUNE_FEATURES_tune-cortexa8thf-neon = "${TUNE_FEATURES_tune-armv7athf-neon} cortexa8"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES_tune-cortexa8hf = "${TUNE_FEATURES_tune-cortexa8} callconvention-hard"
+TUNE_FEATURES_tune-cortexa8thf = "${TUNE_FEATURES_tune-cortexa8t} callconvention-hard"
+TUNE_FEATURES_tune-cortexa8hf-neon = "${TUNE_FEATURES_tune-cortexa8-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa8thf-neon = "${TUNE_FEATURES_tune-cortexa8t-neon} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-neon"
diff --git a/poky/meta/conf/machine/include/tune-cortexa9.inc b/poky/meta/conf/machine/include/tune-cortexa9.inc
index 0cf323c96..ecc7908cd 100644
--- a/poky/meta/conf/machine/include/tune-cortexa9.inc
+++ b/poky/meta/conf/machine/include/tune-cortexa9.inc
@@ -4,6 +4,7 @@ require conf/machine/include/arm/arch-armv7a.inc
TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', ' -mcpu=cortex-a9', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', 'armv7a:', '' ,d)}"
# Little Endian base configs
AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon"
@@ -11,10 +12,11 @@ ARMPKGARCH_tune-cortexa9 = "cortexa9"
ARMPKGARCH_tune-cortexa9t = "cortexa9"
ARMPKGARCH_tune-cortexa9-neon = "cortexa9"
ARMPKGARCH_tune-cortexa9t-neon = "cortexa9"
-TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9"
-TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9"
-TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9"
-TUNE_FEATURES_tune-cortexa9t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa9"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES_tune-cortexa9 = "arm vfp cortexa9"
+TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-cortexa9} thumb"
+TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-cortexa9} neon"
+TUNE_FEATURES_tune-cortexa9t-neon = "${TUNE_FEATURES_tune-cortexa9-neon} thumb"
PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-neon"
@@ -26,10 +28,11 @@ ARMPKGARCH_tune-cortexa9hf = "cortexa9"
ARMPKGARCH_tune-cortexa9thf = "cortexa9"
ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9"
ARMPKGARCH_tune-cortexa9thf-neon = "cortexa9"
-TUNE_FEATURES_tune-cortexa9hf = "${TUNE_FEATURES_tune-armv7ahf} cortexa9"
-TUNE_FEATURES_tune-cortexa9thf = "${TUNE_FEATURES_tune-armv7athf} cortexa9"
-TUNE_FEATURES_tune-cortexa9hf-neon = "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9"
-TUNE_FEATURES_tune-cortexa9thf-neon = "${TUNE_FEATURES_tune-armv7athf-neon} cortexa9"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES_tune-cortexa9hf = "${TUNE_FEATURES_tune-cortexa9} callconvention-hard"
+TUNE_FEATURES_tune-cortexa9thf = "${TUNE_FEATURES_tune-cortexa9t} callconvention-hard"
+TUNE_FEATURES_tune-cortexa9hf-neon = "${TUNE_FEATURES_tune-cortexa9-neon} callconvention-hard"
+TUNE_FEATURES_tune-cortexa9thf-neon = "${TUNE_FEATURES_tune-cortexa9t-neon} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-neon"
@@ -41,10 +44,11 @@ ARMPKGARCH_tune-cortexa9-vfpv3 = "cortexa9"
ARMPKGARCH_tune-cortexa9t-vfpv3 = "cortexa9"
ARMPKGARCH_tune-cortexa9hf-vfpv3 = "cortexa9"
ARMPKGARCH_tune-cortexa9thf-vfpv3 = "cortexa9"
-TUNE_FEATURES_tune-cortexa9-vfpv3 = "${TUNE_FEATURES_tune-armv7a-vfpv3} cortexa9"
-TUNE_FEATURES_tune-cortexa9t-vfpv3 = "${TUNE_FEATURES_tune-armv7at-vfpv3} cortexa9"
-TUNE_FEATURES_tune-cortexa9hf-vfpv3 = "${TUNE_FEATURES_tune-armv7ahf-vfpv3} cortexa9"
-TUNE_FEATURES_tune-cortexa9thf-vfpv3 = "${TUNE_FEATURES_tune-armv7athf-vfpv3} cortexa9"
+# mcpu is used so don't use armv7a as we don't want march
+TUNE_FEATURES_tune-cortexa9-vfpv3 = "${TUNE_FEATURES_tune-cortexa9} vfpv3"
+TUNE_FEATURES_tune-cortexa9t-vfpv3 = "${TUNE_FEATURES_tune-cortexa9t} vfpv3"
+TUNE_FEATURES_tune-cortexa9hf-vfpv3 = "${TUNE_FEATURES_tune-cortexa9hf} vfpv3"
+TUNE_FEATURES_tune-cortexa9thf-vfpv3 = "${TUNE_FEATURES_tune-cortexa9thf} vfpv3"
PACKAGE_EXTRA_ARCHS_tune-cortexa9-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3} cortexa9-vfp cortexa9-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-cortexa9t-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3} cortexa9-vfp cortexa9-vfpv3 cortexa9t2-vfp cortexa9t2-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3} cortexa9hf-vfp cortexa9hf-vfpv3"
diff --git a/poky/meta/conf/machine/include/tune-ep9312.inc b/poky/meta/conf/machine/include/tune-ep9312.inc
index 84ca528d6..4d9282162 100644
--- a/poky/meta/conf/machine/include/tune-ep9312.inc
+++ b/poky/meta/conf/machine/include/tune-ep9312.inc
@@ -4,6 +4,7 @@ require conf/machine/include/arm/arch-armv4.inc
TUNEVALID[ep9312] = "Enable Intel PXA27x specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', ' -march=ep9312 -mcpu=ep9312', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '' ,d)}"
AVAILTUNES += "ep9312"
ARMPKGARCH_tune-ep9312 = "ep9312"
diff --git a/poky/meta/conf/machine/include/tune-iwmmxt.inc b/poky/meta/conf/machine/include/tune-iwmmxt.inc
index f27423cb2..9a6cd23c9 100644
--- a/poky/meta/conf/machine/include/tune-iwmmxt.inc
+++ b/poky/meta/conf/machine/include/tune-iwmmxt.inc
@@ -6,7 +6,8 @@ DEFAULTTUNE ?= "iwmmxt"
require conf/machine/include/arm/arch-armv5-dsp.inc
TUNEVALID[iwmmxt] = "Enable Intel PXA27x specific processor optimizations"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', ' -march=iwmmxt -mcpu=iwmmxt', '', d)}"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', ' -mcpu=iwmmxt', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'iwmmxt', 'armv5:', '' ,d)}"
AVAILTUNES += "iwmmxt"
ARMPKGARCH_tune-iwmmxt = "iwmmxt"
diff --git a/poky/meta/conf/machine/include/tune-power5.inc b/poky/meta/conf/machine/include/tune-power5.inc
index a346c309a..39501bd8c 100644
--- a/poky/meta/conf/machine/include/tune-power5.inc
+++ b/poky/meta/conf/machine/include/tune-power5.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "ppc64p5"
+DEFAULTTUNE ?= "ppcp5"
require conf/machine/include/powerpc/arch-powerpc64.inc
@@ -19,3 +19,6 @@ PACKAGE_EXTRA_ARCHS_tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p
# glibc configure options to get power5 specific library
GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power5', '--with-cpu=power5', '', d)}"
+
+# QEMU usermode fails with invalid instruction error
+MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' qemu-usermode', '', d)}"
diff --git a/poky/meta/conf/machine/include/tune-power6.inc b/poky/meta/conf/machine/include/tune-power6.inc
index ee200f97b..1d5e8ecc2 100644
--- a/poky/meta/conf/machine/include/tune-power6.inc
+++ b/poky/meta/conf/machine/include/tune-power6.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "ppcpr6"
+DEFAULTTUNE ?= "ppcp6"
require conf/machine/include/powerpc/arch-powerpc64.inc
@@ -19,3 +19,6 @@ PACKAGE_EXTRA_ARCHS_tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p
# glibc configure options to get power6 specific library
GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power6', '--with-cpu=power6', '', d)}"
+
+# QEMU usermode fails with invalid instruction error
+MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' qemu-usermode', '', d)}"
diff --git a/poky/meta/conf/machine/include/tune-power7.inc b/poky/meta/conf/machine/include/tune-power7.inc
index 3a27719be..8f3f037eb 100644
--- a/poky/meta/conf/machine/include/tune-power7.inc
+++ b/poky/meta/conf/machine/include/tune-power7.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "ppcpr7"
+DEFAULTTUNE ?= "ppcp7"
require conf/machine/include/powerpc/arch-powerpc64.inc
@@ -19,3 +19,6 @@ PACKAGE_EXTRA_ARCHS_tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p
# glibc configure options to get power7 specific library
GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains('TUNE_FEATURES', 'power7', '--with-cpu=power7', '', d)}"
+
+# QEMU usermode fails with invalid instruction error
+MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' qemu-usermode', '', d)}"
diff --git a/poky/meta/conf/machine/include/tune-ppce500v2.inc b/poky/meta/conf/machine/include/tune-ppce500v2.inc
index 3a006e2ca..d318bba36 100644
--- a/poky/meta/conf/machine/include/tune-ppce500v2.inc
+++ b/poky/meta/conf/machine/include/tune-ppce500v2.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
ABIEXTENSION .= "${SPEABIEXTENSION}"
AVAILTUNES += "ppce500v2"
-TUNE_FEATURES_tune-ppce500v2 = "m32 spe ppce500v2"
+TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2"
TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2"
PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2"
diff --git a/poky/meta/conf/machine/include/tune-strongarm1100.inc b/poky/meta/conf/machine/include/tune-strongarm1100.inc
index 80cfb8ab8..e978e925d 100644
--- a/poky/meta/conf/machine/include/tune-strongarm1100.inc
+++ b/poky/meta/conf/machine/include/tune-strongarm1100.inc
@@ -4,8 +4,9 @@ require conf/machine/include/arm/arch-armv4.inc
TUNEVALID[strongarm] = "Enable Strongarm 1100 series processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', ' -mcpu=strongarm1100', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'strongarm', 'armv4:', '' ,d)}"
AVAILTUNES += "strongarm"
ARMPKGARCH_tune-strongarm = "strongarm"
-TUNE_FEATURES_tune-strongarm = "${TUNE_FEATURES_tune-armv4} strongarm"
+TUNE_FEATURES_tune-strongarm = "arm strongarm"
PACKAGE_EXTRA_ARCHS_tune-strongarm = "${PACKAGE_EXTRA_ARCHS_tune-armv4} strongarm"
diff --git a/poky/meta/conf/machine/include/tune-thunderx.inc b/poky/meta/conf/machine/include/tune-thunderx.inc
index 3d43b0f7e..92adf2df1 100644
--- a/poky/meta/conf/machine/include/tune-thunderx.inc
+++ b/poky/meta/conf/machine/include/tune-thunderx.inc
@@ -1,11 +1,11 @@
-require conf/machine/include/arm/arch-armv8.inc
-
DEFAULTTUNE ?= "thunderx"
AVAILTUNES += "thunderx thunderx_be"
TUNEVALID[thunderx] = "Enable instructions for Cavium ThunderX"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thunderx', ' -mcpu=thunderx ', '',d)}"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thunderx', ' -mcpu=thunderx', '',d)}"
+
+require conf/machine/include/arm/arch-armv8a.inc
ARMPKGARCH_tune-thunderx ?= "thunderx"
ARMPKGARCH_tune-thunderx_be ?= "thunderx_be"
@@ -15,5 +15,5 @@ TUNE_FEATURES_tune-thunderx_be = "${TUNE_FEATURES_tune-thunderx} bigendian"
BASE_LIB_tune-thunderx = "lib64"
BASE_LIB_tune-thunderx_be = "lib64"
-PACKAGE_EXTRA_ARCHS_tune-thunderx = "aarch64 thunderx"
+PACKAGE_EXTRA_ARCHS_tune-thunderx = "armv8a-crc-crypto thunderx"
PACKAGE_EXTRA_ARCHS_tune-thunderx_be = "aarch64_be thunderx_be"
diff --git a/poky/meta/conf/machine/include/tune-xscale.inc b/poky/meta/conf/machine/include/tune-xscale.inc
index 0d0733395..19d5e13e6 100644
--- a/poky/meta/conf/machine/include/tune-xscale.inc
+++ b/poky/meta/conf/machine/include/tune-xscale.inc
@@ -4,13 +4,16 @@ require conf/machine/include/arm/arch-armv5-dsp.inc
TUNEVALID[xscale] = "Enable PXA255/PXA26x Xscale specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'xscale', ' -mcpu=xscale', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'xscale', 'armv5:', '' ,d)}"
AVAILTUNES += "xscale"
ARMPKGARCH_tune-xscale = "xscale"
-TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale"
+# mcpu is used so don't use armv5te as we don't want march
+TUNE_FEATURES_tune-xscale = "arm thumb dsp xscale"
PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} xscale xscalet xscalee xscalete"
AVAILTUNES += "xscale-be"
ARMPKGARCH_tune-xscale-be = "xscale"
-TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-armv5teb} xscale bigendian"
+# mcpu is used so don't use armv5te as we don't want march
+TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-xscale} bigendian"
PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb"
diff --git a/poky/meta/conf/machine/include/x86-base.inc b/poky/meta/conf/machine/include/x86-base.inc
index c29279209..686f93823 100644
--- a/poky/meta/conf/machine/include/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "4.18%"
+PREFERRED_VERSION_linux-yocto ??= "5.0%"
#
# XSERVER subcomponents, used to build the XSERVER variable
diff --git a/poky/meta/conf/machine/qemuarm.conf b/poky/meta/conf/machine/qemuarm.conf
index d2f2c85c3..0a2c99531 100644
--- a/poky/meta/conf/machine/qemuarm.conf
+++ b/poky/meta/conf/machine/qemuarm.conf
@@ -1,20 +1,33 @@
#@TYPE: Machine
-#@NAME: arm_versatile_926ejs
-#@DESCRIPTION: arm_versatile_926ejs
+#@NAME: QEMU Arm Cortex-A15 machine
+#@DESCRIPTION: Machine configuration for running an ARMv7 system on QEMU
+require conf/machine/include/tune-cortexa15.inc
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-arm926ejs.inc
-#require conf/machine/include/tune-arm1136jf-s.inc
KERNEL_IMAGETYPE = "zImage"
-SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
+SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-arm"
-QB_MACHINE = "-machine versatilepb"
-QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
-# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
-QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet -device virtio-rng-pci"
-PREFERRED_VERSION_linux-yocto ??= "4.18%"
-QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
+QB_MEM = "-m 512"
+QB_MACHINE = "-machine virt"
+QB_CPU = "-cpu cortex-a15"
+# Standard Serial console
+QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
+# For graphics to work we need to define the VGA device as well as the necessary USB devices
+QB_OPT_APPEND = "-show-cursor -device VGA,edid=on"
+QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd"
+# Add the virtio RNG
+QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
+# Virtio Networking support
+QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
+QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
+# Virtio block device
+QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
+# Virtio serial console
+QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
+QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
+
+KMACHINE_qemuarm = "qemuarma15"
diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf
index 242889ac8..5c8aac151 100644
--- a/poky/meta/conf/machine/qemuarm64.conf
+++ b/poky/meta/conf/machine/qemuarm64.conf
@@ -1,24 +1,31 @@
#@TYPE: Machine
-#@NAME: generic armv8 machine
-#@DESCRIPTION: Machine configuration for running a generic armv8
+#@NAME: QEMU ARMv8 machine
+#@DESCRIPTION: Machine configuration for running an ARMv8 system on QEMU
-require conf/machine/include/arm/arch-armv8.inc
+require conf/machine/include/arm/arch-armv8a.inc
require conf/machine/include/qemu.inc
KERNEL_IMAGETYPE = "Image"
-SERIAL_CONSOLES ?= "38400;ttyAMA0 38400;hvc0"
+SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-aarch64"
QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a57"
-QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,38400"
+# Standard Serial console
+QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
+# For graphics to work we need to define the VGA device as well as the necessary USB devices
+QB_OPT_APPEND = "-show-cursor -device VGA,edid=on"
+QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
-QB_OPT_APPEND = "-show-cursor -device virtio-rng-pci -monitor null"
+QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
+# Virtio Networking support
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
+# Virtio block device
QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
+# Virtio serial console
QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
-QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
+QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf
new file mode 100644
index 000000000..1c21d3342
--- /dev/null
+++ b/poky/meta/conf/machine/qemuarmv5.conf
@@ -0,0 +1,23 @@
+#@TYPE: Machine
+#@NAME: QEMU ARM9 machine
+#@DESCRIPTION: Machine configuration for running an ARMv5 system on QEMU
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/tune-arm926ejs.inc
+#require conf/machine/include/tune-arm1136jf-s.inc
+
+KERNEL_IMAGETYPE = "zImage"
+
+SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
+
+# For runqemu
+QB_SYSTEM_NAME = "qemu-system-arm"
+QB_MACHINE = "-machine versatilepb"
+QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
+QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
+# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
+QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
+PREFERRED_VERSION_linux-yocto ??= "5.0%"
+QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
+
+KMACHINE_qemuarmv5 = "qemuarm"
diff --git a/poky/meta/conf/machine/qemumips.conf b/poky/meta/conf/machine/qemumips.conf
index a60f67aa8..48d9f41d9 100644
--- a/poky/meta/conf/machine/qemumips.conf
+++ b/poky/meta/conf/machine/qemumips.conf
@@ -1,6 +1,6 @@
#@TYPE: Machine
-#@NAME: mti_malta32_be MIPS
-#@DESCRIPTION: mti_malta32_be
+#@NAME: QEMU MIPS32 machine
+#@DESCRIPTION: Machine configuration for running a MIPS system on QEMU
require conf/machine/include/qemu.inc
require conf/machine/include/tune-mips32r2.inc
diff --git a/poky/meta/conf/machine/qemumips64.conf b/poky/meta/conf/machine/qemumips64.conf
index a166a1031..1872e7b62 100644
--- a/poky/meta/conf/machine/qemumips64.conf
+++ b/poky/meta/conf/machine/qemumips64.conf
@@ -1,11 +1,13 @@
#@TYPE: Machine
-#@NAME: mti-malta64-be MIPS64
-#@DESCRIPTION: mti-malta64-be
+#@NAME: QEMU MIPS64 machine
+#@DESCRIPTION: Machine configuration for running a MIPS64 system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-mips64.inc
+require conf/machine/include/tune-mips64r2.inc
require conf/machine/include/qemuboot-mips.inc
+QB_CPU = "-cpu MIPS64R2-generic"
+
KERNEL_IMAGETYPE = "vmlinux"
KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
diff --git a/poky/meta/conf/machine/qemuppc.conf b/poky/meta/conf/machine/qemuppc.conf
index 537b2f677..bd88eeb12 100644
--- a/poky/meta/conf/machine/qemuppc.conf
+++ b/poky/meta/conf/machine/qemuppc.conf
@@ -1,6 +1,6 @@
#@TYPE: Machine
-#@NAME: qemu PPC Emulator setup
-#@DESCRIPTION: Machine configuration for running an PPC system under qemu emulation
+#@NAME: QEMU PPC machine
+#@DESCRIPTION: Machine configuration for running a PPC system on QEMU
require conf/machine/include/qemu.inc
require conf/machine/include/tune-ppc7400.inc
@@ -16,6 +16,7 @@ QB_SYSTEM_NAME = "qemu-system-ppc"
QB_MACHINE = "-machine mac99"
QB_CPU = "-cpu G4"
QB_KERNEL_CMDLINE_APPEND = "console=tty console=ttyS0"
+QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
-QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet -device virtio-rng-pci"
+QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
diff --git a/poky/meta/conf/machine/qemux86-64.conf b/poky/meta/conf/machine/qemux86-64.conf
index 9966d1a04..383e3bd6f 100644
--- a/poky/meta/conf/machine/qemux86-64.conf
+++ b/poky/meta/conf/machine/qemux86-64.conf
@@ -1,6 +1,6 @@
#@TYPE: Machine
-#@NAME: common_pc
-#@DESCRIPTION: Machine configuration for running a common x86
+#@NAME: QEMU x86-64 machine
+#@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf
index e78fb6e87..ae5187cbd 100644
--- a/poky/meta/conf/machine/qemux86.conf
+++ b/poky/meta/conf/machine/qemux86.conf
@@ -1,6 +1,6 @@
#@TYPE: Machine
-#@NAME: common_pc
-#@DESCRIPTION: Machine configuration for running a common x86
+#@NAME: QEMU x86 machine
+#@DESCRIPTION: Machine configuration for running an x86 system on QEMU
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
diff --git a/meta-openembedded/meta-oe/licenses/vim b/poky/meta/files/common-licenses/vim
index 4aa818eb2..4aa818eb2 100644
--- a/meta-openembedded/meta-oe/licenses/vim
+++ b/poky/meta/files/common-licenses/vim
diff --git a/poky/meta/files/toolchain-shar-extract.sh b/poky/meta/files/toolchain-shar-extract.sh
index 9eabd6263..156085b50 100644
--- a/poky/meta/files/toolchain-shar-extract.sh
+++ b/poky/meta/files/toolchain-shar-extract.sh
@@ -185,11 +185,11 @@ fi
if [ -e "$target_sdk_dir/environment-setup-@REAL_MULTIMACH_TARGET_SYS@" ]; then
echo "The directory \"$target_sdk_dir\" already contains a SDK for this architecture."
- printf "If you continue, existing files will be overwritten! Proceed[y/N]? "
+ printf "If you continue, existing files will be overwritten! Proceed [y/N]? "
default_answer="n"
else
- printf "You are about to install the SDK to \"$target_sdk_dir\". Proceed[Y/n]? "
+ printf "You are about to install the SDK to \"$target_sdk_dir\". Proceed [Y/n]? "
default_answer="y"
fi
diff --git a/poky/meta/lib/oe/classextend.py b/poky/meta/lib/oe/classextend.py
index d2eeaf0e5..662707b85 100644
--- a/poky/meta/lib/oe/classextend.py
+++ b/poky/meta/lib/oe/classextend.py
@@ -114,7 +114,7 @@ class NativesdkClassExtender(ClassExtender):
def map_depends(self, dep):
if dep.startswith(self.extname):
return dep
- if dep.endswith(("-gcc-initial", "-gcc", "-g++")):
+ if dep.endswith(("-gcc", "-g++")):
return dep + "-crosssdk"
elif dep.endswith(("-native", "-native-runtime")) or ('nativesdk-' in dep) or ('-cross-' in dep) or ('-crosssdk-' in dep):
return dep
diff --git a/poky/meta/lib/oe/elf.py b/poky/meta/lib/oe/elf.py
index 0ed59ae05..4cc9a9a09 100644
--- a/poky/meta/lib/oe/elf.py
+++ b/poky/meta/lib/oe/elf.py
@@ -63,6 +63,7 @@ def machine_dict(d):
"arm" : ( 40, 97, 0, True, 32),
"armeb": ( 40, 97, 0, False, 32),
"powerpc": ( 20, 0, 0, False, 32),
+ "powerpc64": ( 21, 0, 0, False, 64),
"i386": ( 3, 0, 0, True, 32),
"i486": ( 3, 0, 0, True, 32),
"i586": ( 3, 0, 0, True, 32),
diff --git a/poky/meta/lib/oe/license.py b/poky/meta/lib/oe/license.py
index ca385d518..04f5b316a 100644
--- a/poky/meta/lib/oe/license.py
+++ b/poky/meta/lib/oe/license.py
@@ -13,8 +13,8 @@ def license_ok(license, dont_want_licenses):
# will exclude a trailing '+' character from LICENSE in
# case INCOMPATIBLE_LICENSE is not a 'X+' license.
lic = license
- if not re.search('\+$', dwl):
- lic = re.sub('\+', '', license)
+ if not re.search(r'\+$', dwl):
+ lic = re.sub(r'\+', '', license)
if fnmatch(lic, dwl):
return False
return True
@@ -40,8 +40,8 @@ class InvalidLicense(LicenseError):
return "invalid characters in license '%s'" % self.license
license_operator_chars = '&|() '
-license_operator = re.compile('([' + license_operator_chars + '])')
-license_pattern = re.compile('[a-zA-Z0-9.+_\-]+$')
+license_operator = re.compile(r'([' + license_operator_chars + '])')
+license_pattern = re.compile(r'[a-zA-Z0-9.+_\-]+$')
class LicenseVisitor(ast.NodeVisitor):
"""Get elements based on OpenEmbedded license strings"""
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index efd36b375..6e83f01f1 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -255,7 +255,7 @@ def read_shlib_providers(d):
shlib_provider = {}
shlibs_dirs = d.getVar('SHLIBSDIRS').split()
- list_re = re.compile('^(.*)\.list$')
+ list_re = re.compile(r'^(.*)\.list$')
# Go from least to most specific since the last one found wins
for dir in reversed(shlibs_dirs):
bb.debug(2, "Reading shlib providers in %s" % (dir))
diff --git a/poky/meta/lib/oe/package_manager.py b/poky/meta/lib/oe/package_manager.py
index 882e7c429..2835c1ddf 100644
--- a/poky/meta/lib/oe/package_manager.py
+++ b/poky/meta/lib/oe/package_manager.py
@@ -29,7 +29,7 @@ def opkg_query(cmd_output):
a dictionary with the information of the packages. This is used
when the packages are in deb or ipk format.
"""
- verregex = re.compile(' \([=<>]* [^ )]*\)')
+ verregex = re.compile(r' \([=<>]* [^ )]*\)')
output = dict()
pkg = ""
arch = ""
@@ -94,6 +94,8 @@ def generate_locale_archive(d, rootfs, target_arch, localedir):
# Pretty sure we don't need this for locale archive generation but
# keeping it to be safe...
locale_arch_options = { \
+ "arc": ["--uint32-align=4", "--little-endian"],
+ "arceb": ["--uint32-align=4", "--big-endian"],
"arm": ["--uint32-align=4", "--little-endian"],
"armeb": ["--uint32-align=4", "--big-endian"],
"aarch64": ["--uint32-align=4", "--little-endian"],
@@ -250,8 +252,8 @@ class DpkgIndexer(Indexer):
with open(os.path.join(self.d.expand("${STAGING_ETCDIR_NATIVE}"),
"apt", "apt.conf.sample")) as apt_conf_sample:
for line in apt_conf_sample.read().split("\n"):
- line = re.sub("#ROOTFS#", "/dev/null", line)
- line = re.sub("#APTCONF#", self.apt_conf_dir, line)
+ line = re.sub(r"#ROOTFS#", "/dev/null", line)
+ line = re.sub(r"#APTCONF#", self.apt_conf_dir, line)
apt_conf.write(line + "\n")
def write_index(self):
@@ -318,7 +320,7 @@ class PkgsList(object, metaclass=ABCMeta):
class RpmPkgsList(PkgsList):
def list_pkgs(self):
- return RpmPM(self.d, self.rootfs_dir, self.d.getVar('TARGET_VENDOR')).list_installed()
+ return RpmPM(self.d, self.rootfs_dir, self.d.getVar('TARGET_VENDOR'), needfeed=False).list_installed()
class OpkgPkgsList(PkgsList):
def __init__(self, d, rootfs_dir, config_file):
@@ -406,7 +408,7 @@ class PackageManager(object, metaclass=ABCMeta):
with open(postinst_intercept_hook) as intercept:
registered_pkgs = None
for line in intercept.read().split("\n"):
- m = re.match("^##PKGS:(.*)", line)
+ m = re.match(r"^##PKGS:(.*)", line)
if m is not None:
registered_pkgs = m.group(1).strip()
break
@@ -437,6 +439,11 @@ class PackageManager(object, metaclass=ABCMeta):
self._postpone_to_first_boot(script_full)
continue
+ if populate_sdk == 'host' and self.d.getVar('SDK_OS') == 'mingw32':
+ bb.note("The postinstall intercept hook '%s' could not be executed due to missing wine support, details in %s/log.do_%s"
+ % (script, self.d.getVar('T'), self.d.getVar('BB_CURRENTTASK')))
+ continue
+
bb.note("> Executing %s intercept ..." % script)
try:
@@ -445,10 +452,10 @@ class PackageManager(object, metaclass=ABCMeta):
except subprocess.CalledProcessError as e:
bb.note("Exit code %d. Output:\n%s" % (e.returncode, e.output.decode("utf-8")))
if populate_sdk == 'host':
- bb.warn("The postinstall intercept hook '%s' failed, details in %s/log.do_%s" % (script, self.d.getVar('T'), self.d.getVar('BB_CURRENTTASK')))
+ bb.fatal("The postinstall intercept hook '%s' failed, details in %s/log.do_%s" % (script, self.d.getVar('T'), self.d.getVar('BB_CURRENTTASK')))
elif populate_sdk == 'target':
if "qemuwrapper: qemu usermode is not supported" in e.output.decode("utf-8"):
- bb.warn("The postinstall intercept hook '%s' could not be executed due to missing qemu usermode support, details in %s/log.do_%s"
+ bb.note("The postinstall intercept hook '%s' could not be executed due to missing qemu usermode support, details in %s/log.do_%s"
% (script, self.d.getVar('T'), self.d.getVar('BB_CURRENTTASK')))
else:
bb.fatal("The postinstall intercept hook '%s' failed, details in %s/log.do_%s" % (script, self.d.getVar('T'), self.d.getVar('BB_CURRENTTASK')))
@@ -722,7 +729,8 @@ class RpmPM(PackageManager):
arch_var=None,
os_var=None,
rpm_repo_workdir="oe-rootfs-repo",
- filterbydependencies=True):
+ filterbydependencies=True,
+ needfeed=True):
super(RpmPM, self).__init__(d, target_rootfs)
self.target_vendor = target_vendor
self.task_name = task_name
@@ -735,8 +743,9 @@ class RpmPM(PackageManager):
else:
self.primary_arch = self.d.getVar('MACHINE_ARCH')
- self.rpm_repo_dir = oe.path.join(self.d.getVar('WORKDIR'), rpm_repo_workdir)
- create_packages_dir(self.d, oe.path.join(self.rpm_repo_dir, "rpm"), d.getVar("DEPLOY_DIR_RPM"), "package_write_rpm", filterbydependencies)
+ if needfeed:
+ self.rpm_repo_dir = oe.path.join(self.d.getVar('WORKDIR'), rpm_repo_workdir)
+ create_packages_dir(self.d, oe.path.join(self.rpm_repo_dir, "rpm"), d.getVar("DEPLOY_DIR_RPM"), "package_write_rpm", filterbydependencies)
self.saved_packaging_data = self.d.expand('${T}/saved_packaging_data/%s' % self.task_name)
if not os.path.exists(self.d.expand('${T}/saved_packaging_data')):
@@ -860,7 +869,7 @@ class RpmPM(PackageManager):
failed_scriptlets_pkgnames = collections.OrderedDict()
for line in output.splitlines():
- if line.startswith("Non-fatal POSTIN scriptlet failure in rpm package"):
+ if line.startswith("Error in POSTIN scriptlet in rpm package"):
failed_scriptlets_pkgnames[line.split()[-1]] = True
if len(failed_scriptlets_pkgnames) > 0:
@@ -962,13 +971,14 @@ class RpmPM(PackageManager):
os.environ['RPM_ETCCONFIGDIR'] = self.target_rootfs
dnf_cmd = bb.utils.which(os.getenv('PATH'), "dnf")
- standard_dnf_args = ["-v", "--rpmverbosity=debug", "-y",
+ standard_dnf_args = ["-v", "--rpmverbosity=info", "-y",
"-c", oe.path.join(self.target_rootfs, "etc/dnf/dnf.conf"),
"--setopt=reposdir=%s" %(oe.path.join(self.target_rootfs, "etc/yum.repos.d")),
- "--repofrompath=oe-repo,%s" % (self.rpm_repo_dir),
"--installroot=%s" % (self.target_rootfs),
"--setopt=logdir=%s" % (self.d.getVar('T'))
]
+ if hasattr(self, "rpm_repo_dir"):
+ standard_dnf_args.append("--repofrompath=oe-repo,%s" % (self.rpm_repo_dir))
cmd = [dnf_cmd] + standard_dnf_args + dnf_args
bb.note('Running %s' % ' '.join(cmd))
try:
@@ -1108,10 +1118,7 @@ class OpkgDpkgPM(PackageManager):
tmp_dir = tempfile.mkdtemp()
current_dir = os.getcwd()
os.chdir(tmp_dir)
- if self.d.getVar('IMAGE_PKGTYPE') == 'deb':
- data_tar = 'data.tar.xz'
- else:
- data_tar = 'data.tar.gz'
+ data_tar = 'data.tar.xz'
try:
cmd = [ar_cmd, 'x', pkg_path]
@@ -1212,7 +1219,7 @@ class OpkgPM(OpkgDpkgPM):
priority += 5
for line in (self.d.getVar('IPK_FEED_URIS') or "").split():
- feed_match = re.match("^[ \t]*(.*)##([^ \t]*)[ \t]*$", line)
+ feed_match = re.match(r"^[ \t]*(.*)##([^ \t]*)[ \t]*$", line)
if feed_match is not None:
feed_name = feed_match.group(1)
@@ -1329,6 +1336,8 @@ class OpkgPM(OpkgDpkgPM):
cmd = "%s %s" % (self.opkg_cmd, self.opkg_args)
for exclude in (self.d.getVar("PACKAGE_EXCLUDE") or "").split():
cmd += " --add-exclude %s" % exclude
+ for bad_recommendation in (self.d.getVar("BAD_RECOMMENDATIONS") or "").split():
+ cmd += " --add-ignore-recommends %s" % bad_recommendation
cmd += " install "
cmd += " ".join(pkgs)
@@ -1397,45 +1406,6 @@ class OpkgPM(OpkgDpkgPM):
def list_installed(self):
return OpkgPkgsList(self.d, self.target_rootfs, self.config_file).list_pkgs()
- def handle_bad_recommendations(self):
- bad_recommendations = self.d.getVar("BAD_RECOMMENDATIONS") or ""
- if bad_recommendations.strip() == "":
- return
-
- status_file = os.path.join(self.opkg_dir, "status")
-
- # If status file existed, it means the bad recommendations has already
- # been handled
- if os.path.exists(status_file):
- return
-
- cmd = "%s %s info " % (self.opkg_cmd, self.opkg_args)
-
- with open(status_file, "w+") as status:
- for pkg in bad_recommendations.split():
- pkg_info = cmd + pkg
-
- try:
- output = subprocess.check_output(pkg_info.split(), stderr=subprocess.STDOUT).strip().decode("utf-8")
- except subprocess.CalledProcessError as e:
- bb.fatal("Cannot get package info. Command '%s' "
- "returned %d:\n%s" % (pkg_info, e.returncode, e.output.decode("utf-8")))
-
- if output == "":
- bb.note("Ignored bad recommendation: '%s' is "
- "not a package" % pkg)
- continue
-
- for line in output.split('\n'):
- if line.startswith("Status:"):
- status.write("Status: deinstall hold not-installed\n")
- else:
- status.write(line + "\n")
-
- # Append a blank line after each package entry to ensure that it
- # is separated from the following entry
- status.write("\n")
-
def dummy_install(self, pkgs):
"""
The following function dummy installs pkgs and returns the log of output.
@@ -1520,7 +1490,7 @@ class OpkgPM(OpkgDpkgPM):
"trying to extract the package." % pkg)
tmp_dir = super(OpkgPM, self).extract(pkg, pkg_info)
- bb.utils.remove(os.path.join(tmp_dir, "data.tar.gz"))
+ bb.utils.remove(os.path.join(tmp_dir, "data.tar.xz"))
return tmp_dir
@@ -1592,7 +1562,7 @@ class DpkgPM(OpkgDpkgPM):
with open(status_file, "r") as status:
for line in status.read().split('\n'):
- m = re.match("^Package: (.*)", line)
+ m = re.match(r"^Package: (.*)", line)
if m is not None:
installed_pkgs.append(m.group(1))
@@ -1657,13 +1627,13 @@ class DpkgPM(OpkgDpkgPM):
# rename *.dpkg-new files/dirs
for root, dirs, files in os.walk(self.target_rootfs):
for dir in dirs:
- new_dir = re.sub("\.dpkg-new", "", dir)
+ new_dir = re.sub(r"\.dpkg-new", "", dir)
if dir != new_dir:
os.rename(os.path.join(root, dir),
os.path.join(root, new_dir))
for file in files:
- new_file = re.sub("\.dpkg-new", "", file)
+ new_file = re.sub(r"\.dpkg-new", "", file)
if file != new_file:
os.rename(os.path.join(root, file),
os.path.join(root, new_file))
@@ -1728,7 +1698,7 @@ class DpkgPM(OpkgDpkgPM):
sources_file.write("deb %s ./\n" % uri)
def _create_configs(self, archs, base_archs):
- base_archs = re.sub("_", "-", base_archs)
+ base_archs = re.sub(r"_", r"-", base_archs)
if os.path.exists(self.apt_conf_dir):
bb.utils.remove(self.apt_conf_dir, True)
@@ -1782,7 +1752,7 @@ class DpkgPM(OpkgDpkgPM):
with open(self.apt_conf_file, "w+") as apt_conf:
with open(self.d.expand("${STAGING_ETCDIR_NATIVE}/apt/apt.conf.sample")) as apt_conf_sample:
for line in apt_conf_sample.read().split("\n"):
- match_arch = re.match(" Architecture \".*\";$", line)
+ match_arch = re.match(r" Architecture \".*\";$", line)
architectures = ""
if match_arch:
for base_arch in base_arch_list:
@@ -1790,8 +1760,8 @@ class DpkgPM(OpkgDpkgPM):
apt_conf.write(" Architectures {%s};\n" % architectures);
apt_conf.write(" Architecture \"%s\";\n" % base_archs)
else:
- line = re.sub("#ROOTFS#", self.target_rootfs, line)
- line = re.sub("#APTCONF#", self.apt_conf_dir, line)
+ line = re.sub(r"#ROOTFS#", self.target_rootfs, line)
+ line = re.sub(r"#APTCONF#", self.apt_conf_dir, line)
apt_conf.write(line + "\n")
target_dpkg_dir = "%s/var/lib/dpkg" % self.target_rootfs
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index e0f060425..7dd31d9d4 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -334,8 +334,8 @@ class GitApplyTree(PatchTree):
@staticmethod
def interpretPatchHeader(headerlines):
import re
- author_re = re.compile('[\S ]+ <\S+@\S+\.\S+>')
- from_commit_re = re.compile('^From [a-z0-9]{40} .*')
+ author_re = re.compile(r'[\S ]+ <\S+@\S+\.\S+>')
+ from_commit_re = re.compile(r'^From [a-z0-9]{40} .*')
outlines = []
author = None
date = None
@@ -790,9 +790,11 @@ class UserResolver(Resolver):
def patch_path(url, fetch, workdir, expand=True):
- """Return the local path of a patch, or None if this isn't a patch"""
+ """Return the local path of a patch, or return nothing if this isn't a patch"""
local = fetch.localpath(url)
+ if os.path.isdir(local):
+ return
base, ext = os.path.splitext(os.path.basename(local))
if ext in ('.gz', '.bz2', '.xz', '.Z'):
if expand:
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index aa64553c0..4ca200d83 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -16,40 +16,40 @@ import shutil
import re
import fnmatch
import glob
-from collections import OrderedDict, defaultdict
+import bb.tinfoil
+from collections import OrderedDict, defaultdict
+from bb.utils import vercmp_string
# Help us to find places to insert values
recipe_progression = ['SUMMARY', 'DESCRIPTION', 'HOMEPAGE', 'BUGTRACKER', 'SECTION', 'LICENSE', 'LICENSE_FLAGS', 'LIC_FILES_CHKSUM', 'PROVIDES', 'DEPENDS', 'PR', 'PV', 'SRCREV', 'SRCPV', 'SRC_URI', 'S', 'do_fetch()', 'do_unpack()', 'do_patch()', 'EXTRA_OECONF', 'EXTRA_OECMAKE', 'EXTRA_OESCONS', 'do_configure()', 'EXTRA_OEMAKE', 'do_compile()', 'do_install()', 'do_populate_sysroot()', 'INITSCRIPT', 'USERADD', 'GROUPADD', 'PACKAGES', 'FILES', 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RPROVIDES', 'RREPLACES', 'RCONFLICTS', 'ALLOW_EMPTY', 'populate_packages()', 'do_package()', 'do_deploy()']
# Variables that sometimes are a bit long but shouldn't be wrapped
-nowrap_vars = ['SUMMARY', 'HOMEPAGE', 'BUGTRACKER', 'SRC_URI\[(.+\.)?md5sum\]', 'SRC_URI\[(.+\.)?sha256sum\]']
+nowrap_vars = ['SUMMARY', 'HOMEPAGE', 'BUGTRACKER', r'SRC_URI\[(.+\.)?md5sum\]', r'SRC_URI\[(.+\.)?sha256sum\]']
list_vars = ['SRC_URI', 'LIC_FILES_CHKSUM']
meta_vars = ['SUMMARY', 'DESCRIPTION', 'HOMEPAGE', 'BUGTRACKER', 'SECTION']
-def pn_to_recipe(cooker, pn, mc=''):
- """Convert a recipe name (PN) to the path to the recipe file"""
-
- best = cooker.findBestProvider(pn, mc)
- return best[3]
-
-
-def get_unavailable_reasons(cooker, pn):
- """If a recipe could not be found, find out why if possible"""
- import bb.taskdata
- taskdata = bb.taskdata.TaskData(None, skiplist=cooker.skiplist)
- return taskdata.get_reasons(pn)
-
-
-def parse_recipe(cooker, fn, appendfiles):
+def simplify_history(history, d):
"""
- Parse an individual recipe file, optionally with a list of
- bbappend files.
+ Eliminate any irrelevant events from a variable history
"""
- import bb.cache
- parser = bb.cache.NoCache(cooker.databuilder)
- envdata = parser.loadDataFull(fn, appendfiles)
- return envdata
+ ret_history = []
+ has_set = False
+ # Go backwards through the history and remove any immediate operations
+ # before the most recent set
+ for event in reversed(history):
+ if 'flag' in event or not 'file' in event:
+ continue
+ if event['op'] == 'set':
+ if has_set:
+ continue
+ has_set = True
+ elif event['op'] in ('append', 'prepend', 'postdot', 'predot'):
+ # Reminder: "append" and "prepend" mean += and =+ respectively, NOT _append / _prepend
+ if has_set:
+ continue
+ ret_history.insert(0, event)
+ return ret_history
def get_var_files(fn, varlist, d):
@@ -58,11 +58,19 @@ def get_var_files(fn, varlist, d):
"""
varfiles = {}
for v in varlist:
- history = d.varhistory.variable(v)
files = []
- for event in history:
- if 'file' in event and not 'flag' in event:
- files.append(event['file'])
+ if '[' in v:
+ varsplit = v.split('[')
+ varflag = varsplit[1].split(']')[0]
+ history = d.varhistory.variable(varsplit[0])
+ for event in history:
+ if 'file' in event and event.get('flag', '') == varflag:
+ files.append(event['file'])
+ else:
+ history = d.varhistory.variable(v)
+ for event in history:
+ if 'file' in event and not 'flag' in event:
+ files.append(event['file'])
if files:
actualfile = files[-1]
else:
@@ -153,7 +161,7 @@ def patch_recipe_lines(fromlines, values, trailing_newline=True):
key = item[:-2]
else:
key = item
- restr = '%s(_[a-zA-Z0-9-_$(){}]+|\[[^\]]*\])?' % key
+ restr = r'%s(_[a-zA-Z0-9-_$(){}]+|\[[^\]]*\])?' % key
if item.endswith('()'):
recipe_progression_restrs.append(restr + '()')
else:
@@ -176,7 +184,14 @@ def patch_recipe_lines(fromlines, values, trailing_newline=True):
def outputvalue(name, lines, rewindcomments=False):
if values[name] is None:
return
- rawtext = '%s = "%s"%s' % (name, values[name], newline)
+ if isinstance(values[name], tuple):
+ op, value = values[name]
+ if op == '+=' and value.strip() == '':
+ return
+ else:
+ value = values[name]
+ op = '='
+ rawtext = '%s %s "%s"%s' % (name, op, value, newline)
addlines = []
nowrap = False
for nowrap_re in nowrap_vars_res:
@@ -186,10 +201,10 @@ def patch_recipe_lines(fromlines, values, trailing_newline=True):
if nowrap:
addlines.append(rawtext)
elif name in list_vars:
- splitvalue = split_var_value(values[name], assignment=False)
+ splitvalue = split_var_value(value, assignment=False)
if len(splitvalue) > 1:
linesplit = ' \\\n' + (' ' * (len(name) + 4))
- addlines.append('%s = "%s%s"%s' % (name, linesplit.join(splitvalue), linesplit, newline))
+ addlines.append('%s %s "%s%s"%s' % (name, op, linesplit.join(splitvalue), linesplit, newline))
else:
addlines.append(rawtext)
else:
@@ -321,12 +336,47 @@ def patch_recipe(d, fn, varvalues, patch=False, relpath='', redirect_output=None
"""Modify a list of variable values in the specified recipe. Handles inc files if
used by the recipe.
"""
+ overrides = d.getVar('OVERRIDES').split(':')
+ def override_applicable(hevent):
+ op = hevent['op']
+ if '[' in op:
+ opoverrides = op.split('[')[1].split(']')[0].split('_')
+ for opoverride in opoverrides:
+ if not opoverride in overrides:
+ return False
+ return True
+
varlist = varvalues.keys()
+ fn = os.path.abspath(fn)
varfiles = get_var_files(fn, varlist, d)
locs = localise_file_vars(fn, varfiles, varlist)
patches = []
for f,v in locs.items():
vals = {k: varvalues[k] for k in v}
+ f = os.path.abspath(f)
+ if f == fn:
+ extravals = {}
+ for var, value in vals.items():
+ if var in list_vars:
+ history = simplify_history(d.varhistory.variable(var), d)
+ recipe_set = False
+ for event in history:
+ if os.path.abspath(event['file']) == fn:
+ if event['op'] == 'set':
+ recipe_set = True
+ if not recipe_set:
+ for event in history:
+ if event['op'].startswith('_remove'):
+ continue
+ if not override_applicable(event):
+ continue
+ newvalue = value.replace(event['detail'], '')
+ if newvalue == value and os.path.abspath(event['file']) == fn and event['op'].startswith('_'):
+ op = event['op'].replace('[', '_').replace(']', '')
+ extravals[var + op] = None
+ value = newvalue
+ vals[var] = ('+=', value)
+ vals.update(extravals)
patchdata = patch_recipe_file(f, vals, patch, relpath, redirect_output)
if patch:
patches.append(patchdata)
@@ -432,7 +482,14 @@ def get_recipe_local_files(d, patches=False, archives=False):
unpack = fetch.ud[uri].parm.get('unpack', True)
if unpack:
continue
- ret[fname] = localpath
+ if os.path.isdir(localpath):
+ for root, dirs, files in os.walk(localpath):
+ for fname in files:
+ fileabspath = os.path.join(root,fname)
+ srcdir = os.path.dirname(localpath)
+ ret[os.path.relpath(fileabspath,srcdir)] = fileabspath
+ else:
+ ret[fname] = localpath
return ret
@@ -875,7 +932,7 @@ def get_recipe_pv_without_srcpv(pv, uri_type):
sfx = ''
if uri_type == 'git':
- git_regex = re.compile("(?P<pfx>v?)(?P<ver>[^\+]*)((?P<sfx>\+(git)?r?(AUTOINC\+))(?P<rev>.*))?")
+ git_regex = re.compile(r"(?P<pfx>v?)(?P<ver>[^\+]*)((?P<sfx>\+(git)?r?(AUTOINC\+))(?P<rev>.*))?")
m = git_regex.match(pv)
if m:
@@ -883,7 +940,7 @@ def get_recipe_pv_without_srcpv(pv, uri_type):
pfx = m.group('pfx')
sfx = m.group('sfx')
else:
- regex = re.compile("(?P<pfx>(v|r)?)(?P<ver>.*)")
+ regex = re.compile(r"(?P<pfx>(v|r)?)(?P<ver>.*)")
m = regex.match(pv)
if m:
pv = m.group('ver')
@@ -969,3 +1026,87 @@ def get_recipe_upstream_version(rd):
ru['datetime'] = datetime.now()
return ru
+
+def _get_recipe_upgrade_status(data):
+ uv = get_recipe_upstream_version(data)
+
+ pn = data.getVar('PN')
+ cur_ver = uv['current_version']
+
+ upstream_version_unknown = data.getVar('UPSTREAM_VERSION_UNKNOWN')
+ if not uv['version']:
+ status = "UNKNOWN" if upstream_version_unknown else "UNKNOWN_BROKEN"
+ else:
+ cmp = vercmp_string(uv['current_version'], uv['version'])
+ if cmp == -1:
+ status = "UPDATE" if not upstream_version_unknown else "KNOWN_BROKEN"
+ elif cmp == 0:
+ status = "MATCH" if not upstream_version_unknown else "KNOWN_BROKEN"
+ else:
+ status = "UNKNOWN" if upstream_version_unknown else "UNKNOWN_BROKEN"
+
+ next_ver = uv['version'] if uv['version'] else "N/A"
+ revision = uv['revision'] if uv['revision'] else "N/A"
+ maintainer = data.getVar('RECIPE_MAINTAINER')
+ no_upgrade_reason = data.getVar('RECIPE_NO_UPDATE_REASON')
+
+ return (pn, status, cur_ver, next_ver, maintainer, revision, no_upgrade_reason)
+
+def get_recipe_upgrade_status(recipes=None):
+ pkgs_list = []
+ data_copy_list = []
+ copy_vars = ('SRC_URI',
+ 'PV',
+ 'GITDIR',
+ 'DL_DIR',
+ 'PN',
+ 'CACHE',
+ 'PERSISTENT_DIR',
+ 'BB_URI_HEADREVS',
+ 'UPSTREAM_CHECK_COMMITS',
+ 'UPSTREAM_CHECK_GITTAGREGEX',
+ 'UPSTREAM_CHECK_REGEX',
+ 'UPSTREAM_CHECK_URI',
+ 'UPSTREAM_VERSION_UNKNOWN',
+ 'RECIPE_MAINTAINER',
+ 'RECIPE_NO_UPDATE_REASON',
+ 'RECIPE_UPSTREAM_VERSION',
+ 'RECIPE_UPSTREAM_DATE',
+ 'CHECK_DATE',
+ )
+
+ with bb.tinfoil.Tinfoil() as tinfoil:
+ tinfoil.prepare(config_only=False)
+
+ if not recipes:
+ recipes = tinfoil.all_recipe_files(variants=False)
+
+ for fn in recipes:
+ try:
+ if fn.startswith("/"):
+ data = tinfoil.parse_recipe_file(fn)
+ else:
+ data = tinfoil.parse_recipe(fn)
+ except bb.providers.NoProvider:
+ bb.note(" No provider for %s" % fn)
+ continue
+
+ unreliable = data.getVar('UPSTREAM_CHECK_UNRELIABLE')
+ if unreliable == "1":
+ bb.note(" Skip package %s as upstream check unreliable" % pn)
+ continue
+
+ data_copy = bb.data.init()
+ for var in copy_vars:
+ data_copy.setVar(var, data.getVar(var))
+ for k in data:
+ if k.startswith('SRCREV'):
+ data_copy.setVar(k, data.getVar(k))
+
+ data_copy_list.append(data_copy)
+
+ from concurrent.futures import ProcessPoolExecutor
+ with ProcessPoolExecutor(max_workers=utils.cpu_count()) as executor:
+ pkgs_list = executor.map(_get_recipe_upgrade_status, data_copy_list)
+
+ return pkgs_list
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index e5512d09e..b7c0b9c24 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -354,9 +354,9 @@ class Rootfs(object, metaclass=ABCMeta):
class RpmRootfs(Rootfs):
def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None):
super(RpmRootfs, self).__init__(d, progress_reporter, logcatcher)
- self.log_check_regex = '(unpacking of archive failed|Cannot find package'\
- '|exit 1|ERROR: |Error: |Error |ERROR '\
- '|Failed |Failed: |Failed$|Failed\(\d+\):)'
+ self.log_check_regex = r'(unpacking of archive failed|Cannot find package'\
+ r'|exit 1|ERROR: |Error: |Error |ERROR '\
+ r'|Failed |Failed: |Failed$|Failed\(\d+\):)'
self.manifest = RpmManifest(d, manifest_dir)
self.pm = RpmPM(d,
@@ -499,7 +499,7 @@ class DpkgOpkgRootfs(Rootfs):
pkg_depends_list = []
# filter version requirements like libc (>= 1.1)
for dep in pkg_depends.split(', '):
- m_dep = re.match("^(.*) \(.*\)$", dep)
+ m_dep = re.match(r"^(.*) \(.*\)$", dep)
if m_dep:
dep = m_dep.group(1)
pkg_depends_list.append(dep)
@@ -515,21 +515,33 @@ class DpkgOpkgRootfs(Rootfs):
data = status.read()
status.close()
for line in data.split('\n'):
- m_pkg = re.match("^Package: (.*)", line)
- m_status = re.match("^Status:.*unpacked", line)
- m_depends = re.match("^Depends: (.*)", line)
+ m_pkg = re.match(r"^Package: (.*)", line)
+ m_status = re.match(r"^Status:.*unpacked", line)
+ m_depends = re.match(r"^Depends: (.*)", line)
+ #Only one of m_pkg, m_status or m_depends is not None at time
+ #If m_pkg is not None, we started a new package
if m_pkg is not None:
- if pkg_name and pkg_status_match:
- pkgs[pkg_name] = _get_pkg_depends_list(pkg_depends)
-
+ #Get Package name
pkg_name = m_pkg.group(1)
+ #Make sure we reset other variables
pkg_status_match = False
pkg_depends = ""
elif m_status is not None:
+ #New status matched
pkg_status_match = True
elif m_depends is not None:
+ #New depends macthed
pkg_depends = m_depends.group(1)
+ else:
+ pass
+
+ #Now check if we can process package depends and postinst
+ if "" != pkg_name and pkg_status_match:
+ pkgs[pkg_name] = _get_pkg_depends_list(pkg_depends)
+ else:
+ #Not enough information
+ pass
# remove package dependencies not in postinsts
pkg_names = list(pkgs.keys())
@@ -735,15 +747,16 @@ class OpkgRootfs(DpkgOpkgRootfs):
if filecmp.cmp(f1, f2):
return True
- if self.image_rootfs not in f1:
- self._prelink_file(f1.replace(key, ''), f1)
+ if bb.data.inherits_class('image-prelink', self.d):
+ if self.image_rootfs not in f1:
+ self._prelink_file(f1.replace(key, ''), f1)
- if self.image_rootfs not in f2:
- self._prelink_file(f2.replace(key, ''), f2)
+ if self.image_rootfs not in f2:
+ self._prelink_file(f2.replace(key, ''), f2)
- # Both of them are prelinked
- if filecmp.cmp(f1, f2):
- return True
+ # Both of them are prelinked
+ if filecmp.cmp(f1, f2):
+ return True
# Not equal
return False
@@ -759,7 +772,7 @@ class OpkgRootfs(DpkgOpkgRootfs):
if allow_replace is None:
allow_replace = ""
- allow_rep = re.compile(re.sub("\|$", "", allow_replace))
+ allow_rep = re.compile(re.sub(r"\|$", r"", allow_replace))
error_prompt = "Multilib check error:"
files = {}
@@ -879,8 +892,6 @@ class OpkgRootfs(DpkgOpkgRootfs):
self.pm.update()
- self.pm.handle_bad_recommendations()
-
if self.progress_reporter:
self.progress_reporter.next_stage()
diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py
index 153b07d76..878ee1647 100644
--- a/poky/meta/lib/oe/sdk.py
+++ b/poky/meta/lib/oe/sdk.py
@@ -95,8 +95,8 @@ class Sdk(object, metaclass=ABCMeta):
if linguas == "all":
pm.install_glob("nativesdk-glibc-binary-localedata-*.utf-8", sdk=True)
else:
- for lang in linguas.split():
- pm.install("nativesdk-glibc-binary-localedata-%s.utf-8" % lang)
+ pm.install(["nativesdk-glibc-binary-localedata-%s.utf-8" % \
+ lang for lang in linguas.split()])
# Generate a locale archive of them
target_arch = self.d.getVar('SDK_ARCH')
rootfs = oe.path.join(self.sdk_host_sysroot, self.sdk_native_path)
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index 18c5a353a..a83af519e 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -263,10 +263,181 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
if error_msgs:
bb.fatal("\n".join(error_msgs))
+class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHash):
+ name = "OEEquivHash"
+
+ def init_rundepcheck(self, data):
+ super().init_rundepcheck(data)
+ self.server = data.getVar('SSTATE_HASHEQUIV_SERVER')
+ self.method = data.getVar('SSTATE_HASHEQUIV_METHOD')
+ self.unihashes = bb.persist_data.persist('SSTATESIG_UNIHASH_CACHE_v1_' + self.method.replace('.', '_'), data)
+
+ def get_taskdata(self):
+ return (self.server, self.method) + super().get_taskdata()
+
+ def set_taskdata(self, data):
+ self.server, self.method = data[:2]
+ super().set_taskdata(data[2:])
+
+ def __get_task_unihash_key(self, task):
+ # TODO: The key only *needs* to be the taskhash, the task is just
+ # convenient
+ return '%s:%s' % (task, self.taskhash[task])
+
+ def get_stampfile_hash(self, task):
+ if task in self.taskhash:
+ # If a unique hash is reported, use it as the stampfile hash. This
+ # ensures that if a task won't be re-run if the taskhash changes,
+ # but it would result in the same output hash
+ unihash = self.unihashes.get(self.__get_task_unihash_key(task))
+ if unihash is not None:
+ return unihash
+
+ return super().get_stampfile_hash(task)
+
+ def get_unihash(self, task):
+ import urllib
+ import json
+
+ taskhash = self.taskhash[task]
+
+ key = self.__get_task_unihash_key(task)
+
+ # TODO: This cache can grow unbounded. It probably only needs to keep
+ # for each task
+ unihash = self.unihashes.get(key)
+ if unihash is not None:
+ return unihash
+
+ # In the absence of being able to discover a unique hash from the
+ # server, make it be equivalent to the taskhash. The unique "hash" only
+ # really needs to be a unique string (not even necessarily a hash), but
+ # making it match the taskhash has a few advantages:
+ #
+ # 1) All of the sstate code that assumes hashes can be the same
+ # 2) It provides maximal compatibility with builders that don't use
+ # an equivalency server
+ # 3) The value is easy for multiple independent builders to derive the
+ # same unique hash from the same input. This means that if the
+ # independent builders find the same taskhash, but it isn't reported
+ # to the server, there is a better chance that they will agree on
+ # the unique hash.
+ unihash = taskhash
+
+ try:
+ url = '%s/v1/equivalent?%s' % (self.server,
+ urllib.parse.urlencode({'method': self.method, 'taskhash': self.taskhash[task]}))
+
+ request = urllib.request.Request(url)
+ response = urllib.request.urlopen(request)
+ data = response.read().decode('utf-8')
+
+ json_data = json.loads(data)
+
+ if json_data:
+ unihash = json_data['unihash']
+ # A unique hash equal to the taskhash is not very interesting,
+ # so it is reported it at debug level 2. If they differ, that
+ # is much more interesting, so it is reported at debug level 1
+ bb.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, task, self.server))
+ else:
+ bb.debug(2, 'No reported unihash for %s:%s from %s' % (task, taskhash, self.server))
+ except urllib.error.URLError as e:
+ bb.warn('Failure contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
+ except (KeyError, json.JSONDecodeError) as e:
+ bb.warn('Poorly formatted response from %s: %s' % (self.server, str(e)))
+
+ self.unihashes[key] = unihash
+ return unihash
+
+ def report_unihash(self, path, task, d):
+ import urllib
+ import json
+ import tempfile
+ import base64
+ import importlib
+
+ taskhash = d.getVar('BB_TASKHASH')
+ unihash = d.getVar('BB_UNIHASH')
+ report_taskdata = d.getVar('SSTATE_HASHEQUIV_REPORT_TASKDATA') == '1'
+ tempdir = d.getVar('T')
+ fn = d.getVar('BB_FILENAME')
+ key = fn + '.do_' + task + ':' + taskhash
+
+ # Sanity checks
+ cache_unihash = self.unihashes.get(key)
+ if cache_unihash is None:
+ bb.fatal('%s not in unihash cache. Please report this error' % key)
+
+ if cache_unihash != unihash:
+ bb.fatal("Cache unihash %s doesn't match BB_UNIHASH %s" % (cache_unihash, unihash))
+
+ sigfile = None
+ sigfile_name = "depsig.do_%s.%d" % (task, os.getpid())
+ sigfile_link = "depsig.do_%s" % task
+
+ try:
+ sigfile = open(os.path.join(tempdir, sigfile_name), 'w+b')
+
+ locs = {'path': path, 'sigfile': sigfile, 'task': task, 'd': d}
+
+ (module, method) = self.method.rsplit('.', 1)
+ locs['method'] = getattr(importlib.import_module(module), method)
+
+ outhash = bb.utils.better_eval('method(path, sigfile, task, d)', locs)
+
+ try:
+ url = '%s/v1/equivalent' % self.server
+ task_data = {
+ 'taskhash': taskhash,
+ 'method': self.method,
+ 'outhash': outhash,
+ 'unihash': unihash,
+ 'owner': d.getVar('SSTATE_HASHEQUIV_OWNER')
+ }
+
+ if report_taskdata:
+ sigfile.seek(0)
+
+ task_data['PN'] = d.getVar('PN')
+ task_data['PV'] = d.getVar('PV')
+ task_data['PR'] = d.getVar('PR')
+ task_data['task'] = task
+ task_data['outhash_siginfo'] = sigfile.read().decode('utf-8')
+
+ headers = {'content-type': 'application/json'}
+
+ request = urllib.request.Request(url, json.dumps(task_data).encode('utf-8'), headers)
+ response = urllib.request.urlopen(request)
+ data = response.read().decode('utf-8')
+
+ json_data = json.loads(data)
+ new_unihash = json_data['unihash']
+
+ if new_unihash != unihash:
+ bb.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
+ else:
+ bb.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
+ except urllib.error.URLError as e:
+ bb.warn('Failure contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
+ except (KeyError, json.JSONDecodeError) as e:
+ bb.warn('Poorly formatted response from %s: %s' % (self.server, str(e)))
+ finally:
+ if sigfile:
+ sigfile.close()
+
+ sigfile_link_path = os.path.join(tempdir, sigfile_link)
+ bb.utils.remove(sigfile_link_path)
+
+ try:
+ os.symlink(sigfile_name, sigfile_link_path)
+ except OSError:
+ pass
# Insert these classes into siggen's namespace so it can see and select them
bb.siggen.SignatureGeneratorOEBasic = SignatureGeneratorOEBasic
bb.siggen.SignatureGeneratorOEBasicHash = SignatureGeneratorOEBasicHash
+bb.siggen.SignatureGeneratorOEEquivHash = SignatureGeneratorOEEquivHash
def find_siginfo(pn, taskname, taskhashlist, d):
@@ -327,7 +498,7 @@ def find_siginfo(pn, taskname, taskhashlist, d):
if not taskhashlist or (len(filedates) < 2 and not foundall):
# That didn't work, look in sstate-cache
- hashes = taskhashlist or ['?' * 32]
+ hashes = taskhashlist or ['?' * 64]
localdata = bb.data.createCopy(d)
for hashval in hashes:
localdata.setVar('PACKAGE_ARCH', '*')
@@ -414,4 +585,133 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache):
bb.warn("Manifest %s not found in %s (variant '%s')?" % (manifest, d2.expand(" ".join(pkgarchs)), variant))
return None, d2
+def OEOuthashBasic(path, sigfile, task, d):
+ """
+ Basic output hash function
+
+ Calculates the output hash of a task by hashing all output file metadata,
+ and file contents.
+ """
+ import hashlib
+ import stat
+ import pwd
+ import grp
+
+ def update_hash(s):
+ s = s.encode('utf-8')
+ h.update(s)
+ if sigfile:
+ sigfile.write(s)
+
+ h = hashlib.sha256()
+ prev_dir = os.getcwd()
+ include_owners = os.environ.get('PSEUDO_DISABLED') == '0'
+
+ try:
+ os.chdir(path)
+
+ update_hash("OEOuthashBasic\n")
+
+ # It is only currently useful to get equivalent hashes for things that
+ # can be restored from sstate. Since the sstate object is named using
+ # SSTATE_PKGSPEC and the task name, those should be included in the
+ # output hash calculation.
+ update_hash("SSTATE_PKGSPEC=%s\n" % d.getVar('SSTATE_PKGSPEC'))
+ update_hash("task=%s\n" % task)
+
+ for root, dirs, files in os.walk('.', topdown=True):
+ # Sort directories to ensure consistent ordering when recursing
+ dirs.sort()
+ files.sort()
+
+ def process(path):
+ s = os.lstat(path)
+
+ if stat.S_ISDIR(s.st_mode):
+ update_hash('d')
+ elif stat.S_ISCHR(s.st_mode):
+ update_hash('c')
+ elif stat.S_ISBLK(s.st_mode):
+ update_hash('b')
+ elif stat.S_ISSOCK(s.st_mode):
+ update_hash('s')
+ elif stat.S_ISLNK(s.st_mode):
+ update_hash('l')
+ elif stat.S_ISFIFO(s.st_mode):
+ update_hash('p')
+ else:
+ update_hash('-')
+
+ def add_perm(mask, on, off='-'):
+ if mask & s.st_mode:
+ update_hash(on)
+ else:
+ update_hash(off)
+
+ add_perm(stat.S_IRUSR, 'r')
+ add_perm(stat.S_IWUSR, 'w')
+ if stat.S_ISUID & s.st_mode:
+ add_perm(stat.S_IXUSR, 's', 'S')
+ else:
+ add_perm(stat.S_IXUSR, 'x')
+
+ add_perm(stat.S_IRGRP, 'r')
+ add_perm(stat.S_IWGRP, 'w')
+ if stat.S_ISGID & s.st_mode:
+ add_perm(stat.S_IXGRP, 's', 'S')
+ else:
+ add_perm(stat.S_IXGRP, 'x')
+
+ add_perm(stat.S_IROTH, 'r')
+ add_perm(stat.S_IWOTH, 'w')
+ if stat.S_ISVTX & s.st_mode:
+ update_hash('t')
+ else:
+ add_perm(stat.S_IXOTH, 'x')
+
+ if include_owners:
+ update_hash(" %10s" % pwd.getpwuid(s.st_uid).pw_name)
+ update_hash(" %10s" % grp.getgrgid(s.st_gid).gr_name)
+
+ update_hash(" ")
+ if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode):
+ update_hash("%9s" % ("%d.%d" % (os.major(s.st_rdev), os.minor(s.st_rdev))))
+ else:
+ update_hash(" " * 9)
+
+ update_hash(" ")
+ if stat.S_ISREG(s.st_mode):
+ update_hash("%10d" % s.st_size)
+ else:
+ update_hash(" " * 10)
+
+ update_hash(" ")
+ fh = hashlib.sha256()
+ if stat.S_ISREG(s.st_mode):
+ # Hash file contents
+ with open(path, 'rb') as d:
+ for chunk in iter(lambda: d.read(4096), b""):
+ fh.update(chunk)
+ update_hash(fh.hexdigest())
+ else:
+ update_hash(" " * len(fh.hexdigest()))
+
+ update_hash(" %s" % path)
+
+ if stat.S_ISLNK(s.st_mode):
+ update_hash(" -> %s" % os.readlink(path))
+
+ update_hash("\n")
+
+ # Process this directory and all its child files
+ process(root)
+ for f in files:
+ if f == 'fixmepath':
+ continue
+ process(os.path.join(root, f))
+ finally:
+ os.chdir(prev_dir)
+
+ return h.hexdigest()
+
diff --git a/poky/meta/lib/oe/terminal.py b/poky/meta/lib/oe/terminal.py
index caeb5e31e..e4045559f 100644
--- a/poky/meta/lib/oe/terminal.py
+++ b/poky/meta/lib/oe/terminal.py
@@ -39,7 +39,7 @@ class Terminal(Popen, metaclass=Registry):
raise
def format_command(self, sh_cmd, title):
- fmt = {'title': title or 'Terminal', 'command': sh_cmd}
+ fmt = {'title': title or 'Terminal', 'command': sh_cmd, 'cwd': os.getcwd() }
if isinstance(self.command, str):
return shlex.split(self.command.format(**fmt))
else:
@@ -117,7 +117,7 @@ class Screen(Terminal):
class TmuxRunning(Terminal):
"""Open a new pane in the current running tmux window"""
name = 'tmux-running'
- command = 'tmux split-window "{command}"'
+ command = 'tmux split-window -c "{cwd}" "{command}"'
priority = 2.75
def __init__(self, sh_cmd, title=None, env=None, d=None):
@@ -135,7 +135,7 @@ class TmuxRunning(Terminal):
class TmuxNewWindow(Terminal):
"""Open a new window in the current running tmux session"""
name = 'tmux-new-window'
- command = 'tmux new-window -n "{title}" "{command}"'
+ command = 'tmux new-window -c "{cwd}" -n "{title}" "{command}"'
priority = 2.70
def __init__(self, sh_cmd, title=None, env=None, d=None):
@@ -149,7 +149,7 @@ class TmuxNewWindow(Terminal):
class Tmux(Terminal):
"""Start a new tmux session and window"""
- command = 'tmux new -d -s devshell -n devshell "{command}"'
+ command = 'tmux new -c "{cwd}" -d -s devshell -n devshell "{command}"'
priority = 0.75
def __init__(self, sh_cmd, title=None, env=None, d=None):
@@ -160,7 +160,7 @@ class Tmux(Terminal):
# devshells, if it's already there, add a new window to it.
window_name = 'devshell-%i' % os.getpid()
- self.command = 'tmux new -d -s {0} -n {0} "{{command}}"'.format(window_name)
+ self.command = 'tmux new -c "{{cwd}}" -d -s {0} -n {0} "{{command}}"'.format(window_name)
Terminal.__init__(self, sh_cmd, title, env, d)
attach_cmd = 'tmux att -t {0}'.format(window_name)
@@ -296,6 +296,8 @@ def check_terminal_version(terminalName):
vernum = ver.split(' ')[-1]
if ver.startswith('tmux'):
vernum = ver.split()[-1]
+ if ver.startswith('tmux next-'):
+ vernum = ver.split()[-1][5:]
return vernum
def distro_name():
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index 8a584d6dd..cedd053d3 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -214,7 +214,7 @@ def packages_filter_out_system(d):
PN-dbg PN-doc PN-locale-eb-gb removed.
"""
pn = d.getVar('PN')
- blacklist = [pn + suffix for suffix in ('', '-dbg', '-dev', '-doc', '-locale', '-staticdev')]
+ blacklist = [pn + suffix for suffix in ('', '-dbg', '-dev', '-doc', '-locale', '-staticdev', '-src')]
localepkg = pn + "-locale-"
pkgs = []
@@ -307,6 +307,10 @@ def multiprocess_launch(target, items, d, extraargs=None):
p.start()
launched.append(p)
for q in launched:
+ # Have to manually call update() to avoid deadlocks. The pipe can be full and
+ # transfer stalled until we try and read the results object but the subprocess won't exit
+ # as it still has data to write (https://bugs.python.org/issue8426)
+ q.update()
# The finished processes are joined when calling is_alive()
if not q.is_alive():
if q.exception:
@@ -326,7 +330,7 @@ def multiprocess_launch(target, items, d, extraargs=None):
def squashspaces(string):
import re
- return re.sub("\s+", " ", string).strip()
+ return re.sub(r"\s+", " ", string).strip()
def format_pkg_list(pkg_dict, ret_format=None):
output = []
@@ -363,14 +367,18 @@ def host_gcc_version(d, taskcontextonly=False):
return
compiler = d.getVar("BUILD_CC")
+ # Get rid of ccache since it is not present when parsing.
+ if compiler.startswith('ccache '):
+ compiler = compiler[7:]
try:
env = os.environ.copy()
env["PATH"] = d.getVar("PATH")
- output = subprocess.check_output("%s --version" % compiler, shell=True, env=env).decode("utf-8")
+ output = subprocess.check_output("%s --version" % compiler, \
+ shell=True, env=env, stderr=subprocess.STDOUT).decode("utf-8")
except subprocess.CalledProcessError as e:
bb.fatal("Error running %s --version: %s" % (compiler, e.output.decode("utf-8")))
- match = re.match(".* (\d\.\d)\.\d.*", output.split('\n')[0])
+ match = re.match(r".* (\d\.\d)\.\d.*", output.split('\n')[0])
if not match:
bb.fatal("Can't get compiler version from %s --version output" % compiler)
@@ -482,3 +490,6 @@ class ImageQAFailed(bb.build.FuncFailed):
return msg
+def sh_quote(string):
+ import shlex
+ return shlex.quote(string)
diff --git a/poky/meta/lib/oeqa/controllers/masterimage.py b/poky/meta/lib/oeqa/controllers/masterimage.py
index a2912fc56..f175e119d 100644
--- a/poky/meta/lib/oeqa/controllers/masterimage.py
+++ b/poky/meta/lib/oeqa/controllers/masterimage.py
@@ -197,43 +197,3 @@ class SystemdbootTarget(MasterImageHardwareTarget):
self.power_cycle(self.master)
# there are better ways than a timeout but this should work for now
time.sleep(120)
-
-
-class SystemdbootTarget(MasterImageHardwareTarget):
-
- def __init__(self, d):
- super(SystemdbootTarget, self).__init__(d)
- # this the value we need to set in the LoaderEntryOneShot EFI variable
- # so the system boots the 'test' bootloader label and not the default
- # The first four bytes are EFI bits, and the rest is an utf-16le string
- # (EFI vars values need to be utf-16)
- # $ echo -en "test\0" | iconv -f ascii -t utf-16le | hexdump -C
- # 00000000 74 00 65 00 73 00 74 00 00 00 |t.e.s.t...|
- self.efivarvalue = r'\x07\x00\x00\x00\x74\x00\x65\x00\x73\x00\x74\x00\x00\x00'
- self.deploy_cmds = [
- 'mount -L boot /boot',
- 'mkdir -p /mnt/testrootfs',
- 'mount -L testrootfs /mnt/testrootfs',
- 'modprobe efivarfs',
- 'mount -t efivarfs efivarfs /sys/firmware/efi/efivars',
- 'cp ~/test-kernel /boot',
- 'rm -rf /mnt/testrootfs/*',
- 'tar xvf ~/test-rootfs.%s -C /mnt/testrootfs' % self.image_fstype,
- 'printf "%s" > /sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f' % self.efivarvalue
- ]
-
- def _deploy(self):
- # make sure these aren't mounted
- self.master.run("umount /boot; umount /mnt/testrootfs; umount /sys/firmware/efi/efivars;")
- # from now on, every deploy cmd should return 0
- # else an exception will be thrown by sshcontrol
- self.master.ignore_status = False
- self.master.copy_to(self.rootfs, "~/test-rootfs." + self.image_fstype)
- self.master.copy_to(self.kernel, "~/test-kernel")
- for cmd in self.deploy_cmds:
- self.master.run(cmd)
-
- def _start(self, params=None):
- self.power_cycle(self.master)
- # there are better ways than a timeout but this should work for now
- time.sleep(120)
diff --git a/poky/meta/lib/oeqa/core/target/qemu.py b/poky/meta/lib/oeqa/core/target/qemu.py
index 538bf12b6..7a161a323 100644
--- a/poky/meta/lib/oeqa/core/target/qemu.py
+++ b/poky/meta/lib/oeqa/core/target/qemu.py
@@ -13,7 +13,7 @@ supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic']
class OEQemuTarget(OESSHTarget):
def __init__(self, logger, server_ip, timeout=300, user='root',
- port=None, machine='', rootfs='', kernel='', kvm=False,
+ port=None, machine='', rootfs='', kernel='', kvm=False, slirp=False,
dump_dir='', dump_host_cmds='', display='', bootlog='',
tmpdir='', dir_image='', boottime=60, **kwargs):
@@ -25,17 +25,33 @@ class OEQemuTarget(OESSHTarget):
self.rootfs = rootfs
self.kernel = kernel
self.kvm = kvm
+ self.use_slirp = slirp
self.runner = QemuRunner(machine=machine, rootfs=rootfs, tmpdir=tmpdir,
deploy_dir_image=dir_image, display=display,
logfile=bootlog, boottime=boottime,
- use_kvm=kvm, dump_dir=dump_dir,
+ use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir,
dump_host_cmds=dump_host_cmds, logger=logger)
- def start(self, params=None, extra_bootparams=None):
- if self.runner.start(params, extra_bootparams=extra_bootparams):
+ def start(self, params=None, extra_bootparams=None, runqemuparams=''):
+ if self.use_slirp and not self.server_ip:
+ self.logger.error("Could not start qemu with slirp without server ip - provide 'TEST_SERVER_IP'")
+ raise RuntimeError("FAILED to start qemu - check the task log and the boot log")
+ if self.runner.start(params, extra_bootparams=extra_bootparams, runqemuparams=runqemuparams):
self.ip = self.runner.ip
- self.server_ip = self.runner.server_ip
+ if self.use_slirp:
+ target_ip_port = self.runner.ip.split(':')
+ if len(target_ip_port) == 2:
+ target_ip = target_ip_port[0]
+ port = target_ip_port[1]
+ self.ip = target_ip
+ self.ssh = self.ssh + ['-p', port]
+ self.scp = self.scp + ['-P', port]
+ else:
+ self.logger.error("Could not get host machine port to connect qemu with slirp, ssh will not be "
+ "able to connect to qemu with slirp")
+ if self.runner.server_ip:
+ self.server_ip = self.runner.server_ip
else:
self.stop()
raise RuntimeError("FAILED to start qemu - check the task log and the boot log")
diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
index f050289e6..e050818f0 100644
--- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py
+++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -25,6 +25,7 @@ from itertools import cycle
from subunit import ProtocolTestCase, TestProtocolClient
from subunit.test_results import AutoTimingTestResultDecorator
from testtools import ThreadsafeForwardingResult, iterate_tests
+from oeqa.utils.commands import get_test_layer
import bb.utils
import oe.path
@@ -141,6 +142,9 @@ def removebuilddir(d):
def fork_for_tests(concurrency_num, suite):
result = []
+ if 'BUILDDIR' in os.environ:
+ selftestdir = get_test_layer()
+
test_blocks = partition_tests(suite, concurrency_num)
# Clear the tests from the original suite so it doesn't keep them alive
suite._tests[:] = []
@@ -166,7 +170,6 @@ def fork_for_tests(concurrency_num, suite):
if 'BUILDDIR' in os.environ:
builddir = os.environ['BUILDDIR']
newbuilddir = builddir + "-st-" + str(ourpid)
- selftestdir = os.path.abspath(builddir + "/../meta-selftest")
newselftestdir = newbuilddir + "/meta-selftest"
bb.utils.mkdirhier(newbuilddir)
diff --git a/poky/meta/lib/oeqa/manual/bsp-hw.json b/poky/meta/lib/oeqa/manual/bsp-hw.json
index a2b1d3e0b..4b7c76f70 100644
--- a/poky/meta/lib/oeqa/manual/bsp-hw.json
+++ b/poky/meta/lib/oeqa/manual/bsp-hw.json
@@ -1,7 +1,7 @@
[
{
"test": {
- "@alias": "bsps-hw.bsps-tools.rpm_-__install_dependency_package",
+ "@alias": "bsps-hw.bsps-hw.rpm_-__install_dependency_package",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -27,7 +27,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.boot_and_install_from_USB",
+ "@alias": "bsps-hw.bsps-hw.boot_and_install_from_USB",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -61,7 +61,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.live_boot_from_USB",
+ "@alias": "bsps-hw.bsps-hw.live_boot_from_USB",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -87,7 +87,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.boot_from_runlevel_3",
+ "@alias": "bsps-hw.bsps-hw.boot_from_runlevel_3",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -121,7 +121,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.boot_from_runlevel_5",
+ "@alias": "bsps-hw.bsps-hw.boot_from_runlevel_5",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -151,7 +151,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.shutdown_system",
+ "@alias": "bsps-hw.bsps-hw.shutdown_system",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -173,7 +173,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.reboot_system",
+ "@alias": "bsps-hw.bsps-hw.reboot_system",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -195,7 +195,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.switch_among_multi_applications_and_desktop",
+ "@alias": "bsps-hw.bsps-hw.switch_among_multi_applications_and_desktop",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -225,7 +225,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.USB_-_mount",
+ "@alias": "bsps-hw.bsps-hw.USB_-_mount",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -251,7 +251,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.USB_-_read_files",
+ "@alias": "bsps-hw.bsps-hw.USB_-_read_files",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -281,7 +281,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.USB_-_umount",
+ "@alias": "bsps-hw.bsps-hw.USB_-_umount",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -307,7 +307,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.USB_-_write_files",
+ "@alias": "bsps-hw.bsps-hw.USB_-_write_files",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -333,7 +333,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.ethernet_static_ip_set_in_connman",
+ "@alias": "bsps-hw.bsps-hw.ethernet_static_ip_set_in_connman",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -367,7 +367,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.ethernet_get_IP_in_connman_via_DHCP",
+ "@alias": "bsps-hw.bsps-hw.ethernet_get_IP_in_connman_via_DHCP",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -397,7 +397,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.connman_offline_mode_in_connman-gnome",
+ "@alias": "bsps-hw.bsps-hw.connman_offline_mode_in_connman-gnome",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -419,7 +419,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.X_server_can_start_up_with_runlevel_5_boot",
+ "@alias": "bsps-hw.bsps-hw.X_server_can_start_up_with_runlevel_5_boot",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -441,7 +441,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.standby",
+ "@alias": "bsps-hw.bsps-hw.standby",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -475,7 +475,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.check_CPU_utilization_after_standby",
+ "@alias": "bsps-hw.bsps-hw.check_CPU_utilization_after_standby",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -505,7 +505,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.Test_if_LAN_device_works_well_after_resume_from_suspend_state",
+ "@alias": "bsps-hw.bsps-hw.Test_if_LAN_device_works_well_after_resume_from_suspend_state",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -535,7 +535,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.Test_if_usb_hid_device_works_well_after_resume_from_suspend_state",
+ "@alias": "bsps-hw.bsps-hw.Test_if_usb_hid_device_works_well_after_resume_from_suspend_state",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -565,7 +565,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.click_terminal_icon_on_X_desktop",
+ "@alias": "bsps-hw.bsps-hw.click_terminal_icon_on_X_desktop",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -587,7 +587,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.Add_multiple_files_in_media_player",
+ "@alias": "bsps-hw.bsps-hw.Add_multiple_files_in_media_player",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -613,7 +613,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.check_bash_in_image",
+ "@alias": "bsps-hw.bsps-hw.check_bash_in_image",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -631,7 +631,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.MicroSD_-__mount",
+ "@alias": "bsps-hw.bsps-hw.MicroSD_-__mount",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -653,7 +653,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.MicroSD_-__read_files",
+ "@alias": "bsps-hw.bsps-hw.MicroSD_-__read_files",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -683,7 +683,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.MicroSD_-__umount",
+ "@alias": "bsps-hw.bsps-hw.MicroSD_-__umount",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -713,7 +713,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.MicroSD_-__write_files",
+ "@alias": "bsps-hw.bsps-hw.MicroSD_-__write_files",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -743,7 +743,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.video_-_libva_check_(ogg_video_play)",
+ "@alias": "bsps-hw.bsps-hw.video_-_libva_check_(ogg_video_play)",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -769,29 +769,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.media_player_-_unable_to_play_MPEG-1_without_\"commercial\"_flag",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Copy sample MPEG-1 file to a system without the \"commercial\" flag.",
- "expected_results": ""
- },
- "2": {
- "action": "Launch media player and make sure it cannot play the MPEG-1 file.",
- "expected_results": "MPEG-1 file can not be played on images without the \"commercial\" flag. "
- }
- },
- "summary": "media_player_-_unable_to_play_MPEG-1_without_\"commercial\"_flag"
- }
- },
- {
- "test": {
- "@alias": "bsps-hw.bsps-tools.media_player_-_play_video_(ogv)",
+ "@alias": "bsps-hw.bsps-hw.media_player_-_play_video_(ogv)",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -813,7 +791,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.media_player_-_stop/play_button_(ogv)",
+ "@alias": "bsps-hw.bsps-hw.media_player_-_stop/play_button_(ogv)",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -843,7 +821,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.audio_-_play_(ogg)_with_HDMI",
+ "@alias": "bsps-hw.bsps-hw.audio_-_play_(ogg)_with_HDMI",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -869,7 +847,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.audio_-_play_(wav)_with_HDMI",
+ "@alias": "bsps-hw.bsps-hw.audio_-_play_(wav)_with_HDMI",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -895,7 +873,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.Graphics_-_ABAT",
+ "@alias": "bsps-hw.bsps-hw.Graphics_-_ABAT",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -921,7 +899,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-tools.Graphics_-_x11perf_-_2D",
+ "@alias": "bsps-hw.bsps-hw.Graphics_-_x11perf_-_2D",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -943,33 +921,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-oe-core.Test_Run_Integrity_-_Check_that_image_is_buildable",
- "author": [
- {
- "email": "corneliux.stoicescu@intel.com",
- "name": "corneliux.stoicescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Check that image can be built using either of the following methods: \n\n",
- "expected_results": ""
- },
- "2": {
- "action": "Check that image is built by autobuilder \nPlease check at: https://autobuilder.yocto.io/pub/releases/ \nChoose the target release that you are validating. \n\n",
- "expected_results": ""
- },
- "3": {
- "action": "Build image yourself \nPreferred to build an core-image-sato-dev to ease the process of the dependent test cases in this run. \nNote: Please set MACHINE in conf/local.conf ",
- "expected_results": "If either method fails, this test case will be failed and dependent test cases will be blocked. "
- }
- },
- "summary": "Test_Run_Integrity_-_Check_that_image_is_buildable"
- }
- },
- {
- "test": {
- "@alias": "bsps-hw.bsps-runtime.Check_if_SATA_disk_can_work_correctly",
+ "@alias": "bsps-hw.bsps-hw.Check_if_SATA_disk_can_work_correctly",
"author": [
{
"email": "yi.zhao@windriver.com",
@@ -999,7 +951,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.Install_and_boot_from_USB-drive_to_HDD-drive",
+ "@alias": "bsps-hw.bsps-hw.Install_and_boot_from_USB-drive_to_HDD-drive",
"author": [
{
"email": "david.israelx.rodriguez.castellanos@intel.com",
@@ -1041,7 +993,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.Install_and_boot_from_USB-drive_to_SD-drive",
+ "@alias": "bsps-hw.bsps-hw.Install_and_boot_from_USB-drive_to_SD-drive",
"author": [
{
"email": "david.israelx.rodriguez.castellanos@intel.com",
@@ -1083,7 +1035,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.Test_boot_on_serial_communication_SD",
+ "@alias": "bsps-hw.bsps-hw.Test_boot_on_serial_communication_SD",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -1101,7 +1053,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.Test_boot_on_serial_communication_HDD",
+ "@alias": "bsps-hw.bsps-hw.Test_boot_on_serial_communication_HDD",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -1119,7 +1071,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.Test_boot_on_serial_communication_USB",
+ "@alias": "bsps-hw.bsps-hw.Test_boot_on_serial_communication_USB",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -1153,7 +1105,7 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-runtime.Test_Seek_bar_and_volume_control",
+ "@alias": "bsps-hw.bsps-hw.Test_Seek_bar_and_volume_control",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -1196,5 +1148,139 @@
},
"summary": "Test_Seek_bar_and_volume_control"
}
+ },
+ {
+ "test": {
+ "@alias": "bsps-hw.bsps-hw.Check_if_watchdog_can_reset_the_target_system",
+ "author": [
+ {
+ "email": "yi.zhao@windriver.com",
+ "name": "yi.zhao@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "1.Check if watchdog device exist in /dev/ directory. Run command echo 1 > /dev/watchdog and wait for 60s. Then, the target will reboot.",
+ "expected_results": "The watchdog device exist in /dev/ directory and can reboot the target.\n"
+ }
+ },
+ "summary": "Check_if_watchdog_can_reset_the_target_system"
+ }
+ },
+ {
+ "test": {
+ "@alias": "bsps-hw.bsps-hw.Check_if_RTC_(Real_Time_Clock)_can_work_correctly",
+ "author": [
+ {
+ "email": "yi.zhao@windriver.com",
+ "name": "yi.zhao@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Read time from RTC registers. root@localhost:/root> hwclock -r Sun Mar 22 04:05:47 1970 -0.001948 seconds ",
+ "expected_results": "Can read and set the time from RTC.\n"
+ },
+ "2": {
+ "action": "Set system current time root@localhost:/root> date 062309452008 ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Synchronize the system current time to RTC registers root@localhost:/root> hwclock -w ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Read time from RTC registers root@localhost:/root> hwclock -r ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Reboot target and read time from RTC again\n",
+ "expected_results": ""
+ }
+ },
+ "summary": "Check_if_RTC_(Real_Time_Clock)_can_work_correctly"
+ }
+ },
+ {
+ "test": {
+ "@alias": "bsps-hw.bsps-hw.Check_if_target_can_support_EEPROM",
+ "author": [
+ {
+ "email": "yi.zhao@windriver.com",
+ "name": "yi.zhao@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Check eeprom device exist in /sys/bus/i2c/devices/ ",
+ "expected_results": "Hexdump can read data from eeprom.\n"
+ },
+ "2": {
+ "action": "Run \"hexdump eeprom\" commandroot@mpc8315e-rdb:/sys/bus/i2c/devices/1-0051> hexdump eeprom0000000 9210 0b02 0211 0009 0b52 0108 0c00 3c000000010 6978 6930 6911 208c 7003 3c3c 00f0 8381\u2026\n",
+ "expected_results": ""
+ }
+ },
+ "summary": "Check_if_target_can_support_EEPROM"
+ }
+ },
+ {
+ "test": {
+ "@alias": "bsps-hw.bsps-hw.System_can_boot_up_via_NFS",
+ "author": [
+ {
+ "email": "yi.zhao@windriver.com",
+ "name": "yi.zhao@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Connect the board's first serial port to your workstation and then start up your favourite serial terminal so that you will be able to interact with the serial console. If you don't have a favourite, picocom is suggested: $ picocom /dev/ttyS0 -b 115200 ",
+ "expected_results": "The system can boot up without problem\n"
+ },
+ "2": {
+ "action": "Power up or reset the board and press a key on the terminal when prompted to get to the U-Boot command line ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Set up the environment in U-Boot: => setenv ipaddr => setenv serverip ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Download the kernel and boot: => tftp tftp $loadaddr vmlinux => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=: ip=::::edgerouter:eth0:off mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)\n",
+ "expected_results": ""
+ }
+ },
+ "summary": "System_can_boot_up_via_NFS"
+ }
+ },
+ {
+ "test": {
+ "@alias": "bsps-hw.bsps-hw.Boot_from_JFFS2_image",
+ "author": [
+ {
+ "email": "yi.zhao@windriver.com",
+ "name": "yi.zhao@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "First boot the board with NFS root. ",
+ "expected_results": "The system can boot up without problem\n"
+ },
+ "2": {
+ "action": "Install mtd-utils package. Erase the MTD partition which will be used as root: $ flash_eraseall /dev/mtd3 ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Copy the JFFS2 image to the MTD partition: $ flashcp core-image-minimal-mpc8315e-rdb.jffs2 /dev/mtd3 ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Then reboot the board and set up the environment in U-Boot: => setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttyS0,115200 ",
+ "expected_results": ""
+ }
+ },
+ "summary": "Boot_from_JFFS2_image"
+ }
}
] \ No newline at end of file
diff --git a/poky/meta/lib/oeqa/manual/build-appliance.json b/poky/meta/lib/oeqa/manual/build-appliance.json
index b8f89275d..70f8c72c9 100644
--- a/poky/meta/lib/oeqa/manual/build-appliance.json
+++ b/poky/meta/lib/oeqa/manual/build-appliance.json
@@ -1,32 +1,6 @@
[
{
"test": {
- "@alias": "build-appliance.build-appliance.Bitbake_build-appliance-image",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Get poky source code and prepare the build environment",
- "expected_results": "bitbake build-appliance-image is successful "
- },
- "2": {
- "action": "Set MACHINE to qemux86 and add the following line to conf/local.conf : SRCREV_pn-build-appliance-image = \"${AUTOREV}\"",
- "expected_results": ""
- },
- "3": {
- "action": "Run \"bitbake build-appliance-image\" \n \n",
- "expected_results": ""
- }
- },
- "summary": "Bitbake_build-appliance-image"
- }
- },
- {
- "test": {
"@alias": "build-appliance.build-appliance.Build_core-image-minimal_with_build-appliance-image",
"author": [
{
diff --git a/poky/meta/lib/oeqa/manual/compliance-test.json b/poky/meta/lib/oeqa/manual/compliance-test.json
new file mode 100644
index 000000000..982f0b46c
--- /dev/null
+++ b/poky/meta/lib/oeqa/manual/compliance-test.json
@@ -0,0 +1,194 @@
+[
+ {
+ "test": {
+ "@alias": "compliance-test.compliance-test.LTP_subset_test_suite",
+ "author": [
+ {
+ "email": "corneliux.stoicescu@intel.com",
+ "name": "corneliux.stoicescu@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "For real hardware, run following component, \nsyscalls \nfs \nfsx \ndio \nio \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ntimers \ncommands \n\nFor QEMU, run following component \nsyscalls \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ncommands \n\nRun Instructions: \nLTP download: http://sourceforge.net/projects/ltp/files/LTP%20Source/ltp-20120401/ltp-full-20120401.bz2/download \n\n(link is outdated, always use the last version released or the one found in the image) \n\n\n\nbuild steps: refer to http://ltp.sourceforge.net \n\nRun steps:",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Build LTP with toolchain or in sdk image. Or use a sato-sdk image which has LTP already included in /opt/ltp",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "For QEMU, create the qemu target with \"-m 512\", which makes some memory stress cases pass. For some issues, we could only set 128M for qemuarm and 256M for qemumips.",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Copy LTP folder into target, for example, /opt/ltp if you have built it yourself. Modify the default scenario file \"scenario_groups/default\", remove test suites not to be tested",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Comment runtests/sched: hackbench, which is not suitable to run in emulators. Reminder (comment it also for Sugarbay Devices).",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Comment oom01, oom02, oom03, oom04 in runtest/mm, which consume lots of memory",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "From /opt/ltp run: ./runltp -p -l result-M2-20101218.log -C result-M2-20101218.fail -d /opt/ltp/tmp &> result-M2-20101218.fulllog \n\n",
+ "expected_results": "Check the result on wiki, https://wiki.yoctoproject.org/wiki/LTP_result, there should be no regression failure met."
+ }
+ },
+ "summary": "LTP_subset_test_suite"
+ }
+ },
+ {
+ "test": {
+ "@alias": "compliance-test.compliance-test.POSIX_subset_test_suite",
+ "author": [
+ {
+ "email": "corneliux.stoicescu@intel.com",
+ "name": "corneliux.stoicescu@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "In a sato-sdk image go to /opt/ltp or get latest LTP sourcecode, download location is http://sourceforge.net/projects/ltp/files/LTP%20Source/ and install it.",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Go into the folder of LTP, and posix_testsuite is under testcases/open_posix_testsuite/",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Run connmand: make generate-makefiles",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Run connmand: make conformance-all",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Run connmand: make conformance-test (this step may show errors, ignore them)",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Run connmand: make tools-all",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Run connmand: sh posix.sh > posix.log, posix.sh as below: \n \n#!/bin/sh \n./bin/run-posix-option-group-test.sh AIO \n./bin/run-posix-option-group-test.sh MEM \n./bin/run-posix-option-group-test.sh MSG \n./bin/run-posix-option-group-test.sh SEM \n./bin/run-posix-option-group-test.sh SIG \n./bin/run-posix-option-group-test.sh THR \n./bin/run-posix-option-group-test.sh TMR \n./bin/run-posix-option-group-test.sh TPS \n \n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Check the posix.log after testing is finished",
+ "expected_results": "Compare the test result on wiki, https://wiki.yoctoproject.org/wiki/Posix_result, there should be no more regression failures met."
+ }
+ },
+ "summary": "POSIX_subset_test_suite"
+ }
+ },
+ {
+ "test": {
+ "@alias": "compliance-test.compliance-test.LSB_subset_test_suite",
+ "author": [
+ {
+ "email": "corneliux.stoicescu@intel.com",
+ "name": "corneliux.stoicescu@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Get lsd-sdk image and install it on target device or start the image(if it is QEMU) with option \"-m 512M\"",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Comment in /opt/lsb-test/session any tests you don't want to run.",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Run /usr/bin/LSB_Test.sh which should download the LSB suite and set it up. Some packages may fail to download because their location changed on ftp.linuxfoundation.org. You need to manually update /opt/lsb-test/packages_list",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Tests should start automatically, you can use the web interface to reconfigure the setup. ",
+ "expected_results": "Check the result on wiki https://wiki.yoctoproject.org/wiki/LSB_Result No regression failures should be met."
+ }
+ },
+ "summary": "LSB_subset_test_suite"
+ }
+ },
+ {
+ "test": {
+ "@alias": "compliance-test.compliance-test.stress_test_-_Genericx86-64",
+ "author": [
+ {
+ "email": "corneliux.stoicescu@intel.com",
+ "name": "corneliux.stoicescu@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Bootup with core-image-lsb-sdk image",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Execute the crashme test with below command \n\n./opt/ltp/runltp f crashme",
+ "expected_results": "The stress testing should not make the target crash. Check CPU usage and basic functionality of the system after the tests are over. "
+ }
+ },
+ "summary": "stress_test_-_Genericx86-64"
+ }
+ },
+ {
+ "test": {
+ "@alias": "compliance-test.compliance-test.stress_test_-_- crashme_-_-Beaglebone",
+ "author": [
+ {
+ "email": "corneliux.stoicescu@intel.com",
+ "name": "corneliux.stoicescu@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Get crashme from http://people.delphiforums.com/gjc/crashme.html",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Follow the setup steps on above URL, build crashme in target",
+ "expected_results": ""
+ },
+ "3": {
+ "action": " Run crashme for 24 hours",
+ "expected_results": "Target should not crash with the program."
+ }
+ },
+ "summary": "stress_test_-_crashme_-Beaglebone"
+ }
+ },
+ {
+ "test": {
+ "@alias": "compliance-test.compliance-test.stress_test_-_ltp_-Beaglebone",
+ "author": [
+ {
+ "email": "corneliux.stoicescu@intel.com",
+ "name": "corneliux.stoicescu@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Build LTP with toolchain or in sdk image",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Copy LTP folder into target, for example, /opt/ltp. Modify script, testscripts/ltpstress.sh, set Iostat=1, NO_NETWORK=1",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "cd testscripts/ && ./ltpstress.sh",
+ "expected_results": "This stress case will run for 24 hours Check the result\ntarget should not crash with the program "
+ }
+ },
+ "summary": "stress_test_-_-ltp_-Beaglebone"
+ }
+ }
+] \ No newline at end of file
diff --git a/poky/meta/lib/oeqa/manual/kernel-dev.json b/poky/meta/lib/oeqa/manual/kernel-dev.json
index c93b4dd87..0dd99199d 100644
--- a/poky/meta/lib/oeqa/manual/kernel-dev.json
+++ b/poky/meta/lib/oeqa/manual/kernel-dev.json
@@ -1,7 +1,7 @@
[
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_defconfig",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_defconfig",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -18,12 +18,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_7"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_defconfig"
+ "summary": "Kernel_dev_defconfig"
}
},
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_defconfig+fragments",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_defconfig+fragments",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -40,12 +40,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_8"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_defconfig+fragments"
+ "summary": "Kernel_dev_defconfig+fragments"
}
},
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_Applying_patches",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_Applying_patches",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -62,12 +62,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_Applying_patches"
+ "summary": "Kernel_dev_Applying_patches"
}
},
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_linux-yocto-local-source",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_linux-yocto-local-source",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -84,12 +84,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_2"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_linux-yocto-local-source"
+ "summary": "Kernel_dev_linux-yocto-local-source"
}
},
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_linux-yocto-custom-local-source",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_linux-yocto-custom-local-source",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -106,12 +106,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_3"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_linux-yocto-custom-local-source"
+ "summary": "Kernel_dev_linux-yocto-custom-local-source"
}
},
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_recipe-space_meta",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_recipe-space_meta",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -128,12 +128,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_5"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_recipe-space_meta"
+ "summary": "Kernel_dev_recipe-space_meta"
}
},
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_External_source",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_External_source",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -150,12 +150,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_6"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_External_source"
+ "summary": "Kernel_dev_External_source"
}
},
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_building_external_modules(hello-mod)",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_building_external_modules(hello-mod)",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -172,12 +172,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_10"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_building_external_modules(hello-mod)"
+ "summary": "Kernel_dev_building_external_modules(hello-mod)"
}
},
{
"test": {
- "@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_local_parallel_meta",
+ "@alias": "kernel-dev.kernel-dev.Kernel_dev_local_parallel_meta",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -194,7 +194,7 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_4"
}
},
- "summary": "TCTEMP_2.3_MANUAL_Kernel_dev_local_parallel_meta"
+ "summary": "Kernel_dev_local_parallel_meta"
}
}
] \ No newline at end of file
diff --git a/poky/meta/lib/oeqa/manual/sdk.json b/poky/meta/lib/oeqa/manual/sdk.json
index 647558659..434982f7f 100644
--- a/poky/meta/lib/oeqa/manual/sdk.json
+++ b/poky/meta/lib/oeqa/manual/sdk.json
@@ -1,7 +1,7 @@
[
{
"test": {
- "@alias": "sdk.sdk_runqemu.test_sdk_toolchain_can_run_multiple_QEMU_machines_under_UNFS",
+ "@alias": "sdk.sdk_runqemu.test_install_cross_toolchain_can_run_multiple_qemu_for_x86",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -11,22 +11,22 @@
"execution": {
"1": {
"action": "Prepare kernel, rootfs tar.bz2 image, and qemu configuration \n \ta. Download kernel, rootfs tar.bz2 image and qemu configuration from public autobuilder webpage \n \tb. Goto https://autobuilder.yocto.io/pub/releases/<target_release>/machines/qemu/qemux86/ \n \tc. Download \n \t \ti. rootfs tar.bz2: core-image-sato-sdk-qemux86.tar.bz2 \n \t\tii. kernel: bzImage-qemux86.bin \n \t\tiii. qemu configuration: core-image-sato-sdk-qemux86.qemuboot.conf ",
- "expected_results": ""
+ "expected_results": "Download completes successfully."
},
"2": {
- "action": "Download & install sdk toolchain from public autobuilder \n \ta. Goto https://autobuilder.yocto.io/pub/releases/<target_release>/toolchain/x86_64/ \n \tb. Download poky-glibc-x86_64-core-image-sato-sdk-<type-arch>-toolchain-<release-version>.sh \n \tc. Run command: poky-glibc-x86_64-core-image-sato-sdk-<type-arch>-toolchain-<release-version>.sh",
- "expected_results": ""
+ "action": "Download & install toolchain tarball matching your host from public autobuilder \n \ta. Goto https://autobuilder.yocto.io/pub/releases/<target_release>/toolchain/x86_64/ \n \tb. Download poky-glibc-x86_64-core-image-sato-<type-arch>-toolchain-<release-version>.sh \n \tc. Run command: poky-glibc-x86_64-core-image-sato-<type-arch>-toolchain-<release-version>.sh \n \td. After installation toolchain Run source command : source /toolchain-installed-path/environment-setup-<architecture name>-poky-linux",
+ "expected_results": "Toolchain gets installed successfully."
},
"3": {
"action": "Extract rootfs twice into two images \n \ta. Run 2 commands below: \n runqemu-extract-sdk core-image-sato-sdk-qemux86.tar.bz2 qemux86_rootfs_image1 \n runqemu-extract-sdk core-image-sato-sdk-qemux86.tar.bz2 qemux86_rootfs_image2",
- "expected_results": ""
+ "expected_results": "Both images build successfully."
},
"4": {
- "action": " From the 2 terminals, start qemu to boot up both two images \n \ta. Run 2 commands below: \n runqemu core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image1 \n runqemu core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image2 ",
+ "action": " From the 2 terminals, start qemu to boot up both two images \n \ta. Run 2 commands below: \n runqemu <kernel-name> core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image1 \n runqemu <kernel-name> core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image2 ",
"expected_results": "Expect both qemu to boot up successfully."
}
},
- "summary": "test_sdk_toolchain_can_run_multiple_QEMU_machines_under_UNFS"
+ "summary": "test_install_cross_toolchain_can_run_multiple_qemu_for_x86"
}
}
] \ No newline at end of file
diff --git a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
new file mode 100644
index 000000000..812f57da3
--- /dev/null
+++ b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
@@ -0,0 +1,2572 @@
+[
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.All_layers:_default_view",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table.",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"View compatible layers\" link situated on the right-hand side, mid-page, under the \"Project configuration\" menu, in the \"Layers\" table.",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that the table is populated with the default layers (eg. meta-yocto-bsp, meta-yocto)",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Check that by default the following columns are shown: Layer, Summary, Revision, Dependencies and Add/Delete",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that the \"Revision\" entries match the release entry from the main project page, in the project details section.",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Check that only one instance of the core layers (openembedded-core, meta-yocto and meta-yocto-bsp) shows in this table, and that instance has a branch that matches the selected project release from the main project page.",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Check that in the \"Dependencies\" column some of the layers should have a square box with a number in it. When clicking on it, a small popup should appear containing a list of other layers required for this layer to work. Every layer listed here should also be a link to the layer's detail page. \n \n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "From the \"Edit columns\" menu, activate the \"Git repository URL\" and the \"Subdirectory\" columns. In \"Git repository URL\": all the entries should have a link to the external site where the layer was downloaded from. Similarly, in \"Subdirectory\" links should exist, if a subdirectory entry is present.",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "All_layers:_default_view"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.All_layers:_Add/delete_layers",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"View compatible layers\" link situated on the right-hand side, mid-page, under the \"Project configuration\" menus, in the \"Layers\" table. \n\n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that the Add/delete column is enabled. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Add a new layer \nPick a layer that hasn't been added to the project. \n \nClick on the \"Add layer\" button present in the \"Add/delete\" column. \nIf the layer has unsatisfied dependencies a dialog will appear listing the dependencies (in alphabetical order), each of them with a checkbox so that you can select / deselect them. All checkboxes are checked by default. If you click the \"Cancel\" button the dialog closes. If you click the \"Add layers\" button, the layers are added to the project. \n\nMake sure to uncheck at least 1 of the dependencies so you can check that only the checked dependencies are added, and not the unchecked one(s). ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that the \"Add layer\" button fades out and is replaced temporarily by a message like \"1 layer added\" and then it is replaced by the \"Delete layer\" button. \nCheck that a confirmation message is displayed at the top of the page similar to \"You have added 1 layer to project_name_here: meta-yocto-bsp\". \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Delete an existing layer \nPick a layer that's already been added to the project. \nClick on the \"Delete layer\" button present in the \"Add/delete\" column. \nCheck that once the button is pressed, it fades out and is replaced temporarily by the message \"1 layer deleted\" and then it is replaced by the \"Add layer\" button. \nCheck that a confirmation is displayed at the top of the page similar to \"You have deleted 1 layer from project_name_here: meta-yocto-bsp\". ",
+ "expected_results": "All actions should complete successfully."
+ }
+ },
+ "summary": "All_layers:_Add/delete_layers"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.All_targets:_Default_view",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": " If no images exist in the project, build an image by inserting \"core-image-minimal\" in the \"Recipes\" field and press the \"Build\" button. Wait for the image to finish building. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "On the project page click on the \"Image Recipes\" link situated in the left-handed side of the page, under the \"Project configuration\" menus, in the \"COMPATIBLE METADATA\" table. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Check that \"Compatible image recipes\" table is populated. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that the following columns are shown by default: \n\t\tImage recipe \n\t\tDescription \n \n\t\tLayer \n\t\tBuild \n\t\t Version ",
+ "expected_results": ""
+ }
+ },
+ "summary": "All_targets:_Default_view"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Configuration_variables:_default_view",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In the main project page, click on \"BitBake variables\" in the left-hand side of the page, under the \"CONFIGURATION\" menu. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that default values are as follows: \n\tDISTRO - poky \n\tIMAGE_FSTYPES - ext3 jffs2 tar.bz2 \n\tIMAGE_INSTALL_append - \"Not set\" \n\tPACKAGE_CLASES - package_rpm \n SSTATE_DIR - /homeDirectory/poky/sstate-cache \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Check that under the \"Add variable\" section, the \"Variable\" field has the default text \"Type variable name\" present, the \"Value\" field has the default text \"Type variable value\" present and that the \"Add variable\" button is inactive. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that under the \"Add variable\" section, there is text present that describes the variables that Toaster cannot modify. ",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Configuration_variables:_default_view"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Configuration_variables:_Test_UI_elements",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In the main project page, click on \"BitBake variables\" in the left-hand side of the page, under the \"CONFIGURATION\" menu. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "DISTRO: \n\t- check that the \"change\" icon is present (represented by a pen icon) \n\t- click on the \"change\" icon and check that the variable becomes an editable text field, populated with the current value of the variable \n\t- check that, if you delete the content of the text field, the save button is disabled \n\t- enter a distro name containing spaces (for example, \"poky tiny\") - check that an error message is shown explaining that the value entered cannot contain spaces \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "IMAGE_FSTYPES: \n\t- check that the \"change\" icon is present (represented by a pen icon) \n\t- click on the \"change\" icon and check that the variable becomes editable like so: the main input control is a set of checkboxes. There is a checkbox for each supported image type. The checkboxes are listed in ascending alphabetical order, broken down in 2 groups: \n\t\t",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "The selected types are checked and listed at the top \n\t\t",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "The other types are not checked and listed afterwards \n\t- check that all this is inside a scrollable div, and a text field is present above that filters out the content of the div as you type. \n\t- check that if there are no image types matching your typed string, a message is shown notifying you of this: \"No image types found\" \n\t- unselect all checkboxes and check that the save button is disabled and a message is shown: \"You must select at least one image type\" \n\t- select different checkboxes and hit save then make sure that the \tsaved value is consistent with the selected checkboxes \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "IMAGE_INSTALL_append: \n\t- check that the \"change\" icon is present (represented by a pen icon) \n\t- click on the \"change\" icon and check that the variable becomes a text field, populated with the current value of the variable. \n\n\t- check that the save button is disabled when the text field is empty \n\t- insert test in the text field (for example \"package1\") and hit save; be aware that there is no input validation for this variable \n\t- check that a new \"delete\" icon(a trashcan) has appeared next to the pen icon \n\t- check that clicking on the trashcan icon resets the value to \"Not set\" and makes the trashcan icon dissapear \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "PACKAGE_CLASSES: \n\t- check that the \"change\" icon is present (represented by a pen icon) \n\t- click on the \"change\" icon and check that the variable becomes editable with the following components: \n\t\t",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "A dropdown menu with values 'package_dev', 'package_ipk' and 'package_rpm' in this order. The value selected when you enter the editable state matches the first value of the variable (e.g. if the value is set to 'package_dev package_ipk' the value selected is 'package_dev'). \n \n\t\t",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "Two checkboxes, showing the 2 unselected values in the dropdown menu. \n\n\t- verify that the checkboxes are checked or unchecked to reflect the variable value (e.g. if the value is set to 'package_dev package_ipk', the 'package_ipk' checkbox is checked, and the 'package_rpm' checkbox is unchecked). \n\n\tBoth checkboxes can be unchecked. The value of the checkboxes changes dynamically as I change the selected value in the dropdown menu. This means that any changes to the dropdown menu should uncheck the checkboxes. \n\n\t- click on save and check that the value selected in the dropdown menu is the first value in the variable, followed by any checked checkboxes. \n\n\n",
+ "expected_results": ""
+ },
+ "11": {
+ "action": "Adding variables: \n\t- check that the \"add variable\" form has 2 text fields: one for the variable name and a second one for the variable value, plus an \"add\" button that is disabled until both text fields have some input in them. \n \n\t- check variable name validation: variable names cannot have spaces, and can only include letters, numbers, underscores and dashes; variable names entered cannot match the name of a variable already on the list; variable names cannot match the blacklisted variables mentioned in the text on the right-hand side of the page \n\n\t - check that an error message is shown indicating validation has failed and why once you try to put in the value or click on the \"Add variable\" button ",
+ "expected_results": "All mentioned elements should be present and functional."
+ },
+ "12": {
+ "action": "insert a valid combination and click on \"Add variable\"; check that a new variable/value pair is added at the bottom of the variable list and that the text fields in the \"add variable\" form are cleared and the \"add\" button is disabled \n\t- check that the added variable has a \"change\" icon present next to the variable value, and also that a \"delete\" icon is present next to the variable name \n\t- check that clicking the \"change\" icon makes the variable editable in a text field containing the value of the variable \n\t- check that, if you delete the content of the text field, the save button is\tdisabled\n\t- check that clicking on the \"delete\" button causes both the variable name and the variable value to be removed from the variables list",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Configuration_variables:_Test_UI_elements"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Project_builds:_Default_view",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"Builds\" , next to the \"Configuration\" Button. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that the page heading includes a counter with the number of builds run for the project(eg. \"Project builds (4)\"). \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Check that the following table heads are visible by default: outcome, completed on, failed tasks, errors, warnings, image files. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that by default the table is sorted by \"Completed on\" in descending order",
+ "expected_results": "All mentioned elements should be present."
+ }
+ },
+ "summary": "Project_builds:_Default_view"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Project_builds:_Sorting_the_project_builds_table",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"View all project builds\" link situated below the top-most \"Build\" button and text field, next to the \"View all targets\" link \n\n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Verify that, by default, the table is sorted by \"Completed on\" in descending order. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Activate all columns from the \"Edit columns\" table. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that the following columns are sortable, both in ascending and descending order: outcome, target, machine, started on, completed on, warning, project \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Verify that hiding a column that is currently being used as the sorting criteria causes the sorting to reset to the default - i.e \"Completed on\" in descending order.",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Project_builds:_Sorting_the_project_builds_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Project_builds:_customize_the_columns_of_the_table",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"View all project builds\" link situated below the top-most \"Build\" button and text field, next to the \"View all targets\" link \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Click on the \"Edit column\" menu and check that the selected columns match the columns currently being shown. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Check that the following columns cannot be removed from the shown columns: completed on, outcome, recipe \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that unchecked items changed to checked immediately appear in the table and that checked items changed to unchecked immediately disappear from the table.",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Project_builds:_customize_the_columns_of_the_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Project_builds:_filter_the_contents_of_the_table",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"View all project builds\" link situated below the top-most \"Build\" button and text field, next to the \"View all targets\" link. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Make sure the following columns have filters: outcome, started on, completed on, failed tasks. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Filters are mutually exclusive. Click a filter button of a one column and a filter dialogue occurs. Select a filter item. The filter result would be showed. Then select another filter item of another column and the previously applied filter is overridden by the newly selected filter when a filter from a different column is applied to the table. This filter will override the current filter.\" \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Filters are overridden by search. Run a search query and you can see previous filter results are overridden by the results of the search query.",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Project_builds:_filter_the_contents_of_the_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Project_builds:_search_the_contents_of_the_table",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"View all project builds\" link situated below the top-most \"Build\" button and text field, next to the \"View all targets\" link. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "When no search query has been entered, we have placeholder text saying: \"Search builds\". The placeholder text disappears when the first character is typed. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "When a search query has been submitted and results returned: \n- We keep the search string in the text input field. \n- We provide a \"Clear search\" icon (icon-remove-sign). Click it to clear the search and display all packages. \n- We change the page heading to indicate the number of results returned by the search query. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "If your search query returns no results, the page heading changes to \"No packages found\", and we show you an alert with a search form and an option to show all packages. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Searching does not change the state of the table: the same columns remain hidden and the same sorting applied. ",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Project_builds:_search_the_contents_of_the_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Layer_details_page:_Default_view",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"View compatible layers\" link situated in the \"Project configuration\" portion of the page, under \"Layers\" table. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Click on a layer (for example \"meta-aarch64\"). Notice that the page is divided into 2 columns: the left one is broken down into tabs; the right one provides information about the layer. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Check that breadcrumbs exist at the top of the page. Check that they work by clicking on them, then hitting back to return to the layer detail page. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that the page heading includes the layer branch name - it should look something like meta-aarch64(dizzy) if the dizzy branch was selected. The branch name should also be present in the breadcrumbs. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "The \"About\" information: \nit shows summary, description in this order, if not empty. If an information item is empty (like the Summary in the example shown in this page), it does not display. \n \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "The tabs: \nCheck that there are 3 tabs: \"layer details\", \"recipes\", \"machines\" showing up in this order. \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "\"Layer details\" tab: \nCheck that the tab shows: \n- A button to add / remove the layer to / from the project. In this tab, the button labels are\"Add the $layer_name layer to your project\" \"Delete the $layer_name layer from your project\" \n- Some details about the layer: repository URL, repository subdirectory, revision (the branch) and the list of layer dependencies. If any of the above details is blank (most likely, the subdirectory) it does not display.The icons next to the repository and subdirectory information are links to their web instances. Those links should open in a new window. \n\n",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "The \"Recipes\" tab: \nCheck that it shows: \n\t",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "A counter in the tab label showing the total number of targets provided by the layer \n\t",
+ "expected_results": ""
+ },
+ "11": {
+ "action": "A button to add / remove the layer to / from the project. In this tab, the button labels are \"Add the $layer_name layer to your project to enable these targets\"/\"Delete the $layer_name layer from your project\" \n\t",
+ "expected_results": ""
+ },
+ "12": {
+ "action": "A recipes table with the following columns: \n \n- Recipe \n- Description: the value of the DESCRIPTION variable. If not set, then the value of the SUMMARY variable. \n- Build recipe, which shows a \"build recipe\" button. The \"build recipe\" button is disabled when the layer is not added to the project. \n\nThe recipes table is sorted by \"Recipe\" in ascending alphabetical order. \n\n1",
+ "expected_results": ""
+ },
+ "13": {
+ "action": "The \"Machines\" tab: \n\t",
+ "expected_results": ""
+ },
+ "14": {
+ "action": "A counter in the tab label showing the total number of machines provided by the layer \n\t",
+ "expected_results": ""
+ },
+ "15": {
+ "action": "A button to add/remove the layer to/from the project. In this tab, the button labels are \"Add the $layer_name layer to your project to enable these machines\"/\"Delete the $layer_name layer from your project\" \n\t",
+ "expected_results": ""
+ },
+ "16": {
+ "action": "A machines table with the following columns: \n \n- Machine. \n \n- Description: The value of the DESCRIPTION variable in the .conf file \n- Select machine, which shows a \"select\" button. The \"select\" button is disabled when the layer is not added to the project. \nThe machines table is sorted by \"Machine\" in ascending alphabetical order. \n",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Layer_details_page:_Default_view"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Layer_details_page:_UI_functionality",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"View compatible layers\" link situated in the \"Project configuration\" portion of the page, under \"Layers\" \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Click on a layer (for example \"meta-aarch64\"). \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Adding/removing a layer: \nClick on \"Add the $layer_name_here layer to your project\" and verify that the \"Add layer\" button turns into a red button with the label \"Delete the $layer_name_here layer from your project\" and that at the top of the page, below the header, you see a message \"You have added 1 layer to $project_name_here: $layer_name_here\". This message can be dismissed by clicking on the \"X\" at the top right side of the message. ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Click on the red \"Delete the $layer_name_here from your project\" button and verify that the \"Delete layer\" button turns back into a grey button with the label \"Add the $layer_name_here to your project\" and that at the top of the page, below the header, you see a message \"You have deleted 1 layer to $project_name_here: $layer_name_here\". This message can be dismissed by clicking on the \"X\" at the top right side of the message. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Dependencies window: \n For a layer that has dependencies( for example \"meta-ettus\"), once you click the \"Add layer\" button, verify that you get a message window that presents the dependencies for this layer with the message \"$layer_name_here depends on some layers that are not added to your project. Select the ones you want to add:\", a list with a checkbox for each one and 2 options: \"Add layers\" or \"Cancel\". \nClicking on \"Add layers\" adds all the dependencies and the current layer. Clicking on \"Cancel\" takes you back to the layer detail page without adding any of the layers. \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "\"Recipes\" table \nCheck that if the layer hasn't been added to the project, the \"Build recipe\" button(s) are disabled. After the project is added, check that the \"Build recipe\" button(s) become active and clicking on a button sends you to the main project page and starts a build. \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "\"Machines table\" \nCheck that if the layer hasn't been added to the project, the \"Select machine\" button(s) are disabled. After the project is added, check that the \"Build machine\" button(s) become active and clicking on a button sends you to the main project page and modifies the project machine to the one selected. ",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Layer_details_page:_UI_functionality"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Importing_new_layers",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"Import layer\" link situated in the \"Project configuration\" portion of the page, under \"Layers\" table. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that the import layer form is shown, with the following elements as text fields to be filled out: \nLayer name (example: meta-imported) \nGit repository URL (example: git://github.com/shr-distribution/meta-smartphone.git) \nRepository subdirectory (optional) (example: meta-acer) \nRevision (example: master) \n\nIn addition, a separate portion of the form will be the \"Layer dependencies\" portion, where you can add dependency layers for the layer you are importing. This portion will contain a list of dependencies already added, with a trashcan icon next to them that will delete them when pressed and a text field with a \"add layer\" button next to it for adding dependencies. (for example: meta-android, meta-oe) \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "At the bottom of the form, check that a button exists with the label \"Import and add to project\". Check that this button is inactive until the required fields are filled out. \nCheck that clicking on the \"Import button\" takes you back to the main project page and that the imported layer, along with any dependencies, were added in the project's layers. ",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Importing_new_layers"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Layer_details_page:_UI_functionality_for_imported_layers",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Click on the \"View compatible layers\" link situated in the \"Project configuration\" portion of the page, under \"Layers\" table. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Select an imported layer (see in TC 1112 how to import a layer). \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Page heading \nCheck that the page heading includes the branch, tag or commit as entered when importing the layer.\nIf it's a commit, Check that only the first 10 characters are shown followed by an ellipsis character. The full commit shows on hover.The branch, tag or commit information also shows in the breadcrumb. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "The \"About\" information \nIt shows: \n- Summary \n- Description \nin this order. Those two items always show, independently of them being blank or not, since they can be edited by users. \n\nWhen an information item is empty, it shows as \"not set\" with a \"change\" icon. Click on the icon to add a value. \n\nFor \"Summary\" and \"Description\" clicking the \"change\" icon shows the selected information item in its editable state. It consists of a text area, set to 2 rows for the \"Summary\" and to 6 rows for the \"Description\", plus 'save' and 'cancel' buttons. \nThe 'save' buttons only activate when there is at least one character in the text area. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "The tabs \nCheck that the tabs shown are: \n- \"Layer details\" \n- \"Recipes\" \n- \"Machines\" \nThe tabs should show in the order in which they are listed above. \n\n\"Layer details\" tab: \nIn not-editable pages, the tab shows: \n- A button to add / remove the layer to / from the project. In this tab, the button labels are: \n\t- \"Add the $layer_name layer to your project\" \n\t- \"Delete the $layer_name layer from your project\" \n\n- Some details about the layer: repository URL, repository subdirectory, revision (branch / tag / commit) and the list of layer dependencies. This is the information required from users when importing a layer. The subdirectory and the layer dependencies can be blank.",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "If blank, they show as \"not set\". \n\nEditing the \"Repository URL\" \nThe \"Git repository URL\" cannot be blank. Therefore, we show only a \"change\" icon next to it. When you click the icon, the text input field is set to the current value. If you delete the value from the input field, we disable the \"save\" button. We enable it again when you type something in the field. \n\nEditing the \"Repository subdirectory\" \nThe \"Repository subdirectory\" can be blank. Therefore, we show both \"change\" and \"delete\" icons. When you click the \"delete\" icon, we \nshow the label \"Not set\".",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "\nWhen you click the \"change\" icon, the text input field is set \nto the current value. \nIf you delete the value from the input field, we disable the \"save\" button. We enable it again when you type something in the field. \n \n\nEditing the \"Revision\" \nThe \"Revision\" cannot be blank. Therefore, we show only a \"change\" icon next to it. When you click the icon, the text input field is set to the current value. If you delete the value from the input field, we disable the \"save\" button. We enable it again when you type something in the field. \n\nThe \"Recipes\" tab \nIt shows: \n1: A counter in the tab label showing the total number of targets provided by the layer \n2: A button to add/remove the layer to/from the project. ",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "In this tab, the button labels are \n \n\"Add the $layer_name layer to your project to enable \nthese targets\" \n\"Delete the $layer_name layer from your project\" \n\n3: A \"Recipes\" table with the following columns: \n \n- Recipe \n- Description: the value of the DESCRIPTION variable. If not set, then the value of the SUMMARY variable. \n- Build recipe, which shows a \"build recipe\" button. The \"build recipe\" button is disabled when the layer is not added to the project. \nThe recipes table is sorted by \"Recipe\" in ascending alphabetical order. \n\nThe \"Machines\" tab: \nIt shows: \n1: A counter in the tab label showing the total number of machines provided by the layer \n2: A button to add/remove the layer to/from the project.",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "In this tab, the button labels are \n \n\t- \"Add the $layer_name layer to your project to enable these machines\" \n\t- \"Delete the $layer_name layer from your project\" \n3: A \"machines\" table with the following columns: \n- Machine. \n \n- Description: The value of the DESCRIPTION variable in the .conf file \n- Select machine, which shows a \"select\" button. The \"select\" button is disabled when the layer is not added to the project. \nThe machines table is sorted by \"Machine\" in ascending alphabetical order. ",
+ "expected_results": "All mentioned elements should be present and functional."
+ }
+ },
+ "summary": "Layer_details_page:_UI_functionality_for_imported_layers"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Multiple_build_directories",
+ "author": [
+ {
+ "email": "stanciux.mihail@intel.com",
+ "name": "stanciux.mihail@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "after starting Toaster for the first time, go to http://[localhost]:8000/admin/ and login with the admin user you created during setup. Click on the Build environments section, and on the BuildEnvironment object. \n\n\n\nNote: you can create a superuser to enter as admin with ... poky/bitbake/lib/toaster/manage.py createsuperuser \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "make note of the \"sourcedir\" and \"builddir\" values. The build dir will be something like \"/home/user/path/build\" \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": " click \"back\", and click on the \"Add build environment\" button in the upper right corner. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "enter Address \"2\", Betype: \"local\", \"sourcedir\" is to be set to whatever the original build env is set, and \"builddir\" is ANOTHER path at the same level as the original builddir - e.g. \"/home/user/path/build2\" \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Click save \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Execute command : /poky$ source oe-init-build-env build2 \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Create new project \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "issue 2 build (e.g. core-image-minimal core-image-sato)\n\n\n\n\n\n",
+ "expected_results": "Both build commands should run simultaneously."
+ }
+ },
+ "summary": "Multiple_build_directories"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Run_again_button_from_all_builds_page_must_run_the_specified_task",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": "Click on new project button.",
+ "expected_results": " Open create a new project page. \n"
+ },
+ "3": {
+ "action": "Enter a project name, select a release and click on create project or select an existing project.",
+ "expected_results": " Project Created. \n"
+ },
+ "4": {
+ "action": "Build a image task (ex: core-image-minimal:clean) and wait until build finish.\nfrom all build page.",
+ "expected_results": " Build task finishes successfully. \n"
+ },
+ "5": {
+ "action": "Click on rebuild button from all build page.",
+ "expected_results": "Specified task will run again. \n"
+ },
+ "6": {
+ "action": "Click on the build and verify if the number of tasks executed = 1.",
+ "expected_results": "Only the specified task is executed. \n"
+ },
+ "7": {
+ "action": "From project builds page click on run again button.",
+ "expected_results": "Specified task will run again.\n"
+ },
+ "8": {
+ "action": "Click on the build and verify if the number of tasks executed = 1.",
+ "expected_results": ""
+ }
+ },
+ "summary": "Run_again_button_from_all_builds_page_must_run_the_specified_task"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Intel_layers_builds",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": "Click on new project button.",
+ "expected_results": "Open create a new project page. \n"
+ },
+ "3": {
+ "action": "Enter a project name, select a release and click on create project.",
+ "expected_results": "Project Created. \n"
+ },
+ "4": {
+ "action": "Click on layers tab.",
+ "expected_results": "Open compatible layers page. \n"
+ },
+ "5": {
+ "action": "Search for intel.",
+ "expected_results": "Return results \n"
+ },
+ "6": {
+ "action": "Add intel layers like: meta-intel, meta-intel-quark.",
+ "expected_results": "Layers added to project. \n"
+ },
+ "7": {
+ "action": "Click on the added layer.",
+ "expected_results": "Open layer page. \n"
+ },
+ "8": {
+ "action": "From machine tab, select a machine.",
+ "expected_results": "Machine has changed. \n"
+ },
+ "9": {
+ "action": "Build a recipe(core-image-minimal) or a recipe from recipe tab.",
+ "expected_results": "Build finishes successfully."
+ }
+ },
+ "summary": "Intel_layers_builds"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Download_other_artifacts",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Delete the build/tmp folder. (to make sure the rootfs task runs and other artifacts are generated for the build)",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n\t"
+ },
+ "3": {
+ "action": "Click on new project button.",
+ "expected_results": "Open create a new project page. \n\t"
+ },
+ "4": {
+ "action": "Enter a project name, select a release and click on create project.",
+ "expected_results": "Project Created. \n\t"
+ },
+ "5": {
+ "action": "Build an image recipe (ex: core-image-minimal) and wait until build finish.",
+ "expected_results": "Build finishes successfully. \n\t"
+ },
+ "6": {
+ "action": "Click on the built recipe.",
+ "expected_results": "Open build summary page. \n\t"
+ },
+ "7": {
+ "action": "From other artifacts tab click on a link.",
+ "expected_results": "You can download other artifacts."
+ }
+ },
+ "summary": "Download_other_artifacts"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Download_licence_manifest",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Delete the build/tmp folder. (to make sure license manifest is generated)",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Start Toaster \n\n",
+ "expected_results": "Toaster starts. \n"
+ },
+ "3": {
+ "action": "Click on new project button. \n\n",
+ "expected_results": "Open create a new project page. \n"
+ },
+ "4": {
+ "action": "Enter a project name, select a release and click on create project. \n\n",
+ "expected_results": "Project Created. \n"
+ },
+ "5": {
+ "action": "Build an image recipe (ex: core-image-minimal) and wait until build finish. \n\n",
+ "expected_results": "Build finishes successfully. \n"
+ },
+ "6": {
+ "action": "Click on the built recipe. \n\n",
+ "expected_results": "Open build summary page. \n"
+ },
+ "7": {
+ "action": "From Image tab click on \"Download\" button for License manifest.",
+ "expected_results": "You can download license manifest."
+ }
+ },
+ "summary": "Download_licence_manifest"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_dependencies_layers",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": "Click on new project button.",
+ "expected_results": "Open create a new project page. \n"
+ },
+ "3": {
+ "action": "Enter a project name, select a release and click on create project.",
+ "expected_results": "Project Created. \n"
+ },
+ "4": {
+ "action": "Click on Layers.",
+ "expected_results": "Open compatible layers page. \n"
+ },
+ "5": {
+ "action": "Add a layer with multi-level dependencies. (ex: meta-acer) \nThis layer depends on meta-networking, which in turn depends on meta-android. \n \n",
+ "expected_results": "The selected layer and dependencies were added to project. \n"
+ },
+ "6": {
+ "action": "Check if meta-python appears in the dependencies list, and add the layers to project.",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Delete a dependency layer.",
+ "expected_results": "Layer removed from project. \n \n"
+ },
+ "8": {
+ "action": "Build a recipe (ex: core-image-minimal) and wait until build finish.\n",
+ "expected_results": "Build will fail with an error.\n\n\t"
+ }
+ },
+ "summary": "Test_dependencies_layers"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_build_recipe_button_from_recipes_page",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": "Click on new project button.",
+ "expected_results": "Open create a new project page. \n"
+ },
+ "3": {
+ "action": "Enter a project name, select a release and click on create project.",
+ "expected_results": "Project Created. \n"
+ },
+ "4": {
+ "action": "Click on software recipes / image recipes.",
+ "expected_results": "Open compatible software recipes page. \n"
+ },
+ "5": {
+ "action": "Select a recipe and click on 'add layer' button.",
+ "expected_results": "Layer added to project and the 'add layer' button becomes 'build recipe'. \n"
+ },
+ "6": {
+ "action": "Click on \"Build recipe\" button for one recipe (ex : core-image-minimal / busybox).",
+ "expected_results": "Build finishes successfully."
+ },
+ "7": {
+ "action": "Test this for software and image recipes tables.",
+ "expected_results": ""
+ }
+ },
+ "summary": "Test_build_recipe_button_from_recipes_page"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_compatible_machines",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": "Click on new project button.",
+ "expected_results": "Open create a new project page. \n"
+ },
+ "3": {
+ "action": "Enter a project name, select a master release and click on create project.",
+ "expected_results": "Project Created. \n"
+ },
+ "4": {
+ "action": "Go to machines page.",
+ "expected_results": "Open compatible machines page. \n"
+ },
+ "5": {
+ "action": "Choose a machine and click on add layer for it. (intel-core2-32)",
+ "expected_results": "Layers added to project and add layer button becomes select machine. \n"
+ },
+ "6": {
+ "action": "Click on select machine.",
+ "expected_results": "Machine has changed. \n"
+ },
+ "7": {
+ "action": "Go to layer page that generate the machine. (meta-intel)",
+ "expected_results": "Open layer page \n"
+ },
+ "8": {
+ "action": "Build a recipe generated by that layer.",
+ "expected_results": "Build finishes successfully."
+ }
+ },
+ "summary": "Test_compatible_machines"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Builds_with_different_machines",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": "Click on new project button.",
+ "expected_results": "Open create a new project page. \n"
+ },
+ "3": {
+ "action": "Enter a project name, select a master release and click on create project.",
+ "expected_results": "Project Created. \n"
+ },
+ "4": {
+ "action": "Select a machine (ex: qemux86-64)",
+ "expected_results": "The machine has changed. \n"
+ },
+ "5": {
+ "action": "Build a recipe (ex: core-image-minimal) and wait until buid finish.",
+ "expected_results": "Build finishes successfully. \n"
+ },
+ "6": {
+ "action": "Go to project page and change the machine (ex: qemumips)",
+ "expected_results": "The machine has changed. \n"
+ },
+ "7": {
+ "action": "Build a recipe (ex: core-image-sato) and wait until build finish.",
+ "expected_results": "Build finishes successfully. \n\nYou can build recipes with different machines."
+ },
+ "8": {
+ "action": "Check on build summary page that the machine match the machine selected.",
+ "expected_results": ""
+ }
+ },
+ "summary": "Builds_with_different_machines"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_bitbake_variables_-_IMAGE_FSTYPES",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": "Click on new project button.",
+ "expected_results": "Open create a new project page. \n"
+ },
+ "3": {
+ "action": "Enter a project name, select release and click on create project.",
+ "expected_results": "Project Created. \n"
+ },
+ "4": {
+ "action": "Go to Configuration --> BitBake variables",
+ "expected_results": "Open Bitbake variables page. \n"
+ },
+ "5": {
+ "action": "Change IMAGE_FSTYPES variable, add some image types like: hddimg, ext4, etc.",
+ "expected_results": "Image types were added. \n"
+ },
+ "6": {
+ "action": "Build a recipe (ex: core-image-minimal) and wait until build finish.",
+ "expected_results": "Build finishes successfully. \n"
+ },
+ "7": {
+ "action": "Verify in the build summary page if the image types selected were built.",
+ "expected_results": "All the image types selected appears in the build summary page."
+ }
+ },
+ "summary": "Test_bitbake_variables_-_IMAGE_FSTYPES"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Software_recipes:_default_view",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": " If no images exist in the project, build an image by inserting \"core-image-minimal\" in the \"Recipes\" field and press the \"Build\" button. Wait for the image to finish building. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "On the project page click on the \"Software Recipes\" link situated in the left-handed side of the page, under the \"Project configuration\" menus, in the \"COMPATIBLE METADATA\" table. \n\n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Check that \"Compatible software recipes\" table is populated. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that the following columns are shown by default: \n\n\t\tSoftware recipe \n\t\tDescription \n \n\t\tLayer \n\t\tBuild \n\t\t Version ",
+ "expected_results": ""
+ }
+ },
+ "summary": "Software_recipes:_default_view"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Software_recipes:_sorting_the_content_of_the_software_recipes_table",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Navigate to the \"Software Recipes\" page. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Make sure the table is sorted on the \"Software Recipe\" column by default in ascending order. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Activate all columns from the \"Edit column\" drop-down menu. Check that \"Build\" and \"Software Recipe\" columns cannot be unchecked. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that \"Software Recipe\", \"Section\", \"License\", \"Layer\" are the only sortable table heads. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Sort the table by \"Layer\" and then navigate away by selecting a layer(such as meta-yocto). When you click \"back\" button in web-browser to go back to the \"Compatible image recipes\" table it should still be sorted by \"Layer\". \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Sorting and \"Edit columns\" \nIf you use the \"Edit columns\" menu to hide the column with the applied sorting, we revert the sorting to the default sorting (i.e. \"Recipe\"). The default sorting always uses one of the core columns, which cannot be hidden using the \"Edit columns\" menu. \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Sorting and search \nSearching should have no impact on the applied sorting. Any results returned should be sorted by the sorting criteria selected when the search query was submitted. \nSort recipes by \"Layer\" column heading. Input a string (such as \"meta\") in search box and click search button. Make sure results returned are sorted by \"Layer\".",
+ "expected_results": ""
+ }
+ },
+ "summary": "Software_recipes:_sorting_the_content_of_the_software_recipes_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Software_recipes:_Searching_the_content_of_the_software_recipes_table",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Navigate to the \"Software Recipes\" page. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that the search is made of a text input field and a \"Search\" button in a toolbar above the table. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "When no search query has been entered, we have placeholder text saying: \"Search compatible software recipes\". \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Input \"core\" in the text input field. The placeholder text disappears when the first character is typed. Click search button. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": " \n(1) returned results \nThe search string is kept in the text input field. The results returned occur. Click \"Clear search\" icon to clear the search and display the compatible recipes. \n(2) no results returned \nIf your search query returns no results, the page heading changes to \"No recipes found\", and we show you an alert with a search form and an option to show all targets. Check that \"show compatible recipes\" button is available. \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "When I run a search, the search happens against the following columns (independently of they being shown or hidden):\n- Software Recipe\n- Recipe version\n- Description\n- Recipe file\n- Section\n- License\n- Layer\n- Revision\nInput a string to search for the above column headings separately to make sure that the search happens against the columns. \n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Search, sorting and \"Edit columns\" \nSearching does not change the state of the table: the same columns remain hidden and the same sorting applied when search results are displayed, but filters are cleared by the search results.\nSearch a string and make sure that the same columns remain hidden and the same sorting applied. \n\n",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Search and filters \nThe scope of the filters is the content currently on the table (this means all table pages, not only the one displayed). The scope of the search is always the content of the database. \n\nIf I run a search query, any filter applied afterwards will filter the content returned by the search query. \n\nIf I run a search query while a filter is applied, the filter is cleared by the results of the search query (i.e. we display the results of the search query and clear the filter applied beforehand). The same happens if I click the \"Clear search\" icon when a filter is applied to a set of search results (both search results and applied filter are cleared, and the table shows all the targets). ",
+ "expected_results": ""
+ }
+ },
+ "summary": "Software_recipes:_Searching_the_content_of_the_software_recipes_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Software_recipes:_Filter_the_contents_of_the_software_recipes_table",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All builds\" table.",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Navigate to the \"Software Recipes\" page.",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Make sure the following table column has filters: \n- Build",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Filters are mutually exclusive. Click a filter button of a one column and a filter dialogue occurs. Select a filter item. The filter result would be showed. Then select another filter item of another column and the previously applied filter is overridden by the newly selected filter when a filter from a different column is applied to the table. In this state, we show some help text next to the \"Apply\" button, saying \"You can only apply one filter to the table. This filter will override the current filter.\"",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Filters are overridden by search. Run a search query and you can see previous filter results are overridden by the results of the search query.",
+ "expected_results": ""
+ }
+ },
+ "summary": "Software_recipes:_Filter_the_contents_of_the_software_recipes_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_the_packages_included_in_the_image",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": " Click on new project button.",
+ "expected_results": " Open create a new project page. \n"
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project.",
+ "expected_results": " Project Created. \n"
+ },
+ "4": {
+ "action": " Build a recipe (ex: core-image-minimal) and wait until build finish.",
+ "expected_results": " Build finishes successfully. \n"
+ },
+ "5": {
+ "action": " Click on the built recipe.",
+ "expected_results": " Open build summary page. \n"
+ },
+ "6": {
+ "action": " Under IMAGES tab click on the recipe built.",
+ "expected_results": "Image page open. \n"
+ },
+ "7": {
+ "action": "Click on a package name.",
+ "expected_results": "Open the package page. \n"
+ },
+ "8": {
+ "action": "Under file title click on the link to file.",
+ "expected_results": "You are redirected to directory structure and you can see where the file is located."
+ }
+ },
+ "summary": "Test_the_packages_included_in_the_image"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_the_filters_from_a_image_page",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": " Click on new project button.",
+ "expected_results": " Open create a new project page. \n"
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project.",
+ "expected_results": " Project Created. \n"
+ },
+ "4": {
+ "action": " Build a recipe (ex: core-image-minimal) and wait until build finish.",
+ "expected_results": " Build finishes successfully. \n"
+ },
+ "5": {
+ "action": " Click on the built recipe.",
+ "expected_results": " Open build summary page. \n"
+ },
+ "6": {
+ "action": "Click on Configuration - Bitbake Variables.",
+ "expected_results": "Open bitbake variables page. \n"
+ },
+ "7": {
+ "action": "Test Description filter. ",
+ "expected_results": "Filter works ok. (filter returns only items that match the selected criteria) "
+ }
+ },
+ "summary": "Test_the_filters_from_a_image_page"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_dependencies_link",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Start Toaster.",
+ "expected_results": "Toaster starts. \n"
+ },
+ "2": {
+ "action": " Click on new project button.",
+ "expected_results": " Open create a new project page. \n"
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project.",
+ "expected_results": " Project Created. \n"
+ },
+ "4": {
+ "action": " Build a recipe (ex: core-image-minimal) and wait until build finish.",
+ "expected_results": " Build finishes successfully. \n"
+ },
+ "5": {
+ "action": " Click on the built recipe.",
+ "expected_results": " Open build summary page. \n"
+ },
+ "6": {
+ "action": "Click on recipes tab.",
+ "expected_results": "Open recipes page. \n"
+ },
+ "7": {
+ "action": "Click on edit columns and select Dependencies.",
+ "expected_results": "Dependencies column is shown in the table. \n"
+ },
+ "8": {
+ "action": "Click on a number of dependencies.",
+ "expected_results": "A pop up with dependencies will appear. \n"
+ },
+ "9": {
+ "action": "Click on a dependency. ",
+ "expected_results": "Open recipe dependency page. "
+ }
+ },
+ "summary": "Test_dependencies_link"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_recipe_file_link",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster. \n\n\t",
+ "expected_results": "Toaster starts. \n\n\t"
+ },
+ "2": {
+ "action": " Click on new project button. \n\n\t",
+ "expected_results": " Open create a new project page. \n\n\t"
+ },
+ "3": {
+ "action": " Enter a project name, select a release (ex: master) and click on create project. \n\n\t",
+ "expected_results": " Project Created. \n\n\t"
+ },
+ "4": {
+ "action": "Click on Image recipes tab. \n\n\t",
+ "expected_results": "Open Compatible image recipes table. \n\n\t"
+ },
+ "5": {
+ "action": "Click on edit columns and select recipe file. \n\n\t",
+ "expected_results": "Recipe file column appears in the table. \n\n\t"
+ },
+ "6": {
+ "action": "Click on the blue button near a recipe file. \n\n\t",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Repet steps - 4 to 6 for software recipes.",
+ "expected_results": ""
+ }
+ },
+ "summary": "Test_recipe_file_link"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.See_packages_size",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster. \n\n\t",
+ "expected_results": " Toaster starts. \n\n\t"
+ },
+ "2": {
+ "action": " Click on new project button. \n\n\t",
+ "expected_results": " Open create a new project page. \n\n\t"
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project. \n\n\t",
+ "expected_results": " Project Created. \n\n\t"
+ },
+ "4": {
+ "action": " Build a recipe (ex: core-image-minimal) and wait until build finish. \n\n\t",
+ "expected_results": " Build finishes successfully. \n\n\t"
+ },
+ "5": {
+ "action": " Click on the built recipe. \n\n\t",
+ "expected_results": " Open build summary page. \n\n\t"
+ },
+ "6": {
+ "action": "Click on packages tab. \n\n\t",
+ "expected_results": "Open packages page. \n\n\t"
+ },
+ "7": {
+ "action": "Click on size to sort the table. ",
+ "expected_results": "You can check the size of each package. \n\nWhen you click on 'Size' the first time, the correct sorting is the inverse one (biggest package on top). Clicking a second time will invert the sorting (you'll see packages with 0 B size on top)."
+ }
+ },
+ "summary": "See_packages_size"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Build_multiple_recipes",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Start Toaster. \n\n\t",
+ "expected_results": " Toaster starts. \n\n\t"
+ },
+ "2": {
+ "action": " Click on new project button. \n\n\t",
+ "expected_results": " Open create a new project page. \n\n\t"
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project. \n\n\t",
+ "expected_results": " Project Created. \n\n\t"
+ },
+ "4": {
+ "action": " Build a multiple recipes (ex: \"core-image-minimal core-image-sato\") and wait until build finish. ",
+ "expected_results": "Builds finishes successfully. \n\nYou can build multiple recipes with toaster"
+ }
+ },
+ "summary": "Build_multiple_recipes"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Build_a_recipe_with_different_distro",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Start Toaster. \n\n\t",
+ "expected_results": " Toaster starts. \n\n\t"
+ },
+ "2": {
+ "action": " Click on new project button. \n\n\t",
+ "expected_results": " Open create a new project page. \n\n\t"
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project. \n\n\t",
+ "expected_results": " Project Created. \n\n\t"
+ },
+ "4": {
+ "action": "From project page click on Bitbake variables tab. \n\n\t",
+ "expected_results": "Open Bitbake variables page. \n\n\t"
+ },
+ "5": {
+ "action": "Click on change button for distro. \n\n\t",
+ "expected_results": "A type in form appears. \n\n\t"
+ },
+ "6": {
+ "action": "Change distro (ex: poky-lsb). \n\n\t",
+ "expected_results": "Distro has changed. \n\n\t"
+ },
+ "7": {
+ "action": "Add specific layers for distro (meta-qt3, meta-qt4) \n\t\n\t",
+ "expected_results": "Layers added to the project \n\n\t"
+ },
+ "8": {
+ "action": " Build a recipe (ex: core-image-minimal) and wait until build finish.",
+ "expected_results": "Build finishes successfully. \n\nThe 'success' criteria for this one should be that the build is reported as using the poky-lsb distro in the build summary page, and that the DISTRO variable value in the bitbake variables table is set to the value specified in toaster (poky-lsb again)."
+ }
+ },
+ "summary": "Build_a_recipe_with_different_distro"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_package_format_-_ipk_rpm_deb",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " Start Toaster. \n\n\t",
+ "expected_results": " Toaster starts. \n\n\t"
+ },
+ "2": {
+ "action": " Click on new project button. \n\n\t",
+ "expected_results": " Open create a new project page. \n\n\t"
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project. \n\n\t",
+ "expected_results": " Project Created. \n\n\t"
+ },
+ "4": {
+ "action": "From the project page click on bitbake variables tab. \n\n\t",
+ "expected_results": "Open bitbake variables page. \n\n\t"
+ },
+ "5": {
+ "action": "Click on change button near PACKAGE_CLASSES and select all the package formats (rpm, deb, ipk). \n\n\t",
+ "expected_results": "Package classes selected. \n\n\t"
+ },
+ "6": {
+ "action": "Build a recipe (ex: core-image-minimal) and wait until build finish.",
+ "expected_results": "Build finishes successfully.\nYou can see the package classes in the build summary page."
+ }
+ },
+ "summary": "Test_package_format_-_ipk_rpm_deb"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Test_IMAGE_INSTALL_append_variable",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster. \n\n",
+ "expected_results": " Toaster starts. \n\n\t"
+ },
+ "2": {
+ "action": " Click on new project button. \n\n",
+ "expected_results": " Open create a new project page. \n\n\t"
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project. \n\n",
+ "expected_results": " Project Created. \n\n\t"
+ },
+ "4": {
+ "action": "From the project page click on bitbake variables tab. \n\n",
+ "expected_results": "Open bitbake variables page. \n\n\t"
+ },
+ "5": {
+ "action": "Click on change button for IMAGE_INSTALL_append and add a variable (ex: acpid). \n\n",
+ "expected_results": "Variable added. \n\n\t"
+ },
+ "6": {
+ "action": "Build a recipe (ex: core-image-minimal) and wait until build finish. \n\n",
+ "expected_results": "Build finishes successfully. \n\n\t"
+ },
+ "7": {
+ "action": "After build finishes go to build page. \n\n",
+ "expected_results": "Open build summary page. \n\n\t"
+ },
+ "8": {
+ "action": "Go to package tab and search for acpid.",
+ "expected_results": "You should get results for ssh packages."
+ }
+ },
+ "summary": "Test_IMAGE_INSTALL_append_variable"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.New_custom_image:_default_view",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All projects\" table. \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"New custom image\" link situated on the left-hand side, near Configuration, builds, import layer \n\n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that the table is populated with the list of image recipes (eg. core-image minimal, core-image-lsb) \n\n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": " Check that by default the following columns are shown: Image recipe, Version, Description, Layer, Customise \n\n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "From the \"Edit columns\" menu, activate the: Recipe file, Section, License, Git revision \n\n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Check that the \"Git revision\" entries match the release entry from the main project page, in the project details section. \n\n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Check that the image recipes provided by layers added to the project show a 'customise' button, while image recipes provided by layers not added to the project show an 'add layer' button ",
+ "expected_results": ""
+ }
+ },
+ "summary": "New_custom_image:_default_view"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.New_custom_image:_sorting_the_content_of_new_custom_image_table",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All projects\" table. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"New custom image\" link situated on the left-hand side, near Configuration, builds, import layer \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Make sure that the table is sorted on the â€Image recipe’ column by default in ascending order. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Clicking on Image recipe should revert the sorting. (from 'a to z' changes to 'z to a') \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "From the \"Edit columns\" menu activate all the columns. Check that â€Image recipe’ and â€Customise’ columns cannot be unchecked. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Check that Image recipe, Section, Layer and License are the only sortable table heads. \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Sort the table by \"Layer\" and then navigate away by selecting an image (such as core-image-lsb). When you click the \"back\" button in the web-browser to go back, the \"New custom image\" table should still be sorted by \"Layer\". \nThis should apply also by navigating back to the page by any other means. \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Sorting and \"Edit columns\" menu: If you use the \"Edit columns\" menu to hide the column with the applied sorting, we revert the sorting to the default sorting (i.e. \"Image recipe\"). The default sorting always uses one of the core columns, which cannot be hidden using the \"Edit columns\" menu \n\n",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Sorting and search: Searching should have no impact on the applied sorting. Any results returned should be sorted by the sorting criteria selected when the search query was submitted. Sort recipes by \"Layer\" column heading. Input a string (such as \"core-image\") in search box and click search button. Make sure results returned are sorted by \"Layer\".",
+ "expected_results": "N/A"
+ }
+ },
+ "summary": "New_custom_image:_sorting_the_content_of_new_custom_image_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.New_custom_image:_searching_the_content_of_new_custom_image_table",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All projects\" table. \n \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"New custom image\" link situated on the left-hand side, near Configuration, builds, import layer \n \n\n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that the search is made of a text input field and a \"Search\" button in a toolbar above the table. When no search query has been entered, the text input field should show the following placeholder text: \"Search select the image recipe you want to customise\" \n \n\n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Input \"core\" in the text input field. The placeholder text disappears when the first character is typed. Click search button. \n \n\n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "The search string is kept in the text input field. The results returned occur. Click \"Clear search\" icon to clear the search and display the image recipes. If your search query returns no results, we show you an alert with a search form and an option to show all image recipes. Check that \"show all\" link is available. \n\n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Search, sorting and \"Edit columns\": Searching does not change the state of the table: the same columns remain hidden and the same sorting applied when search results are displayed, but filters are cleared by the search results. Search a string and make sure that the same columns remain hidden and the same sorting applied. \n\n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Search and filters \n \n\t•\tThe scope of the filters is the content currently on the table (this means all table pages, not only the one displayed). The scope of the search is always the content of the database. \n\n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "If I run a search query, any filter applied afterwards will filter the content returned by the search query. \tIf I run a search query while a filter is applied, the filter is cleared by the results of the search query (i.e. we display the results of the search query and clear the filter applied beforehand). The same happens if I click the \"Clear search\" icon when a filter is applied to a set of search results (both search results and applied filter are cleared, and the table shows all the targets). ",
+ "expected_results": "\n \n"
+ }
+ },
+ "summary": "New_custom_image:_searching_the_content_of_new_custom_image_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.New_custom_image:_Filter_the_contents_of_the_new_custom_image_table",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All projects\" table. \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"New custom image\" link situated on the left-hand side, near Configuration, builds, import layer \n\n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Make sure the following table column has filters: Customise \n\n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Click the filter button in the \"Customise\" column and a filter dialogue comes up. Select a filter option. The filter results should be showed. \n\n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Filters are overridden by search. Run a search query and you can see previous filter results are overridden by the results of the search query.",
+ "expected_results": "N/A"
+ }
+ },
+ "summary": "New_custom_image:_Filter_the_contents_of_the_new_custom_image_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Create_new_custom_image",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All projects\" table. \n \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"New custom image\" link situated on the left-hand side, near Configuration, builds, import layer \n\n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Search for rpi-basic-image, click on 'add layer' button. Make sure a \"layer added\" notification shows and a \"customise\" button is displayed. Click the \"customise\" button, type a name for you new custom image and click on create custom image. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Verify that image was created: when you create the custom image you will be redirected to the custom image details page, and a notification at the top of the page should tell you: â€Your custom image X has been created. You can now add or remove packages as needed. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "If you select an image that has not been built beforehand you should not see the 'add / remove' packages table until you build the image. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "If you select an image that has been built beforehand you should see the 'add / remove' packages table when you create the custom image. ",
+ "expected_results": "N/A"
+ }
+ },
+ "summary": "Create_new_custom_image"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Custom_image_page_details",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "After you create a new custom image go to the custom image page, by clicking on the custom image. \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Breadcrumbs \n \n\t * Observe that the 3 breadcrumbs at the top left are: \n \n\t\ta live link that will take you back to the project page \n\t\tCustom images: a live link that will take you back to the custom images table \n\t\timage name(toaster-custom-images): the name of the current custom image (not a link) \n \n\n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe the 2 buttons build Custom image and Download recipe file \n \n\ti.\tTest this 2 buttons \n\tii.\tYou should always be able to build the custom image, but you only should be able to download the recipe file when the package content of the custom image is known. When you cannot download the recipe file, the 'download' button at the top of the page is disabled, and the right hand column does not show information about the recipe file. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Observe that there is a right-hand box, with information about the images \n \n\ti.\tThere is a number of packages included in the custom image \n\tii.\tApprox package size \n \n\tiii.\tLayer \n \n\tiv.\tImage based on \n \n\tv.\tRecipe file (only when you can download it_ \n\tvi.\tVersion \n \n\tvii.\tLicense \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Observe that the page includes a table with packages and you can add or remove packages from the custom image. The packages table only appears when: \n\na) the image recipe you chose as your base image when creating the custom image has been built within the project \n\nb) the custom image itself has been built \n\nIf no packages table shows, you see a notification with a build button instead. ",
+ "expected_results": "N/A"
+ }
+ },
+ "summary": "Custom_image_page_details"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Custom_image_page_–_Add_|_Remove_packages_table",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "After you create a new custom image go to the custom image page, by clicking on the custom image. \n\n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Make sure that the table is sorted on the â€Package’ column by default in ascending order. \n\n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Check that by default the following columns are shown: Package, Package Version, Approx Size \n\n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "From the \"Edit columns\" menu, activate the: License, Recipe, Recipe version and Reverse dependencies columns \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Check that â€Package’, Approx Size, License, Recipe are the only sortable table heads. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Sorting and \"Edit columns\": If you use the \"Edit columns\" menu to hide the column with the applied sorting, we revert the sorting to the default sorting (i.e. \"Package\"). The default sorting always uses one of the core columns, which cannot be hidden using the \"Edit columns\" menu \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Sorting and search: Searching should have no impact on the applied sorting. Any results returned should be sorted by the sorting criteria selected when the search query was submitted. Sort recipes by \"Recipe\" column heading. Input a string (such as \"acl\") in search box and click search button. Make sure results returned are still sorted by \"Recipe\". \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Click \"Clear search\" icon to clear the search and display the Packages. \n\n",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Make sure the following table column has filters: Add | Remove (Click on 'Edit custom image' in the left pane of the custom image) \n\n1",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "Click the filter button: a filter dialogue displays. Select a filter option. The filter results should be showed. \n\n1",
+ "expected_results": ""
+ },
+ "11": {
+ "action": "Filters are overridden by search. Run a search query and you can see previous filter results are overridden by the results of the search query. \n\n1",
+ "expected_results": ""
+ },
+ "12": {
+ "action": "This page needs a special no results message for the search. You can see in the doc attached to\nhttps://bugzilla.yoctoproject.org/show_bug.cgi?id=9154 \n\nTo test it, enter a random string in the search input field (something like \"bbb\") and click the 'search' button. The special no results message includes the following: \n\na) instructions about searching and building recipes in order to generate new packages \n\nb) a search text input field with the search string you typed, a 'clear' icon and a search button. Click the 'clear' icon: the search field should be cleared and the full list of packages should be shown. \n\nc) a 'show all packages' link. Click the link: the search field should be cleared and the full list of packages should be shown. ",
+ "expected_results": "N/A"
+ }
+ },
+ "summary": "Custom_image_page_–_Add_|_Remove_packages_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Adding_packages_without_dependencies_from_custom_images",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All projects\" table. \n\n ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"New custom image\" link situated on the left-hand side, near Configuration, builds, import layer \n\n\n ",
+ "expected_results": " "
+ },
+ "3": {
+ "action": "Choose an image recipe example:(core-image-sato) and click on the customise button on the far right (note if that layer is not added the button will say +Add layer, add it and then customise) \n\n\n ",
+ "expected_results": " A pop out should appear and you should get to give the new image a customized name. Then you will be redirected to a page of Add|Remove Packages. If this image has not been build it will not have packages.\n\n"
+ },
+ "4": {
+ "action": "Build the new image if it has not been build, else start adding packages without dependencies example: attr-doc \n\n \n ",
+ "expected_results": "You should get a message in blue that says \"You have added 1 package to $image-custom-name: $package-name\" "
+ },
+ "5": {
+ "action": "Build the image again.\n",
+ "expected_results": "Expected Result on step 5: the packages you have added should be installed in the image."
+ }
+ },
+ "summary": "Adding_packages_without_dependencies_from_custom_images"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Removing_packages_without_and_with_dependencies__from_custom_images",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All projects\" table. \n\n ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"New custom image\" link situated on the left-hand side, near Configuration, builds, import layer \n\n\n\n ",
+ "expected_results": " A pop out should appear and you should get to give the new image a customized name. Then you will be redirected to a page of Add|Remove Packages. If this image has not been build it will not have packages. \n\n"
+ },
+ "3": {
+ "action": "Choose an image recipe example:(core-image-sato) and click on the customise button on the far right (note if that layer is not added the button will say +Add layer, add it and then customise) \n\n\n\n ",
+ "expected_results": "A pop out should appear and you should get to give the new image a customized name. Then you will be redirected to a page of Add|Remove Packages. If this image has not been build it will not have packages.\n\n"
+ },
+ "4": {
+ "action": "Build the new image if it has not been build else start removing a packages (click on 'Edit custom image' in the left pane of the custom image) that have dependencies and packages that have no dependencies that are already included by clicking on the red button \"Remove Package\" \n\n\n \n ",
+ "expected_results": "You should get a message in blue that says \"You have removed 1 package to $image-custom-name: $package-name\" "
+ },
+ "5": {
+ "action": "Build the image again.",
+ "expected_results": "the packages you have removed should not be installed in the image."
+ }
+ },
+ "summary": "Removing_packages_without_and_with_dependencies__from_custom_images"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Adding_packages_with_dependencies",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Access a project page, either by creating a new project or accessing an existing project from the \"All projects\" table. \n\n ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "On the project page click on the \"New custom image\" link situated on the left-hand side, near Configuration, builds, import layer \n\n\n ",
+ "expected_results": " "
+ },
+ "3": {
+ "action": "Choose an image recipe example:(core-image-sato) and click on the customise button on the far right (note if that layer is not added the button will say +Add layer, add it and then customise) \n\n\n ",
+ "expected_results": "A pop out should appear and you should get to give the new image a customized name. Then you will be redirected to a page of Add|Remove Packages. If this image has not been build it will not have packages."
+ },
+ "4": {
+ "action": "Build the new image if it has not been build else start adding packages that have dependencies ( you will be able to see in the dependencies column a little square with a number, that tells you the dependencies it holds) example: libattr this holds 2 dependencies( bash and glibc) ",
+ "expected_results": " You should get a pop-out that that say \"$package_name dependencies\" then it should list the dependencies. Once clicked on the add packages button it should add the packages listed in the pop-out."
+ },
+ "5": {
+ "action": "Build the image again.",
+ "expected_results": ""
+ }
+ },
+ "summary": "Adding_packages_with_dependencies"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Create_Project",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project by issuing a name and selecting a release version.",
+ "expected_results": "Once project is created it should redirect you to a new project configuration page"
+ },
+ "3": {
+ "action": "Check that the h1 page title is set to the name the user typed in the new project form. ",
+ "expected_results": ""
+ }
+ },
+ "summary": "Create_Project"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_project_detail_page_left_bar_menu",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n \n",
+ "expected_results": "Once project is created it should redirect you to a new project configuration page. \n\n"
+ },
+ "3": {
+ "action": "Check the page contains the tabs \n Configuration ---> selected by default \n Compatible Metadata (separation label) \n Custom images \n Image recipes \n Software recipes \n Machines \n Layers \n Extra Configuration (separation label) \n BitBake variables \n\n",
+ "expected_results": " All elements are present. \n\n"
+ },
+ "4": {
+ "action": "Click on each element to see if the h2 title is changing to the respective link clicked. Example if clicked on \"Custom Images\" then the h2 title should change to \"Custom images\"",
+ "expected_results": "All elements are clickable and h2 title changes to the corresponding title.."
+ }
+ },
+ "summary": "Verify_project_detail_page_left_bar_menu"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Configuration_information_of_Project_Detail_page",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Clone Poky and start toaster \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a master toaster project \n \n",
+ "expected_results": "Once project is created it should redirect you to a new project configuration page \n\n"
+ },
+ "3": {
+ "action": "Check that the configuration button on the left side bar is selected by default \n\n",
+ "expected_results": " Expected result step 3 & 4: The configuration link next to the build link should be selected see attachment. \n\n\n\n"
+ },
+ "4": {
+ "action": "The configuration details should include canvas: \n Machine \n Most built recipes \n Layers \n Project Release ",
+ "expected_results": "Expected result step 4: A machine must always be set. \n\nThe default layers specified in the Toaster configuration must always be listed in the layer section (in our case, for the poky configuration we should have openembedded-core, meta-poky and meta-yocto-bsp)"
+ }
+ },
+ "summary": "Configuration_information_of_Project_Detail_page"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_Machine_information_of_project_detail_page",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n \n",
+ "expected_results": "Expected result step 2: Once project is created it should redirect you to a new project Configuration page \n\n"
+ },
+ "3": {
+ "action": "The configuration details should include a label in bold font that says: \n Machine: this canvas should have the machine label type under it and an editing button on the side ",
+ "expected_results": "Expected result step 3: Compare to the attached snapshot. The machine must always be set."
+ }
+ },
+ "summary": "Verify_Machine_information_of_project_detail_page"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_most_built_recipes_information_of_the_project_detail_page",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n \n",
+ "expected_results": "Expected result step 2: Once project is created it should redirect you to a new project configuration page "
+ },
+ "3": {
+ "action": "The configuration details should include a label in bold font that says: \n Most built recipes: In this canvas one of the following information should show: \n\n a) If there has been no built recipes it should have a label that says: \n \"You haven't built any recipes yet, choose a recipe to build\" \n\n b) Else it should have a list of built recipes and a check box in front of it. So that it could be selected and built again ",
+ "expected_results": "Expected result step a: See ProjectDetailPage2.png attachment.\n\nExpected result step b: See ProjectDetailPage.png attachment."
+ }
+ },
+ "summary": "Verify_most_built_recipes_information_of_the_project_detail_page"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_project_release_information_on_project_detail_page",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n \n",
+ "expected_results": "Expected result step 2: Once project is created it should redirect you to a new project configuration page. "
+ },
+ "3": {
+ "action": "The configuration details should include a label in bold font that says: \n Project release: this canvas should also have a label that show the release project you chose at the beginning.",
+ "expected_results": "Expected result step 3: See attachment ProjectDetailPage.jnp."
+ }
+ },
+ "summary": "Verify_project_release_information_on_project_detail_page"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_layer_information_of_the_project_detail_page",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Clone the poky environment git clone http://git.yoctoproject.org/git/poky",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Start toaster",
+ "expected_results": "Expected result step 2: Once project is created it should redirect you to a new project configuration page. \n\n"
+ },
+ "3": {
+ "action": "Create a toaster project \n \n",
+ "expected_results": "Expected result step 3: See attachment of layerCanvas.png\n"
+ },
+ "4": {
+ "action": "The configuration details should include a label with bold font that says: \n Layer: this canvas should have 3 layers listed by default (openembedded-core, meta-poky, and meta-yocto-bsp). \n Each layer should have a trashcan icon at the side that can be used to erase the label from the project. \n The layer canvas should have a text box with the text \"type a layer name\" a button \"Add layer\" next to it. \n just underneath a \"view compatible layer | import layer\" link. ",
+ "expected_results": ""
+ }
+ },
+ "summary": "Verify_layer_information_of_the_project_detail_page"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_project_detail_links",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n\n",
+ "expected_results": "Expected result step 2: Once project is created it should redirect you to a new project configuration page. \n\n"
+ },
+ "3": {
+ "action": "The configuration details should include \n 4 links, starting in the upper left side the Configuration link, Builds(#) link, Import layer link, and the New custom image link. \n\n ",
+ "expected_results": "Expected result step 3: All links should be clickable and should have information or tables, or forms. see attachment projectDetailLinks.png"
+ }
+ },
+ "summary": "Verify_project_detail_links"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_build_texbox_exists_and_works",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n \n",
+ "expected_results": " Once project is created it should redirect you to a new project configuration page. \n\n\n"
+ },
+ "3": {
+ "action": "The configuration details should include \n After the 4 links (Configuration, Build(#), Import layer & New custom image) at the far right there should be a textbox with the label that says....\"Type the recipe you want to build\" and a button \"Build\" \n\n",
+ "expected_results": "See attachment buildTXT.png, The build button should be disabled whenever the text input field is empty, so that you cannot start a build with a blank target \n\n"
+ },
+ "4": {
+ "action": "Type in the textbox an image you would like to build example (core-image-minimal) and click the build button.\n\n",
+ "expected_results": " Image starts building. Whenever there is information in the image recipes and software recipes tables, the text input field should present suggestions from the list of recipes provided by the layers in the \"layers\" list. The suggestions contain the string typed in the input field, and update as you type. They appear on typing the second character. A maximum of 8 suggestions can be shown. They are sorted as follows: first recipes starting with the string, in alphabetical order; then recipes containing the string, also in alphabetical order \n\n\nWhen you click the build button you are brought to the \"Builds\" tab, and a new build in progress appears at the top of the \"Latest project builds\" section"
+ }
+ },
+ "summary": "Verify_build_texbox_exists_and_works."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Veryfing_the_builds_link_show_proper_information",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n \n",
+ "expected_results": " Once project is created it should redirect you to a new project configuration page. \n\n\n"
+ },
+ "3": {
+ "action": "The configuration details should include \n A builds tab that when clicking on, it should display one of the following: \n \n\n a) A label that says \"Latest project builds\" then a label with \"All project builds\" \n If you have a finished build or there is an ongoing builds then: \n You should see a progress bar of the ongoing builds in the project. \n You should see a table with the already done builds in the project. \n\n\n b) \"All project builds\" and a search textbox with a button nothing else only if there are no builds done in the project \n ",
+ "expected_results": "Expected result for step a): See ExistingBuilds.png attachment. \n\n\nExpected result for step b): See ZeroBuilds.png attachment. "
+ }
+ },
+ "summary": "Veryfing_the_builds_link_show_proper_information"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_that_the_Import_layer_link_shows_the_form",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n\n",
+ "expected_results": " Once project is created it should redirect you to a new project configuration page. \n\n\n"
+ },
+ "3": {
+ "action": "The configuration details should include \n An Import layer link that when clicking on, it should display: \n A label that says \"Layer repository information\" \n A label that says \"The layer you are importing must be compatible with Yocto Project master, which is the release you are using in this project.\" \n Form composed of the following elements: \n Layer name : textbox \n Git repository URL : textbox \n Repository subdirectory (optional) : textbox \n Git revision : textbox \n Layer dependencies (optional) : \"openembedded-core\" link and (trash icon), textbox and \"Add layer\" button \n Import and add to project : button",
+ "expected_results": " See attachment ImportLayerForm.png"
+ }
+ },
+ "summary": "Verify_that_the_Import_layer_link_shows_the_form"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_that_New_Custom_Image_link_works_and_shows_information",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project \n\n",
+ "expected_results": " Once project is created it should redirect you to a new project configuration page \n\n\n"
+ },
+ "3": {
+ "action": "The configuration details should include \n A \"New custom image\" tab that when clicking on, it should display: \n a Title label that says: \"Select the image recipe you want to customise(#number_or_recipes_available)\" \n A search textbox with the label of: \"Search and select the image recipe you want to customise\" \n A \"Search button\" \n A \"Edit columns\" button \n A table that will display the customise images available ",
+ "expected_results": "See attachment CustomImage.png"
+ }
+ },
+ "summary": "Verify_that_New_Custom_Image_link_works_and_shows_information"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_most_built_recipe_shows_a_maximum_of_5_recipes",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. ",
+ "expected_results": " All recipes are built correctly \n\n"
+ },
+ "4": {
+ "action": "Wait for the recipes to finish ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Go to the configuration details.",
+ "expected_results": " You should see 5 of the 6 recipes that were build. If you order the recipes in alphabetical order you should see that the first 5 made the list. "
+ }
+ },
+ "summary": "Verify_most_built_recipe_shows_a_maximum_of_5_recipes"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_order_sequence_of_listing_in_Most_build_recipes",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. \n\n",
+ "expected_results": "All recipes are built correctly \n\n"
+ },
+ "4": {
+ "action": "Wait for the recipes to finish \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Go to the configuration details. \n\n",
+ "expected_results": " If you order the recipes in alphabetical order you should see that the first 5 made the list. Only 5 out of the 6 should make the list. \n\n"
+ },
+ "6": {
+ "action": "Select the 6th recipe that did not make the list and build it again. ",
+ "expected_results": " Since the 6th recipe is now built twice it should make the list and the recipe in the 5th place should not appear."
+ }
+ },
+ "summary": "Verify_order_sequence_of_listing_in_Most_build_recipes"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_Most_build_recipes_multiple_selection",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start toaster",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create a toaster project",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. \n\n",
+ "expected_results": " All recipes are built correctly \n\n"
+ },
+ "4": {
+ "action": "Wait for the recipes to finish. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Go to the configuration details. \n\n",
+ "expected_results": " You should see the 4 recipes in alphabetical order. You should also note that the Build button on the upper right hand corner is disabled since no recipe has been selected. \n\n"
+ },
+ "6": {
+ "action": "Select 1 of the recipes in the most built recipes section. \n\n",
+ "expected_results": "The build button is automatically enabled. \n\n"
+ },
+ "7": {
+ "action": "Select multiple (example 2 or 3) recipes in the most built recipes section. \n\n",
+ "expected_results": " The build button is enabled. \n\n"
+ },
+ "8": {
+ "action": "Click on the build button to start building the recipes.",
+ "expected_results": "One recipe start to build and the others are on queue."
+ }
+ },
+ "summary": "Verify_Most_build_recipes_multiple_selection"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_layer_addition_functionality",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Clone the poky environment git clone http://git.yoctoproject.org/git/poky",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Start toaster",
+ "expected_results": " Once project is created it should redirect you to a new project configuration page. \n\n"
+ },
+ "3": {
+ "action": "Create a toaster project with master release \n \n\n",
+ "expected_results": " See attachment of layerCanvas.png \n\n\n"
+ },
+ "4": {
+ "action": "Add layers by typing the name in the \"Type a layer name\" input box and adding by clicking the button. \n\n",
+ "expected_results": " A list of layers with similar name to the one you are typing should appear, giving you the choice to add it. The default text \"Type a layer name\" should disappear as soon as you start typing. \n\n"
+ },
+ "5": {
+ "action": "Add layers by clicking on the View compatible layers link just bellow the input text box. \n\n",
+ "expected_results": "This should redirect you to the compatible layers page where a list of compatible layers should appear and allow you to Add layers to the project. \n\n"
+ },
+ "6": {
+ "action": "Add a layer by importing a layer clicking in the Import layer",
+ "expected_results": "This link should redirect you to the import layer form where you will be able to add layers from git repository or a local directory. \n\n\n"
+ }
+ },
+ "summary": "Verify_layer_addition_functionality"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Verify_delete_layer_functionality",
+ "author": [
+ {
+ "email": "libertad.gonzalez.de.la.cruz@intel.com",
+ "name": "libertad.gonzalez.de.la.cruz@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Clone the poky environment git clone http://git.yoctoproject.org/git/poky\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Start toaster",
+ "expected_results": " Once project is created it should redirect you to a new project configuration page.\n\n"
+ },
+ "3": {
+ "action": "Create a toaster project master release \n \n",
+ "expected_results": "See attachment of layerCanvas.png \n\n"
+ },
+ "4": {
+ "action": "Remove openembedded-core layer from the project by clicking the trash icon next to it. \n\n",
+ "expected_results": "The layer should disappear from the list and a notification should appear at the top of the page saying: \"You have removed 1 layer from your project: \". The layer_name should be a link to the corresponding layer detail page. The layer counter next to the \"layers\" heading should decrease by one. \n"
+ },
+ "5": {
+ "action": "Remove all the layers from the project",
+ "expected_results": " you should see a message that reads: \n\nYou need to add some layers. For that you can: \n\n-View all layers compatible with this project \n\n-Import a layer \n\n-Read about layers in the documentation \n\nOr type a layer name below. \n\n\n The \"Choose from the layers compatible with this project\" link should go to the compatible layers page The \"Import a layer\" link should go to the import layer page The \"Read about layers in the documentation\" link should open in a new window and bring you to http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#understanding-and-creating-layers"
+ }
+ },
+ "summary": "Verify_delete_layer_functionality"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-managed-mode.toaster-managed.Download_task_log",
+ "author": [
+ {
+ "email": "alexandru.costinx.roman@intel.com",
+ "name": "alexandru.costinx.roman@intel.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start Toaster. ",
+ "expected_results": "Toaster starts."
+ },
+ "2": {
+ "action": "Click on new project button.\n\n",
+ "expected_results": "Open create a new project page."
+ },
+ "3": {
+ "action": " Enter a project name, select a release and click on create project or select an existing project. \n\n",
+ "expected_results": "Project Created."
+ },
+ "4": {
+ "action": "Build a recipe (ex: core-image-minimal). \n\n",
+ "expected_results": "Build finish."
+ },
+ "5": {
+ "action": "Click on the built recipe. \n\n",
+ "expected_results": "Open build summary page."
+ },
+ "6": {
+ "action": "Click on tasks tab. \n\n",
+ "expected_results": "Open tasks page."
+ },
+ "7": {
+ "action": "Click on a task executed successfully. \n\n",
+ "expected_results": "Open task page."
+ },
+ "8": {
+ "action": "Click on \"Download task log\" button. \n",
+ "expected_results": "You can download the task log. \n"
+ },
+ "9": {
+ "action": "Click on a failed task. \n",
+ "expected_results": "Open task page, not appear download task \n"
+ }
+ },
+ "summary": "Download_task_log"
+ }
+ }
+] \ No newline at end of file
diff --git a/poky/meta/lib/oeqa/manual/toaster-unmanaged-mode.json b/poky/meta/lib/oeqa/manual/toaster-unmanaged-mode.json
new file mode 100644
index 000000000..29d11a87d
--- /dev/null
+++ b/poky/meta/lib/oeqa/manual/toaster-unmanaged-mode.json
@@ -0,0 +1,1170 @@
+[
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.Create_a_Yocto_project_and_start_the_Toaster",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Set up yocto project and toaster test environment. \ncd ${installdir} \ngit clone git://git.yoctoproject.org/poky \n\n",
+ "expected_results": "NA \n\n"
+ },
+ "2": {
+ "action": "Start up toaster. \ncd ${installdir} \nsource poky/oe-init-build-env \nsource toaster start \n\n",
+ "expected_results": " \nlog: \nThe system will start. \nSyncing... \nCreating tables ... \nCreating table south_migrationhistory \nInstalling custom SQL ... \nInstalling indexes ... \nInstalled 0 object(s) from 0 fixture(s) \n > south \n\nNot synced (use migrations): \n - orm \n(use ./manage.py migrate to migrate these) \nRunning migrations for orm: \n - Migrating forwards to 0004_auto__add_field_package_installed_name. \n > orm:0001_initial \n > orm:0002_auto__add_field_build_timespent \n > orm:0003_timespent \n - Migration 'orm:0003_timespent' is marked for no-dry-run. \n > orm:0004_auto__add_field_package_installed_name \n - Loading initial data for orm. \nInstalled 0 object(s) from 0 fixture(s) \nserver address: 127.0.0.1, server port: 8200 \nSuccessful start."
+ },
+ "3": {
+ "action": "Build the yocto project. \nbitbake core-image-minimal \n\n",
+ "expected_results": "Build successfully. \n"
+ },
+ "4": {
+ "action": "Use a default web brower to see project build process. \nxdg-open http://localhost:8000/ \nWait for build completion. \n",
+ "expected_results": "You can open http://localhost:8000/ in a default browser. The build process is showed. "
+ }
+ },
+ "summary": "Create_a_Yocto_project_and_start_the_Toaster."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.Sort_the_content_of_the_builds_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start up toaster.",
+ "expected_results": "Succeed to start up toaster. "
+ },
+ "2": {
+ "action": "Create 2 builds, such as \"bitbake core-image-minimal\" and \"bitbake core-image-sato\". Wait for successful builds and then run: http://localhost:8000/",
+ "expected_results": "Succeed to build the targets. "
+ },
+ "3": {
+ "action": "Enter \"All build\" table in web browser.",
+ "expected_results": "NA "
+ },
+ "4": {
+ "action": "Click \"Completed on\" component to sort.",
+ "expected_results": "Build targets are sorted out by the \"Completed on\". "
+ },
+ "5": {
+ "action": "Click \"Completed on\" component again to invert the sorting .",
+ "expected_results": "The sorting is inverted. "
+ },
+ "6": {
+ "action": "Have a sort try in other columns. outcome, machine, started on, completed on, errors, warnings, project.",
+ "expected_results": "See item 4 and 5."
+ }
+ },
+ "summary": "Sort_the_content_of_the_builds_table."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.Search_the_content_of_the_builds_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start up toaster.",
+ "expected_results": "NA "
+ },
+ "2": {
+ "action": "Create 2 builds, such as \"bitbake core-image-minimal\" and \"bitbake core-image-sato\". Wait for successful builds and then run: xdg-open http://localhost:8000/",
+ "expected_results": "NA "
+ },
+ "3": {
+ "action": "Enter \"All build\" table in web browser.",
+ "expected_results": "NA "
+ },
+ "4": {
+ "action": "Input a string in search component and click search.",
+ "expected_results": "Show returned search results. When no search query has been entered, we have placeholder text saying: \"Search builds\". The placeholder text disappears when the first character is typed. "
+ },
+ "5": {
+ "action": "See returned search results.",
+ "expected_results": "If your search query returns no results, the section heading changes to \"No builds found\", and we show you an alert with a search form and an option to show all builds. "
+ },
+ "6": {
+ "action": "Click \"Clear search\" icon (icon-remove-sign). Observe all builds are showed. ",
+ "expected_results": "Click it to clear the search and display all builds."
+ }
+ },
+ "summary": "Search_the_content_of_the_builds_table."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.Filter_the_content_of_the_builds_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start up toaster.",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create 2 builds, such as \"bitbake core-image-minimal\" and \"bitbake core-image-sato\". Wait for successful builds and then run: xdg-open http://localhost:8000/.",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Enter \"All build\" table in web browser.",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Make sure the following table columns have filters. \n- Outcome \n-- Started on \n- Completed on \n- Failed tasks",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Filters are mutually exclusive. Click a filter button of a one column and a filter dialogue occurs. Select a filter item. The filter result would be showed. Then select another filter item of another column and the previously applied filter is overridden by the newly selected filter when a filter from a different column is applied to the table. In this state, we show some help text next to the \"Apply\" button, saying \"You can only apply one filter to the table. This filter will override the current filter.\"",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Filters are overridden by search. Run a search query and you can see previous filter results are overridden by the results of the search query.",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Have a try in filters of the following table columns. \n- Outcome \n- Started on \n- Completed on \n- Failed tasks \n",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "Filter_the_content_of_the_builds_table."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.Tasks_in_toaster_UI",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": " === TOASTER: Test Instructions for \"Tasks\", \"Time\", \"CPU Usage\", and \"Disk I/O\" pages === \n \nNOTE TO TESTERS: The three pages \"Time\", \"CPU Usage\", and \"Disk I/O\" are simple variations on the \"Tasks\" page. Those test instructions will demonstrate the respective unique parts. \n \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "In Toaster, select the build, and select the \"Tasks\" link in the left sidebar \n \n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Breadcrumbs \n \n * Observe that the 4 breadcrumbs at the top left are: \n \n : a live link that will take you back to the project page \n \t: a live link that will take you back to the project Builds page \n : a live link that will take you back to the image dashboard page \n \"Tasks\" \n \n * Test the breadcrumb live links, return to this page \n \n \n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "General Layout \n \n * Observe the left-hand box with links to the other pages of the build \n \n * Observe the title of the table is \"Tasks\", in bold \n \n * Observe the search/filter bar above the table \n \n * Observe the number of table rows in each page matches the number selected in the \"Show rows\" dropdown menu \n \n * Observe at the bottom of the page the \"Showing XX to XX out of xxx entries\", the page selection links, and the \"Show Rows\" selection. \n \n \n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Columns \n \nNote: to restore the default columns in your browser, for example in Firefox, select \"Tools > Privacy > remove individual cookies\", find the cookies for the IP address of the Toaster engine (for example \"localhost\"), and remove each sub-cookie with the prefix \"_displaycols_*\" (or the whole cookie if those are the only sub-cookies). \n \n * Observe that the default columns are: \n \n \"Order, Recipe, Task, Executed, Outcome, Cache attempt\" \n \n * Click the \"Edit Columns\" button. ",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Observe that the fields are sorted as follows (with the indicated items greyed) \n \n [ ] CPU usage \n [x] Cache attempt \n [ ] Disk I/O (ms) \n [x] Executed \n [x] Order {greyed} \n [x] Outcome \n [x] Recipe {greyed} \n [ ] Recipe version \n [x] Task {greyed} \n [ ] Time (secs) \n \n * For each of the greyed items, attempt to click them. Observe that they do not change. \n \n * For each of the non-greyed items, attempt to click them. Observe that the respective column dynamically appears when checked and disappears when un-checked. ",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Search \n \n * Observe that the search text box background text is \"Search tasks\". \n \n * Set the search text to \"busybox\" and click \"Search\". Observe that only the busybox tasks are listed (about 16). \n \n * Click the \"X\" next to the search text box. Observe that all of the tasks re-appear. \n \n \n",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Column sorts \n \n * Enable all of the columns. \n \n * Observe that by default the \"Order\" column header is in bold, it has a down-arrow icon, and that the table is sorted by this column in ascending order. \n \n * Observe that the columns are in this order, and are sortable only if indicated: \n \n Order {sortable} \n Recipe {sortable} \n Recipe version \n Task {sortable} \n Executed {sortable} \n Outcome {sortable} \n Cache attempt {sortable} \n Time (secs) {sortable} \n CPU usage {sortable} \n Disk I/O (ms) {sortable} ",
+ "expected_results": ""
+ },
+ "10": {
+ "action": " Test that each of the sortable columns do sort, ascending and descending \n \n * Observe that each of the column headers have a question mark icon, and that hovering over it provides help text.",
+ "expected_results": ""
+ },
+ "11": {
+ "action": "\"Executed\" Filter \n \n * Observe that the \"Executed\" column has the filter icon. Click on it and observe these values, where \"All Tasks\" is the default \n \n (*) All Tasks \n ( ) Executed Tasks \n ( ) Not Executed Tasks \n \n * Click on \"Executed Tasks\" and observe that only rows with the value \"Executed\" are displayed. \n \n * Click on \"Not Executed Tasks\" and observe that only rows with the value \"Not Executed\" are displayed. \n \n * Click on \"All Tasks\" and observe that all rows are displayed. \n \n \n",
+ "expected_results": ""
+ },
+ "12": {
+ "action": "\"Outcome\" Filter \n \n * Observe that the \"Outcome\" column has the filter icon. Click on it and observe these values, where \"All Tasks\" is the default \n \n (*) All Tasks \n ( ) Succeeded Tasks \n ( ) Failed Tasks \n ( ) Cached Tasks \n ( ) Prebuilt Tasks \n ( ) Covered Tasks \n ( ) Empty Tasks \n \n * Click on each of the filter selections, and observe that the resulting row \"Outcome\" values match the selection. \n \n * Click on \"All Tasks\" and observe that all rows are displayed. \n \n \n1",
+ "expected_results": ""
+ },
+ "13": {
+ "action": "\"Cache attempt\" Filter \n \n * Observe that the \"Cache attempt\" column has the filter icon. Click on it and observe these values, where \"All Tasks\" is the default \n \n (*) All Tasks \n ( ) Tasks with cache attempts \n ( ) Tasks with 'File not in cache' attempts \n ( ) Tasks with 'Failed' cache attempts \n ( ) Tasks with 'Succeeded' cache attempts \n \n * Click on each of the filter selections, and observe that the resulting row \"Outcome\" values match the selection. \n \n Note the with a clean build, only the \"All Tasks\" and \"Tasks with cache attempts\" will return rows. \n \n * Click on \"All Tasks\" and observe that all rows are displayed. \n \n \n1",
+ "expected_results": ""
+ },
+ "14": {
+ "action": "Order, Task, Executed, Outcome, Cache attempt links \n \n * Observe that for a given row, the above values are live links that will both take you to the respective task detail page. Click the back button to return. \n\n * Observe that for a given row the values in \"Recipe\" and \"Recipe version\" are live links that will both take you to the respective recipe details page. Click the back button to return \n \n \n1",
+ "expected_results": ""
+ },
+ "15": {
+ "action": "Time Page \n \n * \"In Toaster, select the build, and select the \"Time\" link in the left sidebar \n \n * Observe that the default columns are: \n \n \"Recipe\", \"Task\", \"Executed\", \" Outcome\", \"Time (secs)\" \n \n * Observe that the default sort is \"Time (secs)\", in descending order. \n \n * In the \"Edit Columns\" button, turn on all of the columns. \n \n * Observe that the page now matches the \"Tasks\" page, and passes the same tests. \n \n \n1",
+ "expected_results": ""
+ },
+ "16": {
+ "action": "CPU Usage Page \n \n * \"In Toaster, select the build, and select the \"CPU Usage\" link in the left sidebar \n \n * Observe that the default columns are: \n \n \"Recipe\", \"Task\", \"Executed\", \"Outcome\", \"CPU Usage\" \n \n * Observe that the default sort is \"CPU Usage\", in descending order. \n \n * In the \"Edit Columns\" button, turn on all of the columns. \n \n * Observe that the page now matches the \"Tasks\" page, and passes the same tests. \n \n \n1",
+ "expected_results": ""
+ },
+ "17": {
+ "action": "Disk I/O Page \n \n * \"In Toaster, select the build, and select the \"Disk I/O\" link in the left sidebar \n \n * Observe that the default columns are: \n \n \"Recipe\", \"Task\", \"Executed\", \"Outcome\", \"Disk I/O (ms)\" \n \n * Observe that the default sort is \"Disk I/O (ms)\", in descending order. \n \n * In the \"Edit Columns\" button, turn on all of the columns. \n \n * Observe that the page now matches the \"Tasks\" page, and passes the same tests. ",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "Tasks_in_toaster_UI"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.package_detail_in_toaster_UI",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "TOASTER: Test Instructions for \"Package Detail\" page \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "In Toaster, select the build, and select the \"Packages\" link in the left sidebar.",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Select a package from the \"Package\" column.",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Breadcrumbs \n * Observe that the 3 breadcrumbs at the top left are: \n : a live link that will take you back to the image dashboard page \n \"Packages\": a live link that will take you back to the Packages page \n \"bash\": the name of the current package (not a link) \n * Test the breadcrumb live links, return to this page ",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "General Layout \n * Click on any package \n * Observe that there is no the left-hand box \n * Observe that there is a right-hand box, with information about the package \n * Observe the title is the package name and version, in bold \n * Observe that, if the package is installed in an image, there is a link to the image(s) the package appears in \n * Observe that, if the package is not installed in the image, there are two tab buttons below the title ",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Observe that the tab buttons are: \n Generated files (2) {highlighted} \n Runtime dependencies (4) \n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Generated files tab \n * Click the \"Generated files\" tab (which should be selected by default) \n * Observe that the number of files in the table matches the number in parenthesis after the \"Generated files\" tab title. \n * Observe that the columns in the table are \"File\" and \"Size\" \n * Observe that the table is sorted by \"File\" in ascending alphabetical order (A to Z). ",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Runtime dependencies tab \n * Click the \"Runtime dependencies\" tab \n * Observe that the number of dependencies in the table matches the number in parenthesis after the \"Runtime dependencies\" tab title. \n * Observe that the columns in the table are: \n \"Package, Version, Size\" \n * Observe that the table is sorted by Package in ascending alphabetical order (A to Z) \n * Observe that the package name values are live links to the respective package details page. ",
+ "expected_results": "The information icon was eliminated on the columns that where self explanatory. "
+ },
+ "10": {
+ "action": "Package information box \n * Observe that there is a right-hand box, with information about the package, including in this example the fields: \n \"Size, License, Recipe, Recipe version, Layer, Layer branch, Layer commit\" \n * Observe that each of the field has a question mark icon, and that hovering will provide help text. \n * Observe that none of the values in the right-hand box are blank \n * Observe that the \"Recipe\" value is a live link to the respective recipe detail page. ",
+ "expected_results": ""
+ }
+ },
+ "summary": "package_detail_in_toaster_UI"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.recipes:_Sort_the_content_of_the_recipes_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Recipes\" link in the left sidebar. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Make sure that by default the \"Recipes\" table is sorted by \"Recipe\" in ascending alphabetical order (A to Z). \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Sort my \"Recipes\" table by \"Section\" and then navigate away by selecting a recipe(such as click busybox recipe). When you click \"back\" button in web-browser to go back to the \"Recipes\" table it should still be sorted by \"Section\". \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Make sure all column headings are sortable, except \"Recipe version\", \"Dependencies\", \"Reverse dependencies\" and \"Layer commit\". \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Sorting and \"Edit columns\" \nIf you use the \"Edit columns\" menu to hide the column with the applied sorting, we revert the sorting to the default sorting (i.e. \"Recipe\"). The default sorting always uses one of the core columns, which cannot be hidden using the \"Edit columns\" menu. \nSort recipes by \"section\" column heading. Then hide \"Section\" column by \"Edit columns\". Make sure that the \"Recipes\" table is sorted by \"Recipe\" in ascending alphabetical order (A to Z). \nNOTE: Bug 5919 is filed against the issue. \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Sorting and search \nSearching should have no impact on the applied sorting. Any results returned should be sorted by the sorting criteria selected when the search query was submitted. \nSort recipes by \"section\" column heading. Input a string (such as \"lib\") in search box and click search button. Make sure results returned should be sorted by \"section\". \n",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "recipes:_Sort_the_content_of_the_recipes_table."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.recipes:_Search_the_content_of_the_recipes_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "recipes: Search the content of the recipes table \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "In Toaster, select the build, and select the \"Recipes\" link in the left sidebar. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Observe the search is made of a text input field and a \"Search\" button in a toolbar above the table. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "When no search query has been entered, we have placeholder text saying: \"Search recipes\". \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Input \"lib\" in the text input field. The placeholder text disappears when the first character is typed. Click search button. \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": " \n(1) returned results \nThe search string is kept in the text input field. The results returned occur. Click \"Clear search\" icon to clear the search and display all recipes. \n(2) no results returned \nIf your search query returns no results, the page heading changes to \"No recipes found\", and we show you an alert with a search form and an option to show all recipes. Observe \"show all recipes\" button is available. \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "When I run a search, the search happens against the following columns (independently of they being shown or hidden): \n- Recipe \n- Recipe version \n- Recipe file \n- Section \n- License \n- Layer \n- Layer branch \n- Layer commit \n\nInput a string to search for the above 8 column headings separately to make sure that the search happens against the columns. \n\n \n\n",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Search, sorting and \"Edit columns\" \nSearching does not change the state of the table: the same columns remain hidden and the same sorting applied when search results are displayed, but filters are cleared by the search results.\nSearch a string and make sure that the same columns remain hidden and the same sorting applied. Since filter feature of recipes (4296) is obsolete, we don't have to test filter. \n\n",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "Search and filters \nThe scope of the filters is the content currently on the table (this means all table pages, not only the one displayed). The scope of the search is always the content of the database.\nSince filter feature of recipes (4296) is obsolete, we don't have to test filter. \n\nIf I run a search query, any filter applied afterwards will filter the content returned by the search query. \n\nIf I run a search query while a filter is applied, the filter is cleared by the results of the search query (i.e. we display the results of the search query and clear the filter applied beforehand).",
+ "expected_results": "NA"
+ },
+ "11": {
+ "action": " The same happens if I click the \"Clear search\" icon when a filter is applied to a set of search results (both search results and applied filter are cleared, and the table shows all the tasks). \nSince filter feature of recipes (4296) is obsolete, we don't have to test filter. \n\n",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "recipes:_Search_the_content_of_the_recipes_table."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.recipes:_Customise_the_columns_of_the_recipes_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Recipes\" link in the left sidebar. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "* Observe that the default columns are: \n \"Recipe, Recipe version, Recipe file, Section , License, Layer\" \n \n * Click the \"Edit Columns\" button. \n * Observe that the fields are sorted as follows (with the indicated items greyed) \n [ ] Dependencies \n [x] Layer \n [ ] Layer branch \n [ ] Layer commit \n [x] License \n [x] Recipe {greyed} \n [x] Recipe file \n [x] Recipe version {greyed} \n [ ] Reverse dependencies \n [x] Section \n \n * For each of the greyed items, attempt to click them. Observe that they do not change. \n * For each of the non-greyed items, attempt to click them. Observe that the respective column dynamically appears when checked and disappears when un-checked.\n",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "recipes:_Customise_the_columns_of_the_recipes_table."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.recipes:_View_a_table_with_all_the_recipes_included_in_an_image_recipe",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Recipes\" link in the left sidebar. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "By default, the all recipes table displays the following columns in this order: \n(1) Recipe (2) Recipe version: the target version and revision (3) Dependencies (4)Reverse Dependencies (5) License: the value of the target's LICENSE variable (6) Layer: the name of the layer providing the target \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "In the \"Edit columns\" menu, table columns appear listed alphabetically. \nIn the table itself, the default order of columns is as follows: \n(1) Dependencies (2) Layer (3) Layer branch (4) Layer commit (5) License (6) Recipe (7) Recipe file (8) Reverse dependencies (9) Section (10) Version \n\nThe minimum table is made of the 2 columns that provide the information needed to identify a target: Recipe and Recipe version.",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "recipes:_View_a_table_with_all_the_recipes_included_in_an_image_recipe"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.recipes:_View_detailed_information_about_a_recipe。",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Create a default Yocto project (qemux86), and start the Toaster. \n \n $ source poky/oe-init-build-env \n $ source toaster start \n $ bitbake core-image-minimal \n $ http://localhost:8000/ \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Select the \"core-image-minimal\" build link \n \n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Select the \"Recipes\" link in the left sidebar \n \nObserve that the recipes are listed in a table, and that each recipe name is a live URL link. \n \n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Observe that \"Packages\" link. It should have an appended value like \"(4)\". Now click on this link. \n \nObserve: \n a) The number of packages matches the previous number in parenthesis. \n \n b) Each package has a version and a size. The size may be zero. \n \n c) Note that if you hover on a package name, it will reveal a URL of the following form. This link should take you to the corresponding package detail page. \n \n localhost:8000/gui/build//package/ \n \n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Observe that recipes of \"Build Dependencies\" link has an appended value like \"(0)\". Now click on this link. \n \nObserve: \n a) No dependencies appear, and you get a message of the form: \n \n \"$RECIPE_NAME_VERSION has no build dependencies.\" \n \n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Observe that \"Reverse build dependencies\" link has an appended value like \"(1)\". Now click on this link. \n \nObserve: \n a) The number of packages matches the previous number in parenthesis. \n \n b) The recipe dependency should be \"packagegroup-core-boot\", \n \n c) There should be a respective version displayed, for example \"1.0-r11\" \n \n d) If you hover on the recipe name, it will reveal a URL of the following form. This link should take you to the corresponding recipe detail page. \n \n localhost:8000/gui/build//recipe/ \n \n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Click the breadcrumb \"Recipes\" at the top, locate the \"gdbm\" recipe, and select it. \n \n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Observe that \"Packages\" link. It should have an appended value like \"(0)\". Now click on this link. \n \nObserve: \n a) No packages appear, and you get a message of the form: \n \n \"$PACKAGE_NAME_VERSION does not build any packages.\" \n \n",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Observe that \"Build dependencies\" link. It should have an appended value like \"(2)\". Now click on this link. \n \nObserve: \n a) The number of build dependencies matches the previous number in parenthesis. \n \n b) The recipe dependency should have values like \"gettext-native\" and \"libtool-cross\". \n \n c) There should be a respective versions displayed for each dependency. \n \n d) If you hover on a recipe name, it will reveal a URL of the following form. This link should take you to the corresponding recipe detail page. \n \n localhost:8000/gui/build//recipe/ \n \n1",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "Observe that \"Reverse build dependencies\" link. It should have an appended value like \"(0)\". Now click on this link. \n \nObserve: \n a) No reverse dependencies appear, and you get a message of the form: \n \n \"$RECIPE_NAME_VERSION does not build any packages.",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "recipes:_View_detailed_information_about_a_recipe。"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.variables:_Search_the_content_of_the_bitbake_variables_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Configuration\" link in the left sidebar. Then click \"BitBake variables\" tab. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "When no search query has been entered, we have placeholder text saying: \"Search BitBake variables\". \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Input \"lib\" in text input field. The placeholder text disappears when the first character is typed. Click search button. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Observe \"4 variables found\" is showed. (It may be other number.) \n If your search query returns no results, we display an alert with: \n - A h3 heading saying: \"No variables found\" \n - A search box \n - The search query is showed in the text input shield. \n - A link to show all variables. we show the variables table. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "We provide a \"Clear search\" icon (icon-remove-sign). Click it to clear the search and display all variables. Check that the \"Clear search\" icon cannot be accessed using the tab key. \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Verify search scope. \nWhen I run a search, the search happens against the following columns (independently of they being shown or hidden): \n- Variable \n- Value \n- Set in file \n- Description \n\n",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Verify \"search, sorting and 'Edit columns'\" \nSearching does not change the state of the table: the same columns remain hidden and the same sorting applied \nwhen search results are displayed, but filters are cleared by the search results. \n\n",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Search and filters \nIf I run a search query, any filter applied afterwards will filter the content returned by the search query. \nIf I run a search query while a filter is applied, the filter is cleared by the results of the search query. \n",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "variables:_Search_the_content_of_the_bitbake_variables_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.variables:_Sort_the_content_of_the_bitbake_variables_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Configuration\" link in the left sidebar. Then click \"BitBake variables\" tab. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "By default, the \"variables\" table is sorted by \"Variable\" in ascending alphabetical order (A to Z). \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Make sure that \"Variable\" column is sortable (Developers have disabled sort function of all other columns to avoid bug 6004) \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Sorting and search \nSearching should have no impact on the applied sorting. Any results returned should be sorted by the sorting criteria selected when the search query was submitted.",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "variables:_Sort_the_content_of_the_bitbake_variables_table."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.builds:_View_a_table_of_all_the_builds_run_for_a_certain_build_directory",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start up toaster and open localhost:8000. ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "You can see 'Latest builds' section lists. - Builds in progress, sorted by inverse start time (last one starting at the top). - 3 latest completed builds, as long as they are less than 24 hours old. If there are no builds in progress or builds completed within the last 24 hours we don't display it: the page shows only the 'All builds' section. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "You can see the following column headings. You can see the their description in https://bugzilla.yoctoproject.org/attachment.cgi?id=1617. outcome, recipe, machine, started on, completed on, failed tasks, errors, warnings, time, image files, project",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "builds:_View_a_table_of_all_the_builds_run_for_a_certain_build_directory"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.builds:_Customise_the_columns_of_the_builds_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start up toaster.",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Create 2 builds, such as \"bitbake core-image-minimal\" and \"bitbake core-image-sato\". Wait for successful builds and then run: xdg-open http://localhost:8000/",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Enter \"All build\" table in web browser.",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Select a few item in \"Edit columns\" to show or hide them in all builds.",
+ "expected_results": "Unchecked items changed to checked should immediately appear in the table. Checked items changed to unchecked should immediately disappear from the table. If you uncheck the column with the applied sorting, when you close the \"Edit columns\" menu the applied sorting should revert to the table default sorting. Bug 5919 is filed for the function."
+ }
+ },
+ "summary": "builds:_Customise_the_columns_of_the_builds_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.packages:_View_a_table_with_all_the_packages_built_for_an_image_recipe",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Packages\" link in the left sidebar. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "By default, the built packages table displays the following columns in this order: Package, Package version, Size ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Apart from the columns shown by default, the following additional columns are also available to users via the \"Edit columns\" menu: Layer, Layer branch, Layer commit, License, Recipe version ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Enable these columns and observe that table columns appear listed alphabetically in the \"Edit columns\" menu (1)Package (2)Package version (3)Size (4)License (5)Recipe (6)Recipe version (7)Layer (8)Layer branch (9)Layer commit ",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "The minimum table is made of the 2 columns that provide the information needed to identify a package: Package and Package version. Their corresponding checkboxes in the \"Edit columns\" menu appear always selected and are in an inactive state. ",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "packages:_View_a_table_with_all_the_packages_built_for_an_image_recipe"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.packages:_Sort_the_content_of_the_packages_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Packages\" link in the left sidebar. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe that by default the \"built packages\" table is sorted by \"Package\" in ascending alphabetical order (A to Z). ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Click \"Size\" column heading to sort my \"built packages\" table by \"Size\". Then navigate away by selecting a package and you can see the package page. After click \"go back\" button in browser to return to the \"built packages\" table it should still be sorted by \"Size\". ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Observe that all except \"Package version\", \"Recipe version\", \"Layer commit\" are sortable. ",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "If you use the \"Edit columns\" menu to hide the column with the applied sorting, we revert the sorting to the default sorting (i.e. \"Package\"). The default sorting always uses one of the core columns, which cannot be hidden using the \"Edit columns\" menu. Bug 5919 is filed for the issue. ",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Searching should have no impact on the applied sorting. Any results returned should be sorted by the sorting criteria selected when the search query was submitted. Sort packages by size and search a string. Observe that results returned should be sorted by size. ",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "In Toaster, select the build, and select the \"core-image*\" link in the left sidebar. Observe that by default the \"built packages\" table is sorted by \"Package\" in ascending alphabetical order (A to Z). ",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "If choose to sort my \"included packages\" table by \"Size\" and then navigate away by selecting a package, when I go back to the \"included packages\" table it should still be sorted by \"Size\". ",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "Enable all columns by \"Edit columns\". All except \"Package version\", \"Recipe version\", \"Dependencies\", \"Reverse dependencies\", \"Layer commit\", should be sortable. ",
+ "expected_results": ""
+ },
+ "11": {
+ "action": "If you use the \"Edit columns\" menu to hide the column with the applied sorting, we revert the sorting to the default sorting (i.e. \"Package\"). The default sorting always uses one of the core columns, which cannot be hidden using the \"Edit columns\" menu. Bug 5919 is filed for the issue. ",
+ "expected_results": ""
+ },
+ "12": {
+ "action": "Searching should have no impact on the applied sorting. Any results returned should be sorted by the sorting criteria selected when the search query was submitted. Sort packages by size and search a string. Observe that results returned should be sorted by size.",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "packages:_Sort_the_content_of_the_packages_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.packages:_Customise_the_columns_of_the_packages_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Packages\" link in the left sidebar. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe that by default the \"built packages\" table is sorted by \"Package\" in ascending alphabetical order (A to Z). ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Select 1 column in \"Edit column\" to show the column. ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Deselect 1 column in \"Edit column\" to hide 1 column by \"Edit columns\".",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "packages:_Customise_the_columns_of_the_packages_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.packages:_Search_the_content_of_the_packages_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Packages\" link in the left sidebar. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe that by default the \"built packages\" table is sorted by \"Package\" in ascending alphabetical order (A to Z). ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "When no search query has been entered, we have placeholder text saying: \"Search packages built\". The placeholder text disappears when the first character is typed. ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "When a search query has been submitted and results returned: â–Ş We keep the search string in the text input field. â–Ş We provide a \"Clear search\" icon (icon-remove-sign). Click it to clear the search and display all packages. â–Ş We change the page heading to indicate the number of results returned by the search query. ",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "If your search query returns no results, the page heading changes to \"No packages found\", and we show you an alert with a search form and an option to show all packages. ",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Searching does not change the state of the table: the same columns remain hidden and the same sorting applied. ",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "When I run a search, the search happens against the following columns (independently of they being shown or hidden): - Package - Package version - License - Recipe - Recipe version - Layer - Layer branch - Layer commit ",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Hide all columns except \"Package\" and \"Package version\". Search a string which is included in other hidden columns, not the 2 columns. See if returned results occur. ",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "In Toaster, select the build, and select the \"core-image*\" link in the left sidebar. Observe that by default the \"included packages\" table is sorted by \"Package\" in ascending alphabetical order (A to Z). Rerun tests according to step 4~9.",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "packages:_Search_the_content_of_the_packages_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.View_detailed_information_about_a_layer",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n\n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Make sure that layer information is shown in: \n* recipes table \n All builds-> core-image-minimal-> recipes \n Select \"Layer\", \"Layer branch\", \"Layer commit\" in Edit columns and observe the 3 columns are showed. Note that the \"Layer branch\" column can be empty. \n\n* recipe details \n All builds-> core-image-minimal-> recipes \n Click a recipe and you can see \"Layer\", \"Layer branch\", \"Layer commit\", \"Recipe details\" information. Note that \"Layer branch\" is not required. If there is no layer branch, you should not see the \"Layer branch\" item on the list.",
+ "expected_results": "NA"
+ },
+ "3": {
+ "action": "built packages table \n All builds-> core-image-minimal-> packages \n Select \"Layer\", \"Layer branch\", \"Layer commit\" in Edit columns and observer the 3 columns is showed. Note that the \"Layer branch\" column can be empty. \n\n* built package details \n All builds-> core-image-minimal-> packages \n Click a package and you can see \"Layer\", \"Layer branch\", \"Layer commit\" in package information. Note that \"Layer branch\" is not required. If there is no layer branch, you should not see the \"Layer branch\" item on the list. \n\n* image information \n All builds-> core-image-minimal-> core-image-minimal(images) \n Select \"Layer\", \"Layer branch\", \"Layer commit\" in Edit columns and observer the 3 columns is showed.",
+ "expected_results": "NA"
+ },
+ "4": {
+ "action": "Note that the \"Layer branch\" column can be empty. \n\n* installed package details \n All builds-> core-image-minimal-> core-image-minimal(images) \n Click a package and you can see layer information in package information. Note that \"Layer branch\" is not required. If there is no layer branch, you should not see the \"Layer branch\" item on the list. \n\n* configuration \n All builds-> core-image-minimal-> Configuration \n You can see \"Layer\", \"Layer branch\", \"Layer commit\" in configuration summary. Note that the \"Layer branch\" column can be empty. \n\n* build dashboard \n All builds-> core-image-minimal \n You can see \"Layers\" in build summary. ",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "View_detailed_information_about_a_layer"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.Select_the_number_of_table_rows_displayed_per_page",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Packages\" link in the left sidebar. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Users can select the number of rows they want to see in a table using the \"Show rows\" dropdown menu, which displays above and below each table. The options of the \"Show rows\" dropdown are: 10, 25, 50, 100, 150. ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "The last selected option from the \"Show rows\" menu should be remembered: * Select one option, for example 10 * Click on a package name to navigate away from the built packages table * Click on the \"Packages\" link in the breadcrumb at the top of the page to go back to the packages table Note that 25 is still selected in the \"Show rows\" menu. ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Observe that the pagination widget is made of: - A \"Previous\" button - A \"Next\" button - A maximum of 5 page buttons. ",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "See the pagination function of \"Tasks\", \"Recipes\" links according to steps 3~4.",
+ "expected_results": "Expected result for step 4: This widget has no previous or next button if testing in toaster 2.2. see Bug 9831"
+ }
+ },
+ "summary": "Select_the_number_of_table_rows_displayed_per_page"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.View_detailed_configuration_information_for_a_build",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Configuration\" link in the left sidebar. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe that the configuration page has 2 tabs: - Summary - BitBake variables The Summary tab is the default tab. ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "The following content is included in summary tab. (1) Build configuration (2) Layers (Layer, Layer branch - if any, Layer commit) ",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Observe that \"BitBake variables\" tab includes \"Variable\", \"Value\", \" Set in file\", \"Description\" columns. ",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Click filter button of \"Set in file\" column. Select \"Local configuration variables\" and click \"Apply\" button to see if filter function works well. ",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "In the \"Edit columns\" menu, table columns appear listed alphabetically: Description, Set in file, Value, Variable ",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "The minimum table is made of the \"Variable\" and \"Value\" columns. ",
+ "expected_results": ""
+ },
+ "9": {
+ "action": "Click a variable and a \"History of ${variable}\" dialog will occur. The modal dialog shows the variable value followed by the history table, which has the following columns: - Order: indicates the sequence in which the files set the variable - Configuration file: the location in disk of the file that set the variable - Operation: the value of the operation field as stored in the database. - Line number: the line number where the operation is performed in the configuration file. For such variables, whose value is an empty string, the Value cell in the variables table isempty, which is probably the right thing. In the modal, instead of the variable value, we show an alert (with the class .alert-info) saying: \"The value of is an empty string\" ",
+ "expected_results": ""
+ },
+ "10": {
+ "action": "Click arrow links in description tab to see linking variables to the Yocto Project reference manual.",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "View_detailed_configuration_information_for_a_build"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.variables:_Customise_the_columns_of_the_bitbake_variables_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Configuration\" link in the left sidebar. Then click \"BitBake variables\" tab. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Show or hide columns by select or deselect options of \"Edit columns\".",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "variables:_Customise_the_columns_of_the_bitbake_variables_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.variables:_Filter_the_content_of_the_bitbake_variables_table",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"Configuration\" link in the left sidebar. Then click \"BitBake variables\" tab. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe \"Set in file\" and \"Description\" columns have filters. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Filters are mutually exclusive. Only one column filter can be applied to a table at any given time. \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Filters are overridden by search. \nThe scope of the filters is the content currently on the table. \nThe scope of the search is always the full content of the database. \nSo: \n- if I run a search query, any filter applied afterwards will filter the content returned by the search query. \nSearch a string and apply a filter. Observe it would filter the content returned by the search query. \n\n- if I run a search query while a filter is applied, the filter is overridden by the results of the search query. \nApply a filter and search a string. Observe that the previous filtered result is overridden by the search. ",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "variables:_Filter_the_content_of_the_bitbake_variables_table"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.View_and_navigate_the_full_directory_structure_of_built_images",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build, and select the \"core-image-minimal\" link in the left sidebar. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe image information page has 2 tabs: \n- Packages included: this tab shows a table with all the packages installed in the image. The tab label includes the total number of packages listed in the table and their size. \n- Directory structure: this tab shows all the files included in the image. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "By default, the included packages table displays the following columns in this order: \nPackage, Package version, Size, Dependencies \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Apart from the columns shown by default, the following additional columns are also available to users via the \"Edit columns\" menu: \nLayer, Layer branch, Layer commit, License, Recipe, Recipe version. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "The minimum table is made of the 2 columns that provide the information needed to identify a package: Package and Package version. \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "By default, the directory structure table shows the top level directories and files in the file system.\nThe table includes the following columns: \nDirectory/File, Symbolic link to, Source package, Size, Permissions, Owner, Group \nOpen some directories and see files. ",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "View_and_navigate_the_full_directory_structure_of_built_images"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.View_a_summary_of_all_the_information_available_for_a_build",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and build \"bitbake core-image-minimal\". \n \n",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select the build. \n\n",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "A 'Build dashboard' page is showed. \nThe 'Build dashboard' page has two main states: \n(1) Success state: when the build completes successfully. In the success state, if the build target(s) include an image recipe, the page displays an image content module, and the left navigation has an \"Images\" section at the top. \n(2) Fail state: when the build fails (shown in this page). In the fail state, the page always displays an errors content module, and the left navigation does not have an \"Images\" section at the top. \n\n",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Observe that the page provides access to all information available for the selected build. \n(1) Images \n(2) Build: this group provides links to the following pages: \nConfiguration, Tasks, Recipes, Packages \n(3) Performance: this group provides links to the following pages: \nTime, CPU usage, Disk I/O \n\n",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "The page heading is made of the build target(s) and the machine, such as \"core-image-minimal qemux86\". If the build has more than one target, they show in ascending alphabetical order (A to Z) both in the page heading and in the \"Images\" section of the left navigation. If the build was successful, there is an image content module for each target that is an image recipe. The modules also show in ascending alphabetical order by target name. \n\n",
+ "expected_results": ""
+ },
+ "6": {
+ "action": "Packages included, total package size, license manifest, image files are included in the images section. \n\n",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "The information of Machine, Distro, Layers is included in configuration content module of \"Build summary\" section. \nThe information of \"Total number of task\", \"Tasks executed\", \" Tasks not executed\", \"Reuse\" is included in the tasks content module. \nThe information of \"Recipes built\" and \"Packages built\" is included in the \"Recipes&Packages\" content module. ",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "View_a_summary_of_all_the_information_available_for_a_build"
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.Display_the_content_of_error_messages_and_warnings",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and create a successful build and a failed build. You can force a build to terminate by ctrl+c. ",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "Observe that the number of errors and warnings thrown by a build shows in both 'All builds' page and the 'Latest builds' section. ",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe that the number and content of errors and warnings thrown by a build shows in the 'Build dashboard' page. ",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Click warning or error links to see warning and error details. ",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "Display_the_content_of_error_messages_and_warnings."
+ }
+ },
+ {
+ "test": {
+ "@alias": "toaster-unmanaged-mode.toaster-unmanaged.Build_summary_information_fully_implemented",
+ "author": [
+ {
+ "email": "Yuan.Sun2@windriver.com",
+ "name": "Yuan.Sun2@windriver.com"
+ }
+ ],
+ "execution": {
+ "1": {
+ "action": "Start with a default Yocto project (qemux86), start the Toaster, and create 4 builds. \na) a successful build with images (bitbake core-image-minimal) \nb) a successful build without images (bitbake mtools-native) \nc) a failed build with errors and warnings (run \"bitbake core-image-sato\", then press control+c to terminate the build)",
+ "expected_results": ""
+ },
+ "2": {
+ "action": "In Toaster, select a core-image-minimal build.",
+ "expected_results": ""
+ },
+ "3": {
+ "action": "Observe that there is a 'Build dashboard' page captured by Toaster. The page does not exist for builds in progress, only for finished builds. \nThe 'Build dashboard' page is made of: \na) Breadcrumb \nb) Navigation \n IMAGES: core-image-minimal \n BUILD: \n Configuration \n Tasks \n Recipes \n Packages \n PERFORMANCE: \n Time \n CPU usage \n Disk I/O \nc) Page heading (core-image-minimal qemux86) \nd) Section heading (Images, Build summary) \ne) Build status notification (Completed on xx/xx/xx... Build time:xx:xx:xx)",
+ "expected_results": ""
+ },
+ "4": {
+ "action": "Observe \"images\" section is made of the following \n.\na) Heading: core-image-minimal, which links to the \"Packages included\" tab of the image information page \nb) Number of packages installed: (packages included xx), which is a link to the \"Packages included\" tab of the image information page \nc) Total installed package size: xxMB \nd) License manifest (which is a link to the \"Packages included\" tab of the information page with the following columns showing: \"Package\", \"Package version\", \"License\" and \"Recipe\". We have bug 6079 open for this). Next to the license manifest is the path to the directory where you can find the license manifest file. \n \ne) Image files (rootfs file names and rootfs file sizes)",
+ "expected_results": ""
+ },
+ "5": {
+ "action": "Observe \"Build summary\" section is made of the following. \na) Configuration (which is a link to the configuration page): \n Machine \n Distro \n Layers (sorted in alphabetical order) \nb) Tasks (which is a link to the tasks page) \n Total number of tasks (which is a link to the tasks page) \n Tasks executed (which is a link to the tasks page with the tasks executed filter applied) \n Tasks not executed (which is a link to the tasks pages with the tasks not executed filter applied)\n Reuse \nc) Note that \"Total number of tasks\" should equal number of \"Tasks executed\" + number of \"Tasks not executed\" \nd) Recipes (which is a link to the recipes page) & Packages (which is a link to the packages built page) ",
+ "expected_results": ""
+ },
+ "6": {
+ "action": " Number of recipes built (which is a link to the recipes page) \n \n Number of packages built (which is a link to the packages built page)",
+ "expected_results": ""
+ },
+ "7": {
+ "action": "Return to localhost:8000 and select a successful build without images (mtools-native) \n.\nObserve the build dashboard for a successful build of a target that is not an image recipe. There is no image content module, and no \"Images\" section in the left navigation.",
+ "expected_results": ""
+ },
+ "8": {
+ "action": "Return to localhost:8000 and select the failed build (core-image-sato). Observe the build dashboard for the failed build. \n \na) the errors content module: \nThis module exists for those builds that throw error(s). It appears immediately below the build status notification. \nThe module has 2 states: \nâ–Ş Expanded (shows number of errors and error content) \nâ–Ş Collapsed (shows only the number of errors) \nBy default, the errors module is in the expanded state. \nErrors content modules include the following information: \n(1.1) A heading, which indicates the number of errors thrown by the build, and toggles the module between its 2 states on click. ",
+ "expected_results": "NA"
+ },
+ "9": {
+ "action": "Transitions between states should use a slide up / slide down animation. \n(1.2) Error(s) content \n\nb) the warning content module: \nThis module exists for those builds that throw warning(s). \nIt is the last content module shown on the build dashboard. \nThe module has 2 states: \nâ–Ş Expanded (shows number of warnings and warning content) \nâ–Ş Collapsed (shows only the number of warnings) \nBy default, the warning module is in the collapsed state. Warnings content modules include the following information: \n(2.1) A heading, which indicates the number of warnings thrown by the build, and toggles the module between its 2 \nstates on click. Transitions between states should use a slide up / slide down animation. \n(2.2) Warning(s) content ",
+ "expected_results": "NA"
+ }
+ },
+ "summary": "Build_summary_information_fully_implemented"
+ }
+ }
+] \ No newline at end of file
diff --git a/poky/meta/lib/oeqa/oetest.py b/poky/meta/lib/oeqa/oetest.py
index f7171260e..f0423af66 100644
--- a/poky/meta/lib/oeqa/oetest.py
+++ b/poky/meta/lib/oeqa/oetest.py
@@ -7,7 +7,7 @@
# It also has some helper functions and it's responsible for actually starting the tests
-import os, re, mmap, sys
+import os, re, sys
import unittest
import inspect
import subprocess
diff --git a/poky/meta/lib/oeqa/runtime/cases/gi.py b/poky/meta/lib/oeqa/runtime/cases/gi.py
index 19073e52c..7e16651df 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gi.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gi.py
@@ -9,7 +9,7 @@ class GObjectIntrospectionTest(OERuntimeTestCase):
@OETestDepends(["ssh.SSHTest.test_ssh"])
@OEHasPackage(["python3-pygobject"])
def test_python(self):
- script = """from gi.repository import GObject; print(GObject.markup_escape_text("<testing&testing>"))"""
+ script = """from gi.repository import GLib; print(GLib.markup_escape_text("<testing&testing>"))"""
status, output = self.target.run("python3 -c '%s'" % script)
self.assertEqual(status, 0, msg="Python failed (%s)" % (output))
self.assertEqual(output, "&lt;testing&amp;testing&gt;", msg="Unexpected output (%s)" % output)
diff --git a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
new file mode 100644
index 000000000..128630e11
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
@@ -0,0 +1,14 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+
+class GstreamerCliTest(OERuntimeTestCase):
+
+ @OEHasPackage(['gstreamer1.0'])
+ def test_gst_inspect_can_list_all_plugins(self):
+ status, output = self.target.run('gst-inspect-1.0')
+ self.assertEqual(status, 0, 'gst-inspect-1.0 does not appear to be running.')
+
+ @OEHasPackage(['gstreamer1.0'])
+ def test_gst_launch_can_create_video_pipeline(self):
+ status, output = self.target.run('gst-launch-1.0 -v fakesrc silent=false num-buffers=3 ! fakesink silent=false')
+ self.assertEqual(status, 0, 'gst-launch-1.0 does not appear to be running.')
diff --git a/poky/meta/lib/oeqa/runtime/cases/ksample.py b/poky/meta/lib/oeqa/runtime/cases/ksample.py
index 354cc9767..de2366a79 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ksample.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ksample.py
@@ -22,6 +22,12 @@ class KSample(OERuntimeTestCase):
self.assertTrue(result, msg)
self.assertEqual(status, 0, cmd)
+ def check_arch(self, archset=''):
+ status, output = self.target.run("uname -m")
+ result = ("%s" % output) in archset
+ if not result:
+ self.skipTest("This case doesn't support %s" % output)
+
def check_config(self, config_opt=''):
cmd = "zcat /proc/config.gz | grep %s" % config_opt
status, output = self.target.run(cmd)
@@ -99,6 +105,7 @@ class KSampleTest(KSample):
# kprobe
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_kprobe_test(self):
+ self.check_arch("x86_64 i686 ppc")
index = ["kprobe", "kretprobe"]
for i in index:
self.kprobe_func(i)
@@ -166,9 +173,9 @@ class KSampleTest(KSample):
def test_hw_breakpoint_example(self):
# check arch
status, output = self.target.run("uname -m")
- result = ("x86" in output) or ("aarch64" in output)
+ result = ("x86_64" in output) or ("aarch64" in output)
if not result:
- self.skipTest("the arch doesn't support hw breakpoint" % output)
+ self.skipTest("the arch %s doesn't support hw breakpoint" % output)
# check config
self.check_config("CONFIG_KALLSYMS_ALL")
# make sure if module exists
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index f6e9820cd..bed4a022c 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -69,6 +69,8 @@ x86_common = [
'amd_nb: Cannot enumerate AMD northbridges',
'failed to retrieve link info, disabling eDP',
'Direct firmware load for iwlwifi',
+ 'Direct firmware load for regulatory.db',
+ 'failed to load regulatory.db',
] + common_errors
qemux86_common = [
@@ -113,6 +115,7 @@ ignore_errors = {
'OF: amba_device_add() failed (-19) for /amba/sctl@101e0000',
'OF: amba_device_add() failed (-19) for /amba/watchdog@101e1000',
'OF: amba_device_add() failed (-19) for /amba/sci@101f0000',
+ 'OF: amba_device_add() failed (-19) for /amba/spi@101f4000',
'OF: amba_device_add() failed (-19) for /amba/ssp@101f4000',
'OF: amba_device_add() failed (-19) for /amba/fpga/sci@a000',
'Failed to initialize \'/amba/timer@101e3000\': -22',
@@ -161,7 +164,23 @@ ignore_errors = {
'The driver is built-in, so to load the firmware you need to',
] + x86_common,
'edgerouter' : [
+ 'not creating \'/sys/firmware/fdt\'',
+ 'Failed to find cpu0 device node',
'Fatal server error:',
+ 'Server terminated with error',
+ ] + common_errors,
+ 'beaglebone-yocto' : [
+ 'Direct firmware load for regulatory.db',
+ 'failed to load regulatory.db',
+ 'l4_wkup_cm',
+ 'Failed to load module "glx"',
+ 'Failed to make EGL context current',
+ 'glamor initialization failed',
+ ] + common_errors,
+ 'mpc8315e-rdb' : [
+ 'of_irq_parse_pci: failed with',
+ 'Fatal server error:',
+ 'Server terminated with error',
] + common_errors,
}
diff --git a/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py b/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
index 5af55d736..de17ba01f 100644
--- a/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
+++ b/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
@@ -7,10 +7,12 @@ class TargetBuildProject(BuildProject):
def __init__(self, target, uri, foldername=None, dl_dir=None):
self.target = target
- self.targetdir = "~/"
+ self.targetdir = "~/buildtest/"
BuildProject.__init__(self, uri, foldername, dl_dir=dl_dir)
def download_archive(self):
+ self.target.run("mkdir " + self.targetdir + " || true")
+
self._download_archive()
status, output = self.target.copyTo(self.localarchive, self.targetdir)
diff --git a/poky/meta/lib/oeqa/sdk/case.py b/poky/meta/lib/oeqa/sdk/case.py
index 963aa8d35..d8611c8b3 100644
--- a/poky/meta/lib/oeqa/sdk/case.py
+++ b/poky/meta/lib/oeqa/sdk/case.py
@@ -1,6 +1,7 @@
# Copyright (C) 2016 Intel Corporation
# Released under the MIT license (see COPYING.MIT)
+import os
import subprocess
from oeqa.core.case import OETestCase
@@ -10,3 +11,41 @@ class OESDKTestCase(OETestCase):
return subprocess.check_output(". %s > /dev/null; %s;" % \
(self.tc.sdk_env, cmd), shell=True,
stderr=subprocess.STDOUT, universal_newlines=True)
+
+ def fetch(self, workdir, dl_dir, url, archive=None):
+ if not archive:
+ from urllib.parse import urlparse
+ archive = os.path.basename(urlparse(url).path)
+
+ if dl_dir:
+ tarball = os.path.join(dl_dir, archive)
+ if os.path.exists(tarball):
+ return tarball
+
+ tarball = os.path.join(workdir, archive)
+ subprocess.check_output(["wget", "-O", tarball, url])
+ return tarball
+
+ def check_elf(self, path, target_os=None, target_arch=None):
+ """
+ Verify that the ELF binary $path matches the specified target
+ OS/architecture, or if not specified the currently configured MACHINE's
+ OS/architecture.
+ """
+ import oe.qa, oe.elf
+
+ if not target_os or not target_arch:
+ output = self._run("echo $OECORE_TARGET_OS:$OECORE_TARGET_ARCH")
+ target_os, target_arch = output.strip().split(":")
+
+ machine_data = oe.elf.machine_dict(None)[target_os][target_arch]
+ (machine, osabi, abiversion, endian, bits) = machine_data
+
+ elf = oe.qa.ELFFile(path)
+ elf.open()
+
+ self.assertEqual(machine, elf.machine(),
+ "Binary was %s but expected %s" %
+ (oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine)))
+ self.assertEqual(bits, elf.abiSize())
+ self.assertEqual(endian, elf.isLittleEndian())
diff --git a/poky/meta/lib/oeqa/sdk/cases/assimp.py b/poky/meta/lib/oeqa/sdk/cases/assimp.py
index 26c1df089..a60001039 100644
--- a/poky/meta/lib/oeqa/sdk/cases/assimp.py
+++ b/poky/meta/lib/oeqa/sdk/cases/assimp.py
@@ -1,5 +1,7 @@
-import os, subprocess, unittest
-import bb
+import os
+import subprocess
+import tempfile
+import unittest
from oeqa.sdk.case import OESDKTestCase
from oeqa.utils.subprocesstweak import errors_have_output
@@ -10,54 +12,25 @@ class BuildAssimp(OESDKTestCase):
Test case to build a project using cmake.
"""
- td_vars = ['DATETIME', 'TARGET_OS', 'TARGET_ARCH']
-
- @classmethod
- def setUpClass(self):
+ def setUp(self):
if not (self.tc.hasHostPackage("nativesdk-cmake") or
self.tc.hasHostPackage("cmake-native")):
raise unittest.SkipTest("Needs cmake")
- def fetch(self, workdir, dl_dir, url, archive=None):
- if not archive:
- from urllib.parse import urlparse
- archive = os.path.basename(urlparse(url).path)
-
- if dl_dir:
- tarball = os.path.join(dl_dir, archive)
- if os.path.exists(tarball):
- return tarball
-
- tarball = os.path.join(workdir, archive)
- subprocess.check_output(["wget", "-O", tarball, url])
- return tarball
-
def test_assimp(self):
- import tempfile
- import oe.qa, oe.elf
-
with tempfile.TemporaryDirectory(prefix="assimp", dir=self.tc.sdk_dir) as testdir:
- dl_dir = self.td.get('DL_DIR', None)
- tarball = self.fetch(testdir, dl_dir, "https://github.com/assimp/assimp/archive/v4.1.0.tar.gz")
- subprocess.check_output(["tar", "xf", tarball, "-C", testdir])
-
- sourcedir = os.path.join(testdir, "assimp-4.1.0")
- builddir = os.path.join(testdir, "build")
- installdir = os.path.join(testdir, "install")
- bb.utils.mkdirhier(builddir)
+ tarball = self.fetch(testdir, self.td["DL_DIR"], "https://github.com/assimp/assimp/archive/v4.1.0.tar.gz")
- self._run("cd %s && cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON %s " % (builddir, sourcedir))
- self._run("cmake --build %s -- -j" % builddir)
- self._run("cmake --build %s --target install -- DESTDIR=%s" % (builddir, installdir))
+ dirs = {}
+ dirs["source"] = os.path.join(testdir, "assimp-4.1.0")
+ dirs["build"] = os.path.join(testdir, "build")
+ dirs["install"] = os.path.join(testdir, "install")
- elf = oe.qa.ELFFile(os.path.join(installdir, "usr", "local", "lib", "libassimp.so.4.1.0"))
- elf.open()
-
- output = self._run("echo $OECORE_TARGET_OS:$OECORE_TARGET_ARCH")
- target_os, target_arch = output.strip().split(":")
- machine_data = oe.elf.machine_dict(None)[target_os][target_arch]
- (machine, osabi, abiversion, endian, bits) = machine_data
+ subprocess.check_output(["tar", "xf", tarball, "-C", testdir])
+ self.assertTrue(os.path.isdir(dirs["source"]))
+ os.makedirs(dirs["build"])
- self.assertEqual(machine, elf.machine())
- self.assertEqual(bits, elf.abiSize())
- self.assertEqual(endian, elf.isLittleEndian())
+ self._run("cd {build} && cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON {source}".format(**dirs))
+ self._run("cmake --build {build} -- -j".format(**dirs))
+ self._run("cmake --build {build} --target install -- DESTDIR={install}".format(**dirs))
+ self.check_elf(os.path.join(dirs["install"], "usr", "local", "lib", "libassimp.so.4.1.0"))
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
index 333dc7c22..9504ee8e0 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
@@ -1,33 +1,31 @@
+import os
+import tempfile
+import subprocess
import unittest
+
from oeqa.sdk.case import OESDKTestCase
-from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
class BuildCpioTest(OESDKTestCase):
- td_vars = ['DATETIME']
-
- @classmethod
- def setUpClass(self):
- dl_dir = self.td.get('DL_DIR', None)
-
- self.project = SDKBuildProject(self.tc.sdk_dir + "/cpio/", self.tc.sdk_env,
- "https://ftp.gnu.org/gnu/cpio/cpio-2.12.tar.gz",
- self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
- self.project.download_archive()
-
- machine = self.td.get("MACHINE")
- if not self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine):
- raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain")
-
+ """
+ Check that autotools will cross-compile correctly.
+ """
def test_cpio(self):
- self.assertEqual(self.project.run_configure(), 0,
- msg="Running configure failed")
+ with tempfile.TemporaryDirectory(prefix="cpio-", dir=self.tc.sdk_dir) as testdir:
+ tarball = self.fetch(testdir, self.td["DL_DIR"], "https://ftp.gnu.org/gnu/cpio/cpio-2.12.tar.gz")
+
+ dirs = {}
+ dirs["source"] = os.path.join(testdir, "cpio-2.12")
+ dirs["build"] = os.path.join(testdir, "build")
+ dirs["install"] = os.path.join(testdir, "install")
- self.assertEqual(self.project.run_make(), 0,
- msg="Running make failed")
+ subprocess.check_output(["tar", "xf", tarball, "-C", testdir])
+ self.assertTrue(os.path.isdir(dirs["source"]))
+ os.makedirs(dirs["build"])
- self.assertEqual(self.project.run_install(), 0,
- msg="Running make install failed")
+ self._run("cd {build} && {source}/configure $CONFIGURE_FLAGS".format(**dirs))
+ self._run("cd {build} && make -j".format(**dirs))
+ self._run("cd {build} && make install DESTDIR={install}".format(**dirs))
- @classmethod
- def tearDownClass(self):
- self.project.clean()
+ self.check_elf(os.path.join(dirs["install"], "usr", "local", "bin", "cpio"))
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
new file mode 100644
index 000000000..ef24b4f4a
--- /dev/null
+++ b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
@@ -0,0 +1,35 @@
+import os
+import subprocess
+import tempfile
+import unittest
+
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
+class EpoxyTest(OESDKTestCase):
+ """
+ Test that Meson builds correctly.
+ """
+ def setUp(self):
+ if not (self.tc.hasHostPackage("nativesdk-meson")):
+ raise unittest.SkipTest("GalculatorTest class: SDK doesn't contain Meson")
+
+ def test_epoxy(self):
+ with tempfile.TemporaryDirectory(prefix="epoxy", dir=self.tc.sdk_dir) as testdir:
+ tarball = self.fetch(testdir, self.td["DL_DIR"], "https://github.com/anholt/libepoxy/releases/download/1.5.3/libepoxy-1.5.3.tar.xz")
+
+ dirs = {}
+ dirs["source"] = os.path.join(testdir, "libepoxy-1.5.3")
+ dirs["build"] = os.path.join(testdir, "build")
+ dirs["install"] = os.path.join(testdir, "install")
+
+ subprocess.check_output(["tar", "xf", tarball, "-C", testdir])
+ self.assertTrue(os.path.isdir(dirs["source"]))
+ os.makedirs(dirs["build"])
+
+ self._run("meson -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs))
+ self._run("ninja -C {build} -v".format(**dirs))
+ self._run("DESTDIR={install} ninja -C {build} -v install".format(**dirs))
+
+ self.check_elf(os.path.join(dirs["install"], "usr", "local", "lib", "libepoxy.so"))
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
index 050d1b3b5..47d7580fa 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -1,13 +1,17 @@
+import os
+import subprocess
+import tempfile
import unittest
from oeqa.sdk.case import OESDKTestCase
-from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
class GalculatorTest(OESDKTestCase):
- td_vars = ['DATETIME']
-
- @classmethod
- def setUpClass(self):
+ """
+ Test that autotools and GTK+ 3 compiles correctly.
+ """
+ def setUp(self):
if not (self.tc.hasTargetPackage("gtk+3", multilib=True) or \
self.tc.hasTargetPackage("libgtk-3.0", multilib=True)):
raise unittest.SkipTest("GalculatorTest class: SDK don't support gtk+3")
@@ -15,23 +19,21 @@ class GalculatorTest(OESDKTestCase):
raise unittest.SkipTest("GalculatorTest class: SDK doesn't contain gettext")
def test_galculator(self):
- dl_dir = self.td.get('DL_DIR', None)
- project = None
- try:
- project = SDKBuildProject(self.tc.sdk_dir + "/galculator/",
- self.tc.sdk_env,
- "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
- self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
+ with tempfile.TemporaryDirectory(prefix="galculator", dir=self.tc.sdk_dir) as testdir:
+ tarball = self.fetch(testdir, self.td["DL_DIR"], "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2")
- project.download_archive()
+ dirs = {}
+ dirs["source"] = os.path.join(testdir, "galculator-2.1.4")
+ dirs["build"] = os.path.join(testdir, "build")
+ dirs["install"] = os.path.join(testdir, "install")
- # regenerate configure to get support for --with-libtool-sysroot
- legacy_preconf=("autoreconf -i -f -I ${OECORE_TARGET_SYSROOT}/usr/share/aclocal -I m4;")
+ subprocess.check_output(["tar", "xf", tarball, "-C", testdir])
+ self.assertTrue(os.path.isdir(dirs["source"]))
+ os.makedirs(dirs["build"])
- self.assertEqual(project.run_configure(extra_cmds=legacy_preconf),
- 0, msg="Running configure failed")
+ self._run("cd {source} && autoreconf -i -f -I $OECORE_TARGET_SYSROOT/usr/share/aclocal -I m4".format(**dirs))
+ self._run("cd {build} && {source}/configure $CONFIGURE_FLAGS".format(**dirs))
+ self._run("cd {build} && make -j".format(**dirs))
+ self._run("cd {build} && make install DESTDIR={install}".format(**dirs))
- self.assertEqual(project.run_make(), 0,
- msg="Running make failed")
- finally:
- project.clean()
+ self.check_elf(os.path.join(dirs["install"], "usr", "local", "bin", "galculator"))
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
index b28cc3a59..b7483bfea 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
@@ -1,36 +1,33 @@
-import unittest
+import os, tempfile, subprocess, unittest
from oeqa.sdk.case import OESDKTestCase
-from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
-
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
class BuildLzipTest(OESDKTestCase):
- td_vars = ['DATETIME']
-
- @classmethod
- def setUpClass(self):
- dl_dir = self.td.get('DL_DIR', None)
-
- self.project = SDKBuildProject(self.tc.sdk_dir + "/lzip/", self.tc.sdk_env,
- "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz",
- self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
- self.project.download_archive()
-
- machine = self.td.get("MACHINE")
-
- if not (self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine) or
- self.tc.hasHostPackage("^gcc-", regex=True)):
- raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain")
-
+ """
+ Test that "plain" compilation works, using just $CC $CFLAGS etc.
+ """
def test_lzip(self):
- self.assertEqual(self.project.run_configure(), 0,
- msg="Running configure failed")
-
- self.assertEqual(self.project.run_make(), 0,
- msg="Running make failed")
-
- self.assertEqual(self.project.run_install(), 0,
- msg="Running make install failed")
-
- @classmethod
- def tearDownClass(self):
- self.project.clean()
+ with tempfile.TemporaryDirectory(prefix="lzip", dir=self.tc.sdk_dir) as testdir:
+ tarball = self.fetch(testdir, self.td["DL_DIR"], "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz")
+
+ dirs = {}
+ dirs["source"] = os.path.join(testdir, "lzip-1.19")
+ dirs["build"] = os.path.join(testdir, "build")
+ dirs["install"] = os.path.join(testdir, "install")
+
+ subprocess.check_output(["tar", "xf", tarball, "-C", testdir])
+ self.assertTrue(os.path.isdir(dirs["source"]))
+ os.makedirs(dirs["build"])
+
+ cmd = """cd {build} && \
+ {source}/configure --srcdir {source} \
+ CXX="$CXX" \
+ CPPFLAGS="$CPPFLAGS" \
+ CXXFLAGS="$CXXFLAGS" \
+ LDFLAGS="$LDFLAGS" \
+ """
+ self._run(cmd.format(**dirs))
+ self._run("cd {build} && make -j".format(**dirs))
+ self._run("cd {build} && make install DESTDIR={install}".format(**dirs))
+ self.check_elf(os.path.join(dirs["install"], "usr", "local", "bin", "lzip"))
diff --git a/poky/meta/lib/oeqa/sdk/cases/gcc.py b/poky/meta/lib/oeqa/sdk/cases/gcc.py
index b32b01fc2..54c6fc488 100644
--- a/poky/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/poky/meta/lib/oeqa/sdk/cases/gcc.py
@@ -5,6 +5,9 @@ import unittest
from oeqa.core.utils.path import remove_safe
from oeqa.sdk.case import OESDKTestCase
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
class GccCompileTest(OESDKTestCase):
td_vars = ['MACHINE']
diff --git a/poky/meta/lib/oeqa/sdk/cases/perl.py b/poky/meta/lib/oeqa/sdk/cases/perl.py
index ff50b4680..b8adc5ac7 100644
--- a/poky/meta/lib/oeqa/sdk/cases/perl.py
+++ b/poky/meta/lib/oeqa/sdk/cases/perl.py
@@ -1,17 +1,16 @@
import unittest
from oeqa.sdk.case import OESDKTestCase
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
class PerlTest(OESDKTestCase):
- @classmethod
- def setUpClass(self):
+ def setUp(self):
if not (self.tc.hasHostPackage("nativesdk-perl") or
self.tc.hasHostPackage("perl-native")):
raise unittest.SkipTest("No perl package in the SDK")
def test_perl(self):
- try:
- cmd = "perl -e '$_=\"Uryyb, jbeyq\"; tr/a-zA-Z/n-za-mN-ZA-M/;print'"
- output = self._run(cmd)
- self.assertEqual(output, "Hello, world")
- except subprocess.CalledProcessError as e:
- self.fail("Unexpected exit %d (output %s)" % (e.returncode, e.output))
+ cmd = "perl -e '$_=\"Uryyb, jbeyq\"; tr/a-zA-Z/n-za-mN-ZA-M/;print'"
+ output = self._run(cmd)
+ self.assertEqual(output, "Hello, world")
diff --git a/poky/meta/lib/oeqa/sdk/cases/python.py b/poky/meta/lib/oeqa/sdk/cases/python.py
index bd5f1f67b..b9174fadb 100644
--- a/poky/meta/lib/oeqa/sdk/cases/python.py
+++ b/poky/meta/lib/oeqa/sdk/cases/python.py
@@ -1,17 +1,27 @@
import subprocess, unittest
from oeqa.sdk.case import OESDKTestCase
-class PythonTest(OESDKTestCase):
- @classmethod
- def setUpClass(self):
- if not (self.tc.hasHostPackage("nativesdk-python3") or
- self.tc.hasHostPackage("python3-native")):
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
+class Python2Test(OESDKTestCase):
+ def setUp(self):
+ if not (self.tc.hasHostPackage("nativesdk-python-core") or
+ self.tc.hasHostPackage("python-core-native")):
raise unittest.SkipTest("No python package in the SDK")
+ def test_python2(self):
+ cmd = "python -c \"import codecs; print(codecs.encode('Uryyb, jbeyq', 'rot13'))\""
+ output = self._run(cmd)
+ self.assertEqual(output, "Hello, world\n")
+
+class Python3Test(OESDKTestCase):
+ def setUp(self):
+ if not (self.tc.hasHostPackage("nativesdk-python3-core") or
+ self.tc.hasHostPackage("python3-core-native")):
+ raise unittest.SkipTest("No python3 package in the SDK")
+
def test_python3(self):
- try:
- cmd = "python3 -c \"import codecs; print(codecs.encode('Uryyb, jbeyq', 'rot13'))\""
- output = self._run(cmd)
- self.assertEqual(output, "Hello, world\n")
- except subprocess.CalledProcessError as e:
- self.fail("Unexpected exit %d (output %s)" % (e.returncode, e.output))
+ cmd = "python3 -c \"import codecs; print(codecs.encode('Uryyb, jbeyq', 'rot13'))\""
+ output = self._run(cmd)
+ self.assertEqual(output, "Hello, world\n")
diff --git a/poky/meta/lib/oeqa/sdkext/cases/devtool.py b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
index 0860e8d17..d322f86c7 100644
--- a/poky/meta/lib/oeqa/sdkext/cases/devtool.py
+++ b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
@@ -9,6 +9,9 @@ from oeqa.sdkext.case import OESDKExtTestCase
from oeqa.core.decorator.oeid import OETestID
from oeqa.utils.httpserver import HTTPService
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
class DevtoolTest(OESDKExtTestCase):
@classmethod
def setUpClass(cls):
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index 005fdd096..c503e4eed 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -40,8 +40,8 @@ class BitbakeTests(OESelftestTestCase):
def test_event_handler(self):
self.write_config("INHERIT += \"test_events\"")
result = bitbake('m4-native')
- find_build_started = re.search("NOTE: Test for bb\.event\.BuildStarted(\n.*)*NOTE: Executing RunQueue Tasks", result.output)
- find_build_completed = re.search("Tasks Summary:.*(\n.*)*NOTE: Test for bb\.event\.BuildCompleted", result.output)
+ find_build_started = re.search(r"NOTE: Test for bb\.event\.BuildStarted(\n.*)*NOTE: Executing RunQueue Tasks", result.output)
+ find_build_completed = re.search(r"Tasks Summary:.*(\n.*)*NOTE: Test for bb\.event\.BuildCompleted", result.output)
self.assertTrue(find_build_started, msg = "Match failed in:\n%s" % result.output)
self.assertTrue(find_build_completed, msg = "Match failed in:\n%s" % result.output)
self.assertFalse('Test for bb.event.InvalidEvent' in result.output, msg = "\"Test for bb.event.InvalidEvent\" message found during bitbake process. bitbake output: %s" % result.output)
@@ -196,7 +196,7 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
@OETestID(1031)
def test_version(self):
result = runCmd('bitbake -s | grep wget')
- find = re.search("wget *:([0-9a-zA-Z\.\-]+)", result.output)
+ find = re.search(r"wget *:([0-9a-zA-Z\.\-]+)", result.output)
self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output)
@OETestID(1032)
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index f234bac05..6a18eb836 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -37,13 +37,13 @@ class ImageOptionsTests(OESelftestTestCase):
p = bb_vars['SYSROOT_DESTDIR'] + bb_vars['bindir'] + "/" + "ccache"
self.assertTrue(os.path.isfile(p), msg = "No ccache found (%s)" % p)
self.write_config('INHERIT += "ccache"')
- self.add_command_to_tearDown('bitbake -c clean m4')
- bitbake("m4 -c clean")
- bitbake("m4 -f -c compile")
- log_compile = os.path.join(get_bb_var("WORKDIR","m4"), "temp/log.do_compile")
+ self.add_command_to_tearDown('bitbake -c clean m4-native')
+ bitbake("m4-native -c clean")
+ bitbake("m4-native -f -c compile")
+ log_compile = os.path.join(get_bb_var("WORKDIR","m4-native"), "temp/log.do_compile")
with open(log_compile, "r") as f:
loglines = "".join(f.readlines())
- self.assertIn("ccache", loglines, msg="No match for ccache in m4 log.do_compile. For further details: %s" % log_compile)
+ self.assertIn("ccache", loglines, msg="No match for ccache in m4-native log.do_compile. For further details: %s" % log_compile)
@OETestID(1435)
def test_read_only_image(self):
@@ -187,6 +187,8 @@ class SourceMirroring(OESelftestTestCase):
BB_ALLOWED_NETWORKS = "downloads.yoctoproject.org"
MIRRORS = ""
DL_DIR = "${TMPDIR}/test_downloads"
+STAMPS_DIR = "${TMPDIR}/test_stamps"
+SSTATE_DIR = "${TMPDIR}/test_sstate-cache"
PREMIRRORS = "\\
bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \\n \\
cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \\n \\
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 9eb9badf8..58f3e5846 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -1291,7 +1291,7 @@ class DevtoolExtractTests(DevtoolBase):
installdir = bb_vars['D']
fakerootenv = bb_vars['FAKEROOTENV']
fakerootcmd = bb_vars['FAKEROOTCMD']
- result = runCmd('%s %s find . -type f -exec ls -l {} \;' % (fakerootenv, fakerootcmd), cwd=installdir)
+ result = runCmd('%s %s find . -type f -exec ls -l {} \\;' % (fakerootenv, fakerootcmd), cwd=installdir)
filelist1 = self._process_ls_output(result.output)
# Now look on the target
diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
index e7b5e3495..0b454714e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -4,16 +4,9 @@ from oeqa.utils.decorators import testcase
from oeqa.utils.ftools import write_file
from oeqa.core.decorator.oeid import OETestID
-class Distrodata(OESelftestTestCase):
-
- @classmethod
- def setUpClass(cls):
- super(Distrodata, cls).setUpClass()
- feature = 'INHERIT += "distrodata"\n'
- feature += 'LICENSE_FLAGS_WHITELIST += " commercial"\n'
+import oe.recipeutils
- cls.write_config(cls, feature)
- bitbake('-c checkpkg world')
+class Distrodata(OESelftestTestCase):
@OETestID(1902)
def test_checkpkg(self):
@@ -23,9 +16,13 @@ class Distrodata(OESelftestTestCase):
Product: oe-core
Author: Alexander Kanavin <alex.kanavin@gmail.com>
"""
- checkpkg_result = open(os.path.join(get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:]
- regressed_failures = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == 'UNKNOWN_BROKEN']
- regressed_successes = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == 'KNOWN_BROKEN']
+ feature = 'LICENSE_FLAGS_WHITELIST += " commercial"\n'
+ self.write_config(feature)
+
+ pkgs = oe.recipeutils.get_recipe_upgrade_status()
+
+ regressed_failures = [pkg[0] for pkg in pkgs if pkg[1] == 'UNKNOWN_BROKEN']
+ regressed_successes = [pkg[0] for pkg in pkgs if pkg[1] == 'KNOWN_BROKEN']
msg = ""
if len(regressed_failures) > 0:
msg = msg + """
@@ -55,45 +52,36 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
return True
return False
- def is_in_oe_core(recipe, recipes):
- self.assertTrue(recipe in recipes.keys(), "Recipe %s was not in 'bitbake-layers show-recipes' output" %(recipe))
- self.assertTrue(len(recipes[recipe]) > 0, "'bitbake-layers show-recipes' could not determine what layer(s) a recipe %s is in" %(recipe))
- try:
- recipes[recipe].index('meta')
- return True
- except ValueError:
- return False
+ feature = 'require conf/distro/include/maintainers.inc\n'
+ self.write_config(feature)
- def get_recipe_layers():
- import re
+ with bb.tinfoil.Tinfoil() as tinfoil:
+ tinfoil.prepare(config_only=False)
- recipes = {}
- recipe_regex = re.compile('^(?P<name>.*):$')
- layer_regex = re.compile('^ (?P<name>\S*) +')
- output = runCmd('bitbake-layers show-recipes').output
- for line in output.split('\n'):
- recipe_name_obj = recipe_regex.search(line)
- if recipe_name_obj:
- recipe_name = recipe_name_obj.group('name')
- recipes[recipe_name] = []
- recipe_layer_obj = layer_regex.search(line)
- if recipe_layer_obj:
- layer_name = recipe_layer_obj.group('name')
- recipes[recipe_name].append(layer_name)
- return recipes
+ with_maintainer_list = []
+ no_maintainer_list = []
+ # We could have used all_recipes() here, but this method will find
+ # every recipe if we ever move to setting RECIPE_MAINTAINER in recipe files
+ # instead of maintainers.inc
+ for fn in tinfoil.all_recipe_files(variants=False):
+ if not '/meta/recipes-' in fn:
+ # We are only interested in OE-Core
+ continue
+ rd = tinfoil.parse_recipe_file(fn, appends=False)
+ pn = rd.getVar('PN')
+ if is_exception(pn):
+ continue
+ if rd.getVar('RECIPE_MAINTAINER'):
+ with_maintainer_list.append((pn, fn))
+ else:
+ no_maintainer_list.append((pn, fn))
- checkpkg_result = open(os.path.join(get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:]
- recipes_layers = get_recipe_layers()
- no_maintainer_list = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] \
- if pkg_data[14] == '' and is_in_oe_core(pkg_data[0], recipes_layers) and not is_exception(pkg_data[0])]
- msg = """
-The following packages do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file.
-""" + "\n".join(no_maintainer_list)
- self.assertTrue(len(no_maintainer_list) == 0, msg)
+ if no_maintainer_list:
+ self.fail("""
+The following recipes do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file.
+""" + "\n".join(['%s (%s)' % i for i in no_maintainer_list]))
- with_maintainer_list = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] \
- if pkg_data[14] != '' and is_in_oe_core(pkg_data[0], recipes_layers) and not is_exception(pkg_data[0])]
- msg = """
-The list of oe-core packages with maintainers is empty. This may indicate that the test has regressed and needs fixing.
-"""
- self.assertTrue(len(with_maintainer_list) > 0, msg)
+ if not with_maintainer_list:
+ self.fail("""
+The list of oe-core recipes with maintainers is empty. This may indicate that the test has regressed and needs fixing.
+""")
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 8c95432e0..aed63e547 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -236,3 +236,29 @@ USERADD_GID_TABLES += "files/static-group"
"""
self.write_config(config)
bitbake("core-image-base")
+
+ def test_no_busybox_base_utils(self):
+ config = """
+# Enable x11
+DISTRO_FEATURES_append += "x11"
+
+# Switch to systemd
+DISTRO_FEATURES += "systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+VIRTUAL-RUNTIME_initscripts = ""
+VIRTUAL-RUNTIME_syslog = ""
+VIRTUAL-RUNTIME_login_manager = "shadow-base"
+DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
+
+# Replace busybox
+PREFERRED_PROVIDER_virtual/base-utils = "packagegroup-core-base-utils"
+VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils"
+VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock"
+VIRTUAL-RUNTIME_base-utils-syslog = ""
+
+# Blacklist busybox
+PNBLACKLIST[busybox] = "Don't build this"
+"""
+ self.write_config(config)
+
+ bitbake("--graphviz core-image-sato")
diff --git a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
new file mode 100644
index 000000000..3c36f6e5d
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
@@ -0,0 +1,43 @@
+import os
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake
+import oeqa.utils.ftools as ftools
+
+class MultiConfig(OESelftestTestCase):
+
+ def test_multiconfig(self):
+ """
+ Test that a simple multiconfig build works. This uses the mcextend class and the
+ multiconfig-image-packager test recipe to build a core-image-full-cmdline image which
+ contains a tiny core-image-minimal and a musl core-image-minimal, installed as packages.
+ """
+
+ config = """
+IMAGE_INSTALL_append_pn-core-image-full-cmdline = " multiconfig-image-packager-tiny multiconfig-image-packager-musl"
+BBMULTICONFIG = "tiny musl"
+"""
+ self.write_config(config)
+
+ muslconfig = """
+MACHINE = "qemux86-64"
+DISTRO = "poky"
+TCLIBC = "musl"
+TMPDIR = "${TOPDIR}/tmp-mc-musl"
+"""
+
+ tinyconfig = """
+MACHINE = "qemux86"
+DISTRO = "poky-tiny"
+TMPDIR = "${TOPDIR}/tmp-mc-tiny"
+"""
+
+ multiconfigdir = self.builddir + "/conf/multiconfig"
+ os.makedirs(multiconfigdir, exist_ok=True)
+ self.track_for_cleanup(multiconfigdir + "/musl.conf")
+ ftools.write_file(multiconfigdir + "/musl.conf", muslconfig)
+ self.track_for_cleanup(multiconfigdir + "/tiny.conf")
+ ftools.write_file(multiconfigdir + "/tiny.conf", tinyconfig)
+
+ # Build a core-image-minimal
+ bitbake('core-image-full-cmdline')
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py
index 0a88dc25b..6596dabc3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/package.py
+++ b/poky/meta/lib/oeqa/selftest/cases/package.py
@@ -137,7 +137,7 @@ class PackageTests(OESelftestTestCase):
elif "Breakpoint 1, main () at hello.c:4" in l:
return True
- self.logger.error("GDB result:\n%s: %s" % output)
+ self.logger.error("GDB result:\n%d: %s", status, output)
return False
with runqemu('core-image-minimal') as qemu:
diff --git a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
index 0b4caf1b2..aa05f40d6 100644
--- a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
@@ -13,6 +13,7 @@ class OePkgdataUtilTests(OESelftestTestCase):
super(OePkgdataUtilTests, cls).setUpClass()
# Ensure we have the right data in pkgdata
cls.logger.info('Running bitbake to generate pkgdata')
+ bitbake('target-sdk-provides-dummy -c clean')
bitbake('busybox zlib m4')
@OETestID(1203)
@@ -82,7 +83,7 @@ class OePkgdataUtilTests(OESelftestTestCase):
pkglist.remove('zlib-ptest') # in case ptest is disabled
except ValueError:
pass
- self.assertEqual(pkglist, ['zlib', 'zlib-dbg', 'zlib-dev', 'zlib-doc', 'zlib-staticdev'], "Packages listed after remove: %s" % result.output)
+ self.assertEqual(pkglist, ['zlib', 'zlib-dbg', 'zlib-dev', 'zlib-doc', 'zlib-src', 'zlib-staticdev'], "Packages listed after remove: %s" % result.output)
# With recipe specified, runtime
result = runCmd('oe-pkgdata-util list-pkgs -p zlib -r')
pkglist = sorted(result.output.split())
@@ -90,7 +91,7 @@ class OePkgdataUtilTests(OESelftestTestCase):
pkglist.remove('libz-ptest') # in case ptest is disabled
except ValueError:
pass
- self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc', 'libz-staticdev', 'libz1'], "Packages listed after remove: %s" % result.output)
+ self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc', 'libz-src', 'libz-staticdev', 'libz1'], "Packages listed after remove: %s" % result.output)
# With recipe specified and unpackaged
result = runCmd('oe-pkgdata-util list-pkgs -p zlib -u')
pkglist = sorted(result.output.split())
diff --git a/poky/meta/lib/oeqa/selftest/cases/prservice.py b/poky/meta/lib/oeqa/selftest/cases/prservice.py
index 479e52061..796ad4f5f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/prservice.py
+++ b/poky/meta/lib/oeqa/selftest/cases/prservice.py
@@ -19,7 +19,7 @@ class BitbakePrTests(OESelftestTestCase):
def get_pr_version(self, package_name):
package_data_file = os.path.join(self.pkgdata_dir, 'runtime', package_name)
package_data = ftools.read_file(package_data_file)
- find_pr = re.search("PKGR: r[0-9]+\.([0-9]+)", package_data)
+ find_pr = re.search(r"PKGR: r[0-9]+\.([0-9]+)", package_data)
self.assertTrue(find_pr, "No PKG revision found in %s" % package_data_file)
return int(find_pr.group(1))
@@ -29,7 +29,7 @@ class BitbakePrTests(OESelftestTestCase):
package_stamps_path = "/".join(stampdata[:-1])
stamps = []
for stamp in os.listdir(package_stamps_path):
- find_stamp = re.match("%s\.%s\.([a-z0-9]{32})" % (re.escape(prefix), recipe_task), stamp)
+ find_stamp = re.match(r"%s\.%s\.([a-z0-9]{32})" % (re.escape(prefix), recipe_task), stamp)
if find_stamp:
stamps.append(find_stamp.group(1))
self.assertFalse(len(stamps) == 0, msg="Cound not find stamp for task %s for recipe %s" % (recipe_task, package_name))
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
new file mode 100644
index 000000000..dd2f55839
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
@@ -0,0 +1,137 @@
+import os
+import re
+import time
+import logging
+import bb.tinfoil
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import runCmd, get_test_layer
+from oeqa.core.decorator.oeid import OETestID
+
+
+def setUpModule():
+ global tinfoil
+ global metaselftestpath
+ metaselftestpath = get_test_layer()
+ tinfoil = bb.tinfoil.Tinfoil(tracking=True)
+ tinfoil.prepare(config_only=False, quiet=2)
+
+
+def tearDownModule():
+ tinfoil.shutdown()
+
+
+class RecipeUtilsTests(OESelftestTestCase):
+ """ Tests for the recipeutils module functions """
+
+ def test_patch_recipe_varflag(self):
+ import oe.recipeutils
+ rd = tinfoil.parse_recipe('python3-async-test')
+ vals = {'SRC_URI[md5sum]': 'aaaaaa', 'LICENSE': 'something'}
+ patches = oe.recipeutils.patch_recipe(rd, rd.getVar('FILE'), vals, patch=True, relpath=metaselftestpath)
+
+ expected_patch = """
+--- a/recipes-devtools/python/python-async-test.inc
++++ b/recipes-devtools/python/python-async-test.inc
+@@ -1,14 +1,14 @@
+ SUMMARY = "Python framework to process interdependent tasks in a pool of workers"
+ HOMEPAGE = "http://github.com/gitpython-developers/async"
+ SECTION = "devel/python"
+-LICENSE = "BSD"
++LICENSE = "something"
+ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
+
+ inherit pypi
+
+ PYPI_PACKAGE = "async"
+
+-SRC_URI[md5sum] = "9b06b5997de2154f3bc0273f80bcef6b"
++SRC_URI[md5sum] = "aaaaaa"
+ SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051"
+
+ RDEPENDS_${PN} += "${PYTHON_PN}-threading"
+"""
+ patchlines = []
+ for f in patches:
+ for line in f:
+ patchlines.append(line)
+ self.maxDiff = None
+ self.assertEqual(''.join(patchlines).strip(), expected_patch.strip())
+
+
+ def test_patch_recipe_singleappend(self):
+ import oe.recipeutils
+ rd = tinfoil.parse_recipe('recipeutils-test')
+ val = rd.getVar('SRC_URI', False).split()
+ del val[1]
+ val = ' '.join(val)
+ vals = {'SRC_URI': val}
+ patches = oe.recipeutils.patch_recipe(rd, rd.getVar('FILE'), vals, patch=True, relpath=metaselftestpath)
+
+ expected_patch = """
+--- a/recipes-test/recipeutils/recipeutils-test_1.2.bb
++++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb
+@@ -8,6 +8,4 @@
+
+ BBCLASSEXTEND = "native nativesdk"
+
+-SRC_URI += "file://somefile"
+-
+ SRC_URI_append = " file://anotherfile"
+"""
+ patchlines = []
+ for f in patches:
+ for line in f:
+ patchlines.append(line)
+ self.assertEqual(''.join(patchlines).strip(), expected_patch.strip())
+
+
+ def test_patch_recipe_appends(self):
+ import oe.recipeutils
+ rd = tinfoil.parse_recipe('recipeutils-test')
+ val = rd.getVar('SRC_URI', False).split()
+ vals = {'SRC_URI': val[0]}
+ patches = oe.recipeutils.patch_recipe(rd, rd.getVar('FILE'), vals, patch=True, relpath=metaselftestpath)
+
+ expected_patch = """
+--- a/recipes-test/recipeutils/recipeutils-test_1.2.bb
++++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb
+@@ -8,6 +8,3 @@
+
+ BBCLASSEXTEND = "native nativesdk"
+
+-SRC_URI += "file://somefile"
+-
+-SRC_URI_append = " file://anotherfile"
+"""
+ patchlines = []
+ for f in patches:
+ for line in f:
+ patchlines.append(line)
+ self.assertEqual(''.join(patchlines).strip(), expected_patch.strip())
+
+
+ def test_validate_pn(self):
+ import oe.recipeutils
+ expected_results = {
+ 'test': '',
+ 'glib-2.0': '',
+ 'gtk+': '',
+ 'forcevariable': 'reserved',
+ 'pn-something': 'reserved',
+ 'test.bb': 'file',
+ 'test_one': 'character',
+ 'test!': 'character',
+ }
+
+ for pn, expected in expected_results.items():
+ result = oe.recipeutils.validate_pn(pn)
+ if expected:
+ self.assertIn(expected, result)
+ else:
+ self.assertEqual(result, '')
+
+ def test_split_var_value(self):
+ import oe.recipeutils
+ res = oe.recipeutils.split_var_value('test.1 test.2 ${@call_function("hi there world", false)} test.4')
+ self.assertEqual(res, ['test.1', 'test.2', '${@call_function("hi there world", false)}', 'test.4'])
diff --git a/poky/meta/lib/oeqa/selftest/cases/runcmd.py b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
index d76d7063c..a1615cfd2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runcmd.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
@@ -24,8 +24,8 @@ class RunCmdTests(OESelftestTestCase):
# The delta is intentionally smaller than the timeout, to detect cases where
# we incorrectly apply the timeout more than once.
- TIMEOUT = 2
- DELTA = 1
+ TIMEOUT = 5
+ DELTA = 3
@OETestID(1916)
def test_result_okay(self):
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 906e460d4..6c25bb901 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -6,6 +6,7 @@ import os
import re
import tempfile
import shutil
+import oe.lsb
class TestExport(OESelftestTestCase):
@@ -168,6 +169,71 @@ class TestImage(OESelftestTestCase):
# remove the oeqa-feed-sign temporal directory
shutil.rmtree(self.gpg_home, ignore_errors=True)
+ @OETestID(1883)
+ def test_testimage_virgl_gtk(self):
+ """
+ Summary: Check host-assisted accelerate OpenGL functionality in qemu with gtk frontend
+ Expected: 1. Check that virgl kernel driver is loaded and 3d acceleration is enabled
+ 2. Check that kmscube demo runs without crashing.
+ Product: oe-core
+ Author: Alexander Kanavin <alex.kanavin@gmail.com>
+ """
+ if "DISPLAY" not in os.environ:
+ self.skipTest("virgl gtk test must be run inside a X session")
+ distro = oe.lsb.distro_identifier()
+ if distro and distro == 'debian-8':
+ self.skipTest('virgl isn\'t working with Debian 8')
+
+ qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')
+ features = 'INHERIT += "testimage"\n'
+ if 'gtk+' not in qemu_packageconfig:
+ features += 'PACKAGECONFIG_append_pn-qemu-system-native = " gtk+"\n'
+ if 'virglrenderer' not in qemu_packageconfig:
+ features += 'PACKAGECONFIG_append_pn-qemu-system-native = " virglrenderer"\n'
+ if 'glx' not in qemu_packageconfig:
+ features += 'PACKAGECONFIG_append_pn-qemu-system-native = " glx"\n'
+ features += 'TEST_SUITES = "ping ssh virgl"\n'
+ features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n'
+ features += 'IMAGE_INSTALL_append = " kmscube"\n'
+ features += 'TEST_RUNQEMUPARAMS = "gtk-gl"\n'
+ self.write_config(features)
+ bitbake('core-image-minimal')
+ bitbake('-c testimage core-image-minimal')
+
+ @OETestID(1883)
+ def test_testimage_virgl_headless(self):
+ """
+ Summary: Check host-assisted accelerate OpenGL functionality in qemu with egl-headless frontend
+ Expected: 1. Check that virgl kernel driver is loaded and 3d acceleration is enabled
+ 2. Check that kmscube demo runs without crashing.
+ Product: oe-core
+ Author: Alexander Kanavin <alex.kanavin@gmail.com>
+ """
+ import subprocess, os
+ try:
+ content = os.listdir("/dev/dri")
+ if len([i for i in content if i.startswith('render')]) == 0:
+ self.skipTest("No render nodes found in /dev/dri: %s" %(content))
+ except FileNotFoundError:
+ self.skipTest("/dev/dri directory does not exist; no render nodes available on this machine.")
+ try:
+ dripath = subprocess.check_output("pkg-config --variable=dridriverdir dri", shell=True)
+ except subprocess.CalledProcessError as e:
+ self.skipTest("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.")
+ qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')
+ features = 'INHERIT += "testimage"\n'
+ if 'virglrenderer' not in qemu_packageconfig:
+ features += 'PACKAGECONFIG_append_pn-qemu-system-native = " virglrenderer"\n'
+ if 'glx' not in qemu_packageconfig:
+ features += 'PACKAGECONFIG_append_pn-qemu-system-native = " glx"\n'
+ features += 'TEST_SUITES = "ping ssh virgl"\n'
+ features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n'
+ features += 'IMAGE_INSTALL_append = " kmscube"\n'
+ features += 'TEST_RUNQEMUPARAMS = "egl-headless"\n'
+ self.write_config(features)
+ bitbake('core-image-minimal')
+ bitbake('-c testimage core-image-minimal')
+
class Postinst(OESelftestTestCase):
@OETestID(1540)
@OETestID(1545)
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 077d6e537..938e654e9 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -96,14 +96,14 @@ class SStateTests(SStateBase):
bitbake(['-ccleansstate'] + targets)
bitbake(targets)
- tgz_created = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific)
+ tgz_created = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific)
self.assertTrue(tgz_created, msg="Could not find sstate .tgz files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_created)))
- siginfo_created = self.search_sstate('|'.join(map(str, [s + '.*?\.siginfo$' for s in targets])), distro_specific, distro_nonspecific)
+ siginfo_created = self.search_sstate('|'.join(map(str, [s + r'.*?\.siginfo$' for s in targets])), distro_specific, distro_nonspecific)
self.assertTrue(siginfo_created, msg="Could not find sstate .siginfo files for: %s (%s)" % (', '.join(map(str, targets)), str(siginfo_created)))
bitbake(['-ccleansstate'] + targets)
- tgz_removed = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific)
+ tgz_removed = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific)
self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed)))
@OETestID(977)
@@ -130,14 +130,14 @@ class SStateTests(SStateBase):
bitbake(['-ccleansstate'] + targets)
bitbake(targets)
- results = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific=False, distro_nonspecific=True)
+ results = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific=False, distro_nonspecific=True)
filtered_results = []
for r in results:
if r.endswith(("_populate_lic.tgz", "_populate_lic.tgz.siginfo")):
continue
filtered_results.append(r)
self.assertTrue(filtered_results == [], msg="Found distro non-specific sstate for: %s (%s)" % (', '.join(map(str, targets)), str(filtered_results)))
- file_tracker_1 = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific=True, distro_nonspecific=False)
+ file_tracker_1 = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific=True, distro_nonspecific=False)
self.assertTrue(len(file_tracker_1) >= len(targets), msg = "Not all sstate files ware created for: %s" % ', '.join(map(str, targets)))
self.track_for_cleanup(self.distro_specific_sstate + "_old")
@@ -146,7 +146,7 @@ class SStateTests(SStateBase):
bitbake(['-cclean'] + targets)
bitbake(targets)
- file_tracker_2 = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific=True, distro_nonspecific=False)
+ file_tracker_2 = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific=True, distro_nonspecific=False)
self.assertTrue(len(file_tracker_2) >= len(targets), msg = "Not all sstate files ware created for: %s" % ', '.join(map(str, targets)))
not_recreated = [x for x in file_tracker_1 if x not in file_tracker_2]
@@ -192,18 +192,18 @@ class SStateTests(SStateBase):
if not sstate_arch in sstate_archs_list:
sstate_archs_list.append(sstate_arch)
if target_config[idx] == target_config[-1]:
- target_sstate_before_build = self.search_sstate(target + '.*?\.tgz$')
+ target_sstate_before_build = self.search_sstate(target + r'.*?\.tgz$')
bitbake("-cclean %s" % target)
result = bitbake(target, ignore_status=True)
if target_config[idx] == target_config[-1]:
- target_sstate_after_build = self.search_sstate(target + '.*?\.tgz$')
+ target_sstate_after_build = self.search_sstate(target + r'.*?\.tgz$')
expected_remaining_sstate += [x for x in target_sstate_after_build if x not in target_sstate_before_build if not any(pattern in x for pattern in ignore_patterns)]
self.remove_config(global_config[idx])
self.remove_recipeinc(target, target_config[idx])
self.assertEqual(result.status, 0, msg = "build of %s failed with %s" % (target, result.output))
runCmd("sstate-cache-management.sh -y --cache-dir=%s --remove-duplicated --extra-archs=%s" % (self.sstate_path, ','.join(map(str, sstate_archs_list))))
- actual_remaining_sstate = [x for x in self.search_sstate(target + '.*?\.tgz$') if not any(pattern in x for pattern in ignore_patterns)]
+ actual_remaining_sstate = [x for x in self.search_sstate(target + r'.*?\.tgz$') if not any(pattern in x for pattern in ignore_patterns)]
actual_not_expected = [x for x in actual_remaining_sstate if x not in expected_remaining_sstate]
self.assertFalse(actual_not_expected, msg="Files should have been removed but ware not: %s" % ', '.join(map(str, actual_not_expected)))
diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py
index c52129032..c56e53dcd 100644
--- a/poky/meta/lib/oeqa/selftest/context.py
+++ b/poky/meta/lib/oeqa/selftest/context.py
@@ -108,6 +108,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
logdir = os.environ.get("BUILDDIR")
if 'LOG_DIR' in bbvars:
logdir = bbvars['LOG_DIR']
+ bb.utils.mkdirhier(logdir)
args.output_log = logdir + '/%s-results-%s.log' % (self.name, args.test_start_time)
super(OESelftestTestContextExecutor, self)._process_args(logger, args)
diff --git a/poky/meta/lib/oeqa/utils/metadata.py b/poky/meta/lib/oeqa/utils/metadata.py
index b7def7722..e0808ae0a 100644
--- a/poky/meta/lib/oeqa/utils/metadata.py
+++ b/poky/meta/lib/oeqa/utils/metadata.py
@@ -72,8 +72,11 @@ def git_rev_info(path):
info['commit'] = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=path).decode('utf-8').strip()
except subprocess.CalledProcessError:
pass
+ try:
+ info['commit_count'] = int(subprocess.check_output(["git", "rev-list", "--count", "HEAD"], cwd=path).decode('utf-8').strip())
+ except subprocess.CalledProcessError:
+ pass
return info
-
try:
repo = Repo(path, search_parent_directories=True)
except (InvalidGitRepositoryError, NoSuchPathError):
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index cc95dc299..49020c1e6 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -28,7 +28,8 @@ re_control_char = re.compile('[%s]' % re.escape("".join(control_chars)))
class QemuRunner:
- def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds, use_kvm, logger):
+ def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds,
+ use_kvm, logger, use_slirp=False):
# Popen object for runqemu
self.runqemu = None
@@ -51,6 +52,7 @@ class QemuRunner:
self.logged = False
self.thread = None
self.use_kvm = use_kvm
+ self.use_slirp = use_slirp
self.msg = ''
self.runqemutime = 120
@@ -129,6 +131,8 @@ class QemuRunner:
self.logger.debug('Not using kvm for runqemu')
if not self.display:
launch_cmd += ' nographic'
+ if self.use_slirp:
+ launch_cmd += ' slirp'
launch_cmd += ' %s %s' % (self.machine, self.rootfs)
return self.launch(launch_cmd, qemuparams=qemuparams, get_ip=get_ip, extra_bootparams=extra_bootparams, env=env)
@@ -238,9 +242,14 @@ class QemuRunner:
# because is possible to have control characters
cmdline = re_control_char.sub(' ', cmdline)
try:
- ips = re.findall(r"((?:[0-9]{1,3}\.){3}[0-9]{1,3})", cmdline.split("ip=")[1])
- self.ip = ips[0]
- self.server_ip = ips[1]
+ if self.use_slirp:
+ tcp_ports = cmdline.split("hostfwd=tcp::")[1]
+ host_port = tcp_ports[:tcp_ports.find('-')]
+ self.ip = "localhost:%s" % host_port
+ else:
+ ips = re.findall(r"((?:[0-9]{1,3}\.){3}[0-9]{1,3})", cmdline.split("ip=")[1])
+ self.ip = ips[0]
+ self.server_ip = ips[1]
self.logger.debug("qemu cmdline used:\n{}".format(cmdline))
except (IndexError, ValueError):
# Try to get network configuration from runqemu output
@@ -320,6 +329,7 @@ class QemuRunner:
self.logger.debug("Target didn't reach login banner in %d seconds (%s)" %
(self.boottime, time.strftime("%D %H:%M:%S")))
tail = lambda l: "\n".join(l.splitlines()[-25:])
+ bootlog = boolog.decode("utf-8")
# in case bootlog is empty, use tail qemu log store at self.msg
lines = tail(bootlog if bootlog else self.msg)
self.logger.debug("Last 25 lines of text:\n%s" % lines)
diff --git a/poky/meta/recipes-bsp/acpid/acpid_2.0.30.bb b/poky/meta/recipes-bsp/acpid/acpid_2.0.30.bb
deleted file mode 100644
index aa19d28ed..000000000
--- a/poky/meta/recipes-bsp/acpid/acpid_2.0.30.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require acpid.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
- file://acpid.h;endline=24;md5=324a9cf225ae69ddaad1bf9d942115b5"
-
-SRC_URI[md5sum] = "1528040b5d34f8c24ebabd97befbf913"
-SRC_URI[sha256sum] = "28b77b62d3f64ebd1c2a3d16bccc6d4333b4e24a86aeacebec255fad223cf4cb"
diff --git a/poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb b/poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb
new file mode 100644
index 000000000..407492132
--- /dev/null
+++ b/poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb
@@ -0,0 +1,7 @@
+require acpid.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
+ file://acpid.h;endline=24;md5=324a9cf225ae69ddaad1bf9d942115b5"
+
+SRC_URI[md5sum] = "599dd38681b5917eeeafb58176793952"
+SRC_URI[sha256sum] = "fc9dc669ed85d9a1739aa76915e0667c6697c5431160f8dfb253046c6a072cc3"
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.8.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.8.bb
deleted file mode 100644
index dba473344..000000000
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.8.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "Libraries for producing EFI binaries"
-HOMEPAGE = "http://sourceforge.net/projects/gnu-efi/"
-SECTION = "devel"
-LICENSE = "GPLv2+ | BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
- file://gnuefi/crt0-efi-aarch64.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
- file://inc/efishellintf.h;beginline=13;endline=20;md5=202766b79d708eff3cc70fce15fb80c7 \
- file://inc/efishellparm.h;beginline=4;endline=11;md5=468b1231b05bbc84bae3a0d5774e3bb5 \
- file://lib/arm/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
- file://lib/arm/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
- file://lib/aarch64/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
- file://lib/aarch64/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
- "
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
- file://parallel-make-archives.patch \
- file://lib-Makefile-fix-parallel-issue.patch \
- file://gcc46-compatibility.patch \
- "
-
-SRC_URI[md5sum] = "ae32011cfe6b1c40c0f244b9a49ba181"
-SRC_URI[sha256sum] = "76006d8ea8d67bcf72f35d09d43e9ef6a69400d6d5d4bf64baf1ab7434e2b722"
-
-COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
-COMPATIBLE_HOST_armv4 = 'null'
-
-do_configure_linux-gnux32_prepend() {
- cp ${STAGING_INCDIR}/gnu/stubs-x32.h ${STAGING_INCDIR}/gnu/stubs-64.h
- cp ${STAGING_INCDIR}/bits/long-double-32.h ${STAGING_INCDIR}/bits/long-double-64.h
-}
-
-def gnu_efi_arch(d):
- import re
- tarch = d.getVar("TARGET_ARCH")
- if re.match("i[3456789]86", tarch):
- return "ia32"
- return tarch
-
-EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \
- 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \
- "
-
-# gnu-efi's Makefile treats prefix as toolchain prefix, so don't
-# export it.
-prefix[unexport] = "1"
-
-do_install() {
- oe_runmake install INSTALLROOT="${D}"
-}
-
-FILES_${PN} += "${libdir}/*.lds"
-
-# 64-bit binaries are expected for EFI when targeting X32
-INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch"
-INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch"
-
-BBCLASSEXTEND = "native"
-
-# It doesn't support sse, its make.defaults sets:
-# CFLAGS += -mno-mmx -mno-sse
-# So also remove -mfpmath=sse from TUNE_CCARGS
-TUNE_CCARGS_remove = "-mfpmath=sse"
-
-python () {
- ccargs = d.getVar('TUNE_CCARGS').split()
- if '-mx32' in ccargs:
- # use x86_64 EFI ABI
- ccargs.remove('-mx32')
- ccargs.append('-m64')
- d.setVar('TUNE_CCARGS', ' '.join(ccargs))
-}
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb
new file mode 100644
index 000000000..0667191fb
--- /dev/null
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Libraries for producing EFI binaries"
+HOMEPAGE = "http://sourceforge.net/projects/gnu-efi/"
+SECTION = "devel"
+LICENSE = "GPLv2+ | BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
+ file://gnuefi/crt0-efi-aarch64.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
+ file://inc/efishellintf.h;beginline=13;endline=20;md5=202766b79d708eff3cc70fce15fb80c7 \
+ file://inc/efishellparm.h;beginline=4;endline=11;md5=468b1231b05bbc84bae3a0d5774e3bb5 \
+ file://lib/arm/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
+ file://lib/arm/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
+ file://lib/aarch64/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
+ file://lib/aarch64/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
+ "
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
+ file://parallel-make-archives.patch \
+ file://lib-Makefile-fix-parallel-issue.patch \
+ file://gcc46-compatibility.patch \
+ "
+
+SRC_URI[md5sum] = "32af17b917545a693e549af2439c4a99"
+SRC_URI[sha256sum] = "6715ea7eae1c7e4fc5041034bd3f107ec2911962ed284a081e491646b12277f0"
+
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
+COMPATIBLE_HOST_armv4 = 'null'
+
+do_configure_linux-gnux32_prepend() {
+ cp ${STAGING_INCDIR}/gnu/stubs-x32.h ${STAGING_INCDIR}/gnu/stubs-64.h
+ cp ${STAGING_INCDIR}/bits/long-double-32.h ${STAGING_INCDIR}/bits/long-double-64.h
+}
+
+def gnu_efi_arch(d):
+ import re
+ tarch = d.getVar("TARGET_ARCH")
+ if re.match("i[3456789]86", tarch):
+ return "ia32"
+ return tarch
+
+EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \
+ 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}' 'LIBDIR=${libdir}' \
+ "
+
+# gnu-efi's Makefile treats prefix as toolchain prefix, so don't
+# export it.
+prefix[unexport] = "1"
+
+do_install() {
+ oe_runmake install INSTALLROOT="${D}"
+}
+
+FILES_${PN} += "${libdir}/*.lds"
+
+# 64-bit binaries are expected for EFI when targeting X32
+INSANE_SKIP_${PN}-dev_append_linux-gnux32 = " arch"
+INSANE_SKIP_${PN}-dev_append_linux-muslx32 = " arch"
+
+BBCLASSEXTEND = "native"
+
+# It doesn't support sse, its make.defaults sets:
+# CFLAGS += -mno-mmx -mno-sse
+# So also remove -mfpmath=sse from TUNE_CCARGS
+TUNE_CCARGS_remove = "-mfpmath=sse"
+
+python () {
+ ccargs = d.getVar('TUNE_CCARGS').split()
+ if '-mx32' in ccargs:
+ # use x86_64 EFI ABI
+ ccargs.remove('-mx32')
+ ccargs.append('-m64')
+ d.setVar('TUNE_CCARGS', ' '.join(ccargs))
+}
diff --git a/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch b/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch
new file mode 100644
index 000000000..415f52ebe
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch
@@ -0,0 +1,262 @@
+Disable address-of-packed-member warnings with gcc9
+
+gcc9 has turned this warning into error when -Werror is used, lets paper
+it over by turning it into a warning for now
+
+Fixes
+ error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/grub-core/commands/lsacpi.c
++++ b/grub-core/commands/lsacpi.c
+@@ -26,6 +26,9 @@
+ #include <grub/dl.h>
+
+ #pragma GCC diagnostic ignored "-Wcast-align"
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+--- a/grub-core/commands/lspci.c
++++ b/grub-core/commands/lspci.c
+@@ -26,6 +26,9 @@
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
+ struct grub_pci_classname
+ {
+ int class;
+@@ -171,7 +174,7 @@ grub_lspci_iter (grub_pci_device_t dev,
+
+ if (space == 0)
+ continue;
+-
++
+ switch (space & GRUB_PCI_ADDR_SPACE_MASK)
+ {
+ case GRUB_PCI_ADDR_SPACE_IO:
+@@ -195,13 +198,13 @@ grub_lspci_iter (grub_pci_device_t dev,
+ (space & GRUB_PCI_ADDR_MEM_MASK),
+ space & GRUB_PCI_ADDR_MEM_PREFETCH
+ ? "prefetchable" : "non-prefetchable");
+-
++
+ }
+ else
+ grub_printf ("\t32-bit memory space %d at 0x%016llx [%s]\n",
+ (unsigned) ((reg - GRUB_PCI_REG_ADDRESSES)
+ / sizeof (grub_uint32_t)) - 1,
+- (unsigned long long)
++ (unsigned long long)
+ (space & GRUB_PCI_ADDR_MEM_MASK),
+ space & GRUB_PCI_ADDR_MEM_PREFETCH
+ ? "prefetchable" : "non-prefetchable");
+--- a/grub-core/fs/cpio_common.c
++++ b/grub-core/fs/cpio_common.c
+@@ -26,7 +26,9 @@
+ #include <grub/archelp.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+-
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
+ struct grub_archelp_data
+ {
+ grub_disk_t disk;
+@@ -108,7 +110,7 @@ grub_cpio_get_link_target (struct grub_a
+ if (!ret)
+ return NULL;
+
+- err = grub_disk_read (data->disk, 0, data->dofs, data->size,
++ err = grub_disk_read (data->disk, 0, data->dofs, data->size,
+ ret);
+ if (err)
+ {
+--- a/grub-core/fs/hfs.c
++++ b/grub-core/fs/hfs.c
+@@ -32,6 +32,9 @@
+ #include <grub/fshelp.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
+
+ #define GRUB_HFS_SBLOCK 2
+ #define GRUB_HFS_EMBED_HFSPLUS_SIG 0x482B
+@@ -882,7 +885,7 @@ grub_hfs_iterate_dir_it_dir (struct grub
+ {
+ struct grub_hfs_catalog_key *ckey = rec->key;
+ struct grub_hfs_iterate_dir_node_found_ctx *ctx = hook_arg;
+-
++
+ /* Stop when the entries do not match anymore. */
+ if (ckey->parent_dir != ctx->dir_be)
+ return 1;
+@@ -1076,7 +1079,7 @@ macroman_to_utf8 (char *to, const grub_u
+ {
+ *optr++ = ':';
+ continue;
+- }
++ }
+ if (!(*iptr & 0x80))
+ {
+ *optr++ = *iptr;
+@@ -1093,7 +1096,7 @@ utf8_to_macroman (grub_uint8_t *to, cons
+ grub_uint8_t *end = to + 31;
+ grub_uint8_t *optr = to;
+ const char *iptr = from;
+-
++
+ while (*iptr && optr < end)
+ {
+ int i, clen;
+@@ -1103,7 +1106,7 @@ utf8_to_macroman (grub_uint8_t *to, cons
+ *optr++ = '/';
+ iptr++;
+ continue;
+- }
++ }
+ if (!(*iptr & 0x80))
+ {
+ *optr++ = *iptr++;
+@@ -1164,7 +1167,7 @@ lookup_file (grub_fshelp_node_t dir,
+ *foundnode = grub_malloc (sizeof (struct grub_fshelp_node));
+ if (!*foundnode)
+ return grub_errno;
+-
++
+ (*foundnode)->inode = grub_be_to_cpu32 (fdrec.dir.dirid);
+ (*foundnode)->fdrec = fdrec;
+ (*foundnode)->data = dir->data;
+@@ -1265,7 +1268,7 @@ grub_hfs_dir (grub_device_t device, cons
+ .hook_data = hook_data
+ };
+ grub_fshelp_node_t found = NULL;
+-
++
+ grub_dl_ref (my_mod);
+
+ data = grub_hfs_mount (device->disk);
+@@ -1294,7 +1297,7 @@ grub_hfs_open (struct grub_file *file, c
+ {
+ struct grub_hfs_data *data;
+ grub_fshelp_node_t found = NULL;
+-
++
+ grub_dl_ref (my_mod);
+
+ data = grub_hfs_mount (file->device->disk);
+--- a/grub-core/fs/hfsplus.c
++++ b/grub-core/fs/hfsplus.c
+@@ -19,7 +19,7 @@
+
+ /* HFS+ is documented at http://developer.apple.com/technotes/tn/tn1150.html */
+
+-#define grub_fshelp_node grub_hfsplus_file
++#define grub_fshelp_node grub_hfsplus_file
+ #include <grub/err.h>
+ #include <grub/file.h>
+ #include <grub/mm.h>
+@@ -34,6 +34,9 @@
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
+ /* The type of node. */
+ enum grub_hfsplus_btnode_type
+ {
+@@ -145,7 +148,7 @@ grub_hfsplus_read_block (grub_fshelp_nod
+ {
+ struct grub_hfsplus_btnode *nnode = 0;
+ grub_disk_addr_t blksleft = fileblock;
+- struct grub_hfsplus_extent *extents = node->compressed
++ struct grub_hfsplus_extent *extents = node->compressed
+ ? &node->resource_extents[0] : &node->extents[0];
+
+ while (1)
+@@ -461,7 +464,7 @@ grub_hfsplus_cmp_extkey (struct grub_hfs
+
+ if (extkey_a->type < extkey_b->type)
+ return -1;
+-
++
+ akey = grub_be_to_cpu32 (extkey_a->start);
+ if (akey > extkey_b->start)
+ return 1;
+@@ -548,7 +551,7 @@ grub_hfsplus_btree_search (struct grub_h
+ struct grub_hfsplus_key_internal *key,
+ int (*compare_keys) (struct grub_hfsplus_key *keya,
+ struct grub_hfsplus_key_internal *keyb),
+- struct grub_hfsplus_btnode **matchnode,
++ struct grub_hfsplus_btnode **matchnode,
+ grub_off_t *keyoffset)
+ {
+ grub_uint64_t currnode;
+--- a/grub-core/fs/jfs.c
++++ b/grub-core/fs/jfs.c
+@@ -28,6 +28,9 @@
+ #include <grub/i18n.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
+
+ #define GRUB_JFS_MAX_SYMLNK_CNT 8
+ #define GRUB_JFS_FILETYPE_MASK 0170000
+--- a/grub-core/kern/efi/efi.c
++++ b/grub-core/kern/efi/efi.c
+@@ -29,6 +29,9 @@
+ #include <grub/mm.h>
+ #include <grub/loader.h>
+
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
+ /* The handle of GRUB itself. Filled in by the startup code. */
+ grub_efi_handle_t grub_efi_image_handle;
+
+@@ -201,7 +204,7 @@ grub_efi_set_variable(const char *var, c
+
+ r = grub_efi_system_table->runtime_services;
+
+- status = efi_call_5 (r->set_variable, var16, guid,
++ status = efi_call_5 (r->set_variable, var16, guid,
+ (GRUB_EFI_VARIABLE_NON_VOLATILE
+ | GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS
+ | GRUB_EFI_VARIABLE_RUNTIME_ACCESS),
+--- a/grub-core/loader/efi/chainloader.c
++++ b/grub-core/loader/efi/chainloader.c
+@@ -41,6 +41,9 @@
+ #endif
+
+ GRUB_MOD_LICENSE ("GPLv3+");
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
+
+ static grub_dl_t my_mod;
+
+--- a/grub-core/commands/usbtest.c
++++ b/grub-core/commands/usbtest.c
+@@ -63,6 +63,10 @@ static const char *usb_devspeed[] =
+ "High"
+ };
+
++#if __GNUC__ >= 9
++#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
++#endif
++
+ static grub_usb_err_t
+ grub_usb_get_string (grub_usb_device_t dev, grub_uint8_t index, int langid,
+ char **string)
diff --git a/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch b/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch
new file mode 100644
index 000000000..2c2d2ea0b
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch
@@ -0,0 +1,24 @@
+When squashfs support is enabled, the build fails with:
+
+../grub-2.02/grub-core/fs/squash4.c: In function 'direct_read':
+../grub-2.02/grub-core/fs/squash4.c:868:10: error: 'err' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+ if (err)
+ ^
+cc1: all warnings being treated as errors
+Makefile:7272: recipe for target 'grub-core/fs/libgrubmods_a-squash4.o' failed
+
+Upstream-Status: Pending (should be fixed in gnulib which is then rarely updated in grub)
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+--- grub-2.02/grub-core/fs/squash4.c 2019-03-10 20:00:14.070468728 +0000
++++ grub-2.02.fixed/grub-core/fs/squash4.c 2019-03-10 19:58:31.382477818 +0000
+@@ -746,7 +746,7 @@
+ struct grub_squash_cache_inode *ino,
+ grub_off_t off, char *buf, grub_size_t len)
+ {
+- grub_err_t err;
++ grub_err_t err = 0;
+ grub_off_t cumulated_uncompressed_size = 0;
+ grub_uint64_t a = 0;
+ grub_size_t i;
diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc
index 8e0f86217..c6994723f 100644
--- a/poky/meta/recipes-bsp/grub/grub2.inc
+++ b/poky/meta/recipes-bsp/grub/grub2.inc
@@ -21,6 +21,8 @@ SRC_URI = "https://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
file://gcc8.patch \
file://0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch \
file://0001-grub-setup-Debug-message-cleanup.patch \
+ file://disable-address-of-packed-member.patch \
+ file://fix.build.with.squashfs.patch \
"
SRC_URI[md5sum] = "1116d1f60c840e6dbd67abbc99acb45d"
SRC_URI[sha256sum] = "660ee136fbcee08858516ed4de2ad87068bfe1b6b8b37896ce3529ff054a726d"
diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2018-1000205-1.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2018-1000205-1.patch
deleted file mode 100644
index fed3c3dcb..000000000
--- a/poky/meta/recipes-bsp/u-boot/files/CVE-2018-1000205-1.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 7346c1e192d63cd35f99c7e845e53c5d4d0bdc24 Mon Sep 17 00:00:00 2001
-From: Teddy Reed <teddy.reed@gmail.com>
-Date: Sat, 9 Jun 2018 11:45:20 -0400
-Subject: [PATCH] vboot: Do not use hashed-strings offset
-
-The hashed-strings signature property includes two uint32_t values.
-The first is unneeded as there should never be a start offset into the
-strings region. The second, the size, is needed because the added
-signature node appends to this region.
-
-See tools/image-host.c, where a static 0 value is used for the offset.
-
-Signed-off-by: Teddy Reed <teddy.reed@gmail.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
-
-Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
- h=7346c1e192d63cd35f99c7e845e53c5d4d0bdc24]
-
-CVE: CVE-2018-1000205
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- common/image-sig.c | 7 +++++--
- tools/image-host.c | 1 +
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/common/image-sig.c b/common/image-sig.c
-index 8d2fd10..5a269d3 100644
---- a/common/image-sig.c
-+++ b/common/image-sig.c
-@@ -377,8 +377,11 @@ int fit_config_check_sig(const void *fit, int noffset, int required_keynode,
- /* Add the strings */
- strings = fdt_getprop(fit, noffset, "hashed-strings", NULL);
- if (strings) {
-- fdt_regions[count].offset = fdt_off_dt_strings(fit) +
-- fdt32_to_cpu(strings[0]);
-+ /*
-+ * The strings region offset must be a static 0x0.
-+ * This is set in tool/image-host.c
-+ */
-+ fdt_regions[count].offset = fdt_off_dt_strings(fit);
- fdt_regions[count].size = fdt32_to_cpu(strings[1]);
- count++;
- }
-diff --git a/tools/image-host.c b/tools/image-host.c
-index 8e43671..be2d59b 100644
---- a/tools/image-host.c
-+++ b/tools/image-host.c
-@@ -135,6 +135,7 @@ static int fit_image_write_sig(void *fit, int noffset, uint8_t *value,
-
- ret = fdt_setprop(fit, noffset, "hashed-nodes",
- region_prop, region_proplen);
-+ /* This is a legacy offset, it is unused, and must remain 0. */
- strdata[0] = 0;
- strdata[1] = cpu_to_fdt32(string_size);
- if (!ret) {
---
-2.7.4
-
diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2018-1000205-2.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2018-1000205-2.patch
deleted file mode 100644
index bb79af1c7..000000000
--- a/poky/meta/recipes-bsp/u-boot/files/CVE-2018-1000205-2.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 72239fc85f3eda078547956608c063ab965e90e9 Mon Sep 17 00:00:00 2001
-From: Teddy Reed <teddy.reed@gmail.com>
-Date: Sat, 9 Jun 2018 11:38:05 -0400
-Subject: [PATCH] vboot: Add FIT_SIGNATURE_MAX_SIZE protection
-
-This adds a new config value FIT_SIGNATURE_MAX_SIZE, which controls the
-max size of a FIT header's totalsize field. The field is checked before
-signature checks are applied to protect from reading past the intended
-FIT regions.
-
-This field is not part of the vboot signature so it should be sanity
-checked. If the field is corrupted then the structure or string region
-reads may have unintended behavior, such as reading from device memory.
-A default value of 256MB is set and intended to support most max storage
-sizes.
-
-Suggested-by: Simon Glass <sjg@chromium.org>
-Signed-off-by: Teddy Reed <teddy.reed@gmail.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
-
-Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
- h=72239fc85f3eda078547956608c063ab965e90e9]
-
-CVE: CVE-2018-1000205
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- Kconfig | 10 ++++++++++
- common/image-sig.c | 5 +++++
- test/py/tests/test_vboot.py | 33 +++++++++++++++++++++++++++++++++
- tools/Makefile | 1 +
- 4 files changed, 49 insertions(+)
-
-diff --git a/Kconfig b/Kconfig
-index 5a82c95..c8b86cd 100644
---- a/Kconfig
-+++ b/Kconfig
-@@ -267,6 +267,16 @@ config FIT_SIGNATURE
- format support in this case, enable it using
- CONFIG_IMAGE_FORMAT_LEGACY.
-
-+config FIT_SIGNATURE_MAX_SIZE
-+ hex "Max size of signed FIT structures"
-+ depends on FIT_SIGNATURE
-+ default 0x10000000
-+ help
-+ This option sets a max size in bytes for verified FIT uImages.
-+ A sane value of 256MB protects corrupted DTB structures from overlapping
-+ device memory. Assure this size does not extend past expected storage
-+ space.
-+
- config FIT_VERBOSE
- bool "Show verbose messages when FIT images fail"
- help
-diff --git a/common/image-sig.c b/common/image-sig.c
-index f65d883..8d2fd10 100644
---- a/common/image-sig.c
-+++ b/common/image-sig.c
-@@ -156,6 +156,11 @@ static int fit_image_setup_verify(struct image_sign_info *info,
- {
- char *algo_name;
-
-+ if (fdt_totalsize(fit) > CONFIG_FIT_SIGNATURE_MAX_SIZE) {
-+ *err_msgp = "Total size too large";
-+ return 1;
-+ }
-+
- if (fit_image_hash_get_algo(fit, noffset, &algo_name)) {
- *err_msgp = "Can't get hash algo property";
- return -1;
-diff --git a/test/py/tests/test_vboot.py b/test/py/tests/test_vboot.py
-index ee939f2..3d25ec3 100644
---- a/test/py/tests/test_vboot.py
-+++ b/test/py/tests/test_vboot.py
-@@ -26,6 +26,7 @@ Tests run with both SHA1 and SHA256 hashing.
-
- import pytest
- import sys
-+import struct
- import u_boot_utils as util
-
- @pytest.mark.boardspec('sandbox')
-@@ -105,6 +106,26 @@ def test_vboot(u_boot_console):
- util.run_and_log(cons, [mkimage, '-F', '-k', tmpdir, '-K', dtb,
- '-r', fit])
-
-+ def replace_fit_totalsize(size):
-+ """Replace FIT header's totalsize with something greater.
-+
-+ The totalsize must be less than or equal to FIT_SIGNATURE_MAX_SIZE.
-+ If the size is greater, the signature verification should return false.
-+
-+ Args:
-+ size: The new totalsize of the header
-+
-+ Returns:
-+ prev_size: The previous totalsize read from the header
-+ """
-+ total_size = 0
-+ with open(fit, 'r+b') as handle:
-+ handle.seek(4)
-+ total_size = handle.read(4)
-+ handle.seek(4)
-+ handle.write(struct.pack(">I", size))
-+ return struct.unpack(">I", total_size)[0]
-+
- def test_with_algo(sha_algo):
- """Test verified boot with the given hash algorithm.
-
-@@ -146,6 +167,18 @@ def test_vboot(u_boot_console):
- util.run_and_log(cons, [fit_check_sign, '-f', fit, '-k', tmpdir,
- '-k', dtb])
-
-+ # Replace header bytes
-+ bcfg = u_boot_console.config.buildconfig
-+ max_size = int(bcfg.get('config_fit_signature_max_size', 0x10000000), 0)
-+ existing_size = replace_fit_totalsize(max_size + 1)
-+ run_bootm(sha_algo, 'Signed config with bad hash', 'Bad Data Hash', False)
-+ cons.log.action('%s: Check overflowed FIT header totalsize' % sha_algo)
-+
-+ # Replace with existing header bytes
-+ replace_fit_totalsize(existing_size)
-+ run_bootm(sha_algo, 'signed config', 'dev+', True)
-+ cons.log.action('%s: Check default FIT header totalsize' % sha_algo)
-+
- # Increment the first byte of the signature, which should cause failure
- sig = util.run_and_log(cons, 'fdtget -t bx %s %s value' %
- (fit, sig_node))
-diff --git a/tools/Makefile b/tools/Makefile
-index 5dd33ed..0c3341e 100644
---- a/tools/Makefile
-+++ b/tools/Makefile
-@@ -133,6 +133,7 @@ ifdef CONFIG_FIT_SIGNATURE
- # This affects include/image.h, but including the board config file
- # is tricky, so manually define this options here.
- HOST_EXTRACFLAGS += -DCONFIG_FIT_SIGNATURE
-+HOST_EXTRACFLAGS += -DCONFIG_FIT_SIGNATURE_MAX_SIZE=$(CONFIG_FIT_SIGNATURE_MAX_SIZE)
- endif
-
- ifdef CONFIG_SYS_U_BOOT_OFFS
---
-2.7.4
-
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
new file mode 100644
index 000000000..dcfb9cc63
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -0,0 +1,15 @@
+HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
+SECTION = "bootloaders"
+DEPENDS += "flex-native bison-native"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
+PE = "1"
+
+# We use the revision in order to avoid having to fetch it from the
+# repo during parse
+SRCREV = "d3689267f92c5956e09cc7d1baa4700141662bff"
+
+SRC_URI = "git://git.denx.de/u-boot.git"
+
+S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common_2018.07.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common_2018.07.inc
deleted file mode 100644
index 22b44dccc..000000000
--- a/poky/meta/recipes-bsp/u-boot/u-boot-common_2018.07.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
-SECTION = "bootloaders"
-DEPENDS += "flex-native bison-native"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
-PE = "1"
-
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "8c5d4fd0ec222701598a27b26ab7265d4cee45a3"
-
-SRC_URI = "git://git.denx.de/u-boot.git \
- file://CVE-2018-1000205-1.patch \
- file://CVE-2018-1000205-2.patch \
-"
-
-S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2018.07.bb b/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2018.07.bb
deleted file mode 100644
index 52c13e75d..000000000
--- a/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2018.07.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require u-boot-common_${PV}.inc
-
-SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
-DEPENDS += "mtd-utils"
-
-INSANE_SKIP_${PN} = "already-stripped"
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" V=1'
-EXTRA_OEMAKE_class-cross = 'HOSTCC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
-
-inherit uboot-config
-
-do_compile () {
- oe_runmake ${UBOOT_MACHINE}
- oe_runmake envtools
-}
-
-do_install () {
- install -d ${D}${base_sbindir}
- install -d ${D}${sysconfdir}
- install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
- install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
- install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
-}
-
-do_install_class-cross () {
- install -d ${D}${bindir_cross}
- install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
- install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
-}
-
-SYSROOT_DIRS_append_class-cross = " ${bindir_cross}"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-BBCLASSEXTEND = "cross"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb
new file mode 100644
index 000000000..b5ce56847
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb
@@ -0,0 +1,34 @@
+require u-boot-common.inc
+
+SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
+DEPENDS += "mtd-utils"
+
+INSANE_SKIP_${PN} = "already-stripped"
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" V=1'
+EXTRA_OEMAKE_class-cross = 'HOSTCC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
+
+inherit uboot-config
+
+do_compile () {
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake envtools
+}
+
+do_install () {
+ install -d ${D}${base_sbindir}
+ install -d ${D}${sysconfdir}
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+ install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
+}
+
+do_install_class-cross () {
+ install -d ${D}${bindir_cross}
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
+}
+
+SYSROOT_DIRS_append_class-cross = " ${bindir_cross}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+BBCLASSEXTEND = "cross"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb b/poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb
deleted file mode 100644
index 08bff1d16..000000000
--- a/poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2018.07.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-require u-boot-common_${PV}.inc
-
-SUMMARY = "U-Boot bootloader image creation tool"
-DEPENDS += "openssl"
-
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
-EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
-EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
-
-do_compile () {
- oe_runmake sandbox_defconfig
-
- # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
- # generating it requires bin2header tool, which for target build
- # is built with target tools and thus cannot be executed on host.
- sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
-
- oe_runmake cross_tools NO_SDL=1
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
- ln -sf uboot-mkimage ${D}${bindir}/mkimage
-}
-
-RDEPENDS_${PN} += "dtc"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb
new file mode 100644
index 000000000..bede984ef
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb
@@ -0,0 +1,67 @@
+require u-boot-common.inc
+
+SUMMARY = "U-Boot bootloader tools"
+DEPENDS += "openssl"
+
+PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage"
+PROVIDES_class-native = "u-boot-mkimage-native u-boot-mkenvimage-native"
+
+PACKAGES += "${PN}-mkimage ${PN}-mkenvimage"
+
+# Required for backward compatibility with "u-boot-mkimage-xxx.bb"
+RPROVIDES_${PN}-mkimage = "u-boot-mkimage"
+RREPLACES_${PN}-mkimage = "u-boot-mkimage"
+RCONFLICTS_${PN}-mkimage = "u-boot-mkimage"
+
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
+
+SED_CONFIG_EFI = '-e "s/CONFIG_EFI_LOADER=.*/# CONFIG_EFI_LOADER is not set/"'
+SED_CONFIG_EFI_x86 = ''
+SED_CONFIG_EFI_x86-64 = ''
+SED_CONFIG_EFI_arm = ''
+SED_CONFIG_EFI_armeb = ''
+SED_CONFIG_EFI_aarch64 = ''
+
+do_compile () {
+ oe_runmake sandbox_defconfig
+
+ # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
+ # generating it requires bin2header tool, which for target build
+ # is built with target tools and thus cannot be executed on host.
+ sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} .config
+
+ oe_runmake cross_tools NO_SDL=1
+}
+
+do_install () {
+ install -d ${D}${bindir}
+
+ # mkimage
+ install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
+ ln -sf uboot-mkimage ${D}${bindir}/mkimage
+
+ # mkenvimage
+ install -m 0755 tools/mkenvimage ${D}${bindir}/uboot-mkenvimage
+ ln -sf uboot-mkenvimage ${D}${bindir}/mkenvimage
+
+ # dumpimage
+ install -m 0755 tools/dumpimage ${D}${bindir}/uboot-dumpimage
+ ln -sf uboot-dumpimage ${D}${bindir}/dumpimage
+
+ # fit_check_sign
+ install -m 0755 tools/fit_check_sign ${D}${bindir}/uboot-fit_check_sign
+ ln -sf uboot-fit_check_sign ${D}${bindir}/fit_check_sign
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+FILES_${PN}-mkimage = "${bindir}/uboot-mkimage ${bindir}/mkimage ${bindir}/uboot-dumpimage ${bindir}/dumpimage ${bindir}/uboot-fit_check_sign ${bindir}/fit_check_sign"
+FILES_${PN}-mkenvimage = "${bindir}/uboot-mkenvimage ${bindir}/mkenvimage"
+
+RDEPENDS_${PN}-mkimage += "dtc"
+RDEPENDS_${PN} += "${PN}-mkimage ${PN}-mkenvimage"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot.inc b/poky/meta/recipes-bsp/u-boot/u-boot.inc
index 48fbc5721..96c1f9401 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot.inc
@@ -5,7 +5,9 @@ B = "${WORKDIR}/build"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-inherit uboot-config uboot-extlinux-config uboot-sign deploy
+DEPENDS += "kern-tools-native"
+
+inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1
DEPENDS += "swig-native python-native"
@@ -66,6 +68,28 @@ UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf"
UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}"
+# returns all the elements from the src uri that are .cfg files
+def find_cfgs(d):
+ sources=src_patches(d, True)
+ sources_list=[]
+ for s in sources:
+ if s.endswith('.cfg'):
+ sources_list.append(s)
+
+ return sources_list
+
+do_configure () {
+ if [ -z "${UBOOT_CONFIG}" ]; then
+ if [ -n "${UBOOT_MACHINE}" ]; then
+ oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
+ else
+ oe_runmake -C ${S} O=${B} oldconfig
+ fi
+ merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
+ cml1_do_configure
+ fi
+}
+
do_compile () {
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
@@ -105,7 +129,6 @@ do_compile () {
done
unset i
else
- oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
fi
@@ -201,7 +224,7 @@ do_install () {
}
-FILES_${PN} = "/boot ${sysconfdir}"
+FILES_${PN} = "/boot ${sysconfdir} ${datadir}"
do_deploy () {
if [ -n "${UBOOT_CONFIG}" ]
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2018.07.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2018.07.bb
deleted file mode 100644
index 37c21dcaa..000000000
--- a/poky/meta/recipes-bsp/u-boot/u-boot_2018.07.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require u-boot-common_${PV}.inc
-require u-boot.inc
-
-DEPENDS += "bc-native dtc-native"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2019.01.bb
new file mode 100644
index 000000000..02d67c0db
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/u-boot_2019.01.bb
@@ -0,0 +1,4 @@
+require u-boot-common.inc
+require u-boot.inc
+
+DEPENDS += "bc-native dtc-native"
diff --git a/poky/meta/recipes-connectivity/avahi/avahi.inc b/poky/meta/recipes-connectivity/avahi/avahi.inc
index 11846849f..8339e451f 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi.inc
+++ b/poky/meta/recipes-connectivity/avahi/avahi.inc
@@ -19,7 +19,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \
file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
-SRC_URI = "https://github.com/lathiat/avahi/releases/download/v${PV}/avahi-${PV}.tar.gz"
+SRC_URI = "https://github.com/lathiat/avahi/releases/download/v${PV}/avahi-${PV}.tar.gz \
+ file://fix-CVE-2017-6519.patch \
+ "
UPSTREAM_CHECK_URI = "https://github.com/lathiat/avahi/releases/"
SRC_URI[md5sum] = "d76c59d0882ac6c256d70a2a585362a6"
diff --git a/poky/meta/recipes-connectivity/avahi/files/fix-CVE-2017-6519.patch b/poky/meta/recipes-connectivity/avahi/files/fix-CVE-2017-6519.patch
new file mode 100644
index 000000000..7461fe193
--- /dev/null
+++ b/poky/meta/recipes-connectivity/avahi/files/fix-CVE-2017-6519.patch
@@ -0,0 +1,48 @@
+Upstream-Status: Backport [https://github.com/lathiat/avahi/commit/e111def]
+
+CVE: CVE-2017-6519
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From e111def44a7df4624a4aa3f85fe98054bffb6b4f Mon Sep 17 00:00:00 2001
+From: Trent Lloyd <trent@lloyd.id.au>
+Date: Sat, 22 Dec 2018 09:06:07 +0800
+Subject: [PATCH] Drop legacy unicast queries from address not on local link
+
+When handling legacy unicast queries, ensure that the source IP is
+inside a subnet on the local link, otherwise drop the packet.
+
+Fixes #145
+Fixes #203
+CVE-2017-6519
+CVE-2018-1000845
+---
+ avahi-core/server.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/avahi-core/server.c b/avahi-core/server.c
+index a2cb19a8..a2580e38 100644
+--- a/avahi-core/server.c
++++ b/avahi-core/server.c
+@@ -930,6 +930,7 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres
+
+ if (avahi_dns_packet_is_query(p)) {
+ int legacy_unicast = 0;
++ char t[AVAHI_ADDRESS_STR_MAX];
+
+ /* For queries EDNS0 might allow ARCOUNT != 0. We ignore the
+ * AR section completely here, so far. Until the day we add
+@@ -947,6 +948,13 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres
+ legacy_unicast = 1;
+ }
+
++ if (!is_mdns_mcast_address(dst_address) &&
++ !avahi_interface_address_on_link(i, src_address)) {
++
++ avahi_log_debug("Received non-local unicast query from host %s on interface '%s.%i'.", avahi_address_snprint(t, sizeof(t), src_address), i->hardware->name, i->protocol);
++ return;
++ }
++
+ if (legacy_unicast)
+ reflect_legacy_unicast_query_packet(s, p, i, src_address, port);
+
diff --git a/poky/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch b/poky/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch
deleted file mode 100644
index 1e23c0f56..000000000
--- a/poky/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-xml2-config is disabled, so change the configure script to use pkgconfig to find
-libxml2.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-Update context for version 9.10.3-P2.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Update context for version 9.10.5-P3.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- configure.in | 23 +++--------------------
- 1 file changed, 3 insertions(+), 20 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 4da73a4..6f2a754 100644
---- a/configure.in
-+++ b/configure.in
-@@ -2282,26 +2282,9 @@ case "$use_libxml2" in
- DST_LIBXML2_INC=""
- ;;
- auto|yes)
-- case X`(xml2-config --version) 2>/dev/null` in
-- X2.[[6789]].*)
-- libxml2_libs=`xml2-config --libs`
-- libxml2_cflags=`xml2-config --cflags`
-- ;;
-- *)
-- if test "yes" = "$use_libxml2" ; then
-- AC_MSG_RESULT(no)
-- AC_MSG_ERROR(required libxml2 version not available)
-- else
-- libxml2_libs=
-- libxml2_cflags=
-- fi
-- ;;
-- esac
-- ;;
-- *)
-- if test -f "$use_libxml2/bin/xml2-config" ; then
-- libxml2_libs=`$use_libxml2/bin/xml2-config --libs`
-- libxml2_cflags=`$use_libxml2/bin/xml2-config --cflags`
-+ if pkg-config --exists libxml-2.0 ; then
-+ libxml2_libs=`pkg-config libxml-2.0 --libs`
-+ libxml2_cflags=`pkg-config libxml-2.0 --cflags`
- fi
- ;;
- esac
---
-2.1.4
-
diff --git a/poky/meta/recipes-connectivity/bind/bind/CVE-2018-5740.patch b/poky/meta/recipes-connectivity/bind/bind/CVE-2018-5740.patch
deleted file mode 100644
index 7a2ba7eab..000000000
--- a/poky/meta/recipes-connectivity/bind/bind/CVE-2018-5740.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Upstream-Status: Backport [https://ftp.isc.org/isc/bind9/9.11.4-P1/patches/CVE-2018-5740]
-
-CVE: CVE-2018-5740
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-diff --git a/CHANGES b/CHANGES
-index 750b600..3d8d655 100644
---- a/CHANGES
-+++ b/CHANGES
-@@ -1,3 +1,9 @@
-+ --- 9.11.4-P1 released ---
-+
-+4997. [security] named could crash during recursive processing
-+ of DNAME records when "deny-answer-aliases" was
-+ in use. (CVE-2018-5740) [GL #387]
-+
- --- 9.11.4 released ---
-
- --- 9.11.4rc2 released ---
-diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c
-index 8f674a2..41d1385 100644
---- a/lib/dns/resolver.c
-+++ b/lib/dns/resolver.c
-@@ -6318,6 +6318,7 @@ is_answertarget_allowed(fetchctx_t *fctx, dns_name_t *qname, dns_name_t *rname,
- unsigned int nlabels;
- dns_fixedname_t fixed;
- dns_name_t prefix;
-+ int order;
-
- REQUIRE(rdataset != NULL);
- REQUIRE(rdataset->type == dns_rdatatype_cname ||
-@@ -6340,17 +6341,25 @@ is_answertarget_allowed(fetchctx_t *fctx, dns_name_t *qname, dns_name_t *rname,
- tname = &cname.cname;
- break;
- case dns_rdatatype_dname:
-+ if (dns_name_fullcompare(qname, rname, &order, &nlabels) !=
-+ dns_namereln_subdomain)
-+ {
-+ return (ISC_TRUE);
-+ }
- result = dns_rdata_tostruct(&rdata, &dname, NULL);
- RUNTIME_CHECK(result == ISC_R_SUCCESS);
- dns_name_init(&prefix, NULL);
- tname = dns_fixedname_initname(&fixed);
-- nlabels = dns_name_countlabels(qname) -
-- dns_name_countlabels(rname);
-+ nlabels = dns_name_countlabels(rname);
- dns_name_split(qname, nlabels, &prefix, NULL);
- result = dns_name_concatenate(&prefix, &dname.dname, tname,
- NULL);
-- if (result == DNS_R_NAMETOOLONG)
-+ if (result == DNS_R_NAMETOOLONG) {
-+ if (chainingp != NULL) {
-+ *chainingp = ISC_TRUE;
-+ }
- return (ISC_TRUE);
-+ }
- RUNTIME_CHECK(result == ISC_R_SUCCESS);
- break;
- default:
-@@ -7071,7 +7080,9 @@ answer_response(fetchctx_t *fctx) {
- }
- if ((ardataset->type == dns_rdatatype_cname ||
- ardataset->type == dns_rdatatype_dname) &&
-- !is_answertarget_allowed(fctx, qname, aname, ardataset,
-+ type != ardataset->type &&
-+ type != dns_rdatatype_any &&
-+ !is_answertarget_allowed(fctx, qname, aname, ardataset,
- NULL))
- {
- return (DNS_R_SERVFAIL);
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.11.4.bb b/poky/meta/recipes-connectivity/bind/bind_9.11.4.bb
deleted file mode 100644
index cb4a21a9a..000000000
--- a/poky/meta/recipes-connectivity/bind/bind_9.11.4.bb
+++ /dev/null
@@ -1,137 +0,0 @@
-SUMMARY = "ISC Internet Domain Name Server"
-HOMEPAGE = "http://www.isc.org/sw/bind/"
-SECTION = "console/network"
-
-LICENSE = "ISC & BSD"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=6ba7c9fe0c888a943c79c93e6de744fb"
-
-DEPENDS = "openssl libcap zlib"
-
-SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
- file://conf.patch \
- file://named.service \
- file://bind9 \
- file://generate-rndc-key.sh \
- file://make-etc-initd-bind-stop-work.patch \
- file://init.d-add-support-for-read-only-rootfs.patch \
- file://bind-ensure-searching-for-json-headers-searches-sysr.patch \
- file://0001-gen.c-extend-DIRNAMESIZE-from-256-to-512.patch \
- file://0001-lib-dns-gen.c-fix-too-long-error.patch \
- file://0001-configure.in-remove-useless-L-use_openssl-lib.patch \
- file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \
- file://0001-avoid-start-failure-with-bind-user.patch \
- file://CVE-2018-5740.patch \
-"
-
-SRC_URI[md5sum] = "9b4834d78f30cdb796ce437262272a36"
-SRC_URI[sha256sum] = "595070b031f869f8939656b5a5d11b121211967f15f6afeafa895df745279617"
-
-UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>9(\.\d+)+(-P\d+)*)/"
-
-inherit autotools update-rc.d systemd useradd pkgconfig multilib_script
-
-MULTILIB_SCRIPTS = "${PN}:${bindir}/bind9-config ${PN}:${bindir}/isc-config.sh"
-
-# PACKAGECONFIGs readline and libedit should NOT be set at same time
-PACKAGECONFIG ?= "readline"
-PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2"
-PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
-PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
-PACKAGECONFIG[urandom] = "--with-randomdev=/dev/urandom,--with-randomdev=/dev/random,,"
-PACKAGECONFIG[python3] = "--with-python=${PYTHON} --with-python-install-dir=${D}/${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
-
-ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
-EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \
- --disable-devpoll --enable-epoll --with-gost=no \
- --with-gssapi=no --with-ecdsa=yes --with-eddsa=no \
- --with-lmdb=no \
- --sysconfdir=${sysconfdir}/bind \
- --with-openssl=${STAGING_DIR_HOST}${prefix} \
- "
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutils3-base', '', d)}
-
-# dhcp needs .la so keep them
-REMOVE_LIBTOOL_LA = "0"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \
- --user-group bind"
-
-INITSCRIPT_NAME = "bind"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "named.service"
-
-do_install_prepend() {
- # clean host path in isc-config.sh before the hardlink created
- # by "make install":
- # bind9-config -> isc-config.sh
- sed -i -e "s,${STAGING_LIBDIR},${libdir}," ${B}/isc-config.sh
-}
-
-do_install_append() {
-
- rm "${D}${bindir}/nslookup"
- rm "${D}${mandir}/man1/nslookup.1"
- rmdir "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
- install -d -o bind "${D}${localstatedir}/cache/bind"
- install -d "${D}${sysconfdir}/bind"
- install -d "${D}${sysconfdir}/init.d"
- install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
- install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
- if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
- sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \
- ${D}${sbindir}/dnssec-coverage \
- ${D}${sbindir}/dnssec-checkds \
- ${D}${sbindir}/dnssec-keymgr
- fi
-
- # Install systemd related files
- install -d ${D}${sbindir}
- install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/named.service
-
- install -d ${D}${sysconfdir}/default
- install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf
- fi
-}
-
-CONFFILES_${PN} = " \
- ${sysconfdir}/bind/named.conf \
- ${sysconfdir}/bind/named.conf.local \
- ${sysconfdir}/bind/named.conf.options \
- ${sysconfdir}/bind/db.0 \
- ${sysconfdir}/bind/db.127 \
- ${sysconfdir}/bind/db.empty \
- ${sysconfdir}/bind/db.local \
- ${sysconfdir}/bind/db.root \
- "
-
-PACKAGE_BEFORE_PN += "${PN}-utils"
-FILES_${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig"
-FILES_${PN}-dev += "${bindir}/isc-config.h"
-FILES_${PN} += "${sbindir}/generate-rndc-key.sh"
-
-PACKAGE_BEFORE_PN += "${PN}-libs"
-FILES_${PN}-libs = "${libdir}/*.so*"
-FILES_${PN}-staticdev += "${libdir}/*.la"
-
-PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}"
-FILES_python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \
- ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}"
-
-RDEPENDS_${PN} = "bash"
-RDEPENDS_${PN}-utils = "bash"
-RDEPENDS_${PN}-dev = ""
-RDEPENDS_python3-bind = "python3-core python3-ply"
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.11.5.bb b/poky/meta/recipes-connectivity/bind/bind_9.11.5.bb
new file mode 100644
index 000000000..67672792b
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind_9.11.5.bb
@@ -0,0 +1,139 @@
+SUMMARY = "ISC Internet Domain Name Server"
+HOMEPAGE = "http://www.isc.org/sw/bind/"
+SECTION = "console/network"
+
+LICENSE = "ISC & BSD"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=6ba7c9fe0c888a943c79c93e6de744fb"
+
+DEPENDS = "openssl libcap zlib"
+
+SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
+ file://conf.patch \
+ file://named.service \
+ file://bind9 \
+ file://generate-rndc-key.sh \
+ file://make-etc-initd-bind-stop-work.patch \
+ file://init.d-add-support-for-read-only-rootfs.patch \
+ file://bind-ensure-searching-for-json-headers-searches-sysr.patch \
+ file://0001-gen.c-extend-DIRNAMESIZE-from-256-to-512.patch \
+ file://0001-lib-dns-gen.c-fix-too-long-error.patch \
+ file://0001-configure.in-remove-useless-L-use_openssl-lib.patch \
+ file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \
+ file://0001-avoid-start-failure-with-bind-user.patch \
+"
+
+SRC_URI[md5sum] = "17a0d02102117c9a221e857cf2cc8157"
+SRC_URI[sha256sum] = "a4cae11dad954bdd4eb592178f875bfec09fcc7e29fe0f6b7a4e5b5c6bc61322"
+
+UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>9(\.\d+)+(-P\d+)*)/"
+RECIPE_NO_UPDATE_REASON = "9.11 is LTS 2021"
+
+inherit autotools update-rc.d systemd useradd pkgconfig multilib_script
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/bind9-config ${PN}:${bindir}/isc-config.sh"
+
+# PACKAGECONFIGs readline and libedit should NOT be set at same time
+PACKAGECONFIG ?= "readline"
+PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2"
+PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
+PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
+PACKAGECONFIG[urandom] = "--with-randomdev=/dev/urandom,--with-randomdev=/dev/random,,"
+PACKAGECONFIG[python3] = "--with-python=${PYTHON} --with-python-install-dir=${D}/${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
+
+ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
+EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \
+ --disable-devpoll --enable-epoll --with-gost=no \
+ --with-gssapi=no --with-ecdsa=yes --with-eddsa=no \
+ --with-lmdb=no \
+ --sysconfdir=${sysconfdir}/bind \
+ --with-openssl=${STAGING_DIR_HOST}${prefix} \
+ "
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutils3-base', '', d)}
+
+# dhcp needs .la so keep them
+REMOVE_LIBTOOL_LA = "0"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \
+ --user-group bind"
+
+INITSCRIPT_NAME = "bind"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE_${PN} = "named.service"
+
+do_install_prepend() {
+ # clean host path in isc-config.sh before the hardlink created
+ # by "make install":
+ # bind9-config -> isc-config.sh
+ sed -i -e "s,${STAGING_LIBDIR},${libdir}," ${B}/isc-config.sh
+}
+
+do_install_append() {
+
+ rmdir "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+ install -d -o bind "${D}${localstatedir}/cache/bind"
+ install -d "${D}${sysconfdir}/bind"
+ install -d "${D}${sysconfdir}/init.d"
+ install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
+ install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
+ if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
+ sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \
+ ${D}${sbindir}/dnssec-coverage \
+ ${D}${sbindir}/dnssec-checkds \
+ ${D}${sbindir}/dnssec-keymgr
+ fi
+
+ # Install systemd related files
+ install -d ${D}${sbindir}
+ install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_unitdir}/system/named.service
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf
+ fi
+}
+
+CONFFILES_${PN} = " \
+ ${sysconfdir}/bind/named.conf \
+ ${sysconfdir}/bind/named.conf.local \
+ ${sysconfdir}/bind/named.conf.options \
+ ${sysconfdir}/bind/db.0 \
+ ${sysconfdir}/bind/db.127 \
+ ${sysconfdir}/bind/db.empty \
+ ${sysconfdir}/bind/db.local \
+ ${sysconfdir}/bind/db.root \
+ "
+
+ALTERNATIVE_${PN}-utils = "nslookup"
+ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup"
+ALTERNATIVE_PRIORITY = "100"
+
+PACKAGE_BEFORE_PN += "${PN}-utils"
+FILES_${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate"
+FILES_${PN}-dev += "${bindir}/isc-config.h"
+FILES_${PN} += "${sbindir}/generate-rndc-key.sh"
+
+PACKAGE_BEFORE_PN += "${PN}-libs"
+FILES_${PN}-libs = "${libdir}/*.so*"
+FILES_${PN}-staticdev += "${libdir}/*.la"
+
+PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}"
+FILES_python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \
+ ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}"
+
+RDEPENDS_${PN} = "bash"
+RDEPENDS_${PN}-utils = "bash"
+RDEPENDS_${PN}-dev = ""
+RDEPENDS_python3-bind = "python3-core python3-ply"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index edb44b22a..aaf2af975 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -41,7 +41,7 @@ PACKAGECONFIG[sixaxis] = "--enable-sixaxis,--disable-sixaxis"
PACKAGECONFIG[tools] = "--enable-tools,--disable-tools"
PACKAGECONFIG[threads] = "--enable-threads,--disable-threads"
PACKAGECONFIG[deprecated] = "--enable-deprecated,--disable-deprecated"
-PACKAGECONFIG[mesh] = "--enable-mesh,--disable-mesh, json-c"
+PACKAGECONFIG[mesh] = "--enable-mesh,--disable-mesh, json-c ell"
PACKAGECONFIG[btpclient] = "--enable-btpclient,--disable-btpclient, ell"
SRC_URI = "\
@@ -53,6 +53,7 @@ SRC_URI = "\
file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
file://0001-test-gatt-Fix-hung-issue.patch \
file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \
+ file://CVE-2018-10910.patch \
"
S = "${WORKDIR}/bluez-${PV}"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch
new file mode 100644
index 000000000..b4b1846c4
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch
@@ -0,0 +1,705 @@
+A bug in Bluez may allow for the Bluetooth Discoverable state being set to on
+when no Bluetooth agent is registered with the system. This situation could
+lead to the unauthorized pairing of certain Bluetooth devices without any
+form of authentication.
+
+CVE: CVE-2018-10910
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+Subject: [PATCH BlueZ 1/4] client: Add discoverable-timeout command
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-25 10:20:32
+Message-ID: 20180725102035.19439-1-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+This adds discoverable-timeout command which can be used to get/set
+DiscoverableTimeout property:
+
+[bluetooth]# discoverable-timeout 180
+Changing discoverable-timeout 180 succeeded
+---
+ client/main.c | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+diff --git a/client/main.c b/client/main.c
+index 87323d8f7..59820c6d9 100644
+--- a/client/main.c
++++ b/client/main.c
+@@ -1061,6 +1061,47 @@ static void cmd_discoverable(int argc, char *argv[])
+ return bt_shell_noninteractive_quit(EXIT_FAILURE);
+ }
+
++static void cmd_discoverable_timeout(int argc, char *argv[])
++{
++ uint32_t value;
++ char *endptr = NULL;
++ char *str;
++
++ if (argc < 2) {
++ DBusMessageIter iter;
++
++ if (!g_dbus_proxy_get_property(default_ctrl->proxy,
++ "DiscoverableTimeout", &iter)) {
++ bt_shell_printf("Unable to get DiscoverableTimeout\n");
++ return bt_shell_noninteractive_quit(EXIT_FAILURE);
++ }
++
++ dbus_message_iter_get_basic(&iter, &value);
++
++ bt_shell_printf("DiscoverableTimeout: %d seconds\n", value);
++
++ return;
++ }
++
++ value = strtol(argv[1], &endptr, 0);
++ if (!endptr || *endptr != '\0' || value > UINT32_MAX) {
++ bt_shell_printf("Invalid argument\n");
++ return bt_shell_noninteractive_quit(EXIT_FAILURE);
++ }
++
++ str = g_strdup_printf("discoverable-timeout %d", value);
++
++ if (g_dbus_proxy_set_property_basic(default_ctrl->proxy,
++ "DiscoverableTimeout",
++ DBUS_TYPE_UINT32, &value,
++ generic_callback, str, g_free))
++ return;
++
++ g_free(str);
++
++ return bt_shell_noninteractive_quit(EXIT_FAILURE);
++}
++
+ static void cmd_agent(int argc, char *argv[])
+ {
+ dbus_bool_t enable;
+@@ -2549,6 +2590,8 @@ static const struct bt_shell_menu main_menu = {
+ { "discoverable", "<on/off>", cmd_discoverable,
+ "Set controller discoverable mode",
+ NULL },
++ { "discoverable-timeout", "[value]", cmd_discoverable_timeout,
++ "Set discoverable timeout", NULL },
+ { "agent", "<on/off/capability>", cmd_agent,
+ "Enable/disable agent with given capability",
+ capability_generator},
+--
+2.17.1
+
+Subject: [PATCH BlueZ 2/4] client: Make show command print DiscoverableTimeout
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-25 10:20:33
+Message-ID: 20180725102035.19439-2-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+Controller XX:XX:XX:XX:XX:XX (public)
+ Name: Vudentz's T460s
+ Alias: Intel-1
+ Class: 0x004c010c
+ Powered: yes
+ Discoverable: no
+ DiscoverableTimeout: 0x00000000
+ Pairable: yes
+ UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb)
+ UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
+ UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
+ UUID: SIM Access (0000112d-0000-1000-8000-00805f9b34fb)
+ UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
+ UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
+ UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
+ UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
+ UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
+ UUID: Headset (00001108-0000-1000-8000-00805f9b34fb)
+ Modalias: usb:v1D6Bp0246d0532
+ Discovering: no
+---
+ client/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/client/main.c b/client/main.c
+index 59820c6d9..6f472d050 100644
+--- a/client/main.c
++++ b/client/main.c
+@@ -877,6 +877,7 @@ static void cmd_show(int argc, char *argv[])
+ print_property(proxy, "Class");
+ print_property(proxy, "Powered");
+ print_property(proxy, "Discoverable");
++ print_property(proxy, "DiscoverableTimeout");
+ print_property(proxy, "Pairable");
+ print_uuids(proxy);
+ print_property(proxy, "Modalias");
+--
+2.17.1
+Subject: [PATCH BlueZ 3/4] adapter: Track pending settings
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-25 10:20:34
+Message-ID: 20180725102035.19439-3-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+This tracks settings being changed and in case the settings is already
+pending considered it to be done.
+---
+ src/adapter.c | 30 ++++++++++++++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
+
+diff --git a/src/adapter.c b/src/adapter.c
+index af340fd6e..20c20f9e9 100644
+--- a/src/adapter.c
++++ b/src/adapter.c
+@@ -196,6 +196,7 @@ struct btd_adapter {
+ char *name; /* controller device name */
+ char *short_name; /* controller short name */
+ uint32_t supported_settings; /* controller supported settings */
++ uint32_t pending_settings; /* pending controller settings */
+ uint32_t current_settings; /* current controller settings */
+
+ char *path; /* adapter object path */
+@@ -509,8 +510,10 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings)
+ changed_mask = adapter->current_settings ^ settings;
+
+ adapter->current_settings = settings;
++ adapter->pending_settings &= ~changed_mask;
+
+ DBG("Changed settings: 0x%08x", changed_mask);
++ DBG("Pending settings: 0x%08x", adapter->pending_settings);
+
+ if (changed_mask & MGMT_SETTING_POWERED) {
+ g_dbus_emit_property_changed(dbus_conn, adapter->path,
+@@ -596,10 +599,31 @@ static bool set_mode(struct btd_adapter *adapter, uint16_t opcode,
+ uint8_t mode)
+ {
+ struct mgmt_mode cp;
++ uint32_t setting = 0;
+
+ memset(&cp, 0, sizeof(cp));
+ cp.val = mode;
+
++ switch (mode) {
++ case MGMT_OP_SET_POWERED:
++ setting = MGMT_SETTING_POWERED;
++ break;
++ case MGMT_OP_SET_CONNECTABLE:
++ setting = MGMT_SETTING_CONNECTABLE;
++ break;
++ case MGMT_OP_SET_FAST_CONNECTABLE:
++ setting = MGMT_SETTING_FAST_CONNECTABLE;
++ break;
++ case MGMT_OP_SET_DISCOVERABLE:
++ setting = MGMT_SETTING_DISCOVERABLE;
++ break;
++ case MGMT_OP_SET_BONDABLE:
++ setting = MGMT_SETTING_DISCOVERABLE;
++ break;
++ }
++
++ adapter->pending_settings |= setting;
++
+ DBG("sending set mode command for index %u", adapter->dev_id);
+
+ if (mgmt_send(adapter->mgmt, opcode,
+@@ -2739,13 +2763,15 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
+ else
+ current_enable = FALSE;
+
+- if (enable == current_enable) {
++ if (enable == current_enable || adapter->pending_settings & setting) {
+ g_dbus_pending_property_success(id);
+ return;
+ }
+
+ mode = (enable == TRUE) ? 0x01 : 0x00;
+
++ adapter->pending_settings |= setting;
++
+ switch (setting) {
+ case MGMT_SETTING_POWERED:
+ opcode = MGMT_OP_SET_POWERED;
+@@ -2798,7 +2824,7 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
+ data->id = id;
+
+ if (mgmt_send(adapter->mgmt, opcode, adapter->dev_id, len, param,
+- property_set_mode_complete, data, g_free) > 0)
++ property_set_mode_complete, data, g_free) > 0)
+ return;
+
+ g_free(data);
+--
+2.17.1
+Subject: [PATCH BlueZ 4/4] adapter: Check pending when setting DiscoverableTimeout
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-25 10:20:35
+Message-ID: 20180725102035.19439-4-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+This makes DiscoverableTimeout check if discoverable is already pending
+and don't attempt to set it once again which may cause discoverable to
+be re-enabled when in fact the application just want to set the timeout
+alone.
+---
+ src/adapter.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/src/adapter.c b/src/adapter.c
+index 20c20f9e9..f92c897c7 100644
+--- a/src/adapter.c
++++ b/src/adapter.c
+@@ -2901,6 +2901,7 @@ static void property_set_discoverable_timeout(
+ GDBusPendingPropertySet id, void *user_data)
+ {
+ struct btd_adapter *adapter = user_data;
++ bool enabled;
+ dbus_uint32_t value;
+
+ dbus_message_iter_get_basic(iter, &value);
+@@ -2914,8 +2915,19 @@ static void property_set_discoverable_timeout(
+ g_dbus_emit_property_changed(dbus_conn, adapter->path,
+ ADAPTER_INTERFACE, "DiscoverableTimeout");
+
++ if (adapter->pending_settings & MGMT_SETTING_DISCOVERABLE) {
++ if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
++ enabled = false;
++ else
++ enabled = true;
++ } else {
++ if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
++ enabled = true;
++ else
++ enabled = false;
++ }
+
+- if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
++ if (enabled)
+ set_discoverable(adapter, 0x01, adapter->discoverable_timeout);
+ }
+
+--
+2.17.1
+Subject: [PATCH BlueZ 1/5] doc/adapter-api: Add Discoverable option to SetDiscoveryFilter
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-26 14:17:19
+Message-ID: 20180726141723.20199-1-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+This enables the client to set its discoverable setting while
+discovering which is very typical situation as usually the setings
+application would allow incoming pairing request while scanning, so
+this would reduce the number of calls setting Discoverable and
+DiscoverableTimeout and restoring after done with discovery.
+---
+ doc/adapter-api.txt | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
+index d14d0ca50..4791af2c7 100644
+--- a/doc/adapter-api.txt
++++ b/doc/adapter-api.txt
+@@ -113,6 +113,12 @@ Methods void StartDiscovery()
+ generated for either ManufacturerData and
+ ServiceData everytime they are discovered.
+
++ bool Discoverable (Default: false)
++
++ Make adapter discoverable while discovering,
++ if the adapter is already discoverable this
++ setting this filter won't do anything.
++
+ When discovery filter is set, Device objects will be
+ created as new devices with matching criteria are
+ discovered regardless of they are connectable or
+--
+2.17.1
+Subject: [PATCH BlueZ 2/5] adapter: Discovery filter discoverable
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-26 14:17:20
+Message-ID: 20180726141723.20199-2-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+This implements the discovery filter discoverable and tracks which
+clients had enabled it and restores the settings when the last client
+enabling it exits.
+---
+ src/adapter.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 54 insertions(+), 2 deletions(-)
+
+diff --git a/src/adapter.c b/src/adapter.c
+index f92c897c7..bd9edddc6 100644
+--- a/src/adapter.c
++++ b/src/adapter.c
+@@ -157,6 +157,7 @@ struct discovery_filter {
+ int16_t rssi;
+ GSList *uuids;
+ bool duplicate;
++ bool discoverable;
+ };
+
+ struct watch_client {
+@@ -214,6 +215,7 @@ struct btd_adapter {
+
+ bool discovering; /* discovering property state */
+ bool filtered_discovery; /* we are doing filtered discovery */
++ bool filtered_discoverable; /* we are doing filtered discovery */
+ bool no_scan_restart_delay; /* when this flag is set, restart scan
+ * without delay */
+ uint8_t discovery_type; /* current active discovery type */
+@@ -1842,6 +1844,16 @@ static void discovery_free(void *user_data)
+ g_free(client);
+ }
+
++static bool set_filtered_discoverable(struct btd_adapter *adapter, bool enable)
++{
++ if (adapter->filtered_discoverable == enable)
++ return true;
++
++ adapter->filtered_discoverable = enable;
++
++ return set_discoverable(adapter, enable, 0);
++}
++
+ static void discovery_remove(struct watch_client *client)
+ {
+ struct btd_adapter *adapter = client->adapter;
+@@ -1854,6 +1866,22 @@ static void discovery_remove(struct watch_client *client)
+ adapter->discovery_list = g_slist_remove(adapter->discovery_list,
+ client);
+
++ if (adapter->filtered_discoverable &&
++ client->discovery_filter->discoverable) {
++ GSList *l;
++
++ for (l = adapter->discovery_list; l; l = g_slist_next(l)) {
++ struct watch_client *client = l->data;
++
++ if (client->discovery_filter->discoverable)
++ break;
++ }
++
++ /* Disable filtered discoverable if there are no clients */
++ if (!l)
++ set_filtered_discoverable(adapter, false);
++ }
++
+ discovery_free(client);
+
+ /*
+@@ -2224,6 +2252,15 @@ static DBusMessage *start_discovery(DBusConnection *conn,
+ adapter->set_filter_list, client);
+ adapter->discovery_list = g_slist_prepend(
+ adapter->discovery_list, client);
++
++ /* Reset discoverable filter if already set */
++ if (adapter->current_settings & MGMT_OP_SET_DISCOVERABLE)
++ goto done;
++
++ /* Set discoverable if filter requires and it*/
++ if (client->discovery_filter->discoverable)
++ set_filtered_discoverable(adapter, true);
++
+ goto done;
+ }
+
+@@ -2348,6 +2385,17 @@ static bool parse_duplicate_data(DBusMessageIter *value,
+ return true;
+ }
+
++static bool parse_discoverable(DBusMessageIter *value,
++ struct discovery_filter *filter)
++{
++ if (dbus_message_iter_get_arg_type(value) != DBUS_TYPE_BOOLEAN)
++ return false;
++
++ dbus_message_iter_get_basic(value, &filter->discoverable);
++
++ return true;
++}
++
+ struct filter_parser {
+ const char *name;
+ bool (*func)(DBusMessageIter *iter, struct discovery_filter *filter);
+@@ -2357,6 +2405,7 @@ struct filter_parser {
+ { "Pathloss", parse_pathloss },
+ { "Transport", parse_transport },
+ { "DuplicateData", parse_duplicate_data },
++ { "Discoverable", parse_discoverable },
+ { }
+ };
+
+@@ -2396,6 +2445,7 @@ static bool parse_discovery_filter_dict(struct btd_adapter *adapter,
+ (*filter)->rssi = DISTANCE_VAL_INVALID;
+ (*filter)->type = get_scan_type(adapter);
+ (*filter)->duplicate = false;
++ (*filter)->discoverable = false;
+
+ dbus_message_iter_init(msg, &iter);
+ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
+@@ -2441,8 +2491,10 @@ static bool parse_discovery_filter_dict(struct btd_adapter *adapter,
+ goto invalid_args;
+
+ DBG("filtered discovery params: transport: %d rssi: %d pathloss: %d "
+- " duplicate data: %s ", (*filter)->type, (*filter)->rssi,
+- (*filter)->pathloss, (*filter)->duplicate ? "true" : "false");
++ " duplicate data: %s discoverable %s", (*filter)->type,
++ (*filter)->rssi, (*filter)->pathloss,
++ (*filter)->duplicate ? "true" : "false",
++ (*filter)->discoverable ? "true" : "false");
+
+ return true;
+
+--
+2.17.1
+Subject: [PATCH BlueZ 3/5] client: Add scan.discoverable command
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-26 14:17:21
+Message-ID: 20180726141723.20199-3-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+This adds discoverable command to scan menu which can be used to set
+if adapter should become discoverable while scanning:
+
+[bluetooth]# scan.discoverable on
+[bluetooth]# scan on
+SetDiscoveryFilter success
+[CHG] Controller XX:XX:XX:XX:XX:XX Discoverable: yes
+Discovery started
+[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes
+[bluetooth]# scan off
+Discovery stopped
+[CHG] Controller XX:XX:XX:XX:XX:XX Discoverable: no
+---
+ client/main.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+diff --git a/client/main.c b/client/main.c
+index 6f472d050..6e6f6d2fb 100644
+--- a/client/main.c
++++ b/client/main.c
+@@ -1166,6 +1166,7 @@ static struct set_discovery_filter_args {
+ char **uuids;
+ size_t uuids_len;
+ dbus_bool_t duplicate;
++ dbus_bool_t discoverable;
+ bool set;
+ } filter = {
+ .rssi = DISTANCE_VAL_INVALID,
+@@ -1205,6 +1206,11 @@ static void set_discovery_filter_setup(DBusMessageIter *iter, void *user_data)
+ DBUS_TYPE_BOOLEAN,
+ &args->duplicate);
+
++ if (args->discoverable)
++ g_dbus_dict_append_entry(&dict, "Discoverable",
++ DBUS_TYPE_BOOLEAN,
++ &args->discoverable);
++
+ dbus_message_iter_close_container(iter, &dict);
+ }
+
+@@ -1362,6 +1368,26 @@ static void cmd_scan_filter_duplicate_data(int argc, char *argv[])
+ filter.set = false;
+ }
+
++static void cmd_scan_filter_discoverable(int argc, char *argv[])
++{
++ if (argc < 2 || !strlen(argv[1])) {
++ bt_shell_printf("Discoverable: %s\n",
++ filter.discoverable ? "on" : "off");
++ return bt_shell_noninteractive_quit(EXIT_SUCCESS);
++ }
++
++ if (!strcmp(argv[1], "on"))
++ filter.discoverable = true;
++ else if (!strcmp(argv[1], "off"))
++ filter.discoverable = false;
++ else {
++ bt_shell_printf("Invalid option: %s\n", argv[1]);
++ return bt_shell_noninteractive_quit(EXIT_FAILURE);
++ }
++
++ filter.set = false;
++}
++
+ static void filter_clear_uuids(void)
+ {
+ g_strfreev(filter.uuids);
+@@ -2510,6 +2536,9 @@ static const struct bt_shell_menu scan_menu = {
+ { "duplicate-data", "[on/off]", cmd_scan_filter_duplicate_data,
+ "Set/Get duplicate data filter",
+ NULL },
++ { "discoverable", "[on/off]", cmd_scan_filter_discoverable,
++ "Set/Get discoverable filter",
++ NULL },
+ { "clear", "[uuids/rssi/pathloss/transport/duplicate-data]",
+ cmd_scan_filter_clear,
+ "Clears discovery filter.",
+--
+2.17.1
+Subject: [PATCH BlueZ 4/5] client: Add scan.clear discoverable
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-26 14:17:22
+Message-ID: 20180726141723.20199-4-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+This implements scan.clear for discoverable filter.
+---
+ client/main.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/client/main.c b/client/main.c
+index 6e6f6d2fb..1a66a3ab4 100644
+--- a/client/main.c
++++ b/client/main.c
+@@ -1416,6 +1416,11 @@ static void filter_clear_duplicate(void)
+ filter.duplicate = false;
+ }
+
++static void filter_clear_discoverable(void)
++{
++ filter.discoverable = false;
++}
++
+ struct clear_entry {
+ const char *name;
+ void (*clear) (void);
+@@ -1427,6 +1432,7 @@ static const struct clear_entry filter_clear[] = {
+ { "pathloss", filter_clear_pathloss },
+ { "transport", filter_clear_transport },
+ { "duplicate-data", filter_clear_duplicate },
++ { "discoverable", filter_clear_discoverable },
+ {}
+ };
+
+@@ -2539,7 +2545,8 @@ static const struct bt_shell_menu scan_menu = {
+ { "discoverable", "[on/off]", cmd_scan_filter_discoverable,
+ "Set/Get discoverable filter",
+ NULL },
+- { "clear", "[uuids/rssi/pathloss/transport/duplicate-data]",
++ { "clear",
++ "[uuids/rssi/pathloss/transport/duplicate-data/discoverable]",
+ cmd_scan_filter_clear,
+ "Clears discovery filter.",
+ filter_clear_generator },
+--
+2.17.1
+Subject: [PATCH BlueZ 5/5] adapter: Fix not keeping discovery filters
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: 2018-07-26 14:17:23
+Message-ID: 20180726141723.20199-5-luiz.dentz () gmail ! com
+[Download RAW message or body]
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+If the discovery has been stopped and the client has set filters those
+should be put back into filter list since the client may still be
+interested in using them the next time it start a scanning.
+---
+ src/adapter.c | 25 ++++++++++++++++---------
+ 1 file changed, 16 insertions(+), 9 deletions(-)
+
+diff --git a/src/adapter.c b/src/adapter.c
+index bd9edddc6..822bd3472 100644
+--- a/src/adapter.c
++++ b/src/adapter.c
+@@ -1854,7 +1854,7 @@ static bool set_filtered_discoverable(struct btd_adapter *adapter, bool enable)
+ return set_discoverable(adapter, enable, 0);
+ }
+
+-static void discovery_remove(struct watch_client *client)
++static void discovery_remove(struct watch_client *client, bool exit)
+ {
+ struct btd_adapter *adapter = client->adapter;
+
+@@ -1882,7 +1882,11 @@ static void discovery_remove(struct watch_client *client)
+ set_filtered_discoverable(adapter, false);
+ }
+
+- discovery_free(client);
++ if (!exit && client->discovery_filter)
++ adapter->set_filter_list = g_slist_prepend(
++ adapter->set_filter_list, client);
++ else
++ discovery_free(client);
+
+ /*
+ * If there are other client discoveries in progress, then leave
+@@ -1911,8 +1915,11 @@ static void stop_discovery_complete(uint8_t status, uint16_t length,
+ goto done;
+ }
+
+- if (client->msg)
++ if (client->msg) {
+ g_dbus_send_reply(dbus_conn, client->msg, DBUS_TYPE_INVALID);
++ dbus_message_unref(client->msg);
++ client->msg = NULL;
++ }
+
+ adapter->discovery_type = 0x00;
+ adapter->discovery_enable = 0x00;
+@@ -1925,7 +1932,7 @@ static void stop_discovery_complete(uint8_t status, uint16_t length,
+ trigger_passive_scanning(adapter);
+
+ done:
+- discovery_remove(client);
++ discovery_remove(client, false);
+ }
+
+ static int compare_sender(gconstpointer a, gconstpointer b)
+@@ -2146,14 +2153,14 @@ static int update_discovery_filter(struct btd_adapter *adapter)
+ return -EINPROGRESS;
+ }
+
+-static int discovery_stop(struct watch_client *client)
++static int discovery_stop(struct watch_client *client, bool exit)
+ {
+ struct btd_adapter *adapter = client->adapter;
+ struct mgmt_cp_stop_discovery cp;
+
+ /* Check if there are more client discovering */
+ if (g_slist_next(adapter->discovery_list)) {
+- discovery_remove(client);
++ discovery_remove(client, exit);
+ update_discovery_filter(adapter);
+ return 0;
+ }
+@@ -2163,7 +2170,7 @@ static int discovery_stop(struct watch_client *client)
+ * and so it is enough to send out the signal and just return.
+ */
+ if (adapter->discovery_enable == 0x00) {
+- discovery_remove(client);
++ discovery_remove(client, exit);
+ adapter->discovering = false;
+ g_dbus_emit_property_changed(dbus_conn, adapter->path,
+ ADAPTER_INTERFACE, "Discovering");
+@@ -2188,7 +2195,7 @@ static void discovery_disconnect(DBusConnection *conn, void *user_data)
+
+ DBG("owner %s", client->owner);
+
+- discovery_stop(client);
++ discovery_stop(client, true);
+ }
+
+ /*
+@@ -2586,7 +2593,7 @@ static DBusMessage *stop_discovery(DBusConnection *conn,
+ if (client->msg)
+ return btd_error_busy(msg);
+
+- err = discovery_stop(client);
++ err = discovery_stop(client, false);
+ switch (err) {
+ case 0:
+ return dbus_message_new_method_return(msg);
+--
+2.17.1
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/init b/poky/meta/recipes-connectivity/bluez5/bluez5/init
index d7972f2d9..ca9fa1854 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5/init
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5/init
@@ -1,5 +1,8 @@
#!/bin/sh
+# Source function library
+. /etc/init.d/functions
+
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DESC=bluetooth
@@ -44,14 +47,7 @@ case $1 in
$0 start
;;
status)
- pidof ${DAEMON} >/dev/null
- status=$?
- if [ $status -eq 0 ]; then
- echo "bluetooth is running."
- else
- echo "bluetooth is not running"
- fi
- exit $status
+ status ${DAEMON} || exit $?
;;
*)
N=/etc/init.d/bluetooth
diff --git a/poky/meta/recipes-connectivity/connman/connman.inc b/poky/meta/recipes-connectivity/connman/connman.inc
index 2b03f9cb0..0a117e44a 100644
--- a/poky/meta/recipes-connectivity/connman/connman.inc
+++ b/poky/meta/recipes-connectivity/connman/connman.inc
@@ -133,14 +133,14 @@ python populate_packages_prepend() {
add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
plugin_dir = d.expand('${libdir}/connman/plugins/')
plugin_name = d.expand('${PN}-plugin-%s')
- do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
+ do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
'${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
hook = lambda file,pkg,x,y,z: \
add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
plugin_name = d.expand('${PN}-plugin-vpn-%s')
- do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
+ do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
'${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
}
@@ -156,7 +156,7 @@ RDEPENDS_${PN}-client ="${PN}"
FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
${libdir}/connman/plugins \
- ${sysconfdir} ${sharedstatedir} ${localstatedir} \
+ ${sysconfdir} ${sharedstatedir} ${localstatedir} ${datadir} \
${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
${datadir}/dbus-1/system-services/* \
${sysconfdir}/tmpfiles.d/connman_resolvconf.conf"
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch b/poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch
new file mode 100644
index 000000000..f344fea10
--- /dev/null
+++ b/poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch
@@ -0,0 +1,362 @@
+From 181ff3439783c6920f5211730672685a210c318f Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 8 Oct 2018 22:12:56 +0200
+Subject: [PATCH] Fix various issues which cause problems under musl
+
+Instead of using #define _GNU_SOURCE in some source files which causes
+problems when building with musl as more files need the define, simply
+use AC_USE_SYSTEM_EXTENSIONS in configure.ac to get it defined globally.
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+Upstream-Status: Backport [bd1326ba7d68df38c5ccaafd2403a5fb30bd452b]
+---
+ configure.ac | 3 +++
+ gdhcp/client.c | 1 -
+ gdhcp/common.h | 5 +++--
+ gweb/gresolv.c | 1 +
+ plugins/tist.c | 1 -
+ plugins/wifi.c | 3 +--
+ src/backtrace.c | 1 -
+ src/inet.c | 1 -
+ src/ippool.c | 1 -
+ src/iptables.c | 2 +-
+ src/log.c | 1 -
+ src/ntp.c | 1 -
+ src/resolver.c | 1 -
+ src/rfkill.c | 1 -
+ src/stats.c | 1 -
+ src/tethering.c | 2 --
+ src/timezone.c | 1 -
+ tools/dhcp-test.c | 1 -
+ tools/dnsproxy-test.c | 1 +
+ tools/private-network-test.c | 2 +-
+ tools/stats-tool.c | 1 -
+ tools/tap-test.c | 3 +--
+ tools/wispr.c | 1 -
+ vpn/plugins/vpn.c | 1 -
+ 24 files changed, 12 insertions(+), 25 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 39745f76..984126c2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,6 +20,7 @@ AC_SUBST(abs_top_srcdir)
+ AC_SUBST(abs_top_builddir)
+
+ AC_LANG_C
++AC_USE_SYSTEM_EXTENSIONS
+
+ AC_PROG_CC
+ AM_PROG_CC_C_O
+@@ -185,6 +186,8 @@ AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [
+ AC_CHECK_HEADERS([execinfo.h])
+ AM_CONDITIONAL([BACKTRACE], [test "${ac_cv_header_execinfo_h}" = "yes"])
+
++AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include <netinet/in.h>]])
++
+ AC_CHECK_FUNC(signalfd, dummy=yes,
+ AC_MSG_ERROR(signalfd support is required))
+
+diff --git a/gdhcp/client.c b/gdhcp/client.c
+index 67357782..c7db76f0 100644
+--- a/gdhcp/client.c
++++ b/gdhcp/client.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <errno.h>
+ #include <unistd.h>
+diff --git a/gdhcp/common.h b/gdhcp/common.h
+index 75abc183..6899499e 100644
+--- a/gdhcp/common.h
++++ b/gdhcp/common.h
+@@ -19,6 +19,7 @@
+ *
+ */
+
++#include <config.h>
+ #include <netinet/udp.h>
+ #include <netinet/ip.h>
+
+@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths[] = {
+ [OPTION_U32] = 4,
+ };
+
+-/* already defined within netinet/in.h if using GNU compiler */
+-#ifndef __USE_GNU
++/* already defined within netinet/in.h if using glibc or musl */
++#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_ADDR
+ struct in6_pktinfo {
+ struct in6_addr ipi6_addr; /* src/dst IPv6 address */
+ unsigned int ipi6_ifindex; /* send/recv interface index */
+diff --git a/gweb/gresolv.c b/gweb/gresolv.c
+index 81c79b6c..b06f8932 100644
+--- a/gweb/gresolv.c
++++ b/gweb/gresolv.c
+@@ -29,6 +29,7 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <resolv.h>
++#include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netdb.h>
+diff --git a/plugins/tist.c b/plugins/tist.c
+index ad5ef79e..cc2800a1 100644
+--- a/plugins/tist.c
++++ b/plugins/tist.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdbool.h>
+ #include <stdlib.h>
+diff --git a/plugins/wifi.c b/plugins/wifi.c
+index dc08c6af..46e4cca4 100644
+--- a/plugins/wifi.c
++++ b/plugins/wifi.c
+@@ -30,9 +30,8 @@
+ #include <string.h>
+ #include <sys/ioctl.h>
+ #include <sys/socket.h>
+-#include <linux/if_arp.h>
+-#include <linux/wireless.h>
+ #include <net/ethernet.h>
++#include <linux/wireless.h>
+
+ #ifndef IFF_LOWER_UP
+ #define IFF_LOWER_UP 0x10000
+diff --git a/src/backtrace.c b/src/backtrace.c
+index e8d7f432..bede6698 100644
+--- a/src/backtrace.c
++++ b/src/backtrace.c
+@@ -24,7 +24,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+diff --git a/src/inet.c b/src/inet.c
+index a31372b5..a58ce7c1 100644
+--- a/src/inet.c
++++ b/src/inet.c
+@@ -25,7 +25,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <errno.h>
+ #include <unistd.h>
+diff --git a/src/ippool.c b/src/ippool.c
+index cea1dccd..8a645da2 100644
+--- a/src/ippool.c
++++ b/src/ippool.c
+@@ -28,7 +28,6 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
+-#include <sys/errno.h>
+ #include <sys/socket.h>
+
+ #include "connman.h"
+diff --git a/src/iptables.c b/src/iptables.c
+index f3670e77..469effed 100644
+--- a/src/iptables.c
++++ b/src/iptables.c
+@@ -28,7 +28,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
+-#include <sys/errno.h>
++#include <errno.h>
+ #include <sys/socket.h>
+ #include <xtables.h>
+ #include <inttypes.h>
+diff --git a/src/log.c b/src/log.c
+index 9bae4a3d..f7e82e5d 100644
+--- a/src/log.c
++++ b/src/log.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+diff --git a/src/ntp.c b/src/ntp.c
+index 51ba9aac..724ca188 100644
+--- a/src/ntp.c
++++ b/src/ntp.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+diff --git a/src/resolver.c b/src/resolver.c
+index 76f0a8e1..10121aa5 100644
+--- a/src/resolver.c
++++ b/src/resolver.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <errno.h>
+ #include <fcntl.h>
+diff --git a/src/rfkill.c b/src/rfkill.c
+index d9bed4d2..b2514c41 100644
+--- a/src/rfkill.c
++++ b/src/rfkill.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <errno.h>
+ #include <fcntl.h>
+diff --git a/src/stats.c b/src/stats.c
+index 663bc382..c9ddc2e8 100644
+--- a/src/stats.c
++++ b/src/stats.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <errno.h>
+ #include <sys/mman.h>
+ #include <sys/types.h>
+diff --git a/src/tethering.c b/src/tethering.c
+index 4b202369..f3cb36f4 100644
+--- a/src/tethering.c
++++ b/src/tethering.c
+@@ -34,8 +34,6 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <netinet/in.h>
+-#include <linux/sockios.h>
+-#include <linux/if_tun.h>
+ #include <linux/if_bridge.h>
+
+ #include "connman.h"
+diff --git a/src/timezone.c b/src/timezone.c
+index e346b11a..8e912670 100644
+--- a/src/timezone.c
++++ b/src/timezone.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <errno.h>
+ #include <stdio.h>
+ #include <fcntl.h>
+diff --git a/tools/dhcp-test.c b/tools/dhcp-test.c
+index c34e10a8..eae66fc2 100644
+--- a/tools/dhcp-test.c
++++ b/tools/dhcp-test.c
+@@ -33,7 +33,6 @@
+ #include <arpa/inet.h>
+ #include <net/route.h>
+ #include <net/ethernet.h>
+-#include <linux/if_arp.h>
+
+ #include <gdhcp/gdhcp.h>
+
+diff --git a/tools/dnsproxy-test.c b/tools/dnsproxy-test.c
+index 551cae91..371e2e23 100644
+--- a/tools/dnsproxy-test.c
++++ b/tools/dnsproxy-test.c
+@@ -24,6 +24,7 @@
+ #endif
+
+ #include <errno.h>
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+diff --git a/tools/private-network-test.c b/tools/private-network-test.c
+index 3dd115ba..2828bb30 100644
+--- a/tools/private-network-test.c
++++ b/tools/private-network-test.c
+@@ -32,7 +32,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <signal.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/signalfd.h>
+ #include <unistd.h>
+
+diff --git a/tools/stats-tool.c b/tools/stats-tool.c
+index efa39de2..5695048f 100644
+--- a/tools/stats-tool.c
++++ b/tools/stats-tool.c
+@@ -22,7 +22,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <sys/mman.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+diff --git a/tools/tap-test.c b/tools/tap-test.c
+index fdc098aa..cb3ee622 100644
+--- a/tools/tap-test.c
++++ b/tools/tap-test.c
+@@ -23,13 +23,12 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <string.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/ioctl.h>
+
+ #include <netinet/in.h>
+diff --git a/tools/wispr.c b/tools/wispr.c
+index d5f9341f..e56dfc16 100644
+--- a/tools/wispr.c
++++ b/tools/wispr.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c
+index 10548aaf..6e3f640c 100644
+--- a/vpn/plugins/vpn.c
++++ b/vpn/plugins/vpn.c
+@@ -23,7 +23,6 @@
+ #include <config.h>
+ #endif
+
+-#define _GNU_SOURCE
+ #include <string.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+--
+2.17.1
+
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch b/poky/meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch
deleted file mode 100644
index f9080d4ba..000000000
--- a/poky/meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 929fc9b7068100444e0ffcccd25841f78791e619 Mon Sep 17 00:00:00 2001
-From: Jian Liang <jianliang@tycoint.com>
-Date: Fri, 15 Sep 2017 06:40:08 -0400
-Subject: [PATCH] gweb: Fix a crash using wispr over TLS
-To: connman@lists.01.org
-Cc: wagi@monom.org
-
-When gnutls_channel is instantiated, the gnutls_channel->established
-has to be initiated as FALSE. Otherwise, check_handshake function
-won't work. A random initial value 1 of gnutls_channel->established
-will make check_handshake return G_IO_STATUS_NORMAL, when the channel
-is actually not ready to be used. The observed behaviours are,
-
-- wispr is getting random errors in wispr_portal_web_result
-- ConnMan crashes on exit after those random errors
-- when wispr is luckly working, ConnMan doesn't crash on exit
-
-Signed-off-by: Jian Liang <jianliang@tycoint.com>
-
----
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=73e53f3bd9e7debae86341f1eee7b97862a56a5e]
-Signed-off-by: André Draszik <andre.draszik@jci.com>
- gweb/giognutls.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gweb/giognutls.c b/gweb/giognutls.c
-index 09dc9e7..c029a8b 100644
---- a/gweb/giognutls.c
-+++ b/gweb/giognutls.c
-@@ -421,7 +421,7 @@ GIOChannel *g_io_channel_gnutls_new(int fd)
-
- DBG("");
-
-- gnutls_channel = g_new(GIOGnuTLSChannel, 1);
-+ gnutls_channel = g_new0(GIOGnuTLSChannel, 1);
-
- channel = (GIOChannel *) gnutls_channel;
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-inet-Add-prefixlen-to-iproute_default_function.patch b/poky/meta/recipes-connectivity/connman/connman/0001-inet-Add-prefixlen-to-iproute_default_function.patch
deleted file mode 100644
index dd7b35674..000000000
--- a/poky/meta/recipes-connectivity/connman/connman/0001-inet-Add-prefixlen-to-iproute_default_function.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 508dc60a1f0758ebc586b6b086478a176d493086 Mon Sep 17 00:00:00 2001
-From: Jian Liang <jianliang@tycoint.com>
-Date: Thu, 5 Oct 2017 09:34:41 +0100
-Subject: [PATCH 1/4] inet: Add prefixlen to iproute_default_function
-To: connman@lists.01.org
-Cc: wagi@monom.org
-
-Add prefixlen parameter to this function in preparation for using
-it also in creating subnet route later, e.g.
-
-default via 192.168.100.1 dev eth0
-192.168.100.0/24 dev eth0
-
-Signed-off-by: Jian Liang <jianliang@tycoint.com>
-
----
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=edda5b695de2ee79f02314abc9b46fdd46b388e1]
-Signed-off-by: André Draszik <andre.draszik@jci.com>
- src/inet.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/inet.c b/src/inet.c
-index b887aa0..ab8aec8 100644
---- a/src/inet.c
-+++ b/src/inet.c
-@@ -2796,7 +2796,7 @@ int __connman_inet_del_fwmark_rule(uint32_t table_id, int family, uint32_t fwmar
- }
-
- static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex,
-- const char *gateway)
-+ const char *gateway, unsigned char prefixlen)
- {
- struct __connman_inet_rtnl_handle rth;
- unsigned char buf[sizeof(struct in6_addr)];
-@@ -2829,6 +2829,7 @@ static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex,
- rth.req.u.r.rt.rtm_protocol = RTPROT_BOOT;
- rth.req.u.r.rt.rtm_scope = RT_SCOPE_UNIVERSE;
- rth.req.u.r.rt.rtm_type = RTN_UNICAST;
-+ rth.req.u.r.rt.rtm_dst_len = prefixlen;
-
- __connman_inet_rtnl_addattr_l(&rth.req.n, sizeof(rth.req), RTA_GATEWAY,
- buf, len);
-@@ -2860,7 +2861,7 @@ int __connman_inet_add_default_to_table(uint32_t table_id, int ifindex,
- {
- /* ip route add default via 1.2.3.4 dev wlan0 table 1234 */
-
-- return iproute_default_modify(RTM_NEWROUTE, table_id, ifindex, gateway);
-+ return iproute_default_modify(RTM_NEWROUTE, table_id, ifindex, gateway, 0);
- }
-
- int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex,
-@@ -2868,7 +2869,7 @@ int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex,
- {
- /* ip route del default via 1.2.3.4 dev wlan0 table 1234 */
-
-- return iproute_default_modify(RTM_DELROUTE, table_id, ifindex, gateway);
-+ return iproute_default_modify(RTM_DELROUTE, table_id, ifindex, gateway, 0);
- }
-
- int __connman_inet_get_interface_ll_address(int index, int family,
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch b/poky/meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch
deleted file mode 100644
index f1b4d0aaa..000000000
--- a/poky/meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From b5fd5945886fa1845db5c969424b63d894fe0376 Mon Sep 17 00:00:00 2001
-From: Jian Liang <jianliang@tycoint.com>
-Date: Fri, 25 Aug 2017 10:02:16 -0400
-Subject: [PATCH 1/2] session: Keep track of addr in fw_snat & session
-To: connman@lists.01.org
-Cc: wagi@monom.org
-
-When there is more than one session in fw_snat's list of sessions,
-fw_snat failed to be re-created when update-session-state is triggered
-with new IP address. This is because index alone is not sufficient to
-decide if fw_snat needs to be re-created. The solution here is to keep
-a track of IP addr and use it to avoid false lookup of fw_snat.
-
-Signed-off-by: Jian Liang <jianliang@tycoint.com>
-
----
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=f9e27d4abfcab5c80a38e0850b5ddb26277f97c1]
-Signed-off-by: André Draszik <andre.draszik@jci.com>
- src/session.c | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
-
-diff --git a/src/session.c b/src/session.c
-index 9e3c559..965ac06 100644
---- a/src/session.c
-+++ b/src/session.c
-@@ -65,6 +65,7 @@ struct connman_session {
- struct firewall_context *fw;
- uint32_t mark;
- int index;
-+ char *addr;
- char *gateway;
- bool policy_routing;
- bool snat_enabled;
-@@ -79,6 +80,7 @@ struct fw_snat {
- GSList *sessions;
- int id;
- int index;
-+ char *addr;
- struct firewall_context *fw;
- };
-
-@@ -200,7 +202,7 @@ static char *service2bearer(enum connman_service_type type)
- return "";
- }
-
--static struct fw_snat *fw_snat_lookup(int index)
-+static struct fw_snat *fw_snat_lookup(int index, const char *addr)
- {
- struct fw_snat *fw_snat;
- GSList *list;
-@@ -208,8 +210,11 @@ static struct fw_snat *fw_snat_lookup(int index)
- for (list = fw_snat_list; list; list = list->next) {
- fw_snat = list->data;
-
-- if (fw_snat->index == index)
-+ if (fw_snat->index == index) {
-+ if (g_strcmp0(addr, fw_snat->addr) != 0)
-+ continue;
- return fw_snat;
-+ }
- }
- return NULL;
- }
-@@ -224,6 +229,7 @@ static int fw_snat_create(struct connman_session *session,
-
- fw_snat->fw = __connman_firewall_create();
- fw_snat->index = index;
-+ fw_snat->addr = g_strdup(addr);
-
- fw_snat->id = __connman_firewall_enable_snat(fw_snat->fw,
- index, ifname, addr);
-@@ -238,6 +244,7 @@ static int fw_snat_create(struct connman_session *session,
- return 0;
- err:
- __connman_firewall_destroy(fw_snat->fw);
-+ g_free(fw_snat->addr);
- g_free(fw_snat);
- return err;
- }
-@@ -393,7 +400,7 @@ static void del_nat_rules(struct connman_session *session)
- return;
-
- session->snat_enabled = false;
-- fw_snat = fw_snat_lookup(session->index);
-+ fw_snat = fw_snat_lookup(session->index, session->addr);
-
- if (!fw_snat)
- return;
-@@ -420,8 +427,11 @@ static void add_nat_rules(struct connman_session *session)
- if (!addr)
- return;
-
-+ g_free(session->addr);
-+ session->addr = g_strdup(addr);
-+
- session->snat_enabled = true;
-- fw_snat = fw_snat_lookup(index);
-+ fw_snat = fw_snat_lookup(index, session->addr);
- if (fw_snat) {
- fw_snat_ref(session, fw_snat);
- return;
-@@ -502,6 +512,7 @@ static void free_session(struct connman_session *session)
- g_free(session->info);
- g_free(session->info_last);
- g_free(session->gateway);
-+ g_free(session->addr);
-
- g_free(session);
- }
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch b/poky/meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch
deleted file mode 100644
index 9c953e5d5..000000000
--- a/poky/meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 08cda4004491d3971a8b9df937426c43800d15b1 Mon Sep 17 00:00:00 2001
-From: Jian Liang <jianliang@tycoint.com>
-Date: Thu, 5 Oct 2017 09:37:06 +0100
-Subject: [PATCH 2/4] inet: Implement subnet route creation/deletion in
- iproute_default_modify
-To: connman@lists.01.org
-Cc: wagi@monom.org
-
-- Calculate subnet address base on gateway address and prefixlen
-- Differentiate creation of routes to gateway and subnet
-
-Signed-off-by: Jian Liang <jianliang@tycoint.com>
-
----
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=ff7dcf91f12a2a237feebc6e606d0a8e92975528]
-Signed-off-by: André Draszik <andre.draszik@jci.com>
- src/inet.c | 22 +++++++++++++++++++---
- 1 file changed, 19 insertions(+), 3 deletions(-)
-
-diff --git a/src/inet.c b/src/inet.c
-index ab8aec8..0ddb030 100644
---- a/src/inet.c
-+++ b/src/inet.c
-@@ -2802,6 +2802,9 @@ static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex,
- unsigned char buf[sizeof(struct in6_addr)];
- int ret, len;
- int family = connman_inet_check_ipaddress(gateway);
-+ char *dst = NULL;
-+
-+ DBG("gateway %s/%u table %u", gateway, prefixlen, table_id);
-
- switch (family) {
- case AF_INET:
-@@ -2814,7 +2817,19 @@ static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex,
- return -EINVAL;
- }
-
-- ret = inet_pton(family, gateway, buf);
-+ if (prefixlen) {
-+ struct in_addr ipv4_subnet_addr, ipv4_mask;
-+
-+ memset(&ipv4_subnet_addr, 0, sizeof(ipv4_subnet_addr));
-+ ipv4_mask.s_addr = htonl((0xffffffff << (32 - prefixlen)) & 0xffffffff);
-+ ipv4_subnet_addr.s_addr = inet_addr(gateway);
-+ ipv4_subnet_addr.s_addr &= ipv4_mask.s_addr;
-+
-+ dst = g_strdup(inet_ntoa(ipv4_subnet_addr));
-+ }
-+
-+ ret = inet_pton(family, dst ? dst : gateway, buf);
-+ g_free(dst);
- if (ret <= 0)
- return -EINVAL;
-
-@@ -2831,8 +2846,9 @@ static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex,
- rth.req.u.r.rt.rtm_type = RTN_UNICAST;
- rth.req.u.r.rt.rtm_dst_len = prefixlen;
-
-- __connman_inet_rtnl_addattr_l(&rth.req.n, sizeof(rth.req), RTA_GATEWAY,
-- buf, len);
-+ __connman_inet_rtnl_addattr_l(&rth.req.n, sizeof(rth.req),
-+ prefixlen > 0 ? RTA_DST : RTA_GATEWAY, buf, len);
-+
- if (table_id < 256) {
- rth.req.u.r.rt.rtm_table = table_id;
- } else {
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch b/poky/meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch
deleted file mode 100644
index 56ba5c3f4..000000000
--- a/poky/meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From a9243f13d6e1aadd69bfcc27f75f69c38be51677 Mon Sep 17 00:00:00 2001
-From: Jian Liang <jianliang@tycoint.com>
-Date: Wed, 4 Oct 2017 17:30:17 +0100
-Subject: [PATCH 3/4] inet: Implement APIs for creating and deleting subnet
- route
-To: connman@lists.01.org
-Cc: wagi@monom.org
-
-Signed-off-by: Jian Liang <jianliang@tycoint.com>
-
----
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=3a15b0b7fccd053aff91da2cc68585509d0c509b]
-Signed-off-by: André Draszik <andre.draszik@jci.com>
- src/connman.h | 4 ++++
- src/inet.c | 14 ++++++++++++++
- 2 files changed, 18 insertions(+)
-
-diff --git a/src/connman.h b/src/connman.h
-index 21b7080..da4446a 100644
---- a/src/connman.h
-+++ b/src/connman.h
-@@ -240,7 +240,11 @@ int __connman_inet_rtnl_addattr32(struct nlmsghdr *n, size_t maxlen,
- int __connman_inet_add_fwmark_rule(uint32_t table_id, int family, uint32_t fwmark);
- int __connman_inet_del_fwmark_rule(uint32_t table_id, int family, uint32_t fwmark);
- int __connman_inet_add_default_to_table(uint32_t table_id, int ifindex, const char *gateway);
-+int __connman_inet_add_subnet_to_table(uint32_t table_id, int ifindex,
-+ const char *gateway, unsigned char prefixlen);
- int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex, const char *gateway);
-+int __connman_inet_del_subnet_from_table(uint32_t table_id, int ifindex,
-+ const char *gateway, unsigned char prefixlen);
- int __connman_inet_get_address_netmask(int ifindex,
- struct sockaddr_in *address, struct sockaddr_in *netmask);
-
-diff --git a/src/inet.c b/src/inet.c
-index 0ddb030..dcd1ab2 100644
---- a/src/inet.c
-+++ b/src/inet.c
-@@ -2880,6 +2880,13 @@ int __connman_inet_add_default_to_table(uint32_t table_id, int ifindex,
- return iproute_default_modify(RTM_NEWROUTE, table_id, ifindex, gateway, 0);
- }
-
-+int __connman_inet_add_subnet_to_table(uint32_t table_id, int ifindex,
-+ const char *gateway, unsigned char prefixlen)
-+{
-+ /* ip route add 1.2.3.4/24 dev eth0 table 1234 */
-+ return iproute_default_modify(RTM_NEWROUTE, table_id, ifindex, gateway, prefixlen);
-+}
-+
- int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex,
- const char *gateway)
- {
-@@ -2888,6 +2895,13 @@ int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex,
- return iproute_default_modify(RTM_DELROUTE, table_id, ifindex, gateway, 0);
- }
-
-+int __connman_inet_del_subnet_from_table(uint32_t table_id, int ifindex,
-+ const char *gateway, unsigned char prefixlen)
-+{
-+ /* ip route del 1.2.3.4/24 dev eth0 table 1234 */
-+ return iproute_default_modify(RTM_DELROUTE, table_id, ifindex, gateway, prefixlen);
-+}
-+
- int __connman_inet_get_interface_ll_address(int index, int family,
- void *address)
- {
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch b/poky/meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch
deleted file mode 100644
index ca213eb18..000000000
--- a/poky/meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From deb9372db8396da4f7cd20555ce7c9a8b3ad96bd Mon Sep 17 00:00:00 2001
-From: Jian Liang <jianliang@tycoint.com>
-Date: Fri, 6 Oct 2017 11:40:16 +0100
-Subject: [PATCH 4/4] session: Use subnet route creation and deletion APIs
-To: connman@lists.01.org
-Cc: wagi@monom.org
-
-As subnet route is address and session specific in this case, so add
-prefixlen into struct connman_session, and update it along with ipconfig.
-Then use it in subnet route related APIs.
-
-Signed-off-by: Jian Liang <jianliang@tycoint.com>
-
----
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=285f25ef6cc9e4a43dab83523f3e2eab4365ac26]
-Signed-off-by: André Draszik <andre.draszik@jci.com>
- src/session.c | 20 ++++++++++++++++----
- 1 file changed, 16 insertions(+), 4 deletions(-)
-
-diff --git a/src/session.c b/src/session.c
-index 965ac06..7b7a14b 100644
---- a/src/session.c
-+++ b/src/session.c
-@@ -67,6 +67,7 @@ struct connman_session {
- int index;
- char *addr;
- char *gateway;
-+ unsigned char prefixlen;
- bool policy_routing;
- bool snat_enabled;
- };
-@@ -357,13 +358,17 @@ static void del_default_route(struct connman_session *session)
- if (!session->gateway)
- return;
-
-- DBG("index %d routing table %d default gateway %s",
-- session->index, session->mark, session->gateway);
-+ DBG("index %d routing table %d default gateway %s/%u",
-+ session->index, session->mark, session->gateway, session->prefixlen);
-+
-+ __connman_inet_del_subnet_from_table(session->mark,
-+ session->index, session->gateway, session->prefixlen);
-
- __connman_inet_del_default_from_table(session->mark,
- session->index, session->gateway);
- g_free(session->gateway);
- session->gateway = NULL;
-+ session->prefixlen = 0;
- session->index = -1;
- }
-
-@@ -383,13 +388,20 @@ static void add_default_route(struct connman_session *session)
- if (!session->gateway)
- session->gateway = g_strdup(inet_ntoa(addr));
-
-- DBG("index %d routing table %d default gateway %s",
-- session->index, session->mark, session->gateway);
-+ session->prefixlen = __connman_ipconfig_get_prefixlen(ipconfig);
-+
-+ DBG("index %d routing table %d default gateway %s/%u",
-+ session->index, session->mark, session->gateway, session->prefixlen);
-
- err = __connman_inet_add_default_to_table(session->mark,
- session->index, session->gateway);
- if (err < 0)
- DBG("session %p %s", session, strerror(-err));
-+
-+ err = __connman_inet_add_subnet_to_table(session->mark,
-+ session->index, session->gateway, session->prefixlen);
-+ if (err < 0)
-+ DBG("session add subnet route %p %s", session, strerror(-err));
- }
-
- static void del_nat_rules(struct connman_session *session)
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/includes.patch b/poky/meta/recipes-connectivity/connman/connman/includes.patch
deleted file mode 100644
index 9f7395cbb..000000000
--- a/poky/meta/recipes-connectivity/connman/connman/includes.patch
+++ /dev/null
@@ -1,417 +0,0 @@
-Fix various issues which cause problems under musl.
-
-Upstream-Status: Backport [bd1326ba7d68df38c5ccaafd2403a5fb30bd452b]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 630516bcc0233b047f65665c003201ba6e77453d Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 9 Aug 2016 16:22:36 +0100
-Subject: [PATCH 1/3] Use AC_USE_SYSTEM_EXTENSIONS
-
-Instead of using #define _GNU_SOURCE in some source files which causes problems
-when building with musl as more files need the define, simply use
-AC_USE_SYSTEM_EXTENSIONS in configure.ac to get it defined globally.
----
- configure.ac | 1 +
- gdhcp/client.c | 1 -
- plugins/tist.c | 1 -
- src/backtrace.c | 1 -
- src/inet.c | 1 -
- src/log.c | 1 -
- src/ntp.c | 1 -
- src/resolver.c | 1 -
- src/rfkill.c | 1 -
- src/stats.c | 1 -
- src/timezone.c | 1 -
- tools/stats-tool.c | 1 -
- tools/tap-test.c | 1 -
- tools/wispr.c | 1 -
- vpn/plugins/vpn.c | 1 -
- 15 files changed, 1 insertion(+), 14 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6e66ab3..bacf5ec 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -20,6 +20,7 @@ AC_SUBST(abs_top_srcdir)
- AC_SUBST(abs_top_builddir)
-
- AC_LANG_C
-+AC_USE_SYSTEM_EXTENSIONS
-
- AC_PROG_CC
- AM_PROG_CC_C_O
-diff --git a/gdhcp/client.c b/gdhcp/client.c
-index fbb40ab..3aeb089 100644
---- a/gdhcp/client.c
-+++ b/gdhcp/client.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <unistd.h>
-diff --git a/plugins/tist.c b/plugins/tist.c
-index ad5ef79..cc2800a 100644
---- a/plugins/tist.c
-+++ b/plugins/tist.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdbool.h>
- #include <stdlib.h>
-diff --git a/src/backtrace.c b/src/backtrace.c
-index 6a66c0a..4dbdda8 100644
---- a/src/backtrace.c
-+++ b/src/backtrace.c
-@@ -24,7 +24,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
-diff --git a/src/inet.c b/src/inet.c
-index 69ded19..81d92c2 100644
---- a/src/inet.c
-+++ b/src/inet.c
-@@ -25,7 +25,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <unistd.h>
-diff --git a/src/log.c b/src/log.c
-index 9bae4a3..f7e82e5 100644
---- a/src/log.c
-+++ b/src/log.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <unistd.h>
- #include <stdarg.h>
-diff --git a/src/ntp.c b/src/ntp.c
-index dd246eb..db8ae96 100644
---- a/src/ntp.c
-+++ b/src/ntp.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
-diff --git a/src/resolver.c b/src/resolver.c
-index fbe4be7..ef61f92 100644
---- a/src/resolver.c
-+++ b/src/resolver.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/src/rfkill.c b/src/rfkill.c
-index 2bfb092..af49d12 100644
---- a/src/rfkill.c
-+++ b/src/rfkill.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/src/stats.c b/src/stats.c
-index 26343b1..cfcdc94 100644
---- a/src/stats.c
-+++ b/src/stats.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <errno.h>
- #include <sys/mman.h>
- #include <sys/types.h>
-diff --git a/src/timezone.c b/src/timezone.c
-index e346b11..8e91267 100644
---- a/src/timezone.c
-+++ b/src/timezone.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <errno.h>
- #include <stdio.h>
- #include <fcntl.h>
-diff --git a/tools/stats-tool.c b/tools/stats-tool.c
-index b076478..428d94b 100644
---- a/tools/stats-tool.c
-+++ b/tools/stats-tool.c
-@@ -22,7 +22,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <sys/mman.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-diff --git a/tools/tap-test.c b/tools/tap-test.c
-index fdc098a..57917f5 100644
---- a/tools/tap-test.c
-+++ b/tools/tap-test.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/tools/wispr.c b/tools/wispr.c
-index d5f9341..e56dfc1 100644
---- a/tools/wispr.c
-+++ b/tools/wispr.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <fcntl.h>
- #include <unistd.h>
-diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c
-index 9a42385..479c3a7 100644
---- a/vpn/plugins/vpn.c
-+++ b/vpn/plugins/vpn.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <string.h>
- #include <fcntl.h>
- #include <unistd.h>
---
-2.8.1
-
-
-From b8b7878e6cb2a1ed4fcfa256f7e232511a40e3d9 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 9 Aug 2016 15:37:50 +0100
-Subject: [PATCH 2/3] Check for in6_pktinfo.ipi6_addr explicitly
-
-Instead of assuming that just glibc has this structure, check for it at
-configure as musl also has it.
-
-Based on work by Khem Raj <raj.khem@gmail.com>.
----
- configure.ac | 2 ++
- gdhcp/common.h | 5 +++--
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index bacf5ec..ad00456 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -186,6 +186,8 @@ AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [
- AC_CHECK_HEADERS([execinfo.h])
- AM_CONDITIONAL([BACKTRACE], [test "${ac_cv_header_execinfo_h}" = "yes"])
-
-+AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include <netinet/in.h>]])
-+
- AC_CHECK_FUNC(signalfd, dummy=yes,
- AC_MSG_ERROR(signalfd support is required))
-
-diff --git a/gdhcp/common.h b/gdhcp/common.h
-index 75abc18..6899499 100644
---- a/gdhcp/common.h
-+++ b/gdhcp/common.h
-@@ -19,6 +19,7 @@
- *
- */
-
-+#include <config.h>
- #include <netinet/udp.h>
- #include <netinet/ip.h>
-
-@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths[] = {
- [OPTION_U32] = 4,
- };
-
--/* already defined within netinet/in.h if using GNU compiler */
--#ifndef __USE_GNU
-+/* already defined within netinet/in.h if using glibc or musl */
-+#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_ADDR
- struct in6_pktinfo {
- struct in6_addr ipi6_addr; /* src/dst IPv6 address */
- unsigned int ipi6_ifindex; /* send/recv interface index */
---
-2.8.1
-
-
-From c0726e432fa0274a2b9c70179b03df6720972816 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 9 Aug 2016 15:19:23 +0100
-Subject: [PATCH 3/3] Rationalise includes
-
-gweb/gresolv.c uses snprintf() and isspace() so it should include stdio.h and
-ctype.h.
-
-tools/dnsproxy-test uses functions from stdio.h.
-
-musl warns when sys/ headers are included when the non-sys form should be used,
-so switch sys/errno.h and so on to errno.h.
-
-musl also causes redefinition errors when pieces of the networking headers are
-included, so remove the redundant includes.
-
-Based on work by Khem Raj <raj.khem@gmail.com>.
----
- gweb/gresolv.c | 2 ++
- plugins/wifi.c | 3 +--
- src/ippool.c | 1 -
- src/iptables.c | 2 +-
- src/tethering.c | 2 --
- tools/dhcp-test.c | 1 -
- tools/dnsproxy-test.c | 1 +
- tools/private-network-test.c | 2 +-
- tools/tap-test.c | 2 +-
- 9 files changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/gweb/gresolv.c b/gweb/gresolv.c
-index 8a51a9f..d55027c 100644
---- a/gweb/gresolv.c
-+++ b/gweb/gresolv.c
-@@ -29,6 +29,7 @@
- #include <string.h>
- #include <stdlib.h>
- #include <resolv.h>
-+#include <stdio.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netdb.h>
-diff --git a/plugins/wifi.c b/plugins/wifi.c
-index 9d56671..148131d 100644
---- a/plugins/wifi.c
-+++ b/plugins/wifi.c
-@@ -30,9 +30,8 @@
- #include <string.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
--#include <linux/if_arp.h>
--#include <linux/wireless.h>
- #include <net/ethernet.h>
-+#include <linux/wireless.h>
-
- #ifndef IFF_LOWER_UP
- #define IFF_LOWER_UP 0x10000
-diff --git a/src/ippool.c b/src/ippool.c
-index cea1dcc..8a645da 100644
---- a/src/ippool.c
-+++ b/src/ippool.c
-@@ -28,7 +28,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
--#include <sys/errno.h>
- #include <sys/socket.h>
-
- #include "connman.h"
-diff --git a/src/iptables.c b/src/iptables.c
-index 5ef757a..82e3ac4 100644
---- a/src/iptables.c
-+++ b/src/iptables.c
-@@ -28,7 +28,7 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <sys/socket.h>
- #include <xtables.h>
- #include <inttypes.h>
-diff --git a/src/tethering.c b/src/tethering.c
-index 3153349..ad062d5 100644
---- a/src/tethering.c
-+++ b/src/tethering.c
-@@ -31,10 +31,8 @@
- #include <stdio.h>
- #include <sys/ioctl.h>
- #include <net/if.h>
--#include <linux/sockios.h>
- #include <string.h>
- #include <fcntl.h>
--#include <linux/if_tun.h>
- #include <netinet/in.h>
- #include <linux/if_bridge.h>
-
-diff --git a/tools/dhcp-test.c b/tools/dhcp-test.c
-index c34e10a..eae66fc 100644
---- a/tools/dhcp-test.c
-+++ b/tools/dhcp-test.c
-@@ -33,7 +33,6 @@
- #include <arpa/inet.h>
- #include <net/route.h>
- #include <net/ethernet.h>
--#include <linux/if_arp.h>
-
- #include <gdhcp/gdhcp.h>
-
-diff --git a/tools/dnsproxy-test.c b/tools/dnsproxy-test.c
-index 551cae9..371e2e2 100644
---- a/tools/dnsproxy-test.c
-+++ b/tools/dnsproxy-test.c
-@@ -24,6 +24,7 @@
- #endif
-
- #include <errno.h>
-+#include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
-diff --git a/tools/private-network-test.c b/tools/private-network-test.c
-index 3dd115b..2828bb3 100644
---- a/tools/private-network-test.c
-+++ b/tools/private-network-test.c
-@@ -32,7 +32,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <signal.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/signalfd.h>
- #include <unistd.h>
-
-diff --git a/tools/tap-test.c b/tools/tap-test.c
-index 57917f5..cb3ee62 100644
---- a/tools/tap-test.c
-+++ b/tools/tap-test.c
-@@ -28,7 +28,7 @@
- #include <fcntl.h>
- #include <unistd.h>
- #include <string.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/ioctl.h>
-
- #include <netinet/in.h>
---
-2.8.1
diff --git a/poky/meta/recipes-connectivity/connman/connman_1.35.bb b/poky/meta/recipes-connectivity/connman/connman_1.35.bb
deleted file mode 100644
index ff2118113..000000000
--- a/poky/meta/recipes-connectivity/connman/connman_1.35.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require connman.inc
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
- file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
- file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
- file://connman \
- file://no-version-scripts.patch \
- file://includes.patch \
- file://0001-session-Keep-track-of-addr-in-fw_snat-session.patch \
- file://0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch \
- file://0001-inet-Add-prefixlen-to-iproute_default_function.patch \
- file://0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch \
- file://0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch \
- file://0004-session-Use-subnet-route-creation-and-deletion-APIs.patch \
- "
-SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch \
- "
-
-SRC_URI[md5sum] = "bae37b45ee9b3db5ec8115188f8a7652"
-SRC_URI[sha256sum] = "66d7deb98371545c6e417239a9b3b3e3201c1529d08eedf40afbc859842cf2aa"
-
-RRECOMMENDS_${PN} = "connman-conf"
diff --git a/poky/meta/recipes-connectivity/connman/connman_1.36.bb b/poky/meta/recipes-connectivity/connman/connman_1.36.bb
new file mode 100644
index 000000000..6e4dbdfda
--- /dev/null
+++ b/poky/meta/recipes-connectivity/connman/connman_1.36.bb
@@ -0,0 +1,16 @@
+require connman.inc
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
+ file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
+ file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
+ file://connman \
+ file://no-version-scripts.patch \
+ file://0001-Fix-various-issues-which-cause-problems-under-musl.patch \
+"
+
+SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
+
+SRC_URI[md5sum] = "dae77d9c904d2c223ae849e32079d57e"
+SRC_URI[sha256sum] = "c789db41cc443fa41e661217ea321492ad59a004bebcd1aa013f3bc10a6e0074"
+
+RRECOMMENDS_${PN} = "connman-conf"
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch
new file mode 100644
index 000000000..d2e57714c
--- /dev/null
+++ b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch
@@ -0,0 +1,2882 @@
+From ffb1d1325bd6503df9a324befac5f5039ac77432 Mon Sep 17 00:00:00 2001
+From: Armin Kuster <akuster@mvista.com>
+Date: Tue, 23 Oct 2018 10:36:56 +0000
+Subject: [PATCH] dhcpd: fix Replace custom isc_boolean_t with C standard bool
+ type
+
+
+Upstream-Status: Pending
+
+Fixes issues introduced by bind when they changed their headers.
+
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+---
+ includes/dhcpd.h | 34 +++++++++++++++++-----------------
+ includes/heap.h | 2 +-
+ includes/omapip/omapip.h | 2 +-
+ includes/omapip/omapip_p.h | 6 +++---
+ includes/tree.h | 2 +-
+ 5 files changed, 23 insertions(+), 23 deletions(-)
+
+Index: dhcp-4.4.1/includes/dhcpd.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/dhcpd.h
++++ dhcp-4.4.1/includes/dhcpd.h
+@@ -461,20 +461,20 @@ struct packet {
+ * options we got in a previous exchange were still there, we need
+ * to signal this in a reliable way.
+ */
+- isc_boolean_t agent_options_stashed;
++ bool agent_options_stashed;
+
+ /*
+ * ISC_TRUE if packet received unicast (as opposed to multicast).
+ * Only used in DHCPv6.
+ */
+- isc_boolean_t unicast;
++ bool unicast;
+
+ /* Propagates server value SV_ECHO_CLIENT_ID so it is available
+ * in cons_options() */
+ int sv_echo_client_id;
+
+ /* Relay port check */
+- isc_boolean_t relay_source_port;
++ bool relay_source_port;
+ };
+
+ /*
+@@ -1174,7 +1174,7 @@ struct dhc6_lease {
+ struct dhc6_lease *next;
+ struct data_string server_id;
+
+- isc_boolean_t released;
++ bool released;
+ int score;
+ u_int8_t pref;
+
+@@ -1695,8 +1695,8 @@ struct ipv6_pool {
+ int bits; /* number of bits, CIDR style */
+ int units; /* allocation unit in bits */
+ iasubopt_hash_t *leases; /* non-free leases */
+- isc_uint64_t num_active; /* count of active leases */
+- isc_uint64_t num_abandoned; /* count of abandoned leases */
++ uint64_t num_active; /* count of active leases */
++ uint64_t num_abandoned; /* count of abandoned leases */
+ isc_heap_t *active_timeouts; /* timeouts for active leases */
+ int num_inactive; /* count of inactive leases */
+ isc_heap_t *inactive_timeouts; /* timeouts for expired or
+@@ -1732,11 +1732,11 @@ struct ipv6_pond {
+ struct ipv6_pool **ipv6_pools; /* NULL-terminated array */
+ int last_ipv6_pool; /* offset of last IPv6 pool
+ used to issue a lease */
+- isc_uint64_t num_total; /* Total number of elements in the pond */
+- isc_uint64_t num_active; /* Number of elements in the pond in use */
+- isc_uint64_t num_abandoned; /* count of abandoned leases */
++ uint64_t num_total; /* Total number of elements in the pond */
++ uint64_t num_active; /* Number of elements in the pond in use */
++ uint64_t num_abandoned; /* count of abandoned leases */
+ int logged; /* already logged a message */
+- isc_uint64_t low_threshold; /* low threshold to restart logging */
++ uint64_t low_threshold; /* low threshold to restart logging */
+ int jumbo_range;
+ #ifdef EUI_64
+ int use_eui_64; /* use EUI-64 address assignment when true */
+@@ -1745,9 +1745,9 @@ struct ipv6_pond {
+
+ /*
+ * Max addresses in a pond that can be supported by log threshold
+- * Currently based on max value supported by isc_uint64_t.
++ * Currently based on max value supported by uint64_t.
+ */
+-#define POND_TRACK_MAX ISC_UINT64_MAX
++#define POND_TRACK_MAX UINT64_MAX
+
+ /* Flags for dhcp_ddns_cb_t */
+ #define DDNS_UPDATE_ADDR 0x0001
+@@ -1868,7 +1868,7 @@ lookup_fqdn6_option(struct universe *uni
+ unsigned code);
+ void
+ save_fqdn6_option(struct universe *universe, struct option_state *options,
+- struct option_cache *oc, isc_boolean_t appendp);
++ struct option_cache *oc, bool appendp);
+ void
+ delete_fqdn6_option(struct universe *universe, struct option_state *options,
+ int code);
+@@ -1953,7 +1953,7 @@ void save_option(struct universe *, stru
+ void also_save_option(struct universe *, struct option_state *,
+ struct option_cache *);
+ void save_hashed_option(struct universe *, struct option_state *,
+- struct option_cache *, isc_boolean_t appendp);
++ struct option_cache *, bool appendp);
+ void delete_option (struct universe *, struct option_state *, int);
+ void delete_hashed_option (struct universe *,
+ struct option_state *, int);
+@@ -2041,7 +2041,7 @@ int linked_option_state_dereference (str
+ struct option_state *,
+ const char *, int);
+ void save_linked_option(struct universe *, struct option_state *,
+- struct option_cache *, isc_boolean_t appendp);
++ struct option_cache *, bool appendp);
+ void linked_option_space_foreach (struct packet *, struct lease *,
+ struct client_state *,
+ struct option_state *,
+@@ -2069,7 +2069,7 @@ void do_packet (struct interface_info *,
+ struct dhcp_packet *, unsigned,
+ unsigned int, struct iaddr, struct hardware *);
+ void do_packet6(struct interface_info *, const char *,
+- int, int, const struct iaddr *, isc_boolean_t);
++ int, int, const struct iaddr *, bool);
+ int packet6_len_okay(const char *, int);
+
+ int validate_packet(struct packet *);
+@@ -2224,7 +2224,7 @@ uint32_t parse_byte_order_uint32(const v
+ int ddns_updates(struct packet *, struct lease *, struct lease *,
+ struct iasubopt *, struct iasubopt *, struct option_state *);
+ isc_result_t ddns_removals(struct lease *, struct iasubopt *,
+- struct dhcp_ddns_cb *, isc_boolean_t);
++ struct dhcp_ddns_cb *, bool);
+ u_int16_t get_conflict_mask(struct option_state *input_options);
+ #if defined (TRACING)
+ void trace_ddns_init(void);
+@@ -2450,7 +2450,7 @@ void dhcpleasequery (struct packet *, in
+ void dhcpv6_leasequery (struct data_string *, struct packet *);
+
+ /* dhcpv6.c */
+-isc_boolean_t server_duid_isset(void);
++bool server_duid_isset(void);
+ void copy_server_duid(struct data_string *ds, const char *file, int line);
+ void set_server_duid(struct data_string *new_duid);
+ isc_result_t set_server_duid_from_option(void);
+@@ -2852,7 +2852,7 @@ extern void (*bootp_packet_handler) (str
+ struct iaddr, struct hardware *);
+ extern void (*dhcpv6_packet_handler)(struct interface_info *,
+ const char *, int,
+- int, const struct iaddr *, isc_boolean_t);
++ int, const struct iaddr *, bool);
+ extern struct timeout *timeouts;
+ extern omapi_object_type_t *dhcp_type_interface;
+ #if defined (TRACING)
+@@ -2943,7 +2943,7 @@ int addr_or(struct iaddr *result,
+ const struct iaddr *a1, const struct iaddr *a2);
+ int addr_and(struct iaddr *result,
+ const struct iaddr *a1, const struct iaddr *a2);
+-isc_boolean_t is_cidr_mask_valid(const struct iaddr *addr, int bits);
++bool is_cidr_mask_valid(const struct iaddr *addr, int bits);
+ isc_result_t range2cidr(struct iaddrcidrnetlist **result,
+ const struct iaddr *lo, const struct iaddr *hi);
+ isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result);
+@@ -3787,7 +3787,7 @@ isc_result_t ia_add_iasubopt(struct ia_x
+ const char *file, int line);
+ void ia_remove_iasubopt(struct ia_xx *ia, struct iasubopt *iasubopt,
+ const char *file, int line);
+-isc_boolean_t ia_equal(const struct ia_xx *a, const struct ia_xx *b);
++bool ia_equal(const struct ia_xx *a, const struct ia_xx *b);
+
+ isc_result_t ipv6_pool_allocate(struct ipv6_pool **pool, u_int16_t type,
+ const struct in6_addr *start_addr,
+@@ -3820,9 +3820,9 @@ isc_result_t expire_lease6(struct iasubo
+ struct ipv6_pool *pool, time_t now);
+ isc_result_t release_lease6(struct ipv6_pool *pool, struct iasubopt *lease);
+ isc_result_t decline_lease6(struct ipv6_pool *pool, struct iasubopt *lease);
+-isc_boolean_t lease6_exists(const struct ipv6_pool *pool,
++bool lease6_exists(const struct ipv6_pool *pool,
+ const struct in6_addr *addr);
+-isc_boolean_t lease6_usable(struct iasubopt *lease);
++bool lease6_usable(struct iasubopt *lease);
+ isc_result_t cleanup_lease6(ia_hash_t *ia_table,
+ struct ipv6_pool *pool,
+ struct iasubopt *lease,
+@@ -3834,13 +3834,13 @@ isc_result_t create_prefix6(struct ipv6_
+ unsigned int *attempts,
+ const struct data_string *uid,
+ time_t soft_lifetime_end_time);
+-isc_boolean_t prefix6_exists(const struct ipv6_pool *pool,
++bool prefix6_exists(const struct ipv6_pool *pool,
+ const struct in6_addr *pref, u_int8_t plen);
+
+ isc_result_t add_ipv6_pool(struct ipv6_pool *pool);
+ isc_result_t find_ipv6_pool(struct ipv6_pool **pool, u_int16_t type,
+ const struct in6_addr *addr);
+-isc_boolean_t ipv6_in_pool(const struct in6_addr *addr,
++bool ipv6_in_pool(const struct in6_addr *addr,
+ const struct ipv6_pool *pool);
+ isc_result_t ipv6_pond_allocate(struct ipv6_pond **pond,
+ const char *file, int line);
+Index: dhcp-4.4.1/includes/heap.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/heap.h
++++ dhcp-4.4.1/includes/heap.h
+@@ -26,7 +26,7 @@
+ * The comparision function returns ISC_TRUE if the first argument has
+ * higher priority than the second argument, and ISC_FALSE otherwise.
+ */
+-typedef isc_boolean_t (*isc_heapcompare_t)(void *, void *);
++typedef bool (*isc_heapcompare_t)(void *, void *);
+
+ /*%
+ * The index function allows the client of the heap to receive a callback
+Index: dhcp-4.4.1/includes/omapip/omapip.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/omapip/omapip.h
++++ dhcp-4.4.1/includes/omapip/omapip.h
+@@ -264,7 +264,7 @@ isc_result_t omapi_protocol_connect (oma
+ isc_result_t omapi_connect_list (omapi_object_t *, omapi_addr_list_t *,
+ omapi_addr_t *);
+ isc_result_t omapi_protocol_listen (omapi_object_t *, unsigned, int);
+-isc_boolean_t omapi_protocol_authenticated (omapi_object_t *);
++bool omapi_protocol_authenticated (omapi_object_t *);
+ isc_result_t omapi_protocol_configure_security (omapi_object_t *,
+ isc_result_t (*)
+ (omapi_object_t *,
+Index: dhcp-4.4.1/includes/omapip/omapip_p.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/omapip/omapip_p.h
++++ dhcp-4.4.1/includes/omapip/omapip_p.h
+@@ -149,7 +149,7 @@ typedef struct __omapi_protocol_object {
+ omapi_remote_auth_t *remote_auth_list; /* Authenticators active on
+ this connection. */
+
+- isc_boolean_t insecure; /* Set to allow unauthenticated
++ bool insecure; /* Set to allow unauthenticated
+ messages. */
+
+ isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *);
+@@ -158,7 +158,7 @@ typedef struct __omapi_protocol_object {
+ typedef struct {
+ OMAPI_OBJECT_PREAMBLE;
+
+- isc_boolean_t insecure; /* Set to allow unauthenticated
++ bool insecure; /* Set to allow unauthenticated
+ messages. */
+
+ isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *);
+@@ -208,7 +208,7 @@ typedef struct __omapi_io_object {
+ isc_result_t (*writer) (omapi_object_t *);
+ isc_result_t (*reaper) (omapi_object_t *);
+ isc_socket_t *fd;
+- isc_boolean_t closed; /* ISC_TRUE = closed, do not use */
++ bool closed; /* ISC_TRUE = closed, do not use */
+ } omapi_io_object_t;
+
+ typedef struct __omapi_generic_object {
+Index: dhcp-4.4.1/includes/tree.h
+===================================================================
+--- dhcp-4.4.1.orig/includes/tree.h
++++ dhcp-4.4.1/includes/tree.h
+@@ -304,7 +304,7 @@ struct universe {
+ struct option_state *,
+ unsigned);
+ void (*save_func) (struct universe *, struct option_state *,
+- struct option_cache *, isc_boolean_t);
++ struct option_cache *, bool );
+ void (*foreach) (struct packet *,
+ struct lease *, struct client_state *,
+ struct option_state *, struct option_state *,
+Index: dhcp-4.4.1/common/conflex.c
+===================================================================
+--- dhcp-4.4.1.orig/common/conflex.c
++++ dhcp-4.4.1/common/conflex.c
+@@ -322,7 +322,7 @@ get_raw_token(struct parse *cfile) {
+
+ static enum dhcp_token
+ get_next_token(const char **rval, unsigned *rlen,
+- struct parse *cfile, isc_boolean_t raw) {
++ struct parse *cfile, bool raw) {
+ int rv;
+
+ if (cfile -> token) {
+@@ -367,7 +367,7 @@ get_next_token(const char **rval, unsign
+
+ enum dhcp_token
+ next_token(const char **rval, unsigned *rlen, struct parse *cfile) {
+- return get_next_token(rval, rlen, cfile, ISC_FALSE);
++ return get_next_token(rval, rlen, cfile, false);
+ }
+
+
+@@ -378,7 +378,7 @@ next_token(const char **rval, unsigned *
+
+ enum dhcp_token
+ next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
+- return get_next_token(rval, rlen, cfile, ISC_TRUE);
++ return get_next_token(rval, rlen, cfile, true);
+ }
+
+
+@@ -393,7 +393,7 @@ next_raw_token(const char **rval, unsign
+
+ enum dhcp_token
+ do_peek_token(const char **rval, unsigned int *rlen,
+- struct parse *cfile, isc_boolean_t raw) {
++ struct parse *cfile, bool raw) {
+ int x;
+
+ if (!cfile->token || (!raw && (cfile->token == WHITESPACE))) {
+@@ -441,7 +441,7 @@ do_peek_token(const char **rval, unsigne
+
+ enum dhcp_token
+ peek_token(const char **rval, unsigned *rlen, struct parse *cfile) {
+- return do_peek_token(rval, rlen, cfile, ISC_FALSE);
++ return do_peek_token(rval, rlen, cfile, false);
+ }
+
+
+@@ -452,7 +452,7 @@ peek_token(const char **rval, unsigned *
+
+ enum dhcp_token
+ peek_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
+- return do_peek_token(rval, rlen, cfile, ISC_TRUE);
++ return do_peek_token(rval, rlen, cfile, true);
+ }
+
+ static void skip_to_eol (cfile)
+Index: dhcp-4.4.1/common/discover.c
+===================================================================
+--- dhcp-4.4.1.orig/common/discover.c
++++ dhcp-4.4.1/common/discover.c
+@@ -73,7 +73,7 @@ void (*bootp_packet_handler) (struct int
+ void (*dhcpv6_packet_handler)(struct interface_info *,
+ const char *, int,
+ int, const struct iaddr *,
+- isc_boolean_t);
++ bool);
+ #endif /* DHCPv6 */
+
+
+@@ -236,7 +236,7 @@ struct iface_conf_list {
+ struct iface_info {
+ char name[IF_NAMESIZE+1]; /* name of the interface, e.g. "bge0" */
+ struct sockaddr_storage addr; /* address information */
+- isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
++ uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
+ };
+
+ /*
+@@ -312,14 +312,14 @@ int
+ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
+ struct LIFREQ *p;
+ struct LIFREQ tmp;
+- isc_boolean_t foundif;
++ bool foundif;
+ #if defined(sun) || defined(__linux)
+ /* Pointer used to remove interface aliases. */
+ char *s;
+ #endif
+
+ do {
+- foundif = ISC_FALSE;
++ foundif = false;
+
+ if (ifaces->next >= ifaces->num) {
+ *err = 0;
+@@ -353,8 +353,8 @@ next_iface(struct iface_info *info, int
+ }
+ #endif /* defined(sun) || defined(__linux) */
+
+- foundif = ISC_TRUE;
+- } while ((foundif == ISC_FALSE) ||
++ foundif = true;
++ } while ((foundif == false) ||
+ (strncmp(info->name, "dummy", 5) == 0));
+
+ memset(&tmp, 0, sizeof(tmp));
+@@ -410,7 +410,7 @@ struct iface_conf_list {
+ struct iface_info {
+ char name[IFNAMSIZ]; /* name of the interface, e.g. "bge0" */
+ struct sockaddr_storage addr; /* address information */
+- isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
++ uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
+ };
+
+ /*
+@@ -1190,9 +1190,9 @@ got_one_v6(omapi_object_t *h) {
+ * If a packet is not multicast, we assume it is unicast.
+ */
+ if (IN6_IS_ADDR_MULTICAST(&to)) {
+- is_unicast = ISC_FALSE;
++ is_unicast = false;
+ } else {
+- is_unicast = ISC_TRUE;
++ is_unicast = true;
+ }
+
+ ifrom.len = 16;
+Index: dhcp-4.4.1/omapip/iscprint.c
+===================================================================
+--- dhcp-4.4.1.orig/omapip/iscprint.c
++++ dhcp-4.4.1/omapip/iscprint.c
+@@ -59,8 +59,8 @@ isc_print_vsnprintf(char *str, size_t si
+ int plus;
+ int space;
+ int neg;
+- isc_int64_t tmpi;
+- isc_uint64_t tmpui;
++ int64_t tmpi;
++ uint64_t tmpui;
+ unsigned long width;
+ unsigned long precision;
+ unsigned int length;
+@@ -234,7 +234,7 @@ isc_print_vsnprintf(char *str, size_t si
+ goto printint;
+ case 'o':
+ if (q)
+- tmpui = va_arg(ap, isc_uint64_t);
++ tmpui = va_arg(ap, uint64_t);
+ else if (l)
+ tmpui = va_arg(ap, long int);
+ else
+@@ -244,7 +244,7 @@ isc_print_vsnprintf(char *str, size_t si
+ goto printint;
+ case 'u':
+ if (q)
+- tmpui = va_arg(ap, isc_uint64_t);
++ tmpui = va_arg(ap, uint64_t);
+ else if (l)
+ tmpui = va_arg(ap, unsigned long int);
+ else
+@@ -253,7 +253,7 @@ isc_print_vsnprintf(char *str, size_t si
+ goto printint;
+ case 'x':
+ if (q)
+- tmpui = va_arg(ap, isc_uint64_t);
++ tmpui = va_arg(ap, uint64_t);
+ else if (l)
+ tmpui = va_arg(ap, unsigned long int);
+ else
+@@ -267,7 +267,7 @@ isc_print_vsnprintf(char *str, size_t si
+ goto printint;
+ case 'X':
+ if (q)
+- tmpui = va_arg(ap, isc_uint64_t);
++ tmpui = va_arg(ap, uint64_t);
+ else if (l)
+ tmpui = va_arg(ap, unsigned long int);
+ else
+Index: dhcp-4.4.1/server/confpars.c
+===================================================================
+--- dhcp-4.4.1.orig/server/confpars.c
++++ dhcp-4.4.1/server/confpars.c
+@@ -4005,15 +4005,15 @@ add_ipv6_pool_to_subnet(struct subnet *s
+
+ /* Only bother if we aren't already flagged as jumbo */
+ if (pond->jumbo_range == 0) {
+- if ((units - bits) > (sizeof(isc_uint64_t) * 8)) {
++ if ((units - bits) > (sizeof(uint64_t) * 8)) {
+ pond->jumbo_range = 1;
+ pond->num_total = POND_TRACK_MAX;
+ }
+ else {
+- isc_uint64_t space_left
++ uint64_t space_left
+ = POND_TRACK_MAX - pond->num_total;
+- isc_uint64_t addon
+- = (isc_uint64_t)(1) << (units - bits);
++ uint64_t addon
++ = (uint64_t)(1) << (units - bits);
+
+ if (addon > space_left) {
+ pond->jumbo_range = 1;
+@@ -4739,7 +4739,7 @@ parse_ia_na_declaration(struct parse *cf
+ struct iasubopt *iaaddr;
+ struct ipv6_pool *pool;
+ char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
+- isc_boolean_t newbinding;
++ bool newbinding;
+ struct binding_scope *scope = NULL;
+ struct binding *bnd;
+ struct binding_value *nv = NULL;
+@@ -4959,9 +4959,9 @@ parse_ia_na_declaration(struct parse *cf
+ }
+ strcpy(bnd->name, val);
+
+- newbinding = ISC_TRUE;
++ newbinding = true;
+ } else {
+- newbinding = ISC_FALSE;
++ newbinding = false;
+ }
+
+ if (!binding_value_allocate(&nv, MDL)) {
+@@ -5186,7 +5186,7 @@ parse_ia_ta_declaration(struct parse *cf
+ struct iasubopt *iaaddr;
+ struct ipv6_pool *pool;
+ char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
+- isc_boolean_t newbinding;
++ bool newbinding;
+ struct binding_scope *scope = NULL;
+ struct binding *bnd;
+ struct binding_value *nv = NULL;
+@@ -5406,9 +5406,9 @@ parse_ia_ta_declaration(struct parse *cf
+ }
+ strcpy(bnd->name, val);
+
+- newbinding = ISC_TRUE;
++ newbinding = true;
+ } else {
+- newbinding = ISC_FALSE;
++ newbinding = false;
+ }
+
+ if (!binding_value_allocate(&nv, MDL)) {
+@@ -5623,7 +5623,7 @@ parse_ia_pd_declaration(struct parse *cf
+ struct iasubopt *iapref;
+ struct ipv6_pool *pool;
+ char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
+- isc_boolean_t newbinding;
++ bool newbinding;
+ struct binding_scope *scope = NULL;
+ struct binding *bnd;
+ struct binding_value *nv = NULL;
+@@ -5843,9 +5843,9 @@ parse_ia_pd_declaration(struct parse *cf
+ }
+ strcpy(bnd->name, val);
+
+- newbinding = ISC_TRUE;
++ newbinding = true;
+ } else {
+- newbinding = ISC_FALSE;
++ newbinding = false;
+ }
+
+ if (!binding_value_allocate(&nv, MDL)) {
+Index: dhcp-4.4.1/server/dhcpv6.c
+===================================================================
+--- dhcp-4.4.1.orig/server/dhcpv6.c
++++ dhcp-4.4.1/server/dhcpv6.c
+@@ -71,8 +71,8 @@ struct reply_state {
+ unsigned ia_count;
+ unsigned pd_count;
+ unsigned client_resources;
+- isc_boolean_t resources_included;
+- isc_boolean_t static_lease;
++ bool resources_included;
++ bool static_lease;
+ unsigned static_prefixes;
+ struct ia_xx *ia;
+ struct ia_xx *old_ia;
+@@ -123,7 +123,7 @@ static isc_result_t shared_network_from_
+ struct packet *packet);
+ static void seek_shared_host(struct host_decl **hp,
+ struct shared_network *shared);
+-static isc_boolean_t fixed_matches_shared(struct host_decl *host,
++static bool fixed_matches_shared(struct host_decl *host,
+ struct shared_network *shared);
+ static isc_result_t reply_process_ia_na(struct reply_state *reply,
+ struct option_cache *ia);
+@@ -131,9 +131,9 @@ static isc_result_t reply_process_ia_ta(
+ struct option_cache *ia);
+ static isc_result_t reply_process_addr(struct reply_state *reply,
+ struct option_cache *addr);
+-static isc_boolean_t address_is_owned(struct reply_state *reply,
++static bool address_is_owned(struct reply_state *reply,
+ struct iaddr *addr);
+-static isc_boolean_t temporary_is_available(struct reply_state *reply,
++static bool temporary_is_available(struct reply_state *reply,
+ struct iaddr *addr);
+ static isc_result_t find_client_temporaries(struct reply_state *reply);
+ static isc_result_t reply_process_try_addr(struct reply_state *reply,
+@@ -151,7 +151,7 @@ static isc_result_t reply_process_ia_pd(
+ static struct group *find_group_by_prefix(struct reply_state *reply);
+ static isc_result_t reply_process_prefix(struct reply_state *reply,
+ struct option_cache *pref);
+-static isc_boolean_t prefix_is_owned(struct reply_state *reply,
++static bool prefix_is_owned(struct reply_state *reply,
+ struct iaddrcidrnet *pref);
+ static isc_result_t find_client_prefix(struct reply_state *reply);
+ static isc_result_t reply_process_try_prefix(struct reply_state *reply,
+@@ -174,7 +174,7 @@ static void unicast_reject(struct data_s
+ const struct data_string *client_id,
+ const struct data_string *server_id);
+
+-static isc_boolean_t is_unicast_option_defined(struct packet *packet);
++static bool is_unicast_option_defined(struct packet *packet);
+ static isc_result_t shared_network_from_requested_addr (struct shared_network
+ **shared,
+ struct packet* packet);
+@@ -363,7 +363,7 @@ static struct data_string server_duid;
+ /*
+ * Check if the server_duid has been set.
+ */
+-isc_boolean_t
++bool
+ server_duid_isset(void) {
+ return (server_duid.data != NULL);
+ }
+@@ -992,7 +992,7 @@ void check_pool6_threshold(struct reply_
+ struct iasubopt *lease)
+ {
+ struct ipv6_pond *pond;
+- isc_uint64_t used, count, high_threshold;
++ uint64_t used, count, high_threshold;
+ int poolhigh = 0, poollow = 0;
+ char *shared_name = "no name";
+ char tmp_addr[INET6_ADDRSTRLEN];
+@@ -1310,9 +1310,9 @@ pick_v6_address(struct reply_state *repl
+ unsigned int attempts;
+ char tmp_buf[INET6_ADDRSTRLEN];
+ struct iasubopt **addr = &reply->lease;
+- isc_uint64_t total = 0;
+- isc_uint64_t active = 0;
+- isc_uint64_t abandoned = 0;
++ uint64_t total = 0;
++ uint64_t active = 0;
++ uint64_t abandoned = 0;
+ int jumbo_range = 0;
+ char *shared_name = (reply->shared->name ?
+ reply->shared->name : "(no name)");
+@@ -1825,7 +1825,7 @@ lease_to_client(struct data_string *repl
+
+ /* Start counting resources (addresses) offered. */
+ reply.client_resources = 0;
+- reply.resources_included = ISC_FALSE;
++ reply.resources_included = false;
+
+ status = reply_process_ia_na(&reply, oc);
+
+@@ -1843,7 +1843,7 @@ lease_to_client(struct data_string *repl
+
+ /* Start counting resources (addresses) offered. */
+ reply.client_resources = 0;
+- reply.resources_included = ISC_FALSE;
++ reply.resources_included = false;
+
+ status = reply_process_ia_ta(&reply, oc);
+
+@@ -1864,7 +1864,7 @@ lease_to_client(struct data_string *repl
+
+ /* Start counting resources (prefixes) offered. */
+ reply.client_resources = 0;
+- reply.resources_included = ISC_FALSE;
++ reply.resources_included = false;
+
+ status = reply_process_ia_pd(&reply, oc);
+
+@@ -2077,9 +2077,9 @@ reply_process_ia_na(struct reply_state *
+ tmp_addr, MDL) == 0)
+ log_fatal("Impossible condition at %s:%d.", MDL);
+
+- reply->static_lease = ISC_TRUE;
++ reply->static_lease = true;
+ } else
+- reply->static_lease = ISC_FALSE;
++ reply->static_lease = false;
+
+ /*
+ * Save the cursor position at the start of the IA, so we can
+@@ -2778,7 +2778,7 @@ reply_process_addr(struct reply_state *r
+ * (fault out all else). Otherwise it's a dynamic address, so lookup
+ * that address and make sure it belongs to this DUID:IAID pair.
+ */
+-static isc_boolean_t
++static bool
+ address_is_owned(struct reply_state *reply, struct iaddr *addr) {
+ int i;
+ struct ipv6_pond *pond;
+@@ -2791,13 +2791,13 @@ address_is_owned(struct reply_state *rep
+ log_fatal("Impossible condition at %s:%d.", MDL);
+
+ if (memcmp(addr->iabuf, reply->fixed.data, 16) == 0)
+- return (ISC_TRUE);
++ return (true);
+
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ if ((reply->old_ia == NULL) || (reply->old_ia->num_iasubopt == 0))
+- return (ISC_FALSE);
++ return (false);
+
+ for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) {
+ struct iasubopt *tmp;
+@@ -2805,8 +2805,8 @@ address_is_owned(struct reply_state *rep
+ tmp = reply->old_ia->iasubopt[i];
+
+ if (memcmp(addr->iabuf, &tmp->addr, 16) == 0) {
+- if (lease6_usable(tmp) == ISC_FALSE) {
+- return (ISC_FALSE);
++ if (lease6_usable(tmp) == false) {
++ return (false);
+ }
+
+ pond = tmp->ipv6_pool->ipv6_pond;
+@@ -2814,15 +2814,15 @@ address_is_owned(struct reply_state *rep
+ (permitted(reply->packet, pond->prohibit_list))) ||
+ ((pond->permit_list != NULL) &&
+ (!permitted(reply->packet, pond->permit_list))))
+- return (ISC_FALSE);
++ return (false);
+
+ iasubopt_reference(&reply->lease, tmp, MDL);
+
+- return (ISC_TRUE);
++ return (true);
+ }
+ }
+
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ /* Process a client-supplied IA_TA. This may append options to the tail of
+@@ -2890,7 +2890,7 @@ reply_process_ia_ta(struct reply_state *
+ /*
+ * Temporary leases are dynamic by definition.
+ */
+- reply->static_lease = ISC_FALSE;
++ reply->static_lease = false;
+
+ /*
+ * Save the cursor position at the start of the IA, so we can
+@@ -2972,7 +2972,7 @@ reply_process_ia_ta(struct reply_state *
+ }
+ status = ISC_R_CANCELED;
+ reply->client_resources = 0;
+- reply->resources_included = ISC_FALSE;
++ reply->resources_included = false;
+ if (reply->lease != NULL)
+ iasubopt_dereference(&reply->lease, MDL);
+ }
+@@ -3364,7 +3364,7 @@ void shorten_lifetimes(struct reply_stat
+ /*
+ * Verify the temporary address is available.
+ */
+-static isc_boolean_t
++static bool
+ temporary_is_available(struct reply_state *reply, struct iaddr *addr) {
+ struct in6_addr tmp_addr;
+ struct subnet *subnet;
+@@ -3379,7 +3379,7 @@ temporary_is_available(struct reply_stat
+ * So this is not a request for this address.
+ */
+ if (IN6_IS_ADDR_UNSPECIFIED(&tmp_addr))
+- return ISC_FALSE;
++ return false;
+
+ /*
+ * Verify that this address is on the client's network.
+@@ -3393,13 +3393,13 @@ temporary_is_available(struct reply_stat
+
+ /* Address not found on shared network. */
+ if (subnet == NULL)
+- return ISC_FALSE;
++ return false;
+
+ /*
+ * Check if this address is owned (must be before next step).
+ */
+ if (address_is_owned(reply, addr))
+- return ISC_TRUE;
++ return true;
+
+ /*
+ * Verify that this address is in a temporary pool and try to get it.
+@@ -3424,18 +3424,18 @@ temporary_is_available(struct reply_stat
+ }
+
+ if (pool == NULL)
+- return ISC_FALSE;
++ return false;
+ if (lease6_exists(pool, &tmp_addr))
+- return ISC_FALSE;
++ return false;
+ if (iasubopt_allocate(&reply->lease, MDL) != ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+ reply->lease->addr = tmp_addr;
+ reply->lease->plen = 0;
+ /* Default is soft binding for 2 minutes. */
+ if (add_lease6(pool, reply->lease, cur_time + 120) != ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+- return ISC_TRUE;
++ return true;
+ }
+
+ /*
+@@ -3652,7 +3652,7 @@ find_client_address(struct reply_state *
+ */
+
+ if ((candidate_shared != reply->shared) ||
+- (lease6_usable(lease) != ISC_TRUE))
++ (lease6_usable(lease) != true))
+ continue;
+
+ if (((pond->prohibit_list != NULL) &&
+@@ -3971,7 +3971,7 @@ reply_process_send_addr(struct reply_sta
+ goto cleanup;
+ }
+
+- reply->resources_included = ISC_TRUE;
++ reply->resources_included = true;
+
+ cleanup:
+ if (data.data != NULL)
+@@ -4722,7 +4722,7 @@ reply_process_prefix(struct reply_state
+ * (fault out all else). Otherwise it's a dynamic prefix, so lookup
+ * that prefix and make sure it belongs to this DUID:IAID pair.
+ */
+-static isc_boolean_t
++static bool
+ prefix_is_owned(struct reply_state *reply, struct iaddrcidrnet *pref) {
+ struct iaddrcidrnetlist *l;
+ int i;
+@@ -4736,14 +4736,14 @@ prefix_is_owned(struct reply_state *repl
+ if ((pref->bits == l->cidrnet.bits) &&
+ (memcmp(pref->lo_addr.iabuf,
+ l->cidrnet.lo_addr.iabuf, 16) == 0))
+- return (ISC_TRUE);
++ return (true);
+ }
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ if ((reply->old_ia == NULL) ||
+ (reply->old_ia->num_iasubopt == 0))
+- return (ISC_FALSE);
++ return (false);
+
+ for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) {
+ struct iasubopt *tmp;
+@@ -4752,8 +4752,8 @@ prefix_is_owned(struct reply_state *repl
+
+ if ((pref->bits == (int) tmp->plen) &&
+ (memcmp(pref->lo_addr.iabuf, &tmp->addr, 16) == 0)) {
+- if (lease6_usable(tmp) == ISC_FALSE) {
+- return (ISC_FALSE);
++ if (lease6_usable(tmp) == false) {
++ return (false);
+ }
+
+ pond = tmp->ipv6_pool->ipv6_pond;
+@@ -4761,14 +4761,14 @@ prefix_is_owned(struct reply_state *repl
+ (permitted(reply->packet, pond->prohibit_list))) ||
+ ((pond->permit_list != NULL) &&
+ (!permitted(reply->packet, pond->permit_list))))
+- return (ISC_FALSE);
++ return (false);
+
+ iasubopt_reference(&reply->lease, tmp, MDL);
+- return (ISC_TRUE);
++ return (true);
+ }
+ }
+
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ /*
+@@ -4914,7 +4914,7 @@ find_client_prefix(struct reply_state *r
+ */
+ if (((candidate_shared != NULL) &&
+ (candidate_shared != reply->shared)) ||
+- (lease6_usable(prefix) != ISC_TRUE))
++ (lease6_usable(prefix) != true))
+ continue;
+
+ /*
+@@ -5233,7 +5233,7 @@ reply_process_send_prefix(struct reply_s
+ goto cleanup;
+ }
+
+- reply->resources_included = ISC_TRUE;
++ reply->resources_included = true;
+
+ cleanup:
+ if (data.data != NULL)
+@@ -5383,8 +5383,8 @@ dhcpv6_request(struct data_string *reply
+
+ /* If the REQUEST arrived via unicast and unicast option isn't set,
+ * reject it per RFC 3315, Sec 18.2.1 */
+- if (packet->unicast == ISC_TRUE &&
+- is_unicast_option_defined(packet) == ISC_FALSE) {
++ if (packet->unicast == true &&
++ is_unicast_option_defined(packet) == false) {
+ unicast_reject(reply_ret, packet, &client_id, &server_id);
+ } else {
+ /*
+@@ -5505,7 +5505,7 @@ dhcpv6_confirm(struct data_string *reply
+ struct option_state *cli_enc_opt_state, *opt_state;
+ struct iaddr cli_addr;
+ int pass;
+- isc_boolean_t inappropriate, has_addrs;
++ bool inappropriate, has_addrs;
+ char reply_data[65536];
+ struct dhcpv6_packet *reply = (struct dhcpv6_packet *)reply_data;
+ int reply_ofs = (int)(offsetof(struct dhcpv6_packet, options));
+@@ -5556,7 +5556,7 @@ dhcpv6_confirm(struct data_string *reply
+ goto exit;
+
+ /* Are the addresses in all the IA's appropriate for that link? */
+- has_addrs = inappropriate = ISC_FALSE;
++ has_addrs = inappropriate = false;
+ pass = D6O_IA_NA;
+ while(!inappropriate) {
+ /* If we've reached the end of the IA_NA pass, move to the
+@@ -5602,7 +5602,7 @@ dhcpv6_confirm(struct data_string *reply
+ data_string_forget(&iaaddr, MDL);
+
+ /* Record that we've processed at least one address. */
+- has_addrs = ISC_TRUE;
++ has_addrs = true;
+
+ /* Find out if any subnets cover this address. */
+ for (subnet = shared->subnets ; subnet != NULL ;
+@@ -5621,7 +5621,7 @@ dhcpv6_confirm(struct data_string *reply
+ * continue searching.
+ */
+ if (subnet == NULL) {
+- inappropriate = ISC_TRUE;
++ inappropriate = true;
+ break;
+ }
+ }
+@@ -5719,8 +5719,8 @@ dhcpv6_renew(struct data_string *reply,
+
+ /* If the RENEW arrived via unicast and unicast option isn't set,
+ * reject it per RFC 3315, Sec 18.2.3 */
+- if (packet->unicast == ISC_TRUE &&
+- is_unicast_option_defined(packet) == ISC_FALSE) {
++ if (packet->unicast == true &&
++ is_unicast_option_defined(packet) == false) {
+ unicast_reject(reply, packet, &client_id, &server_id);
+ } else {
+ /*
+@@ -6142,8 +6142,8 @@ dhcpv6_decline(struct data_string *reply
+
+ /* If the DECLINE arrived via unicast and unicast option isn't set,
+ * reject it per RFC 3315, Sec 18.2.7 */
+- if (packet->unicast == ISC_TRUE &&
+- is_unicast_option_defined(packet) == ISC_FALSE) {
++ if (packet->unicast == true &&
++ is_unicast_option_defined(packet) == false) {
+ unicast_reject(reply, packet, &client_id, &server_id);
+ } else {
+ /*
+@@ -6597,8 +6597,8 @@ dhcpv6_release(struct data_string *reply
+
+ /* If the RELEASE arrived via unicast and unicast option isn't set,
+ * reject it per RFC 3315, Sec 18.2.6 */
+- if (packet->unicast == ISC_TRUE &&
+- is_unicast_option_defined(packet) == ISC_FALSE) {
++ if (packet->unicast == true &&
++ is_unicast_option_defined(packet) == false) {
+ unicast_reject(reply, packet, &client_id, &server_id);
+ } else {
+ /*
+@@ -6897,7 +6897,7 @@ dhcpv6_relay_forw(struct data_string *re
+ }
+ data_string_forget(&a_opt, MDL);
+
+- packet->relay_source_port = ISC_TRUE;
++ packet->relay_source_port = true;
+ }
+ #endif
+
+@@ -7219,7 +7219,7 @@ dhcp4o6_relay_forw(struct data_string *r
+ }
+ data_string_forget(&a_opt, MDL);
+
+- packet->relay_source_port = ISC_TRUE;
++ packet->relay_source_port = true;
+ }
+ #endif
+
+@@ -8036,35 +8036,35 @@ seek_shared_host(struct host_decl **hp,
+ host_reference(hp, seek, MDL);
+ }
+
+-static isc_boolean_t
++static bool
+ fixed_matches_shared(struct host_decl *host, struct shared_network *shared) {
+ struct subnet *subnet;
+ struct data_string addr;
+- isc_boolean_t matched;
++ bool matched;
+ struct iaddr fixed;
+
+ if (host->fixed_addr == NULL)
+- return ISC_FALSE;
++ return false;
+
+ memset(&addr, 0, sizeof(addr));
+ if (!evaluate_option_cache(&addr, NULL, NULL, NULL, NULL, NULL,
+ &global_scope, host->fixed_addr, MDL))
+- return ISC_FALSE;
++ return false;
+
+ if (addr.len < 16) {
+ data_string_forget(&addr, MDL);
+- return ISC_FALSE;
++ return false;
+ }
+
+ fixed.len = 16;
+ memcpy(fixed.iabuf, addr.data, 16);
+
+- matched = ISC_FALSE;
++ matched = false;
+ for (subnet = shared->subnets ; subnet != NULL ;
+ subnet = subnet->next_sibling) {
+ if (addr_eq(subnet_number(fixed, subnet->netmask),
+ subnet->net)) {
+- matched = ISC_TRUE;
++ matched = true;
+ break;
+ }
+ }
+@@ -8167,15 +8167,15 @@ unicast_reject(struct data_string *reply
+ * statements from the network's group outward into a local option cache.
+ * The option cache is then scanned for the presence of unicast option. If
+ * the packet cannot be mapped to a shared network, the function returns
+- * ISC_FALSE.
++ * false.
+ * \param packet inbound packet from the client
+ *
+- * \return ISC_TRUE if the dhcp6.unicast option is defined, false otherwise.
++ * \return true if the dhcp6.unicast option is defined, false otherwise.
+ *
+ */
+-isc_boolean_t
++bool
+ is_unicast_option_defined(struct packet *packet) {
+- isc_boolean_t is_defined = ISC_FALSE;
++ bool is_defined = false;
+ struct option_state *opt_state = NULL;
+ struct option_cache *oc = NULL;
+ struct shared_network *shared = NULL;
+@@ -8195,7 +8195,7 @@ is_unicast_option_defined(struct packet
+ * logic will catch it */
+ log_error("is_unicast_option_defined:"
+ "cannot attribute packet to a network.");
+- return (ISC_FALSE);
++ return (false);
+ }
+
+ /* Now that we've mapped it to a network, execute statments to that
+@@ -8205,7 +8205,7 @@ is_unicast_option_defined(struct packet
+ &global_scope, shared->group, NULL, NULL);
+
+ oc = lookup_option(&dhcpv6_universe, opt_state, D6O_UNICAST);
+- is_defined = (oc != NULL ? ISC_TRUE : ISC_FALSE);
++ is_defined = (oc != NULL ? true : false);
+ log_debug("is_unicast_option_defined: option found : %d", is_defined);
+
+ if (shared != NULL) {
+Index: dhcp-4.4.1/client/clparse.c
+===================================================================
+--- dhcp-4.4.1.orig/client/clparse.c
++++ dhcp-4.4.1/client/clparse.c
+@@ -1527,7 +1527,7 @@ parse_client6_lease_statement(struct par
+
+ case TOKEN_RELEASED:
+ case TOKEN_ABANDONED:
+- lease->released = ISC_TRUE;
++ lease->released = true;
+ break;
+
+ default:
+Index: dhcp-4.4.1/client/dhc6.c
+===================================================================
+--- dhcp-4.4.1.orig/client/dhc6.c
++++ dhcp-4.4.1/client/dhc6.c
+@@ -109,7 +109,7 @@ static isc_result_t dhc6_add_ia_pd(struc
+ u_int8_t message,
+ int wanted,
+ int *added);
+-static isc_boolean_t stopping_finished(void);
++static bool stopping_finished(void);
+ static void dhc6_merge_lease(struct dhc6_lease *src, struct dhc6_lease *dst);
+ void do_select6(void *input);
+ void do_refresh6(void *input);
+@@ -131,7 +131,7 @@ static void script_write_params6(struct
+ const char *prefix,
+ struct option_state *options);
+ static void script_write_requested6(struct client_state *client);
+-static isc_boolean_t active_prefix(struct client_state *client);
++static bool active_prefix(struct client_state *client);
+
+ static int check_timing6(struct client_state *client, u_int8_t msg_type,
+ char *msg_str, struct dhc6_lease *lease,
+@@ -149,7 +149,7 @@ static isc_result_t dhc6_add_ia_na_decli
+ struct data_string *packet,
+ struct dhc6_lease *lease);
+ static int drop_declined_addrs(struct dhc6_lease *lease);
+-static isc_boolean_t unexpired_address_in_lease(struct dhc6_lease *lease);
++static bool unexpired_address_in_lease(struct dhc6_lease *lease);
+
+ extern int onetry;
+ extern int stateless;
+@@ -418,14 +418,14 @@ valid_reply(struct packet *packet, struc
+ {
+ struct data_string sid, cid;
+ struct option_cache *oc;
+- int rval = ISC_TRUE;
++ int rval = true;
+
+ memset(&sid, 0, sizeof(sid));
+ memset(&cid, 0, sizeof(cid));
+
+ if (!lookup_option(&dhcpv6_universe, packet->options, D6O_SERVERID)) {
+ log_error("Response without a server identifier received.");
+- rval = ISC_FALSE;
++ rval = false;
+ }
+
+ oc = lookup_option(&dhcpv6_universe, packet->options, D6O_CLIENTID);
+@@ -434,7 +434,7 @@ valid_reply(struct packet *packet, struc
+ client->sent_options, &global_scope, oc,
+ MDL)) {
+ log_error("Response without a client identifier.");
+- rval = ISC_FALSE;
++ rval = false;
+ }
+
+ oc = lookup_option(&dhcpv6_universe, client->sent_options,
+@@ -444,7 +444,7 @@ valid_reply(struct packet *packet, struc
+ client->sent_options, NULL, &global_scope,
+ oc, MDL)) {
+ log_error("Local client identifier is missing!");
+- rval = ISC_FALSE;
++ rval = false;
+ }
+
+ if (sid.len == 0 ||
+@@ -452,7 +452,7 @@ valid_reply(struct packet *packet, struc
+ memcmp(sid.data, cid.data, sid.len)) {
+ log_error("Advertise with matching transaction ID, but "
+ "mismatching client id.");
+- rval = ISC_FALSE;
++ rval = false;
+ }
+
+ /* clean up pointers to the strings */
+@@ -2375,7 +2375,7 @@ start_release6(struct client_state *clie
+ /* Note this in the lease file. */
+ if (client->active_lease == NULL)
+ return;
+- client->active_lease->released = ISC_TRUE;
++ client->active_lease->released = true;
+ write_client6_lease(client, client->active_lease, 0, 1);
+
+ /* Set timers per RFC3315 section 18.1.6. */
+@@ -2612,7 +2612,7 @@ dhc6_check_advertise(struct dhc6_lease *
+ {
+ struct dhc6_ia *ia;
+ isc_result_t rval = ISC_R_SUCCESS;
+- int have_addrs = ISC_FALSE;
++ int have_addrs = false;
+ unsigned code;
+ const char *scope;
+ int got_na = 0, got_ta = 0, got_pd = 0;
+@@ -2650,14 +2650,14 @@ dhc6_check_advertise(struct dhc6_lease *
+ * Should we check the addr itself for usability?
+ */
+ if (ia->addrs != NULL) {
+- have_addrs = ISC_TRUE;
++ have_addrs = true;
+ }
+ }
+
+ /* If we didn't get some addrs or the user required us to
+ * get all of the requested IAs and we didn't return an error
+ */
+- if ((have_addrs != ISC_TRUE) ||
++ if ((have_addrs != true) ||
+ ((require_all_ias != 0) &&
+ ((got_na < wanted_ia_na) ||
+ (got_ta < wanted_ia_ta) ||
+@@ -2670,7 +2670,7 @@ dhc6_check_advertise(struct dhc6_lease *
+ /* status code <-> action matrix for the client in INIT state
+ * (rapid/commit). Returns always false as no action is defined.
+ */
+-static isc_boolean_t
++static bool
+ dhc6_init_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2679,21 +2679,21 @@ dhc6_init_action(struct client_state *cl
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+
+ if (*rvalp == ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+ /* No possible action in any case... */
+- return ISC_FALSE;
++ return false;
+ }
+
+ /* status code <-> action matrix for the client in SELECT state
+ * (request/reply). Returns true if action was taken (and the
+ * packet should be ignored), or false if no action was taken.
+ */
+-static isc_boolean_t
++static bool
+ dhc6_select_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2705,12 +2705,12 @@ dhc6_select_action(struct client_state *
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+ rval = *rvalp;
+
+ if (rval == ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+ switch (code) {
+ /* We may have an earlier failure status code (so no
+@@ -2723,7 +2723,7 @@ dhc6_select_action(struct client_state *
+ case STATUS_NoBinding:
+ case STATUS_UseMulticast:
+ /* Take no action. */
+- return ISC_FALSE;
++ return false;
+
+ /* If the server can't deal with us, either try the
+ * next advertised server, or continue retrying if there
+@@ -2739,7 +2739,7 @@ dhc6_select_action(struct client_state *
+
+ break;
+ } else /* Take no action - continue to retry. */
+- return ISC_FALSE;
++ return false;
+
+ /* If the server has no addresses, try other servers if
+ * we got some, otherwise go to INIT to hope for more
+@@ -2748,7 +2748,7 @@ dhc6_select_action(struct client_state *
+ case STATUS_NoAddrsAvail:
+ case STATUS_NoPrefixAvail:
+ if (client->state == S_REBOOTING)
+- return ISC_FALSE;
++ return false;
+
+ if (client->selected_lease == NULL)
+ log_fatal("Impossible case at %s:%d.", MDL);
+@@ -2794,7 +2794,7 @@ dhc6_select_action(struct client_state *
+ break;
+ }
+
+- return ISC_TRUE;
++ return true;
+ }
+
+ static void
+@@ -2821,7 +2821,7 @@ dhc6_withdraw_lease(struct client_state
+ * (request/reply). Returns true if action was taken (and the
+ * packet should be ignored), or false if no action was taken.
+ */
+-static isc_boolean_t
++static bool
+ dhc6_reply_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2832,12 +2832,12 @@ dhc6_reply_action(struct client_state *c
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+ rval = *rvalp;
+
+ if (rval == ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+ switch (code) {
+ /* It's possible an earlier status code set rval to a failure
+@@ -2852,7 +2852,7 @@ dhc6_reply_action(struct client_state *c
+ case STATUS_UnspecFail:
+ /* For unknown codes...it's a soft (retryable) error. */
+ default:
+- return ISC_FALSE;
++ return false;
+
+ /* The server is telling us to use a multicast address, so
+ * we have to delete the unicast option from the active
+@@ -2865,7 +2865,7 @@ dhc6_reply_action(struct client_state *c
+ delete_option(&dhcp_universe,
+ client->active_lease->options,
+ D6O_UNICAST);
+- return ISC_FALSE;
++ return false;
+
+ /* "When the client receives a NotOnLink status from the
+ * server in response to a Request, the client can either
+@@ -2914,7 +2914,7 @@ dhc6_reply_action(struct client_state *c
+ break;
+ }
+
+- return ISC_TRUE;
++ return true;
+ }
+
+ /* status code <-> action matrix for the client in STOPPED state
+@@ -2922,7 +2922,7 @@ dhc6_reply_action(struct client_state *c
+ * packet should be ignored), or false if no action was taken.
+ * NoBinding is translated into Success.
+ */
+-static isc_boolean_t
++static bool
+ dhc6_stop_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2933,12 +2933,12 @@ dhc6_stop_action(struct client_state *cl
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+ rval = *rvalp;
+
+ if (rval == ISC_R_SUCCESS)
+- return ISC_FALSE;
++ return false;
+
+ switch (code) {
+ /* It's possible an earlier status code set rval to a failure
+@@ -2948,13 +2948,13 @@ dhc6_stop_action(struct client_state *cl
+ /* For unknown codes...it's a soft (retryable) error. */
+ case STATUS_UnspecFail:
+ default:
+- return ISC_FALSE;
++ return false;
+
+ /* NoBinding is not an error */
+ case STATUS_NoBinding:
+ if (rval == ISC_R_FAILURE)
+ *rvalp = ISC_R_SUCCESS;
+- return ISC_FALSE;
++ return false;
+
+ /* Should not happen */
+ case STATUS_NoAddrsAvail:
+@@ -2976,13 +2976,13 @@ dhc6_stop_action(struct client_state *cl
+ delete_option(&dhcp_universe,
+ client->active_lease->options,
+ D6O_UNICAST);
+- return ISC_FALSE;
++ return false;
+ }
+
+- return ISC_TRUE;
++ return true;
+ }
+
+-static isc_boolean_t
++static bool
+ dhc6_decline_action(struct client_state *client, isc_result_t *rvalp,
+ unsigned code)
+ {
+@@ -2993,12 +2993,12 @@ dhc6_decline_action(struct client_state
+
+ if (client == NULL) {
+ *rvalp = DHCP_R_INVALIDARG;
+- return ISC_FALSE;
++ return false;
+ }
+ rval = *rvalp;
+
+ if (rval == ISC_R_SUCCESS) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ switch (code) {
+@@ -3013,13 +3013,13 @@ dhc6_decline_action(struct client_state
+ delete_option(&dhcp_universe,
+ client->active_lease->options,
+ D6O_UNICAST);
+- return ISC_FALSE;
++ return false;
+ default:
+ /* Anything else is basically meaningless */
+ break;
+ }
+
+- return ISC_TRUE;
++ return true;
+ }
+
+
+@@ -3029,14 +3029,14 @@ dhc6_decline_action(struct client_state
+ static isc_result_t
+ dhc6_check_reply(struct client_state *client, struct dhc6_lease *new)
+ {
+- isc_boolean_t (*action)(struct client_state *,
++ bool (*action)(struct client_state *,
+ isc_result_t *, unsigned);
+ struct dhc6_ia *ia;
+ isc_result_t rval = ISC_R_SUCCESS;
+ unsigned code;
+ const char *scope;
+ int nscore, sscore;
+- int have_addrs = ISC_FALSE;
++ int have_addrs = false;
+ int got_na = 0, got_ta = 0, got_pd = 0;
+
+ if ((client == NULL) || (new == NULL))
+@@ -3102,7 +3102,7 @@ dhc6_check_reply(struct client_state *cl
+ return ISC_R_CANCELED;
+
+ if (ia->addrs != NULL) {
+- have_addrs = ISC_TRUE;
++ have_addrs = true;
+ }
+ }
+
+@@ -3119,13 +3119,13 @@ dhc6_check_reply(struct client_state *cl
+ * check in and commented it as I eventually do want
+ * us to check for TAs as well. SAR
+ */
+- if ((have_addrs != ISC_TRUE) ||
++ if ((have_addrs != true) ||
+ ((require_all_ias != 0) &&
+ ((got_na < wanted_ia_na) ||
+ /*(got_ta < wanted_ia_ta) ||*/
+ (got_pd < wanted_ia_pd)))) {
+ rval = ISC_R_FAILURE;
+- if (action(client, &rval, STATUS_NoAddrsAvail) == ISC_TRUE) {
++ if (action(client, &rval, STATUS_NoAddrsAvail) == true) {
+ return ISC_R_CANCELED;
+ }
+ }
+@@ -4256,7 +4256,7 @@ dhc6_add_ia_pd(struct client_state *clie
+
+ /* stopping_finished() checks if there is a remaining work to do.
+ */
+-static isc_boolean_t
++static bool
+ stopping_finished(void)
+ {
+ struct interface_info *ip;
+@@ -4265,12 +4265,12 @@ stopping_finished(void)
+ for (ip = interfaces; ip; ip = ip -> next) {
+ for (client = ip -> client; client; client = client -> next) {
+ if (client->state != S_STOPPED)
+- return ISC_FALSE;
++ return false;
+ if (client->active_lease != NULL)
+- return ISC_FALSE;
++ return false;
+ }
+ }
+- return ISC_TRUE;
++ return true;
+ }
+
+ /* reply_handler() accepts a Reply while we're attempting Select or Renew or
+@@ -4474,8 +4474,8 @@ dhc6_check_times(struct client_state *cl
+ struct dhc6_addr *addr;
+ TIME renew=MAX_TIME, rebind=MAX_TIME, depref=MAX_TIME,
+ lo_expire=MAX_TIME, hi_expire=0, max_ia_starts = 0, tmp;
+- int has_addrs = ISC_FALSE;
+- int has_preferred_addrs = ISC_FALSE;
++ int has_addrs = false;
++ int has_preferred_addrs = false;
+ struct timeval tv;
+
+ lease = client->active_lease;
+@@ -4506,7 +4506,7 @@ dhc6_check_times(struct client_state *cl
+ depref = tmp;
+
+ if (!(addr->flags & DHC6_ADDR_EXPIRED)) {
+- has_preferred_addrs = ISC_TRUE;
++ has_preferred_addrs = true;
+ }
+ }
+
+@@ -4525,7 +4525,7 @@ dhc6_check_times(struct client_state *cl
+ if (tmp < this_ia_lo_expire)
+ this_ia_lo_expire = tmp;
+
+- has_addrs = ISC_TRUE;
++ has_addrs = true;
+ }
+ }
+
+@@ -4603,7 +4603,7 @@ dhc6_check_times(struct client_state *cl
+ * In the future, we may decide that we're done here, or to
+ * schedule a future request (using 4-pkt info-request model).
+ */
+- if (has_addrs == ISC_FALSE) {
++ if (has_addrs == false) {
+ dhc6_lease_destroy(&client->active_lease, MDL);
+ client->active_lease = NULL;
+
+@@ -4855,7 +4855,7 @@ start_bound(struct client_state *client)
+ "is selected.");
+ return;
+ }
+- lease->released = ISC_FALSE;
++ lease->released = false;
+ old = client->old_lease;
+
+ client->v6_handler = bound_handler;
+@@ -5448,8 +5448,8 @@ do_expire(void *input)
+ struct dhc6_lease *lease;
+ struct dhc6_ia *ia, **tia;
+ struct dhc6_addr *addr;
+- int has_addrs = ISC_FALSE;
+- int ia_has_addrs = ISC_FALSE;
++ int has_addrs = false;
++ int ia_has_addrs = false;
+
+ client = (struct client_state *)input;
+
+@@ -5458,7 +5458,7 @@ do_expire(void *input)
+ return;
+
+ for (ia = lease->bindings, tia = &lease->bindings; ia != NULL ; ) {
+- ia_has_addrs = ISC_FALSE;
++ ia_has_addrs = false;
+ for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
+ if (addr->flags & DHC6_ADDR_EXPIRED)
+ continue;
+@@ -5495,14 +5495,14 @@ do_expire(void *input)
+ continue;
+ }
+
+- ia_has_addrs = ISC_TRUE;
+- has_addrs = ISC_TRUE;
++ ia_has_addrs = true;
++ has_addrs = true;
+ }
+
+ /* Update to the next ia and git rid of this ia
+ * if it doesn't have any leases.
+ */
+- if (ia_has_addrs == ISC_TRUE) {
++ if (ia_has_addrs == true) {
+ /* leases, just advance the list pointer */
+ tia = &(*tia)->next;
+ } else {
+@@ -5517,7 +5517,7 @@ do_expire(void *input)
+ }
+
+ /* Clean up empty leases. */
+- if (has_addrs == ISC_FALSE) {
++ if (has_addrs == false) {
+ log_info("PRC: Bound lease is devoid of active addresses."
+ " Re-initializing.");
+
+@@ -5596,14 +5596,14 @@ dhc6_check_irt(struct client_state *clie
+ TIME expire = MAX_TIME;
+ struct timeval tv;
+ int i;
+- isc_boolean_t found = ISC_FALSE;
++ bool found = false;
+
+ cancel_timeout(refresh_info_request6, client);
+
+ req = client->config->requested_options;
+ for (i = 0; req[i] != NULL; i++) {
+ if (req[i] == irt_option) {
+- found = ISC_TRUE;
++ found = true;
+ break;
+ }
+ }
+@@ -5924,7 +5924,7 @@ static void script_write_requested6(clie
+ /*
+ * Check if there is something not fully defined in the active lease.
+ */
+-static isc_boolean_t
++static bool
+ active_prefix(struct client_state *client)
+ {
+ struct dhc6_lease *lease;
+@@ -5934,21 +5934,21 @@ active_prefix(struct client_state *clien
+
+ lease = client->active_lease;
+ if (lease == NULL)
+- return ISC_FALSE;
++ return false;
+ memset(zeros, 0, 16);
+ for (ia = lease->bindings; ia != NULL; ia = ia->next) {
+ if (ia->ia_type != D6O_IA_PD)
+ continue;
+ for (pref = ia->addrs; pref != NULL; pref = pref->next) {
+ if (pref->plen == 0)
+- return ISC_FALSE;
++ return false;
+ if (pref->address.len != 16)
+- return ISC_FALSE;
++ return false;
+ if (memcmp(pref->address.iabuf, zeros, 16) == 0)
+- return ISC_FALSE;
++ return false;
+ }
+ }
+- return ISC_TRUE;
++ return true;
+ }
+
+ /* Adds a leases's declined addreses to the outbound packet
+@@ -6111,26 +6111,26 @@ int drop_declined_addrs(struct dhc6_leas
+ /* Run through the addresses in lease and return true if there's any unexpired.
+ * Return false otherwise.
+ */
+-static isc_boolean_t
++static bool
+ unexpired_address_in_lease(struct dhc6_lease *lease)
+ {
+ struct dhc6_ia *ia;
+ struct dhc6_addr *addr;
+
+ if (lease == NULL) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ for (ia = lease->bindings ; ia != NULL ; ia = ia->next) {
+ for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
+ if (!(addr->flags & DHC6_ADDR_EXPIRED) &&
+ (addr->starts + addr->max_life > cur_time)) {
+- return ISC_TRUE;
++ return true;
+ }
+ }
+ }
+
+ log_debug("PRC: Previous lease is devoid of active addresses.");
+- return ISC_FALSE;
++ return false;
+ }
+ #endif /* DHCPv6 */
+Index: dhcp-4.4.1/client/dhclient.c
+===================================================================
+--- dhcp-4.4.1.orig/client/dhclient.c
++++ dhcp-4.4.1/client/dhclient.c
+@@ -52,7 +52,7 @@ char *path_dhclient_script = path_dhclie
+ const char *path_dhclient_duid = NULL;
+
+ /* False (default) => we write and use a pid file */
+-isc_boolean_t no_pid_file = ISC_FALSE;
++bool no_pid_file = false;
+
+ int dhcp_max_agent_option_packet_length = 0;
+
+@@ -397,7 +397,7 @@ main(int argc, char **argv) {
+ path_dhclient_pid = argv[i];
+ no_dhclient_pid = 1;
+ } else if (!strcmp(argv[i], "--no-pid")) {
+- no_pid_file = ISC_TRUE;
++ no_pid_file = true;
+ } else if (!strcmp(argv[i], "-cf")) {
+ if (++i == argc)
+ usage(use_noarg, argv[i-1]);
+@@ -652,7 +652,7 @@ main(int argc, char **argv) {
+ * to write a pid file - we assume they are controlling
+ * the process in some other fashion.
+ */
+- if ((release_mode || exit_mode) && (no_pid_file == ISC_FALSE)) {
++ if ((release_mode || exit_mode) && (no_pid_file == false)) {
+ FILE *pidfd;
+ pid_t oldpid;
+ long temp;
+@@ -4469,7 +4469,7 @@ void write_client_pid_file ()
+ int pfdesc;
+
+ /* nothing to do if the user doesn't want a pid file */
+- if (no_pid_file == ISC_TRUE) {
++ if (no_pid_file == true) {
+ return;
+ }
+
+@@ -4727,7 +4727,7 @@ unsigned cons_agent_information_options
+ static void shutdown_exit (void *foo)
+ {
+ /* get rid of the pid if we can */
+- if (no_pid_file == ISC_FALSE)
++ if (no_pid_file == false)
+ (void) unlink(path_dhclient_pid);
+ finish(0);
+ }
+Index: dhcp-4.4.1/common/inet.c
+===================================================================
+--- dhcp-4.4.1.orig/common/inet.c
++++ dhcp-4.4.1/common/inet.c
+@@ -299,7 +299,7 @@ addr_and(struct iaddr *result, const str
+ *
+ * Because the final ".1" would get masked out by the /8.
+ */
+-isc_boolean_t
++bool
+ is_cidr_mask_valid(const struct iaddr *addr, int bits) {
+ int zero_bits;
+ int zero_bytes;
+@@ -311,10 +311,10 @@ is_cidr_mask_valid(const struct iaddr *a
+ * Check our bit boundaries.
+ */
+ if (bits < 0) {
+- return ISC_FALSE;
++ return false;
+ }
+ if (bits > (addr->len * 8)) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ /*
+@@ -328,7 +328,7 @@ is_cidr_mask_valid(const struct iaddr *a
+ */
+ for (i=1; i<=zero_bytes; i++) {
+ if (addr->iabuf[addr->len-i] != 0) {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+@@ -340,7 +340,7 @@ is_cidr_mask_valid(const struct iaddr *a
+ * happy.
+ */
+ shift_bits = zero_bits % 8;
+- if (shift_bits == 0) return ISC_TRUE;
++ if (shift_bits == 0) return true;
+ byte = addr->iabuf[addr->len-zero_bytes-1];
+ return (((byte >> shift_bits) << shift_bits) == byte);
+ }
+Index: dhcp-4.4.1/common/options.c
+===================================================================
+--- dhcp-4.4.1.orig/common/options.c
++++ dhcp-4.4.1/common/options.c
+@@ -676,7 +676,7 @@ cons_options(struct packet *inpacket, st
+ * the priority_list. This way we'll send it whether or not it
+ * is in the PRL. */
+ if ((inpacket != NULL) && (priority_len < PRIORITY_COUNT) &&
+- (inpacket->sv_echo_client_id == ISC_TRUE)) {
++ (inpacket->sv_echo_client_id == true)) {
+ priority_list[priority_len++] =
+ DHO_DHCP_CLIENT_IDENTIFIER;
+ }
+@@ -1802,7 +1802,7 @@ const char *pretty_print_option (option,
+ const unsigned char *dp = data;
+ char comma;
+ unsigned long tval;
+- isc_boolean_t a_array = ISC_FALSE;
++ bool a_array = false;
+ int len_used;
+
+ if (emit_commas)
+@@ -1828,7 +1828,7 @@ const char *pretty_print_option (option,
+ fmtbuf [l] = option -> format [i];
+ switch (option -> format [i]) {
+ case 'a':
+- a_array = ISC_TRUE;
++ a_array = true;
+ /* Fall through */
+ case 'A':
+ --numelem;
+@@ -1858,7 +1858,7 @@ const char *pretty_print_option (option,
+ hunksize++;
+ comma = ':';
+ numhunk = 0;
+- a_array = ISC_TRUE;
++ a_array = true;
+ hunkinc = 1;
+ }
+ fmtbuf [l + 1] = 0;
+@@ -1954,7 +1954,7 @@ const char *pretty_print_option (option,
+
+ /* If this is an array, compute its size. */
+ if (numhunk == 0) {
+- if (a_array == ISC_TRUE) {
++ if (a_array == true) {
+ /*
+ * It is an 'a' type array - we repeat the
+ * last format type. A binary string for 'X'
+@@ -2006,7 +2006,7 @@ const char *pretty_print_option (option,
+
+ /* Cycle through the array (or hunk) printing the data. */
+ for (i = 0; i < numhunk; i++) {
+- if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) {
++ if ((a_array == true) && (i != 0) && (numelem > 0)) {
+ /*
+ * For 'a' type of arrays we repeat
+ * only the last format character
+@@ -2734,7 +2734,7 @@ save_option(struct universe *universe, s
+ struct option_cache *oc)
+ {
+ if (universe->save_func)
+- (*universe->save_func)(universe, options, oc, ISC_FALSE);
++ (*universe->save_func)(universe, options, oc, true);
+ else
+ log_error("can't store options in %s space.", universe->name);
+ }
+@@ -2745,14 +2745,14 @@ also_save_option(struct universe *univer
+ struct option_cache *oc)
+ {
+ if (universe->save_func)
+- (*universe->save_func)(universe, options, oc, ISC_TRUE);
++ (*universe->save_func)(universe, options, oc, true);
+ else
+ log_error("can't store options in %s space.", universe->name);
+ }
+
+ void
+ save_hashed_option(struct universe *universe, struct option_state *options,
+- struct option_cache *oc, isc_boolean_t appendp)
++ struct option_cache *oc, bool appendp)
+ {
+ int hashix;
+ pair bptr;
+@@ -3062,7 +3062,7 @@ store_option(struct data_string *result,
+ cfg_options, scope, subu);
+ subu = NULL;
+ }
+- } while (ISC_FALSE);
++ } while (false);
+
+ status = append_option(result, universe, oc->option, &tmp);
+ data_string_forget(&tmp, MDL);
+@@ -3459,7 +3459,7 @@ lookup_fqdn6_option(struct universe *uni
+ */
+ void
+ save_fqdn6_option(struct universe *universe, struct option_state *options,
+- struct option_cache *oc, isc_boolean_t appendp)
++ struct option_cache *oc, bool appendp)
+ {
+ log_fatal("Impossible condition at %s:%d.", MDL);
+ }
+@@ -3784,7 +3784,7 @@ void hashed_option_space_foreach (struct
+
+ void
+ save_linked_option(struct universe *universe, struct option_state *options,
+- struct option_cache *oc, isc_boolean_t appendp)
++ struct option_cache *oc, bool appendp)
+ {
+ pair *tail;
+ struct option_chain_head *head;
+@@ -4073,7 +4073,7 @@ packet6_len_okay(const char *packet, int
+ void
+ do_packet6(struct interface_info *interface, const char *packet,
+ int len, int from_port, const struct iaddr *from,
+- isc_boolean_t was_unicast) {
++ bool was_unicast) {
+ unsigned char msg_type;
+ const struct dhcpv6_packet *msg;
+ const struct dhcpv6_relay_packet *relay;
+Index: dhcp-4.4.1/common/parse.c
+===================================================================
+--- dhcp-4.4.1.orig/common/parse.c
++++ dhcp-4.4.1/common/parse.c
+@@ -4952,7 +4952,7 @@ int parse_option_token (rv, cfile, fmt,
+ unsigned len;
+ struct iaddr addr;
+ int compress;
+- isc_boolean_t freeval = ISC_FALSE;
++ bool freeval = false;
+ const char *f, *g;
+ struct enumeration_value *e;
+
+@@ -5038,7 +5038,7 @@ int parse_option_token (rv, cfile, fmt,
+ return 0;
+ }
+ len = strlen (val);
+- freeval = ISC_TRUE;
++ freeval = true;
+ goto make_string;
+
+ case 't': /* Text string... */
+@@ -5055,9 +5055,9 @@ int parse_option_token (rv, cfile, fmt,
+ if (!make_const_data (&t, (const unsigned char *)val,
+ len, 1, 1, MDL))
+ log_fatal ("No memory for concatenation");
+- if (freeval == ISC_TRUE) {
++ if (freeval == true) {
+ dfree((char *)val, MDL);
+- freeval = ISC_FALSE;
++ freeval = false;
+ POST(freeval);
+ }
+ break;
+Index: dhcp-4.4.1/omapip/dispatch.c
+===================================================================
+--- dhcp-4.4.1.orig/omapip/dispatch.c
++++ dhcp-4.4.1/omapip/dispatch.c
+@@ -156,7 +156,7 @@ omapi_iscsock_cb(isc_task_t *task,
+ * This should be a temporary fix until we arrange to properly
+ * close the socket.
+ */
+- if (obj->closed == ISC_TRUE) {
++ if (obj->closed == true) {
+ return(0);
+ }
+ #endif
+@@ -223,7 +223,7 @@ isc_result_t omapi_register_io_object (o
+ status = omapi_io_allocate (&obj, MDL);
+ if (status != ISC_R_SUCCESS)
+ return status;
+- obj->closed = ISC_FALSE; /* mark as open */
++ obj->closed = false; /* mark as open */
+
+ status = omapi_object_reference (&obj -> inner, h, MDL);
+ if (status != ISC_R_SUCCESS) {
+@@ -404,7 +404,7 @@ isc_result_t omapi_unregister_io_object
+ isc_socket_detach(&obj->fd);
+ }
+ #else
+- obj->closed = ISC_TRUE;
++ obj->closed = true;
+ #endif
+
+ omapi_io_dereference (&ph, MDL);
+Index: dhcp-4.4.1/omapip/isclib.c
+===================================================================
+--- dhcp-4.4.1.orig/omapip/isclib.c
++++ dhcp-4.4.1/omapip/isclib.c
+@@ -106,9 +106,9 @@ isclib_cleanup(void)
+ if (dhcp_gbl_ctx.taskmgr != NULL)
+ isc_taskmgr_destroy(&dhcp_gbl_ctx.taskmgr);
+
+- if (dhcp_gbl_ctx.actx_started != ISC_FALSE) {
++ if (dhcp_gbl_ctx.actx_started != false) {
+ isc_app_ctxfinish(dhcp_gbl_ctx.actx);
+- dhcp_gbl_ctx.actx_started = ISC_FALSE;
++ dhcp_gbl_ctx.actx_started = false;
+ }
+
+ if (dhcp_gbl_ctx.actx != NULL)
+@@ -211,7 +211,7 @@ dhcp_context_create(int flags,
+ result = isc_app_ctxstart(dhcp_gbl_ctx.actx);
+ if (result != ISC_R_SUCCESS)
+ return (result);
+- dhcp_gbl_ctx.actx_started = ISC_TRUE;
++ dhcp_gbl_ctx.actx_started = true;
+
+ /* Not all OSs support suppressing SIGPIPE through socket
+ * options, so set the sigal action to be ignore. This allows
+Index: dhcp-4.4.1/omapip/protocol.c
+===================================================================
+--- dhcp-4.4.1.orig/omapip/protocol.c
++++ dhcp-4.4.1/omapip/protocol.c
+@@ -950,14 +950,14 @@ isc_result_t omapi_protocol_stuff_values
+ /* Returns a boolean indicating whether this protocol requires that
+ messages be authenticated or not. */
+
+-isc_boolean_t omapi_protocol_authenticated (omapi_object_t *h)
++bool omapi_protocol_authenticated (omapi_object_t *h)
+ {
+ if (h -> type != omapi_type_protocol)
+- return isc_boolean_false;
++ return false;
+ if (((omapi_protocol_object_t *)h) -> insecure)
+- return isc_boolean_false;
++ return false;
+ else
+- return isc_boolean_true;
++ return true;
+ }
+
+ /* Sets the address and authenticator verification callbacks. The handle
+Index: dhcp-4.4.1/relay/dhcrelay.c
+===================================================================
+--- dhcp-4.4.1.orig/relay/dhcrelay.c
++++ dhcp-4.4.1/relay/dhcrelay.c
+@@ -45,9 +45,9 @@ char *token_line;
+ char *tlname;
+
+ const char *path_dhcrelay_pid = _PATH_DHCRELAY_PID;
+-isc_boolean_t no_dhcrelay_pid = ISC_FALSE;
++bool no_dhcrelay_pid = false;
+ /* False (default) => we write and use a pid file */
+-isc_boolean_t no_pid_file = ISC_FALSE;
++bool no_pid_file = false;
+
+ int bogus_agent_drops = 0; /* Packets dropped because agent option
+ field was specified and we're not relaying
+@@ -82,7 +82,7 @@ int dfd[2] = { -1, -1 };
+
+ #ifdef DHCPv6
+ /* Force use of DHCPv6 interface-id option. */
+-isc_boolean_t use_if_id = ISC_FALSE;
++bool use_if_id = false;
+ #endif
+
+ /* Maximum size of a packet with agent options added. */
+@@ -556,7 +556,7 @@ main(int argc, char **argv) {
+ }
+ local_family_set = 1;
+ local_family = AF_INET6;
+- use_if_id = ISC_TRUE;
++ use_if_id = true;
+ } else if (!strcmp(argv[i], "-l")) {
+ if (local_family_set && (local_family == AF_INET)) {
+ usage(use_v6command, argv[i]);
+@@ -564,7 +564,7 @@ main(int argc, char **argv) {
+ local_family_set = 1;
+ local_family = AF_INET6;
+ if (downstreams != NULL)
+- use_if_id = ISC_TRUE;
++ use_if_id = true;
+ if (++i == argc)
+ usage(use_noarg, argv[i-1]);
+ sl = parse_downstream(argv[i]);
+@@ -595,9 +595,9 @@ main(int argc, char **argv) {
+ if (++i == argc)
+ usage(use_noarg, argv[i-1]);
+ path_dhcrelay_pid = argv[i];
+- no_dhcrelay_pid = ISC_TRUE;
++ no_dhcrelay_pid = true;
+ } else if (!strcmp(argv[i], "--no-pid")) {
+- no_pid_file = ISC_TRUE;
++ no_pid_file = true;
+ } else if (argv[i][0] == '-') {
+ usage("Unknown command: %s", argv[i]);
+ } else {
+@@ -645,7 +645,7 @@ main(int argc, char **argv) {
+ * If the user didn't specify a pid file directly
+ * find one from environment variables or defaults
+ */
+- if (no_dhcrelay_pid == ISC_FALSE) {
++ if (no_dhcrelay_pid == false) {
+ if (local_family == AF_INET) {
+ path_dhcrelay_pid = getenv("PATH_DHCRELAY_PID");
+ if (path_dhcrelay_pid == NULL)
+@@ -774,7 +774,7 @@ main(int argc, char **argv) {
+ }
+
+ /* Create the pid file. */
+- if (no_pid_file == ISC_FALSE) {
++ if (no_pid_file == false) {
+ pfdesc = open(path_dhcrelay_pid,
+ O_CREAT | O_TRUNC | O_WRONLY, 0644);
+
+@@ -1569,7 +1569,7 @@ static void
+ setup_streams(void) {
+ struct stream_list *dp, *up;
+ int i;
+- isc_boolean_t link_is_set;
++ bool link_is_set;
+
+ for (dp = downstreams; dp; dp = dp->next) {
+ /* Check interface */
+@@ -1579,9 +1579,9 @@ setup_streams(void) {
+
+ /* Check/set link. */
+ if (IN6_IS_ADDR_UNSPECIFIED(&dp->link.sin6_addr))
+- link_is_set = ISC_FALSE;
++ link_is_set = false;
+ else
+- link_is_set = ISC_TRUE;
++ link_is_set = true;
+ for (i = 0; i < dp->ifp->v6address_count; i++) {
+ if (IN6_IS_ADDR_LINKLOCAL(&dp->ifp->v6addresses[i]))
+ continue;
+@@ -2076,7 +2076,7 @@ dhcp_set_control_state(control_object_st
+ if (newstate != server_shutdown)
+ return ISC_R_SUCCESS;
+
+- if (no_pid_file == ISC_FALSE)
++ if (no_pid_file == false)
+ (void) unlink(path_dhcrelay_pid);
+
+ if (!no_daemon && dfd[0] != -1 && dfd[1] != -1) {
+Index: dhcp-4.4.1/server/dhcp.c
+===================================================================
+--- dhcp-4.4.1.orig/server/dhcp.c
++++ dhcp-4.4.1/server/dhcp.c
+@@ -225,7 +225,7 @@ dhcp (struct packet *packet) {
+ packet->options->universe_count =
+ agent_universe.index + 1;
+
+- packet->agent_options_stashed = ISC_TRUE;
++ packet->agent_options_stashed = true;
+ }
+ nolease:
+
+@@ -1094,7 +1094,7 @@ void dhcpinform (packet, ms_nulltp)
+ int nulltp;
+ struct sockaddr_in to;
+ struct in_addr from;
+- isc_boolean_t zeroed_ciaddr;
++ bool zeroed_ciaddr;
+ struct interface_info *interface;
+ int result, h_m_client_ip = 0;
+ struct host_decl *host = NULL, *hp = NULL, *h;
+@@ -1109,7 +1109,7 @@ void dhcpinform (packet, ms_nulltp)
+ it's common for clients not to do this, so we'll use their IP
+ source address if they didn't set ciaddr. */
+ if (!packet->raw->ciaddr.s_addr) {
+- zeroed_ciaddr = ISC_TRUE;
++ zeroed_ciaddr = true;
+ /* With DHCPv4-over-DHCPv6 it can be an IPv6 address
+ so we check its length. */
+ if (packet->client_addr.len == 4) {
+@@ -1122,7 +1122,7 @@ void dhcpinform (packet, ms_nulltp)
+ addr_type = "v4o6";
+ }
+ } else {
+- zeroed_ciaddr = ISC_FALSE;
++ zeroed_ciaddr = false;
+ cip.len = 4;
+ memcpy(cip.iabuf, &packet->raw->ciaddr, 4);
+ addr_type = "client";
+@@ -1133,7 +1133,7 @@ void dhcpinform (packet, ms_nulltp)
+ if (packet->raw->giaddr.s_addr) {
+ gip.len = 4;
+ memcpy(gip.iabuf, &packet->raw->giaddr, 4);
+- if (zeroed_ciaddr == ISC_TRUE) {
++ if (zeroed_ciaddr == true) {
+ addr_type = "relay";
+ memcpy(sip.iabuf, gip.iabuf, 4);
+ }
+@@ -1207,7 +1207,7 @@ void dhcpinform (packet, ms_nulltp)
+ save_option(&dhcp_universe, options, noc);
+ option_cache_dereference(&noc, MDL);
+
+- if ((zeroed_ciaddr == ISC_TRUE) && (gip.len != 0))
++ if ((zeroed_ciaddr == true) && (gip.len != 0))
+ addr_type = "relay link select";
+ else
+ addr_type = "selected";
+@@ -1261,7 +1261,7 @@ void dhcpinform (packet, ms_nulltp)
+ NULL, NULL);
+
+ /* If we have ciaddr, find its lease so we can find its pool. */
+- if (zeroed_ciaddr == ISC_FALSE) {
++ if (zeroed_ciaddr == false) {
+ struct lease* cip_lease = NULL;
+
+ find_lease_by_ip_addr (&cip_lease, cip, MDL);
+@@ -2036,7 +2036,7 @@ void echo_client_id(packet, lease, in_op
+ unsigned int opcode = DHO_DHCP_CLIENT_IDENTIFIER;
+
+ /* Save knowledge that echo is enabled to the packet */
+- packet->sv_echo_client_id = ISC_TRUE;
++ packet->sv_echo_client_id = true;
+
+ /* Now see if inbound packet contains client-id */
+ oc = lookup_option(&dhcp_universe, packet->options, opcode);
+@@ -2187,7 +2187,7 @@ void ack_lease (packet, lease, offer, wh
+ struct iaddr cip;
+ #if defined(DELAYED_ACK)
+ /* By default we don't do the enqueue */
+- isc_boolean_t enqueue = ISC_FALSE;
++ bool enqueue = false;
+ #endif
+ int use_old_lease = 0;
+
+@@ -3217,7 +3217,7 @@ void ack_lease (packet, lease, offer, wh
+ * can just answer right away, set a flag to indicate this.
+ */
+ if (commit)
+- enqueue = ISC_TRUE;
++ enqueue = true;
+
+ /* Install the new information on 'lt' onto the lease at
+ * 'lease'. We will not 'commit' this information to disk
+@@ -4234,7 +4234,7 @@ int find_lease (struct lease **lp,
+ * preference, so the first one is the best one.
+ */
+ while (uid_lease) {
+- isc_boolean_t do_release = !packet->raw->ciaddr.s_addr;
++ bool do_release = !packet->raw->ciaddr.s_addr;
+ #if defined (DEBUG_FIND_LEASE)
+ log_info ("trying next lease matching client id: %s",
+ piaddr (uid_lease -> ip_addr));
+@@ -4267,7 +4267,7 @@ int find_lease (struct lease **lp,
+ #endif
+ /* Allow multiple leases using the same UID
+ on different subnetworks. */
+- do_release = ISC_FALSE;
++ do_release = false;
+ goto n_uid;
+ }
+
+@@ -5331,7 +5331,7 @@ get_server_source_address(struct in_addr
+ struct option_cache *oc = NULL;
+ struct data_string d;
+ struct in_addr *a = NULL;
+- isc_boolean_t found = ISC_FALSE;
++ bool found = false;
+ int allocate = 0;
+
+ memset(&d, 0, sizeof(d));
+@@ -5344,7 +5344,7 @@ get_server_source_address(struct in_addr
+ packet->options, options,
+ &global_scope, oc, MDL)) {
+ if (d.len == sizeof(*from)) {
+- found = ISC_TRUE;
++ found = true;
+ memcpy(from, d.data, sizeof(*from));
+
+ /*
+@@ -5362,7 +5362,7 @@ get_server_source_address(struct in_addr
+ oc = NULL;
+ }
+
+- if ((found == ISC_FALSE) &&
++ if ((found == false) &&
+ (packet->interface->address_count > 0)) {
+ *from = packet->interface->addresses[0];
+
+Index: dhcp-4.4.1/server/failover.c
+===================================================================
+--- dhcp-4.4.1.orig/server/failover.c
++++ dhcp-4.4.1/server/failover.c
+@@ -45,7 +45,7 @@ static isc_result_t failover_message_der
+ static void dhcp_failover_pool_balance(dhcp_failover_state_t *state);
+ static void dhcp_failover_pool_reqbalance(dhcp_failover_state_t *state);
+ static int dhcp_failover_pool_dobalance(dhcp_failover_state_t *state,
+- isc_boolean_t *sendreq);
++ bool *sendreq);
+ static inline int secondary_not_hoarding(dhcp_failover_state_t *state,
+ struct pool *p);
+ static void scrub_lease(struct lease* lease, const char *file, int line);
+@@ -2464,7 +2464,7 @@ void
+ dhcp_failover_pool_rebalance(void *failover_state)
+ {
+ dhcp_failover_state_t *state;
+- isc_boolean_t sendreq = ISC_FALSE;
++ bool sendreq = false;
+
+ state = (dhcp_failover_state_t *)failover_state;
+
+@@ -2512,7 +2512,7 @@ dhcp_failover_pool_reqbalance(dhcp_failo
+ */
+ static int
+ dhcp_failover_pool_dobalance(dhcp_failover_state_t *state,
+- isc_boolean_t *sendreq)
++ bool *sendreq)
+ {
+ int lts, total, thresh, hold, panic, pass;
+ int leases_queued = 0;
+@@ -2581,7 +2581,7 @@ dhcp_failover_pool_dobalance(dhcp_failov
+
+ if ((sendreq != NULL) && (lts < panic)) {
+ reqlog = " (requesting peer rebalance!)";
+- *sendreq = ISC_TRUE;
++ *sendreq = true;
+ } else
+ reqlog = "";
+
+@@ -5111,7 +5111,7 @@ isc_result_t dhcp_failover_send_update_d
+ * a more detailed system of preferences is required, so this is something we
+ * should monitor as we gain experience with these dueling events.
+ */
+-static isc_boolean_t
++static bool
+ failover_lease_is_better(dhcp_failover_state_t *state, struct lease *lease,
+ failover_message_t *msg)
+ {
+@@ -5132,15 +5132,15 @@ failover_lease_is_better(dhcp_failover_s
+ case FTS_ACTIVE:
+ if (msg->binding_status == FTS_ACTIVE) {
+ if (msg_cltt < lease->cltt)
+- return ISC_TRUE;
++ return true;
+ else if (msg_cltt > lease->cltt)
+- return ISC_FALSE;
++ return false;
+ else if (state->i_am == primary)
+- return ISC_TRUE;
++ return true;
+ else
+- return ISC_FALSE;
++ return false;
+ } else if (msg->binding_status == FTS_EXPIRED) {
+- return ISC_FALSE;
++ return false;
+ }
+ /* FALL THROUGH */
+
+@@ -5151,11 +5151,11 @@ failover_lease_is_better(dhcp_failover_s
+ case FTS_ABANDONED:
+ case FTS_RESET:
+ if (msg->binding_status == FTS_ACTIVE)
+- return ISC_FALSE;
++ return false;
+ else if (state->i_am == primary)
+- return ISC_TRUE;
++ return true;
+ else
+- return ISC_FALSE;
++ return false;
+ /* FALL THROUGH to impossible condition */
+
+ default:
+@@ -5164,7 +5164,7 @@ failover_lease_is_better(dhcp_failover_s
+
+ log_fatal("Impossible condition at %s:%d.", MDL);
+ /* Silence compiler warning. */
+- return ISC_FALSE;
++ return false;
+ }
+
+ isc_result_t dhcp_failover_process_bind_update (dhcp_failover_state_t *state,
+@@ -5177,8 +5177,8 @@ isc_result_t dhcp_failover_process_bind_
+ int new_binding_state;
+ int send_to_backup = 0;
+ int required_options;
+- isc_boolean_t chaddr_changed = ISC_FALSE;
+- isc_boolean_t ident_changed = ISC_FALSE;
++ bool chaddr_changed = false;
++ bool ident_changed = false;
+
+ /* Validate the binding update. */
+ required_options = FTB_ASSIGNED_IP_ADDRESS | FTB_BINDING_STATUS;
+@@ -5250,7 +5250,7 @@ isc_result_t dhcp_failover_process_bind_
+ if ((lt->hardware_addr.hlen != msg->chaddr.count) ||
+ (memcmp(lt->hardware_addr.hbuf, msg->chaddr.data,
+ msg->chaddr.count) != 0))
+- chaddr_changed = ISC_TRUE;
++ chaddr_changed = true;
+
+ lt -> hardware_addr.hlen = msg -> chaddr.count;
+ memcpy (lt -> hardware_addr.hbuf, msg -> chaddr.data,
+@@ -5262,7 +5262,7 @@ isc_result_t dhcp_failover_process_bind_
+ reason = FTR_MISSING_BINDINFO;
+ goto bad;
+ } else if (msg->binding_status == FTS_ABANDONED) {
+- chaddr_changed = ISC_TRUE;
++ chaddr_changed = true;
+ lt->hardware_addr.hlen = 0;
+ if (lt->scope)
+ binding_scope_dereference(&lt->scope, MDL);
+@@ -5282,7 +5282,7 @@ isc_result_t dhcp_failover_process_bind_
+ (lt->uid == NULL) || /* Sanity; should never happen. */
+ (memcmp(lt->uid, msg->client_identifier.data,
+ lt->uid_len) != 0))
+- ident_changed = ISC_TRUE;
++ ident_changed = true;
+
+ lt->uid_len = msg->client_identifier.count;
+
+@@ -5312,7 +5312,7 @@ isc_result_t dhcp_failover_process_bind_
+ } else if (lt->uid && msg->binding_status != FTS_RESET &&
+ msg->binding_status != FTS_FREE &&
+ msg->binding_status != FTS_BACKUP) {
+- ident_changed = ISC_TRUE;
++ ident_changed = true;
+ if (lt->uid != lt->uid_buf)
+ dfree (lt->uid, MDL);
+ lt->uid = NULL;
+@@ -5347,7 +5347,7 @@ isc_result_t dhcp_failover_process_bind_
+ if (msg->binding_status == FTS_ACTIVE &&
+ (chaddr_changed || ident_changed)) {
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
++ (void) ddns_removals(lease, NULL, NULL, false);
+ #endif /* NSUPDATE */
+
+ if (lease->scope != NULL)
+@@ -5534,7 +5534,7 @@ isc_result_t dhcp_failover_process_bind_
+ struct iaddr ia;
+ const char *message = "no memory";
+ u_int32_t pot_expire;
+- int send_to_backup = ISC_FALSE;
++ int send_to_backup = false;
+ struct timeval tv;
+
+ ia.len = sizeof msg -> assigned_addr;
+@@ -5621,7 +5621,7 @@ isc_result_t dhcp_failover_process_bind_
+ if (state->i_am == primary &&
+ !(lease->flags & (RESERVED_LEASE | BOOTP_LEASE)) &&
+ peer_wants_lease(lease))
+- send_to_backup = ISC_TRUE;
++ send_to_backup = true;
+
+ if (!send_to_backup && state->me.state == normal)
+ commit_leases();
+Index: dhcp-4.4.1/server/dhcpd.c
+===================================================================
+--- dhcp-4.4.1.orig/server/dhcpd.c
++++ dhcp-4.4.1/server/dhcpd.c
+@@ -98,7 +98,7 @@ const char *path_dhcpd_conf = _PATH_DHCP
+ const char *path_dhcpd_db = _PATH_DHCPD_DB;
+ const char *path_dhcpd_pid = _PATH_DHCPD_PID;
+ /* False (default) => we write and use a pid file */
+-isc_boolean_t no_pid_file = ISC_FALSE;
++bool no_pid_file = false;
+
+ int dhcp_max_agent_option_packet_length = DHCP_MTU_MAX;
+
+@@ -476,7 +476,7 @@ main(int argc, char **argv) {
+ path_dhcpd_pid = argv [i];
+ have_dhcpd_pid = 1;
+ } else if (!strcmp(argv[i], "--no-pid")) {
+- no_pid_file = ISC_TRUE;
++ no_pid_file = true;
+ } else if (!strcmp (argv [i], "-t")) {
+ /* test configurations only */
+ #ifndef DEBUG
+@@ -863,7 +863,7 @@ main(int argc, char **argv) {
+ * - we don't have a pid file to check
+ * - there is no other process running
+ */
+- if ((lftest == 0) && (no_pid_file == ISC_FALSE)) {
++ if ((lftest == 0) && (no_pid_file == false)) {
+ /*Read previous pid file. */
+ if ((i = open(path_dhcpd_pid, O_RDONLY)) >= 0) {
+ status = read(i, pbuf, (sizeof pbuf) - 1);
+@@ -974,7 +974,7 @@ main(int argc, char **argv) {
+ * that we have forked we can write our pid if
+ * appropriate.
+ */
+- if (no_pid_file == ISC_FALSE) {
++ if (no_pid_file == false) {
+ i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644);
+ if (i >= 0) {
+ sprintf(pbuf, "%d\n", (int) getpid());
+@@ -1730,7 +1730,7 @@ static isc_result_t dhcp_io_shutdown_cou
+ free_everything ();
+ omapi_print_dmalloc_usage_by_caller ();
+ #endif
+- if (no_pid_file == ISC_FALSE)
++ if (no_pid_file == false)
+ (void) unlink(path_dhcpd_pid);
+ exit (0);
+ }
+@@ -1741,7 +1741,7 @@ static isc_result_t dhcp_io_shutdown_cou
+ free_everything ();
+ omapi_print_dmalloc_usage_by_caller ();
+ #endif
+- if (no_pid_file == ISC_FALSE)
++ if (no_pid_file == false)
+ (void) unlink(path_dhcpd_pid);
+ exit (0);
+ }
+@@ -1750,7 +1750,7 @@ static isc_result_t dhcp_io_shutdown_cou
+ #if defined(FAILOVER_PROTOCOL)
+ !failover_connection_count &&
+ #endif
+- ISC_TRUE) {
++ true) {
+ shutdown_state = shutdown_done;
+ shutdown_time = cur_time;
+ goto oncemore;
+Index: dhcp-4.4.1/server/mdb6.c
+===================================================================
+--- dhcp-4.4.1.orig/server/mdb6.c
++++ dhcp-4.4.1/server/mdb6.c
+@@ -514,10 +514,10 @@ ia_remove_all_lease(struct ia_xx *ia, co
+ /*
+ * Compare two IA.
+ */
+-isc_boolean_t
++bool
+ ia_equal(const struct ia_xx *a, const struct ia_xx *b)
+ {
+- isc_boolean_t found;
++ bool found;
+ int i, j;
+
+ /*
+@@ -525,9 +525,9 @@ ia_equal(const struct ia_xx *a, const st
+ */
+ if (a == NULL) {
+ if (b == NULL) {
+- return ISC_TRUE;
++ return true;
+ } else {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+@@ -535,58 +535,58 @@ ia_equal(const struct ia_xx *a, const st
+ * Check the type is the same.
+ */
+ if (a->ia_type != b->ia_type) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ /*
+ * Check the DUID is the same.
+ */
+ if (a->iaid_duid.len != b->iaid_duid.len) {
+- return ISC_FALSE;
++ return false;
+ }
+ if (memcmp(a->iaid_duid.data,
+ b->iaid_duid.data, a->iaid_duid.len) != 0) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ /*
+ * Make sure we have the same number of addresses/prefixes in each.
+ */
+ if (a->num_iasubopt != b->num_iasubopt) {
+- return ISC_FALSE;
++ return false;
+ }
+
+ /*
+ * Check that each address/prefix is present in both.
+ */
+ for (i=0; i<a->num_iasubopt; i++) {
+- found = ISC_FALSE;
++ found = false;
+ for (j=0; j<a->num_iasubopt; j++) {
+ if (a->iasubopt[i]->plen != b->iasubopt[i]->plen)
+ continue;
+ if (memcmp(&(a->iasubopt[i]->addr),
+ &(b->iasubopt[j]->addr),
+ sizeof(struct in6_addr)) == 0) {
+- found = ISC_TRUE;
++ found = true;
+ break;
+ }
+ }
+ if (!found) {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+ /*
+ * These are the same in every way we care about.
+ */
+- return ISC_TRUE;
++ return true;
+ }
+
+ /*
+ * Helper function for lease heaps.
+ * Makes the top of the heap the oldest lease.
+ */
+-static isc_boolean_t
++static bool
+ lease_older(void *a, void *b) {
+ struct iasubopt *la = (struct iasubopt *)a;
+ struct iasubopt *lb = (struct iasubopt *)b;
+@@ -1038,8 +1038,8 @@ create_lease6(struct ipv6_pool *pool, st
+ struct data_string new_ds;
+ struct iasubopt *iaaddr;
+ isc_result_t result;
+- isc_boolean_t reserved_iid;
+- static isc_boolean_t init_resiid = ISC_FALSE;
++ bool reserved_iid;
++ static bool init_resiid = false;
+
+ /*
+ * Fill the reserved IIDs.
+@@ -1049,7 +1049,7 @@ create_lease6(struct ipv6_pool *pool, st
+ memset(&resany, 0, 8);
+ resany.s6_addr[8] = 0xfd;
+ memset(&resany.s6_addr[9], 0xff, 6);
+- init_resiid = ISC_TRUE;
++ init_resiid = true;
+ }
+
+ /*
+@@ -1094,14 +1094,14 @@ create_lease6(struct ipv6_pool *pool, st
+ /*
+ * Avoid reserved interface IDs. (cf. RFC 5453)
+ */
+- reserved_iid = ISC_FALSE;
++ reserved_iid = false;
+ if (memcmp(&tmp.s6_addr[8], &rtany.s6_addr[8], 8) == 0) {
+- reserved_iid = ISC_TRUE;
++ reserved_iid = true;
+ }
+ if (!reserved_iid &&
+ (memcmp(&tmp.s6_addr[8], &resany.s6_addr[8], 7) == 0) &&
+ ((tmp.s6_addr[15] & 0x80) == 0x80)) {
+- reserved_iid = ISC_TRUE;
++ reserved_iid = true;
+ }
+
+ /*
+@@ -1177,7 +1177,7 @@ create_lease6_eui_64(struct ipv6_pool *p
+ struct iasubopt *test_iaaddr;
+ struct iasubopt *iaaddr;
+ isc_result_t result;
+- static isc_boolean_t init_resiid = ISC_FALSE;
++ static bool init_resiid = false;
+
+ /* Fill the reserved IIDs. */
+ if (!init_resiid) {
+@@ -1185,7 +1185,7 @@ create_lease6_eui_64(struct ipv6_pool *p
+ memset(&resany, 0, 8);
+ resany.s6_addr[8] = 0xfd;
+ memset(&resany.s6_addr[9], 0xff, 6);
+- init_resiid = ISC_TRUE;
++ init_resiid = true;
+ }
+
+ /* Pool must be IA_NA */
+@@ -1520,7 +1520,7 @@ add_lease6(struct ipv6_pool *pool, struc
+ /*
+ * Determine if an address is present in a pool or not.
+ */
+-isc_boolean_t
++bool
+ lease6_exists(const struct ipv6_pool *pool, const struct in6_addr *addr) {
+ struct iasubopt *test_iaaddr;
+
+@@ -1528,9 +1528,9 @@ lease6_exists(const struct ipv6_pool *po
+ if (iasubopt_hash_lookup(&test_iaaddr, pool->leases,
+ (void *)addr, sizeof(*addr), MDL)) {
+ iasubopt_dereference(&test_iaaddr, MDL);
+- return ISC_TRUE;
++ return true;
+ } else {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+@@ -1545,20 +1545,20 @@ lease6_exists(const struct ipv6_pool *po
+ * \param[in] lease = lease to check
+ *
+ * \return
+- * ISC_TRUE = The lease is allowed to use that address
+- * ISC_FALSE = The lease isn't allowed to use that address
++ * true = The lease is allowed to use that address
++ * false = The lease isn't allowed to use that address
+ */
+-isc_boolean_t
++bool
+ lease6_usable(struct iasubopt *lease) {
+ struct iasubopt *test_iaaddr;
+- isc_boolean_t status = ISC_TRUE;
++ bool status = true;
+
+ test_iaaddr = NULL;
+ if (iasubopt_hash_lookup(&test_iaaddr, lease->ipv6_pool->leases,
+ (void *)&lease->addr,
+ sizeof(lease->addr), MDL)) {
+ if (test_iaaddr != lease) {
+- status = ISC_FALSE;
++ status = false;
+ }
+ iasubopt_dereference(&test_iaaddr, MDL);
+ }
+@@ -1697,7 +1697,7 @@ move_lease_to_inactive(struct ipv6_pool
+ #if defined (NSUPDATE)
+ /* Process events upon expiration. */
+ if (pool->pool_type != D6O_IA_PD) {
+- (void) ddns_removals(NULL, lease, NULL, ISC_FALSE);
++ (void) ddns_removals(NULL, lease, NULL, false);
+ }
+ #endif
+
+@@ -1977,21 +1977,21 @@ create_prefix6(struct ipv6_pool *pool, s
+ /*
+ * Determine if a prefix is present in a pool or not.
+ */
+-isc_boolean_t
++bool
+ prefix6_exists(const struct ipv6_pool *pool,
+ const struct in6_addr *pref, u_int8_t plen) {
+ struct iasubopt *test_iapref;
+
+ if ((int)plen != pool->units)
+- return ISC_FALSE;
++ return false;
+
+ test_iapref = NULL;
+ if (iasubopt_hash_lookup(&test_iapref, pool->leases,
+ (void *)pref, sizeof(*pref), MDL)) {
+ iasubopt_dereference(&test_iapref, MDL);
+- return ISC_TRUE;
++ return true;
+ } else {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+@@ -2267,15 +2267,15 @@ ipv6_network_portion(struct in6_addr *re
+ /*
+ * Determine if the given address/prefix is in the pool.
+ */
+-isc_boolean_t
++bool
+ ipv6_in_pool(const struct in6_addr *addr, const struct ipv6_pool *pool) {
+ struct in6_addr tmp;
+
+ ipv6_network_portion(&tmp, addr, pool->bits);
+ if (memcmp(&tmp, &pool->start_addr, sizeof(tmp)) == 0) {
+- return ISC_TRUE;
++ return true;
+ } else {
+- return ISC_FALSE;
++ return false;
+ }
+ }
+
+Index: dhcp-4.4.1/server/ddns.c
+===================================================================
+--- dhcp-4.4.1.orig/server/ddns.c
++++ dhcp-4.4.1/server/ddns.c
+@@ -373,7 +373,7 @@ ddns_updates(struct packet *packet, stru
+
+ /* If desired do the removals */
+ if (do_remove != 0) {
+- (void) ddns_removals(lease, lease6, NULL, ISC_TRUE);
++ (void) ddns_removals(lease, lease6, NULL, true);
+ }
+ goto out;
+ }
+@@ -618,7 +618,7 @@ ddns_updates(struct packet *packet, stru
+ * We should log a more specific error closer to the actual
+ * error if we want one. ddns_removal failure not logged here.
+ */
+- (void) ddns_removals(lease, lease6, ddns_cb, ISC_TRUE);
++ (void) ddns_removals(lease, lease6, ddns_cb, true);
+ }
+ else {
+ ddns_fwd_srv_connector(lease, lease6, scope, ddns_cb,
+@@ -1907,7 +1907,7 @@ ddns_fwd_srv_rem1(dhcp_ddns_cb_t *ddns_c
+ * the current entry.
+ *
+ * \li active - indication about the status of the lease. It is
+- * ISC_TRUE if the lease is still active, and FALSE if the lease
++ * true if the lease is still active, and FALSE if the lease
+ * is inactive. This is used to indicate if the lease is inactive or going
+ * to inactive so we can avoid trying to update the lease with cb pointers
+ * and text information if it isn't useful.
+@@ -1923,7 +1923,7 @@ isc_result_t
+ ddns_removals(struct lease *lease,
+ struct iasubopt *lease6,
+ dhcp_ddns_cb_t *add_ddns_cb,
+- isc_boolean_t active)
++ bool active)
+ {
+ isc_result_t rcode, execute_add = ISC_R_FAILURE;
+ struct binding_scope **scope = NULL;
+@@ -1970,7 +1970,7 @@ ddns_removals(struct lease *lease,
+ if (((ddns_cb->state == DDNS_STATE_ADD_PTR) ||
+ (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) ||
+ (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) ||
+- ((active == ISC_FALSE) &&
++ ((active == false) &&
+ ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) {
+ /* Cancel the current request */
+ ddns_cancel(lease->ddns_cb, MDL);
+@@ -1998,7 +1998,7 @@ ddns_removals(struct lease *lease,
+ if (((ddns_cb->state == DDNS_STATE_ADD_PTR) ||
+ (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) ||
+ (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) ||
+- ((active == ISC_FALSE) &&
++ ((active == false) &&
+ ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) {
+ /* Cancel the current request */
+ ddns_cancel(lease6->ddns_cb, MDL);
+@@ -2053,7 +2053,7 @@ ddns_removals(struct lease *lease,
+ * the lease information for v6 when the response
+ * from the DNS code is processed.
+ */
+- if (active == ISC_TRUE) {
++ if (active == true) {
+ ddns_cb->flags |= DDNS_ACTIVE_LEASE;
+ }
+
+Index: dhcp-4.4.1/server/mdb.c
+===================================================================
+--- dhcp-4.4.1.orig/server/mdb.c
++++ dhcp-4.4.1/server/mdb.c
+@@ -1504,7 +1504,7 @@ void make_binding_state_transition (stru
+ lease -> binding_state == FTS_ACTIVE &&
+ lease -> next_binding_state != FTS_RELEASED))) {
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_TRUE);
++ (void) ddns_removals(lease, NULL, NULL, true);
+ #endif
+ if (lease->on_star.on_expiry) {
+ execute_statements(NULL, NULL, lease,
+@@ -1568,7 +1568,7 @@ void make_binding_state_transition (stru
+ * release message. This is not true of expiry, where the
+ * peer may have extended the lease.
+ */
+- (void) ddns_removals(lease, NULL, NULL, ISC_TRUE);
++ (void) ddns_removals(lease, NULL, NULL, true);
+ #endif
+ if (lease->on_star.on_release) {
+ execute_statements(NULL, NULL, lease,
+@@ -1736,7 +1736,7 @@ void release_lease (lease, packet)
+ /* If there are statements to execute when the lease is
+ released, execute them. */
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
++ (void) ddns_removals(lease, NULL, NULL, false);
+ #endif
+ if (lease->on_star.on_release) {
+ execute_statements (NULL, packet, lease,
+@@ -1810,7 +1810,7 @@ void abandon_lease (lease, message)
+ {
+ struct lease *lt = NULL;
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
++ (void) ddns_removals(lease, NULL, NULL, false);
+ #endif
+
+ if (!lease_copy(&lt, lease, MDL)) {
+@@ -1860,7 +1860,7 @@ void dissociate_lease (lease)
+ {
+ struct lease *lt = (struct lease *)0;
+ #if defined (NSUPDATE)
+- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
++ (void) ddns_removals(lease, NULL, NULL, false);
+ #endif
+
+ if (!lease_copy (&lt, lease, MDL))
+@@ -2072,38 +2072,38 @@ int find_lease_by_hw_addr (struct lease
+ * should never see reset leases for this.
+ * 4) Abandoned leases are always dead last.
+ */
+-static isc_boolean_t
++static bool
+ client_lease_preferred(struct lease *cand, struct lease *lease)
+ {
+ if (cand->binding_state == FTS_ACTIVE) {
+ if (lease->binding_state == FTS_ACTIVE &&
+ lease->ends >= cand->ends)
+- return ISC_TRUE;
++ return true;
+ } else if (cand->binding_state == FTS_EXPIRED ||
+ cand->binding_state == FTS_RELEASED) {
+ if (lease->binding_state == FTS_ACTIVE)
+- return ISC_TRUE;
++ return true;
+
+ if ((lease->binding_state == FTS_EXPIRED ||
+ lease->binding_state == FTS_RELEASED) &&
+ lease->cltt >= cand->cltt)
+- return ISC_TRUE;
++ return true;
+ } else if (cand->binding_state != FTS_ABANDONED) {
+ if (lease->binding_state == FTS_ACTIVE ||
+ lease->binding_state == FTS_EXPIRED ||
+ lease->binding_state == FTS_RELEASED)
+- return ISC_TRUE;
++ return true;
+
+ if (lease->binding_state != FTS_ABANDONED &&
+ lease->cltt >= cand->cltt)
+- return ISC_TRUE;
++ return true;
+ } else /* (cand->binding_state == FTS_ABANDONED) */ {
+ if (lease->binding_state != FTS_ABANDONED ||
+ lease->cltt >= cand->cltt)
+- return ISC_TRUE;
++ return true;
+ }
+
+- return ISC_FALSE;
++ return false;
+ }
+
+ /* Add the specified lease to the uid hash. */
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0008-tweak-to-support-external-bind.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0008-tweak-to-support-external-bind.patch
deleted file mode 100644
index 006d18ae7..000000000
--- a/poky/meta/recipes-connectivity/dhcp/dhcp/0008-tweak-to-support-external-bind.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 92875f5cc44914515e50c11c503a09cec90497b2 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 11 Jun 2016 22:51:44 -0400
-Subject: [PATCH 08/11] tweak to support external bind
-
-Tweak the external bind to oe-core's sysroot rather than
-external bind source build.
-
-Upstream-Status: Inappropriate <oe-core specific>
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- client/Makefile.am | 2 +-
- client/tests/Makefile.am | 2 +-
- common/tests/Makefile.am | 2 +-
- dhcpctl/Makefile.am | 2 +-
- omapip/Makefile.am | 2 +-
- relay/Makefile.am | 2 +-
- server/Makefile.am | 2 +-
- server/tests/Makefile.am | 2 +-
- 8 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/client/Makefile.am b/client/Makefile.am
-index 4730bb3..84d8131 100644
---- a/client/Makefile.am
-+++ b/client/Makefile.am
-@@ -4,7 +4,7 @@
- # production code. Sadly, we are not there yet.
- SUBDIRS = . tests
-
--BINDLIBDIR = @BINDDIR@/lib
-+BINDLIBDIR = @BINDDIR@
-
- AM_CPPFLAGS = -DCLIENT_PATH='"PATH=$(sbindir):/sbin:/bin:/usr/sbin:/usr/bin"' \
- -DLOCALSTATEDIR='"$(localstatedir)"' -I$(top_srcdir)/includes
-diff --git a/client/tests/Makefile.am b/client/tests/Makefile.am
-index 5031d0c..a8dfd26 100644
---- a/client/tests/Makefile.am
-+++ b/client/tests/Makefile.am
-@@ -1,6 +1,6 @@
- SUBDIRS = .
-
--BINDLIBDIR = @BINDDIR@/lib
-+BINDLIBDIR = @BINDDIR@
-
- AM_CPPFLAGS = $(ATF_CFLAGS) -DUNIT_TEST -I$(top_srcdir)/includes
- AM_CPPFLAGS += -I@BINDDIR@/include -I$(top_srcdir)
-diff --git a/common/tests/Makefile.am b/common/tests/Makefile.am
-index f6a43e4..2f98d22 100644
---- a/common/tests/Makefile.am
-+++ b/common/tests/Makefile.am
-@@ -1,6 +1,6 @@
- SUBDIRS = .
-
--BINDLIBDIR = @BINDDIR@/lib
-+BINDLIBDIR = @BINDDIR@
-
- AM_CPPFLAGS = $(ATF_CFLAGS) -I$(top_srcdir)/includes
-
-diff --git a/dhcpctl/Makefile.am b/dhcpctl/Makefile.am
-index ba8dd8b..9b2486e 100644
---- a/dhcpctl/Makefile.am
-+++ b/dhcpctl/Makefile.am
-@@ -1,4 +1,4 @@
--BINDLIBDIR = @BINDDIR@/lib
-+BINDLIBDIR = @BINDDIR@
-
- AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_srcdir)
-
-diff --git a/omapip/Makefile.am b/omapip/Makefile.am
-index dd1afa0..e4a8599 100644
---- a/omapip/Makefile.am
-+++ b/omapip/Makefile.am
-@@ -1,4 +1,4 @@
--BINDLIBDIR = @BINDDIR@/lib
-+BINDLIBDIR = @BINDDIR@
- AM_CPPFLAGS = -I$(top_srcdir)/includes
-
- lib_LIBRARIES = libomapi.a
-diff --git a/relay/Makefile.am b/relay/Makefile.am
-index 6d652f6..b3bf578 100644
---- a/relay/Makefile.am
-+++ b/relay/Makefile.am
-@@ -1,4 +1,4 @@
--BINDLIBDIR = @BINDDIR@/lib
-+BINDLIBDIR = @BINDDIR@
-
- AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"' -I$(top_srcdir)/includes
-
-diff --git a/server/Makefile.am b/server/Makefile.am
-index 3990b9c..b5d8c2d 100644
---- a/server/Makefile.am
-+++ b/server/Makefile.am
-@@ -4,7 +4,7 @@
- # production code. Sadly, we are not there yet.
- SUBDIRS = . tests
-
--BINDLIBDIR = @BINDDIR@/lib
-+BINDLIBDIR = @BINDDIR@
-
- AM_CPPFLAGS = -I$(top_srcdir) -DLOCALSTATEDIR='"@localstatedir@"' -I$(top_srcdir)/includes
-
-diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am
-index a87c5e7..9821081 100644
---- a/server/tests/Makefile.am
-+++ b/server/tests/Makefile.am
-@@ -1,6 +1,6 @@
- SUBDIRS = .
-
--BINDLIBDIR = @BINDDIR@/lib
-+BINDLIBDIR = @BINDDIR@
-
- AM_CPPFLAGS = $(ATF_CFLAGS) -DUNIT_TEST -I$(top_srcdir)/includes
- AM_CPPFLAGS += -I@BINDDIR@/include -I$(top_srcdir)
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
index 159abbc40..ca0daa181 100644
--- a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
+++ b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
@@ -10,6 +10,7 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat
file://0009-remove-dhclient-script-bash-dependency.patch \
file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \
file://0013-fixup_use_libbind.patch \
+ file://0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch \
"
SRC_URI[md5sum] = "18c7f4dcbb0a63df25098216d47b1ede"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch
index d4764f586..d4764f586 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
index 24c134fca..24c134fca 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
index 3da4e9f55..3da4e9f55 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
index b13bb9229..b13bb9229 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
index 2592989a9..2592989a9 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
index ff3abd86a..ff3abd86a 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils b/poky/meta/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
index 30e81ef45..30e81ef45 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils b/poky/meta/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
index 21b55da9a..21b55da9a 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils b/poky/meta/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
index 2b894a74b..2b894a74b 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils b/poky/meta/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils
index 2d9a0408c..2d9a0408c 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils b/poky/meta/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
index 67b44c43e..67b44c43e 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/version.patch
index 532a0e5c0..532a0e5c0 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/version.patch
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
new file mode 100644
index 000000000..ec1384eab
--- /dev/null
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
@@ -0,0 +1,209 @@
+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 \
+"
+
+# These are horrible for security, disable them
+EXTRA_OECONF_append = " --disable-rsh --disable-rshd --disable-rcp \
+ --disable-rlogin --disable-rlogind --disable-rexec --disable-rexecd"
+
+do_configure_prepend () {
+ export HELP2MAN='true'
+ cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-aux/config.rpath
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ 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
+ if [ -e ${D}${libexecdir}/rexecd ]; then
+ mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd
+ cp ${WORKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec
+ fi
+ if [ -e ${D}${libexecdir}/rlogind ]; then
+ mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind
+ cp ${WORKDIR}/rlogin.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rlogin
+ fi
+ if [ -e ${D}${libexecdir}/rshd ]; then
+ mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd
+ cp ${WORKDIR}/rsh.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rsh
+ 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}/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} = "whois"
+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}-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}"
+
+# We make us of RCONFLICTS / RPROVIDES here rather than using the normal
+# alternatives method as this leads to packaging QA issues when using
+# musl as that library does not provide what these applications need to
+# build.
+FILES_${PN}-rsh = "${bindir}/rsh ${bindir}/rlogin ${bindir}/rexec ${bindir}/rcp"
+RCONFLICTS_${PN}-rsh += "netkit-rsh-client"
+RPROVIDES_${PN}-rsh = "rsh"
+
+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-server"
+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/poky/meta/recipes-connectivity/iproute2/iproute2.inc b/poky/meta/recipes-connectivity/iproute2/iproute2.inc
index b28358906..1aa1eec0d 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2.inc
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2.inc
@@ -52,3 +52,7 @@ ALTERNATIVE_${PN} = "ip"
ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN}-tc = "tc"
+ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc"
+ALTERNATIVE_PRIORITY_${PN}-tc = "100"
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap.inc b/poky/meta/recipes-connectivity/libpcap/libpcap.inc
deleted file mode 100644
index e57ea87b3..000000000
--- a/poky/meta/recipes-connectivity/libpcap/libpcap.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Interface for user-level network packet capture"
-DESCRIPTION = "Libpcap provides a portable framework for low-level network \
-monitoring. Libpcap can provide network statistics collection, \
-security monitoring and network debugging."
-HOMEPAGE = "http://www.tcpdump.org/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=53067&atid=469577"
-SECTION = "libs/network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb289217c160e2920d2e35bddc36453 \
- file://pcap.h;beginline=1;endline=32;md5=39af3510e011f34b8872f120b1dc31d2"
-DEPENDS = "flex-native bison-native"
-
-INC_PR = "r5"
-
-SRC_URI = "http://www.tcpdump.org/release/${BP}.tar.gz"
-
-BINCONFIG = "${bindir}/pcap-config"
-
-inherit autotools binconfig-disabled pkgconfig bluetooth
-
-EXTRA_OECONF = "--with-pcap=linux"
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
-# Add a dummy PACKAGECONFIG for bluez5 since it is not supported by libpcap.
-PACKAGECONFIG[bluez5] = ",,"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[libnl] = "--with-libnl,--without-libnl,libnl"
-
-CPPFLAGS_prepend = "-I${S} "
-CFLAGS_prepend = "-I${S} "
-CXXFLAGS_prepend = "-I${S} "
-
-do_configure_prepend () {
- sed -i -e's,^V_RPATH_OPT=.*$,V_RPATH_OPT=,' ${S}/pcap-config.in
-}
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap/0001-Fix-compiler_state_t.ai-usage-when-INET6-is-not-defi.patch b/poky/meta/recipes-connectivity/libpcap/libpcap/0001-Fix-compiler_state_t.ai-usage-when-INET6-is-not-defi.patch
deleted file mode 100644
index edb6ae566..000000000
--- a/poky/meta/recipes-connectivity/libpcap/libpcap/0001-Fix-compiler_state_t.ai-usage-when-INET6-is-not-defi.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 64aa033a061c43fc15c711f2490ae41d23b868c3 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Thu, 17 Nov 2016 09:44:42 -0200
-Subject: [PATCH 1/2] Fix compiler_state_t.ai usage when INET6 is not defined
-Organization: O.S. Systems Software LTDA.
-
-Fix error:
-
-/
-| ../libpcap-1.8.1/gencode.c: In function 'pcap_compile':
-| ../libpcap-1.8.1/gencode.c:693:8: error: 'compiler_state_t
-| {aka struct _compiler_state}' has no member named 'ai'
-| cstate.ai = NULL;
-\
-
-Upstream-Status: Submitted [1]
-
-[1] https://github.com/the-tcpdump-group/libpcap/pull/541
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- gencode.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gencode.c b/gencode.c
-index a887f27..e103c70 100644
---- a/gencode.c
-+++ b/gencode.c
-@@ -690,7 +690,9 @@ pcap_compile(pcap_t *p, struct bpf_program *program,
- }
- initchunks(&cstate);
- cstate.no_optimize = 0;
-+#ifdef INET6
- cstate.ai = NULL;
-+#endif
- cstate.ic.root = NULL;
- cstate.ic.cur_mark = 0;
- cstate.bpf_pcap = p;
---
-2.1.4
-
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap/0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-syste.patch b/poky/meta/recipes-connectivity/libpcap/libpcap/0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-syste.patch
new file mode 100644
index 000000000..01773834c
--- /dev/null
+++ b/poky/meta/recipes-connectivity/libpcap/libpcap/0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-syste.patch
@@ -0,0 +1,29 @@
+From aafa3512b7b742f5e66a5543e41974cc5e7eebfa Mon Sep 17 00:00:00 2001
+From: maxice8 <thinkabit.ukim@gmail.com>
+Date: Sun, 22 Jul 2018 18:54:17 -0300
+Subject: [PATCH] pcap-usb-linux.c: add missing limits.h for musl systems.
+
+fix compilation on musl libc systems like Void Linux and Alpine.
+
+Upstream-Status: Backport [https://github.com/the-tcpdump-group/libpcap/commit/d557c98a16dc254aaff03762b694fe624e180bea]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ pcap-usb-linux.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/pcap-usb-linux.c b/pcap-usb-linux.c
+index 6f8adf65..b92c05ea 100644
+--- a/pcap-usb-linux.c
++++ b/pcap-usb-linux.c
+@@ -50,6 +50,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include <limits.h>
+ #include <string.h>
+ #include <dirent.h>
+ #include <byteswap.h>
+--
+2.17.1
+
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap/0002-Add-missing-compiler_state_t-parameter.patch b/poky/meta/recipes-connectivity/libpcap/libpcap/0002-Add-missing-compiler_state_t-parameter.patch
deleted file mode 100644
index 032b265f0..000000000
--- a/poky/meta/recipes-connectivity/libpcap/libpcap/0002-Add-missing-compiler_state_t-parameter.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 50ec0a088d5924a8305b2d70dcba71b0942dee1a Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Thu, 17 Nov 2016 09:47:29 -0200
-Subject: [PATCH 2/2] Add missing compiler_state_t parameter
-Organization: O.S. Systems Software LTDA.
-
-Fix error:
-
-/
-|../libpcap-1.8.1/gencode.c: In function 'gen_gateway':
-|../libpcap-1.8.1/gencode.c:4914:13: error: 'cstate' undeclared
-| (first use in this function)
-| bpf_error(cstate, "direction applied to 'gateway'");
-\
-
-Upstream-Status: Submitted [1]
-
-[1] https://github.com/the-tcpdump-group/libpcap/pull/541
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- gencode.c | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/gencode.c b/gencode.c
-index e103c70..f07c0be 100644
---- a/gencode.c
-+++ b/gencode.c
-@@ -523,7 +523,7 @@ static struct block *gen_host6(compiler_state_t *, struct in6_addr *,
- struct in6_addr *, int, int, int);
- #endif
- #ifndef INET6
--static struct block *gen_gateway(const u_char *, bpf_u_int32 **, int, int);
-+static struct block *gen_gateway(compiler_state_t *, const u_char *, bpf_u_int32 **, int, int);
- #endif
- static struct block *gen_ipfrag(compiler_state_t *);
- static struct block *gen_portatom(compiler_state_t *, int, bpf_int32);
-@@ -4904,11 +4904,12 @@ gen_host6(compiler_state_t *cstate, struct in6_addr *addr,
-
- #ifndef INET6
- static struct block *
--gen_gateway(eaddr, alist, proto, dir)
-- const u_char *eaddr;
-- bpf_u_int32 **alist;
-- int proto;
-- int dir;
-+gen_gateway(cstate, eaddr, alist, proto, dir)
-+ compiler_state_t *cstate;
-+ const u_char *eaddr;
-+ bpf_u_int32 **alist;
-+ int proto;
-+ int dir;
- {
- struct block *b0, *b1, *tmp;
-
-@@ -6472,7 +6473,7 @@ gen_scode(compiler_state_t *cstate, const char *name, struct qual q)
- alist = pcap_nametoaddr(name);
- if (alist == NULL || *alist == NULL)
- bpf_error(cstate, "unknown host '%s'", name);
-- b = gen_gateway(eaddr, alist, proto, dir);
-+ b = gen_gateway(cstate, eaddr, alist, proto, dir);
- free(eaddr);
- return b;
- #else
---
-2.1.4
-
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap/disable-remote.patch b/poky/meta/recipes-connectivity/libpcap/libpcap/disable-remote.patch
deleted file mode 100644
index 7e1eea6b1..000000000
--- a/poky/meta/recipes-connectivity/libpcap/libpcap/disable-remote.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Disable bits of remote capture support inherited from the WinPCAP merge
-which cause applications to FTBFS if they define HAVE_REMOTE.
-
-Patch from:
-https://anonscm.debian.org/cgit/users/rfrancoise/libpcap.git/commit/?
-id=f35949969269dfdcc3549b12fade604755e1e326
-
-Upstream-Status: Pending
-
---- a/pcap/pcap.h
-+++ b/pcap/pcap.h
-@@ -506,6 +506,11 @@
- #define MODE_STAT 1
- #define MODE_MON 2
-
-+#ifdef HAVE_REMOTE
-+ /* Includes most of the public stuff that is needed for the remote capture */
-+ #include <remote-ext.h>
-+#endif /* HAVE_REMOTE */
-+
- #elif defined(MSDOS)
-
- /*
-@@ -526,11 +531,6 @@
-
- #endif /* _WIN32/MSDOS/UN*X */
-
--#ifdef HAVE_REMOTE
-- /* Includes most of the public stuff that is needed for the remote capture */
-- #include <remote-ext.h>
--#endif /* HAVE_REMOTE */
--
- #ifdef __cplusplus
- }
- #endif
-
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap/fix-grammar-deps.patch b/poky/meta/recipes-connectivity/libpcap/libpcap/fix-grammar-deps.patch
deleted file mode 100644
index f40e655c4..000000000
--- a/poky/meta/recipes-connectivity/libpcap/libpcap/fix-grammar-deps.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Fix a missing dependency that can result in:
-
-../libpcap-1.8.1/grammar.y:78:10: fatal error: scanner.h: No such file or directory
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 0dd90a6bdbce4dca14106859eee63ef643a106e2 Mon Sep 17 00:00:00 2001
-From: Alfredo Alvarez Fernandez <alfredoalvarezernandez@gmail.com>
-Date: Tue, 21 Feb 2017 11:41:43 +0100
-Subject: [PATCH] Makefile.in: Fix missing dependency
-
----
- Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 7044f043..f5d443ae 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -465,7 +465,7 @@ grammar.h: grammar.c
- $(MAKE) $(MAKEFLAGS) grammar.c; \
- fi
-
--grammar.o: grammar.c
-+grammar.o: grammar.c scanner.h
- $(CC) $(FULL_CFLAGS) -c grammar.c
-
- gencode.o: $(srcdir)/gencode.c grammar.h scanner.h
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap/libpcap-pkgconfig-support.patch b/poky/meta/recipes-connectivity/libpcap/libpcap/libpcap-pkgconfig-support.patch
deleted file mode 100644
index afaa3bea9..000000000
--- a/poky/meta/recipes-connectivity/libpcap/libpcap/libpcap-pkgconfig-support.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 2796129af52901dd68595e5e88a639308541def9 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Thu, 3 Nov 2016 17:56:29 -0200
-Subject: [PATCH] libpcap: pkgconfig support
-Organization: O.S. Systems Software LTDA.
-
-Adding basic structure to support pkg-config.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- Makefile.in | 5 +++++
- configure.ac | 1 +
- libpcap.pc.in | 10 ++++++++++
- 3 files changed, 16 insertions(+)
- create mode 100644 libpcap.pc.in
-
-diff --git a/Makefile.in b/Makefile.in
-index e71d973..d7004ed 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -61,6 +61,10 @@ V_RPATH_OPT = @V_RPATH_OPT@
- DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
- PROG=libpcap
-
-+# pkgconfig support
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = libpcap.pc
-+
- # Standard CFLAGS
- FULL_CFLAGS = $(CCOPT) $(INCLS) $(DEFS) $(CFLAGS)
-
-@@ -286,6 +290,7 @@ EXTRA_DIST = \
- lbl/os-solaris2.h \
- lbl/os-sunos4.h \
- lbl/os-ultrix4.h \
-+ libpcap.pc \
- missing/getopt.c \
- missing/getopt.h \
- missing/snprintf.c \
-diff --git a/configure.ac b/configure.ac
-index da2f940..4fc67bf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1805,6 +1805,7 @@ fi
- AC_PROG_INSTALL
-
- AC_CONFIG_HEADER(config.h)
-+AC_CONFIG_FILES([libpcap.pc])
-
- AC_OUTPUT_COMMANDS([if test -f .devel; then
- echo timestamp > stamp-h
-diff --git a/libpcap.pc.in b/libpcap.pc.in
-new file mode 100644
-index 0000000..4f78ad8
---- /dev/null
-+++ b/libpcap.pc.in
-@@ -0,0 +1,10 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: libpcap
-+Description: System-independent interface for user-level packet capture.
-+Version: @VERSION@
-+Libs: -L${libdir} -lpcap
-+Cflags: -I${includedir}
---
-2.1.4
-
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb b/poky/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb
deleted file mode 100644
index 13dfbd67a..000000000
--- a/poky/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require libpcap.inc
-
-SRC_URI += " \
- file://libpcap-pkgconfig-support.patch \
- file://0001-Fix-compiler_state_t.ai-usage-when-INET6-is-not-defi.patch \
- file://0002-Add-missing-compiler_state_t-parameter.patch \
- file://disable-remote.patch \
- file://fix-grammar-deps.patch \
-"
-
-SRC_URI[md5sum] = "3d48f9cd171ff12b0efd9134b52f1447"
-SRC_URI[sha256sum] = "673dbc69fdc3f5a86fb5759ab19899039a8e5e6c631749e48dcd9c6f0c83541e"
-
-#
-# make install doesn't cover the shared lib
-# make install-shared is just broken (no symlinks)
-#
-
-do_configure_prepend () {
- #remove hardcoded references to /usr/include
- sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.ac
-}
-
-do_install_prepend () {
- install -d ${D}${libdir}
- install -d ${D}${bindir}
- oe_runmake install-shared DESTDIR=${D}
- oe_libinstall -a -so libpcap ${D}${libdir}
- sed "s|@VERSION@|${PV}|" -i ${B}/libpcap.pc
- install -D -m 0644 libpcap.pc ${D}${libdir}/pkgconfig/libpcap.pc
-}
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb b/poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb
new file mode 100644
index 000000000..78361561e
--- /dev/null
+++ b/poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Interface for user-level network packet capture"
+DESCRIPTION = "Libpcap provides a portable framework for low-level network \
+monitoring. Libpcap can provide network statistics collection, \
+security monitoring and network debugging."
+HOMEPAGE = "http://www.tcpdump.org/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=53067&atid=469577"
+SECTION = "libs/network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb289217c160e2920d2e35bddc36453 \
+ file://pcap.h;beginline=1;endline=32;md5=39af3510e011f34b8872f120b1dc31d2"
+DEPENDS = "flex-native bison-native"
+
+SRC_URI = "https://www.tcpdump.org/release/${BP}.tar.gz \
+ file://0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-syste.patch \
+ "
+SRC_URI[md5sum] = "dffd65cb14406ab9841f421732eb0f33"
+SRC_URI[sha256sum] = "2edb88808e5913fdaa8e9c1fcaf272e19b2485338742b5074b9fe44d68f37019"
+
+inherit autotools binconfig-disabled pkgconfig bluetooth
+
+BINCONFIG = "${bindir}/pcap-config"
+
+# Explicitly disable dag support. We don't have recipe for it and if enabled here,
+# configure script poisons the include dirs with /usr/local/include even when the
+# support hasn't been detected.
+EXTRA_OECONF = " \
+ --with-pcap=linux \
+ --without-dag \
+ "
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[bluez5] = "--enable-bluetooth,--disable-bluetooth,bluez5"
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[libnl] = "--with-libnl,--without-libnl,libnl"
+
+do_configure_prepend () {
+ #remove hardcoded references to /usr/include
+ sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.ac
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info/multilibfix.patch b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info/multilibfix.patch
deleted file mode 100644
index 7e97e8ec3..000000000
--- a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info/multilibfix.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-The mobile-broadband-provider-info.pc file is installed into a non-arch directory
-yet contains libdir which can vary depending on which multilib is configured.
-The .pc file does not require libdir so remove this to fix multilib builds.
-
-Upstream-Status: Backport [8109fcd3c7299fae859fb891ff416927581a9955]
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-
-Index: git/mobile-broadband-provider-info.pc.in
-===================================================================
---- git.orig/mobile-broadband-provider-info.pc.in 2018-08-07 13:09:31.811364063 +0800
-+++ git/mobile-broadband-provider-info.pc.in 2018-08-10 17:49:25.645288320 +0800
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- datarootdir = @datarootdir@
- pkgdatadir=${datarootdir}/@PACKAGE@
- includedir=@includedir@
diff --git a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
index 7f1dd78c1..77adcebba 100644
--- a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
+++ b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
@@ -3,13 +3,11 @@ HOMEPAGE = "http://live.gnome.org/NetworkManager/MobileBroadband/ServiceProvider
SECTION = "network"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04"
-SRCREV = "befcbbc9867e742ac16415660b0b7521218a530c"
-PV = "20170310"
+SRCREV = "c7def60ba50d9cc30a90f69f89d7e82243501e86"
+PV = "20190116"
PE = "1"
-SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https \
- file://multilibfix.patch \
-"
+SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https"
S = "${WORKDIR}/git"
inherit autotools
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch
new file mode 100644
index 000000000..a44d1bf2f
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch
@@ -0,0 +1,32 @@
+From 4f115fc314646500f7b4178d7248a02654c7cd10 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Nov 2018 16:47:57 -0800
+Subject: [PATCH] Do not pass null pointer to freeaddrinfo()
+
+Passing null pointer as input parameter to freeaddrinfo() is undefined
+behaviour, some libcs e.g. glibc might just call free() which does
+accept null pointer but other libcs e.g. musl might not and instead
+cause the program to segfault. Therefore do not rely on undefined
+behaviour instead make it deterministic
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ support/export/client.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: nfs-utils-2.3.2/support/export/client.c
+===================================================================
+--- nfs-utils-2.3.2.orig/support/export/client.c
++++ nfs-utils-2.3.2/support/export/client.c
+@@ -309,7 +309,8 @@ client_lookup(char *hname, int canonical
+ init_addrlist(clp, ai);
+
+ out:
+- freeaddrinfo(ai);
++ if (ai)
++ freeaddrinfo(ai);
+ return clp;
+ }
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Don-t-build-tools-with-CC_FOR_BUILD.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Don-t-build-tools-with-CC_FOR_BUILD.patch
new file mode 100644
index 000000000..23bc3eaf7
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Don-t-build-tools-with-CC_FOR_BUILD.patch
@@ -0,0 +1,40 @@
+From 79019d976584c598f8d0a9d8de43c989946f974b Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@siemens.com>
+Date: Wed, 13 Feb 2019 09:28:07 +0100
+Subject: [PATCH] Don't build tools with CC_FOR_BUILD
+
+The tools are intended for the target not for the host.
+
+Upstream-Status: Pending
+
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+---
+ tools/locktest/Makefile.am | 1 -
+ tools/rpcgen/Makefile.am | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/tools/locktest/Makefile.am b/tools/locktest/Makefile.am
+index 3156815..87d0bac 100644
+--- a/tools/locktest/Makefile.am
++++ b/tools/locktest/Makefile.am
+@@ -1,6 +1,5 @@
+ ## Process this file with automake to produce Makefile.in
+
+-CC=$(CC_FOR_BUILD)
+ LIBTOOL = @LIBTOOL@ --tag=CC
+
+ noinst_PROGRAMS = testlk
+diff --git a/tools/rpcgen/Makefile.am b/tools/rpcgen/Makefile.am
+index 8a9ec89..3e092c9 100644
+--- a/tools/rpcgen/Makefile.am
++++ b/tools/rpcgen/Makefile.am
+@@ -1,6 +1,5 @@
+ ## Process this file with automake to produce Makefile.in
+
+-CC=$(CC_FOR_BUILD)
+ LIBTOOL = @LIBTOOL@ --tag=CC
+
+ noinst_PROGRAMS = rpcgen
+--
+2.11.0
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
new file mode 100644
index 000000000..aa551ebd1
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
@@ -0,0 +1,295 @@
+From 690a90a5b7786e40b5447ad7c5f19a7657d27405 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Fri, 14 Dec 2018 17:44:32 +0800
+Subject: [PATCH] Makefile.am: fix undefined function for libnsm.a
+
+The source file of libnsm.a uses some function
+in ../support/misc/file.c, add ../support/misc/file.c
+to libnsm_a_SOURCES to fix build error when run
+"make -C tests statdb_dump":
+| ../support/nsm/libnsm.a(file.o): In function `nsm_make_pathname':
+| /usr/src/debug/nfs-utils/2.3.3-r0/nfs-utils-2.3.3/support/nsm/file.c:175: undefined reference to `generic_make_pathname'
+| /usr/src/debug/nfs-utils/2.3.3-r0/nfs-utils-2.3.3/support/nsm/file.c:175: undefined reference to `generic_make_pathname'
+| /usr/src/debug/nfs-utils/2.3.3-r0/nfs-utils-2.3.3/support/nsm/file.c:175: undefined reference to `generic_make_pathname'
+| ../support/nsm/libnsm.a(file.o): In function `nsm_setup_pathnames':
+| /usr/src/debug/nfs-utils/2.3.3-r0/nfs-utils-2.3.3/support/nsm/file.c:280: undefined reference to `generic_setup_basedir'
+| collect2: error: ld returned 1 exit status
+
+As there is already one source file named file.c
+as support/nsm/file.c in support/nsm/Makefile.am,
+so rename ../support/misc/file.c to ../support/misc/misc.c.
+
+Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154502780423058&w=2]
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ support/misc/Makefile.am | 2 +-
+ support/misc/file.c | 111 -----------------------------------------------
+ support/misc/misc.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++
+ support/nsm/Makefile.am | 2 +-
+ 4 files changed, 113 insertions(+), 113 deletions(-)
+ delete mode 100644 support/misc/file.c
+ create mode 100644 support/misc/misc.c
+
+diff --git a/support/misc/Makefile.am b/support/misc/Makefile.am
+index 8936b0d..d4c1f76 100644
+--- a/support/misc/Makefile.am
++++ b/support/misc/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+ noinst_LIBRARIES = libmisc.a
+-libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c file.c
++libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c misc.c
+
+ MAINTAINERCLEANFILES = Makefile.in
+diff --git a/support/misc/file.c b/support/misc/file.c
+deleted file mode 100644
+index e7c3819..0000000
+--- a/support/misc/file.c
++++ /dev/null
+@@ -1,111 +0,0 @@
+-/*
+- * Copyright 2009 Oracle. All rights reserved.
+- * Copyright 2017 Red Hat, Inc. All rights reserved.
+- *
+- * This file is part of nfs-utils.
+- *
+- * nfs-utils 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.
+- *
+- * nfs-utils 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 nfs-utils. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-#include <sys/stat.h>
+-
+-#include <string.h>
+-#include <libgen.h>
+-#include <stdio.h>
+-#include <errno.h>
+-#include <dirent.h>
+-#include <stdlib.h>
+-#include <stdbool.h>
+-#include <limits.h>
+-
+-#include "xlog.h"
+-#include "misc.h"
+-
+-/*
+- * Returns a dynamically allocated, '\0'-terminated buffer
+- * containing an appropriate pathname, or NULL if an error
+- * occurs. Caller must free the returned result with free(3).
+- */
+-__attribute__((__malloc__))
+-char *
+-generic_make_pathname(const char *base, const char *leaf)
+-{
+- size_t size;
+- char *path;
+- int len;
+-
+- size = strlen(base) + strlen(leaf) + 2;
+- if (size > PATH_MAX)
+- return NULL;
+-
+- path = malloc(size);
+- if (path == NULL)
+- return NULL;
+-
+- len = snprintf(path, size, "%s/%s", base, leaf);
+- if ((len < 0) || ((size_t)len >= size)) {
+- free(path);
+- return NULL;
+- }
+-
+- return path;
+-}
+-
+-
+-/**
+- * generic_setup_basedir - set up basedir
+- * @progname: C string containing name of program, for error messages
+- * @parentdir: C string containing pathname to on-disk state, or NULL
+- * @base: character buffer to contain the basedir that is set up
+- * @baselen: size of @base in bytes
+- *
+- * This runs before logging is set up, so error messages are directed
+- * to stderr.
+- *
+- * Returns true and sets up our basedir, if @parentdir was valid
+- * and usable; otherwise false is returned.
+- */
+-_Bool
+-generic_setup_basedir(const char *progname, const char *parentdir, char *base,
+- const size_t baselen)
+-{
+- static char buf[PATH_MAX];
+- struct stat st;
+- char *path;
+-
+- /* First: test length of name and whether it exists */
+- if ((strlen(parentdir) >= baselen) || (strlen(parentdir) >= PATH_MAX)) {
+- (void)fprintf(stderr, "%s: Directory name too long: %s",
+- progname, parentdir);
+- return false;
+- }
+- if (lstat(parentdir, &st) == -1) {
+- (void)fprintf(stderr, "%s: Failed to stat %s: %s",
+- progname, parentdir, strerror(errno));
+- return false;
+- }
+-
+- /* Ensure we have a clean directory pathname */
+- strncpy(buf, parentdir, sizeof(buf)-1);
+- path = dirname(buf);
+- if (*path == '.') {
+- (void)fprintf(stderr, "%s: Unusable directory %s",
+- progname, parentdir);
+- return false;
+- }
+-
+- xlog(D_CALL, "Using %s as the state directory", parentdir);
+- strcpy(base, parentdir);
+- return true;
+-}
+diff --git a/support/misc/misc.c b/support/misc/misc.c
+new file mode 100644
+index 0000000..e7c3819
+--- /dev/null
++++ b/support/misc/misc.c
+@@ -0,0 +1,111 @@
++/*
++ * Copyright 2009 Oracle. All rights reserved.
++ * Copyright 2017 Red Hat, Inc. All rights reserved.
++ *
++ * This file is part of nfs-utils.
++ *
++ * nfs-utils 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.
++ *
++ * nfs-utils 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 nfs-utils. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <sys/stat.h>
++
++#include <string.h>
++#include <libgen.h>
++#include <stdio.h>
++#include <errno.h>
++#include <dirent.h>
++#include <stdlib.h>
++#include <stdbool.h>
++#include <limits.h>
++
++#include "xlog.h"
++#include "misc.h"
++
++/*
++ * Returns a dynamically allocated, '\0'-terminated buffer
++ * containing an appropriate pathname, or NULL if an error
++ * occurs. Caller must free the returned result with free(3).
++ */
++__attribute__((__malloc__))
++char *
++generic_make_pathname(const char *base, const char *leaf)
++{
++ size_t size;
++ char *path;
++ int len;
++
++ size = strlen(base) + strlen(leaf) + 2;
++ if (size > PATH_MAX)
++ return NULL;
++
++ path = malloc(size);
++ if (path == NULL)
++ return NULL;
++
++ len = snprintf(path, size, "%s/%s", base, leaf);
++ if ((len < 0) || ((size_t)len >= size)) {
++ free(path);
++ return NULL;
++ }
++
++ return path;
++}
++
++
++/**
++ * generic_setup_basedir - set up basedir
++ * @progname: C string containing name of program, for error messages
++ * @parentdir: C string containing pathname to on-disk state, or NULL
++ * @base: character buffer to contain the basedir that is set up
++ * @baselen: size of @base in bytes
++ *
++ * This runs before logging is set up, so error messages are directed
++ * to stderr.
++ *
++ * Returns true and sets up our basedir, if @parentdir was valid
++ * and usable; otherwise false is returned.
++ */
++_Bool
++generic_setup_basedir(const char *progname, const char *parentdir, char *base,
++ const size_t baselen)
++{
++ static char buf[PATH_MAX];
++ struct stat st;
++ char *path;
++
++ /* First: test length of name and whether it exists */
++ if ((strlen(parentdir) >= baselen) || (strlen(parentdir) >= PATH_MAX)) {
++ (void)fprintf(stderr, "%s: Directory name too long: %s",
++ progname, parentdir);
++ return false;
++ }
++ if (lstat(parentdir, &st) == -1) {
++ (void)fprintf(stderr, "%s: Failed to stat %s: %s",
++ progname, parentdir, strerror(errno));
++ return false;
++ }
++
++ /* Ensure we have a clean directory pathname */
++ strncpy(buf, parentdir, sizeof(buf)-1);
++ path = dirname(buf);
++ if (*path == '.') {
++ (void)fprintf(stderr, "%s: Unusable directory %s",
++ progname, parentdir);
++ return false;
++ }
++
++ xlog(D_CALL, "Using %s as the state directory", parentdir);
++ strcpy(base, parentdir);
++ return true;
++}
+diff --git a/support/nsm/Makefile.am b/support/nsm/Makefile.am
+index 8f5874e..68f1a46 100644
+--- a/support/nsm/Makefile.am
++++ b/support/nsm/Makefile.am
+@@ -10,7 +10,7 @@ GENFILES = $(GENFILES_CLNT) $(GENFILES_SVC) $(GENFILES_XDR) $(GENFILES_H)
+ EXTRA_DIST = sm_inter.x
+
+ noinst_LIBRARIES = libnsm.a
+-libnsm_a_SOURCES = $(GENFILES) file.c rpc.c
++libnsm_a_SOURCES = $(GENFILES) ../misc/misc.c file.c rpc.c
+
+ BUILT_SOURCES = $(GENFILES)
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch
new file mode 100644
index 000000000..906ac0f90
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch
@@ -0,0 +1,50 @@
+From fcece65d1b713eaeef41706898440302f8ce92d9 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Thu, 12 Jul 2018 15:19:41 +0800
+Subject: [PATCH] Makefile.am: update the path of libnfs.a
+
+The libnfs.a is under ../support/nfs/.libs/ now,
+update the reference path accordingly to fix below
+build error when run "make -C tests statdb_dump":
+| make: *** No rule to make target '../support/nfs/libnfs.a', needed by 'statdb_dump'. Stop.
+
+And below error when run "make -C tests/nsm_client nsm_client"
+| make: *** No rule to make target '../../support/nfs/libnfs.a', needed by 'nsm_client'. Stop.
+
+Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154502636522745&w=2]
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ tests/Makefile.am | 2 +-
+ tests/nsm_client/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 1f96264..74aa629 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -3,7 +3,7 @@
+ check_PROGRAMS = statdb_dump
+ statdb_dump_SOURCES = statdb_dump.c
+
+-statdb_dump_LDADD = ../support/nfs/libnfs.a \
++statdb_dump_LDADD = ../support/nfs/.libs/libnfs.a \
+ ../support/nsm/libnsm.a $(LIBCAP)
+
+ SUBDIRS = nsm_client
+diff --git a/tests/nsm_client/Makefile.am b/tests/nsm_client/Makefile.am
+index a8fc131..43db9c2 100644
+--- a/tests/nsm_client/Makefile.am
++++ b/tests/nsm_client/Makefile.am
+@@ -13,7 +13,7 @@ check_PROGRAMS = nsm_client
+ nsm_client_SOURCES = $(GENFILES) nsm_client.c
+
+ BUILT_SOURCES = $(GENFILES)
+-nsm_client_LDADD = ../../support/nfs/libnfs.a \
++nsm_client_LDADD = ../../support/nfs/.libs/libnfs.a \
+ ../../support/nsm/libnsm.a $(LIBCAP) $(LIBTIRPC)
+
+ if CONFIG_RPCGEN
+--
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-cacheio-use-intmax_t-for-formatted-IO.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-cacheio-use-intmax_t-for-formatted-IO.patch
new file mode 100644
index 000000000..bafff5b9c
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-cacheio-use-intmax_t-for-formatted-IO.patch
@@ -0,0 +1,38 @@
+From ac32b813f5d6f9a2de944015cf9bb98d68e0203a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Dec 2018 10:02:12 -0800
+Subject: [PATCH] cacheio: use intmax_t for formatted IO
+
+time_t is not same size on x32 ABI (ILP32)
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ support/nfs/cacheio.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/support/nfs/cacheio.c b/support/nfs/cacheio.c
+index 9dc4cf1..2086a95 100644
+--- a/support/nfs/cacheio.c
++++ b/support/nfs/cacheio.c
+@@ -17,6 +17,7 @@
+
+ #include <nfslib.h>
+ #include <stdio.h>
++#include <inttypes.h>
+ #include <stdio_ext.h>
+ #include <string.h>
+ #include <ctype.h>
+@@ -234,7 +235,7 @@ cache_flush(int force)
+ stb.st_mtime > now)
+ stb.st_mtime = time(0);
+
+- sprintf(stime, "%ld\n", stb.st_mtime);
++ sprintf(stime, "%jd\n", (intmax_t)stb.st_mtime);
+ for (c=0; cachelist[c]; c++) {
+ int fd;
+ sprintf(path, "/proc/net/rpc/%s/flush", cachelist[c]);
+--
+2.19.2
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
new file mode 100644
index 000000000..17aabb9e4
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
@@ -0,0 +1,43 @@
+From 66471fbf7106917da7a1536b18a0a77d07479779 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Mon, 17 Dec 2018 15:29:47 +0800
+Subject: [PATCH] configure.ac: Do not fatalize -Wmissing-prototypes
+
+There comes below error when run "make -C tests/nsm_client nsm_client"
+| nlm_sm_inter_svc.c:20:1: error: no previous prototype for 'nlm_sm_prog_3' [-Werror=missing-prototypes]
+
+It is because rpcgen doesn't generate -Wmissing-prototypes
+free code for nlm_sm_inter_svc.c with below logic
+in tests/nsm_client/Makefile.am
+[snip]
+GENFILES_SVC = nlm_sm_inter_svc.c
+[snip]
+$(GENFILES_SVC): %_svc.c: %.x $(RPCGEN)
+ test -f $@ && rm -rf $@ || true
+ $(RPCGEN) -m -o $@ $<
+
+So add the logic not to fatalize -Wmissing-prototypes.
+
+Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154503260323936&w=2]
+
+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 e82ff14..d0cc5d5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -548,7 +548,7 @@ my_am_cflags="\
+ -Wall \
+ -Wextra \
+ -Werror=strict-prototypes \
+- -Werror=missing-prototypes \
++ -Wmissing-prototypes \
+ -Werror=missing-declarations \
+ -Werror=format=2 \
+ -Werror=undef \
+--
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch
new file mode 100644
index 000000000..1d693e414
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch
@@ -0,0 +1,183 @@
+Clang comes up with more printf format warnings
+Correcting “format string is not a string literal” warning
+requires us to declare that parameter is a printf style
+format using the attribute flag
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: nfs-utils-2.3.3/support/include/xcommon.h
+===================================================================
+--- nfs-utils-2.3.3.orig/support/include/xcommon.h
++++ nfs-utils-2.3.3/support/include/xcommon.h
+@@ -27,7 +27,7 @@
+
+ /* Functions in sundries.c that are used in mount.c and umount.c */
+ char *canonicalize (const char *path);
+-void nfs_error (const char *fmt, ...);
++void nfs_error (const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
+ void *xmalloc (size_t size);
+ void *xrealloc(void *p, size_t size);
+ void xfree(void *);
+@@ -36,9 +36,9 @@ char *xstrndup (const char *s, int n);
+ char *xstrconcat2 (const char *, const char *);
+ char *xstrconcat3 (const char *, const char *, const char *);
+ char *xstrconcat4 (const char *, const char *, const char *, const char *);
+-void die (int errcode, const char *fmt, ...);
++void die (int errcode, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
+
+-extern void die(int err, const char *fmt, ...);
++extern void die(int err, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
+ extern void (*at_die)(void);
+
+ /* exit status - bits below are ORed */
+Index: nfs-utils-2.3.3/support/include/xlog.h
+===================================================================
+--- nfs-utils-2.3.3.orig/support/include/xlog.h
++++ nfs-utils-2.3.3/support/include/xlog.h
+@@ -43,10 +43,10 @@ void xlog_config(int fac, int on);
+ void xlog_sconfig(char *, int on);
+ void xlog_from_conffile(char *);
+ int xlog_enabled(int fac);
+-void xlog(int fac, const char *fmt, ...);
+-void xlog_warn(const char *fmt, ...);
+-void xlog_err(const char *fmt, ...);
+-void xlog_errno(int err, const char *fmt, ...);
+-void xlog_backend(int fac, const char *fmt, va_list args);
++void xlog(int fac, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
++void xlog_warn(const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
++void xlog_err(const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
++void xlog_errno(int err, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
++void xlog_backend(int fac, const char *fmt, va_list args) __attribute__((__format__ (__printf__, 2, 0)));
+
+ #endif /* XLOG_H */
+Index: nfs-utils-2.3.3/support/nfs/xcommon.c
+===================================================================
+--- nfs-utils-2.3.3.orig/support/nfs/xcommon.c
++++ nfs-utils-2.3.3/support/nfs/xcommon.c
+@@ -93,7 +93,10 @@ nfs_error (const char *fmt, ...) {
+
+ fmt2 = xstrconcat2 (fmt, "\n");
+ va_start (args, fmt);
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wformat-nonliteral"
+ vfprintf (stderr, fmt2, args);
++#pragma clang diagnostic pop
+ va_end (args);
+ free (fmt2);
+ }
+Index: nfs-utils-2.3.3/utils/exportfs/exportfs.c
+===================================================================
+--- nfs-utils-2.3.3.orig/utils/exportfs/exportfs.c
++++ nfs-utils-2.3.3/utils/exportfs/exportfs.c
+@@ -644,6 +644,7 @@ out:
+ return result;
+ }
+
++__attribute__((__format__ (__printf__, 2, 3)))
+ static char
+ dumpopt(char c, char *fmt, ...)
+ {
+Index: nfs-utils-2.3.3/utils/statd/statd.c
+===================================================================
+--- nfs-utils-2.3.3.orig/utils/statd/statd.c
++++ nfs-utils-2.3.3/utils/statd/statd.c
+@@ -136,7 +136,7 @@ static void log_modes(void)
+ strcat(buf, "TI-RPC ");
+ #endif
+
+- xlog_warn(buf);
++ xlog_warn("%s", buf);
+ }
+
+ /*
+Index: nfs-utils-2.3.3/support/nfs/svc_create.c
+===================================================================
+--- nfs-utils-2.3.3.orig/support/nfs/svc_create.c
++++ nfs-utils-2.3.3/support/nfs/svc_create.c
+@@ -184,7 +184,7 @@ svc_create_sock(const struct sockaddr *s
+ type = SOCK_STREAM;
+ break;
+ default:
+- xlog(D_GENERAL, "%s: Unrecognized bind address semantics: %u",
++ xlog(D_GENERAL, "%s: Unrecognized bind address semantics: %lu",
+ __func__, nconf->nc_semantics);
+ return -1;
+ }
+Index: nfs-utils-2.3.3/support/nsm/rpc.c
+===================================================================
+--- nfs-utils-2.3.3.orig/support/nsm/rpc.c
++++ nfs-utils-2.3.3/support/nsm/rpc.c
+@@ -182,7 +182,7 @@ nsm_xmit_getport(const int sock, const s
+ uint32_t xid;
+ XDR xdr;
+
+- xlog(D_CALL, "Sending PMAP_GETPORT for %u, %u, udp", program, version);
++ xlog(D_CALL, "Sending PMAP_GETPORT for %lu, %lu, udp", program, version);
+
+ nsm_init_xdrmem(msgbuf, NSM_MAXMSGSIZE, &xdr);
+ xid = nsm_init_rpc_header(PMAPPROG, PMAPVERS,
+Index: nfs-utils-2.3.3/utils/mountd/cache.c
+===================================================================
+--- nfs-utils-2.3.3.orig/utils/mountd/cache.c
++++ nfs-utils-2.3.3/utils/mountd/cache.c
+@@ -968,8 +968,7 @@ lookup_export(char *dom, char *path, str
+ } else if (found_type == i && found->m_warned == 0) {
+ xlog(L_WARNING, "%s exported to both %s and %s, "
+ "arbitrarily choosing options from first",
+- path, found->m_client->m_hostname, exp->m_client->m_hostname,
+- dom);
++ path, found->m_client->m_hostname, exp->m_client->m_hostname);
+ found->m_warned = 1;
+ }
+ }
+Index: nfs-utils-2.3.3/utils/mountd/mountd.c
+===================================================================
+--- nfs-utils-2.3.3.orig/utils/mountd/mountd.c
++++ nfs-utils-2.3.3/utils/mountd/mountd.c
+@@ -213,7 +213,7 @@ static void
+ sig_hup (int sig)
+ {
+ /* don't exit on SIGHUP */
+- xlog (L_NOTICE, "Received SIGHUP... Ignoring.\n", sig);
++ xlog (L_NOTICE, "Received SIGHUP(%d)... Ignoring.\n", sig);
+ return;
+ }
+
+Index: nfs-utils-2.3.3/utils/statd/rmtcall.c
+===================================================================
+--- nfs-utils-2.3.3.orig/utils/statd/rmtcall.c
++++ nfs-utils-2.3.3/utils/statd/rmtcall.c
+@@ -247,7 +247,7 @@ process_reply(FD_SET_TYPE *rfds)
+ xlog_warn("%s: service %d not registered on localhost",
+ __func__, NL_MY_PROG(lp));
+ } else {
+- xlog(D_GENERAL, "%s: Callback to %s (for %d) succeeded",
++ xlog(D_GENERAL, "%s: Callback to %s (for %s) succeeded",
+ __func__, NL_MY_NAME(lp), NL_MON_NAME(lp));
+ }
+ nlist_free(&notify, lp);
+Index: nfs-utils-2.3.3/utils/statd/svc_run.c
+===================================================================
+--- nfs-utils-2.3.3.orig/utils/statd/svc_run.c
++++ nfs-utils-2.3.3/utils/statd/svc_run.c
+@@ -53,6 +53,7 @@
+
+ #include <errno.h>
+ #include <time.h>
++#include <inttypes.h>
+ #include "statd.h"
+ #include "notlist.h"
+
+@@ -104,8 +105,8 @@ my_svc_run(int sockfd)
+
+ tv.tv_sec = NL_WHEN(notify) - now;
+ tv.tv_usec = 0;
+- xlog(D_GENERAL, "Waiting for reply... (timeo %d)",
+- tv.tv_sec);
++ xlog(D_GENERAL, "Waiting for reply... (timeo %jd)",
++ (intmax_t)tv.tv_sec);
+ selret = select(FD_SETSIZE, &readfds,
+ (void *) 0, (void *) 0, &tv);
+ } else {
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch
deleted file mode 100644
index 993f1e5ea..000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-nfs-utils: Do not pass CFLAGS to gcc while building
-
-Do not pass CFLAGS/LDFLAGS to gcc while building, The needed flags has
-been passed by xxx_CFLAGS=$(CFLAGS_FOR_BUILD).
-
-Upstream-Status: Pending
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
----
- tools/locktest/Makefile.am | 2 ++
- tools/rpcgen/Makefile.am | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/tools/locktest/Makefile.am b/tools/locktest/Makefile.am
-index 3156815..1729fd1 100644
---- a/tools/locktest/Makefile.am
-+++ b/tools/locktest/Makefile.am
-@@ -1,6 +1,8 @@
- ## Process this file with automake to produce Makefile.in
-
- CC=$(CC_FOR_BUILD)
-+CFLAGS=
-+LDFLAGS=
- LIBTOOL = @LIBTOOL@ --tag=CC
-
- noinst_PROGRAMS = testlk
-diff --git a/tools/rpcgen/Makefile.am b/tools/rpcgen/Makefile.am
-index 8a9ec89..8bacdaa 100644
---- a/tools/rpcgen/Makefile.am
-+++ b/tools/rpcgen/Makefile.am
-@@ -1,6 +1,8 @@
- ## Process this file with automake to produce Makefile.in
-
- CC=$(CC_FOR_BUILD)
-+CFLAGS=
-+LDFLAGS=
- LIBTOOL = @LIBTOOL@ --tag=CC
-
- noinst_PROGRAMS = rpcgen
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
index a169e6a22..22002fadc 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
@@ -1,17 +1,24 @@
+From caa19231196d73541445728e6813c8fa70345acb Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Tue, 26 Jun 2018 15:59:00 +0800
+Subject: [PATCH] nfs-utils: 2.1.1 -> 2.3.1
+
Fixed:
configure: error: res_querydomain needed
-Upstream-Status: Pending [https://git.alpinelinux.org/cgit/aports/tree/main/nfs-utils/musl-res_querydomain.patch?id=f6734a77d3caee73325f8cc1f77d1b5117a75096]
+Upstream-Status: Pending [https://github.com/alpinelinux/aports/blob/master/main/nfs-utils/musl-configure_ac.patch]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
---
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ configure.ac | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
+index 276dec3..760238b 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -401,7 +401,7 @@ if test "$enable_gss" = yes; then
+@@ -408,7 +408,7 @@ if test "$enable_gss" = yes; then
fi
dnl libdnsidmap specific checks
@@ -20,3 +27,31 @@ diff --git a/configure.ac b/configure.ac
AC_ARG_ENABLE([ldap],
[AS_HELP_STRING([--disable-ldap],[Disable support for LDAP @<:default=detect@:>@])])
+@@ -547,11 +547,11 @@ my_am_cflags="\
+ -pipe \
+ -Wall \
+ -Wextra \
+- -Werror=strict-prototypes \
+- -Werror=missing-prototypes \
+- -Werror=missing-declarations \
++ -Wstrict-prototypes \
++ -Wmissing-prototypes \
++ -Wmissing-declarations \
+ -Werror=format=2 \
+- -Werror=undef \
++ -Wundef \
+ -Werror=missing-include-dirs \
+ -Werror=strict-aliasing=2 \
+ -Werror=init-self \
+@@ -579,10 +579,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [
+
+ CHECK_CCSUPPORT([-Werror=format-overflow=2], [flg1])
+ CHECK_CCSUPPORT([-Werror=int-conversion], [flg2])
+-CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [flg3])
+ CHECK_CCSUPPORT([-Werror=misleading-indentation], [flg4])
+
+-AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4"])
++AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg4"])
+
+ # Make sure that $ACLOCAL_FLAGS are used during a rebuild
+ AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.1.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.1.bb
deleted file mode 100644
index 6d450c751..000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.1.bb
+++ /dev/null
@@ -1,151 +0,0 @@
-SUMMARY = "userspace utilities for kernel nfs"
-DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \
-NFS server and related tools."
-HOMEPAGE = "http://nfs.sourceforge.net/"
-SECTION = "console/network"
-
-LICENSE = "MIT & GPLv2+ & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
-
-# util-linux for libblkid
-DEPENDS = "libcap libevent util-linux sqlite3 libtirpc"
-RDEPENDS_${PN} = "${PN}-client bash"
-RRECOMMENDS_${PN} = "kernel-module-nfsd"
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}-client"
-USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \
- --shell /bin/false --user-group rpcuser"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
- file://nfsserver \
- file://nfscommon \
- file://nfs-utils.conf \
- file://nfs-server.service \
- file://nfs-mountd.service \
- file://nfs-statd.service \
- file://proc-fs-nfsd.mount \
- file://nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch \
- file://nfs-utils-debianize-start-statd.patch \
- file://bugfix-adjust-statd-service-name.patch \
- file://nfs-utils-musl-limits.patch \
-"
-
-SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"
-
-SRC_URI[md5sum] = "d77b182a9ee396aa6221ac2401ad7046"
-SRC_URI[sha256sum] = "96d06b5a86b185815760d8f04c34fdface8fa8b9949ff256ac05c3ebc08335a5"
-
-# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
-# pull in the remainder of the dependencies.
-
-INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
-INITSCRIPT_NAME = "nfsserver"
-INITSCRIPT_PARAMS = "defaults"
-INITSCRIPT_NAME_${PN}-client = "nfscommon"
-INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
-
-inherit autotools-brokensep update-rc.d systemd pkgconfig
-
-SYSTEMD_PACKAGES = "${PN} ${PN}-client"
-SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
-SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
-
-# --enable-uuid is need for cross-compiling
-EXTRA_OECONF = "--with-statduser=rpcuser \
- --enable-mountconfig \
- --enable-libmount-mount \
- --enable-uuid \
- --disable-gss \
- --disable-nfsdcltrack \
- --with-statdpath=/var/lib/nfs/statd \
- "
-
-PACKAGECONFIG ??= "tcp-wrappers \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG_remove_libc-musl = "tcp-wrappers"
-PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-# libdevmapper is available in meta-oe
-PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper"
-# keyutils is available in meta-security
-PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils"
-
-PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
-
-CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
- ${localstatedir}/lib/nfs/rmtab \
- ${localstatedir}/lib/nfs/xtab \
- ${localstatedir}/lib/nfs/statd/state \
- ${sysconfdir}/nfsmount.conf"
-
-FILES_${PN}-client = "${sbindir}/*statd \
- ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
- ${sbindir}/showmount ${sbindir}/nfsstat \
- ${localstatedir}/lib/nfs \
- ${sysconfdir}/nfs-utils.conf \
- ${sysconfdir}/nfsmount.conf \
- ${sysconfdir}/init.d/nfscommon \
- ${systemd_unitdir}/system/nfs-statd.service"
-RDEPENDS_${PN}-client = "${PN}-mount rpcbind"
-
-FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
-
-FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
-RDEPENDS_${PN}-stats = "python3-core"
-
-FILES_${PN} += "${systemd_unitdir}"
-
-do_configure_prepend() {
- sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
- ${S}/utils/mount/Makefile.am
-
- sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
- ${S}/utils/osd_login/Makefile.am
-}
-
-# Make clean needed because the package comes with
-# precompiled 64-bit objects that break the build
-do_compile_prepend() {
- make clean
-}
-
-do_install_append () {
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
- install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
-
- install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
- install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_unitdir}/system/*.service
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
- install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
- ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
- fi
-
- # kernel code as of 3.8 hard-codes this path as a default
- install -d ${D}/var/lib/nfs/v4recovery
-
- # chown the directories and files
- chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd
- chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state
-
- # the following are built by CC_FOR_BUILD
- rm -f ${D}${sbindir}/rpcdebug
- rm -f ${D}${sbindir}/rpcgen
- rm -f ${D}${sbindir}/locktest
-
- # Make python tools use python 3
- sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat
-
-}
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb
new file mode 100644
index 000000000..ac4437b92
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb
@@ -0,0 +1,153 @@
+SUMMARY = "userspace utilities for kernel nfs"
+DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \
+NFS server and related tools."
+HOMEPAGE = "http://nfs.sourceforge.net/"
+SECTION = "console/network"
+
+LICENSE = "MIT & GPLv2+ & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
+
+# util-linux for libblkid
+DEPENDS = "libcap libevent util-linux sqlite3 libtirpc"
+RDEPENDS_${PN} = "${PN}-client bash"
+RRECOMMENDS_${PN} = "kernel-module-nfsd"
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}-client"
+USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \
+ --shell /bin/false --user-group rpcuser"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
+ file://nfsserver \
+ file://nfscommon \
+ file://nfs-utils.conf \
+ file://nfs-server.service \
+ file://nfs-mountd.service \
+ file://nfs-statd.service \
+ file://proc-fs-nfsd.mount \
+ file://nfs-utils-debianize-start-statd.patch \
+ file://bugfix-adjust-statd-service-name.patch \
+ file://nfs-utils-musl-limits.patch \
+ file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \
+ file://0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch \
+ file://clang-format-string.patch \
+ file://0001-Makefile.am-update-the-path-of-libnfs.a.patch \
+ file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
+ file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \
+"
+SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch"
+SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"
+
+SRC_URI[md5sum] = "b6c9c032995af1c08fea9fbcc1ce33e9"
+SRC_URI[sha256sum] = "f68b34793831b05f1fd5760d6bdec92772c7684177586a99a61e7b444f336322"
+
+# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
+# pull in the remainder of the dependencies.
+
+INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
+INITSCRIPT_NAME = "nfsserver"
+INITSCRIPT_PARAMS = "defaults"
+INITSCRIPT_NAME_${PN}-client = "nfscommon"
+INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
+
+inherit autotools-brokensep update-rc.d systemd pkgconfig
+
+SYSTEMD_PACKAGES = "${PN} ${PN}-client"
+SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
+SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
+
+# --enable-uuid is need for cross-compiling
+EXTRA_OECONF = "--with-statduser=rpcuser \
+ --enable-mountconfig \
+ --enable-libmount-mount \
+ --enable-uuid \
+ --disable-gss \
+ --disable-nfsdcltrack \
+ --with-statdpath=/var/lib/nfs/statd \
+ "
+
+CFLAGS += "-Wno-error=format-overflow"
+
+PACKAGECONFIG ??= "tcp-wrappers \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG_remove_libc-musl = "tcp-wrappers"
+PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+# libdevmapper is available in meta-oe
+PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper"
+# keyutils is available in meta-security
+PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils"
+
+PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
+
+CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
+ ${localstatedir}/lib/nfs/rmtab \
+ ${localstatedir}/lib/nfs/xtab \
+ ${localstatedir}/lib/nfs/statd/state \
+ ${sysconfdir}/nfsmount.conf"
+
+FILES_${PN}-client = "${sbindir}/*statd \
+ ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
+ ${sbindir}/showmount ${sbindir}/nfsstat \
+ ${localstatedir}/lib/nfs \
+ ${sysconfdir}/nfs-utils.conf \
+ ${sysconfdir}/nfsmount.conf \
+ ${sysconfdir}/init.d/nfscommon \
+ ${systemd_unitdir}/system/nfs-statd.service"
+RDEPENDS_${PN}-client = "${PN}-mount rpcbind"
+
+FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
+
+FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
+RDEPENDS_${PN}-stats = "python3-core"
+
+FILES_${PN} += "${systemd_unitdir}"
+
+do_configure_prepend() {
+ sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
+ ${S}/utils/mount/Makefile.am
+
+ sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
+ ${S}/utils/osd_login/Makefile.am
+}
+
+# Make clean needed because the package comes with
+# precompiled 64-bit objects that break the build
+do_compile_prepend() {
+ make clean
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
+ install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
+
+ install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
+ install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_unitdir}/system/*.service
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
+ ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
+ fi
+
+ # kernel code as of 3.8 hard-codes this path as a default
+ install -d ${D}/var/lib/nfs/v4recovery
+
+ # chown the directories and files
+ chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd
+ chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state
+
+ # Make python tools use python 3
+ sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat
+
+}
diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.24.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.24.bb
deleted file mode 100644
index be7d9ea85..000000000
--- a/poky/meta/recipes-connectivity/ofono/ofono_1.24.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require ofono.inc
-
-SRC_URI = "\
- ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
- file://ofono \
- file://use-python3.patch \
-"
-SRC_URI[md5sum] = "be24e80f6551f46fea0c5b5879964d6c"
-SRC_URI[sha256sum] = "9c8e351b7658f4b43f9a4380b731c47d2d7544a89987c48c3f227e73636c87ae"
diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.25.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.25.bb
new file mode 100644
index 000000000..3688b9d2f
--- /dev/null
+++ b/poky/meta/recipes-connectivity/ofono/ofono_1.25.bb
@@ -0,0 +1,9 @@
+require ofono.inc
+
+SRC_URI = "\
+ ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
+ file://ofono \
+ file://use-python3.patch \
+"
+SRC_URI[md5sum] = "31450cabdd8dbbf3f808ea2f2f066863"
+SRC_URI[sha256sum] = "eb011fcd3080e93f3a56f96be60350b6595a8b5f36b61646312ba41b0bcb0d75"
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb b/poky/meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb
deleted file mode 100644
index f54dfb5de..000000000
--- a/poky/meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb
+++ /dev/null
@@ -1,164 +0,0 @@
-SUMMARY = "A suite of security-related network utilities based on \
-the SSH protocol including the ssh client and sshd server"
-DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \
-Ssh (Secure Shell) is a program for logging into a remote machine \
-and for executing commands on a remote machine."
-HOMEPAGE = "http://www.openssh.com/"
-SECTION = "console/network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8"
-
-DEPENDS = "zlib openssl"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-SRC_URI = "git://github.com/openssh/openssh-portable;branch=master \
- file://sshd_config \
- file://ssh_config \
- file://init \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://sshd.socket \
- file://sshd@.service \
- file://sshdgenkeys.service \
- file://volatiles.99_sshd \
- file://run-ptest \
- file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
- file://sshd_check_keys \
- file://add-test-support-for-busybox.patch \
- "
-
-PAM_SRC_URI = "file://sshd"
-
-SRCREV = "cce8cbe0ed7d1ba3a575310e0b63c193326ae616"
-
-S = "${WORKDIR}/git"
-
-inherit useradd update-rc.d update-alternatives systemd
-
-USERADD_PACKAGES = "${PN}-sshd"
-USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
-INITSCRIPT_PACKAGES = "${PN}-sshd"
-INITSCRIPT_NAME_${PN}-sshd = "sshd"
-INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
-
-SYSTEMD_PACKAGES = "${PN}-sshd"
-SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
-
-inherit autotools-brokensep ptest
-
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-# login path is hardcoded in sshd
-EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
- --without-zlib-version-check \
- --with-privsep-path=${localstatedir}/run/sshd \
- --sysconfdir=${sysconfdir}/ssh \
- --with-xauth=${bindir}/xauth \
- --disable-strip \
- "
-
-# musl doesn't implement wtmp/utmp
-EXTRA_OECONF_append_libc-musl = " --disable-wtmp"
-
-# Since we do not depend on libbsd, we do not want configure to use it
-# just because it finds libutil.h. But, specifying --disable-libutil
-# causes compile errors, so...
-CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no"
-
-# passwd path is hardcoded in sshd
-CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd"
-
-# We don't want to depend on libblockfile
-CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no"
-
-do_configure_prepend () {
- export LD="${CC}"
- install -m 0644 ${WORKDIR}/sshd_config ${B}/
- install -m 0644 ${WORKDIR}/ssh_config ${B}/
-}
-
-do_compile_ptest() {
- # skip regress/unittests/ binaries: this will silently skip
- # unittests in run-ptests which is good because they are so slow.
- oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \
- regress/check-perm regress/mkdtemp
-}
-
-do_install_append () {
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
- install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
- sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config
- fi
-
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
- sed -i -e 's:#X11Forwarding no:X11Forwarding yes:' ${D}${sysconfdir}/ssh/sshd_config
- fi
-
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd
- rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin
- rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir}
- install -d ${D}/${sysconfdir}/default/volatiles
- install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd
- install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir}
-
- # Create config files for read-only rootfs
- install -d ${D}${sysconfdir}/ssh
- install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly
- sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly
- echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
- echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
- echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
-
- install -d ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@BINDIR@,${bindir},g' \
- -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
- ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service
-
- sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
- ${D}${sysconfdir}/init.d/sshd
-
- install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys
-}
-
-do_install_ptest () {
- sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh
- cp -r regress ${D}${PTEST_PATH}
-}
-
-ALLOW_EMPTY_${PN} = "1"
-
-PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
-FILES_${PN}-scp = "${bindir}/scp.${BPN}"
-FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
-FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
-FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
-FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys"
-FILES_${PN}-sftp = "${bindir}/sftp"
-FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
-FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
-FILES_${PN}-keygen = "${bindir}/ssh-keygen"
-
-RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
-RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
-RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make"
-
-RPROVIDES_${PN}-ssh = "ssh"
-RPROVIDES_${PN}-sshd = "sshd"
-
-RCONFLICTS_${PN} = "dropbear"
-RCONFLICTS_${PN}-sshd = "dropbear"
-
-CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
-CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
-
-ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN}-scp = "scp"
-ALTERNATIVE_${PN}-ssh = "ssh"
-
-BBCLASSEXTEND += "nativesdk"
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
new file mode 100644
index 000000000..2a23f64b8
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
@@ -0,0 +1,162 @@
+SUMMARY = "A suite of security-related network utilities based on \
+the SSH protocol including the ssh client and sshd server"
+DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \
+Ssh (Secure Shell) is a program for logging into a remote machine \
+and for executing commands on a remote machine."
+HOMEPAGE = "http://www.openssh.com/"
+SECTION = "console/network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8"
+
+DEPENDS = "zlib openssl"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
+ file://sshd_config \
+ file://ssh_config \
+ file://init \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://sshd.socket \
+ file://sshd@.service \
+ file://sshdgenkeys.service \
+ file://volatiles.99_sshd \
+ file://run-ptest \
+ file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
+ file://sshd_check_keys \
+ file://add-test-support-for-busybox.patch \
+ "
+SRC_URI[md5sum] = "c6af50b7a474d04726a5aa747a5dce8f"
+SRC_URI[sha256sum] = "6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad"
+
+PAM_SRC_URI = "file://sshd"
+
+inherit useradd update-rc.d update-alternatives systemd
+
+USERADD_PACKAGES = "${PN}-sshd"
+USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
+INITSCRIPT_PACKAGES = "${PN}-sshd"
+INITSCRIPT_NAME_${PN}-sshd = "sshd"
+INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
+
+SYSTEMD_PACKAGES = "${PN}-sshd"
+SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
+
+inherit autotools-brokensep ptest
+
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+# login path is hardcoded in sshd
+EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
+ --without-zlib-version-check \
+ --with-privsep-path=${localstatedir}/run/sshd \
+ --sysconfdir=${sysconfdir}/ssh \
+ --with-xauth=${bindir}/xauth \
+ --disable-strip \
+ "
+
+# musl doesn't implement wtmp/utmp
+EXTRA_OECONF_append_libc-musl = " --disable-wtmp"
+
+# Since we do not depend on libbsd, we do not want configure to use it
+# just because it finds libutil.h. But, specifying --disable-libutil
+# causes compile errors, so...
+CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no"
+
+# passwd path is hardcoded in sshd
+CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd"
+
+# We don't want to depend on libblockfile
+CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no"
+
+do_configure_prepend () {
+ export LD="${CC}"
+ install -m 0644 ${WORKDIR}/sshd_config ${B}/
+ install -m 0644 ${WORKDIR}/ssh_config ${B}/
+}
+
+do_compile_ptest() {
+ # skip regress/unittests/ binaries: this will silently skip
+ # unittests in run-ptests which is good because they are so slow.
+ oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \
+ regress/check-perm regress/mkdtemp
+}
+
+do_install_append () {
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+ install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
+ sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config
+ fi
+
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
+ sed -i -e 's:#X11Forwarding no:X11Forwarding yes:' ${D}${sysconfdir}/ssh/sshd_config
+ fi
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd
+ rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin
+ rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir}
+ install -d ${D}/${sysconfdir}/default/volatiles
+ install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd
+ install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir}
+
+ # Create config files for read-only rootfs
+ install -d ${D}${sysconfdir}/ssh
+ install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly
+ sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly
+ echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
+ echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
+ echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
+
+ install -d ${D}${systemd_unitdir}/system
+ install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system
+ install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system
+ install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@BINDIR@,${bindir},g' \
+ -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
+ ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service
+
+ sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
+ ${D}${sysconfdir}/init.d/sshd
+
+ install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys
+}
+
+do_install_ptest () {
+ sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh
+ cp -r regress ${D}${PTEST_PATH}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+
+PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
+FILES_${PN}-scp = "${bindir}/scp.${BPN}"
+FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
+FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
+FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
+FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys"
+FILES_${PN}-sftp = "${bindir}/sftp"
+FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
+FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
+FILES_${PN}-keygen = "${bindir}/ssh-keygen"
+
+RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
+RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
+RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make"
+
+RPROVIDES_${PN}-ssh = "ssh"
+RPROVIDES_${PN}-sshd = "sshd"
+
+RCONFLICTS_${PN} = "dropbear"
+RCONFLICTS_${PN}-sshd = "dropbear"
+
+CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
+CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
+
+ALTERNATIVE_PRIORITY = "90"
+ALTERNATIVE_${PN}-scp = "scp"
+ALTERNATIVE_${PN}-ssh = "ssh"
+
+BBCLASSEXTEND += "nativesdk"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch b/poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
index 80b62ab18..949c78834 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
+++ b/poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
@@ -20,6 +20,11 @@ https://patchwork.openembedded.org/patch/147229/
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Martin Hundebøll <martin@geanix.com>
+
+
+Update to fix buildpaths qa issue for '-fmacro-prefix-map'.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
Configurations/unix-Makefile.tmpl | 10 +++++++++-
crypto/build.info | 2 +-
@@ -29,7 +34,7 @@ diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tm
index 16af4d2087..54c162784c 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
-@@ -317,13 +317,21 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (),
+@@ -317,13 +317,22 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (),
'$(CNF_LDFLAGS)', '$(LDFLAGS)') -}
BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS)
@@ -43,6 +48,7 @@ index 16af4d2087..54c162784c 100644
+CFLAGS_Q={- for (@{$config{CFLAGS}}) {
+ s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g;
++ s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g;
+ }
+ join(' ', @{$config{CFLAGS}}) -}
+
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch b/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch
new file mode 100644
index 000000000..900ef97fc
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch
@@ -0,0 +1,69 @@
+Upstream-Status: Backport [https://github.com/openssl/openssl/commit/f426625b6ae9a7831010750490a5f0ad689c5ba3]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From f426625b6ae9a7831010750490a5f0ad689c5ba3 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Tue, 5 Mar 2019 14:39:15 +0000
+Subject: [PATCH] Prevent over long nonces in ChaCha20-Poly1305
+
+ChaCha20-Poly1305 is an AEAD cipher, and requires a unique nonce input for
+every encryption operation. RFC 7539 specifies that the nonce value (IV)
+should be 96 bits (12 bytes). OpenSSL allows a variable nonce length and
+front pads the nonce with 0 bytes if it is less than 12 bytes. However it
+also incorrectly allows a nonce to be set of up to 16 bytes. In this case
+only the last 12 bytes are significant and any additional leading bytes are
+ignored.
+
+It is a requirement of using this cipher that nonce values are unique.
+Messages encrypted using a reused nonce value are susceptible to serious
+confidentiality and integrity attacks. If an application changes the
+default nonce length to be longer than 12 bytes and then makes a change to
+the leading bytes of the nonce expecting the new value to be a new unique
+nonce then such an application could inadvertently encrypt messages with a
+reused nonce.
+
+Additionally the ignored bytes in a long nonce are not covered by the
+integrity guarantee of this cipher. Any application that relies on the
+integrity of these ignored leading bytes of a long nonce may be further
+affected.
+
+Any OpenSSL internal use of this cipher, including in SSL/TLS, is safe
+because no such use sets such a long nonce value. However user
+applications that use this cipher directly and set a non-default nonce
+length to be longer than 12 bytes may be vulnerable.
+
+CVE: CVE-2019-1543
+
+Fixes #8345
+
+Reviewed-by: Paul Dale <paul.dale@oracle.com>
+Reviewed-by: Richard Levitte <levitte@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/8406)
+
+(cherry picked from commit 2a3d0ee9d59156c48973592331404471aca886d6)
+---
+ crypto/evp/e_chacha20_poly1305.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c
+index c1917bb86a6..d3e2c622a1b 100644
+--- a/crypto/evp/e_chacha20_poly1305.c
++++ b/crypto/evp/e_chacha20_poly1305.c
+@@ -30,6 +30,8 @@ typedef struct {
+
+ #define data(ctx) ((EVP_CHACHA_KEY *)(ctx)->cipher_data)
+
++#define CHACHA20_POLY1305_MAX_IVLEN 12
++
+ static int chacha_init_key(EVP_CIPHER_CTX *ctx,
+ const unsigned char user_key[CHACHA_KEY_SIZE],
+ const unsigned char iv[CHACHA_CTR_SIZE], int enc)
+@@ -533,7 +535,7 @@ static int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,
+ return 1;
+
+ case EVP_CTRL_AEAD_SET_IVLEN:
+- if (arg <= 0 || arg > CHACHA_CTR_SIZE)
++ if (arg <= 0 || arg > CHACHA20_POLY1305_MAX_IVLEN)
+ return 0;
+ actx->nonce_len = arg;
+ return 1;
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch
new file mode 100644
index 000000000..7c4b084f3
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch
@@ -0,0 +1,31 @@
+Don't refuse to build afalgeng if cross-compiling or the host kernel is too old.
+
+Upstream-Status: Submitted [hhttps://github.com/openssl/openssl/pull/7688]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/Configure b/Configure
+index 3baa8ce..9ef52ed 100755
+--- a/Configure
++++ b/Configure
+@@ -1550,20 +1550,7 @@ unless ($disabled{"crypto-mdebug-backtrace"})
+ unless ($disabled{afalgeng}) {
+ $config{afalgeng}="";
+ if (grep { $_ eq 'afalgeng' } @{$target{enable}}) {
+- my $minver = 4*10000 + 1*100 + 0;
+- if ($config{CROSS_COMPILE} eq "") {
+- my $verstr = `uname -r`;
+- my ($ma, $mi1, $mi2) = split("\\.", $verstr);
+- ($mi2) = $mi2 =~ /(\d+)/;
+- my $ver = $ma*10000 + $mi1*100 + $mi2;
+- if ($ver < $minver) {
+- $disabled{afalgeng} = "too-old-kernel";
+- } else {
+- push @{$config{engdirs}}, "afalg";
+- }
+- } else {
+- $disabled{afalgeng} = "cross-compiling";
+- }
++ push @{$config{engdirs}}, "afalg";
+ } else {
+ $disabled{afalgeng} = "not-linux";
+ }
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/openssl-c_rehash.sh b/poky/meta/recipes-connectivity/openssl/openssl/openssl-c_rehash.sh
deleted file mode 100644
index 6620fdcb5..000000000
--- a/poky/meta/recipes-connectivity/openssl/openssl/openssl-c_rehash.sh
+++ /dev/null
@@ -1,222 +0,0 @@
-#!/bin/sh
-#
-# Ben Secrest <blsecres@gmail.com>
-#
-# sh c_rehash script, scan all files in a directory
-# and add symbolic links to their hash values.
-#
-# based on the c_rehash perl script distributed with openssl
-#
-# LICENSE: See OpenSSL license
-# ^^acceptable?^^
-#
-
-# default certificate location
-DIR=/etc/openssl
-
-# for filetype bitfield
-IS_CERT=$(( 1 << 0 ))
-IS_CRL=$(( 1 << 1 ))
-
-
-# check to see if a file is a certificate file or a CRL file
-# arguments:
-# 1. the filename to be scanned
-# returns:
-# bitfield of file type; uses ${IS_CERT} and ${IS_CRL}
-#
-check_file()
-{
- local IS_TYPE=0
-
- # make IFS a newline so we can process grep output line by line
- local OLDIFS=${IFS}
- IFS=$( printf "\n" )
-
- # XXX: could be more efficient to have two 'grep -m' but is -m portable?
- for LINE in $( grep '^-----BEGIN .*-----' ${1} )
- do
- if echo ${LINE} \
- | grep -q -E '^-----BEGIN (X509 |TRUSTED )?CERTIFICATE-----'
- then
- IS_TYPE=$(( ${IS_TYPE} | ${IS_CERT} ))
-
- if [ $(( ${IS_TYPE} & ${IS_CRL} )) -ne 0 ]
- then
- break
- fi
- elif echo ${LINE} | grep -q '^-----BEGIN X509 CRL-----'
- then
- IS_TYPE=$(( ${IS_TYPE} | ${IS_CRL} ))
-
- if [ $(( ${IS_TYPE} & ${IS_CERT} )) -ne 0 ]
- then
- break
- fi
- fi
- done
-
- # restore IFS
- IFS=${OLDIFS}
-
- return ${IS_TYPE}
-}
-
-
-#
-# use openssl to fingerprint a file
-# arguments:
-# 1. the filename to fingerprint
-# 2. the method to use (x509, crl)
-# returns:
-# none
-# assumptions:
-# user will capture output from last stage of pipeline
-#
-fingerprint()
-{
- ${SSL_CMD} ${2} -fingerprint -noout -in ${1} | sed 's/^.*=//' | tr -d ':'
-}
-
-
-#
-# link_hash - create links to certificate files
-# arguments:
-# 1. the filename to create a link for
-# 2. the type of certificate being linked (x509, crl)
-# returns:
-# 0 on success, 1 otherwise
-#
-link_hash()
-{
- local FINGERPRINT=$( fingerprint ${1} ${2} )
- local HASH=$( ${SSL_CMD} ${2} -hash -noout -in ${1} )
- local SUFFIX=0
- local LINKFILE=''
- local TAG=''
-
- if [ ${2} = "crl" ]
- then
- TAG='r'
- fi
-
- LINKFILE=${HASH}.${TAG}${SUFFIX}
-
- while [ -f ${LINKFILE} ]
- do
- if [ ${FINGERPRINT} = $( fingerprint ${LINKFILE} ${2} ) ]
- then
- echo "NOTE: Skipping duplicate file ${1}" >&2
- return 1
- fi
-
- SUFFIX=$(( ${SUFFIX} + 1 ))
- LINKFILE=${HASH}.${TAG}${SUFFIX}
- done
-
- echo "${3} => ${LINKFILE}"
-
- # assume any system with a POSIX shell will either support symlinks or
- # do something to handle this gracefully
- ln -s ${3} ${LINKFILE}
-
- return 0
-}
-
-
-# hash_dir create hash links in a given directory
-hash_dir()
-{
- echo "Doing ${1}"
-
- cd ${1}
-
- ls -1 * 2>/dev/null | while read FILE
- do
- if echo ${FILE} | grep -q -E '^[[:xdigit:]]{8}\.r?[[:digit:]]+$' \
- && [ -h "${FILE}" ]
- then
- rm ${FILE}
- fi
- done
-
- ls -1 *.pem *.cer *.crt *.crl 2>/dev/null | while read FILE
- do
- REAL_FILE=${FILE}
- # if we run on build host then get to the real files in rootfs
- if [ -n "${SYSROOT}" -a -h ${FILE} ]
- then
- FILE=$( readlink ${FILE} )
- # check the symlink is absolute (or dangling in other word)
- if [ "x/" = "x$( echo ${FILE} | cut -c1 -)" ]
- then
- REAL_FILE=${SYSROOT}/${FILE}
- fi
- fi
-
- check_file ${REAL_FILE}
- local FILE_TYPE=${?}
- local TYPE_STR=''
-
- if [ $(( ${FILE_TYPE} & ${IS_CERT} )) -ne 0 ]
- then
- TYPE_STR='x509'
- elif [ $(( ${FILE_TYPE} & ${IS_CRL} )) -ne 0 ]
- then
- TYPE_STR='crl'
- else
- echo "NOTE: ${FILE} does not contain a certificate or CRL: skipping" >&2
- continue
- fi
-
- link_hash ${REAL_FILE} ${TYPE_STR} ${FILE}
- done
-}
-
-
-# choose the name of an ssl application
-if [ -n "${OPENSSL}" ]
-then
- SSL_CMD=$(which ${OPENSSL} 2>/dev/null)
-else
- SSL_CMD=/usr/bin/openssl
- OPENSSL=${SSL_CMD}
- export OPENSSL
-fi
-
-# fix paths
-PATH=${PATH}:${DIR}/bin
-export PATH
-
-# confirm existance/executability of ssl command
-if ! [ -x ${SSL_CMD} ]
-then
- echo "${0}: rehashing skipped ('openssl' program not available)" >&2
- exit 0
-fi
-
-# determine which directories to process
-old_IFS=$IFS
-if [ ${#} -gt 0 ]
-then
- IFS=':'
- DIRLIST=${*}
-elif [ -n "${SSL_CERT_DIR}" ]
-then
- DIRLIST=$SSL_CERT_DIR
-else
- DIRLIST=${DIR}/certs
-fi
-
-IFS=':'
-
-# process directories
-for CERT_DIR in ${DIRLIST}
-do
- if [ -d ${CERT_DIR} -a -w ${CERT_DIR} ]
- then
- IFS=$old_IFS
- hash_dir ${CERT_DIR}
- IFS=':'
- fi
-done
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/run-ptest b/poky/meta/recipes-connectivity/openssl/openssl/run-ptest
index 0a620dea7..3fb22471f 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl/run-ptest
+++ b/poky/meta/recipes-connectivity/openssl/openssl/run-ptest
@@ -9,4 +9,4 @@ export TOP=.
# OPENSSL_ENGINES is relative from the test binaries
export OPENSSL_ENGINES=../engines
-perl ./test/run_tests.pl $*
+perl ./test/run_tests.pl $* | perl -0pe 's#(.*) \.*.ok#PASS: \1#g; s#(.*) \.*.skipped: (.*)#SKIP: \1 (\2)#g; s#(.*) \.*.\nDubious#FAIL: \1#;'
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb b/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb
deleted file mode 100644
index 54af100f9..000000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb
+++ /dev/null
@@ -1,363 +0,0 @@
-SUMMARY = "Secure Socket Layer"
-DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
-HOMEPAGE = "http://www.openssl.org/"
-BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
-SECTION = "libs/network"
-
-# "openssl | SSLeay" dual license
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f475368924827d06d4b416111c8bdb77"
-
-DEPENDS = "hostperl-runtime-native"
-DEPENDS_append_class-target = " openssl-native"
-
-SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
- file://run-ptest \
- file://openssl-c_rehash.sh \
- file://configure-targets.patch \
- file://shared-libs.patch \
- file://oe-ldflags.patch \
- file://engines-install-in-libdir-ssl.patch \
- file://debian1.0.2/block_diginotar.patch \
- file://debian1.0.2/block_digicert_malaysia.patch \
- file://debian/c_rehash-compat.patch \
- file://debian/debian-targets.patch \
- file://debian/man-dir.patch \
- file://debian/man-section.patch \
- file://debian/no-rpath.patch \
- file://debian/no-symbolic.patch \
- file://debian/pic.patch \
- file://debian1.0.2/version-script.patch \
- file://debian1.0.2/soname.patch \
- file://openssl_fix_for_x32.patch \
- file://openssl-fix-des.pod-error.patch \
- file://Makefiles-ptest.patch \
- file://ptest-deps.patch \
- file://ptest_makefile_deps.patch \
- file://configure-musl-target.patch \
- file://parallel.patch \
- file://Use-SHA256-not-MD5-as-default-digest.patch \
- file://0001-Fix-build-with-clang-using-external-assembler.patch \
- file://0001-openssl-force-soft-link-to-avoid-rare-race.patch \
- file://0001-allow-manpages-to-be-disabled.patch \
- file://0001-Fix-BN_LLONG-breakage.patch \
- file://0001-Fix-DES_LONG-breakage.patch \
- "
-
-SRC_URI_append_class-target = " \
- file://reproducible-cflags.patch \
- file://reproducible-mkbuildinf.patch \
- "
-
-SRC_URI_append_class-nativesdk = " \
- file://environment.d-openssl.sh \
- "
-
-SRC_URI[md5sum] = "7563e1ce046cb21948eeb6ba1a0eb71c"
-SRC_URI[sha256sum] = "5744cfcbcec2b1b48629f7354203bc1e5e9b5466998bbccc5b5fcde3b18eb684"
-
-S = "${WORKDIR}/openssl-${PV}"
-
-UPSTREAM_CHECK_REGEX = "openssl-(?P<pver>1\.0.+)\.tar"
-
-inherit pkgconfig siteinfo multilib_header ptest manpages
-
-PACKAGECONFIG ?= "cryptodev-linux"
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
-
-PACKAGECONFIG[cryptodev-linux] = "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS,,cryptodev-linux"
-PACKAGECONFIG[manpages] = ",,,"
-PACKAGECONFIG[perl] = ",,,"
-
-# Remove this to enable SSLv3. SSLv3 is defaulted to disabled due to the POODLE
-# vulnerability
-EXTRA_OECONF = "no-ssl3"
-
-EXTRA_OEMAKE = "${@bb.utils.contains('PACKAGECONFIG', 'manpages', '', 'OE_DISABLE_MANPAGES=1', d)}"
-
-export OE_LDFLAGS = "${LDFLAGS}"
-
-# openssl fails with ccache: https://bugzilla.yoctoproject.org/show_bug.cgi?id=12810
-CCACHE = ""
-
-TERMIO ?= "-DTERMIO"
-TERMIO_libc-musl = "-DTERMIOS"
-EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
-
-CFLAG = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
- ${TERMIO} ${CFLAGS} -Wall"
-
-# Avoid binaries being marked as requiring an executable stack since they don't
-# (and it causes issues with SELinux)
-CFLAG += "-Wa,--noexecstack"
-
-CFLAG_append_class-native = " -fPIC"
-
-do_configure () {
- # The crypto_use_bigint patch means that perl's bignum module needs to be
- # installed, but some distributions (for example Fedora 23) don't ship it by
- # default. As the resulting error is very misleading check for bignum before
- # building.
- if ! perl -Mbigint -e true; then
- bbfatal "The perl module 'bignum' was not found but this is required to build openssl. Please install this module (often packaged as perl-bignum) and re-run bitbake."
- fi
-
- ln -sf apps/openssl.pod crypto/crypto.pod ssl/ssl.pod doc/
-
- os=${HOST_OS}
- case $os in
- linux-gnueabi |\
- linux-gnuspe |\
- linux-musleabi |\
- linux-muslspe |\
- linux-musl )
- os=linux
- ;;
- *)
- ;;
- esac
- target="$os-${HOST_ARCH}"
- case $target in
- linux-arm)
- target=linux-armv4
- ;;
- linux-armeb)
- target=linux-elf-armeb
- ;;
- linux-aarch64*)
- target=linux-aarch64
- ;;
- linux-sh3)
- target=debian-sh3
- ;;
- linux-sh4)
- target=debian-sh4
- ;;
- linux-i486)
- target=debian-i386-i486
- ;;
- linux-i586 | linux-viac3)
- target=debian-i386-i586
- ;;
- linux-i686)
- target=debian-i386-i686/cmov
- ;;
- linux-gnux32-x86_64 | linux-muslx32-x86_64 )
- target=linux-x32
- ;;
- linux-gnu64-x86_64)
- target=linux-x86_64
- ;;
- linux-gnun32-mips*el)
- target=debian-mipsn32el
- ;;
- linux-gnun32-mips*)
- target=debian-mipsn32
- ;;
- linux-mips*64*el)
- target=debian-mips64el
- ;;
- linux-mips*64*)
- target=debian-mips64
- ;;
- linux-mips*el)
- target=debian-mipsel
- ;;
- linux-mips*)
- target=debian-mips
- ;;
- linux-microblaze* | linux-nios2* | linux-gnu*ilp32** | linux-arc*)
- target=linux-generic32
- ;;
- linux-powerpc)
- target=linux-ppc
- ;;
- linux-powerpc64)
- target=linux-ppc64
- ;;
- linux-riscv32)
- target=linux-generic32
- ;;
- linux-riscv64)
- target=linux-generic64
- ;;
- linux-sparc | linux-supersparc)
- target=linux-sparcv8
- ;;
- esac
-
- # inject machine-specific flags
- sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
-
- useprefix=${prefix}
- if [ "x$useprefix" = "x" ]; then
- useprefix=/
- fi
- libdirleaf="$( echo "${libdir}" | sed "s:^$useprefix/*::" )"
- perl ./Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=$libdirleaf $target
-}
-
-do_compile () {
- oe_runmake depend
- oe_runmake
-}
-
-do_compile_class-target () {
- sed -i 's/\((OPENSSL=\)".*"/\1"openssl"/' Makefile
- oe_runmake depend
- cc_sanitized=$(echo "${CC} ${CFLAG}" | sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' -e 's|${DEBUG_PREFIX_MAP}||g' -e 's/[ \t]\+/ /g')
- oe_runmake CC_INFO="$cc_sanitized"
-}
-
-do_compile_ptest () {
- oe_runmake buildtest
-}
-
-do_install () {
- # Create ${D}/${prefix} to fix parallel issues
- mkdir -p ${D}/${prefix}/
-
- oe_runmake INSTALL_PREFIX="${D}" MANDIR="${mandir}" install
-
- oe_libinstall -so libcrypto ${D}${libdir}
- oe_libinstall -so libssl ${D}${libdir}
-
- install -d ${D}${includedir}
- cp --dereference -R include/openssl ${D}${includedir}
-
- oe_multilib_header openssl/opensslconf.h
-
- install -Dm 0755 ${WORKDIR}/openssl-c_rehash.sh ${D}${bindir}/c_rehash
- sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash
-
- if [ "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}" ]; then
- sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
- sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/tsget
- else
- rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget
- fi
-
- # Create SSL structure for packages such as ca-certificates which
- # contain hard-coded paths to /etc/ssl. Debian does the same.
- install -d ${D}${sysconfdir}/ssl
- mv ${D}${libdir}/ssl/certs \
- ${D}${libdir}/ssl/private \
- ${D}${libdir}/ssl/openssl.cnf \
- ${D}${sysconfdir}/ssl/
-
- # Although absolute symlinks would be OK for the target, they become
- # invalid if native or nativesdk are relocated from sstate.
- ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl/certs
- ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl/private
- ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl/openssl.cnf
-
- # Rename man pages to prefix openssl10-*
- for f in `find ${D}${mandir} -type f`; do
- mv $f $(dirname $f)/openssl10-$(basename $f)
- done
- for f in `find ${D}${mandir} -type l`; do
- ln_f=`readlink $f`
- rm -f $f
- ln -s openssl10-$ln_f $(dirname $f)/openssl10-$(basename $f)
- done
-}
-
-do_install_append_class-native () {
- create_wrapper ${D}${bindir}/openssl \
- OPENSSL_CONF=${libdir}/ssl/openssl.cnf \
- SSL_CERT_DIR=${libdir}/ssl/certs \
- SSL_CERT_FILE=${libdir}/ssl/cert.pem \
- OPENSSL_ENGINES=${libdir}/ssl/engines
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
- install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
-}
-
-do_install_ptest () {
- cp -r -L Makefile.org Makefile test ${D}${PTEST_PATH}
-
- # Replace the path to native perl with the path to target perl
- sed -i 's,^PERL=.*,PERL=${bindir}/perl,' ${D}${PTEST_PATH}/Makefile
-
- cp Configure config e_os.h ${D}${PTEST_PATH}
- cp -r -L include ${D}${PTEST_PATH}
- ln -sf ${libdir}/libcrypto.a ${D}${PTEST_PATH}
- ln -sf ${libdir}/libssl.a ${D}${PTEST_PATH}
- mkdir -p ${D}${PTEST_PATH}/crypto
- cp crypto/constant_time_locl.h ${D}${PTEST_PATH}/crypto
- cp -r certs ${D}${PTEST_PATH}
- mkdir -p ${D}${PTEST_PATH}/apps
- ln -sf ${libdir}/ssl/misc/CA.sh ${D}${PTEST_PATH}/apps
- ln -sf ${sysconfdir}/ssl/openssl.cnf ${D}${PTEST_PATH}/apps
- ln -sf ${bindir}/openssl ${D}${PTEST_PATH}/apps
- cp apps/server.pem ${D}${PTEST_PATH}/apps
- cp apps/server2.pem ${D}${PTEST_PATH}/apps
- mkdir -p ${D}${PTEST_PATH}/util
- install util/opensslwrap.sh ${D}${PTEST_PATH}/util
- install util/shlib_wrap.sh ${D}${PTEST_PATH}/util
- # Time stamps are relevant for "make alltests", otherwise
- # make may try to recompile binaries. Not only must the
- # binary files be newer than the sources, they also must
- # be more recent than the header files in /usr/include.
- #
- # Using "cp -a" is not sufficient, because do_install
- # does not preserve the original time stamps.
- #
- # So instead of using the original file stamps, we set
- # the current time for all files. Binaries will get
- # modified again later when stripping them, but that's okay.
- touch ${D}${PTEST_PATH}
- find ${D}${PTEST_PATH} -type f -print0 | xargs --verbose -0 touch -r ${D}${PTEST_PATH}
-
- # exclude binary files or the package won't install
- for d in ssltest_old v3ext x509aux; do
- rm -rf ${D}${libdir}/${BPN}/ptest/test/$d
- done
-
- # Remove build host references
- sed -i \
- -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- ${D}${PTEST_PATH}/Makefile ${D}${PTEST_PATH}/Configure
-}
-
-# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
-# package RRECOMMENDS on this package. This will enable the configuration
-# file to be installed for both the base openssl package and the libcrypto
-# package since the base openssl package depends on the libcrypto package.
-
-PACKAGES =+ "libcrypto10 libssl10 openssl10-conf ${PN}-engines ${PN}-misc"
-
-FILES_libcrypto10 = "${libdir}/libcrypto${SOLIBS}"
-FILES_libssl10 = "${libdir}/libssl${SOLIBS}"
-FILES_openssl10-conf = "${sysconfdir}/ssl/openssl.cnf"
-FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines"
-FILES_${PN}-misc = "${libdir}/ssl/misc"
-FILES_${PN} =+ "${libdir}/ssl/*"
-FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
-
-CONFFILES_openssl10-conf = "${sysconfdir}/ssl/openssl.cnf"
-
-RRECOMMENDS_libcrypto10 += "openssl10-conf"
-RDEPENDS_${PN}-misc = "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}"
-RDEPENDS_${PN}-ptest += "${PN}-misc make perl perl-module-filehandle bc"
-
-BBCLASSEXTEND = "native nativesdk"
-PACKAGE_PREPROCESS_FUNCS += "openssl_package_preprocess"
-
-# openssl 1.0 development files and executable binaries clash with openssl 1.1
-# files when installed into target rootfs. So we don't put them into
-# packages, but they continue to be provided via target sysroot for
-# cross-compilation on the host, if some software still depends on openssl 1.0.
-openssl_package_preprocess () {
- for file in `find ${PKGD} -name *.h -o -name *.pc -o -name *.so`; do
- rm $file
- done
- rm ${PKGD}${bindir}/openssl
- rm ${PKGD}${bindir}/c_rehash
- rmdir ${PKGD}${bindir}
-
-}
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb b/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb
new file mode 100644
index 000000000..87df4f517
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb
@@ -0,0 +1,360 @@
+SUMMARY = "Secure Socket Layer"
+DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
+HOMEPAGE = "http://www.openssl.org/"
+BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
+SECTION = "libs/network"
+
+# "openssl | SSLeay" dual license
+LICENSE = "openssl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f475368924827d06d4b416111c8bdb77"
+
+DEPENDS = "hostperl-runtime-native"
+DEPENDS_append_class-target = " openssl-native"
+
+SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
+ file://run-ptest \
+ file://openssl-c_rehash.sh \
+ file://configure-targets.patch \
+ file://shared-libs.patch \
+ file://oe-ldflags.patch \
+ file://engines-install-in-libdir-ssl.patch \
+ file://debian1.0.2/block_diginotar.patch \
+ file://debian1.0.2/block_digicert_malaysia.patch \
+ file://debian/c_rehash-compat.patch \
+ file://debian/debian-targets.patch \
+ file://debian/man-dir.patch \
+ file://debian/man-section.patch \
+ file://debian/no-rpath.patch \
+ file://debian/no-symbolic.patch \
+ file://debian/pic.patch \
+ file://debian1.0.2/version-script.patch \
+ file://debian1.0.2/soname.patch \
+ file://openssl_fix_for_x32.patch \
+ file://openssl-fix-des.pod-error.patch \
+ file://Makefiles-ptest.patch \
+ file://ptest-deps.patch \
+ file://ptest_makefile_deps.patch \
+ file://configure-musl-target.patch \
+ file://parallel.patch \
+ file://Use-SHA256-not-MD5-as-default-digest.patch \
+ file://0001-Fix-build-with-clang-using-external-assembler.patch \
+ file://0001-openssl-force-soft-link-to-avoid-rare-race.patch \
+ file://0001-allow-manpages-to-be-disabled.patch \
+ file://0001-Fix-BN_LLONG-breakage.patch \
+ file://0001-Fix-DES_LONG-breakage.patch \
+ "
+
+SRC_URI_append_class-target = " \
+ file://reproducible-cflags.patch \
+ file://reproducible-mkbuildinf.patch \
+ "
+
+SRC_URI_append_class-nativesdk = " \
+ file://environment.d-openssl.sh \
+ "
+
+SRC_URI[md5sum] = "0d2baaf04c56d542f6cc757b9c2a2aac"
+SRC_URI[sha256sum] = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6"
+
+S = "${WORKDIR}/openssl-${PV}"
+
+UPSTREAM_CHECK_REGEX = "openssl-(?P<pver>1\.0.+)\.tar"
+
+inherit pkgconfig siteinfo multilib_header ptest manpages
+
+PACKAGECONFIG ?= "cryptodev-linux"
+PACKAGECONFIG_class-native = ""
+PACKAGECONFIG_class-nativesdk = ""
+
+PACKAGECONFIG[cryptodev-linux] = "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS,,cryptodev-linux"
+PACKAGECONFIG[manpages] = ",,,"
+PACKAGECONFIG[perl] = ",,,"
+
+# Remove this to enable SSLv3. SSLv3 is defaulted to disabled due to the POODLE
+# vulnerability
+EXTRA_OECONF = "no-ssl3"
+
+EXTRA_OEMAKE = "${@bb.utils.contains('PACKAGECONFIG', 'manpages', '', 'OE_DISABLE_MANPAGES=1', d)}"
+
+export OE_LDFLAGS = "${LDFLAGS}"
+
+TERMIO ?= "-DTERMIO"
+TERMIO_libc-musl = "-DTERMIOS"
+EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
+
+CFLAG = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
+ ${TERMIO} ${CFLAGS} -Wall"
+
+# Avoid binaries being marked as requiring an executable stack since they don't
+# (and it causes issues with SELinux)
+CFLAG += "-Wa,--noexecstack"
+
+CFLAG_append_class-native = " -fPIC"
+
+do_configure () {
+ # The crypto_use_bigint patch means that perl's bignum module needs to be
+ # installed, but some distributions (for example Fedora 23) don't ship it by
+ # default. As the resulting error is very misleading check for bignum before
+ # building.
+ if ! perl -Mbigint -e true; then
+ bbfatal "The perl module 'bignum' was not found but this is required to build openssl. Please install this module (often packaged as perl-bignum) and re-run bitbake."
+ fi
+
+ ln -sf apps/openssl.pod crypto/crypto.pod ssl/ssl.pod doc/
+
+ os=${HOST_OS}
+ case $os in
+ linux-gnueabi |\
+ linux-gnuspe |\
+ linux-musleabi |\
+ linux-muslspe |\
+ linux-musl )
+ os=linux
+ ;;
+ *)
+ ;;
+ esac
+ target="$os-${HOST_ARCH}"
+ case $target in
+ linux-arm)
+ target=linux-armv4
+ ;;
+ linux-armeb)
+ target=linux-elf-armeb
+ ;;
+ linux-aarch64*)
+ target=linux-aarch64
+ ;;
+ linux-sh3)
+ target=debian-sh3
+ ;;
+ linux-sh4)
+ target=debian-sh4
+ ;;
+ linux-i486)
+ target=debian-i386-i486
+ ;;
+ linux-i586 | linux-viac3)
+ target=debian-i386-i586
+ ;;
+ linux-i686)
+ target=debian-i386-i686/cmov
+ ;;
+ linux-gnux32-x86_64 | linux-muslx32-x86_64 )
+ target=linux-x32
+ ;;
+ linux-gnu64-x86_64)
+ target=linux-x86_64
+ ;;
+ linux-gnun32-mips*el)
+ target=debian-mipsn32el
+ ;;
+ linux-gnun32-mips*)
+ target=debian-mipsn32
+ ;;
+ linux-mips*64*el)
+ target=debian-mips64el
+ ;;
+ linux-mips*64*)
+ target=debian-mips64
+ ;;
+ linux-mips*el)
+ target=debian-mipsel
+ ;;
+ linux-mips*)
+ target=debian-mips
+ ;;
+ linux-microblaze* | linux-nios2* | linux-gnu*ilp32** | linux-arc*)
+ target=linux-generic32
+ ;;
+ linux-powerpc)
+ target=linux-ppc
+ ;;
+ linux-powerpc64)
+ target=linux-ppc64
+ ;;
+ linux-riscv32)
+ target=linux-generic32
+ ;;
+ linux-riscv64)
+ target=linux-generic64
+ ;;
+ linux-sparc | linux-supersparc)
+ target=linux-sparcv8
+ ;;
+ esac
+
+ # inject machine-specific flags
+ sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
+
+ useprefix=${prefix}
+ if [ "x$useprefix" = "x" ]; then
+ useprefix=/
+ fi
+ libdirleaf="$( echo "${libdir}" | sed "s:^$useprefix/*::" )"
+ perl ./Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=$libdirleaf $target
+}
+
+do_compile () {
+ oe_runmake depend
+ oe_runmake
+}
+
+do_compile_class-target () {
+ sed -i 's/\((OPENSSL=\)".*"/\1"openssl"/' Makefile
+ oe_runmake depend
+ cc_sanitized=$(echo "${CC} ${CFLAG}" | sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' -e 's|${DEBUG_PREFIX_MAP}||g' -e 's/[ \t]\+/ /g')
+ oe_runmake CC_INFO="$cc_sanitized"
+}
+
+do_compile_ptest () {
+ oe_runmake buildtest
+}
+
+do_install () {
+ # Create ${D}/${prefix} to fix parallel issues
+ mkdir -p ${D}/${prefix}/
+
+ oe_runmake INSTALL_PREFIX="${D}" MANDIR="${mandir}" install
+
+ oe_libinstall -so libcrypto ${D}${libdir}
+ oe_libinstall -so libssl ${D}${libdir}
+
+ install -d ${D}${includedir}
+ cp --dereference -R include/openssl ${D}${includedir}
+
+ oe_multilib_header openssl/opensslconf.h
+
+ install -Dm 0755 ${WORKDIR}/openssl-c_rehash.sh ${D}${bindir}/c_rehash
+ sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash
+
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}" ]; then
+ sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
+ sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/tsget
+ else
+ rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget
+ fi
+
+ # Create SSL structure for packages such as ca-certificates which
+ # contain hard-coded paths to /etc/ssl. Debian does the same.
+ install -d ${D}${sysconfdir}/ssl
+ mv ${D}${libdir}/ssl/certs \
+ ${D}${libdir}/ssl/private \
+ ${D}${libdir}/ssl/openssl.cnf \
+ ${D}${sysconfdir}/ssl/
+
+ # Although absolute symlinks would be OK for the target, they become
+ # invalid if native or nativesdk are relocated from sstate.
+ ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl/certs
+ ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl/private
+ ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl/openssl.cnf
+
+ # Rename man pages to prefix openssl10-*
+ for f in `find ${D}${mandir} -type f`; do
+ mv $f $(dirname $f)/openssl10-$(basename $f)
+ done
+ for f in `find ${D}${mandir} -type l`; do
+ ln_f=`readlink $f`
+ rm -f $f
+ ln -s openssl10-$ln_f $(dirname $f)/openssl10-$(basename $f)
+ done
+}
+
+do_install_append_class-native () {
+ create_wrapper ${D}${bindir}/openssl \
+ OPENSSL_CONF=${libdir}/ssl/openssl.cnf \
+ SSL_CERT_DIR=${libdir}/ssl/certs \
+ SSL_CERT_FILE=${libdir}/ssl/cert.pem \
+ OPENSSL_ENGINES=${libdir}/ssl/engines
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
+ install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+}
+
+do_install_ptest () {
+ cp -r -L Makefile.org Makefile test ${D}${PTEST_PATH}
+
+ # Replace the path to native perl with the path to target perl
+ sed -i 's,^PERL=.*,PERL=${bindir}/perl,' ${D}${PTEST_PATH}/Makefile
+
+ cp Configure config e_os.h ${D}${PTEST_PATH}
+ cp -r -L include ${D}${PTEST_PATH}
+ ln -sf ${libdir}/libcrypto.a ${D}${PTEST_PATH}
+ ln -sf ${libdir}/libssl.a ${D}${PTEST_PATH}
+ mkdir -p ${D}${PTEST_PATH}/crypto
+ cp crypto/constant_time_locl.h ${D}${PTEST_PATH}/crypto
+ cp -r certs ${D}${PTEST_PATH}
+ mkdir -p ${D}${PTEST_PATH}/apps
+ ln -sf ${libdir}/ssl/misc/CA.sh ${D}${PTEST_PATH}/apps
+ ln -sf ${sysconfdir}/ssl/openssl.cnf ${D}${PTEST_PATH}/apps
+ ln -sf ${bindir}/openssl ${D}${PTEST_PATH}/apps
+ cp apps/server.pem ${D}${PTEST_PATH}/apps
+ cp apps/server2.pem ${D}${PTEST_PATH}/apps
+ mkdir -p ${D}${PTEST_PATH}/util
+ install util/opensslwrap.sh ${D}${PTEST_PATH}/util
+ install util/shlib_wrap.sh ${D}${PTEST_PATH}/util
+ # Time stamps are relevant for "make alltests", otherwise
+ # make may try to recompile binaries. Not only must the
+ # binary files be newer than the sources, they also must
+ # be more recent than the header files in /usr/include.
+ #
+ # Using "cp -a" is not sufficient, because do_install
+ # does not preserve the original time stamps.
+ #
+ # So instead of using the original file stamps, we set
+ # the current time for all files. Binaries will get
+ # modified again later when stripping them, but that's okay.
+ touch ${D}${PTEST_PATH}
+ find ${D}${PTEST_PATH} -type f -print0 | xargs --verbose -0 touch -r ${D}${PTEST_PATH}
+
+ # exclude binary files or the package won't install
+ for d in ssltest_old v3ext x509aux; do
+ rm -rf ${D}${libdir}/${BPN}/ptest/test/$d
+ done
+
+ # Remove build host references
+ sed -i \
+ -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ ${D}${PTEST_PATH}/Makefile ${D}${PTEST_PATH}/Configure
+}
+
+# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
+# package RRECOMMENDS on this package. This will enable the configuration
+# file to be installed for both the base openssl package and the libcrypto
+# package since the base openssl package depends on the libcrypto package.
+
+PACKAGES =+ "libcrypto10 libssl10 openssl10-conf ${PN}-engines ${PN}-misc"
+
+FILES_libcrypto10 = "${libdir}/libcrypto${SOLIBS}"
+FILES_libssl10 = "${libdir}/libssl${SOLIBS}"
+FILES_openssl10-conf = "${sysconfdir}/ssl/openssl.cnf"
+FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines"
+FILES_${PN}-misc = "${libdir}/ssl/misc"
+FILES_${PN} =+ "${libdir}/ssl/*"
+FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
+
+CONFFILES_openssl10-conf = "${sysconfdir}/ssl/openssl.cnf"
+
+RRECOMMENDS_libcrypto10 += "openssl10-conf"
+RDEPENDS_${PN}-misc = "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}"
+RDEPENDS_${PN}-ptest += "${PN}-misc make perl perl-module-filehandle bc"
+
+BBCLASSEXTEND = "native nativesdk"
+PACKAGE_PREPROCESS_FUNCS += "openssl_package_preprocess"
+
+# openssl 1.0 development files and executable binaries clash with openssl 1.1
+# files when installed into target rootfs. So we don't put them into
+# packages, but they continue to be provided via target sysroot for
+# cross-compilation on the host, if some software still depends on openssl 1.0.
+openssl_package_preprocess () {
+ for file in `find ${PKGD} -name *.h -o -name *.pc -o -name *.so`; do
+ rm $file
+ done
+ rm ${PKGD}${bindir}/openssl
+ rm ${PKGD}${bindir}/c_rehash
+ rmdir ${PKGD}${bindir}
+
+}
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1a.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1a.bb
deleted file mode 100644
index e9e9facd3..000000000
--- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1a.bb
+++ /dev/null
@@ -1,210 +0,0 @@
-SUMMARY = "Secure Socket Layer"
-DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
-HOMEPAGE = "http://www.openssl.org/"
-BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
-SECTION = "libs/network"
-
-# "openssl" here actually means both OpenSSL and SSLeay licenses apply
-# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped)
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d57d511030c9d66ef5f5966bee5a7eff"
-
-DEPENDS = "hostperl-runtime-native"
-
-SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
- file://run-ptest \
- file://openssl-c_rehash.sh \
- file://0001-skip-test_symbol_presence.patch \
- file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
- "
-
-SRC_URI_append_class-nativesdk = " \
- file://environment.d-openssl.sh \
- "
-
-SRC_URI[md5sum] = "963deb2272d6be7d4c2458afd2517b73"
-SRC_URI[sha256sum] = "fc20130f8b7cbd2fb918b2f14e2f429e109c31ddd0fb38fc5d71d9ffed3f9f41"
-
-inherit lib_package multilib_header ptest
-
-B = "${WORKDIR}/build"
-do_configure[cleandirs] = "${B}"
-
-#| ./libcrypto.so: undefined reference to `getcontext'
-#| ./libcrypto.so: undefined reference to `setcontext'
-#| ./libcrypto.so: undefined reference to `makecontext'
-EXTRA_OECONF_append_libc-musl = " no-async"
-EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
-
-# This prevents openssl from using getrandom() which is not available on older glibc versions
-# (native versions can be built with newer glibc, but then relocated onto a system with older glibc)
-EXTRA_OECONF_class-native = "--with-rand-seed=devrandom"
-EXTRA_OECONF_class-nativesdk = "--with-rand-seed=devrandom"
-
-# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate.
-CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
-CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
-
-do_configure () {
- os=${HOST_OS}
- case $os in
- linux-gnueabi |\
- linux-gnuspe |\
- linux-musleabi |\
- linux-muslspe |\
- linux-musl )
- os=linux
- ;;
- *)
- ;;
- esac
- target="$os-${HOST_ARCH}"
- case $target in
- linux-arm*)
- target=linux-armv4
- ;;
- linux-aarch64*)
- target=linux-aarch64
- ;;
- linux-i?86 | linux-viac3)
- target=linux-x86
- ;;
- linux-gnux32-x86_64 | linux-muslx32-x86_64 )
- target=linux-x32
- ;;
- linux-gnu64-x86_64)
- target=linux-x86_64
- ;;
- linux-mips | linux-mipsel)
- # specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags
- target="linux-mips32 ${TARGET_CC_ARCH}"
- ;;
- linux-gnun32-mips*)
- target=linux-mips64
- ;;
- linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
- target=linux64-mips64
- ;;
- linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
- target=linux-generic32
- ;;
- linux-powerpc)
- target=linux-ppc
- ;;
- linux-powerpc64)
- target=linux-ppc64
- ;;
- linux-riscv32)
- target=linux-generic32
- ;;
- linux-riscv64)
- target=linux-generic64
- ;;
- linux-sparc | linux-supersparc)
- target=linux-sparcv9
- ;;
- esac
-
- useprefix=${prefix}
- if [ "x$useprefix" = "x" ]; then
- useprefix=/
- fi
- # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
- # environment variables set by bitbake. Adjust the environment variables instead.
- PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
- perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target
-}
-
-do_install () {
- oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
-
- oe_multilib_header openssl/opensslconf.h
-
- # Create SSL structure for packages such as ca-certificates which
- # contain hard-coded paths to /etc/ssl. Debian does the same.
- install -d ${D}${sysconfdir}/ssl
- mv ${D}${libdir}/ssl-1.1/certs \
- ${D}${libdir}/ssl-1.1/private \
- ${D}${libdir}/ssl-1.1/openssl.cnf \
- ${D}${sysconfdir}/ssl/
-
- # Although absolute symlinks would be OK for the target, they become
- # invalid if native or nativesdk are relocated from sstate.
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf
-}
-
-do_install_append_class-native () {
- create_wrapper ${D}${bindir}/openssl \
- OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \
- SSL_CERT_DIR=${libdir}/ssl-1.1/certs \
- SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \
- OPENSSL_ENGINES=${libdir}/ssl-1.1/engines
-
- # Install a custom version of c_rehash that can handle sysroots properly.
- # This version is used for example when installing ca-certificates during
- # image creation.
- install -Dm 0755 ${WORKDIR}/openssl-c_rehash.sh ${D}${bindir}/c_rehash
- sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
- install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
- sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
-}
-
-PTEST_BUILD_HOST_FILES += "configdata.pm"
-PTEST_BUILD_HOST_PATTERN = "perl_version ="
-do_install_ptest () {
- # Prune the build tree
- rm -f ${B}/fuzz/*.* ${B}/test/*.*
-
- cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
- cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH}
-
- # For test_shlibload
- ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/libcrypto.so
- ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/libssl.so
-
- install -d ${D}${PTEST_PATH}/apps
- ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps
- install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps
- install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps
-
- install -d ${D}${PTEST_PATH}/engines
- install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines
-}
-
-# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
-# package RRECOMMENDS on this package. This will enable the configuration
-# file to be installed for both the openssl-bin package and the libcrypto
-# package since the openssl-bin package depends on the libcrypto package.
-
-PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
-
-FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
-FILES_libssl = "${libdir}/libssl${SOLIBS}"
-FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
-FILES_${PN}-engines = "${libdir}/engines-1.1"
-FILES_${PN}-misc = "${libdir}/ssl-1.1/misc"
-FILES_${PN} =+ "${libdir}/ssl-1.1/*"
-FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
-
-CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
-
-RRECOMMENDS_libcrypto += "openssl-conf"
-RDEPENDS_${PN}-bin = "perl"
-RDEPENDS_${PN}-misc = "perl"
-RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash python"
-
-RPROVIDES_openssl-conf = "openssl10-conf"
-RREPLACES_openssl-conf = "openssl10-conf"
-RCONFLICTS_openssl-conf = "openssl10-conf"
-
-BBCLASSEXTEND = "native nativesdk"
-
-inherit multilib_script
-
-MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
new file mode 100644
index 000000000..d3404d2ef
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
@@ -0,0 +1,206 @@
+SUMMARY = "Secure Socket Layer"
+DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
+HOMEPAGE = "http://www.openssl.org/"
+BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
+SECTION = "libs/network"
+
+# "openssl" here actually means both OpenSSL and SSLeay licenses apply
+# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped)
+LICENSE = "openssl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d343e62fc9c833710bbbed25f27364c8"
+
+DEPENDS = "hostperl-runtime-native"
+
+SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
+ file://run-ptest \
+ file://0001-skip-test_symbol_presence.patch \
+ file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
+ file://afalg.patch \
+ file://CVE-2019-1543.patch \
+ "
+
+SRC_URI_append_class-nativesdk = " \
+ file://environment.d-openssl.sh \
+ "
+
+SRC_URI[md5sum] = "4532712e7bcc9414f5bce995e4e13930"
+SRC_URI[sha256sum] = "5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b"
+
+inherit lib_package multilib_header ptest
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG_class-native = ""
+PACKAGECONFIG_class-nativesdk = ""
+
+PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux"
+
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+#| ./libcrypto.so: undefined reference to `getcontext'
+#| ./libcrypto.so: undefined reference to `setcontext'
+#| ./libcrypto.so: undefined reference to `makecontext'
+EXTRA_OECONF_append_libc-musl = " no-async"
+EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
+
+# This prevents openssl from using getrandom() which is not available on older glibc versions
+# (native versions can be built with newer glibc, but then relocated onto a system with older glibc)
+EXTRA_OECONF_class-native = "--with-rand-seed=devrandom"
+EXTRA_OECONF_class-nativesdk = "--with-rand-seed=devrandom"
+
+# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate.
+CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
+CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
+
+do_configure () {
+ os=${HOST_OS}
+ case $os in
+ linux-gnueabi |\
+ linux-gnuspe |\
+ linux-musleabi |\
+ linux-muslspe |\
+ linux-musl )
+ os=linux
+ ;;
+ *)
+ ;;
+ esac
+ target="$os-${HOST_ARCH}"
+ case $target in
+ linux-arm*)
+ target=linux-armv4
+ ;;
+ linux-aarch64*)
+ target=linux-aarch64
+ ;;
+ linux-i?86 | linux-viac3)
+ target=linux-x86
+ ;;
+ linux-gnux32-x86_64 | linux-muslx32-x86_64 )
+ target=linux-x32
+ ;;
+ linux-gnu64-x86_64)
+ target=linux-x86_64
+ ;;
+ linux-mips | linux-mipsel)
+ # specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags
+ target="linux-mips32 ${TARGET_CC_ARCH}"
+ ;;
+ linux-gnun32-mips*)
+ target=linux-mips64
+ ;;
+ linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
+ target=linux64-mips64
+ ;;
+ linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
+ target=linux-generic32
+ ;;
+ linux-powerpc)
+ target=linux-ppc
+ ;;
+ linux-powerpc64)
+ target=linux-ppc64
+ ;;
+ linux-riscv32)
+ target=linux-generic32
+ ;;
+ linux-riscv64)
+ target=linux-generic64
+ ;;
+ linux-sparc | linux-supersparc)
+ target=linux-sparcv9
+ ;;
+ esac
+
+ useprefix=${prefix}
+ if [ "x$useprefix" = "x" ]; then
+ useprefix=/
+ fi
+ # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
+ # environment variables set by bitbake. Adjust the environment variables instead.
+ PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
+ perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target
+ perl ${B}/configdata.pm --dump
+}
+
+do_install () {
+ oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
+
+ oe_multilib_header openssl/opensslconf.h
+
+ # Create SSL structure for packages such as ca-certificates which
+ # contain hard-coded paths to /etc/ssl. Debian does the same.
+ install -d ${D}${sysconfdir}/ssl
+ mv ${D}${libdir}/ssl-1.1/certs \
+ ${D}${libdir}/ssl-1.1/private \
+ ${D}${libdir}/ssl-1.1/openssl.cnf \
+ ${D}${sysconfdir}/ssl/
+
+ # Although absolute symlinks would be OK for the target, they become
+ # invalid if native or nativesdk are relocated from sstate.
+ ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs
+ ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private
+ ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf
+}
+
+do_install_append_class-native () {
+ create_wrapper ${D}${bindir}/openssl \
+ OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \
+ SSL_CERT_DIR=${libdir}/ssl-1.1/certs \
+ SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \
+ OPENSSL_ENGINES=${libdir}/ssl-1.1/engines
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
+ install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+ sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+}
+
+PTEST_BUILD_HOST_FILES += "configdata.pm"
+PTEST_BUILD_HOST_PATTERN = "perl_version ="
+do_install_ptest () {
+ # Prune the build tree
+ rm -f ${B}/fuzz/*.* ${B}/test/*.*
+
+ cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
+ cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH}
+
+ # For test_shlibload
+ ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/libcrypto.so
+ ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/libssl.so
+
+ install -d ${D}${PTEST_PATH}/apps
+ ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps
+ install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps
+ install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps
+
+ install -d ${D}${PTEST_PATH}/engines
+ install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines
+}
+
+# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
+# package RRECOMMENDS on this package. This will enable the configuration
+# file to be installed for both the openssl-bin package and the libcrypto
+# package since the openssl-bin package depends on the libcrypto package.
+
+PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
+
+FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
+FILES_libssl = "${libdir}/libssl${SOLIBS}"
+FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
+FILES_${PN}-engines = "${libdir}/engines-1.1"
+FILES_${PN}-misc = "${libdir}/ssl-1.1/misc"
+FILES_${PN} =+ "${libdir}/ssl-1.1/*"
+FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
+
+CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
+
+RRECOMMENDS_libcrypto += "openssl-conf"
+RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash"
+
+RPROVIDES_openssl-conf = "openssl10-conf"
+RREPLACES_openssl-conf = "openssl10-conf"
+RCONFLICTS_openssl-conf = "openssl10-conf"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-replace-systemd-install-Alias-with-WantedBy.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-replace-systemd-install-Alias-with-WantedBy.patch
new file mode 100644
index 000000000..a476cf040
--- /dev/null
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0001-replace-systemd-install-Alias-with-WantedBy.patch
@@ -0,0 +1,52 @@
+From 94c401733a5a3d294cc412671166e6adfb409f53 Mon Sep 17 00:00:00 2001
+From: Joshua DeWeese <jdeweese@hennypenny.com>
+Date: Wed, 30 Jan 2019 16:19:47 -0500
+Subject: [PATCH] replace systemd install Alias with WantedBy
+
+According to the systemd documentation "WantedBy=foo.service in a
+service bar.service is mostly equivalent to
+Alias=foo.service.wants/bar.service in the same file." However,
+this is not really the intended purpose of install Aliases.
+
+Upstream-Status: Submitted [hostap@lists.infradead.org]
+
+Signed-off-by: Joshua DeWeese <jdeweese@hennypenny.com>
+---
+ wpa_supplicant/systemd/wpa_supplicant-nl80211.service.arg.in | 2 +-
+ wpa_supplicant/systemd/wpa_supplicant-wired.service.arg.in | 2 +-
+ wpa_supplicant/systemd/wpa_supplicant.service.arg.in | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/wpa_supplicant/systemd/wpa_supplicant-nl80211.service.arg.in b/wpa_supplicant/systemd/wpa_supplicant-nl80211.service.arg.in
+index 03ac507..da69a87 100644
+--- a/wpa_supplicant/systemd/wpa_supplicant-nl80211.service.arg.in
++++ b/wpa_supplicant/systemd/wpa_supplicant-nl80211.service.arg.in
+@@ -12,4 +12,4 @@ Type=simple
+ ExecStart=@BINDIR@/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-nl80211-%I.conf -Dnl80211 -i%I
+
+ [Install]
+-Alias=multi-user.target.wants/wpa_supplicant-nl80211@%i.service
++WantedBy=multi-user.target
+diff --git a/wpa_supplicant/systemd/wpa_supplicant-wired.service.arg.in b/wpa_supplicant/systemd/wpa_supplicant-wired.service.arg.in
+index c8a744d..ca3054b 100644
+--- a/wpa_supplicant/systemd/wpa_supplicant-wired.service.arg.in
++++ b/wpa_supplicant/systemd/wpa_supplicant-wired.service.arg.in
+@@ -12,4 +12,4 @@ Type=simple
+ ExecStart=@BINDIR@/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-wired-%I.conf -Dwired -i%I
+
+ [Install]
+-Alias=multi-user.target.wants/wpa_supplicant-wired@%i.service
++WantedBy=multi-user.target
+diff --git a/wpa_supplicant/systemd/wpa_supplicant.service.arg.in b/wpa_supplicant/systemd/wpa_supplicant.service.arg.in
+index 7788b38..55d2b9c 100644
+--- a/wpa_supplicant/systemd/wpa_supplicant.service.arg.in
++++ b/wpa_supplicant/systemd/wpa_supplicant.service.arg.in
+@@ -12,4 +12,4 @@ Type=simple
+ ExecStart=@BINDIR@/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -i%I
+
+ [Install]
+-Alias=multi-user.target.wants/wpa_supplicant@%i.service
++WantedBy=multi-user.target
+--
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple1.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple1.patch
deleted file mode 100644
index d4d49e7fc..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple1.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From cf4cab804c7afd5c45505528a8d16e46163243a2 Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Fri, 14 Jul 2017 15:15:35 +0200
-Subject: [PATCH 1/8] hostapd: Avoid key reinstallation in FT handshake
-
-Do not reinstall TK to the driver during Reassociation Response frame
-processing if the first attempt of setting the TK succeeded. This avoids
-issues related to clearing the TX/RX PN that could result in reusing
-same PN values for transmitted frames (e.g., due to CCM nonce reuse and
-also hitting replay protection on the receiver) and accepting replayed
-frames on RX side.
-
-This issue was introduced by the commit
-0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in
-authenticator') which allowed wpa_ft_install_ptk() to be called multiple
-times with the same PTK. While the second configuration attempt is
-needed with some drivers, it must be done only if the first attempt
-failed.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/ap/ieee802_11.c | 16 +++++++++++++---
- src/ap/wpa_auth.c | 11 +++++++++++
- src/ap/wpa_auth.h | 3 ++-
- src/ap/wpa_auth_ft.c | 10 ++++++++++
- src/ap/wpa_auth_i.h | 1 +
- 5 files changed, 37 insertions(+), 4 deletions(-)
-
-diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
-index 4e04169..333035f 100644
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd,
- {
- struct ieee80211_ht_capabilities ht_cap;
- struct ieee80211_vht_capabilities vht_cap;
-+ int set = 1;
-
- /*
- * Remove the STA entry to ensure the STA PS state gets cleared and
-@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd,
- * FT-over-the-DS, where a station re-associates back to the same AP but
- * skips the authentication flow, or if working with a driver that
- * does not support full AP client state.
-+ *
-+ * Skip this if the STA has already completed FT reassociation and the
-+ * TK has been configured since the TX/RX PN must not be reset to 0 for
-+ * the same key.
- */
-- if (!sta->added_unassoc)
-+ if (!sta->added_unassoc &&
-+ (!(sta->flags & WLAN_STA_AUTHORIZED) ||
-+ !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) {
- hostapd_drv_sta_remove(hapd, sta->addr);
-+ wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED);
-+ set = 0;
-+ }
-
- #ifdef CONFIG_IEEE80211N
- if (sta->flags & WLAN_STA_HT)
-@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd,
- sta->flags & WLAN_STA_VHT ? &vht_cap : NULL,
- sta->flags | WLAN_STA_ASSOC, sta->qosinfo,
- sta->vht_opmode, sta->p2p_ie ? 1 : 0,
-- sta->added_unassoc)) {
-+ set)) {
- hostapd_logger(hapd, sta->addr,
- HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE,
- "Could not %s STA to kernel driver",
-- sta->added_unassoc ? "set" : "add");
-+ set ? "set" : "add");
-
- if (sta->added_unassoc) {
- hostapd_drv_sta_remove(hapd, sta->addr);
-diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
-index 3587086..707971d 100644
---- a/src/ap/wpa_auth.c
-+++ b/src/ap/wpa_auth.c
-@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event)
- #else /* CONFIG_IEEE80211R */
- break;
- #endif /* CONFIG_IEEE80211R */
-+ case WPA_DRV_STA_REMOVED:
-+ sm->tk_already_set = FALSE;
-+ return 0;
- }
-
- #ifdef CONFIG_IEEE80211R
-@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
- }
-
-
-+int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
-+{
-+ if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt))
-+ return 0;
-+ return sm->tk_already_set;
-+}
-+
-+
- int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
- struct rsn_pmksa_cache_entry *entry)
- {
-diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h
-index 0de8d97..97461b0 100644
---- a/src/ap/wpa_auth.h
-+++ b/src/ap/wpa_auth.h
-@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
- u8 *data, size_t data_len);
- enum wpa_event {
- WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
-- WPA_REAUTH_EAPOL, WPA_ASSOC_FT
-+ WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED
- };
- void wpa_remove_ptk(struct wpa_state_machine *sm);
- int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event);
-@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm);
- int wpa_auth_get_pairwise(struct wpa_state_machine *sm);
- int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm);
- int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm);
-+int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm);
- int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
- struct rsn_pmksa_cache_entry *entry);
- struct rsn_pmksa_cache_entry *
-diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
-index 42242a5..e63b99a 100644
---- a/src/ap/wpa_auth_ft.c
-+++ b/src/ap/wpa_auth_ft.c
-@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
- return;
- }
-
-+ if (sm->tk_already_set) {
-+ /* Must avoid TK reconfiguration to prevent clearing of TX/RX
-+ * PN in the driver */
-+ wpa_printf(MSG_DEBUG,
-+ "FT: Do not re-install same PTK to the driver");
-+ return;
-+ }
-+
- /* FIX: add STA entry to kernel/driver here? The set_key will fail
- * most likely without this.. At the moment, STA entry is added only
- * after association has been completed. This function will be called
-@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
-
- /* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */
- sm->pairwise_set = TRUE;
-+ sm->tk_already_set = TRUE;
- }
-
-
-@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm,
-
- sm->pairwise = pairwise;
- sm->PTK_valid = TRUE;
-+ sm->tk_already_set = FALSE;
- wpa_ft_install_ptk(sm);
-
- buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
-diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
-index 72b7eb3..7fd8f05 100644
---- a/src/ap/wpa_auth_i.h
-+++ b/src/ap/wpa_auth_i.h
-@@ -65,6 +65,7 @@ struct wpa_state_machine {
- struct wpa_ptk PTK;
- Boolean PTK_valid;
- Boolean pairwise_set;
-+ Boolean tk_already_set;
- int keycount;
- Boolean Pair;
- struct wpa_key_replay_counter {
---
-2.7.4 \ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple2.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple2.patch
deleted file mode 100644
index 501bb4b56..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple2.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 927f891007c402fefd1ff384645b3f07597c3ede Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Wed, 12 Jul 2017 16:03:24 +0200
-Subject: [PATCH 2/8] Prevent reinstallation of an already in-use group key
-
-Track the current GTK and IGTK that is in use and when receiving a
-(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do
-not install the given key if it is already in use. This prevents an
-attacker from trying to trick the client into resetting or lowering the
-sequence counter associated to the group key.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/common/wpa_common.h | 11 +++++
- src/rsn_supp/wpa.c | 116 ++++++++++++++++++++++++++++++------------------
- src/rsn_supp/wpa_i.h | 4 ++
- 3 files changed, 87 insertions(+), 44 deletions(-)
-
-diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
-index af1d0f0..d200285 100644
---- a/src/common/wpa_common.h
-+++ b/src/common/wpa_common.h
-@@ -217,6 +217,17 @@ struct wpa_ptk {
- size_t tk_len;
- };
-
-+struct wpa_gtk {
-+ u8 gtk[WPA_GTK_MAX_LEN];
-+ size_t gtk_len;
-+};
-+
-+#ifdef CONFIG_IEEE80211W
-+struct wpa_igtk {
-+ u8 igtk[WPA_IGTK_MAX_LEN];
-+ size_t igtk_len;
-+};
-+#endif /* CONFIG_IEEE80211W */
-
- /* WPA IE version 1
- * 00-50-f2:1 (OUI:OUI type)
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 3c47879..95bd7be 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- const u8 *_gtk = gd->gtk;
- u8 gtk_buf[32];
-
-+ /* Detect possible key reinstallation */
-+ if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
-+ gd->keyidx, gd->tx, gd->gtk_len);
-+ return 0;
-+ }
-+
- wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)",
-@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- }
- os_memset(gtk_buf, 0, sizeof(gtk_buf));
-
-+ sm->gtk.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+
- return 0;
- }
-
-@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- }
-
-
-+#ifdef CONFIG_IEEE80211W
-+static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
-+ const struct wpa_igtk_kde *igtk)
-+{
-+ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
-+ u16 keyidx = WPA_GET_LE16(igtk->keyid);
-+
-+ /* Detect possible key reinstallation */
-+ if (sm->igtk.igtk_len == len &&
-+ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
-+ keyidx);
-+ return 0;
-+ }
-+
-+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+ "WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x",
-+ keyidx, MAC2STR(igtk->pn));
-+ wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len);
-+ if (keyidx > 4095) {
-+ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+ "WPA: Invalid IGTK KeyID %d", keyidx);
-+ return -1;
-+ }
-+ if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-+ broadcast_ether_addr,
-+ keyidx, 0, igtk->pn, sizeof(igtk->pn),
-+ igtk->igtk, len) < 0) {
-+ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+ "WPA: Failed to configure IGTK to the driver");
-+ return -1;
-+ }
-+
-+ sm->igtk.igtk_len = len;
-+ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+
-+ return 0;
-+}
-+#endif /* CONFIG_IEEE80211W */
-+
-+
- static int ieee80211w_set_keys(struct wpa_sm *sm,
- struct wpa_eapol_ie_parse *ie)
- {
-@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
- if (ie->igtk) {
- size_t len;
- const struct wpa_igtk_kde *igtk;
-- u16 keyidx;
-+
- len = wpa_cipher_key_len(sm->mgmt_group_cipher);
- if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len)
- return -1;
-+
- igtk = (const struct wpa_igtk_kde *) ie->igtk;
-- keyidx = WPA_GET_LE16(igtk->keyid);
-- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d "
-- "pn %02x%02x%02x%02x%02x%02x",
-- keyidx, MAC2STR(igtk->pn));
-- wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK",
-- igtk->igtk, len);
-- if (keyidx > 4095) {
-- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-- "WPA: Invalid IGTK KeyID %d", keyidx);
-- return -1;
-- }
-- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-- broadcast_ether_addr,
-- keyidx, 0, igtk->pn, sizeof(igtk->pn),
-- igtk->igtk, len) < 0) {
-- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-- "WPA: Failed to configure IGTK to the driver");
-+ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
- return -1;
-- }
- }
-
- return 0;
-@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm)
- */
- void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- {
-- int clear_ptk = 1;
-+ int clear_keys = 1;
-
- if (sm == NULL)
- return;
-@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- /* Prepare for the next transition */
- wpa_ft_prepare_auth_request(sm, NULL);
-
-- clear_ptk = 0;
-+ clear_keys = 0;
- }
- #endif /* CONFIG_IEEE80211R */
-
-- if (clear_ptk) {
-+ if (clear_keys) {
- /*
- * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if
- * this is not part of a Fast BSS Transition.
-@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- sm->tptk_set = 0;
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
-+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+#ifdef CONFIG_IEEE80211W
-+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+#endif /* CONFIG_IEEE80211W */
- }
-
- #ifdef CONFIG_TDLS
-@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
- os_memset(sm->pmk, 0, sizeof(sm->pmk));
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
-+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+#ifdef CONFIG_IEEE80211W
-+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+#endif /* CONFIG_IEEE80211W */
- #ifdef CONFIG_IEEE80211R
- os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
- os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0));
-@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- os_memset(&gd, 0, sizeof(gd));
- #ifdef CONFIG_IEEE80211W
- } else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) {
-- struct wpa_igtk_kde igd;
-- u16 keyidx;
--
-- os_memset(&igd, 0, sizeof(igd));
-- keylen = wpa_cipher_key_len(sm->mgmt_group_cipher);
-- os_memcpy(igd.keyid, buf + 2, 2);
-- os_memcpy(igd.pn, buf + 4, 6);
--
-- keyidx = WPA_GET_LE16(igd.keyid);
-- os_memcpy(igd.igtk, buf + 10, keylen);
--
-- wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)",
-- igd.igtk, keylen);
-- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-- broadcast_ether_addr,
-- keyidx, 0, igd.pn, sizeof(igd.pn),
-- igd.igtk, keylen) < 0) {
-- wpa_printf(MSG_DEBUG, "Failed to install the IGTK in "
-- "WNM mode");
-- os_memset(&igd, 0, sizeof(igd));
-+ const struct wpa_igtk_kde *igtk;
-+
-+ igtk = (const struct wpa_igtk_kde *) (buf + 2);
-+ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
- return -1;
-- }
-- os_memset(&igd, 0, sizeof(igd));
- #endif /* CONFIG_IEEE80211W */
- } else {
- wpa_printf(MSG_DEBUG, "Unknown element id");
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index f653ba6..afc9e37 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -31,6 +31,10 @@ struct wpa_sm {
- u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN];
- int rx_replay_counter_set;
- u8 request_counter[WPA_REPLAY_COUNTER_LEN];
-+ struct wpa_gtk gtk;
-+#ifdef CONFIG_IEEE80211W
-+ struct wpa_igtk igtk;
-+#endif /* CONFIG_IEEE80211W */
-
- struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
-
---
-2.7.4 \ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple3.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple3.patch
deleted file mode 100644
index 2e2265585..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple3.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 8280294e74846ea342389a0cd17215050fa5afe8 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 1 Oct 2017 12:12:24 +0300
-Subject: [PATCH 3/8] Extend protection of GTK/IGTK reinstallation of WNM-Sleep
- Mode cases
-
-This extends the protection to track last configured GTK/IGTK value
-separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a
-corner case where these two different mechanisms may get used when the
-GTK/IGTK has changed and tracking a single value is not sufficient to
-detect a possible key reconfiguration.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/wpa.c | 53 +++++++++++++++++++++++++++++++++++++---------------
- src/rsn_supp/wpa_i.h | 2 ++
- 2 files changed, 40 insertions(+), 15 deletions(-)
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 95bd7be..7a2c68d 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -709,14 +709,17 @@ struct wpa_gtk_data {
-
- static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- const struct wpa_gtk_data *gd,
-- const u8 *key_rsc)
-+ const u8 *key_rsc, int wnm_sleep)
- {
- const u8 *_gtk = gd->gtk;
- u8 gtk_buf[32];
-
- /* Detect possible key reinstallation */
-- if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-- os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
-+ if ((sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) ||
-+ (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len &&
-+ os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk,
-+ sm->gtk_wnm_sleep.gtk_len) == 0)) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
- gd->keyidx, gd->tx, gd->gtk_len);
-@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- }
- os_memset(gtk_buf, 0, sizeof(gtk_buf));
-
-- sm->gtk.gtk_len = gd->gtk_len;
-- os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+ if (wnm_sleep) {
-+ sm->gtk_wnm_sleep.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk,
-+ sm->gtk_wnm_sleep.gtk_len);
-+ } else {
-+ sm->gtk.gtk_len = gd->gtk_len;
-+ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+ }
-
- return 0;
- }
-@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
- gtk_len, gtk_len,
- &gd.key_rsc_len, &gd.alg) ||
-- wpa_supplicant_install_gtk(sm, &gd, key_rsc))) {
-+ wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "RSN: Failed to install GTK");
- os_memset(&gd, 0, sizeof(gd));
-@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
-
- #ifdef CONFIG_IEEE80211W
- static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
-- const struct wpa_igtk_kde *igtk)
-+ const struct wpa_igtk_kde *igtk,
-+ int wnm_sleep)
- {
- size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
- u16 keyidx = WPA_GET_LE16(igtk->keyid);
-
- /* Detect possible key reinstallation */
-- if (sm->igtk.igtk_len == len &&
-- os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
-+ if ((sm->igtk.igtk_len == len &&
-+ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) ||
-+ (sm->igtk_wnm_sleep.igtk_len == len &&
-+ os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk,
-+ sm->igtk_wnm_sleep.igtk_len) == 0)) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
- keyidx);
-@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
- return -1;
- }
-
-- sm->igtk.igtk_len = len;
-- os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+ if (wnm_sleep) {
-+ sm->igtk_wnm_sleep.igtk_len = len;
-+ os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk,
-+ sm->igtk_wnm_sleep.igtk_len);
-+ } else {
-+ sm->igtk.igtk_len = len;
-+ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+ }
-
- return 0;
- }
-@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
- return -1;
-
- igtk = (const struct wpa_igtk_kde *) ie->igtk;
-- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
-+ if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0)
- return -1;
- }
-
-@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
- if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc))
- key_rsc = null_rsc;
-
-- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) ||
-+ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) ||
- wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0)
- goto failed;
- os_memset(&gd, 0, sizeof(gd));
-@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- sm->tptk_set = 0;
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
- os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
- #ifdef CONFIG_IEEE80211W
- os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
- #endif /* CONFIG_IEEE80211W */
- }
-
-@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
- os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- os_memset(&sm->tptk, 0, sizeof(sm->tptk));
- os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
- #ifdef CONFIG_IEEE80211W
- os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
- #endif /* CONFIG_IEEE80211W */
- #ifdef CONFIG_IEEE80211R
- os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
-@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
-
- wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)",
- gd.gtk, gd.gtk_len);
-- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
-+ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) {
- os_memset(&gd, 0, sizeof(gd));
- wpa_printf(MSG_DEBUG, "Failed to install the GTK in "
- "WNM mode");
-@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- const struct wpa_igtk_kde *igtk;
-
- igtk = (const struct wpa_igtk_kde *) (buf + 2);
-- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
-+ if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0)
- return -1;
- #endif /* CONFIG_IEEE80211W */
- } else {
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index afc9e37..9a54631 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -32,8 +32,10 @@ struct wpa_sm {
- int rx_replay_counter_set;
- u8 request_counter[WPA_REPLAY_COUNTER_LEN];
- struct wpa_gtk gtk;
-+ struct wpa_gtk gtk_wnm_sleep;
- #ifdef CONFIG_IEEE80211W
- struct wpa_igtk igtk;
-+ struct wpa_igtk igtk_wnm_sleep;
- #endif /* CONFIG_IEEE80211W */
-
- struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
---
-2.7.4 \ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple4.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple4.patch
deleted file mode 100644
index 6c1948696..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple4.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 8f82bc94e8697a9d47fa8774dfdaaede1084912c Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Fri, 29 Sep 2017 04:22:51 +0200
-Subject: [PATCH 4/8] Prevent installation of an all-zero TK
-
-Properly track whether a PTK has already been installed to the driver
-and the TK part cleared from memory. This prevents an attacker from
-trying to trick the client into installing an all-zero TK.
-
-This fixes the earlier fix in commit
-ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the
-driver in EAPOL-Key 3/4 retry case') which did not take into account
-possibility of an extra message 1/4 showing up between retries of
-message 3/4.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/common/wpa_common.h | 1 +
- src/rsn_supp/wpa.c | 5 ++---
- src/rsn_supp/wpa_i.h | 1 -
- 3 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
-index d200285..1021ccb 100644
---- a/src/common/wpa_common.h
-+++ b/src/common/wpa_common.h
-@@ -215,6 +215,7 @@ struct wpa_ptk {
- size_t kck_len;
- size_t kek_len;
- size_t tk_len;
-+ int installed; /* 1 if key has already been installed to driver */
- };
-
- struct wpa_gtk {
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 7a2c68d..0550a41 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
- os_memset(buf, 0, sizeof(buf));
- }
- sm->tptk_set = 1;
-- sm->tk_to_set = 1;
-
- kde = sm->assoc_wpa_ie;
- kde_len = sm->assoc_wpa_ie_len;
-@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
- enum wpa_alg alg;
- const u8 *key_rsc;
-
-- if (!sm->tk_to_set) {
-+ if (sm->ptk.installed) {
- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- "WPA: Do not re-install same PTK to the driver");
- return 0;
-@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
-
- /* TK is not needed anymore in supplicant */
- os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN);
-- sm->tk_to_set = 0;
-+ sm->ptk.installed = 1;
-
- if (sm->wpa_ptk_rekey) {
- eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL);
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index 9a54631..41f371f 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -24,7 +24,6 @@ struct wpa_sm {
- struct wpa_ptk ptk, tptk;
- int ptk_set, tptk_set;
- unsigned int msg_3_of_4_ok:1;
-- unsigned int tk_to_set:1;
- u8 snonce[WPA_NONCE_LEN];
- u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */
- int renew_snonce;
---
-2.7.4 \ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple5.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple5.patch
deleted file mode 100644
index b262dcac5..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple5.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 12fac09b437a1dc8a0f253e265934a8aaf4d2f8b Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 1 Oct 2017 12:32:57 +0300
-Subject: [PATCH 5/8] Fix PTK rekeying to generate a new ANonce
-
-The Authenticator state machine path for PTK rekeying ended up bypassing
-the AUTHENTICATION2 state where a new ANonce is generated when going
-directly to the PTKSTART state since there is no need to try to
-determine the PMK again in such a case. This is far from ideal since the
-new PTK would depend on a new nonce only from the supplicant.
-
-Fix this by generating a new ANonce when moving to the PTKSTART state
-for the purpose of starting new 4-way handshake to rekey PTK.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/ap/wpa_auth.c | 24 +++++++++++++++++++++---
- 1 file changed, 21 insertions(+), 3 deletions(-)
-
-diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
-index 707971d..bf10cc1 100644
---- a/src/ap/wpa_auth.c
-+++ b/src/ap/wpa_auth.c
-@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
- }
-
-
-+static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
-+{
-+ if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
-+ wpa_printf(MSG_ERROR,
-+ "WPA: Failed to get random data for ANonce");
-+ sm->Disconnect = TRUE;
-+ return -1;
-+ }
-+ wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce,
-+ WPA_NONCE_LEN);
-+ sm->TimeoutCtr = 0;
-+ return 0;
-+}
-+
-+
- SM_STATE(WPA_PTK, INITPMK)
- {
- u8 msk[2 * PMK_LEN];
-@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK)
- SM_ENTER(WPA_PTK, AUTHENTICATION);
- else if (sm->ReAuthenticationRequest)
- SM_ENTER(WPA_PTK, AUTHENTICATION2);
-- else if (sm->PTKRequest)
-- SM_ENTER(WPA_PTK, PTKSTART);
-- else switch (sm->wpa_ptk_state) {
-+ else if (sm->PTKRequest) {
-+ if (wpa_auth_sm_ptk_update(sm) < 0)
-+ SM_ENTER(WPA_PTK, DISCONNECTED);
-+ else
-+ SM_ENTER(WPA_PTK, PTKSTART);
-+ } else switch (sm->wpa_ptk_state) {
- case WPA_PTK_INITIALIZE:
- break;
- case WPA_PTK_DISCONNECT:
---
-2.7.4 \ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple6.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple6.patch
deleted file mode 100644
index 15183f40c..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple6.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 6c4bed4f47d1960ec04981a9d50e5076aea5223d Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 11:03:15 +0300
-Subject: [PATCH 6/8] TDLS: Reject TPK-TK reconfiguration
-
-Do not try to reconfigure the same TPK-TK to the driver after it has
-been successfully configured. This is an explicit check to avoid issues
-related to resetting the TX/RX packet number. There was already a check
-for this for TPK M2 (retries of that message are ignored completely), so
-that behavior does not get modified.
-
-For TPK M3, the TPK-TK could have been reconfigured, but that was
-followed by immediate teardown of the link due to an issue in updating
-the STA entry. Furthermore, for TDLS with any real security (i.e.,
-ignoring open/WEP), the TPK message exchange is protected on the AP path
-and simple replay attacks are not feasible.
-
-As an additional corner case, make sure the local nonce gets updated if
-the peer uses a very unlikely "random nonce" of all zeros.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++--
- 1 file changed, 36 insertions(+), 2 deletions(-)
-
-diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
-index e424168..9eb9738 100644
---- a/src/rsn_supp/tdls.c
-+++ b/src/rsn_supp/tdls.c
-@@ -112,6 +112,7 @@ struct wpa_tdls_peer {
- u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */
- } tpk;
- int tpk_set;
-+ int tk_set; /* TPK-TK configured to the driver */
- int tpk_success;
- int tpk_in_progress;
-
-@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- u8 rsc[6];
- enum wpa_alg alg;
-
-+ if (peer->tk_set) {
-+ /*
-+ * This same TPK-TK has already been configured to the driver
-+ * and this new configuration attempt (likely due to an
-+ * unexpected retransmitted frame) would result in clearing
-+ * the TX/RX sequence number which can break security, so must
-+ * not allow that to happen.
-+ */
-+ wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR
-+ " has already been configured to the driver - do not reconfigure",
-+ MAC2STR(peer->addr));
-+ return -1;
-+ }
-+
- os_memset(rsc, 0, 6);
-
- switch (peer->cipher) {
-@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- return -1;
- }
-
-+ wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR,
-+ MAC2STR(peer->addr));
- if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1,
- rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) {
- wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the "
- "driver");
- return -1;
- }
-+ peer->tk_set = 1;
- return 0;
- }
-
-@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- peer->cipher = 0;
- peer->qos_info = 0;
- peer->wmm_capable = 0;
-- peer->tpk_set = peer->tpk_success = 0;
-+ peer->tk_set = peer->tpk_set = peer->tpk_success = 0;
- peer->chan_switch_enabled = 0;
- os_memset(&peer->tpk, 0, sizeof(peer->tpk));
- os_memset(peer->inonce, 0, WPA_NONCE_LEN);
-@@ -1159,6 +1177,7 @@ skip_rsnie:
- wpa_tdls_peer_free(sm, peer);
- return -1;
- }
-+ peer->tk_set = 0; /* A new nonce results in a new TK */
- wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake",
- peer->inonce, WPA_NONCE_LEN);
- os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN);
-@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,
- }
-
-
-+static int tdls_nonce_set(const u8 *nonce)
-+{
-+ int i;
-+
-+ for (i = 0; i < WPA_NONCE_LEN; i++) {
-+ if (nonce[i])
-+ return 1;
-+ }
-+
-+ return 0;
-+}
-+
-+
- static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
- const u8 *buf, size_t len)
- {
-@@ -2004,7 +2036,8 @@ skip_rsn:
- peer->rsnie_i_len = kde.rsn_ie_len;
- peer->cipher = cipher;
-
-- if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) {
-+ if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 ||
-+ !tdls_nonce_set(peer->inonce)) {
- /*
- * There is no point in updating the RNonce for every obtained
- * TPK M1 frame (e.g., retransmission due to timeout) with the
-@@ -2020,6 +2053,7 @@ skip_rsn:
- "TDLS: Failed to get random data for responder nonce");
- goto error;
- }
-+ peer->tk_set = 0; /* A new nonce results in a new TK */
- }
-
- #if 0
---
-2.7.4 \ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple7.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple7.patch
deleted file mode 100644
index 2e12bc755..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple7.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 53c5eb58e95004f86e65ee9fbfccbc291b139057 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 11:25:02 +0300
-Subject: [PATCH 7/8] WNM: Ignore WNM-Sleep Mode Response without pending
- request
-
-Commit 03ed0a52393710be6bdae657d1b36efa146520e5 ('WNM: Ignore WNM-Sleep
-Mode Response if WNM-Sleep Mode has not been used') started ignoring the
-response when no WNM-Sleep Mode Request had been used during the
-association. This can be made tighter by clearing the used flag when
-successfully processing a response. This adds an additional layer of
-protection against unexpected retransmissions of the response frame.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- wpa_supplicant/wnm_sta.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c
-index 1b3409c..67a07ff 100644
---- a/wpa_supplicant/wnm_sta.c
-+++ b/wpa_supplicant/wnm_sta.c
-@@ -260,7 +260,7 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,
-
- if (!wpa_s->wnmsleep_used) {
- wpa_printf(MSG_DEBUG,
-- "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode has not been used in this association");
-+ "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode operation has not been requested");
- return;
- }
-
-@@ -299,6 +299,8 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,
- return;
- }
-
-+ wpa_s->wnmsleep_used = 0;
-+
- if (wnmsleep_ie->status == WNM_STATUS_SLEEP_ACCEPT ||
- wnmsleep_ie->status == WNM_STATUS_SLEEP_EXIT_ACCEPT_GTK_UPDATE) {
- wpa_printf(MSG_DEBUG, "Successfully recv WNM-Sleep Response "
---
-2.7.4 \ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple8.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple8.patch
deleted file mode 100644
index 7f5390c31..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/key-replay-cve-multiple8.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From b372ab0b7daea719749194dc554b26e6367603f2 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 12:06:37 +0300
-Subject: [PATCH 8/8] FT: Do not allow multiple Reassociation Response frames
-
-The driver is expected to not report a second association event without
-the station having explicitly request a new association. As such, this
-case should not be reachable. However, since reconfiguring the same
-pairwise or group keys to the driver could result in nonce reuse issues,
-be extra careful here and do an additional state check to avoid this
-even if the local driver ends up somehow accepting an unexpected
-Reassociation Response frame.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/wpa.c | 3 +++
- src/rsn_supp/wpa_ft.c | 8 ++++++++
- src/rsn_supp/wpa_i.h | 1 +
- 3 files changed, 12 insertions(+)
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 0550a41..2a53c6f 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm)
- #ifdef CONFIG_TDLS
- wpa_tdls_disassoc(sm);
- #endif /* CONFIG_TDLS */
-+#ifdef CONFIG_IEEE80211R
-+ sm->ft_reassoc_completed = 0;
-+#endif /* CONFIG_IEEE80211R */
-
- /* Keys are not needed in the WPA state machine anymore */
- wpa_sm_drop_sa(sm);
-diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c
-index 205793e..d45bb45 100644
---- a/src/rsn_supp/wpa_ft.c
-+++ b/src/rsn_supp/wpa_ft.c
-@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,
- u16 capab;
-
- sm->ft_completed = 0;
-+ sm->ft_reassoc_completed = 0;
-
- buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
- 2 + sm->r0kh_id_len + ric_ies_len + 100;
-@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
- return -1;
- }
-
-+ if (sm->ft_reassoc_completed) {
-+ wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission");
-+ return 0;
-+ }
-+
- if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) {
- wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs");
- return -1;
-@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
- return -1;
- }
-
-+ sm->ft_reassoc_completed = 1;
-+
- if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0)
- return -1;
-
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index 41f371f..56f88dc 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -128,6 +128,7 @@ struct wpa_sm {
- size_t r0kh_id_len;
- u8 r1kh_id[FT_R1KH_ID_LEN];
- int ft_completed;
-+ int ft_reassoc_completed;
- int over_the_ds_in_progress;
- u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */
- int set_ptk_after_assoc;
---
-2.7.4 \ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant-CVE-2018-14526.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant-CVE-2018-14526.patch
deleted file mode 100644
index e800a410e..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant-CVE-2018-14526.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-wpa_supplicant-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/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb
deleted file mode 100644
index aa4c4c2da..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.6.bb
+++ /dev/null
@@ -1,119 +0,0 @@
-SUMMARY = "Client for Wi-Fi Protected Access (WPA)"
-HOMEPAGE = "http://w1.fi/wpa_supplicant/"
-BUGTRACKER = "http://w1.fi/security/"
-SECTION = "network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=292eece3f2ebbaa25608eed8464018a3 \
- file://README;beginline=1;endline=56;md5=3f01d778be8f953962388307ee38ed2b \
- file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=4061612fc5715696134e3baf933e8aba"
-DEPENDS = "dbus libnl"
-RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
-
-PACKAGECONFIG ??= "gnutls"
-PACKAGECONFIG[gnutls] = ",,gnutls libgcrypt"
-PACKAGECONFIG[openssl] = ",,openssl"
-
-inherit pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \
- file://defconfig \
- file://wpa-supplicant.sh \
- file://wpa_supplicant.conf \
- file://wpa_supplicant.conf-sane \
- file://99_wpa_supplicant \
- file://key-replay-cve-multiple1.patch \
- file://key-replay-cve-multiple2.patch \
- file://key-replay-cve-multiple3.patch \
- file://key-replay-cve-multiple4.patch \
- file://key-replay-cve-multiple5.patch \
- file://key-replay-cve-multiple6.patch \
- file://key-replay-cve-multiple7.patch \
- file://key-replay-cve-multiple8.patch \
- file://wpa_supplicant-CVE-2018-14526.patch \
- "
-SRC_URI[md5sum] = "091569eb4440b7d7f2b4276dbfc03c3c"
-SRC_URI[sha256sum] = "b4936d34c4e6cdd44954beba74296d964bc2c9668ecaa5255e499636fe2b1450"
-
-CVE_PRODUCT = "wpa_supplicant"
-
-S = "${WORKDIR}/wpa_supplicant-${PV}"
-
-PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
-FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
-FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
-FILES_${PN} += "${datadir}/dbus-1/system-services/*"
-CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf"
-
-do_configure () {
- ${MAKE} -C wpa_supplicant clean
- install -m 0755 ${WORKDIR}/defconfig wpa_supplicant/.config
- echo "CFLAGS +=\"-I${STAGING_INCDIR}/libnl3\"" >> wpa_supplicant/.config
- echo "DRV_CFLAGS +=\"-I${STAGING_INCDIR}/libnl3\"" >> wpa_supplicant/.config
-
- if echo "${PACKAGECONFIG}" | grep -qw "openssl"; then
- ssl=openssl
- elif echo "${PACKAGECONFIG}" | grep -qw "gnutls"; then
- ssl=gnutls
- fi
- if [ -n "$ssl" ]; then
- sed -i "s/%ssl%/$ssl/" wpa_supplicant/.config
- fi
-
- # For rebuild
- rm -f wpa_supplicant/*.d wpa_supplicant/dbus/*.d
-}
-
-export EXTRA_CFLAGS = "${CFLAGS}"
-export BINDIR = "${sbindir}"
-
-do_compile () {
- unset CFLAGS CPPFLAGS CXXFLAGS
- sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules
- oe_runmake -C wpa_supplicant
-}
-
-do_install () {
- install -d ${D}${sbindir}
- install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir}
- install -m 755 wpa_supplicant/wpa_cli ${D}${sbindir}
-
- install -d ${D}${bindir}
- install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir}
-
- install -d ${D}${docdir}/wpa_supplicant
- install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
-
- install -d ${D}${sysconfdir}
- install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
-
- install -d ${D}${sysconfdir}/network/if-pre-up.d/
- install -d ${D}${sysconfdir}/network/if-post-down.d/
- install -d ${D}${sysconfdir}/network/if-down.d/
- install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
- cd ${D}${sysconfdir}/network/ && \
- ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
-
- install -d ${D}/${sysconfdir}/dbus-1/system.d
- install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
- install -d ${D}/${datadir}/dbus-1/system-services
- install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
- fi
-
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
-}
-
-pkg_postinst_wpa-supplicant () {
- # If we're offline, we don't need to do this.
- if [ "x$D" = "x" ]; then
- killall -q -HUP dbus-daemon || true
- fi
-
-}
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb
new file mode 100644
index 000000000..fe5fa2b82
--- /dev/null
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb
@@ -0,0 +1,109 @@
+SUMMARY = "Client for Wi-Fi Protected Access (WPA)"
+HOMEPAGE = "http://w1.fi/wpa_supplicant/"
+BUGTRACKER = "http://w1.fi/security/"
+SECTION = "network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a3791c270ad6bb026707d17bf750e5ef \
+ file://README;beginline=1;endline=56;md5=495cbce6008253de4b4d8f4cdfae9f4f \
+ file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=a5687903a31b8679e6a06b3afa5c819e"
+DEPENDS = "dbus libnl"
+RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
+
+PACKAGECONFIG ??= "gnutls"
+PACKAGECONFIG[gnutls] = ",,gnutls libgcrypt"
+PACKAGECONFIG[openssl] = ",,openssl"
+
+inherit pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \
+ file://defconfig \
+ file://wpa-supplicant.sh \
+ file://wpa_supplicant.conf \
+ file://wpa_supplicant.conf-sane \
+ file://99_wpa_supplicant \
+ file://0001-replace-systemd-install-Alias-with-WantedBy.patch \
+ "
+SRC_URI[md5sum] = "a68538fb62766f40f890125026c42c10"
+SRC_URI[sha256sum] = "76ea6b06b7a2ea8e6d9eb1a9166166f1656e6d48c7508914f592100c95c73074"
+
+CVE_PRODUCT = "wpa_supplicant"
+
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
+FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
+FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
+FILES_${PN} += "${datadir}/dbus-1/system-services/*"
+CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf"
+
+do_configure () {
+ ${MAKE} -C wpa_supplicant clean
+ install -m 0755 ${WORKDIR}/defconfig wpa_supplicant/.config
+
+ if echo "${PACKAGECONFIG}" | grep -qw "openssl"; then
+ ssl=openssl
+ elif echo "${PACKAGECONFIG}" | grep -qw "gnutls"; then
+ ssl=gnutls
+ fi
+ if [ -n "$ssl" ]; then
+ sed -i "s/%ssl%/$ssl/" wpa_supplicant/.config
+ fi
+
+ # For rebuild
+ rm -f wpa_supplicant/*.d wpa_supplicant/dbus/*.d
+}
+
+export EXTRA_CFLAGS = "${CFLAGS}"
+export BINDIR = "${sbindir}"
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS
+ sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules
+ oe_runmake -C wpa_supplicant
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir}
+ install -m 755 wpa_supplicant/wpa_cli ${D}${sbindir}
+
+ install -d ${D}${bindir}
+ install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir}
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
+
+ install -d ${D}${sysconfdir}
+ install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
+
+ install -d ${D}${sysconfdir}/network/if-pre-up.d/
+ install -d ${D}${sysconfdir}/network/if-post-down.d/
+ install -d ${D}${sysconfdir}/network/if-down.d/
+ install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
+ cd ${D}${sysconfdir}/network/ && \
+ ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
+
+ install -d ${D}/${sysconfdir}/dbus-1/system.d
+ install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
+ install -d ${D}/${datadir}/dbus-1/system-services
+ install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
+ fi
+
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
+}
+
+pkg_postinst_wpa-supplicant () {
+ # If we're offline, we don't need to do this.
+ if [ "x$D" = "x" ]; then
+ killall -q -HUP dbus-daemon || true
+ fi
+
+}
diff --git a/poky/meta/recipes-core/base-files/base-files/filesystems b/poky/meta/recipes-core/base-files/base-files/filesystems
deleted file mode 100644
index 7e6c41c38..000000000
--- a/poky/meta/recipes-core/base-files/base-files/filesystems
+++ /dev/null
@@ -1,8 +0,0 @@
-ext4
-ext3
-ext2
-vfat
-fat
-btrfs
-minix
-*
diff --git a/poky/meta/recipes-core/netbase/netbase/hosts b/poky/meta/recipes-core/base-files/base-files/hosts
index b94f414d5..b94f414d5 100644
--- a/poky/meta/recipes-core/netbase/netbase/hosts
+++ b/poky/meta/recipes-core/base-files/base-files/hosts
diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
index 6e75652f1..a1639db83 100644
--- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -13,11 +13,11 @@ LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "file://rotation \
file://nsswitch.conf \
file://motd \
+ file://hosts \
file://host.conf \
file://profile \
file://shells \
file://fstab \
- file://filesystems \
file://issue.net \
file://issue \
file://usbd \
@@ -113,6 +113,7 @@ do_install () {
ln -snf ../run ${D}${localstatedir}/run
ln -snf ../run/lock ${D}${localstatedir}/lock
+ install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts
${BASEFILESISSUEINSTALL}
rotation=`cat ${WORKDIR}/rotation`
@@ -121,7 +122,6 @@ do_install () {
fi
install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
- install -m 0644 ${WORKDIR}/filesystems ${D}${sysconfdir}/filesystems
install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile
@@ -140,6 +140,7 @@ DISTRO_VERSION[vardepsexclude] += "DATE"
do_install_basefilesissue () {
if [ "${hostname}" ]; then
echo ${hostname} > ${D}${sysconfdir}/hostname
+ echo "127.0.1.1 ${hostname}" >> ${D}${sysconfdir}/hosts
fi
install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir}
@@ -147,7 +148,7 @@ do_install_basefilesissue () {
printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue
printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net
if [ -n "${DISTRO_VERSION}" ]; then
- distro_version_nodate=${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot').replace('${DATE}','')}
+ distro_version_nodate="${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}','snapshot').replace('${DATE}','')}"
printf "%s " $distro_version_nodate >> ${D}${sysconfdir}/issue
printf "%s " $distro_version_nodate >> ${D}${sysconfdir}/issue.net
fi
@@ -177,5 +178,5 @@ FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname'][(d.getVar('hostname') != '')]} ${sysconfdir}/shells"
+CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname ${sysconfdir}/hosts'][(d.getVar('hostname') != '')]} ${sysconfdir}/shells"
CONFFILES_${PN} += "${sysconfdir}/motd ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile"
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.29.3.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb
index a83620e85..a83620e85 100644
--- a/poky/meta/recipes-core/busybox/busybox-inittab_1.29.3.bb
+++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb
diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc
index 0c0d26ed3..c9d25ff1c 100644
--- a/poky/meta/recipes-core/busybox/busybox.inc
+++ b/poky/meta/recipes-core/busybox/busybox.inc
@@ -53,6 +53,9 @@ RDEPENDS_${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_man
inherit cml1 systemd update-rc.d ptest
+# busybox's unzip test case needs zip command, which busybox itself does not provide
+RDEPENDS_${PN}-ptest = "zip"
+
# internal helper
def busybox_cfg(feature, tokens, cnf, rem):
if type(tokens) == type(""):
@@ -72,8 +75,7 @@ def features_to_busybox_settings(d):
busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'nls', True, False, d), 'CONFIG_LOCALE_SUPPORT', cnf, rem)
busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'ipv4', True, False, d), 'CONFIG_FEATURE_IFUPDOWN_IPV4', cnf, rem)
busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'ipv6', True, False, d), 'CONFIG_FEATURE_IFUPDOWN_IPV6', cnf, rem)
- busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'wifi', True, False, d), 'CONFIG_RFKILL', cnf, rem)
- busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'bluetooth', True, False, d), 'CONFIG_RFKILL', cnf, rem)
+ busybox_cfg(bb.utils.contains_any('DISTRO_FEATURES', 'bluetooth wifi', True, False, d), 'CONFIG_RFKILL', cnf, rem)
return "\n".join(cnf), "\n".join(rem)
# X, Y = ${@features_to_busybox_settings(d)}
@@ -349,6 +351,20 @@ do_install_ptest () {
cp -r ${B}/testsuite ${D}${PTEST_PATH}/
cp ${B}/.config ${D}${PTEST_PATH}/
ln -s /bin/busybox ${D}${PTEST_PATH}/busybox
+
+ mkdir ${D}${PTEST_PATH}/bin
+ if [ "${BUSYBOX_SPLIT_SUID}" = "1" ]; then
+ while read link; do
+ ln -s ${base_bindir}/busybox.suid ${D}${PTEST_PATH}/bin/$(basename $link)
+ done <${D}${sysconfdir}/busybox.links.suid
+ while read link; do
+ ln -s ${base_bindir}/busybox.nosuid ${D}${PTEST_PATH}/bin/$(basename $link)
+ done <${D}${sysconfdir}/busybox.links.nosuid
+ else
+ while read link; do
+ ln -s ${base_bindir}/busybox ${D}${PTEST_PATH}/bin/$(basename $link)
+ done <${D}${sysconfdir}/busybox.links
+ fi
}
inherit update-alternatives
@@ -455,4 +471,4 @@ pkg_prerm_${PN}-syslog () {
fi
}
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh', '', d)}"
+RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/ash', '', d)}"
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch b/poky/meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch
new file mode 100644
index 000000000..bb5f7533e
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch
@@ -0,0 +1,32 @@
+From c69feb2fdb755d6db34d0eb0a9e9994386c15e3a Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 14 Nov 2018 15:19:57 +0800
+Subject: [PATCH] du-l-works: fix to use 145 instead of 144
+
+64 + 64 + 16 = 144
+144 + size_of_directory >= 145
+So fix to use 145 instead of 144.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086836.html]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ testsuite/du/du-l-works | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testsuite/du/du-l-works b/testsuite/du/du-l-works
+index af87345..575064a 100644
+--- a/testsuite/du/du-l-works
++++ b/testsuite/du/du-l-works
+@@ -5,7 +5,7 @@ cd du.testdir
+ dd if=/dev/zero of=file1 bs=1k count=64 2>/dev/null
+ ln file1 file1.1
+ dd if=/dev/zero of=file2 bs=1k count=16 2>/dev/null
+-test x"`busybox du -l .`" = x"144 ." \
++test x"`busybox du -l .`" = x"145 ." \
+ -o x"`busybox du -l .`" = x"146 ." \
+ -o x"`busybox du -l .`" = x"148 ." \
+ -o x"`busybox du -l .`" = x"152 ." \
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
new file mode 100644
index 000000000..25472f0bb
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
@@ -0,0 +1,45 @@
+From 85f164ec427fecbae24140b3c93acbbe2ba1c817 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 13 Nov 2018 11:27:01 +0800
+Subject: [PATCH] testsuite: check uudecode before using it
+
+The unzip and tar test cases use uudecode command, so also
+check it via optional function.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086833.html]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ testsuite/tar.tests | 2 +-
+ testsuite/unzip.tests | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/testsuite/tar.tests b/testsuite/tar.tests
+index d71a349..8c88567 100755
+--- a/testsuite/tar.tests
++++ b/testsuite/tar.tests
+@@ -336,7 +336,7 @@ SKIP=
+ cd .. || exit 1; rm -rf tar.tempdir 2>/dev/null
+
+ mkdir tar.tempdir && cd tar.tempdir || exit 1
+-optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS
++optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS UUDECODE
+ testing "Symlink attack: create symlink and then write through it" '\
+ exec 2>&1
+ uudecode -o input && tar xvf input; echo $?
+diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
+index af53de9..3b45ece 100755
+--- a/testsuite/unzip.tests
++++ b/testsuite/unzip.tests
+@@ -31,7 +31,7 @@ rmdir foo
+ rm foo.zip
+
+ # File containing some damaged encrypted stream
+-optional FEATURE_UNZIP_CDF CONFIG_UNICODE_SUPPORT
++optional FEATURE_UNZIP_CDF CONFIG_UNICODE_SUPPORT UUDECODE
+ testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
+ "Archive: bad.zip
+ inflating: ]3j½r«I??K-%Ix
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch
new file mode 100644
index 000000000..7ba0f77fa
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch
@@ -0,0 +1,62 @@
+From 03acf460990dfcf6e52b298301b348b9504460a8 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 13 Nov 2018 13:51:42 +0800
+Subject: [PATCH] testsuite: use www.example.org for wget test cases
+
+Use example.org instead of google.com to make sure it's
+always reachible.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086835.html]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ testsuite/wget/wget--O-overrides--P | 2 +-
+ testsuite/wget/wget-handles-empty-path | 2 +-
+ testsuite/wget/wget-retrieves-google-index | 2 +-
+ testsuite/wget/wget-supports--P | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/testsuite/wget/wget--O-overrides--P b/testsuite/wget/wget--O-overrides--P
+index 40a3a96..490d743 100644
+--- a/testsuite/wget/wget--O-overrides--P
++++ b/testsuite/wget/wget--O-overrides--P
+@@ -1,5 +1,5 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+
+ mkdir foo
+-busybox wget -q -O index.html -P foo http://www.google.com/
++busybox wget -q -O index.html -P foo http://www.example.org/
+ test -s index.html
+diff --git a/testsuite/wget/wget-handles-empty-path b/testsuite/wget/wget-handles-empty-path
+index 01d60bd..1802db6 100644
+--- a/testsuite/wget/wget-handles-empty-path
++++ b/testsuite/wget/wget-handles-empty-path
+@@ -1,3 +1,3 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+
+-busybox wget http://www.google.com
++busybox wget http://www.example.org
+diff --git a/testsuite/wget/wget-retrieves-google-index b/testsuite/wget/wget-retrieves-google-index
+index f9dbb8b..fc801d4 100644
+--- a/testsuite/wget/wget-retrieves-google-index
++++ b/testsuite/wget/wget-retrieves-google-index
+@@ -1,4 +1,4 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+
+-busybox wget -q -O foo http://www.google.com/
++busybox wget -q -O foo http://www.example.org/
+ test -s foo
+diff --git a/testsuite/wget/wget-supports--P b/testsuite/wget/wget-supports--P
+index bfe4ac4..4ff2fe0 100644
+--- a/testsuite/wget/wget-supports--P
++++ b/testsuite/wget/wget-supports--P
+@@ -1,5 +1,5 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+
+ mkdir foo
+-busybox wget -q -P foo http://www.google.com/
++busybox wget -q -P foo http://www.example.org/
+ test -s foo/index.html
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/busybox/busybox/defconfig b/poky/meta/recipes-core/busybox/busybox/defconfig
index 32213c067..493db28e8 100644
--- a/poky/meta/recipes-core/busybox/busybox/defconfig
+++ b/poky/meta/recipes-core/busybox/busybox/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.29.1
-# Thu Jul 19 11:09:46 2018
+# Busybox version: 1.30.1
+# Sun Feb 17 18:12:27 2019
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -12,29 +12,29 @@ CONFIG_HAVE_DOT_CONFIG=y
# CONFIG_EXTRA_COMPAT is not set
# CONFIG_FEDORA_COMPAT is not set
# CONFIG_INCLUDE_SUSv2 is not set
-# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_LONG_OPTS=y
CONFIG_SHOW_USAGE=y
# CONFIG_FEATURE_VERBOSE_USAGE is not set
CONFIG_FEATURE_COMPRESS_USAGE=y
-CONFIG_BUSYBOX=y
-# CONFIG_FEATURE_INSTALLER is not set
-# CONFIG_INSTALL_NO_USR is not set
+CONFIG_LFS=y
# CONFIG_PAM is not set
-CONFIG_LONG_OPTS=y
CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_UTMP=y
# CONFIG_FEATURE_WTMP is not set
CONFIG_FEATURE_PIDFILE=y
CONFIG_PID_FILE_PATH="/var/run"
+CONFIG_BUSYBOX=y
+# CONFIG_FEATURE_SHOW_SCRIPT is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_INSTALL_NO_USR is not set
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SUID_CONFIG=y
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_SYSLOG=y
-# CONFIG_FEATURE_HAVE_RPC is not set
CONFIG_PLATFORM_LINUX=y
#
@@ -44,14 +44,16 @@ CONFIG_PLATFORM_LINUX=y
# CONFIG_PIE is not set
# CONFIG_NOMMU is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
+# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_STACK_OPTIMIZATION_386=y
#
# Installation Options ("make install" behavior)
@@ -81,7 +83,9 @@ CONFIG_NO_DEBUG_LIB=y
# Library Tuning
#
# CONFIG_FEATURE_USE_BSS_TAIL is not set
+CONFIG_FLOAT_DURATION=y
CONFIG_FEATURE_RTMINMAX=y
+# CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS is not set
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
@@ -101,6 +105,7 @@ CONFIG_FEATURE_EDITING_SAVEHISTORY=y
CONFIG_FEATURE_TAB_COMPLETION=y
CONFIG_FEATURE_USERNAME_COMPLETION=y
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+# CONFIG_FEATURE_EDITING_WINCH is not set
# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
# CONFIG_LOCALE_SUPPORT is not set
# CONFIG_UNICODE_SUPPORT is not set
@@ -146,11 +151,10 @@ CONFIG_BZCAT=y
# CONFIG_UNLZMA is not set
CONFIG_LZCAT=y
# CONFIG_LZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
# CONFIG_UNXZ is not set
CONFIG_XZCAT=y
# CONFIG_XZ is not set
-# CONFIG_BZIP2 is not set
+CONFIG_BZIP2=y
CONFIG_FEATURE_BZIP2_DECOMPRESS=y
CONFIG_CPIO=y
# CONFIG_FEATURE_CPIO_O is not set
@@ -185,12 +189,14 @@ CONFIG_FEATURE_UNZIP_CDF=y
# CONFIG_FEATURE_UNZIP_BZIP2 is not set
# CONFIG_FEATURE_UNZIP_LZMA is not set
# CONFIG_FEATURE_UNZIP_XZ is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAT=y
+CONFIG_FEATURE_CATN=y
# CONFIG_FEATURE_CATV is not set
CONFIG_CHGRP=y
CONFIG_CHMOD=y
@@ -201,6 +207,7 @@ CONFIG_CHROOT=y
# CONFIG_COMM is not set
CONFIG_CP=y
# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
+# CONFIG_FEATURE_CP_REFLINK is not set
CONFIG_CUT=y
CONFIG_DATE=y
# CONFIG_FEATURE_DATE_ISOFMT is not set
@@ -221,11 +228,8 @@ CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
# CONFIG_EXPAND is not set
-# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
# CONFIG_UNEXPAND is not set
-# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
# CONFIG_FACTOR is not set
@@ -263,12 +267,10 @@ CONFIG_MD5SUM=y
#
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
CONFIG_MKTEMP=y
CONFIG_MV=y
-# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
# CONFIG_NICE is not set
# CONFIG_NL is not set
CONFIG_NOHUP=y
@@ -283,15 +285,14 @@ CONFIG_FEATURE_READLINK_FOLLOW=y
CONFIG_REALPATH=y
CONFIG_RM=y
CONFIG_RMDIR=y
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
CONFIG_SEQ=y
# CONFIG_SHRED is not set
CONFIG_SHUF=y
CONFIG_SLEEP=y
CONFIG_FEATURE_FANCY_SLEEP=y
-CONFIG_FEATURE_FLOAT_SLEEP=y
CONFIG_SORT=y
CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set
# CONFIG_SPLIT is not set
# CONFIG_FEATURE_SPLIT_FANCY is not set
CONFIG_STAT=y
@@ -331,10 +332,10 @@ CONFIG_USLEEP=y
# CONFIG_UUENCODE is not set
CONFIG_WC=y
# CONFIG_FEATURE_WC_LARGE is not set
+CONFIG_WHOAMI=y
CONFIG_WHO=y
# CONFIG_W is not set
CONFIG_USERS=y
-CONFIG_WHOAMI=y
CONFIG_YES=y
#
@@ -443,6 +444,7 @@ CONFIG_FEATURE_FIND_MTIME=y
CONFIG_FEATURE_FIND_MMIN=y
CONFIG_FEATURE_FIND_PERM=y
CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_EXECUTABLE=y
CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_MAXDEPTH=y
CONFIG_FEATURE_FIND_NEWER=y
@@ -456,6 +458,7 @@ CONFIG_FEATURE_FIND_DEPTH=y
CONFIG_FEATURE_FIND_PAREN=y
CONFIG_FEATURE_FIND_SIZE=y
CONFIG_FEATURE_FIND_PRUNE=y
+CONFIG_FEATURE_FIND_QUIT=y
# CONFIG_FEATURE_FIND_DELETE is not set
CONFIG_FEATURE_FIND_PATH=y
CONFIG_FEATURE_FIND_REGEX=y
@@ -471,6 +474,8 @@ CONFIG_XARGS=y
# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
+# CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE is not set
#
# Init Utilities
@@ -481,6 +486,7 @@ CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
# CONFIG_HALT is not set
# CONFIG_POWEROFF is not set
CONFIG_REBOOT=y
+# CONFIG_FEATURE_WAIT_FOR_INIT is not set
# CONFIG_FEATURE_CALL_TELINIT is not set
# CONFIG_TELINIT_PATH is not set
# CONFIG_INIT is not set
@@ -503,13 +509,11 @@ CONFIG_REBOOT=y
# CONFIG_USE_BB_SHADOW is not set
CONFIG_USE_BB_CRYPT=y
# CONFIG_USE_BB_CRYPT_SHA is not set
-# CONFIG_ADD_SHELL is not set
-# CONFIG_REMOVE_SHELL is not set
# CONFIG_ADDGROUP is not set
-# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
+# CONFIG_ADD_SHELL is not set
+# CONFIG_REMOVE_SHELL is not set
# CONFIG_ADDUSER is not set
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_LAST_ID=60000
CONFIG_FIRST_SYSTEM_ID=100
@@ -585,8 +589,11 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
# CONFIG_FEATURE_BLKID_TYPE is not set
# CONFIG_BLOCKDEV is not set
# CONFIG_CAL is not set
+# CONFIG_CHRT is not set
CONFIG_DMESG=y
CONFIG_FEATURE_DMESG_PRETTY=y
+# CONFIG_EJECT is not set
+# CONFIG_FEATURE_EJECT_SCSI is not set
# CONFIG_FALLOCATE is not set
# CONFIG_FATATTR is not set
CONFIG_FBSET=y
@@ -616,8 +623,8 @@ CONFIG_HEXDUMP=y
# CONFIG_HD is not set
# CONFIG_XXD is not set
CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+# CONFIG_IONICE is not set
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_LAST is not set
@@ -653,8 +660,10 @@ CONFIG_MOUNT=y
CONFIG_FEATURE_MOUNT_FLAGS=y
CONFIG_FEATURE_MOUNT_FSTAB=y
# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
+CONFIG_MOUNTPOINT=y
+# CONFIG_NOLOGIN is not set
+# CONFIG_NOLOGIN_DEPENDENCIES is not set
# CONFIG_NSENTER is not set
-# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set
CONFIG_PIVOT_ROOT=y
CONFIG_RDATE=y
# CONFIG_RDEV is not set
@@ -668,10 +677,15 @@ CONFIG_RENICE=y
# CONFIG_LINUX32 is not set
# CONFIG_LINUX64 is not set
# CONFIG_SETPRIV is not set
+# CONFIG_FEATURE_SETPRIV_DUMP is not set
+# CONFIG_FEATURE_SETPRIV_CAPABILITIES is not set
+# CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES is not set
+CONFIG_SETSID=y
CONFIG_SWAPON=y
CONFIG_FEATURE_SWAPON_DISCARD=y
CONFIG_FEATURE_SWAPON_PRI=y
CONFIG_SWAPOFF=y
+# CONFIG_FEATURE_SWAPONOFF_LABEL is not set
CONFIG_SWITCH_ROOT=y
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
@@ -702,9 +716,11 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
# CONFIG_FEATURE_VOLUMEID_HFS is not set
# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
# CONFIG_FEATURE_VOLUMEID_JFS is not set
+# CONFIG_FEATURE_VOLUMEID_LFS is not set
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+# CONFIG_FEATURE_VOLUMEID_MINIX is not set
# CONFIG_FEATURE_VOLUMEID_NILFS is not set
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
@@ -719,19 +735,44 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
#
# Miscellaneous Utilities
#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
+# CONFIG_BC is not set
+CONFIG_DC=y
+# CONFIG_FEATURE_DC_BIG is not set
+# CONFIG_FEATURE_DC_LIBM is not set
+# CONFIG_FEATURE_BC_INTERACTIVE is not set
+# CONFIG_FEATURE_BC_LONG_OPTIONS is not set
# CONFIG_BEEP is not set
CONFIG_FEATURE_BEEP_FREQ=0
CONFIG_FEATURE_BEEP_LENGTH_MS=0
+# CONFIG_CHAT is not set
+# CONFIG_FEATURE_CHAT_NOFAIL is not set
+# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
+# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
+# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
+# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
+# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
+# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
# CONFIG_CONSPY is not set
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set
CONFIG_FEATURE_CROND_DIR=""
+# CONFIG_CRONTAB is not set
# CONFIG_DEVFSD is not set
# CONFIG_DEVFSD_MODLOAD is not set
# CONFIG_DEVFSD_FG_NP is not set
# CONFIG_DEVFSD_VERBOSE is not set
# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_FBSPLASH is not set
+# CONFIG_FLASHCP is not set
+# CONFIG_FLASH_ERASEALL is not set
+# CONFIG_FLASH_LOCK is not set
+# CONFIG_FLASH_UNLOCK is not set
# CONFIG_HDPARM is not set
# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
@@ -744,6 +785,7 @@ CONFIG_FEATURE_CROND_DIR=""
# CONFIG_I2CSET is not set
# CONFIG_I2CDUMP is not set
# CONFIG_I2CDETECT is not set
+# CONFIG_INOTIFYD is not set
CONFIG_LESS=y
CONFIG_FEATURE_LESS_MAXLINES=9999999
CONFIG_FEATURE_LESS_BRACKETS=y
@@ -755,78 +797,35 @@ CONFIG_FEATURE_LESS_FLAGS=y
# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
# CONFIG_FEATURE_LESS_DASHCMD is not set
# CONFIG_FEATURE_LESS_LINENUMS is not set
+# CONFIG_FEATURE_LESS_RAW is not set
+# CONFIG_FEATURE_LESS_ENV is not set
# CONFIG_LSSCSI is not set
-# CONFIG_NANDWRITE is not set
-# CONFIG_NANDDUMP is not set
-# CONFIG_PARTPROBE is not set
-CONFIG_RFKILL=y
-# CONFIG_SETSERIAL is not set
-# CONFIG_UBIATTACH is not set
-# CONFIG_UBIDETACH is not set
-# CONFIG_UBIMKVOL is not set
-# CONFIG_UBIRMVOL is not set
-# CONFIG_UBIRSVOL is not set
-# CONFIG_UBIUPDATEVOL is not set
-# CONFIG_UBIRENAME is not set
-# CONFIG_ADJTIMEX is not set
-# CONFIG_BBCONFIG is not set
-# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
-# CONFIG_BEEP is not set
-CONFIG_FEATURE_BEEP_FREQ=0
-CONFIG_FEATURE_BEEP_LENGTH_MS=0
-# CONFIG_CHAT is not set
-# CONFIG_FEATURE_CHAT_NOFAIL is not set
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
-# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
-# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
-# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
-# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-# CONFIG_CHRT is not set
-# CONFIG_CRONTAB is not set
-CONFIG_DC=y
-# CONFIG_FEATURE_DC_LIBM is not set
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-# CONFIG_DEVMEM is not set
-# CONFIG_EJECT is not set
-# CONFIG_FEATURE_EJECT_SCSI is not set
-# CONFIG_FBSPLASH is not set
-# CONFIG_FLASHCP is not set
-# CONFIG_FLASH_LOCK is not set
-# CONFIG_FLASH_UNLOCK is not set
-# CONFIG_FLASH_ERASEALL is not set
-# CONFIG_IONICE is not set
-# CONFIG_INOTIFYD is not set
-# CONFIG_LAST is not set
-# CONFIG_FEATURE_LAST_FANCY is not set
-# CONFIG_HDPARM is not set
-# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
-# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
-# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
# CONFIG_MAKEDEVS is not set
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
# CONFIG_MAN is not set
CONFIG_MICROCOM=y
-# CONFIG_MOUNTPOINT is not set
# CONFIG_MT is not set
+# CONFIG_NANDWRITE is not set
+# CONFIG_NANDDUMP is not set
+# CONFIG_PARTPROBE is not set
# CONFIG_RAIDAUTORUN is not set
# CONFIG_READAHEAD is not set
+CONFIG_RFKILL=y
# CONFIG_RUNLEVEL is not set
# CONFIG_RX is not set
-# CONFIG_SETSID is not set
# CONFIG_SETFATTR is not set
+# CONFIG_SETSERIAL is not set
CONFIG_STRINGS=y
CONFIG_TIME=y
-# CONFIG_TIMEOUT is not set
# CONFIG_TTYSIZE is not set
+# CONFIG_UBIRENAME is not set
+# CONFIG_UBIATTACH is not set
+# CONFIG_UBIDETACH is not set
+# CONFIG_UBIMKVOL is not set
+# CONFIG_UBIRMVOL is not set
+# CONFIG_UBIRSVOL is not set
+# CONFIG_UBIUPDATEVOL is not set
# CONFIG_VOLNAME is not set
# CONFIG_WATCHDOG is not set
@@ -837,6 +836,7 @@ CONFIG_FEATURE_IPV6=y
# CONFIG_FEATURE_UNIX_LOCAL is not set
CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+# CONFIG_FEATURE_TLS_SHA1 is not set
# CONFIG_ARP is not set
# CONFIG_ARPING is not set
# CONFIG_BRCTL is not set
@@ -911,6 +911,7 @@ CONFIG_FEATURE_IP_TUNNEL=y
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
# CONFIG_NBDCLIENT is not set
CONFIG_NC=y
+# CONFIG_NETCAT is not set
# CONFIG_NC_SERVER is not set
# CONFIG_NC_EXTRA is not set
# CONFIG_NC_110_COMPAT is not set
@@ -918,9 +919,12 @@ CONFIG_NETSTAT=y
# CONFIG_FEATURE_NETSTAT_WIDE is not set
# CONFIG_FEATURE_NETSTAT_PRG is not set
CONFIG_NSLOOKUP=y
+# CONFIG_FEATURE_NSLOOKUP_BIG is not set
+# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set
# CONFIG_NTPD is not set
# CONFIG_FEATURE_NTPD_SERVER is not set
# CONFIG_FEATURE_NTPD_CONF is not set
+# CONFIG_FEATURE_NTP_AUTH is not set
CONFIG_PING=y
CONFIG_PING6=y
CONFIG_FEATURE_FANCY_PING=y
@@ -940,15 +944,11 @@ CONFIG_FEATURE_TELNET_WIDTH=y
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
CONFIG_TFTP=y
+# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTPD is not set
-
-#
-# Common options for tftp/tftpd
-#
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
-# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTP_DEBUG is not set
CONFIG_TLS=y
CONFIG_TRACEROUTE=y
@@ -988,9 +988,9 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
#
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
# CONFIG_FEATURE_UDHCP_8021Q is not set
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"
#
@@ -1071,13 +1071,11 @@ CONFIG_SV_DEFAULT_SERVICE_DIR=""
# CONFIG_SVOK is not set
# CONFIG_SVLOGD is not set
# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
# CONFIG_GETENFORCE is not set
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_SESTATUS is not set
# CONFIG_SETENFORCE is not set
@@ -1099,6 +1097,8 @@ CONFIG_ASH=y
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
CONFIG_ASH_INTERNAL_GLOB=y
CONFIG_ASH_BASH_COMPAT=y
+# CONFIG_ASH_BASH_SOURCE_CURDIR is not set
+CONFIG_ASH_BASH_NOT_FOUND_HOOK=y
CONFIG_ASH_JOB_CONTROL=y
CONFIG_ASH_ALIAS=y
# CONFIG_ASH_RANDOM_SUPPORT is not set
@@ -1115,6 +1115,8 @@ CONFIG_ASH_CMDCMD=y
# CONFIG_HUSH is not set
# CONFIG_HUSH_BASH_COMPAT is not set
# CONFIG_HUSH_BRACE_EXPANSION is not set
+# CONFIG_HUSH_LINENO_VAR is not set
+# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set
# CONFIG_HUSH_INTERACTIVE is not set
# CONFIG_HUSH_SAVEHISTORY is not set
# CONFIG_HUSH_JOB is not set
@@ -1132,17 +1134,20 @@ CONFIG_ASH_CMDCMD=y
# CONFIG_HUSH_HELP is not set
# CONFIG_HUSH_EXPORT is not set
# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_READONLY is not set
# CONFIG_HUSH_KILL is not set
# CONFIG_HUSH_WAIT is not set
+# CONFIG_HUSH_COMMAND is not set
# CONFIG_HUSH_TRAP is not set
# CONFIG_HUSH_TYPE is not set
+# CONFIG_HUSH_TIMES is not set
# CONFIG_HUSH_READ is not set
# CONFIG_HUSH_SET is not set
# CONFIG_HUSH_UNSET is not set
# CONFIG_HUSH_ULIMIT is not set
# CONFIG_HUSH_UMASK is not set
+# CONFIG_HUSH_GETOPTS is not set
# CONFIG_HUSH_MEMLEAK is not set
-# CONFIG_MSH is not set
#
# Options common to all shells
@@ -1152,7 +1157,9 @@ CONFIG_FEATURE_SH_MATH=y
CONFIG_FEATURE_SH_EXTRA_QUIET=y
# CONFIG_FEATURE_SH_STANDALONE is not set
# CONFIG_FEATURE_SH_NOFORK is not set
+# CONFIG_FEATURE_SH_READ_FRAC is not set
CONFIG_FEATURE_SH_HISTFILESIZE=y
+# CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS is not set
#
# System Logging Utilities
diff --git a/poky/meta/recipes-core/busybox/busybox_1.29.3.bb b/poky/meta/recipes-core/busybox/busybox_1.29.3.bb
deleted file mode 100644
index 6064e9fdc..000000000
--- a/poky/meta/recipes-core/busybox/busybox_1.29.3.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-require busybox.inc
-
-SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
- file://busybox-udhcpc-no_deconfig.patch \
- file://find-touchscreen.sh \
- file://busybox-cron \
- file://busybox-httpd \
- file://busybox-udhcpd \
- file://default.script \
- file://simple.script \
- file://hwclock.sh \
- file://mount.busybox \
- file://syslog \
- file://syslog-startup.conf \
- file://syslog.conf \
- file://busybox-syslog.default \
- file://mdev \
- file://mdev.conf \
- file://mdev-mount.sh \
- file://umount.busybox \
- file://defconfig \
- file://busybox-syslog.service.in \
- file://busybox-klogd.service.in \
- file://fail_on_no_media.patch \
- file://run-ptest \
- file://inetd.conf \
- file://inetd \
- file://login-utilities.cfg \
- file://recognize_connmand.patch \
- file://busybox-cross-menuconfig.patch \
- file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \
- file://mount-via-label.cfg \
- file://sha1sum.cfg \
- file://sha256sum.cfg \
- file://getopts.cfg \
- file://resize.cfg \
- ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \
- ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \
- file://syslog.cfg \
- file://inittab \
- file://rcS \
- file://rcK \
- file://makefile-libbb-race.patch \
-"
-SRC_URI_append_libc-musl = " file://musl.cfg "
-
-SRC_URI[tarball.md5sum] = "0a367e19cdfd157e8258d87f893ee516"
-SRC_URI[tarball.sha256sum] = "97648636e579462296478e0218e65e4bc1e9cd69089a3b1aeb810bff7621efb7"
diff --git a/poky/meta/recipes-core/busybox/busybox_1.30.1.bb b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
new file mode 100644
index 000000000..164f3ab3c
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
@@ -0,0 +1,51 @@
+require busybox.inc
+
+SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
+ file://busybox-udhcpc-no_deconfig.patch \
+ file://find-touchscreen.sh \
+ file://busybox-cron \
+ file://busybox-httpd \
+ file://busybox-udhcpd \
+ file://default.script \
+ file://simple.script \
+ file://hwclock.sh \
+ file://mount.busybox \
+ file://syslog \
+ file://syslog-startup.conf \
+ file://syslog.conf \
+ file://busybox-syslog.default \
+ file://mdev \
+ file://mdev.conf \
+ file://mdev-mount.sh \
+ file://umount.busybox \
+ file://defconfig \
+ file://busybox-syslog.service.in \
+ file://busybox-klogd.service.in \
+ file://fail_on_no_media.patch \
+ file://run-ptest \
+ file://inetd.conf \
+ file://inetd \
+ file://login-utilities.cfg \
+ file://recognize_connmand.patch \
+ file://busybox-cross-menuconfig.patch \
+ file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \
+ file://mount-via-label.cfg \
+ file://sha1sum.cfg \
+ file://sha256sum.cfg \
+ file://getopts.cfg \
+ file://resize.cfg \
+ ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \
+ ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \
+ file://syslog.cfg \
+ file://inittab \
+ file://rcS \
+ file://rcK \
+ file://makefile-libbb-race.patch \
+ file://0001-testsuite-check-uudecode-before-using-it.patch \
+ file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
+ file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
+"
+SRC_URI_append_libc-musl = " file://musl.cfg "
+
+SRC_URI[tarball.md5sum] = "4f72fc6abd736d5f4741fc4a2485547a"
+SRC_URI[tarball.sha256sum] = "3d1d04a4dbd34048f4794815a5c48ebb9eb53c5277e09ffffc060323b95dfbdc"
diff --git a/poky/meta/recipes-core/busybox/files/run-ptest b/poky/meta/recipes-core/busybox/files/run-ptest
index 3608a8eb6..b19e5b534 100644
--- a/poky/meta/recipes-core/busybox/files/run-ptest
+++ b/poky/meta/recipes-core/busybox/files/run-ptest
@@ -1,7 +1,9 @@
#!/bin/sh
-current_dir=$(readlink -f $0)
-export bindir=$(dirname $current_dir)
+current_path=$(readlink -f $0)
+export bindir=$(dirname $current_path)
+export PATH=$bindir/bin:$PATH
+export SKIP_KNOWN_BUGS=1
cd testsuite || exit 1
./runtest -v | sed -r 's/^(SKIPPED|UNTESTED):/SKIP:/'
diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.10.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.10.bb
deleted file mode 100644
index 25b939512..000000000
--- a/poky/meta/recipes-core/dbus/dbus-test_1.12.10.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-SUMMARY = "D-Bus test package (for D-bus functionality testing only)"
-HOMEPAGE = "http://dbus.freedesktop.org"
-SECTION = "base"
-LICENSE = "AFL-2 | GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
- file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
-
-DEPENDS = "dbus glib-2.0"
-
-RDEPENDS_${PN} += "make"
-RDEPENDS_${PN}-dev = ""
-
-SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
- file://tmpdir.patch \
- file://run-ptest \
- file://python-config.patch \
- file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
- "
-
-SRC_URI[md5sum] = "c3e12b4206e2a7da39d7cc42567790ef"
-SRC_URI[sha256sum] = "4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7"
-
-S="${WORKDIR}/dbus-${PV}"
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
-
-inherit autotools pkgconfig gettext ptest upstream-version-is-even
-
-EXTRA_OECONF_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
-EXTRA_OECONF_X_class-native = "--without-x"
-
-EXTRA_OECONF = "--enable-tests \
- --enable-modular-tests \
- --enable-installed-tests \
- --enable-checks \
- --enable-asserts \
- --enable-verbose-mode \
- --enable-largefile \
- --disable-xml-docs \
- --disable-doxygen-docs \
- --disable-libaudit \
- --with-dbus-test-dir=${PTEST_PATH} \
- ${EXTRA_OECONF_X}"
-
-EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
-
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
-PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
-PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
-
-do_install() {
- :
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/test
- l="shell printf refs syslog marshal syntax corrupt dbus-daemon dbus-daemon-eavesdrop loopback relay \
- variant uid-permissions syntax spawn sd-activation names monitor message fdpass "
- for i in $l; do install ${B}/test/.libs/test-$i ${D}${PTEST_PATH}/test; done
-
- l="bus bus-system bus-launch-helper"
- for i in $l; do install ${B}/bus/.libs/test-$i ${D}${PTEST_PATH}/test; done
-
- cp -r ${B}/test/data ${D}${PTEST_PATH}/test
- install ${B}/dbus/.libs/test-dbus ${D}${PTEST_PATH}/test
-
- install -d ${D}${PTEST_PATH}/test/.libs
- cp -a ${B}/dbus/.libs/*.so* ${D}${PTEST_PATH}/test/.libs
-
- # Remove build host references...
- find "${D}${PTEST_PATH}/test/data" \( -name *.service -o -name *.conf -o -name "*.aaprofile" \) -type f -exec \
- sed -i \
- -e 's:${B}:${PTEST_PATH}:g' \
- {} +
- sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g' ${D}${PTEST_PATH}/run-ptest
-}
-
-RDEPENDS_${PN}-ptest += "bash"
-
-PRIVATE_LIBS_${PN}-ptest = "libdbus-1.so.3"
diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb
new file mode 100644
index 000000000..f4131926c
--- /dev/null
+++ b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb
@@ -0,0 +1,83 @@
+SUMMARY = "D-Bus test package (for D-bus functionality testing only)"
+HOMEPAGE = "http://dbus.freedesktop.org"
+SECTION = "base"
+LICENSE = "AFL-2 | GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
+ file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
+
+DEPENDS = "dbus glib-2.0"
+
+RDEPENDS_${PN} += "make"
+RDEPENDS_${PN}-dev = ""
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+ file://tmpdir.patch \
+ file://run-ptest \
+ file://python-config.patch \
+ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
+ "
+
+SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8"
+SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8"
+
+S="${WORKDIR}/dbus-${PV}"
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
+
+inherit autotools pkgconfig gettext ptest upstream-version-is-even
+
+EXTRA_OECONF_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
+EXTRA_OECONF_X_class-native = "--without-x"
+
+EXTRA_OECONF = "--enable-tests \
+ --enable-modular-tests \
+ --enable-installed-tests \
+ --enable-checks \
+ --enable-asserts \
+ --enable-verbose-mode \
+ --enable-largefile \
+ --disable-xml-docs \
+ --disable-doxygen-docs \
+ --disable-libaudit \
+ --with-dbus-test-dir=${PTEST_PATH} \
+ ${EXTRA_OECONF_X}"
+
+EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
+PACKAGECONFIG_class-native = ""
+PACKAGECONFIG_class-nativesdk = ""
+
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
+PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
+PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
+
+do_install() {
+ :
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ l="shell printf refs syslog marshal syntax corrupt dbus-daemon dbus-daemon-eavesdrop loopback relay \
+ variant uid-permissions syntax spawn sd-activation names monitor message fdpass "
+ for i in $l; do install ${B}/test/.libs/test-$i ${D}${PTEST_PATH}/test; done
+
+ l="bus bus-system bus-launch-helper"
+ for i in $l; do install ${B}/bus/.libs/test-$i ${D}${PTEST_PATH}/test; done
+
+ cp -r ${B}/test/data ${D}${PTEST_PATH}/test
+ install ${B}/dbus/.libs/test-dbus ${D}${PTEST_PATH}/test
+
+ install -d ${D}${PTEST_PATH}/test/.libs
+ cp -a ${B}/dbus/.libs/*.so* ${D}${PTEST_PATH}/test/.libs
+
+ # Remove build host references...
+ find "${D}${PTEST_PATH}/test/data" \( -name *.service -o -name *.conf -o -name "*.aaprofile" \) -type f -exec \
+ sed -i \
+ -e 's:${B}:${PTEST_PATH}:g' \
+ {} +
+ sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g' ${D}${PTEST_PATH}/run-ptest
+}
+
+RDEPENDS_${PN}-ptest += "bash"
+
+PRIVATE_LIBS_${PN}-ptest = "libdbus-1.so.3"
diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.10.bb b/poky/meta/recipes-core/dbus/dbus_1.12.10.bb
deleted file mode 100644
index d71f7f704..000000000
--- a/poky/meta/recipes-core/dbus/dbus_1.12.10.bb
+++ /dev/null
@@ -1,176 +0,0 @@
-SUMMARY = "D-Bus message bus"
-DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed."
-HOMEPAGE = "http://dbus.freedesktop.org"
-SECTION = "base"
-LICENSE = "AFL-2 | GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
- file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
-DEPENDS = "expat virtual/libintl autoconf-archive"
-RDEPENDS_dbus_class-native = ""
-RDEPENDS_dbus_class-nativesdk = ""
-PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
-ALLOW_EMPTY_dbus-ptest = "1"
-RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest"
-
-SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
- file://tmpdir.patch \
- file://dbus-1.init \
- file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
-"
-
-SRC_URI[md5sum] = "c3e12b4206e2a7da39d7cc42567790ef"
-SRC_URI[sha256sum] = "4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7"
-
-inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even
-
-INITSCRIPT_NAME = "dbus-1"
-INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
-
-python __anonymous() {
- if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-r netdev"
-USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \
- --no-create-home --shell /bin/false \
- --user-group messagebus"
-
-CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
-
-DEBIANNAME_${PN} = "dbus-1"
-
-PACKAGES =+ "${PN}-lib"
-
-OLDPKGNAME = "dbus-x11"
-OLDPKGNAME_class-nativesdk = ""
-
-# for compatibility
-RPROVIDES_${PN} = "${OLDPKGNAME}"
-RREPLACES_${PN} += "${OLDPKGNAME}"
-
-FILES_${PN} = "${bindir}/dbus-daemon* \
- ${bindir}/dbus-uuidgen \
- ${bindir}/dbus-cleanup-sockets \
- ${bindir}/dbus-send \
- ${bindir}/dbus-monitor \
- ${bindir}/dbus-launch \
- ${bindir}/dbus-run-session \
- ${bindir}/dbus-update-activation-environment \
- ${libexecdir}/dbus* \
- ${sysconfdir} \
- ${localstatedir} \
- ${datadir}/dbus-1/services \
- ${datadir}/dbus-1/system-services \
- ${datadir}/dbus-1/session.d \
- ${datadir}/dbus-1/session.conf \
- ${datadir}/dbus-1/system.d \
- ${datadir}/dbus-1/system.conf \
- ${datadir}/xml/dbus-1 \
- ${systemd_system_unitdir} \
- ${systemd_user_unitdir} \
- ${nonarch_libdir}/sysusers.d/dbus.conf \
- ${nonarch_libdir}/tmpfiles.d/dbus.conf \
-"
-FILES_${PN}-lib = "${libdir}/lib*.so.*"
-RRECOMMENDS_${PN}-lib = "${PN}"
-FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool"
-
-PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
-pkg_postinst_dbus() {
- # If both systemd and sysvinit are enabled, mask the dbus-1 init script
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
- if [ -n "$D" ]; then
- OPTS="--root=$D"
- fi
- systemctl $OPTS mask dbus-1.service
- fi
-
- if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
- /etc/init.d/populate-volatile.sh update
- fi
-}
-
-EXTRA_OECONF = "--disable-tests \
- --disable-xml-docs \
- --disable-doxygen-docs \
- --disable-libaudit \
- --enable-largefile \
- "
-
-EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
-EXTRA_OECONF_append_class-native = " --disable-selinux"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
- user-session \
- "
-
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
-
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
-PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
-PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
-
-do_install() {
- autotools_do_install
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/init.d
- sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh
- install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- for i in dbus.target.wants sockets.target.wants multi-user.target.wants; do \
- install -d ${D}${systemd_system_unitdir}/$i; done
- install -m 0644 ${B}/bus/dbus.service ${B}/bus/dbus.socket ${D}${systemd_system_unitdir}/
- ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/dbus.target.wants/dbus.socket
- ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/sockets.target.wants/dbus.socket
- ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service
- fi
-
- install -d ${D}${sysconfdir}/default/volatiles
- echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \
- > ${D}${sysconfdir}/default/volatiles/99_dbus
-
-
- mkdir -p ${D}${localstatedir}/lib/dbus
-
- chown messagebus:messagebus ${D}${localstatedir}/lib/dbus
-
- chown root:messagebus ${D}${libexecdir}/dbus-daemon-launch-helper
- chmod 4755 ${D}${libexecdir}/dbus-daemon-launch-helper
-
- # Remove Red Hat initscript
- rm -rf ${D}${sysconfdir}/rc.d
-
- # Remove empty testexec directory as we don't build tests
- rm -rf ${D}${libdir}/dbus-1.0/test
-
- # Remove /var/run as it is created on startup
- rm -rf ${D}${localstatedir}/run
-}
-
-do_install_class-native() {
- autotools_do_install
-
- # dbus-launch has no X support so lets not install it in case the host
- # has a more featured and useful version
- rm -f ${D}${bindir}/dbus-launch
-}
-
-do_install_class-nativesdk() {
- autotools_do_install
-
- # dbus-launch has no X support so lets not install it in case the host
- # has a more featured and useful version
- rm -f ${D}${bindir}/dbus-launch
-
- # Remove /var/run to avoid QA error
- rm -rf ${D}${localstatedir}/run
-}
-BBCLASSEXTEND = "native nativesdk"
-
-INSANE_SKIP_${PN}-ptest += "build-deps"
diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus_1.12.12.bb
new file mode 100644
index 000000000..6e9be79ff
--- /dev/null
+++ b/poky/meta/recipes-core/dbus/dbus_1.12.12.bb
@@ -0,0 +1,175 @@
+SUMMARY = "D-Bus message bus"
+DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed."
+HOMEPAGE = "http://dbus.freedesktop.org"
+SECTION = "base"
+LICENSE = "AFL-2 | GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
+ file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
+DEPENDS = "expat virtual/libintl autoconf-archive"
+RDEPENDS_dbus_class-native = ""
+RDEPENDS_dbus_class-nativesdk = ""
+PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
+ALLOW_EMPTY_dbus-ptest = "1"
+RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+ file://tmpdir.patch \
+ file://dbus-1.init \
+ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
+"
+
+SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8"
+SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8"
+
+inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even
+
+INITSCRIPT_NAME = "dbus-1"
+INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
+
+python __anonymous() {
+ if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+ d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+}
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-r netdev"
+USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \
+ --no-create-home --shell /bin/false \
+ --user-group messagebus"
+
+CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
+
+DEBIANNAME_${PN} = "dbus-1"
+
+PACKAGES =+ "${PN}-lib"
+
+OLDPKGNAME = "dbus-x11"
+OLDPKGNAME_class-nativesdk = ""
+
+# for compatibility
+RPROVIDES_${PN} = "${OLDPKGNAME}"
+RREPLACES_${PN} += "${OLDPKGNAME}"
+
+FILES_${PN} = "${bindir}/dbus-daemon* \
+ ${bindir}/dbus-uuidgen \
+ ${bindir}/dbus-cleanup-sockets \
+ ${bindir}/dbus-send \
+ ${bindir}/dbus-monitor \
+ ${bindir}/dbus-launch \
+ ${bindir}/dbus-run-session \
+ ${bindir}/dbus-update-activation-environment \
+ ${libexecdir}/dbus* \
+ ${sysconfdir} \
+ ${localstatedir} \
+ ${datadir}/dbus-1/services \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/dbus-1/session.d \
+ ${datadir}/dbus-1/session.conf \
+ ${datadir}/dbus-1/system.d \
+ ${datadir}/dbus-1/system.conf \
+ ${datadir}/xml/dbus-1 \
+ ${systemd_system_unitdir} \
+ ${systemd_user_unitdir} \
+ ${nonarch_libdir}/sysusers.d/dbus.conf \
+ ${nonarch_libdir}/tmpfiles.d/dbus.conf \
+"
+FILES_${PN}-lib = "${libdir}/lib*.so.*"
+RRECOMMENDS_${PN}-lib = "${PN}"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool"
+
+PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
+pkg_postinst_dbus() {
+ # If both systemd and sysvinit are enabled, mask the dbus-1 init script
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
+ if [ -n "$D" ]; then
+ OPTS="--root=$D"
+ fi
+ systemctl $OPTS mask dbus-1.service
+ fi
+
+ if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
+ /etc/init.d/populate-volatile.sh update
+ fi
+}
+
+EXTRA_OECONF = "--disable-tests \
+ --disable-xml-docs \
+ --disable-doxygen-docs \
+ --disable-libaudit \
+ --enable-largefile \
+ "
+
+EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
+EXTRA_OECONF_append_class-native = " --disable-selinux"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
+ user-session \
+ "
+
+PACKAGECONFIG_class-native = ""
+PACKAGECONFIG_class-nativesdk = ""
+
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
+PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
+PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
+
+do_install() {
+ autotools_do_install
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/init.d
+ sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh
+ install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1
+ install -d ${D}${sysconfdir}/default/volatiles
+ echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \
+ > ${D}${sysconfdir}/default/volatiles/99_dbus
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ for i in dbus.target.wants sockets.target.wants multi-user.target.wants; do \
+ install -d ${D}${systemd_system_unitdir}/$i; done
+ install -m 0644 ${B}/bus/dbus.service ${B}/bus/dbus.socket ${D}${systemd_system_unitdir}/
+ ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/dbus.target.wants/dbus.socket
+ ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/sockets.target.wants/dbus.socket
+ ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service
+ fi
+
+
+ mkdir -p ${D}${localstatedir}/lib/dbus
+
+ chown messagebus:messagebus ${D}${localstatedir}/lib/dbus
+
+ chown root:messagebus ${D}${libexecdir}/dbus-daemon-launch-helper
+ chmod 4755 ${D}${libexecdir}/dbus-daemon-launch-helper
+
+ # Remove Red Hat initscript
+ rm -rf ${D}${sysconfdir}/rc.d
+
+ # Remove empty testexec directory as we don't build tests
+ rm -rf ${D}${libdir}/dbus-1.0/test
+
+ # Remove /var/run as it is created on startup
+ rm -rf ${D}${localstatedir}/run
+}
+
+do_install_class-native() {
+ autotools_do_install
+
+ # dbus-launch has no X support so lets not install it in case the host
+ # has a more featured and useful version
+ rm -f ${D}${bindir}/dbus-launch
+}
+
+do_install_class-nativesdk() {
+ autotools_do_install
+
+ # dbus-launch has no X support so lets not install it in case the host
+ # has a more featured and useful version
+ rm -f ${D}${bindir}/dbus-launch
+
+ # Remove /var/run to avoid QA error
+ rm -rf ${D}${localstatedir}/run
+}
+BBCLASSEXTEND = "native nativesdk"
+
+INSANE_SKIP_${PN}-ptest += "build-deps"
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
index d92a2f399..3fbdb5e82 100644
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ b/poky/meta/recipes-core/dropbear/dropbear.inc
@@ -13,7 +13,6 @@ RPROVIDES_${PN} = "ssh sshd"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
- file://CVE-2018-15599.patch \
file://0001-urandom-xauth-changes-to-options.h.patch \
file://init \
file://dropbearkey.service \
diff --git a/poky/meta/recipes-core/dropbear/dropbear/CVE-2018-15599.patch b/poky/meta/recipes-core/dropbear/dropbear/CVE-2018-15599.patch
deleted file mode 100644
index 912545c95..000000000
--- a/poky/meta/recipes-core/dropbear/dropbear/CVE-2018-15599.patch
+++ /dev/null
@@ -1,236 +0,0 @@
-From 256e2abb8150f9fea33cd026597dbe70f0379296 Mon Sep 17 00:00:00 2001
-From: Matt Johnston <matt@ucc.asn.au>
-Date: Thu, 23 Aug 2018 23:43:12 +0800
-Subject: [PATCH] Wait to fail invalid usernames
-
-Wait to fail invalid usernames
-
-Upstream-Status: Backport [https://secure.ucc.asn.au/hg/dropbear/rev/5d2d1021ca00]
-CVE: CVE-2018-15599
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- auth.h | 6 +++---
- svr-auth.c | 19 +++++--------------
- svr-authpam.c | 26 ++++++++++++++++++++++----
- svr-authpasswd.c | 27 ++++++++++++++-------------
- svr-authpubkey.c | 11 ++++++++++-
- 5 files changed, 54 insertions(+), 35 deletions(-)
-
-diff --git a/auth.h b/auth.h
-index da498f5..98f5468 100644
---- a/auth.h
-+++ b/auth.h
-@@ -37,9 +37,9 @@ void recv_msg_userauth_request(void);
- void send_msg_userauth_failure(int partial, int incrfail);
- void send_msg_userauth_success(void);
- void send_msg_userauth_banner(const buffer *msg);
--void svr_auth_password(void);
--void svr_auth_pubkey(void);
--void svr_auth_pam(void);
-+void svr_auth_password(int valid_user);
-+void svr_auth_pubkey(int valid_user);
-+void svr_auth_pam(int valid_user);
-
- #if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT
- int svr_pubkey_allows_agentfwd(void);
-diff --git a/svr-auth.c b/svr-auth.c
-index 64d97aa..1f364ca 100644
---- a/svr-auth.c
-+++ b/svr-auth.c
-@@ -149,10 +149,8 @@ void recv_msg_userauth_request() {
- if (methodlen == AUTH_METHOD_PASSWORD_LEN &&
- strncmp(methodname, AUTH_METHOD_PASSWORD,
- AUTH_METHOD_PASSWORD_LEN) == 0) {
-- if (valid_user) {
-- svr_auth_password();
-- goto out;
-- }
-+ svr_auth_password(valid_user);
-+ goto out;
- }
- }
- #endif
-@@ -164,10 +162,8 @@ void recv_msg_userauth_request() {
- if (methodlen == AUTH_METHOD_PASSWORD_LEN &&
- strncmp(methodname, AUTH_METHOD_PASSWORD,
- AUTH_METHOD_PASSWORD_LEN) == 0) {
-- if (valid_user) {
-- svr_auth_pam();
-- goto out;
-- }
-+ svr_auth_pam(valid_user);
-+ goto out;
- }
- }
- #endif
-@@ -177,12 +173,7 @@ void recv_msg_userauth_request() {
- if (methodlen == AUTH_METHOD_PUBKEY_LEN &&
- strncmp(methodname, AUTH_METHOD_PUBKEY,
- AUTH_METHOD_PUBKEY_LEN) == 0) {
-- if (valid_user) {
-- svr_auth_pubkey();
-- } else {
-- /* pubkey has no failure delay */
-- send_msg_userauth_failure(0, 0);
-- }
-+ svr_auth_pubkey(valid_user);
- goto out;
- }
- #endif
-diff --git a/svr-authpam.c b/svr-authpam.c
-index 05e4f3e..d201bc9 100644
---- a/svr-authpam.c
-+++ b/svr-authpam.c
-@@ -178,13 +178,14 @@ pamConvFunc(int num_msg,
- * Keyboard interactive would be a lot nicer, but since PAM is synchronous, it
- * gets very messy trying to send the interactive challenges, and read the
- * interactive responses, over the network. */
--void svr_auth_pam() {
-+void svr_auth_pam(int valid_user) {
-
- struct UserDataS userData = {NULL, NULL};
- struct pam_conv pamConv = {
- pamConvFunc,
- &userData /* submitted to pamvConvFunc as appdata_ptr */
- };
-+ const char* printable_user = NULL;
-
- pam_handle_t* pamHandlep = NULL;
-
-@@ -204,12 +205,23 @@ void svr_auth_pam() {
-
- password = buf_getstring(ses.payload, &passwordlen);
-
-+ /* We run the PAM conversation regardless of whether the username is valid
-+ in case the conversation function has an inherent delay.
-+ Use ses.authstate.username rather than ses.authstate.pw_name.
-+ After PAM succeeds we then check the valid_user flag too */
-+
- /* used to pass data to the PAM conversation function - don't bother with
- * strdup() etc since these are touched only by our own conversation
- * function (above) which takes care of it */
-- userData.user = ses.authstate.pw_name;
-+ userData.user = ses.authstate.username;
- userData.passwd = password;
-
-+ if (ses.authstate.pw_name) {
-+ printable_user = ses.authstate.pw_name;
-+ } else {
-+ printable_user = "<invalid username>";
-+ }
-+
- /* Init pam */
- if ((rc = pam_start("sshd", NULL, &pamConv, &pamHandlep)) != PAM_SUCCESS) {
- dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s",
-@@ -242,7 +254,7 @@ void svr_auth_pam() {
- rc, pam_strerror(pamHandlep, rc));
- dropbear_log(LOG_WARNING,
- "Bad PAM password attempt for '%s' from %s",
-- ses.authstate.pw_name,
-+ printable_user,
- svr_ses.addrstring);
- send_msg_userauth_failure(0, 1);
- goto cleanup;
-@@ -253,12 +265,18 @@ void svr_auth_pam() {
- rc, pam_strerror(pamHandlep, rc));
- dropbear_log(LOG_WARNING,
- "Bad PAM password attempt for '%s' from %s",
-- ses.authstate.pw_name,
-+ printable_user,
- svr_ses.addrstring);
- send_msg_userauth_failure(0, 1);
- goto cleanup;
- }
-
-+ if (!valid_user) {
-+ /* PAM auth succeeded but the username isn't allowed in for another reason
-+ (checkusername() failed) */
-+ send_msg_userauth_failure(0, 1);
-+ }
-+
- /* successful authentication */
- dropbear_log(LOG_NOTICE, "PAM password auth succeeded for '%s' from %s",
- ses.authstate.pw_name,
-diff --git a/svr-authpasswd.c b/svr-authpasswd.c
-index bdee2aa..69c7d8a 100644
---- a/svr-authpasswd.c
-+++ b/svr-authpasswd.c
-@@ -48,22 +48,14 @@ static int constant_time_strcmp(const char* a, const char* b) {
-
- /* Process a password auth request, sending success or failure messages as
- * appropriate */
--void svr_auth_password() {
-+void svr_auth_password(int valid_user) {
-
- char * passwdcrypt = NULL; /* the crypt from /etc/passwd or /etc/shadow */
- char * testcrypt = NULL; /* crypt generated from the user's password sent */
-- char * password;
-+ char * password = NULL;
- unsigned int passwordlen;
--
- unsigned int changepw;
-
-- passwdcrypt = ses.authstate.pw_passwd;
--
--#ifdef DEBUG_HACKCRYPT
-- /* debugging crypt for non-root testing with shadows */
-- passwdcrypt = DEBUG_HACKCRYPT;
--#endif
--
- /* check if client wants to change password */
- changepw = buf_getbool(ses.payload);
- if (changepw) {
-@@ -73,12 +65,21 @@ void svr_auth_password() {
- }
-
- password = buf_getstring(ses.payload, &passwordlen);
--
-- /* the first bytes of passwdcrypt are the salt */
-- testcrypt = crypt(password, passwdcrypt);
-+ if (valid_user) {
-+ /* the first bytes of passwdcrypt are the salt */
-+ passwdcrypt = ses.authstate.pw_passwd;
-+ testcrypt = crypt(password, passwdcrypt);
-+ }
- m_burn(password, passwordlen);
- m_free(password);
-
-+ /* After we have got the payload contents we can exit if the username
-+ is invalid. Invalid users have already been logged. */
-+ if (!valid_user) {
-+ send_msg_userauth_failure(0, 1);
-+ return;
-+ }
-+
- if (testcrypt == NULL) {
- /* crypt() with an invalid salt like "!!" */
- dropbear_log(LOG_WARNING, "User account '%s' is locked",
-diff --git a/svr-authpubkey.c b/svr-authpubkey.c
-index aa6087c..ff481c8 100644
---- a/svr-authpubkey.c
-+++ b/svr-authpubkey.c
-@@ -79,7 +79,7 @@ static int checkfileperm(char * filename);
-
- /* process a pubkey auth request, sending success or failure message as
- * appropriate */
--void svr_auth_pubkey() {
-+void svr_auth_pubkey(int valid_user) {
-
- unsigned char testkey; /* whether we're just checking if a key is usable */
- char* algo = NULL; /* pubkey algo */
-@@ -102,6 +102,15 @@ void svr_auth_pubkey() {
- keybloblen = buf_getint(ses.payload);
- keyblob = buf_getptr(ses.payload, keybloblen);
-
-+ if (!valid_user) {
-+ /* Return failure once we have read the contents of the packet
-+ required to validate a public key.
-+ Avoids blind user enumeration though it isn't possible to prevent
-+ testing for user existence if the public key is known */
-+ send_msg_userauth_failure(0, 0);
-+ goto out;
-+ }
-+
- /* check if the key is valid */
- if (checkpubkey(algo, algolen, keyblob, keybloblen) == DROPBEAR_FAILURE) {
- send_msg_userauth_failure(0, 0);
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2018.76.bb b/poky/meta/recipes-core/dropbear/dropbear_2018.76.bb
deleted file mode 100644
index 36a58d5ce..000000000
--- a/poky/meta/recipes-core/dropbear/dropbear_2018.76.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require dropbear.inc
-
-SRC_URI[md5sum] = "c3912f7fcdcc57c99937e4a79480d2c2"
-SRC_URI[sha256sum] = "f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65"
-
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb b/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb
new file mode 100644
index 000000000..d2a71ba64
--- /dev/null
+++ b/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb
@@ -0,0 +1,4 @@
+require dropbear.inc
+
+SRC_URI[md5sum] = "5d4f0256c5d13820b0a3eaadb1a0bc1a"
+SRC_URI[sha256sum] = "d91f78ebe633be1d071fd1b7e5535b9693794048b019e9f4bea257e1992b458d"
diff --git a/poky/meta/recipes-core/fts/fts.bb b/poky/meta/recipes-core/fts/fts.bb
deleted file mode 100644
index 02f54086a..000000000
--- a/poky/meta/recipes-core/fts/fts.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (C) 2015 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "POSIX file tree stream operations library"
-HOMEPAGE = "https://sites.google.com/a/bostic.com/keithbostic"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
-SECTION = "libs"
-
-SRCREV = "944333aed9dc24cfa76cc64bfe70c75d25652753"
-PV = "1.2+git${SRCPV}"
-
-SRC_URI = "git://github.com/voidlinux/musl-fts \
-"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-#
-# We will skip parsing for non-musl systems
-#
-COMPATIBLE_HOST = ".*-musl.*"
-
diff --git a/poky/meta/recipes-core/fts/fts_1.2.7.bb b/poky/meta/recipes-core/fts/fts_1.2.7.bb
new file mode 100644
index 000000000..589ae0e91
--- /dev/null
+++ b/poky/meta/recipes-core/fts/fts_1.2.7.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)
+
+SUMMARY = "Implementation of ftsfor musl libc packages"
+HOMEPAGE = "https://github.com/pullmoll/musl-fts"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
+SECTION = "libs"
+
+SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472"
+
+SRC_URI = "git://github.com/pullmoll/musl-fts.git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+#
+# We will skip parsing for non-musl systems
+#
+COMPATIBLE_HOST = ".*-musl.*"
+
diff --git a/poky/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch
new file mode 100644
index 000000000..6dfe200d6
--- /dev/null
+++ b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch
@@ -0,0 +1,141 @@
+Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=dce3a16]
+CVE: CVE-2018-18751
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From dce3a16e5e9368245735e29bf498dcd5e3e474a4 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <ueno@gnu.org>
+Date: Thu, 15 Sep 2016 13:57:24 +0200
+Subject: [PATCH] xgettext: Fix crash with *.po file input
+
+When xgettext was given two *.po files with the same msgid_plural, it
+crashed with double-free. Problem reported by Davlet Panech in:
+http://lists.gnu.org/archive/html/bug-gettext/2016-09/msg00001.html
+* gettext-tools/src/po-gram-gen.y: Don't free msgid_pluralform after
+calling do_callback_message, assuming that it takes ownership.
+* gettext-tools/src/read-catalog.c (default_add_message): Free
+msgid_plural after calling message_alloc.
+* gettext-tools/tests/xgettext-po-2: New file.
+* gettext-tools/tests/Makefile.am (TESTS): Add new test.
+---
+ gettext-tools/src/po-gram-gen.y | 13 ++++-----
+ gettext-tools/src/read-catalog.c | 2 ++
+ gettext-tools/tests/Makefile.am | 2 +-
+ gettext-tools/tests/xgettext-po-2 | 55 +++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 63 insertions(+), 9 deletions(-)
+ create mode 100755 gettext-tools/tests/xgettext-po-2
+
+diff --git a/gettext-tools/src/po-gram-gen.y b/gettext-tools/src/po-gram-gen.y
+index becf5e6..4428e77 100644
+--- a/gettext-tools/src/po-gram-gen.y
++++ b/gettext-tools/src/po-gram-gen.y
+@@ -221,14 +221,11 @@ message
+ check_obsolete ($1, $3);
+ check_obsolete ($1, $4);
+ if (!$1.obsolete || pass_obsolete_entries)
+- {
+- do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,
+- $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
+- $1.prev_ctxt,
+- $1.prev_id, $1.prev_id_plural,
+- $1.obsolete);
+- free ($3.string);
+- }
++ do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,
++ $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
++ $1.prev_ctxt,
++ $1.prev_id, $1.prev_id_plural,
++ $1.obsolete);
+ else
+ {
+ free_message_intro ($1);
+diff --git a/gettext-tools/src/read-catalog.c b/gettext-tools/src/read-catalog.c
+index 571d18e..6af6d20 100644
+--- a/gettext-tools/src/read-catalog.c
++++ b/gettext-tools/src/read-catalog.c
+@@ -397,6 +397,8 @@ default_add_message (default_catalog_reader_ty *this,
+ appropriate. */
+ mp = message_alloc (msgctxt, msgid, msgid_plural, msgstr, msgstr_len,
+ msgstr_pos);
++ if (msgid_plural != NULL)
++ free (msgid_plural);
+ mp->prev_msgctxt = prev_msgctxt;
+ mp->prev_msgid = prev_msgid;
+ mp->prev_msgid_plural = prev_msgid_plural;
+diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am
+index 23b09b1..0dfb4d8 100644
+--- a/gettext-tools/tests/Makefile.am
++++ b/gettext-tools/tests/Makefile.am
+@@ -95,7 +95,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
+ xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 xgettext-perl-4 \
+ xgettext-perl-5 xgettext-perl-6 xgettext-perl-7 xgettext-perl-8 \
+ xgettext-php-1 xgettext-php-2 xgettext-php-3 xgettext-php-4 \
+- xgettext-po-1 \
++ xgettext-po-1 xgettext-po-2 \
+ xgettext-properties-1 \
+ xgettext-python-1 xgettext-python-2 xgettext-python-3 \
+ xgettext-python-4 \
+diff --git a/gettext-tools/tests/xgettext-po-2 b/gettext-tools/tests/xgettext-po-2
+new file mode 100755
+index 0000000..c4bd9d0
+--- /dev/null
++++ b/gettext-tools/tests/xgettext-po-2
+@@ -0,0 +1,55 @@
++#! /bin/sh
++. "${srcdir=.}/init.sh"; path_prepend_ . ../src
++
++# Test PO extractors with multiple input files.
++
++cat <<EOF > xg-po-2-1.po
++msgid "first msgid"
++msgid_plural "first msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++
++msgid "second msgid"
++msgid_plural "second msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++EOF
++
++cat <<EOF > xg-po-2-2.po
++msgid "third msgid"
++msgid_plural "third msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++
++msgid "second msgid"
++msgid_plural "second msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++EOF
++
++: ${XGETTEXT=xgettext}
++${XGETTEXT} --omit-header xg-po-2-1.po xg-po-2-2.po -o xg-po-2.tmp.po || Exit 1
++LC_ALL=C tr -d '\r' < xg-po-2.tmp.po > xg-po-2.po || Exit 1
++
++cat <<EOF > xg-po-2.ok
++msgid "first msgid"
++msgid_plural "first msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++
++msgid "second msgid"
++msgid_plural "second msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++
++msgid "third msgid"
++msgid_plural "third msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++EOF
++
++: ${DIFF=diff}
++${DIFF} xg-po-2.ok xg-po-2.po
++result=$?
++
++exit $result
+--
+1.9.1
+
diff --git a/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb b/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
index 68f5cc329..404972439 100644
--- a/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
+++ b/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
@@ -8,8 +8,11 @@ SECTION = "libs"
LICENSE = "GPLv3+ & LGPL-2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "gettext-native virtual/libiconv"
-DEPENDS_class-native = "gettext-minimal-native"
+# Because po-gram-gen.y has been modified by fix-CVE-2018-18751.patch,
+# it requires yacc which provided by bison-native
+# Please remove bison-native from DEPENDS* when next upgrade
+DEPENDS = "bison-native gettext-native virtual/libiconv"
+DEPENDS_class-native = "bison-native gettext-minimal-native"
PROVIDES = "virtual/libintl virtual/gettext"
PROVIDES_class-native = "virtual/gettext-native"
RCONFLICTS_${PN} = "proxy-libintl"
@@ -18,6 +21,7 @@ SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
file://add-with-bisonlocaledir.patch \
file://cr-statement.c-timsort.h-fix-formatting-issues.patch \
file://use-pkgconfig.patch \
+ file://fix-CVE-2018-18751.patch \
"
SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092"
@@ -35,6 +39,7 @@ EXTRA_OECONF += "--without-lispdir \
--without-emacs \
--without-cvs \
--without-git \
+ --cache-file=${B}/config.cache \
"
EXTRA_OECONF_append_class-target = " \
--with-bisonlocaledir=${datadir}/locale \
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
new file mode 100644
index 000000000..ede29c90b
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
@@ -0,0 +1,50 @@
+From 474e59abec88de0c455836c1f53152bf2aa26c34 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 15 Feb 2019 11:17:27 +0100
+Subject: [PATCH] Do not write $bindir into pkg-config files
+
+This would otherwise break when using the files to build other target
+components (we need to rely on PATH containing the paths to utilities,
+rather than use target paths).
+
+Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gio/meson.build | 6 +++---
+ glib/meson.build | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/gio/meson.build b/gio/meson.build
+index 85d8b14..657720a 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -813,9 +813,9 @@ pkg.generate(libraries : libgio,
+ 'schemasdir=' + join_paths('${datadir}', schemas_subdir),
+ 'bindir=' + join_paths('${prefix}', get_option('bindir')),
+ 'giomoduledir=' + giomodulesdir,
+- 'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
+- 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
+- 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen')],
++ 'glib_compile_schemas=glib-compile-schemas',
++ 'glib_compile_resources=glib-compile-resources',
++ 'gdbus_codegen=gdbus-codegen'],
+ version : glib_version,
+ install_dir : glib_pkgconfigreldir,
+ filebase : 'gio-2.0',
+diff --git a/glib/meson.build b/glib/meson.build
+index c05c694..434e8b1 100644
+--- a/glib/meson.build
++++ b/glib/meson.build
+@@ -261,9 +261,9 @@ pkg.generate(libraries : [libglib, libintl],
+ subdirs : ['glib-2.0'],
+ extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
+ variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
+- 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
+- 'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
+- 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
++ 'glib_genmarshal=glib-genmarshal',
++ 'gobject_query=gobject-query',
++ 'glib_mkenums=glib-mkenums'],
+ version : glib_version,
+ install_dir : glib_pkgconfigreldir,
+ filebase : 'glib-2.0',
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
index 97d0aff5d..f24625494 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
@@ -1,4 +1,4 @@
-From 856045927b9ab391165c0ebabf401835f8439eab Mon Sep 17 00:00:00 2001
+From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 22 Mar 2016 15:14:58 +0200
Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
@@ -11,7 +11,8 @@ Upstream-Status: Inappropriate [OE specific]
---
gio/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ gio/meson.build | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/gio/Makefile.am b/gio/Makefile.am
index e14cad2..bf2bcc7 100644
@@ -27,3 +28,15 @@ index e14cad2..bf2bcc7 100644
glib_compile_resources_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
+diff --git a/gio/meson.build b/gio/meson.build
+index b83d8f5..85d8b14 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
+ c_args : gio_c_args,
+ # intl.lib is not compatible with SAFESEH
+ link_args : noseh_link_args,
++ install_dir: glib_libexecdir,
+ dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
+
+ glib_compile_schemas = executable('glib-compile-schemas',
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch
new file mode 100644
index 000000000..f0c5d84ba
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch
@@ -0,0 +1,64 @@
+From abc26aed7a28678dfcc20b21726a97c7c02ea73b Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Thu, 14 Feb 2019 14:55:15 +0800
+Subject: [PATCH] Revert "Use absolute paths in pkg-config files"
+
+This reverts commit e7a7c9b97776fa2a638d18ea3a931ba84e778f80.
+
+The glib pkgconfig files now contain absolute paths, but they're
+target paths so when we used them from a sysroot it fails. Upstream
+thinks that we should be setting
+GLIB_MKENUMS=/path/to/sysroot/usr/bin/glib-mkenums but that really
+doesn't scale.
+
+For now, we just revert the change to put absolute paths into
+the sysroot. This should be re-evaluated when we move the recipe to use
+meson.
+
+Upstream-Status: Inappropriate [Revert of an upstream commit]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ gio-2.0.pc.in | 7 +++----
+ glib-2.0.pc.in | 7 +++----
+ 2 files changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/gio-2.0.pc.in b/gio-2.0.pc.in
+index d67e80839..526f0daa0 100644
+--- a/gio-2.0.pc.in
++++ b/gio-2.0.pc.in
+@@ -5,11 +5,10 @@ includedir=@includedir@
+
+ datadir=@datadir@
+ schemasdir=${datadir}/glib-2.0/schemas
+-bindir=@bindir@
+ giomoduledir=@GIO_MODULE_DIR@
+-glib_compile_schemas=${bindir}/glib-compile-schemas
+-glib_compile_resources=${bindir}/glib-compile-resources
+-gdbus_codegen=${bindir}/gdbus-codegen
++glib_compile_schemas=glib-compile-schemas
++glib_compile_resources=glib-compile-resources
++gdbus_codegen=gdbus-codegen
+
+ Name: GIO
+ Description: glib I/O library
+diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
+index 3c5ea81dc..275fc0163 100644
+--- a/glib-2.0.pc.in
++++ b/glib-2.0.pc.in
+@@ -3,10 +3,9 @@ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+
+-bindir=@bindir@
+-glib_genmarshal=${bindir}/glib-genmarshal
+-gobject_query=${bindir}/gobject-query
+-glib_mkenums=${bindir}/glib-mkenums
++glib_genmarshal=glib-genmarshal
++gobject_query=gobject-query
++glib_mkenums=glib-mkenums
+
+ Name: GLib
+ Description: C Utility Library
+--
+2.17.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
new file mode 100644
index 000000000..2b7fab7bd
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -0,0 +1,104 @@
+From 4169f11beedacfbb8c7934a4c99189d44935a6b9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 13 Feb 2019 15:32:05 +0100
+Subject: [PATCH] Set host_machine correctly when building with mingw32
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gio/tests/meson.build | 8 ++++----
+ glib/tests/meson.build | 4 ++--
+ meson.build | 3 +++
+ tests/meson.build | 2 +-
+ 4 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index 181f5c7..11a1f12 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -12,7 +12,7 @@ test_c_args = [
+ '-DGLIB_COMPILE_SCHEMAS="@0@"'.format(glib_compile_schemas.full_path()),
+ ]
+
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+ common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
+ endif
+
+@@ -122,7 +122,7 @@ if dbus1_dep.found()
+ endif
+
+ # Test programs buildable on UNIX only
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ gio_tests += [{
+ 'file' : {},
+ 'gdbus-peer' : {
+@@ -314,7 +314,7 @@ if host_machine.system() != 'windows'
+ endif # unix
+
+ # Test programs buildable on Windows only
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+ gio_tests += [{'win32-streams' : {}}]
+ endif
+
+@@ -379,7 +379,7 @@ if cc.get_id() != 'msvc'
+ }]
+ endif
+
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ test_extra_programs += [{
+ 'gdbus-example-unix-fd-client' : {
+ 'install' : false,
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index d7b6a7a..6678a08 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -45,7 +45,7 @@ glib_tests = {
+ 'hook' : {},
+ 'hostutils' : {},
+ 'include' : {
+- 'skip' : host_machine.system() == 'windows',
++ 'skip' : host_system == 'windows',
+ },
+ 'keyfile' : {},
+ 'list' : {},
+@@ -112,7 +112,7 @@ glib_tests = {
+ 'utils' : {},
+ 'unicode' : {},
+ 'unix' : {
+- 'skip' : host_machine.system() == 'windows',
++ 'skip' : host_system == 'windows',
+ },
+ 'uri' : {},
+ '1bit-mutex' : {},
+diff --git a/meson.build b/meson.build
+index f7405a2..4348f20 100644
+--- a/meson.build
++++ b/meson.build
+@@ -31,6 +31,9 @@ else
+ endif
+
+ host_system = host_machine.system()
++if host_system == 'mingw32'
++ host_system = 'windows'
++endif
+
+ glib_version = meson.project_version()
+ glib_api_version = '2.0'
+diff --git a/tests/meson.build b/tests/meson.build
+index 80e45d7..9f3869f 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -67,7 +67,7 @@ test_extra_programs = {
+ 'unicode-collate' : {},
+ }
+
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ tests += [{
+ 'timeloop' : {},
+ 'spawn-test' : {},
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch
new file mode 100644
index 000000000..d1ed02875
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch
@@ -0,0 +1,62 @@
+Upstream-Status: Backport [fc88e56bfc2b09a8fb2b350e76f6425ab0a056d7]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 141acf6a2f3b21d63c9cfe620b8e20a506e78493 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 13 Mar 2019 16:22:09 +0000
+Subject: [PATCH] meson: do a build-time check for strlcpy before attempting
+ runtime check
+
+In cross-compilation environments the runtime check isn't possible so it is up
+to the builder to seed the cross file, but we can definitely state that strlcpy
+doesn't exist with a build test.
+---
+ meson.build | 30 ++++++++++++++++--------------
+ 1 file changed, 16 insertions(+), 14 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 15039e448..414f2d9b1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1860,22 +1860,24 @@ endif
+
+ # Test if we have strlcpy/strlcat with a compatible implementation:
+ # https://bugzilla.gnome.org/show_bug.cgi?id=53933
+-if cc_can_run
+- rres = cc.run('''#include <stdlib.h>
+- #include <string.h>
+- int main() {
+- char p[10];
+- (void) strlcpy (p, "hi", 10);
+- if (strlcat (p, "bye", 0) != 3)
+- return 1;
+- return 0;
+- }''',
+- name : 'OpenBSD strlcpy/strlcat')
+- if rres.compiled() and rres.returncode() == 0
++if cc.has_function('strlcpy')
++ if cc_can_run
++ rres = cc.run('''#include <stdlib.h>
++ #include <string.h>
++ int main() {
++ char p[10];
++ (void) strlcpy (p, "hi", 10);
++ if (strlcat (p, "bye", 0) != 3)
++ return 1;
++ return 0;
++ }''',
++ name : 'OpenBSD strlcpy/strlcat')
++ if rres.compiled() and rres.returncode() == 0
++ glib_conf.set('HAVE_STRLCPY', 1)
++ endif
++ elif meson.get_cross_property('have_strlcpy', false)
+ glib_conf.set('HAVE_STRLCPY', 1)
+ endif
+-elif meson.get_cross_property('have_strlcpy', false)
+- glib_conf.set('HAVE_STRLCPY', 1)
+ endif
+
+ python = import('python').find_installation('python3')
+--
+2.11.0
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch
new file mode 100644
index 000000000..5a1a58989
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch
@@ -0,0 +1,27 @@
+From 635fe26af51f20194c8b208e7d01303be1086d68 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 19 Feb 2019 10:31:11 +0100
+Subject: [PATCH] meson.build: do not hardcode 'linux' as the host system
+
+OE build system can set this to other values that include 'linux',
+e.g. 'linux-gnueabi'
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 4348f20..af5ed63 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1574,7 +1574,7 @@ atomicdefine = '''
+ # We know that we can always use real ("lock free") atomic operations with MSVC
+ if cc.get_id() == 'msvc' or cc.links(atomictest, name : 'atomic ops')
+ have_atomic_lock_free = true
+- if (host_system == 'android' or host_system == 'linux') and not cc.compiles(atomicdefine, name : 'atomic ops define')
++ if (host_system == 'android' or host_system.contains('linux')) and not cc.compiles(atomicdefine, name : 'atomic ops define')
+ # When building for armv5 on Linux, gcc provides
+ # __sync_bool_compare_and_swap but doesn't define
+ # __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
index 697d63d5f..872340df9 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
@@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
-index 8050981..e693ef3 100644
+index 8050981..e693ef3 100755
--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in
+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in
@@ -1,4 +1,4 @@
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
index 50781e789..5ccd3203f 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 4b1a6d247c78125096a6ea5ab3cab8a1f000dc23 Mon Sep 17 00:00:00 2001
+From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Mon, 9 Nov 2015 11:07:27 +0200
Subject: [PATCH] Enable more tests while cross-compiling
@@ -9,17 +9,17 @@ case we can depend on glib-2.0-native.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
---
gio/tests/Makefile.am | 10 ++++++----
- tests/gobject/Makefile.am | 8 +++++---
- 2 files changed, 11 insertions(+), 7 deletions(-)
+ gio/tests/meson.build | 15 ++++++++-------
+ tests/gobject/Makefile.am | 6 ++++++
+ 3 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
-index 1f0bed7..8295deb 100644
+index c4e7a92..633e85c 100644
--- a/gio/tests/Makefile.am
+++ b/gio/tests/Makefile.am
-@@ -550,10 +550,9 @@ test_programs += \
+@@ -583,10 +583,9 @@ test_programs += \
endif
# -----------------------------------------------------------------------------
@@ -32,7 +32,7 @@ index 1f0bed7..8295deb 100644
test_programs += resources
resources_SOURCES = resources.c
nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h
-@@ -578,7 +577,11 @@ if !ENABLE_INSTALLED_TESTS
+@@ -611,7 +610,11 @@ if !ENABLE_INSTALLED_TESTS
libresourceplugin_la_LDFLAGS += -rpath /
endif
@@ -44,7 +44,7 @@ index 1f0bed7..8295deb 100644
test-generated.txt: test1.txt
$(AM_V_GEN) echo "Generated" > $@ && \
-@@ -599,7 +602,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --
+@@ -632,7 +635,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --
EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource
@@ -52,19 +52,82 @@ index 1f0bed7..8295deb 100644
BUILT_SOURCES += giotypefuncs.inc
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index dca33bd..181f5c7 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -173,7 +173,7 @@ if host_machine.system() != 'windows'
+
+ # Test programs that need to bring up a session bus (requires dbus-daemon)
+ have_dbus_daemon = find_program('dbus-daemon', required : false).found()
+- if have_dbus_daemon
++ if true
+ annotate_args = [
+ '--annotate', 'org.project.Bar', 'Key1', 'Value1',
+ '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
+@@ -406,12 +406,13 @@ if installed_tests_enabled
+ install_subdir('cert-tests', install_dir : installed_tests_execdir)
+ endif
+
+-if not meson.is_cross_build() or meson.has_exe_wrapper()
++#if not meson.is_cross_build() or meson.has_exe_wrapper()
++if meson.is_cross_build()
+
+ plugin_resources_c = custom_target('plugin-resources.c',
+ input : 'test4.gresource.xml',
+ output : 'plugin-resources.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate-source',
+@@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_gresource = custom_target('test.gresource',
+ input : 'test.gresource.xml',
+ output : 'test.gresource',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources2_c = custom_target('test_resources2.c',
+ input : 'test3.gresource.xml',
+ output : 'test_resources2.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate',
+@@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources2_h = custom_target('test_resources2.h',
+ input : 'test3.gresource.xml',
+ output : 'test_resources2.h',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate',
+@@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources_c = custom_target('test_resources.c',
+ input : 'test2.gresource.xml',
+ output : 'test_resources.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate-source',
diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
-index 0e60987..927d13a 100644
+index 1bcefbe..77e646a 100644
--- a/tests/gobject/Makefile.am
+++ b/tests/gobject/Makefile.am
-@@ -51,10 +51,13 @@ if ENABLE_TIMELOOP
+@@ -51,7 +51,13 @@ if ENABLE_TIMELOOP
installed_test_programs += timeloop-closure
endif
--# The marshal test requires running a binary, which means we cannot
--# build it when cross-compiling
+# The marshal test requires running a binary, which means we require
+# glib-native when cross-compiling
- if !CROSS_COMPILING
++if !CROSS_COMPILING
glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
+else
+glib_genmarshal=$(shell which glib-genmarshal)
@@ -72,9 +135,3 @@ index 0e60987..927d13a 100644
testmarshal.h: stamp-testmarshal.h
@true
-@@ -71,4 +74,3 @@ testmarshal.c: testmarshal.h testmarshal.list $(glib_genmarshal)
- BUILT_SOURCES += testmarshal.h testmarshal.c
- CLEANFILES += stamp-testmarshal.h testmarshal.h testmarshal.c
- EXTRA_DIST += testcommon.h testmarshal.list
--endif # !CROSS_COMPILING
-\ No newline at end of file
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
deleted file mode 100644
index 59b891347..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 28 Apr 2012 18:24:50 +0200
-Subject: [PATCH 01/10] configure: use $host_alias-libtool instead of libtool
- directly
-
-Poky renames libtool to $host_alias-libtool.
-./$host_alias-libtool isn't created until after configure runs with
-libtool >= 2.2.2
-so we can't call # it at this point. We can safely assume a version is
-available
-from PATH though
-
-Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com>
-Rebased to glib-2.32.1 by Martin Jansa <Martin.Jansa@gmail.com>
-Rebased to glib-2.31.20+ by Andre McCurdy <armccurdy@gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6fa6eb0..b6f78a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1428,9 +1428,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [
- LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
- dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
- echo "void glib_plugin_test(void) { }" > plugin.c
-- ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
-+ ${SHELL} ./$host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
- ${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
-- ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
-+ ${SHELL} ./$host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
- ${LDFLAGS} -module -o plugin.la -export-dynamic \
- -shrext ".o" -avoid-version plugin.lo \
- -rpath /dont/care >/dev/null 2>&1
---
-2.14.1
-
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch
deleted file mode 100644
index dd0aff728..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Update Lithuanian month names in the test suite as glibc changed the translations.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/merge_requests/373]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/glib/tests/date.c b/glib/tests/date.c
-index b801ca704..6646c227c 100644
---- a/glib/tests/date.c
-+++ b/glib/tests/date.c
-@@ -365,8 +365,8 @@ test_month_names (void)
- TEST_DATE ( 1, 4, 2018, "%Y m. %OB", "2018 m. balandis");
- TEST_DATE ( 1, 5, 2018, "%Y m. %OB", "2018 m. gegužė");
- TEST_DATE ( 1, 6, 2018, "%Y m. %OB", "2018 m. birĹľelis");
-- TEST_DATE (17, 7, 2018, "%Y m. %b %e d.", "2018 m. Lie 17 d.");
-- TEST_DATE ( 1, 8, 2018, "%Y m. %Ob", "2018 m. Rgp");
-+ TEST_DATE (17, 7, 2018, "%Y m. %b %e d.", "2018 m. Liep. 17 d.");
-+ TEST_DATE ( 1, 8, 2018, "%Y m. %Ob", "2018 m. rugp.");
- }
- else
- g_test_skip ("locale lt_LT not available, skipping Lithuanian month names test");
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross b/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
new file mode 100644
index 000000000..8420f9874
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
@@ -0,0 +1,6 @@
+[properties]
+have_c99_vsnprintf = true
+have_c99_snprintf = true
+have_unix98_printf = true
+va_val_copy = true
+growing_stack = false
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index f9794d3dd..a4e0c9201 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From 8326961841f4d16c7239e747de11e3817c35cfd2 Mon Sep 17 00:00:00 2001
+From 9d985803c50cfb99253c757934985f937da34822 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Fri, 11 Mar 2016 15:35:55 +0000
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
index 5b85e8fab..8f082d34f 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
@@ -1,5 +1,6 @@
#! /bin/sh
+set -eux
useradd glib2-test
su glib2-test -c gnome-desktop-testing-runner glib
userdel glib2-test
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb
deleted file mode 100644
index 1271a7c26..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require glib.inc
-
-PE = "1"
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
- file://configure-libtool.patch \
- file://run-ptest \
- file://uclibc_musl_translation.patch \
- file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
- file://Enable-more-tests-while-cross-compiling.patch \
- file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
- file://0001-Do-not-ignore-return-value-of-write.patch \
- file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
- file://date-lt.patch \
- "
-
-SRC_URI_append_class-native = " file://relocate-modules.patch"
-
-SRC_URI[md5sum] = "9b5d21c802f55bf37171c4fbfe7d32d1"
-SRC_URI[sha256sum] = "c0f4ce0730b4f95c47b711613b5406a887c2ee13ea6d25930d72a4fa7fdb77f6"
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
new file mode 100644
index 000000000..733a2d46d
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
@@ -0,0 +1,26 @@
+require glib.inc
+
+PE = "1"
+
+SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
+ file://run-ptest \
+ file://uclibc_musl_translation.patch \
+ file://Enable-more-tests-while-cross-compiling.patch \
+ file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
+ file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
+ file://0001-Do-not-ignore-return-value-of-write.patch \
+ file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
+ file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \
+ file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
+ file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
+ file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \
+ file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \
+ file://glib-meson.cross \
+ "
+
+SRC_URI_append_class-native = " file://relocate-modules.patch"
+
+SRC_URI[md5sum] = "8058c7bde846dcffe5fa453eca366d73"
+SRC_URI[sha256sum] = "8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481"
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index e8215da58..574bb3855 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -22,34 +22,38 @@ DEPENDS = "glib-2.0-native \
virtual/libintl \
virtual/libiconv \
libffi \
- zlib \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'dbus', '', d)}"
+ zlib"
PACKAGES += "${PN}-codegen ${PN}-utils"
LEAD_SONAME = "libglib-2.0.*"
-inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages
+inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
-S = "${WORKDIR}/glib-${PV}"
+GTKDOC_ENABLE_FLAG = "-Dgtk_doc=true"
+GTKDOC_DISABLE_FLAG = "-Dgtk_doc=false"
-PACKAGECONFIG ??= "system-pcre libmount"
-# To use the system pcre it must be configured with --enable-unicode-properties
-PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre"
-PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux"
-PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native"
-PACKAGECONFIG[libelf] = "--enable-libelf,--disable-libelf,elfutils"
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
-CORECONF = "--disable-dtrace --disable-fam --disable-systemtap"
+# This avoids the need to depend on target python3, which in case of mingw is not even possible.
+# meson's python configuration pokes into python3 configuration, so this provides the native config to it.
+unset _PYTHON_SYSCONFIGDATA_NAME
-PRINTF = "--enable-included-printf=no"
-PRINTF_darwin = "--enable-included-printf=yes"
-PRINTF_mingw32 = "--enable-included-printf=yes"
-EXTRA_OECONF = "${PRINTF} ${CORECONF}"
-EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux"
+S = "${WORKDIR}/glib-${PV}"
+
+PACKAGECONFIG ??= "system-pcre libmount \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
+# To use the system pcre it must be configured with --enable-unicode-properties
+PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre"
+PACKAGECONFIG[libmount] = "-Dlibmount=true,-Dlibmount=false,util-linux"
+PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
+# libelf is auto-detected without a configuration option
+PACKAGECONFIG[libelf] = ",,elfutils"
+PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus"
-# Tell configure that we'll have dbus-daemon on the target for the tests
-EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}"
+EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false"
+EXTRA_OEMESON_append_class-target = " --cross-file ${WORKDIR}/glib-meson.cross"
do_configure_prepend() {
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
@@ -75,9 +79,12 @@ FILES_${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
${bindir}/gdbus-codegen"
FILES_${PN}-utils = "${bindir}/*"
-RRECOMMENDS_${PN} += "shared-mime-info"
+SHAREDMIMEDEP = "shared-mime-info"
+SHAREDMIMEDEP_class-native = ""
# When cross compiling for Windows we don't want to include this
-RRECOMMENDS_${PN}_remove_mingw32 = "shared-mime-info"
+SHAREDMIMEDEP_mingw32 = ""
+
+RRECOMMENDS_${PN} += "${SHAREDMIMEDEP}"
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
@@ -112,6 +119,8 @@ do_install_append () {
if test "x${MLPREFIX}" != "x"; then
mv ${D}${libexecdir}/gio-querymodules${EXEEXT} ${D}${libexecdir}/${MLPREFIX}gio-querymodules${EXEEXT}
fi
+ # Autotools does this, meson does not
+ mkdir -p ${D}${libdir}/gio/modules
}
do_install_append_class-target () {
@@ -124,6 +133,11 @@ do_install_append_class-target () {
fi
}
+# As we do not build python3 for windows, makes no sense to ship the script that's using it
+do_install_append_mingw32() {
+ rm -f ${D}${bindir}/gtester-report
+}
+
CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml"
CODEGEN_PYTHON_RDEPENDS_mingw32 = ""
@@ -140,8 +154,6 @@ RDEPENDS_${PN}-ptest += "\
shared-mime-info \
"
-# When https://gitlab.gnome.org/GNOME/glib/issues/1343 is
-# fixed add locale-base-pl-pl
RDEPENDS_${PN}-ptest_append_libc-glibc = "\
glibc-gconv-utf-16 \
glibc-charmap-utf-8 \
@@ -165,6 +177,5 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\
locale-base-fr-fr \
locale-base-es-es \
locale-base-en-gb \
+ locale-base-pl-pl \
"
-
-INSANE_SKIP_${PN}-ptest += "libdir"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.54.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.54.1.bb
deleted file mode 100644
index 5d17a824f..000000000
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.54.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "GLib networking extensions"
-DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies."
-HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/"
-BUGTRACKER = "http://bugzilla.gnome.org"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-SECTION = "libs"
-DEPENDS = "glib-2.0"
-
-SRC_URI[archive.md5sum] = "99867463f182c2767bce0c74bc9cc981"
-SRC_URI[archive.sha256sum] = "eaa787b653015a0de31c928e9a17eb57b4ce23c8cf6f277afaec0d685335012f"
-
-PACKAGECONFIG ??= "ca-certificates gnutls"
-
-# No explicit dependency as it works without ca-certificates installed
-PACKAGECONFIG[ca-certificates] = "--with-ca-certificates=${sysconfdir}/ssl/certs/ca-certificates.crt,--without-ca-certificates"
-PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
-PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy"
-PACKAGECONFIG[pkcs11] = "--with-pkcs11,--without-pkcs11,p11-kit"
-
-EXTRA_OECONF = "--without-gnome-proxy"
-
-inherit gnomebase gettext upstream-version-is-even gio-module-cache
-
-FILES_${PN} += "${libdir}/gio/modules/libgio*.so ${datadir}/dbus-1/services/"
-FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
-FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb
new file mode 100644
index 000000000..f3190e1ca
--- /dev/null
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "GLib networking extensions"
+DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/"
+BUGTRACKER = "http://bugzilla.gnome.org"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SECTION = "libs"
+DEPENDS = "glib-2.0"
+
+SRC_URI[archive.md5sum] = "75b14b7e73a67753be9ce307751c661d"
+SRC_URI[archive.sha256sum] = "bdfa0255e031b8ee003cc283002536b77ee76450105f1dc6ab066b9bf4330068"
+
+PACKAGECONFIG ??= "gnutls"
+
+PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
+PACKAGECONFIG[libproxy] = "-Dlibproxy_support=true,-Dlibproxy_support=false,libproxy"
+
+EXTRA_OEMESON = "-Dgnome_proxy_support=false"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gettext upstream-version-is-even gio-module-cache
+
+FILES_${PN} += "\
+ ${libdir}/gio/modules/libgio*.so \
+ ${datadir}/dbus-1/services/ \
+ ${systemd_user_unitdir} \
+ "
+FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
+FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb
deleted file mode 100644
index a05b94e3b..000000000
--- a/poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Cross locale generation tool for glibc"
-HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
-SECTION = "libs"
-LICENSE = "LGPL-2.1"
-
-LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-# Tell autotools that we're working in the localedef directory
-#
-AUTOTOOLS_SCRIPT_PATH = "${S}/localedef"
-
-inherit native
-inherit autotools
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
-
-SRCBRANCH ?= "release/${PV}/master"
-GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
-
-SRCREV_glibc ?= "3c03baca37fdcb52c3881e653ca392bba7a99c2b"
-SRCREV_localedef ?= "c328777219ccc480be3112cf807217ca6b570b64"
-
-SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
- git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \
- file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
- file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
- file://0018-eglibc-Cross-building-and-testing-instructions.patch \
- file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \
- file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \
- file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
- file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
- file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
- file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
-"
-# Makes for a rather long rev (22 characters), but...
-#
-SRCREV_FORMAT = "glibc_localedef"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = "--with-glibc=${S}"
-CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef
-}
diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb
new file mode 100644
index 000000000..8bc7cd649
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb
@@ -0,0 +1,53 @@
+SUMMARY = "Cross locale generation tool for glibc"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+
+LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+# Tell autotools that we're working in the localedef directory
+#
+AUTOTOOLS_SCRIPT_PATH = "${S}/localedef"
+
+inherit native
+inherit autotools
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
+
+SRCBRANCH ?= "release/${PV}/master"
+GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
+
+PV = "2.29"
+
+SRCREV_glibc ?= "86013ef5cea322b8f4b9c22f230c22cce369e947"
+SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655"
+
+SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
+ git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \
+ file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
+ file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
+ file://0018-eglibc-Cross-building-and-testing-instructions.patch \
+ file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \
+ file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \
+ file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
+ file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
+ file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
+ file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
+"
+# Makes for a rather long rev (22 characters), but...
+#
+SRCREV_FORMAT = "glibc_localedef"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = "--with-glibc=${S}"
+CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef
+}
diff --git a/poky/meta/recipes-core/glibc/glibc-collateral.inc b/poky/meta/recipes-core/glibc/glibc-collateral.inc
index 536edfb04..52880791a 100644
--- a/poky/meta/recipes-core/glibc/glibc-collateral.inc
+++ b/poky/meta/recipes-core/glibc/glibc-collateral.inc
@@ -1,15 +1,7 @@
-INHIBIT_DEFAULT_DEPS = "1"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
- file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780"
-HOMEPAGE = "http://www.gnu.org/software/libc/index.html"
+require glibc-common.inc
-# This needs to match with glibc.inc, otherwise glibc-scripts and glibc-locale
-# will fail to find main glibc, for details see
-# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+ file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780"
deltask do_fetch
deltask do_unpack
@@ -18,6 +10,3 @@ do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install[depends] += "virtual/${MLPREFIX}libc:do_stash_locale"
-
-COMPATIBLE_HOST_libc-musl_class-target = "null"
-
diff --git a/poky/meta/recipes-core/glibc/glibc-common.inc b/poky/meta/recipes-core/glibc/glibc-common.inc
index b05e162f8..cded38459 100644
--- a/poky/meta/recipes-core/glibc/glibc-common.inc
+++ b/poky/meta/recipes-core/glibc/glibc-common.inc
@@ -7,4 +7,18 @@ LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \
file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
+
CVE_PRODUCT = "glibc"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+#
+# We will skip parsing glibc when target system C library selection is not glibc
+# this helps in easing out parsing for non-glibc system libraries
+#
+COMPATIBLE_HOST_libc-musl_class-target = "null"
+
+PV = "2.29"
diff --git a/poky/meta/recipes-core/glibc/glibc-initial.inc b/poky/meta/recipes-core/glibc/glibc-initial.inc
deleted file mode 100644
index acd0d6b1d..000000000
--- a/poky/meta/recipes-core/glibc/glibc-initial.inc
+++ /dev/null
@@ -1,57 +0,0 @@
-DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial libgcc-initial make-native bison-native"
-PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
-
-PACKAGES = ""
-PACKAGES_DYNAMIC = ""
-
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-
-do_configure () {
- (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
- find ${S} -name "configure" | xargs touch
- cfgscript=`python3 -c "import os; print(os.path.relpath('${S}', '.'))"`/configure
- $cfgscript --host=${TARGET_SYS} --build=${BUILD_SYS} \
- --prefix=/usr \
- --disable-sanity-checks \
- --with-headers=${STAGING_DIR_TARGET}${includedir} \
- --enable-hacker-mode
-}
-
-do_compile () {
- :
-}
-
-do_install () {
- oe_runmake cross-compiling=yes install_root=${D} \
- includedir='${includedir}' prefix='${prefix}' \
- install-bootstrap-headers=yes install-headers
-
- oe_runmake csu/subdir_lib
- mkdir -p ${D}${libdir}/
- install -m 644 csu/crt[1in].o ${D}${libdir}
-
- # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
- # so do them by hand. We can tolerate an empty stubs.h for the moment.
- # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
- mkdir -p ${D}${includedir}/gnu/
- touch ${D}${includedir}/gnu/stubs.h
- cp ${S}/include/features.h ${D}${includedir}/features.h
-
- if [ -e ${B}/bits/stdio_lim.h ]; then
- cp ${B}/bits/stdio_lim.h ${D}${includedir}/bits/
- fi
-}
-
-do_stash_locale() {
- :
-}
-
-do_siteconfig () {
- :
-}
-
-inherit nopackages
-
-# We really only want this built by things that need it, not any recrdeptask
-deltask do_build
diff --git a/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb b/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb
deleted file mode 100644
index e86770e12..000000000
--- a/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require glibc_${PV}.bb
-require glibc-initial.inc
-
-# main glibc recipes muck with TARGET_CPPFLAGS to point into
-# final target sysroot but we
-# are not there when building glibc-initial
-# so reset it here
-
-TARGET_CPPFLAGS = ""
diff --git a/poky/meta/recipes-core/glibc/glibc-ld.inc b/poky/meta/recipes-core/glibc/glibc-ld.inc
index bb167b32b..041ffbb9c 100644
--- a/poky/meta/recipes-core/glibc/glibc-ld.inc
+++ b/poky/meta/recipes-core/glibc/glibc-ld.inc
@@ -10,8 +10,8 @@ def glibc_dl_info(d):
infos['ldconfig'].add('{"' + loader + '",' + "FLAG_ELF_LIBC6" + ' }')
infos['lddrewrite'].add(loader)
- infos['ldconfig'] = ','.join(infos['ldconfig'])
- infos['lddrewrite'] = ' '.join(infos['lddrewrite'])
+ infos['ldconfig'] = ','.join(sorted(infos['ldconfig']))
+ infos['lddrewrite'] = ' '.join(sorted(infos['lddrewrite']))
return infos
EGLIBC_KNOWN_INTERPRETER_NAMES = "${@glibc_dl_info(d)['ldconfig']}"
diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc
index 1b676dc26..a985d26c7 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale.inc
+++ b/poky/meta/recipes-core/glibc/glibc-locale.inc
@@ -27,7 +27,7 @@ ENABLE_BINARY_LOCALE_GENERATION_pn-nativesdk-glibc-locale = "1"
#enable locale generation on these arches
# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
-BINARY_LOCALE_ARCHES ?= "arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64"
+BINARY_LOCALE_ARCHES ?= "arc arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64"
# set "1" to use cross-localedef for locale generation
# set "0" for qemu emulation of native localedef for locale generation
@@ -71,25 +71,27 @@ FILES_localedef = "${bindir}/localedef"
LOCALETREESRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale"
-do_install () {
- mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir}
- if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${bindir}/* ${D}${bindir}
- fi
- if [ -n "$(ls ${LOCALETREESRC}/${localedir})" ]; then
- mkdir -p ${D}${localedir}
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${localedir}/* ${D}${localedir}
- fi
- if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir}
- fi
- if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir}
- fi
- if [ -e ${LOCALETREESRC}/${datadir}/locale ]; then
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/locale ${D}${datadir}
+copy_locale_files() {
+ local dir=$1 mode=$2
+
+ [ -e "${LOCALETREESRC}$dir" ] || return 0
+
+ for d in . $(find "${LOCALETREESRC}$dir" -type d -printf '%P '); do
+ install -d ${D}$dir/$d
+ find "${LOCALETREESRC}$dir/$d" -maxdepth 1 -type f \
+ -exec install -m $mode -t "${D}$dir/$d" {} \;
+ done
+}
+
+do_install() {
+ copy_locale_files ${bindir} 0755
+ copy_locale_files ${localedir} 0644
+ if [ ${PACKAGE_NO_GCONV} -eq 0 ]; then
+ copy_locale_files ${libdir}/gconv 0755
+ copy_locale_files ${datadir}/i18n 0644
fi
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/SUPPORTED ${WORKDIR}
+ copy_locale_files ${datadir}/locale 0644
+ install -m 0644 ${LOCALETREESRC}/SUPPORTED ${WORKDIR}/SUPPORTED
}
inherit libc-package
diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.28.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb
index f7702e035..f7702e035 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale_2.28.bb
+++ b/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.28.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb
index 0b69bad46..0b69bad46 100644
--- a/poky/meta/recipes-core/glibc/glibc-mtrace_2.28.bb
+++ b/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index a98ae1a29..b7c64a0b2 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -15,7 +15,12 @@ RPROVIDES_glibc-thread-db = "eglibc-thread-db"
RPROVIDES_${PN}-pcprofile = "eglibc-pcprofile"
RPROVIDES_${PN}-dbg = "eglibc-dbg"
libc_baselibs = "${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/libmvec-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
-libc_baselibs_append_aarch64 = " /lib/ld-linux-aarch64*.so.1"
+ARCH_DYNAMIC_LOADER = ""
+# The aarch64 ABI says the dynamic linker -must- be
+# /lib/ld-linux-aarch64{,_be}.so.1. With usrmerge, that may mean that
+# we need to install it in /usr/lib.
+ARCH_DYNAMIC_LOADER_aarch64 = "ld-linux-${TARGET_ARCH}.so.1"
+libc_baselibs_append = " ${@oe.utils.conditional('ARCH_DYNAMIC_LOADER', '', '', '${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}', d)}"
INSANE_SKIP_${PN}_append_aarch64 = " libdir"
FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf"
@@ -107,25 +112,27 @@ do_install_append () {
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /run/nscd 755 root root -" \
> ${D}${sysconfdir}/tmpfiles.d/nscd.conf
- else
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/default/volatiles
echo "d root root 0755 /var/run/nscd none" \
> ${D}${sysconfdir}/default/volatiles/98_nscd
fi
+
+ # The dynamic loader will have been installed into
+ # ${base_libdir}. However, if that isn't going to end up being
+ # available in the ABI-mandated location, then a symlink must
+ # be created.
+
+ if [ -n "${ARCH_DYNAMIC_LOADER}" -a ! -e "${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
+ install -d ${D}${root_prefix}/lib
+ ln -s ${@oe.path.relative('${root_prefix}/lib', '${base_libdir}')}/${ARCH_DYNAMIC_LOADER} \
+ ${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}
+ fi
}
do_install_append_aarch64 () {
- if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then
- # The aarch64 ABI says the dynamic linker -must- be /lib/ld-linux-aarch64[_be].so.1
- install -d ${D}${nonarch_base_libdir}
- if [ -e ${D}${base_libdir}/ld-linux-aarch64.so.1 ]; then
- ln -s ${@oe.path.relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64.so.1 \
- ${D}${nonarch_base_libdir}/ld-linux-aarch64.so.1
- elif [ -e ${D}${base_libdir}/ld-linux-aarch64_be.so.1 ]; then
- ln -s ${@oe.path.relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \
- ${D}${nonarch_base_libdir}/ld-linux-aarch64_be.so.1
- fi
- fi
do_install_armmultilib
}
@@ -141,6 +148,7 @@ do_install_armmultilib () {
oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h
oe_multilib_header bits/local_lim.h bits/mman.h bits/msq.h bits/pthreadtypes.h bits/pthreadtypes-arch.h bits/sem.h bits/semaphore.h bits/setjmp.h
oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h bits/typesizes.h
+ oe_multilib_header bits/procfs-id.h bits/procfs.h bits/shmlba.h
oe_multilib_header fpu_control.h gnu/lib-names.h gnu/stubs.h ieee754.h
@@ -207,12 +215,15 @@ do_poststash_install_cleanup () {
rm -rf ${D}/${localedir}
rm -rf ${D}${datadir}/locale
if [ "${libdir}" != "${exec_prefix}/lib" ]; then
- if [ -d ${D}${exec_prefix}/lib ]; then
+ if [ -d "${D}${exec_prefix}/lib" ]; then
+ if [ -z "${ARCH_DYNAMIC_LOADER}" -o \
+ ! -e "${D}${exec_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
# error out if directory isn't empty
# this dir should only contain locale dir
# which has been deleted in the previous step
rmdir ${D}${exec_prefix}/lib
fi
+ fi
fi
}
addtask do_poststash_install_cleanup after do_stash_locale do_install before do_populate_sysroot do_package
diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.28.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb
index 5a89bd802..5a89bd802 100644
--- a/poky/meta/recipes-core/glibc/glibc-scripts_2.28.bb
+++ b/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb
diff --git a/poky/meta/recipes-core/glibc/glibc.inc b/poky/meta/recipes-core/glibc/glibc.inc
index 99c92ce46..252fd56c1 100644
--- a/poky/meta/recipes-core/glibc/glibc.inc
+++ b/poky/meta/recipes-core/glibc/glibc.inc
@@ -2,36 +2,9 @@ require glibc-common.inc
require glibc-ld.inc
require glibc-testing.inc
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers"
-python () {
- opt_effective = "-O"
- for opt in d.getVar('SELECTED_OPTIMIZATION').split():
- if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
- opt_effective = opt
- if opt_effective == "-O0":
- bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective))
-}
-
-# siteconfig.bbclass runs configure which needs a working compiler
-# For the compiler to work we need a working libc yet libc isn't
-# in the sysroots directory at this point. This means the libc.so
-# linker script won't work as the --sysroot setting isn't correct.
-# Here we create a hacked up libc linker script and pass in the right
-# flags to let configure work. Ugly.
-EXTRASITECONFIG = "CFLAGS='${CFLAGS} -Wl,-L${WORKDIR}/site_config_libc -L${WORKDIR}/site_config_libc -L${SYSROOT_DESTDIR}${libdir} -L${SYSROOT_DESTDIR}${base_libdir} -Wl,-L${SYSROOT_DESTDIR}${libdir} -Wl,-L${SYSROOT_DESTDIR}${base_libdir}'"
-siteconfig_do_siteconfig_gencache_prepend = " \
- mkdir -p ${WORKDIR}/site_config_libc; \
- cp ${SYSROOT_DESTDIR}${libdir}/libc.so ${WORKDIR}/site_config_libc; \
- sed -i -e 's# ${base_libdir}# ${SYSROOT_DESTDIR}${base_libdir}#g' -e 's# ${libdir}# ${SYSROOT_DESTDIR}${libdir}#g' ${WORKDIR}/site_config_libc/libc.so; \
-"
-
-# nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial libgcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
-
-PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/libc"
PROVIDES += "virtual/libintl virtual/libiconv"
inherit autotools texinfo distro_features_check systemd
@@ -47,16 +20,11 @@ CACHED_CONFIGUREVARS += " \
libc_cv_ssp=no \
"
+# ifunc doesn't appear to work on mips, casuses libbfd assertion failures
+CACHED_CONFIGUREVARS_append_mipsarch = " libc_cv_ld_gnu_indirect_function=no"
+
GLIBC_EXTRA_OECONF ?= ""
GLIBC_EXTRA_OECONF_class-nativesdk = ""
-INHIBIT_DEFAULT_DEPS = "1"
-
-# This needs to match with glibc-collateral.inc, otherwise glibc-scripts and glibc-locale
-# will fail to find main glibc, for details see
-# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
# glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
# PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
index 5df26a854..86ad9eaf1 100644
--- a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
@@ -1,7 +1,8 @@
-From bd51b3add89a5cb2d8f44029a1027c780b2afff5 Mon Sep 17 00:00:00 2001
+From 0cac7493366586e8f87e8459359c15f702ef8c81 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:48:24 +0000
-Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
+Subject: [PATCH 01/30] nativesdk-glibc: Look for host system ld.so.cache as
+ well
Upstream-Status: Inappropriate [embedded specific]
@@ -30,7 +31,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index c51e4b3718..44bbb69dc4 100644
+index f972524421..e53c3a1b7b 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -2085,6 +2085,14 @@ _dl_map_object (struct link_map *loader, const char *name,
@@ -63,3 +64,6 @@ index c51e4b3718..44bbb69dc4 100644
/* Add another newline when we are tracing the library loading. */
if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
_dl_debug_printf ("\n");
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch b/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch
new file mode 100644
index 000000000..1a343149c
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch
@@ -0,0 +1,204 @@
+From 3f635fb43389b54f682fc9ed2acc0b2aaf4a923d Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Mon, 4 Feb 2019 06:31:01 -0800
+Subject: [PATCH] x86-64 memcmp: Use unsigned Jcc instructions on size [BZ
+ #24155]
+
+Since the size argument is unsigned. we should use unsigned Jcc
+instructions, instead of signed, to check size.
+
+Tested on x86-64 and x32, with and without --disable-multi-arch.
+
+ [BZ #24155]
+ CVE-2019-7309
+ * NEWS: Updated for CVE-2019-7309.
+ * sysdeps/x86_64/memcmp.S: Use RDX_LP for size. Clear the
+ upper 32 bits of RDX register for x32. Use unsigned Jcc
+ instructions, instead of signed.
+ * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcmp-2.
+ * sysdeps/x86_64/x32/tst-size_t-memcmp-2.c: New test.
+
+CVE: CVE-2019-7309
+Upstream-Status: Backport
+Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+---
+ sysdeps/x86_64/memcmp.S | 20 +++---
+ sysdeps/x86_64/x32/Makefile | 3 +-
+ sysdeps/x86_64/x32/tst-size_t-memcmp-2.c | 79 ++++++++++++++++++++++++
+ 5 files changed, 111 insertions(+), 10 deletions(-)
+ create mode 100644 sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
+
+diff --git a/sysdeps/x86_64/memcmp.S b/sysdeps/x86_64/memcmp.S
+index 1fc487caa5..1322bb3b92 100644
+--- a/sysdeps/x86_64/memcmp.S
++++ b/sysdeps/x86_64/memcmp.S
+@@ -21,14 +21,18 @@
+
+ .text
+ ENTRY (memcmp)
+- test %rdx, %rdx
++#ifdef __ILP32__
++ /* Clear the upper 32 bits. */
++ movl %edx, %edx
++#endif
++ test %RDX_LP, %RDX_LP
+ jz L(finz)
+ cmpq $1, %rdx
+- jle L(finr1b)
++ jbe L(finr1b)
+ subq %rdi, %rsi
+ movq %rdx, %r10
+ cmpq $32, %r10
+- jge L(gt32)
++ jae L(gt32)
+ /* Handle small chunks and last block of less than 32 bytes. */
+ L(small):
+ testq $1, %r10
+@@ -156,7 +160,7 @@ L(A32):
+ movq %r11, %r10
+ andq $-32, %r10
+ cmpq %r10, %rdi
+- jge L(mt16)
++ jae L(mt16)
+ /* Pre-unroll to be ready for unrolled 64B loop. */
+ testq $32, %rdi
+ jz L(A64)
+@@ -178,7 +182,7 @@ L(A64):
+ movq %r11, %r10
+ andq $-64, %r10
+ cmpq %r10, %rdi
+- jge L(mt32)
++ jae L(mt32)
+
+ L(A64main):
+ movdqu (%rdi,%rsi), %xmm0
+@@ -216,7 +220,7 @@ L(mt32):
+ movq %r11, %r10
+ andq $-32, %r10
+ cmpq %r10, %rdi
+- jge L(mt16)
++ jae L(mt16)
+
+ L(A32main):
+ movdqu (%rdi,%rsi), %xmm0
+@@ -254,7 +258,7 @@ L(ATR):
+ movq %r11, %r10
+ andq $-32, %r10
+ cmpq %r10, %rdi
+- jge L(mt16)
++ jae L(mt16)
+ testq $16, %rdi
+ jz L(ATR32)
+
+@@ -325,7 +329,7 @@ L(ATR64main):
+ movq %r11, %r10
+ andq $-32, %r10
+ cmpq %r10, %rdi
+- jge L(mt16)
++ jae L(mt16)
+
+ L(ATR32res):
+ movdqa (%rdi,%rsi), %xmm0
+diff --git a/sysdeps/x86_64/x32/Makefile b/sysdeps/x86_64/x32/Makefile
+index 1557724b0c..8748956563 100644
+--- a/sysdeps/x86_64/x32/Makefile
++++ b/sysdeps/x86_64/x32/Makefile
+@@ -8,7 +8,8 @@ endif
+ ifeq ($(subdir),string)
+ tests += tst-size_t-memchr tst-size_t-memcmp tst-size_t-memcpy \
+ tst-size_t-memrchr tst-size_t-memset tst-size_t-strncasecmp \
+- tst-size_t-strncmp tst-size_t-strncpy tst-size_t-strnlen
++ tst-size_t-strncmp tst-size_t-strncpy tst-size_t-strnlen \
++ tst-size_t-memcmp-2
+ endif
+
+ ifeq ($(subdir),wcsmbs)
+diff --git a/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c b/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
+new file mode 100644
+index 0000000000..d8ae1a0813
+--- /dev/null
++++ b/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
+@@ -0,0 +1,79 @@
++/* Test memcmp with size_t in the lower 32 bits of 64-bit register.
++ Copyright (C) 2019 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library 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.
++
++ The GNU C 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
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#define TEST_MAIN
++#ifdef WIDE
++# define TEST_NAME "wmemcmp"
++#else
++# define TEST_NAME "memcmp"
++#endif
++
++#include "test-size_t.h"
++
++#ifdef WIDE
++# include <inttypes.h>
++# include <wchar.h>
++
++# define MEMCMP wmemcmp
++# define CHAR wchar_t
++#else
++# define MEMCMP memcmp
++# define CHAR char
++#endif
++
++IMPL (MEMCMP, 1)
++
++typedef int (*proto_t) (const CHAR *, const CHAR *, size_t);
++
++static int
++__attribute__ ((noinline, noclone))
++do_memcmp (parameter_t a, parameter_t b)
++{
++ return CALL (&b, a.p, b.p, a.len);
++}
++
++static int
++test_main (void)
++{
++ test_init ();
++
++ parameter_t dest = { { page_size / sizeof (CHAR) }, buf1 };
++ parameter_t src = { { 0 }, buf2 };
++
++ memcpy (buf1, buf2, page_size);
++
++ CHAR *p = (CHAR *) buf1;
++ p[page_size / sizeof (CHAR) - 1] = (CHAR) 1;
++
++ int ret = 0;
++ FOR_EACH_IMPL (impl, 0)
++ {
++ src.fn = impl->fn;
++ int res = do_memcmp (dest, src);
++ if (res >= 0)
++ {
++ error (0, 0, "Wrong result in function %s: %i >= 0",
++ impl->name, res);
++ ret = 1;
++ }
++ }
++
++ return ret ? EXIT_FAILURE : EXIT_SUCCESS;
++}
++
++#include <support/test-driver.c>
+--
+2.17.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
index daadec76c..f663e18ed 100644
--- a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -1,7 +1,8 @@
-From fdc8a33ac2c81a0237b8a6d8b1aac7f1cdbb46af Mon Sep 17 00:00:00 2001
+From f275c04e263fc2ebf2eaad6ac1ab3c838647bb14 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:50:00 +0000
-Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
+Subject: [PATCH 02/30] nativesdk-glibc: Fix buffer overrun with a relocated
+ SDK
When ld-linux-*.so.2 is relocated to a path that is longer than the
original fixed location, the dynamic loader will crash in open_path
@@ -21,7 +22,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 12 insertions(+)
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 44bbb69dc4..74e2e5e962 100644
+index e53c3a1b7b..2bd9bc27f2 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -1785,7 +1785,19 @@ open_path (const char *name, size_t namelen, int mode,
@@ -44,3 +45,6 @@ index 44bbb69dc4..74e2e5e962 100644
do
{
struct r_search_path_elem *this_dir = *dirs;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index e08254030..fd909f644 100644
--- a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,7 +1,8 @@
-From 055dd46b793168fb08e44913153010b088011ba2 Mon Sep 17 00:00:00 2001
+From 92df5673de18779b612609afa4f687e33e5ecb6e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:51:38 +0000
-Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
+Subject: [PATCH 03/30] nativesdk-glibc: Raise the size of arrays containing dl
+ paths
This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
and lengths as well as ld.so.cache path in the dynamic loader to specific
@@ -25,7 +26,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
7 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/elf/dl-cache.c b/elf/dl-cache.c
-index 6ee5153ff9..37a5f701fa 100644
+index d8d1e2344e..d2247bfc4f 100644
--- a/elf/dl-cache.c
+++ b/elf/dl-cache.c
@@ -133,6 +133,10 @@ do \
@@ -40,7 +41,7 @@ index 6ee5153ff9..37a5f701fa 100644
_dl_cache_libcmp (const char *p1, const char *p2)
{
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 74e2e5e962..8f19186e1c 100644
+index 2bd9bc27f2..4170cc1a09 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -110,8 +110,8 @@ static size_t max_capstrlen attribute_relro;
@@ -55,7 +56,7 @@ index 74e2e5e962..8f19186e1c 100644
SYSTEM_DIRS_LEN
};
diff --git a/elf/interp.c b/elf/interp.c
-index 9cd50c7291..fc2f39d73c 100644
+index 243829f5f7..0e74241703 100644
--- a/elf/interp.c
+++ b/elf/interp.c
@@ -18,5 +18,5 @@
@@ -66,7 +67,7 @@ index 9cd50c7291..fc2f39d73c 100644
+const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
= RUNTIME_LINKER;
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
-index fbdd814edf..9f4d8d69b1 100644
+index 206cd51df6..2fd4fb54ae 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -168,6 +168,9 @@ static struct argp argp =
@@ -80,7 +81,7 @@ index fbdd814edf..9f4d8d69b1 100644
a platform. */
static int
diff --git a/elf/rtld.c b/elf/rtld.c
-index 1b0c74739f..a70a62d31e 100644
+index 5d97f41b7b..26c5fef929 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -130,6 +130,7 @@ dso_name_valid_for_suid (const char *p)
@@ -107,7 +108,7 @@ index 1b0c74739f..a70a62d31e 100644
++_dl_skip_args;
--_dl_argc;
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
-index f173cde71b..5c3205026f 100644
+index ae8937cba0..f321ee419e 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -36,7 +36,7 @@
@@ -117,10 +118,10 @@ index f173cde71b..5c3205026f 100644
-static const char default_gconv_path[] = GCONV_PATH;
+static char default_gconv_path[4096] __attribute__ ((section (".gccrelocprefix"))) = GCONV_PATH;
- /* The path elements, as determined by the __gconv_get_path function.
- All path elements end in a slash. */
+ /* Type to represent search path. */
+ struct path_elem
diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
-index cf43f1cf3b..7f07adde53 100644
+index bc8b40331d..b0fdd2144b 100644
--- a/sysdeps/generic/dl-cache.h
+++ b/sysdeps/generic/dl-cache.h
@@ -27,10 +27,6 @@
@@ -134,3 +135,6 @@ index cf43f1cf3b..7f07adde53 100644
#ifndef add_system_dir
# define add_system_dir(dir) add_dir (dir)
#endif
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
index 1ae2e33b4..d6c9aac69 100644
--- a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
@@ -1,7 +1,7 @@
-From a237553ccd15276462be2023057a017fa8ee5d7c Mon Sep 17 00:00:00 2001
+From ff0f4756f1a98202726c65745aca38354864e033 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:35:35 -0800
-Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
+Subject: [PATCH 04/30] nativesdk-glibc: Allow 64 bit atomics for x86
The fix consist of allowing 64bit atomic ops for x86.
This should be safe for i586 and newer CPUs.
@@ -13,19 +13,30 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- sysdeps/i386/atomic-machine.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ sysdeps/x86/atomic-machine.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/sysdeps/i386/atomic-machine.h b/sysdeps/i386/atomic-machine.h
-index 272da5dd8f..409c759f14 100644
---- a/sysdeps/i386/atomic-machine.h
-+++ b/sysdeps/i386/atomic-machine.h
-@@ -54,7 +54,7 @@ typedef uintmax_t uatomic_max_t;
- # endif
+diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h
+index aa60ca4cd6..3e42e00183 100644
+--- a/sysdeps/x86/atomic-machine.h
++++ b/sysdeps/x86/atomic-machine.h
+@@ -58,15 +58,14 @@ typedef uintmax_t uatomic_max_t;
#endif
--#define __HAVE_64B_ATOMICS 0
-+#define __HAVE_64B_ATOMICS 1
- #define USE_ATOMIC_COMPILER_BUILTINS 0
- #define ATOMIC_EXCHANGE_USES_CAS 0
+ #define USE_ATOMIC_COMPILER_BUILTINS 1
++# define __HAVE_64B_ATOMICS 1
+ #ifdef __x86_64__
+-# define __HAVE_64B_ATOMICS 1
+ # define SP_REG "rsp"
+ # define SEG_REG "fs"
+ # define BR_CONSTRAINT "q"
+ # define IBR_CONSTRAINT "iq"
+ #else
+-# define __HAVE_64B_ATOMICS 0
+ # define SP_REG "esp"
+ # define SEG_REG "gs"
+ # define BR_CONSTRAINT "r"
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
index b53f2ef2e..9f9f503a1 100644
--- a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
@@ -1,7 +1,7 @@
-From e1dc85af1800afa4fbf4eb5a59cc41025495af57 Mon Sep 17 00:00:00 2001
+From b2ec111dc3a42d9dce71c903524724ae82ff22d8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Aug 2018 09:55:12 -0700
-Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
+Subject: [PATCH 05/30] nativesdk-glibc: Make relocatable install for locales
The glibc locale path is hard-coded to the install prefix, but in SDKs we need
to be able to relocate the binaries. Expand the strings to 4K and put them in a
@@ -18,7 +18,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/locale/findlocale.c b/locale/findlocale.c
-index 872cadb5b9..dd651e07f5 100644
+index 9af605bd64..b2b0a3f93b 100644
--- a/locale/findlocale.c
+++ b/locale/findlocale.c
@@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attribute_hidden =
@@ -40,7 +40,7 @@ index 872cadb5b9..dd651e07f5 100644
else
/* We really have to load some data. First see whether the name is
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
-index 516d30d8d1..9bfbe1a5dd 100644
+index 803c1cf2a4..9023f475b8 100644
--- a/locale/loadarchive.c
+++ b/locale/loadarchive.c
@@ -42,7 +42,7 @@
@@ -53,7 +53,7 @@ index 516d30d8d1..9bfbe1a5dd 100644
/* Size of initial mapping window, optimal if large enough to
cover the header plus the initial locale. */
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 68822a6319..537bc35149 100644
+index 7c1cc3eecb..53cb8bfc59 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -325,7 +325,7 @@ _nl_lookup_word (locale_t l, int category, int item)
@@ -65,3 +65,6 @@ index 68822a6319..537bc35149 100644
/* Load the locale data for CATEGORY from the file specified by *NAME.
If *NAME is "", use environment variables as specified by POSIX, and
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
index 971700a6d..a6dddebbc 100644
--- a/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
@@ -1,7 +1,7 @@
-From d23c577b0b70b34335971abaf3f50e617dda615e Mon Sep 17 00:00:00 2001
+From 4dc4b4f63dd79734078fa54446edb7fe2d9c74fa Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:01:50 +0000
-Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation
+Subject: [PATCH 06/30] fsl e500/e5500/e6500/603e fsqrt implementation
Upstream-Status: Pending
Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
@@ -1579,3 +1579,6 @@ index 0000000000..04ff8cc181
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies
@@ -0,0 +1 @@
+powerpc/powerpc64/e6500/fpu
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
index 487134683..17ffc6fd4 100644
--- a/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
@@ -1,7 +1,8 @@
-From d65f6ee214d7d91445fceabc6a5d6bf55b0e8d4b Mon Sep 17 00:00:00 2001
+From 5506296ef55a6e4916febab63805ddf2d5a5293c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:11:22 +0000
-Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
+Subject: [PATCH 07/30] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
+ names
This bolts in a hook for OE to pass its own version of interpreter
names into glibc especially for multilib case, where it differs from any
@@ -16,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/elf/readlib.c b/elf/readlib.c
-index 573c01476c..d8c7412287 100644
+index c9743e6692..6307f918fc 100644
--- a/elf/readlib.c
+++ b/elf/readlib.c
@@ -51,6 +51,7 @@ static struct known_names interpreters[] =
@@ -27,3 +28,6 @@ index 573c01476c..d8c7412287 100644
};
static struct known_names known_libs[] =
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
index c0d96eb1f..aacc9f2e3 100644
--- a/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
@@ -1,7 +1,7 @@
-From ee3aa1464f40c916c62cf326bf4c18f8b71a229b Mon Sep 17 00:00:00 2001
+From ea969d7767428d73823c91ad9955829bd66b9e58 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:15:07 +0000
-Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
+Subject: [PATCH 08/30] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
on ppc fixes the errors like below
| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
@@ -203,3 +203,6 @@ index 26fa067abf..9d175122a8 100644
return f_washf (b);
}
+strong_alias (__ieee754_sqrtf, __sqrtf_finite)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index d0b47cd67..b1d441303 100644
--- a/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,8 +1,8 @@
-From 17e82d594b2d8d3a6998face953382f9d14fb046 Mon Sep 17 00:00:00 2001
+From a9e6ca45cdaf13ee595089a5a580d00a95a06bf1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:16:38 +0000
-Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
- __slow versions
+Subject: [PATCH 09/30] __ieee754_sqrt{,f} are now inline functions and call
+ out __slow versions
Upstream-Status: Pending
@@ -382,3 +382,6 @@ index 9d175122a8..10de1f0cc3 100644
+}
+
strong_alias (__ieee754_sqrtf, __sqrtf_finite)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
index 86ef3a105..46d205808 100644
--- a/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
@@ -1,7 +1,8 @@
-From fe8d9b76e7c881cc0a0b728ea2bd637fafca0978 Mon Sep 17 00:00:00 2001
+From 50ad00401eb16bb88c57d95bc927deeec4033e01 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:20:09 +0000
-Subject: [PATCH] Quote from bug 1443 which explains what the patch does :
+Subject: [PATCH 10/30] Quote from bug 1443 which explains what the patch does
+ :
We build some random program and link it with -lust. When we run it,
it dies with a SIGSEGV before reaching main().
@@ -44,7 +45,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
-index 1a4fd3f17b..a02c47571a 100644
+index 7a2f9d9b78..36a1dd1888 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -510,7 +510,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
@@ -56,3 +57,6 @@ index 1a4fd3f17b..a02c47571a 100644
break;
case R_ARM_TLS_TPOFF32:
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
index 32aae5cd5..293b72e79 100644
--- a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
@@ -1,7 +1,7 @@
-From 3012cb839a64e7d5c621efa79b643d169290e6e9 Mon Sep 17 00:00:00 2001
+From a29a718890a3f32e7135f6b64b1a80c74f2d1454 Mon Sep 17 00:00:00 2001
From: Ting Liu <b28495@freescale.com>
Date: Wed, 19 Dec 2012 04:39:57 -0600
-Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S}
+Subject: [PATCH 11/30] eglibc: run libm-err-tab.pl with specific dirs in ${S}
libm-err-tab.pl will parse all the files named "libm-test-ulps"
in the given dir recursively. To avoid parsing the one in
@@ -18,16 +18,19 @@ Signed-off-by: Ting Liu <b28495@freescale.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/manual/Makefile b/manual/Makefile
-index c2756640a7..1b5bb16a96 100644
+index 4f76ee85d2..04b8c8c320 100644
--- a/manual/Makefile
+++ b/manual/Makefile
-@@ -102,7 +102,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err
- $(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
- $(dir)/libm-test-ulps))
+@@ -103,7 +103,8 @@ $(objpfx)stamp-libm-err: $(..)math/gen-libm-test.py \
+ $(wildcard $(foreach dir,$(sysdirs),\
+ $(dir)/libm-test-ulps))
pwd=`pwd`; \
-- $(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp
-+ $(PERL) $< $$pwd/../ports > $(objpfx)libm-err-tmp
-+ $(PERL) $< $$pwd/../sysdeps >> $(objpfx)libm-err-tmp
+- $(PYTHON) $< -s $$pwd/.. -m $(objpfx)libm-err-tmp
++ $(PYTHON) $< -s $$pwd/../ports -m $(objpfx)libm-err-tmp
++ $(PYTHON) $< -s $$pwd/../sysdeps -m $(objpfx)libm-err-tmp
$(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
touch $@
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index 93395c389..6e175b64d 100644
--- a/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,8 +1,8 @@
-From 93ab69ae4c98303929ba9492130a021fa4a215be Mon Sep 17 00:00:00 2001
+From 777da88a819738683e4389580cfbfded2a83e87e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:24:46 +0000
-Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
- __slow versions
+Subject: [PATCH 12/30] __ieee754_sqrt{,f} are now inline functions and call
+ out __slow versions
Upstream-Status: Pending
@@ -56,3 +56,6 @@ index 812653558f..10de1f0cc3 100644
float b;
#endif
{
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
index 9998691fa..b5adecba0 100644
--- a/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
@@ -1,7 +1,7 @@
-From a7bd8aa65f3f2755d6dbd0d5adbfd269c1fb0094 Mon Sep 17 00:00:00 2001
+From f98b1b9e6b569abd3594b4923ace0c966c9daece Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:27:10 +0000
-Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly
+Subject: [PATCH 13/30] sysdeps/gnu/configure.ac: handle correctly
$libc_cv_rootsbindir
Upstream-Status:Pending
@@ -37,3 +37,6 @@ index 634fe4de2a..3db1697f4f 100644
+ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin
;;
esac
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
index 9d6ab30e2..1cd91475d 100644
--- a/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
@@ -1,7 +1,7 @@
-From 2ce5bc6da23dcb402afdeb967fa44c39eecf6d37 Mon Sep 17 00:00:00 2001
+From b9cd992052550d4b2bba954099e221677a6652e7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:28:41 +0000
-Subject: [PATCH] Add unused attribute
+Subject: [PATCH 14/30] Add unused attribute
Helps in avoiding gcc warning when header is is included in
a source file which does not use both functions
@@ -17,7 +17,7 @@ Upstream-Status: Pending
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h
-index 123e2a62ce..63cc83ec84 100644
+index 91e0ad3141..2e9549fe49 100644
--- a/iconv/gconv_charset.h
+++ b/iconv/gconv_charset.h
@@ -21,7 +21,7 @@
@@ -29,3 +29,6 @@ index 123e2a62ce..63cc83ec84 100644
strip (char *wp, const char *s)
{
int slash_count = 0;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
index 0267e7a4e..f2e180239 100644
--- a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
@@ -1,7 +1,7 @@
-From b382138c41ccf6079b44592f1e74f183ca8281bb Mon Sep 17 00:00:00 2001
+From e8a88fb3bb6ffcc43871a7caf7ad9c59bd183e50 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:31:06 +0000
-Subject: [PATCH] 'yes' within the path sets wrong config variables
+Subject: [PATCH 15/30] 'yes' within the path sets wrong config variables
It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
but being such a short word to grep it is likely to produce
@@ -258,3 +258,6 @@ index f9cba6e15d..b21f72f1e4 100644
#endif
], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
if test $libc_cv_ppc64_def_call_elf = no; then
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
index 15453ec6f..8a9fa4916 100644
--- a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
@@ -1,7 +1,7 @@
-From 04fb7b93dc40c1f96ebc05d29a2f02f9e4f0d572 Mon Sep 17 00:00:00 2001
+From 10f470476dc947d7b950d6a66f7c06f500c96c60 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:33:03 +0000
-Subject: [PATCH] timezone: re-written tzselect as posix sh
+Subject: [PATCH 16/30] timezone: re-written tzselect as posix sh
To avoid the bash dependency.
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/timezone/Makefile b/timezone/Makefile
-index 0194aba4a1..58e5405a05 100644
+index 493deca790..36e559e16c 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -122,7 +122,7 @@ $(testdata)/XT%: testdata/XT%
@@ -28,10 +28,10 @@ index 0194aba4a1..58e5405a05 100644
-e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
-e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh
-index d2c3a6d1dd..089679f306 100755
+index 18fce27e24..70745f9d36 100755
--- a/timezone/tzselect.ksh
+++ b/timezone/tzselect.ksh
-@@ -35,7 +35,7 @@ REPORT_BUGS_TO=tz@iana.org
+@@ -34,7 +34,7 @@ REPORT_BUGS_TO=tz@iana.org
# Specify default values for environment variables if they are unset.
: ${AWK=awk}
@@ -40,3 +40,6 @@ index d2c3a6d1dd..089679f306 100755
# Output one argument as-is to standard output.
# Safer than 'echo', which can mishandle '\' or leading '-'.
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
index 06d2cd1d2..a27759a39 100644
--- a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
@@ -1,7 +1,7 @@
-From 7a2f244c0980a54ed74f9544ab44a7269ef12bce Mon Sep 17 00:00:00 2001
+From 809392d20fa9a9f8159242451f9969e65a658835 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:33:02 -0800
-Subject: [PATCH] Remove bash dependency for nscd init script
+Subject: [PATCH 17/30] Remove bash dependency for nscd init script
The nscd init script uses #! /bin/bash but only really uses one bashism
(translated strings), so remove them and switch the shell to #!/bin/sh.
@@ -70,3 +70,6 @@ index a882da7d8b..b02986ec15 100644
RETVAL=1
;;
esac
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
index 29109a26e..f80a3ee1d 100644
--- a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
@@ -1,7 +1,7 @@
-From 44a5c79efea09f5b990e524ec42abdeef444056a Mon Sep 17 00:00:00 2001
+From 016d6987600d49d3f45874096e943b97d1667539 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:42:58 +0000
-Subject: [PATCH] eglibc: Cross building and testing instructions
+Subject: [PATCH 18/30] eglibc: Cross building and testing instructions
Ported from eglibc
Upstream-Status: Pending
@@ -614,3 +614,6 @@ index 0000000000..b67b468466
+- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we
+ simply place copies of these libraries in the top GLIBC build
+ directory.
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
index 71c2ab918..603bf2188 100644
--- a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
@@ -1,7 +1,7 @@
-From f4ec5527d562d38523abb8587a6c7532e9d21f8a Mon Sep 17 00:00:00 2001
+From 7e4423528d362cf6268b1902a8e30d710431f333 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:49:28 +0000
-Subject: [PATCH] eglibc: Help bootstrap cross toolchain
+Subject: [PATCH 19/30] eglibc: Help bootstrap cross toolchain
Taken from EGLIBC, r1484 + r1525
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 include/stubs-bootstrap.h
diff --git a/Makefile b/Makefile
-index d3f25a525a..ab383867e2 100644
+index 4a014d6eff..3a1f419bc3 100644
--- a/Makefile
+++ b/Makefile
@@ -70,9 +70,18 @@ subdir-dirs = include
@@ -95,3 +95,6 @@ index 0000000000..1d2b669aff
+ difficult headers. The <gnu/stubs.h> header depends, via the
+ EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
+ an empty stubs.h like this will do fine for GCC. */
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
index 6e475a711..985b17b58 100644
--- a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
@@ -1,7 +1,7 @@
-From 6c23660d035e71de0e20b40460ad3050bd057665 Mon Sep 17 00:00:00 2001
+From 8c4d7d70a84a69fe5e8d69539368aa11f8fe20aa Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 15:15:09 -0800
-Subject: [PATCH] eglibc: Clear cache lines on ppc8xx
+Subject: [PATCH 20/30] eglibc: Clear cache lines on ppc8xx
2007-06-13 Nathan Sidwell <nathan@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
@@ -21,7 +21,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
-index 78051bc7bc..e24f442320 100644
+index b04ecc4a4c..75bda97241 100644
--- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
+++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
@@ -24,9 +24,21 @@ int __cache_line_size attribute_hidden;
@@ -48,7 +48,7 @@ index 78051bc7bc..e24f442320 100644
break;
diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
-index f2ad0c355d..3e6773795e 100644
+index 4fd5f70700..1a21e4675c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c
+++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
@@ -73,11 +73,25 @@ __libc_start_main (int argc, char **argv,
@@ -78,3 +78,6 @@ index f2ad0c355d..3e6773795e 100644
__cache_line_size = av->a_un.a_val;
break;
#ifndef SHARED
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
index 8aecf2624..fb1b43b18 100644
--- a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
@@ -1,7 +1,7 @@
-From 55531ef57d04006c5a1e3b32a8e0410372f86007 Mon Sep 17 00:00:00 2001
+From 19f041215673d4499ee9b23805d5c224c4063689 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:55:53 +0000
-Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
+Subject: [PATCH 21/30] eglibc: Resolve __fpscr_values on SH4
2010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Andrew Stubbs <ams@codesourcery.com>
@@ -33,7 +33,7 @@ index e0938c4165..ca1d7da339 100644
# a*
alphasort64;
diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S
-index c4e28ffb98..648bae03d5 100644
+index 6ce36d6dd5..425811cc77 100644
--- a/sysdeps/unix/sysv/linux/sh/sysdep.S
+++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
@@ -30,3 +30,14 @@ ENTRY (__syscall_error)
@@ -51,3 +51,6 @@ index c4e28ffb98..648bae03d5 100644
+ .long 0x80000
+weak_alias (___fpscr_values, __fpscr_values)
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
index aa62c6352..a2d35d43e 100644
--- a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
@@ -1,7 +1,7 @@
-From 4bb23fbb07984b93fd14f353fd9325d927b0cd98 Mon Sep 17 00:00:00 2001
+From 1ae15f60a84f16187e06a05906f44a6658bae487 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:33:49 +0000
-Subject: [PATCH] eglibc: Forward port cross locale generation support
+Subject: [PATCH 22/30] eglibc: Forward port cross locale generation support
Upstream-Status: Pending
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 locale/catnames.c
diff --git a/locale/Makefile b/locale/Makefile
-index fd9972279b..176b3946de 100644
+index 764e751c36..866957fefa 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \
@@ -91,7 +91,7 @@ index 0000000000..9fad357db1
+ [LC_ALL] = sizeof ("LC_ALL") - 1
+ };
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 537bc35149..73ba20d695 100644
+index 53cb8bfc59..92c466200c 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -224,7 +224,7 @@ __libc_tsd_define (extern, locale_t, LOCALE)
@@ -104,7 +104,7 @@ index 537bc35149..73ba20d695 100644
# define NL_CURRENT_INDIRECT 1
#endif
diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
-index 34a8d32c92..cbb9436cd1 100644
+index 94c122df68..80e53e12c8 100644
--- a/locale/programs/charmap-dir.c
+++ b/locale/programs/charmap-dir.c
@@ -18,7 +18,9 @@
@@ -150,7 +150,7 @@ index 34a8d32c92..cbb9436cd1 100644
return NULL;
}
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
-index d2eebcfdbb..c3718d6589 100644
+index bb4e2c539d..9d08d422c4 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -349,7 +349,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
@@ -199,7 +199,7 @@ index d2eebcfdbb..c3718d6589 100644
== runp->wcnext->wcs[runp->nwcs - 1] + 1));
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
-index f791e6b7e9..d809d6db7f 100644
+index 36fd08ba80..08155a27d6 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -915,7 +915,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
@@ -281,7 +281,7 @@ index f791e6b7e9..d809d6db7f 100644
srunp = srunp->next;
}
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
-index a755792363..e8b2f85522 100644
+index 8e9849fdba..028d3efa9f 100644
--- a/locale/programs/ld-time.c
+++ b/locale/programs/ld-time.c
@@ -220,8 +220,10 @@ No definition for %s category found"), "LC_TIME");
@@ -350,7 +350,7 @@ index a755792363..e8b2f85522 100644
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
-index 3525c8a43d..f8a7fd9c24 100644
+index ed3a9731d0..3178ea057a 100644
--- a/locale/programs/linereader.c
+++ b/locale/programs/linereader.c
@@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
@@ -363,18 +363,18 @@ index 3525c8a43d..f8a7fd9c24 100644
size_t bufmax = 56;
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
-index d718d2e9f4..e0a3ad5a83 100644
+index b7bcef8248..efeced1e0f 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
-@@ -105,6 +105,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
- #define OPT_BIG_ENDIAN 401
+@@ -109,6 +109,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
#define OPT_NO_WARN 402
#define OPT_WARN 403
-+#define OPT_UINT32_ALIGN 404
+ #define OPT_NO_HARD_LINKS 404
++#define OPT_UINT32_ALIGN 405
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
-@@ -147,6 +148,8 @@ static const struct argp_option options[] =
+@@ -153,6 +154,8 @@ static const struct argp_option options[] =
N_("Generate little-endian output") },
{ "big-endian", OPT_BIG_ENDIAN, NULL, 0,
N_("Generate big-endian output") },
@@ -383,7 +383,7 @@ index d718d2e9f4..e0a3ad5a83 100644
{ NULL, 0, NULL, 0, NULL }
};
-@@ -236,12 +239,14 @@ main (int argc, char *argv[])
+@@ -242,12 +245,14 @@ main (int argc, char *argv[])
ctype locale. (P1003.2 4.35.5.2) */
setlocale (LC_CTYPE, "POSIX");
@@ -398,9 +398,9 @@ index d718d2e9f4..e0a3ad5a83 100644
/* Process charmap file. */
charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1);
-@@ -389,6 +394,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
- /* Enable the warnings. */
- set_warnings (arg, true);
+@@ -399,6 +404,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
+ /* Do not hard link to other locales. */
+ hard_links = false;
break;
+ case OPT_UINT32_ALIGN:
+ uint32_align_mask = strtol (arg, NULL, 0) - 1;
@@ -409,7 +409,7 @@ index d718d2e9f4..e0a3ad5a83 100644
force_output = 1;
break;
diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
-index 32e5f761f2..b41e77bd8d 100644
+index e4ba48e968..e7b0efe887 100644
--- a/locale/programs/locfile.c
+++ b/locale/programs/locfile.c
@@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size,
@@ -432,7 +432,7 @@ index 32e5f761f2..b41e77bd8d 100644
/* Record that FILE's next element is the 32-bit integer VALUE. */
diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h
-index 89b347c72d..a636fc2960 100644
+index c063fc097d..4e7465e55a 100644
--- a/locale/programs/locfile.h
+++ b/locale/programs/locfile.h
@@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions,
@@ -521,7 +521,7 @@ index 89b347c72d..a636fc2960 100644
+
#endif /* locfile.h */
diff --git a/locale/setlocale.c b/locale/setlocale.c
-index e4de907e1f..b5d8f5c17d 100644
+index 9427a5ad28..8f4140d684 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -64,36 +64,6 @@ static char *const _nl_current_used[] =
@@ -561,3 +561,6 @@ index e4de907e1f..b5d8f5c17d 100644
#ifdef NL_CURRENT_INDIRECT
# define WEAK_POSTLOAD(postload) weak_extern (postload)
#else
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
index 68fad9641..0f7c5fdf7 100644
--- a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
@@ -1,7 +1,7 @@
-From 1b2ceb6c2414e3c98c7bcd029583287ced9f3159 Mon Sep 17 00:00:00 2001
+From 809c79b7d554a4ec83921df9d8773c99a03dc81c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 20 Apr 2016 21:11:00 -0700
-Subject: [PATCH] Define DUMMY_LOCALE_T if not defined
+Subject: [PATCH 23/30] Define DUMMY_LOCALE_T if not defined
This is a hack to fix building the locale bits on an older
CentOs 5.X machine
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 3 insertions(+)
diff --git a/locale/programs/config.h b/locale/programs/config.h
-index 9956cd8446..04342f3644 100644
+index a1e6e0ec3c..7f75528eae 100644
--- a/locale/programs/config.h
+++ b/locale/programs/config.h
@@ -19,6 +19,9 @@
@@ -27,3 +27,6 @@ index 9956cd8446..04342f3644 100644
/* Use the internal textdomain used for libc messages. */
#define PACKAGE _libc_intl_domainname
#ifndef VERSION
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
deleted file mode 100644
index 28cff2b90..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From a6159c9486745664a5f116ee9cc45837021b7624 Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@windriver.com>
-Date: Thu, 18 Aug 2016 14:07:58 -0500
-Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first
-
-According to the ELF specification:
-
-When resolving symbolic references, the dynamic linker examines the symbol
-tables with a breadth-first search.
-
-This function was using a depth first search. By doing so the conflict
-resolution reported to the prelinker (when LD_TRACE_PRELINKING=1 is set)
-was incorrect. This caused problems when their were various circular
-dependencies between libraries. The problem usually manifested itself by
-the wrong IFUNC being executed.
-
-[BZ# 20488]
-
-Upstream-Status: Submitted [libc-alpha]
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- elf/dl-deps.c | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/elf/dl-deps.c b/elf/dl-deps.c
-index 9d9b1ba7f2..8414028c58 100644
---- a/elf/dl-deps.c
-+++ b/elf/dl-deps.c
-@@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map)
- {
- struct link_map **p = list;
- struct link_map **q;
-+ struct link_map **r;
-
- *p++ = map;
- map->l_reserved = 1;
-- if (map->l_initfini)
-- for (q = map->l_initfini + 1; *q; ++q)
-- if (! (*q)->l_reserved)
-- p += _dl_build_local_scope (p, *q);
-+
-+ for (r = list; r < p; ++r)
-+ if ((*r)->l_initfini)
-+ for (q = (*r)->l_initfini + 1; *q; ++q)
-+ if (! (*q)->l_reserved)
-+ {
-+ *p++ = *q;
-+ (*q)->l_reserved = 1;
-+ }
- return p - list;
- }
-
diff --git a/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
new file mode 100644
index 000000000..c289e544e
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
@@ -0,0 +1,84 @@
+From b2d1c9b4159bfd661a4996588d06d922491dfecb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 3 Aug 2018 09:42:06 -0700
+Subject: [PATCH 24/30] localedef --add-to-archive uses a hard-coded locale
+ path
+
+it doesn't exist in normal use, and there's no way to pass an
+alternative filename.
+
+Add a fallback of $LOCALEARCHIVE from the environment, and allow
+creation of new locale archives that are not the system archive.
+
+Upstream-Status: Inappropriate (OE-specific)
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ locale/programs/locarchive.c | 35 +++++++++++++++++++++++++----------
+ 1 file changed, 25 insertions(+), 10 deletions(-)
+
+diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
+index e6310b18be..f54a76eade 100644
+--- a/locale/programs/locarchive.c
++++ b/locale/programs/locarchive.c
+@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
+ struct namehashent *oldnamehashtab;
+ struct locarhandle new_ah;
+ size_t prefix_len = output_prefix ? strlen (output_prefix) : 0;
+- char archivefname[prefix_len + sizeof (ARCHIVE_NAME)];
+- char fname[prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1];
++ char *archivefname;
++ char *fname;
++ char *envarchive = getenv("LOCALEARCHIVE");
+
+- if (output_prefix)
+- memcpy (archivefname, output_prefix, prefix_len);
+- strcpy (archivefname + prefix_len, ARCHIVE_NAME);
++ if (envarchive != NULL)
++ {
++ archivefname = xmalloc(strlen(envarchive) + 1);
++ fname = xmalloc(strlen(envarchive) + sizeof (".XXXXXX"));
++ strcpy (archivefname, envarchive);
++ }
++ else
++ {
++ archivefname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME));
++ fname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1);
++ if (output_prefix)
++ memcpy (archivefname, output_prefix, prefix_len);
++ strcpy (archivefname + prefix_len, ARCHIVE_NAME);
++ }
+ strcpy (stpcpy (fname, archivefname), ".XXXXXX");
+
+ /* Not all of the old file has to be mapped. Change this now this
+@@ -569,10 +581,13 @@ open_archive (struct locarhandle *ah, bool readonly)
+ /* If ah has a non-NULL fname open that otherwise open the default. */
+ if (archivefname == NULL)
+ {
+- archivefname = default_fname;
+- if (output_prefix)
+- memcpy (default_fname, output_prefix, prefix_len);
+- strcpy (default_fname + prefix_len, ARCHIVE_NAME);
++ archivefname = getenv("LOCALEARCHIVE");
++ if (archivefname == NULL) {
++ archivefname = default_fname;
++ if (output_prefix)
++ memcpy (default_fname, output_prefix, prefix_len);
++ strcpy (default_fname + prefix_len, ARCHIVE_NAME);
++ }
+ }
+
+ while (1)
+@@ -585,7 +600,7 @@ open_archive (struct locarhandle *ah, bool readonly)
+ the default locale archive we ignore the failure and
+ list an empty archive, otherwise we print an error
+ and exit. */
+- if (errno == ENOENT && archivefname == default_fname)
++ if (errno == ENOENT)
+ {
+ if (readonly)
+ {
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
new file mode 100644
index 000000000..0ddd2e58b
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
@@ -0,0 +1,56 @@
+From 804b05a034bfaf4e3427243e6baf736086822cd0 Mon Sep 17 00:00:00 2001
+From: Mark Hatle <mark.hatle@windriver.com>
+Date: Thu, 18 Aug 2016 14:07:58 -0500
+Subject: [PATCH 25/30] elf/dl-deps.c: Make _dl_build_local_scope breadth first
+
+According to the ELF specification:
+
+When resolving symbolic references, the dynamic linker examines the symbol
+tables with a breadth-first search.
+
+This function was using a depth first search. By doing so the conflict
+resolution reported to the prelinker (when LD_TRACE_PRELINKING=1 is set)
+was incorrect. This caused problems when their were various circular
+dependencies between libraries. The problem usually manifested itself by
+the wrong IFUNC being executed.
+
+[BZ# 20488]
+
+Upstream-Status: Submitted [libc-alpha]
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+---
+ elf/dl-deps.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/elf/dl-deps.c b/elf/dl-deps.c
+index e12c353158..9234daac05 100644
+--- a/elf/dl-deps.c
++++ b/elf/dl-deps.c
+@@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map)
+ {
+ struct link_map **p = list;
+ struct link_map **q;
++ struct link_map **r;
+
+ *p++ = map;
+ map->l_reserved = 1;
+- if (map->l_initfini)
+- for (q = map->l_initfini + 1; *q; ++q)
+- if (! (*q)->l_reserved)
+- p += _dl_build_local_scope (p, *q);
++
++ for (r = list; r < p; ++r)
++ if ((*r)->l_initfini)
++ for (q = (*r)->l_initfini + 1; *q; ++q)
++ if (! (*q)->l_reserved)
++ {
++ *p++ = *q;
++ (*q)->l_reserved = 1;
++ }
+ return p - list;
+ }
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
deleted file mode 100644
index 4a7919ff5..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 6c6aecba19b3e7947100623532a41b6f16734ace Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= <jeremy.rosen@smile.fr>
-Date: Mon, 22 Aug 2016 16:09:25 +0200
-Subject: [PATCH] locale: fix hard-coded reference to gcc -E
-
-When new version of compilers are published, they may not be compatible with
-older versions of software. This is particularly common when software is built
-with -Werror.
-
-Autotools provides a way for a user to specify the name of his compiler using a
-set of variables ($CC $CXX $CPP etc.). Those variables are used correctly when
-compiling glibc but the script used to generate transliterations in the locale/
-subdirectory directly calls the gcc binary to get the output of the
-preprocessor instead of using the $CPP variable provided by the build
-environment.
-
-This patch replaces the hard-coded reference to the gcc binary with the proper
-environment variable, thus allowing a user to override it.
-
-Upstream-Status: Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html]
----
- locale/gen-translit.pl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/locale/gen-translit.pl b/locale/gen-translit.pl
-index 30d3f2f195..e97653017c 100644
---- a/locale/gen-translit.pl
-+++ b/locale/gen-translit.pl
-@@ -1,5 +1,5 @@
- #!/usr/bin/perl -w
--open F, "cat C-translit.h.in | gcc -E - |" || die "Cannot preprocess input file";
-+open F, 'cat C-translit.h.in | ${CPP:-gcc -E} - |' || die "Cannot preprocess input file";
-
-
- sub cstrlen {
diff --git a/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch b/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
deleted file mode 100644
index 71ddc1234..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From efb0fca7db742f4195e1771d8ba4c7fba4938819 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Jan 2018 10:05:07 -0800
-Subject: [PATCH] reset dl_load_write_lock after forking
-
-The patch in this Bugzilla entry was requested by a customer:
-
- https://www.sourceware.org/bugzilla/show_bug.cgi?id=19282
-
-The __libc_fork() code reset dl_load_lock, but it also needed to reset
-dl_load_write_lock. The patch has not yet been integrated upstream.
-
-Upstream-Status: Pending [ No Author See bugzilla]
-
-Signed-off-by: Damodar Sonone <damodar.sonone@kpit.com>
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sysdeps/nptl/fork.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
-index ec56a827eb..0f48933ff1 100644
---- a/sysdeps/nptl/fork.c
-+++ b/sysdeps/nptl/fork.c
-@@ -130,9 +130,9 @@ __libc_fork (void)
- _IO_list_resetlock ();
- }
-
-- /* Reset the lock the dynamic loader uses to protect its data. */
-+ /* Reset the locks the dynamic loader uses to protect its data. */
- __rtld_lock_initialize (GL(dl_load_lock));
--
-+ __rtld_lock_initialize (GL(dl_load_write_lock));
- /* Run the handlers registered for the child. */
- __run_fork_handlers (atfork_run_child);
- }
diff --git a/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch b/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
deleted file mode 100644
index dd37f2cd4..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 6ea962e0946da7564a774b08dd3eda28d64e9e56 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Jan 2018 10:08:04 -0800
-Subject: [PATCH] Acquire ld.so lock before switching to malloc_atfork
-
-The patch is from
- https://sourceware.org/bugzilla/show_bug.cgi?id=4578
-
-If a thread happens to hold dl_load_lock and have r_state set to RT_ADD or
-RT_DELETE at the time another thread calls fork(), then the child exit code
-from fork (in nptl/sysdeps/unix/sysv/linux/fork.c in our case) re-initializes
-dl_load_lock but does not restore r_state to RT_CONSISTENT. If the child
-subsequently requires ld.so functionality before calling exec(), then the
-assertion will fire.
-
-The patch acquires dl_load_lock on entry to fork() and releases it on exit
-from the parent path. The child path is initialized as currently done.
-This is essentially pthreads_atfork, but forced to be first because the
-acquisition of dl_load_lock must happen before malloc_atfork is active
-to avoid a deadlock.
-
-The patch has not yet been integrated upstream.
-
-Upstream-Status: Pending [ Not Author See bugzilla]
-
-Signed-off-by: Raghunath Lolur <Raghunath.Lolur@kpit.com>
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sysdeps/nptl/fork.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
-index 0f48933ff1..eef3f9669b 100644
---- a/sysdeps/nptl/fork.c
-+++ b/sysdeps/nptl/fork.c
-@@ -25,6 +25,7 @@
- #include <tls.h>
- #include <hp-timing.h>
- #include <ldsodefs.h>
-+#include <libc-lock.h>
- #include <stdio-lock.h>
- #include <atomic.h>
- #include <nptl/pthreadP.h>
-@@ -56,6 +57,9 @@ __libc_fork (void)
- bool multiple_threads = THREAD_GETMEM (THREAD_SELF, header.multiple_threads);
-
- __run_fork_handlers (atfork_run_prepare);
-+ /* grab ld.so lock BEFORE switching to malloc_atfork */
-+ __rtld_lock_lock_recursive (GL(dl_load_lock));
-+ __rtld_lock_lock_recursive (GL(dl_load_write_lock));
-
- /* If we are not running multiple threads, we do not have to
- preserve lock state. If fork runs from a signal handler, only
-@@ -150,6 +154,9 @@ __libc_fork (void)
-
- /* Run the handlers registered for the parent. */
- __run_fork_handlers (atfork_run_parent);
-+ /* unlock ld.so last, because we locked it first */
-+ __rtld_lock_unlock_recursive (GL(dl_load_write_lock));
-+ __rtld_lock_unlock_recursive (GL(dl_load_lock));
- }
-
- return pid;
diff --git a/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch b/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
deleted file mode 100644
index fae8d0040..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 38fad3e5ab3b45c56810abd35fa11a72fa10b8f1 Mon Sep 17 00:00:00 2001
-From: Pratyush Anand <panand@redhat.com>
-Date: Wed, 22 Mar 2017 17:02:38 +0530
-Subject: [PATCH] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT is
- missing
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Compile following linux kernel test code with latest glibc:
-
-https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
-
-and we get following error:
-breakpoint_test_arm64.c: In function â€run_test’:
-breakpoint_test_arm64.c:171:25: error: â€TRAP_HWBKPT’ undeclared (first use in this function)
- if (siginfo.si_code != TRAP_HWBKPT) {
- ^
-I can compile test code by modifying my local
-/usr/include/bits/siginfo.h and test works great. Therefore, this patch
-will be needed in upstream glibc so that issue is fixed there as well.
-
-Signed-off-by: Pratyush Anand <panand@redhat.com>
-
-Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=21286]
----
- bits/siginfo-consts.h | 6 +++++-
- sysdeps/unix/sysv/linux/bits/siginfo-consts.h | 6 +++++-
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/bits/siginfo-consts.h b/bits/siginfo-consts.h
-index 7464c1882b..298314527a 100644
---- a/bits/siginfo-consts.h
-+++ b/bits/siginfo-consts.h
-@@ -106,8 +106,12 @@ enum
- {
- TRAP_BRKPT = 1, /* Process breakpoint. */
- # define TRAP_BRKPT TRAP_BRKPT
-- TRAP_TRACE /* Process trace trap. */
-+ TRAP_TRACE, /* Process trace trap. */
- # define TRAP_TRACE TRAP_TRACE
-+ TRAP_BRANCH, /* Process branch trap. */
-+# define TRAP_BRANCH TRAP_BRANCH
-+ TRAP_HWBKPT /* hardware breakpoint/watchpoint */
-+# define TRAP_HWBKPT TRAP_HWBKPT
- };
- # endif
-
-diff --git a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
-index 193bd9c471..3fe852bc5f 100644
---- a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
-+++ b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
-@@ -141,8 +141,12 @@ enum
- {
- TRAP_BRKPT = 1, /* Process breakpoint. */
- # define TRAP_BRKPT TRAP_BRKPT
-- TRAP_TRACE /* Process trace trap. */
-+ TRAP_TRACE, /* Process trace trap. */
- # define TRAP_TRACE TRAP_TRACE
-+ TRAP_BRANCH, /* Process branch trap. */
-+# define TRAP_BRANCH TRAP_BRANCH
-+ TRAP_HWBKPT /* hardware breakpoint/watchpoint */
-+# define TRAP_HWBKPT TRAP_HWBKPT
- };
- # endif
-
diff --git a/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch
new file mode 100644
index 000000000..0eb006ffb
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch
@@ -0,0 +1,34 @@
+From 39f910a4b8195d0538425aad7f0ebdc232b7a582 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 3 Aug 2018 09:44:00 -0700
+Subject: [PATCH 28/30] intl: Emit no lines in bison generated files
+
+Improve reproducibility:
+Do not put any #line preprocessor commands in bison generated files.
+These lines contain absolute paths containing file locations on
+the host build machine.
+
+Upstream-Status: Pending
+
+Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ intl/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/intl/Makefile b/intl/Makefile
+index 9eea8d57e3..627dce4cf1 100644
+--- a/intl/Makefile
++++ b/intl/Makefile
+@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out
+
+ CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \
+ -D'LOCALE_ALIAS_PATH="$(localedir)"'
+-BISONFLAGS = --yacc --name-prefix=__gettext --output
++BISONFLAGS = --yacc --no-lines --name-prefix=__gettext --output
+
+ $(inst_localedir)/locale.alias: locale.alias $(+force)
+ $(do-install)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch b/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch
new file mode 100644
index 000000000..2874fb581
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch
@@ -0,0 +1,304 @@
+From 649bfb399265eb48a9fe8db1c2b5a31633c55152 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Nov 2018 17:29:35 -0800
+Subject: [PATCH 29/30] inject file assembly directives
+
+Currently, non-IA builds are not reproducibile since build paths are
+being injected into the debug symbols. These are coming from the use of
+.S assembler files during the glibc build. No STT_FILE section is added
+during the assembly but when linking, ld decides to add one to aid
+debugging and ensure references between the different object files its
+linking remain clear.
+
+We can avoid this by injecting a file header into the assembler files
+ahead of time, choosing a filename which does not contain build system
+paths.
+
+This is a bit of a workaround/hack but does significantly reduce the
+build system references in target binaries for the non-IA architectures
+which use .S files.
+
+RP
+2018/10/3
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ csu/abi-note.S | 2 ++
+ sysdeps/aarch64/crti.S | 2 ++
+ sysdeps/aarch64/crtn.S | 2 ++
+ sysdeps/aarch64/dl-tlsdesc.S | 2 ++
+ sysdeps/aarch64/dl-trampoline.S | 2 ++
+ sysdeps/aarch64/start.S | 2 ++
+ sysdeps/arm/abi-note.S | 2 ++
+ sysdeps/arm/crti.S | 2 ++
+ sysdeps/arm/crtn.S | 2 ++
+ sysdeps/arm/dl-tlsdesc.S | 2 ++
+ sysdeps/arm/dl-trampoline.S | 2 ++
+ sysdeps/arm/start.S | 2 ++
+ sysdeps/mips/start.S | 2 ++
+ sysdeps/powerpc/powerpc32/dl-start.S | 2 ++
+ sysdeps/powerpc/powerpc32/start.S | 2 ++
+ sysdeps/powerpc/powerpc64/start.S | 2 ++
+ sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 2 ++
+ sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++
+ sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++
+ sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++
+ 20 files changed, 40 insertions(+)
+
+diff --git a/csu/abi-note.S b/csu/abi-note.S
+index fa1f014a88..098731362a 100644
+--- a/csu/abi-note.S
++++ b/csu/abi-note.S
+@@ -56,6 +56,8 @@ offset length contents
+ #include <config.h>
+ #include <abi-tag.h> /* OS-specific ABI tag value */
+
++ .file "abi-note.S"
++
+ /* The linker (GNU ld 2.8 and later) recognizes an allocated section whose
+ name begins with `.note' and creates a PT_NOTE program header entry
+ pointing at it. */
+diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S
+index d4e7dfcf5c..e0218df30c 100644
+--- a/sysdeps/aarch64/crti.S
++++ b/sysdeps/aarch64/crti.S
+@@ -50,6 +50,8 @@
+ # define PREINIT_FUNCTION_WEAK 1
+ #endif
+
++ .file "crti.S"
++
+ #if PREINIT_FUNCTION_WEAK
+ weak_extern (PREINIT_FUNCTION)
+ #else
+diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S
+index 363f752460..2fb06fba62 100644
+--- a/sysdeps/aarch64/crtn.S
++++ b/sysdeps/aarch64/crtn.S
+@@ -37,6 +37,8 @@
+ /* crtn.S puts function epilogues in the .init and .fini sections
+ corresponding to the prologues in crti.S. */
+
++ .file "crtn.S"
++
+ .section .init,"ax",%progbits
+ ldp x29, x30, [sp], 16
+ RET
+diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S
+index 4abe6b82a3..8c44b2ff8a 100644
+--- a/sysdeps/aarch64/dl-tlsdesc.S
++++ b/sysdeps/aarch64/dl-tlsdesc.S
+@@ -22,6 +22,8 @@
+ #include <tls.h>
+ #include "tlsdesc.h"
+
++ .file "dl-tlsdesc.S"
++
+ #define NSAVEDQREGPAIRS 16
+ #define SAVE_Q_REGISTERS \
+ stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \
+diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S
+index 19b117e8f9..38c78b5409 100644
+--- a/sysdeps/aarch64/dl-trampoline.S
++++ b/sysdeps/aarch64/dl-trampoline.S
+@@ -21,6 +21,8 @@
+
+ #include "dl-link.h"
+
++ .file "dl-trampoline.S"
++
+ #define ip0 x16
+ #define ip0l PTR_REG (16)
+ #define ip1 x17
+diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
+index f5e9b9c223..ae3e22a6a5 100644
+--- a/sysdeps/aarch64/start.S
++++ b/sysdeps/aarch64/start.S
+@@ -18,6 +18,8 @@
+
+ #include <sysdep.h>
+
++ .file "start.S"
++
+ /* This is the canonical entry point, usually the first thing in the text
+ segment.
+
+diff --git a/sysdeps/arm/abi-note.S b/sysdeps/arm/abi-note.S
+index 07bd4c4619..7213b16f27 100644
+--- a/sysdeps/arm/abi-note.S
++++ b/sysdeps/arm/abi-note.S
+@@ -1,3 +1,5 @@
++ .file "abi-note.S"
++
+ /* Tag_ABI_align8_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+diff --git a/sysdeps/arm/crti.S b/sysdeps/arm/crti.S
+index 26dbba66a3..dd84ecd566 100644
+--- a/sysdeps/arm/crti.S
++++ b/sysdeps/arm/crti.S
+@@ -57,6 +57,8 @@
+ .hidden PREINIT_FUNCTION
+ #endif
+
++ .file "crti.S"
++
+ #if PREINIT_FUNCTION_WEAK
+ .p2align 2
+ .type call_weak_fn, %function
+diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S
+index 8f91c8d88b..a87fe49e07 100644
+--- a/sysdeps/arm/crtn.S
++++ b/sysdeps/arm/crtn.S
+@@ -37,6 +37,8 @@
+ #define NO_THUMB
+ #include <sysdep.h>
+
++ .file "crtn.S"
++
+ /* crtn.S puts function epilogues in the .init and .fini sections
+ corresponding to the prologues in crti.S. */
+
+diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S
+index a929340b42..b724c9776d 100644
+--- a/sysdeps/arm/dl-tlsdesc.S
++++ b/sysdeps/arm/dl-tlsdesc.S
+@@ -21,6 +21,8 @@
+ #include <tls.h>
+ #include "tlsdesc.h"
+
++ .file "dl-tlsdesc.S"
++
+ .text
+ @ emit debug information with cfi
+ @ use arm-specific pseudos for unwinding itself
+diff --git a/sysdeps/arm/dl-trampoline.S b/sysdeps/arm/dl-trampoline.S
+index 325cfcd2ce..4bfdcbce51 100644
+--- a/sysdeps/arm/dl-trampoline.S
++++ b/sysdeps/arm/dl-trampoline.S
+@@ -21,6 +21,8 @@
+ #include <sysdep.h>
+ #include <libc-symbols.h>
+
++ .file "dl-trampoline.S"
++
+ .text
+ .globl _dl_runtime_resolve
+ .type _dl_runtime_resolve, #function
+diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S
+index a05f8a4651..2f4374fcaa 100644
+--- a/sysdeps/arm/start.S
++++ b/sysdeps/arm/start.S
+@@ -57,6 +57,8 @@
+ NULL
+ */
+
++ .file "start.S"
++
+ /* Tag_ABI_align8_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S
+index 8638e5b545..93f6564aec 100644
+--- a/sysdeps/mips/start.S
++++ b/sysdeps/mips/start.S
+@@ -38,6 +38,8 @@
+ #include <sgidefs.h>
+ #include <sys/asm.h>
+
++ .file "start.S"
++
+ #ifndef ENTRY_POINT
+ #error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
+ #endif
+diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S
+index 99a10d643a..e47fc0d245 100644
+--- a/sysdeps/powerpc/powerpc32/dl-start.S
++++ b/sysdeps/powerpc/powerpc32/dl-start.S
+@@ -18,6 +18,8 @@
+
+ #include <sysdep.h>
+
++ .file "dl-start.S"
++
+ /* Initial entry point code for the dynamic linker.
+ The C function `_dl_start' is the real entry point;
+ its return value is the user program's entry point. */
+diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S
+index 172fb5a56b..ef1471b861 100644
+--- a/sysdeps/powerpc/powerpc32/start.S
++++ b/sysdeps/powerpc/powerpc32/start.S
+@@ -35,6 +35,8 @@
+
+ #include <sysdep.h>
+
++ .file "start.S"
++
+ /* We do not want .eh_frame info for crt1.o since crt1.o is linked
+ before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
+ #undef cfi_startproc
+diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S
+index 55fae68ad6..0cb608fe0f 100644
+--- a/sysdeps/powerpc/powerpc64/start.S
++++ b/sysdeps/powerpc/powerpc64/start.S
+@@ -35,6 +35,8 @@
+
+ #include <sysdep.h>
+
++ .file "start.S"
++
+ /* We do not want .eh_frame info for crt1.o since crt1.o is linked
+ before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
+ #undef cfi_startproc
+diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
+index 30a29b9fb0..07892b383f 100644
+--- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
++++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
+@@ -18,6 +18,8 @@
+
+ #include <sysdep.h>
+
++ .file "__read_tp.S"
++
+ .hidden __read_tp
+ ENTRY (__read_tp)
+ mrs x0, tpidr_el0
+diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
+index f64c4ffe8a..2da315ab08 100644
+--- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
++++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
+@@ -39,6 +39,8 @@
+ a normal function call) in a high page of memory; tail call to the
+ helper. */
+
++ .file "aeabi_read_tp.S"
++
+ .hidden __aeabi_read_tp
+ ENTRY (__aeabi_read_tp)
+ #ifdef ARCH_HAS_HARD_TP
+diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
+index 0b6237ac55..8cda491c28 100644
+--- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
++++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
+@@ -27,6 +27,8 @@
+ ARM unwind tables for register to register moves, the actual opcodes
+ are not defined. */
+
++ .file "libc-do-syscall.S"
++
+ #if defined(__thumb__)
+ .thumb
+ .syntax unified
+diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
+index eeb96544e3..da182b28f8 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
++++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
+@@ -1 +1,3 @@
++ .file "dl-brk.S"
++
+ #include <brk.S>
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
deleted file mode 100644
index e17f6aa3b..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 865651d2496a90f7ae8e7cc19a2e54b6f17a8ad5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 3 Aug 2018 09:42:06 -0700
-Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
-
-it doesn't exist in normal use, and there's no way to pass an
-alternative filename.
-
-Add a fallback of $LOCALEARCHIVE from the environment, and allow
-creation of new locale archives that are not the system archive.
-
-Upstream-Status: Inappropriate (OE-specific)
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- locale/programs/locarchive.c | 37 ++++++++++++++++++++++++++----------
- 1 file changed, 27 insertions(+), 10 deletions(-)
-
-diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
-index ca332a345f..91f62da662 100644
---- a/locale/programs/locarchive.c
-+++ b/locale/programs/locarchive.c
-@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
- struct namehashent *oldnamehashtab;
- struct locarhandle new_ah;
- size_t prefix_len = output_prefix ? strlen (output_prefix) : 0;
-- char archivefname[prefix_len + sizeof (ARCHIVE_NAME)];
-- char fname[prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1];
-+ char *archivefname;
-+ char *fname;
-+ char *envarchive = getenv("LOCALEARCHIVE");
-
-- if (output_prefix)
-- memcpy (archivefname, output_prefix, prefix_len);
-- strcpy (archivefname + prefix_len, ARCHIVE_NAME);
-+ if (envarchive != NULL)
-+ {
-+ archivefname = xmalloc(strlen(envarchive) + 1);
-+ fname = xmalloc(strlen(envarchive) + sizeof (".XXXXXX"));
-+ strcpy (archivefname, envarchive);
-+ }
-+ else
-+ {
-+ archivefname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME));
-+ fname = xmalloc(prefix_len + sizeof (ARCHIVE_NAME) + sizeof (".XXXXXX") - 1);
-+ if (output_prefix)
-+ memcpy (archivefname, output_prefix, prefix_len);
-+ strcpy (archivefname + prefix_len, ARCHIVE_NAME);
-+ }
- strcpy (stpcpy (fname, archivefname), ".XXXXXX");
-
- /* Not all of the old file has to be mapped. Change this now this
-@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
-
- /* Add the information for the new one. */
- *ah = new_ah;
-+ free(archivefname);
-+ free(fname);
- }
-
-
-@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bool readonly)
- /* If ah has a non-NULL fname open that otherwise open the default. */
- if (archivefname == NULL)
- {
-- archivefname = default_fname;
-- if (output_prefix)
-- memcpy (default_fname, output_prefix, prefix_len);
-- strcpy (default_fname + prefix_len, ARCHIVE_NAME);
-+ archivefname = getenv("LOCALEARCHIVE");
-+ if (archivefname == NULL) {
-+ archivefname = default_fname;
-+ if (output_prefix)
-+ memcpy (default_fname, output_prefix, prefix_len);
-+ strcpy (default_fname + prefix_len, ARCHIVE_NAME);
-+ }
- }
-
- while (1)
-@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bool readonly)
- the default locale archive we ignore the failure and
- list an empty archive, otherwise we print an error
- and exit. */
-- if (errno == ENOENT && archivefname == default_fname)
-+ if (errno == ENOENT)
- {
- if (readonly)
- {
diff --git a/poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
deleted file mode 100644
index db97d91c9..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a54c15d0567d547137066f41b1b22eba4875c27b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 3 Aug 2018 09:44:00 -0700
-Subject: [PATCH] intl: Emit no lines in bison generated files
-
-Improve reproducibility:
-Do not put any #line preprocessor commands in bison generated files.
-These lines contain absolute paths containing file locations on
-the host build machine.
-
-Upstream-Status: Pending
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- intl/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/intl/Makefile b/intl/Makefile
-index 672edf1b38..d31888d013 100644
---- a/intl/Makefile
-+++ b/intl/Makefile
-@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out
-
- CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \
- -D'LOCALE_ALIAS_PATH="$(localedir)"'
--BISONFLAGS = --yacc --name-prefix=__gettext --output
-+BISONFLAGS = --yacc --no-lines --name-prefix=__gettext --output
-
- $(inst_localedir)/locale.alias: locale.alias $(+force)
- $(do-install)
diff --git a/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
new file mode 100644
index 000000000..adc242400
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
@@ -0,0 +1,56 @@
+From 6ddab9c8692e6a777c2e2e7a6ca26a65df7d2c5d Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Mon, 17 Dec 2018 21:36:18 +0000
+Subject: [PATCH 30/30] locale: prevent maybe-uninitialized errors with -Os [BZ
+ #19444]
+
+Fixes following error when building for aarch64 with -Os:
+| In file included from strcoll_l.c:43:
+| strcoll_l.c: In function '__strcoll_l':
+| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+| int_fast32_t i = table[*(*cpp)++];
+| ^~~~~~~~~
+| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here
+| coll_seq seq1, seq2;
+| ^~~~
+| In file included from strcoll_l.c:43:
+| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+| int_fast32_t i = table[*(*cpp)++];
+| ^~~~~~~~~
+| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here
+| coll_seq seq1, seq2;
+| ^~~~
+
+ Partial fix for [BZ #19444]
+ * locale/weight.h: Fix build with -Os.
+
+Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1014766]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ locale/weight.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/locale/weight.h b/locale/weight.h
+index 7ca81498b2..d608ca70bb 100644
+--- a/locale/weight.h
++++ b/locale/weight.h
+@@ -28,7 +28,14 @@ findidx (const int32_t *table,
+ const unsigned char *extra,
+ const unsigned char **cpp, size_t len)
+ {
++ /* With GCC 8 when compiling with -Os the compiler warns that
++ seq1.back_us and seq2.back_us might be used uninitialized.
++ This uninitialized use is impossible for the same reason
++ as described in comments in locale/weightwc.h. */
++ DIAG_PUSH_NEEDS_COMMENT;
++ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ int_fast32_t i = table[*(*cpp)++];
++ DIAG_POP_NEEDS_COMMENT;
+ const unsigned char *cp;
+ const unsigned char *usrc;
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch b/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
deleted file mode 100644
index 61f55d4f8..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 546b46c309a52ed74dc906114b1e984bb9703d74 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 14 Sep 2018 23:23:03 +0000
-Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors with -O
- [BZ #19444]
-
-With -O included in CFLAGS it fails to build with:
-
-../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
-../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- b = invsqrtpi * temp / sqrtl (x);
- ~~~~~~~~~~^~~~~~
-../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
-../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- b = invsqrtpi * temp / sqrtl (x);
- ~~~~~~~~~~^~~~~~
-../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_jn':
-../sysdeps/ieee754/dbl-64/e_jn.c:113:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- b = invsqrtpi * temp / sqrt (x);
- ~~~~~~~~~~^~~~~~
-../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_yn':
-../sysdeps/ieee754/dbl-64/e_jn.c:320:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- b = invsqrtpi * temp / sqrt (x);
- ~~~~~~~~~~^~~~~~
-
-Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
-with -O, -O1, -Os.
-For soft-fp ARM it needs one more fix for -O1:
-https://sourceware.org/ml/libc-alpha/2018-09/msg00300.html
-For AARCH64 it needs one more fix in locale for -Os.
-
- [BZ #23716]
- * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
- * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
- * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
- * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
-
-Work around the issue instead of removing -O like we do with
-SELECTED_OPTIMIZATION
-
-Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- ChangeLog | 7 +++++++
- sysdeps/ieee754/dbl-64/e_jn.c | 21 +++++++++++++++++++++
- sysdeps/ieee754/ldbl-128/e_jnl.c | 21 +++++++++++++++++++++
- sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 21 +++++++++++++++++++++
- sysdeps/ieee754/ldbl-96/e_jnl.c | 21 +++++++++++++++++++++
- 5 files changed, 91 insertions(+)
-
-diff --git a/ChangeLog b/ChangeLog
-index 11a9b8d98e..922e916f2c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,10 @@
-+2018-09-29 Martin Jansa <Martin.Jansa@gmail.com>
-+ Partial fix for [BZ #23716]
-+ * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
-+ * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
-+ * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
-+ * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
-+
- 2018-09-28 Adhemerval Zanella <adhemerval.zanella@linaro.org>
-
- [BZ #23579]
-diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
-index 9181b22bb8..9ff52c737f 100644
---- a/sysdeps/ieee754/dbl-64/e_jn.c
-+++ b/sysdeps/ieee754/dbl-64/e_jn.c
-@@ -42,6 +42,7 @@
- #include <math-narrow-eval.h>
- #include <math_private.h>
- #include <math-underflow.h>
-+#include <libc-diag.h>
-
- static const double
- invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
-@@ -109,7 +110,17 @@ __ieee754_jn (int n, double x)
- case 2: temp = -c - s; break;
- case 3: temp = c - s; break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrt (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-@@ -316,7 +327,17 @@ __ieee754_yn (int n, double x)
- case 2: temp = -s + c; break;
- case 3: temp = s + c; break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrt (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
-index 7739eec291..8706a11575 100644
---- a/sysdeps/ieee754/ldbl-128/e_jnl.c
-+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
-@@ -61,6 +61,7 @@
- #include <math.h>
- #include <math_private.h>
- #include <math-underflow.h>
-+#include <libc-diag.h>
-
- static const _Float128
- invsqrtpi = L(5.6418958354775628694807945156077258584405E-1),
-@@ -150,7 +151,17 @@ __ieee754_jnl (int n, _Float128 x)
- temp = c - s;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-@@ -386,7 +397,17 @@ __ieee754_ynl (int n, _Float128 x)
- temp = s + c;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
-index 71b3addfba..3226d02309 100644
---- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
-+++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
-@@ -61,6 +61,7 @@
- #include <math.h>
- #include <math_private.h>
- #include <math-underflow.h>
-+#include <libc-diag.h>
-
- static const long double
- invsqrtpi = 5.6418958354775628694807945156077258584405E-1L,
-@@ -150,7 +151,17 @@ __ieee754_jnl (int n, long double x)
- temp = c - s;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-@@ -386,7 +397,17 @@ __ieee754_ynl (int n, long double x)
- temp = s + c;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
-index 394921f564..da5c2cc93e 100644
---- a/sysdeps/ieee754/ldbl-96/e_jnl.c
-+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
-@@ -61,6 +61,7 @@
- #include <math.h>
- #include <math_private.h>
- #include <math-underflow.h>
-+#include <libc-diag.h>
-
- static const long double
- invsqrtpi = 5.64189583547756286948079e-1L, two = 2.0e0L, one = 1.0e0L;
-@@ -143,7 +144,17 @@ __ieee754_jnl (int n, long double x)
- temp = c - s;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-@@ -372,7 +383,17 @@ __ieee754_ynl (int n, long double x)
- temp = s + c;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
diff --git a/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch b/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
deleted file mode 100644
index 99cd2509e..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 618668540e263c09b0eb28131dde7b4500158fd4 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 16 Sep 2018 12:39:22 +0000
-Subject: [PATCH] sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O
- [BZ #19444]
-
-* with -O, -O1, -Os it fails with:
-
-In file included from ../soft-fp/soft-fp.h:318,
- from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
-../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
-../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
- ^~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
- FP_DECL_D (R);
- ^
-../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
- _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
- ^
-../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
- # define FP_DECL_D(X) _FP_DECL (2, X)
- ^~~~~~~~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
- FP_DECL_D (R);
- ^~~~~~~~~
-../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
- ^~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
- FP_DECL_D (R);
- ^
-../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
- _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
- ^
-../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
- # define FP_DECL_D(X) _FP_DECL (2, X)
- ^~~~~~~~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
- FP_DECL_D (R);
- ^~~~~~~~~
-
-Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
-with -O, -O1, -Os.
-For AARCH64 it needs one more fix in locale for -Os.
-
- Partial fix for [BZ #23716]
- * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O
-
-Work around the issue instead of removing -O like we do with
-SELECTED_OPTIMIZATION
-
-Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- ChangeLog | 4 ++++
- sysdeps/ieee754/soft-fp/s_fdiv.c | 12 ++++++++++++
- 2 files changed, 16 insertions(+)
-
-diff --git a/ChangeLog b/ChangeLog
-index 922e916f2c..216336edc9 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
-+ Partial fix for [BZ #23716]
-+ * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
-+
- 2018-09-29 Martin Jansa <Martin.Jansa@gmail.com>
- Partial fix for [BZ #23716]
- * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
-diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c
-index 341339f5ed..14655b77da 100644
---- a/sysdeps/ieee754/soft-fp/s_fdiv.c
-+++ b/sysdeps/ieee754/soft-fp/s_fdiv.c
-@@ -25,6 +25,16 @@
- #undef fdivl
-
- #include <math-narrow.h>
-+
-+#include <libc-diag.h>
-+/* R_f[01] are not set in cases where it is not used in packing, but the
-+ compiler does not see that it is set in all cases where it is
-+ used, resulting in warnings that it may be used uninitialized.
-+ The location of the warning differs in different versions of GCC,
-+ it may be where R is defined using a macro or it may be where the
-+ macro is defined. */
-+DIAG_PUSH_NEEDS_COMMENT;
-+DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- #include <soft-fp.h>
- #include <single.h>
- #include <double.h>
-@@ -53,4 +63,6 @@ __fdiv (double x, double y)
- CHECK_NARROW_DIV (ret, x, y);
- return ret;
- }
-+DIAG_POP_NEEDS_COMMENT;
-+
- libm_alias_float_double (div)
diff --git a/poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
deleted file mode 100644
index 31058ca91..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From cbada1a1b218c1ef61d0eb4363fad7598e6509d6 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 30 Sep 2018 09:16:48 +0000
-Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ
- #19444]
-
-Fixes following error when building for aarch64 with -Os:
-| In file included from strcoll_l.c:43:
-| strcoll_l.c: In function '__strcoll_l':
-| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-| int_fast32_t i = table[*(*cpp)++];
-| ^~~~~~~~~
-| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here
-| coll_seq seq1, seq2;
-| ^~~~
-| In file included from strcoll_l.c:43:
-| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-| int_fast32_t i = table[*(*cpp)++];
-| ^~~~~~~~~
-| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here
-| coll_seq seq1, seq2;
-| ^~~~
-
- Partial fix for [BZ #23716]
- * locale/weight.h: Fix build with -Os.
-
-Work around the issue instead of removing -O like we do with
-SELECTED_OPTIMIZATION
-
-Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00539.html]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- ChangeLog | 4 ++++
- locale/weight.h | 7 +++++++
- 2 files changed, 11 insertions(+)
-
-diff --git a/ChangeLog b/ChangeLog
-index 216336edc9..84fbbf47ed 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
-+ Partial fix for [BZ #23716]
-+ * locale/weight.h: Fix build with -Os.
-+
- 2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
- Partial fix for [BZ #23716]
- * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
-diff --git a/locale/weight.h b/locale/weight.h
-index 6028d3595e..10bcea25e5 100644
---- a/locale/weight.h
-+++ b/locale/weight.h
-@@ -28,7 +28,14 @@ findidx (const int32_t *table,
- const unsigned char *extra,
- const unsigned char **cpp, size_t len)
- {
-+ /* With GCC 8 when compiling with -Os the compiler warns that
-+ seq1.back_us and seq2.back_us might be used uninitialized.
-+ This uninitialized use is impossible for the same reason
-+ as described in comments in locale/weightwc.h. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- int_fast32_t i = table[*(*cpp)++];
-+ DIAG_POP_NEEDS_COMMENT;
- const unsigned char *cp;
- const unsigned char *usrc;
-
diff --git a/poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch b/poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch
deleted file mode 100644
index 55eba2d43..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch
+++ /dev/null
@@ -1,272 +0,0 @@
-Currently, non-IA builds are not reproducibile since build paths are
-being injected into the debug symbols. These are coming from the use of
-.S assembler files during the glibc build. No STT_FILE section is added
-during the assembly but when linking, ld decides to add one to aid
-debugging and ensure references between the different object files its
-linking remain clear.
-
-We can avoid this by injecting a file header into the assembler files
-ahead of time, choosing a filename which does not contain build system
-paths.
-
-This is a bit of a workaround/hack but does significantly reduce the
-build system references in target binaries for the non-IA architectures
-which use .S files.
-
-RP
-2018/10/3
-
-Upstream-Status: Pending
-
-diff --git a/csu/abi-note.S b/csu/abi-note.S
-index 5d0ca7803d..8ce41581b1 100644
---- a/csu/abi-note.S
-+++ b/csu/abi-note.S
-@@ -56,6 +56,8 @@ offset length contents
- #include <config.h>
- #include <abi-tag.h> /* OS-specific ABI tag value */
-
-+ .file "abi-note.S"
-+
- /* The linker (GNU ld 2.8 and later) recognizes an allocated section whose
- name begins with `.note' and creates a PT_NOTE program header entry
- pointing at it. */
-diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S
-index 2b213758b2..736f33e314 100644
---- a/sysdeps/aarch64/crti.S
-+++ b/sysdeps/aarch64/crti.S
-@@ -50,6 +50,8 @@
- # define PREINIT_FUNCTION_WEAK 1
- #endif
-
-+ .file "crti.S"
-+
- #if PREINIT_FUNCTION_WEAK
- weak_extern (PREINIT_FUNCTION)
- #else
-diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S
-index d72300af80..cb249bf3ca 100644
---- a/sysdeps/aarch64/crtn.S
-+++ b/sysdeps/aarch64/crtn.S
-@@ -37,6 +37,8 @@
- /* crtn.S puts function epilogues in the .init and .fini sections
- corresponding to the prologues in crti.S. */
-
-+ .file "crtn.S"
-+
- .section .init,"ax",%progbits
- ldp x29, x30, [sp], 16
- RET
-diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
-index bad000f555..5957c028cd 100644
---- a/sysdeps/aarch64/start.S
-+++ b/sysdeps/aarch64/start.S
-@@ -18,6 +18,8 @@
-
- #include <sysdep.h>
-
-+ .file "start.S"
-+
- /* This is the canonical entry point, usually the first thing in the text
- segment.
-
-diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-index 92fc0191a5..715bfcb9e4 100644
---- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-+++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-@@ -18,6 +18,8 @@
-
- #include <sysdep.h>
-
-+ .file "__read_tp.S"
-+
- .hidden __read_tp
- ENTRY (__read_tp)
- mrs x0, tpidr_el0
-diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S
-index 43a62ef307..42f85cdde9 100644
---- a/sysdeps/aarch64/dl-tlsdesc.S
-+++ b/sysdeps/aarch64/dl-tlsdesc.S
-@@ -22,6 +22,8 @@
- #include <tls.h>
- #include "tlsdesc.h"
-
-+ .file "dl-tlsdesc.S"
-+
- #define NSAVEDQREGPAIRS 16
- #define SAVE_Q_REGISTERS \
- stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \
-diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S
-index a86d0722d4..92edab1d01 100644
---- a/sysdeps/aarch64/dl-trampoline.S
-+++ b/sysdeps/aarch64/dl-trampoline.S
-@@ -21,6 +21,8 @@
-
- #include "dl-link.h"
-
-+ .file "dl-trampoline.S"
-+
- #define ip0 x16
- #define ip0l PTR_REG (16)
- #define ip1 x17
-diff --git a/sysdeps/arm/abi-note.S b/sysdeps/arm/abi-note.S
-index 07bd4c4619..7213b16f27 100644
---- a/sysdeps/arm/abi-note.S
-+++ b/sysdeps/arm/abi-note.S
-@@ -1,3 +1,5 @@
-+ .file "abi-note.S"
-+
- /* Tag_ABI_align8_preserved: This code preserves 8-byte
- alignment in any callee. */
- .eabi_attribute 25, 1
-diff --git a/sysdeps/arm/crti.S b/sysdeps/arm/crti.S
-index a1424d0333..bca1dab256 100644
---- a/sysdeps/arm/crti.S
-+++ b/sysdeps/arm/crti.S
-@@ -57,6 +57,8 @@
- .hidden PREINIT_FUNCTION
- #endif
-
-+ .file "crti.S"
-+
- #if PREINIT_FUNCTION_WEAK
- .p2align 2
- .type call_weak_fn, %function
-diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S
-index 26027693ce..65a0502826 100644
---- a/sysdeps/arm/crtn.S
-+++ b/sysdeps/arm/crtn.S
-@@ -37,6 +37,8 @@
- #define NO_THUMB
- #include <sysdep.h>
-
-+ .file "crtn.S"
-+
- /* crtn.S puts function epilogues in the .init and .fini sections
- corresponding to the prologues in crti.S. */
-
-diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S
-index 056e17d52d..a98c68dfb9 100644
---- a/sysdeps/arm/dl-tlsdesc.S
-+++ b/sysdeps/arm/dl-tlsdesc.S
-@@ -21,6 +21,8 @@
- #include <tls.h>
- #include "tlsdesc.h"
-
-+ .file "dl-tlsdesc.S"
-+
- .text
- @ emit debug information with cfi
- @ use arm-specific pseudos for unwinding itself
-diff --git a/sysdeps/arm/dl-trampoline.S b/sysdeps/arm/dl-trampoline.S
-index c731b01286..4b37b25344 100644
---- a/sysdeps/arm/dl-trampoline.S
-+++ b/sysdeps/arm/dl-trampoline.S
-@@ -21,6 +21,8 @@
- #include <sysdep.h>
- #include <libc-symbols.h>
-
-+ .file "dl-trampoline.S"
-+
- .text
- .globl _dl_runtime_resolve
- .type _dl_runtime_resolve, #function
-diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S
-index adef090717..d22e4128e0 100644
---- a/sysdeps/arm/start.S
-+++ b/sysdeps/arm/start.S
-@@ -57,6 +57,8 @@
- NULL
- */
-
-+ .file "start.S"
-+
- /* Tag_ABI_align8_preserved: This code preserves 8-byte
- alignment in any callee. */
- .eabi_attribute 25, 1
-diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-index 871702317a..20a942dbac 100644
---- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-+++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-@@ -39,6 +39,8 @@
- a normal function call) in a high page of memory; tail call to the
- helper. */
-
-+ .file "aeabi_read_tp.S"
-+
- .hidden __aeabi_read_tp
- ENTRY (__aeabi_read_tp)
- #ifdef ARCH_HAS_HARD_TP
-diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S
-index a4c4ef0fae..d00fff31a8 100644
---- a/sysdeps/mips/start.S
-+++ b/sysdeps/mips/start.S
-@@ -38,6 +38,8 @@
- #include <sgidefs.h>
- #include <sys/asm.h>
-
-+ .file "start.S"
-+
- #ifndef ENTRY_POINT
- #error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
- #endif
-diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-index eeb96544e3..da182b28f8 100644
---- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-+++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-@@ -1 +1,3 @@
-+ .file "dl-brk.S"
-+
- #include <brk.S>
-diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S
-index 5c10a22f8a..2b52627f27 100644
---- a/sysdeps/powerpc/powerpc32/start.S
-+++ b/sysdeps/powerpc/powerpc32/start.S
-@@ -35,6 +35,8 @@
-
- #include <sysdep.h>
-
-+ .file "start.S"
-+
- /* We do not want .eh_frame info for crt1.o since crt1.o is linked
- before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
- #undef cfi_startproc
-diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S
-index bd7189310c..2e22b8472d 100644
---- a/sysdeps/powerpc/powerpc64/start.S
-+++ b/sysdeps/powerpc/powerpc64/start.S
-@@ -35,6 +35,8 @@
-
- #include <sysdep.h>
-
-+ .file "start.S"
-+
- /* We do not want .eh_frame info for crt1.o since crt1.o is linked
- before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
- #undef cfi_startproc
-diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S
-index 244d87fb6d..14d3e2ce14 100644
---- a/sysdeps/powerpc/powerpc32/dl-start.S
-+++ b/sysdeps/powerpc/powerpc32/dl-start.S
-@@ -18,6 +18,8 @@
-
- #include <sysdep.h>
-
-+ .file "dl-start.S"
-+
- /* Initial entry point code for the dynamic linker.
- The C function `_dl_start' is the real entry point;
- its return value is the user program's entry point. */
-diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
-index d26ad1f8d3..a0de10bf81 100644
---- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
-+++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
-@@ -27,6 +27,8 @@
- ARM unwind tables for register to register moves, the actual opcodes
- are not defined. */
-
-+ .file "libc-do-syscall.S"
-+
- #if defined(__thumb__)
- .thumb
- .syntax unified
diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch
new file mode 100644
index 000000000..bc40361c5
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch
@@ -0,0 +1,36 @@
+CVE: CVE-2019-9169
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 583dd860d5b833037175247230a328f0050dbfe9 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 21 Jan 2019 11:08:13 -0800
+Subject: [PATCH] regex: fix read overrun [BZ #24114]
+
+Problem found by AddressSanitizer, reported by Hongxu Chen in:
+https://debbugs.gnu.org/34140
+* posix/regexec.c (proceed_next_node):
+Do not read past end of input buffer.
+---
+ posix/regexec.c | 6 ++++--
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/posix/regexec.c b/posix/regexec.c
+index 91d5a79..084b122 100644
+--- a/posix/regexec.c
++++ b/posix/regexec.c
+@@ -1293,8 +1293,10 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
+ else if (naccepted)
+ {
+ char *buf = (char *) re_string_get_buffer (&mctx->input);
+- if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
+- naccepted) != 0)
++ if (mctx->input.valid_len - *pidx < naccepted
++ || (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
++ naccepted)
++ != 0))
+ return -1;
+ }
+ }
+--
+2.9.3
diff --git a/poky/meta/recipes-core/glibc/glibc_2.28.bb b/poky/meta/recipes-core/glibc/glibc_2.28.bb
deleted file mode 100644
index d07293925..000000000
--- a/poky/meta/recipes-core/glibc/glibc_2.28.bb
+++ /dev/null
@@ -1,135 +0,0 @@
-require glibc.inc
-
-LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS += "gperf-native bison-native make-native"
-
-SRCREV ?= "044c96f0d5595aeb0bb4e79355081c5a7f4faca5"
-
-SRCBRANCH ?= "release/${PV}/master"
-
-GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
-
-SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
- file://etc/ld.so.conf \
- file://generate-supported.mk \
- file://makedbs.sh \
- \
- ${NATIVESDKFIXES} \
- file://0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \
- file://0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
- file://0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \
- file://0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
- file://0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \
- file://0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \
- file://0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
- file://0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \
- file://0014-Add-unused-attribute.patch \
- file://0015-yes-within-the-path-sets-wrong-config-variables.patch \
- file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
- file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
- file://0018-eglibc-Cross-building-and-testing-instructions.patch \
- file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \
- file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \
- file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
- file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
- file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
- file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
- file://0025-locale-fix-hard-coded-reference-to-gcc-E.patch \
- file://0026-reset-dl_load_write_lock-after-forking.patch \
- file://0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch \
- file://0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch \
- file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
- file://0030-intl-Emit-no-lines-in-bison-generated-files.patch \
- file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch \
- file://0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch \
- file://0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
- file://0034-inject-file-assembly-directives.patch \
-"
-
-NATIVESDKFIXES ?= ""
-NATIVESDKFIXES_class-nativesdk = "\
- file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \
- file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
- file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
- file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
- file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \
-"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build-${TARGET_SYS}"
-
-PACKAGES_DYNAMIC = ""
-
-# the -isystem in bitbake.conf screws up glibc do_stage
-BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
-TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
-
-GLIBC_BROKEN_LOCALES = ""
-#
-# We will skip parsing glibc when target system C library selection is not glibc
-# this helps in easing out parsing for non-glibc system libraries
-#
-COMPATIBLE_HOST_libc-musl_class-target = "null"
-
-GLIBCPIE ??= ""
-
-EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
- --disable-profile \
- --disable-debug --without-gd \
- --enable-clocale=gnu \
- --with-headers=${STAGING_INCDIR} \
- --without-selinux \
- --enable-tunables \
- --enable-bind-now \
- --enable-stack-protector=strong \
- --enable-stackguard-randomization \
- --disable-crypt \
- ${GLIBCPIE} \
- ${GLIBC_EXTRA_OECONF}"
-
-EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-inet-anl', '--enable-nscd', '--disable-nscd', d)}"
-
-
-do_patch_append() {
- bb.build.exec_func('do_fix_readlib_c', d)
-}
-
-do_fix_readlib_c () {
- sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
-}
-
-do_configure () {
-# override this function to avoid the autoconf/automake/aclocal/autoheader
-# calls for now
-# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
-# version check and doesn't really help with anything
- (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
- find ${S} -name "configure" | xargs touch
- CPPFLAGS="" oe_runconf
-}
-
-do_compile () {
- # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
- unset LDFLAGS
- base_do_compile
- echo "Adjust ldd script"
- if [ -n "${RTLDLIST}" ]
- then
- prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'`
- if [ "${prevrtld}" != "${RTLDLIST}" ]
- then
- sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${prevrtld} ${RTLDLIST}\"#"
- fi
- fi
-
-}
-
-require glibc-package.inc
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/glibc/glibc_2.29.bb b/poky/meta/recipes-core/glibc/glibc_2.29.bb
new file mode 100644
index 000000000..9184c5932
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc_2.29.bb
@@ -0,0 +1,129 @@
+require glibc.inc
+
+LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS += "gperf-native bison-native make-native"
+
+PV = "2.29"
+
+SRCREV ?= "86013ef5cea322b8f4b9c22f230c22cce369e947"
+
+SRCBRANCH ?= "release/${PV}/master"
+
+GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
+
+NATIVESDKFIXES ?= ""
+NATIVESDKFIXES_class-nativesdk = "\
+ file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \
+ file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
+ file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
+ file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
+ file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \
+"
+
+SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk \
+ file://makedbs.sh \
+ \
+ ${NATIVESDKFIXES} \
+ file://0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \
+ file://0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
+ file://0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \
+ file://0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
+ file://0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \
+ file://0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \
+ file://0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
+ file://0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \
+ file://0014-Add-unused-attribute.patch \
+ file://0015-yes-within-the-path-sets-wrong-config-variables.patch \
+ file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
+ file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
+ file://0018-eglibc-Cross-building-and-testing-instructions.patch \
+ file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \
+ file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \
+ file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
+ file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
+ file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
+ file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
+ file://0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
+ file://0028-intl-Emit-no-lines-in-bison-generated-files.patch \
+ file://0029-inject-file-assembly-directives.patch \
+ file://0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
+ file://0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch \
+ file://CVE-2019-9169.patch \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+PACKAGES_DYNAMIC = ""
+
+# the -isystem in bitbake.conf screws up glibc do_stage
+BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
+TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
+
+GLIBC_BROKEN_LOCALES = ""
+
+GLIBCPIE ??= ""
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --disable-profile \
+ --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --with-headers=${STAGING_INCDIR} \
+ --without-selinux \
+ --enable-tunables \
+ --enable-bind-now \
+ --enable-stack-protector=strong \
+ --enable-stackguard-randomization \
+ --disable-crypt \
+ --with-default-link \
+ --enable-nscd \
+ ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \
+ ${GLIBCPIE} \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
+
+do_patch_append() {
+ bb.build.exec_func('do_fix_readlib_c', d)
+}
+
+do_fix_readlib_c () {
+ sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
+}
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ find ${S} -name "configure" | xargs touch
+ CPPFLAGS="" oe_runconf
+}
+
+do_compile () {
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ echo "Adjust ldd script"
+ if [ -n "${RTLDLIST}" ]
+ then
+ prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'`
+ # remove duplicate entries
+ newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)`
+ echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\""
+ sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#"
+ fi
+
+}
+
+require glibc-package.inc
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/glibc/site_config/funcs b/poky/meta/recipes-core/glibc/site_config/funcs
deleted file mode 100644
index ccc85392d..000000000
--- a/poky/meta/recipes-core/glibc/site_config/funcs
+++ /dev/null
@@ -1,474 +0,0 @@
-a64l
-abs
-access
-__adjtimex
-alarm
-alphasort
-argz_append
-__argz_count
-argz_create_sep
-argz_insert
-__argz_next
-argz_next
-__argz_stringify
-argz_stringify
-asprintf
-atexit
-atof
-atoi
-bcmp
-bcopy
-bindresvport
-bind_textdomain_codeset
-btowc
-bzero
-calloc
-canonicalize_file_name
-catgets
-cfgetospeed
-cfsetispeed
-cfsetspeed
-chmod
-chown
-chroot
-clock
-close
-closedir
-closelog
-confstr
-connect
-daemon
-dcgettext
-difftime
-dirfd
-dirname
-dngettext
-dup2
-ecvt
-endgrent
-endmntent
-endpwent
-endutent
-endutxent
-epoll_ctl
-err
-ether_hostton
-ether_ntohost
-euidaccess
-execv
-fchdir
-fchmod
-fchmodat
-fchown
-fchownat
-fcntl
-fcvt
-fdatasync
-fdopendir
-feof_unlocked
-fgets_unlocked
-fgetxattr
-finite
-flistxattr
-flock
-flockfile
-fnmatch
-fork
-fpathconf
-__fpending
-fprintf
-free
-freeaddrinfo
-freeifaddrs
-fseeko
-__fsetlocking
-fsetxattr
-fstat64
-fstat
-fstatfs
-fsync
-ftello
-ftime
-ftruncate
-funlockfile
-futimes
-futimesat
-gai_strerror
-gcvt
-getaddrinfo
-getc_unlocked
-getcwd
-getdelim
-getdomainname
-getdtablesize
-getegid
-getenv
-geteuid
-getgid
-getgrent
-getgrent_r
-getgrgid_r
-getgrnam
-getgrnam_r
-getgrouplist
-getgroups
-gethostbyaddr_r
-gethostbyname2
-gethostbyname
-gethostbyname_r
-gethostent
-gethostid
-gethostname
-getifaddrs
-getline
-getloadavg
-getmntent
-getmsg
-getnameinfo
-getnetbyaddr_r
-getnetgrent_r
-getopt
-getopt_long
-getopt_long_only
-getpagesize
-getpass
-getpeername
-getpgrp
-getpid
-getppid
-getprotoent_r
-getpwent
-getpwent_r
-getpwnam
-getpwnam_r
-getpwuid
-getpwuid_r
-getresuid
-getrlimit
-getrusage
-getservbyname
-getservbyname_r
-getservbyport_r
-getservent
-getservent_r
-getspnam
-getspnam_r
-gettimeofday
-getttyent
-getttynam
-getuid
-getusershell
-getutent
-getutid
-getutline
-getutmp
-getutmpx
-getutxent
-getutxid
-getutxline
-getwd
-getxattr
-glob
-gmtime
-gmtime_r
-grantpt
-group_member
-herror
-hstrerror
-iconv
-iconv_open
-if_freenameindex
-if_indextoname
-if_nameindex
-if_nametoindex
-index
-inet_addr
-inet_aton
-inet_ntoa
-inet_ntop
-inet_pton
-initgroups
-innetgr
-iruserok
-isascii
-isatty
-isblank
-isgraph
-isinf
-isnan
-isprint
-isspace
-iswalnum
-iswcntrl
-iswctype
-iswprint
-iswspace
-iswupper
-isxdigit
-kill
-killpg
-lchown
-lckpwdf
-lgetxattr
-link
-listxattr
-llistxattr
-localtime
-localtime_r
-lockf
-lrand48
-lsearch
-lseek64
-lsetxattr
-lstat
-mallinfo
-malloc
-mblen
-mbrlen
-mbrtowc
-mbsinit
-mbsrtowcs
-mbtowc
-memalign
-memchr
-memcmp
-memcpy
-memmove
-mempcpy
-memrchr
-memset
-mkdir
-mkdirat
-mkdtemp
-mkfifo
-mknod
-mkstemp64
-mkstemp
-mktime
-mlock
-mmap
-mtrace
-munlock
-munmap
-nanosleep
-nice
-nl_langinfo
-ntp_adjtime
-ntp_gettime
-_obstack_free
-on_exit
-open64
-open
-openat
-opendir
-openlog
-pathconf
-pipe
-poll
-popen
-posix_memalign
-prctl
-pread
-printf
-__progname
-pselect
-pthread_mutex_lock
-ptsname
-putenv
-putgrent
-putpwent
-putspent
-pututline
-pututxline
-putwc
-pwrite
-qsort
-raise
-rand
-random
-rand_r
-read
-readdir
-readdir_r
-readlink
-realloc
-realpath
-re_comp
-recvmsg
-re_exec
-regcomp
-regexec
-remove
-rename
-re_search
-rmdir
-rpmatch
-rresvport_af
-ruserok
-ruserok_af
-sbrk
-scandir
-sched_setscheduler
-sched_yield
-__secure_getenv
-select
-semctl
-semget
-sendmsg
-setbuf
-setbuffer
-setegid
-setenv
-seteuid
-setgid
-setgroups
-sethostname
-setitimer
-_setjmp
-setjmp
-setlinebuf
-setlocale
-setmntent
-setpgid
-setpgrp
-setpriority
-setregid
-setresgid
-setresuid
-setreuid
-setrlimit
-setsid
-setsockopt
-settimeofday
-setuid
-setutent
-setutxent
-setvbuf
-setxattr
-sgetspent
-shmat
-shmctl
-shmdt
-shmget
-shutdown
-sigaction
-sigaddset
-sigaltstack
-sigblock
-sigemptyset
-sighold
-siginterrupt
-signal
-sigprocmask
-sigset
-sigsetmask
-sigstack
-sigsuspend
-sigvec
-snprintf
-socket
-socketpair
-sprintf
-srand48
-srand
-srandom
-sscanf
-stat
-statfs
-statvfs
-stime
-stpcpy
-strcasecmp
-strcasestr
-strchr
-strchrnul
-strcmp
-strcspn
-strdup
-strerror
-strerror_r
-strftime
-strlen
-strncasecmp
-strncmp
-strndup
-strnlen
-strpbrk
-strptime
-strrchr
-strsep
-strsignal
-strspn
-strstr
-strtod
-strtoimax
-strtok_r
-strtol
-strtoll
-strtoul
-strtoull
-strtoumax
-strverscmp
-strxfrm
-symlink
-sync
-sysconf
-sysctl
-sysinfo
-syslog
-_sys_siglist
-sys_siglist
-system
-tcgetattr
-tcgetpgrp
-tcsetattr
-tcsetpgrp
-time
-timegm
-times
-timezone
-tmpnam
-towlower
-towupper
-truncate
-tsearch
-ttyname
-tzset
-ulimit
-umask
-uname
-unlink
-unsetenv
-unshare
-updwtmp
-updwtmpx
-usleep
-ustat
-utime
-utimes
-utmpname
-utmpxname
-valloc
-vasprintf
-verrx
-vfork
-vfprintf
-vfscanf
-vhangup
-vprintf
-vsnprintf
-vsprintf
-wait3
-wait4
-waitpid
-wcrtomb
-wcscoll
-wcsdup
-wcslen
-wctob
-wctomb
-wctype
-wcwidth
-wmemchr
-wmemcpy
-wmempcpy
diff --git a/poky/meta/recipes-core/glibc/site_config/headers b/poky/meta/recipes-core/glibc/site_config/headers
deleted file mode 100644
index 69fedea4e..000000000
--- a/poky/meta/recipes-core/glibc/site_config/headers
+++ /dev/null
@@ -1,155 +0,0 @@
-aio.h
-alloca.h
-argz.h
-arpa/inet.h
-arpa/nameser.h
-asm/byteorder.h
-asm/ioctls.h
-asm/page.h
-asm/types.h
-assert.h
-byteswap.h
-ctype.h
-dirent.h
-dlfcn.h
-elf.h
-endian.h
-err.h
-errno.h
-execinfo.h
-fcntl.h
-features.h
-float.h
-fstab.h
-ftw.h
-getopt.h
-glob.h
-grp.h
-iconv.h
-ifaddrs.h
-inttypes.h
-langinfo.h
-lastlog.h
-libgen.h
-libintl.h
-limits.h
-linux/capability.h
-linux/fd.h
-linux/fs.h
-linux/hayesesp.h
-linux/hdreg.h
-linux/icmp.h
-linux/in6.h
-linux/joystick.h
-linux/ptrace.h
-linux/serial.h
-linux/sonypi.h
-linux/unistd.h
-linux/utsname.h
-linux/version.h
-locale.h
-malloc.h
-math.h
-mcheck.h
-memory.h
-mntent.h
-mqueue.h
-netdb.h
-net/if.h
-netinet/ether.h
-netinet/in.h
-netinet/ip6.h
-netinet/ip.h
-netinet/tcp.h
-netinet/udp.h
-netipx/ipx.h
-net/route.h
-paths.h
-poll.h
-pthread.h
-pty.h
-pwd.h
-regex.h
-resolv.h
-rpc/rpc.h
-rpc/types.h
-sched.h
-scsi/scsi.h
-search.h
-semaphore.h
-setjmp.h
-sgtty.h
-shadow.h
-signal.h
-stdarg.h
-stdbool.h
-stdc
-stddef.h
-stdint.h
-stdio.h
-stdlib.h
-string.h
-strings.h
-stropts.h
-sys/bitypes.h
-sys/cdefs.h
-sys/dir.h
-sys/epoll.h
-sysexits.h
-sys/fcntl.h
-sys/file.h
-sys/fsuid.h
-sys/ioctl.h
-sys/ipc.h
-syslog.h
-sys/mman.h
-sys/mount.h
-sys/mtio.h
-sys/param.h
-sys/poll.h
-sys/prctl.h
-sys/ptrace.h
-sys/queue.h
-sys/reg.h
-sys/resource.h
-sys/select.h
-sys/sem.h
-sys/shm.h
-sys/signal.h
-sys/socket.h
-sys/socketvar.h
-sys/soundcard.h
-sys/statfs.h
-sys/stat.h
-sys/statvfs.h
-sys/stropts.h
-sys/swap.h
-sys/sysctl.h
-sys/sysinfo.h
-sys/sysmacros.h
-sys/termios.h
-sys/timeb.h
-sys/time.h
-sys/times.h
-sys/timex.h
-sys/types.h
-sys/uio.h
-sys/un.h
-sys/unistd.h
-sys/user.h
-sys/utsname.h
-sys/vfs.h
-sys/wait.h
-termio.h
-termios.h
-time.h
-ttyent.h
-ulimit.h
-unistd.h
-ustat.h
-utime.h
-utmp.h
-utmpx.h
-values.h
-wchar.h
-wctype.h
diff --git a/poky/meta/recipes-core/glibc/site_config/types b/poky/meta/recipes-core/glibc/site_config/types
deleted file mode 100644
index 178bd85a0..000000000
--- a/poky/meta/recipes-core/glibc/site_config/types
+++ /dev/null
@@ -1,21 +0,0 @@
-char
-char *
-double
-float
-int
-long
-long double
-long int
-long long
-long long int
-short
-short int
-signed char
-unsigned char
-unsigned int
-unsigned long
-unsigned long int
-unsigned long long int
-unsigned short
-unsigned short int
-void *
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index d9d6c1e4f..a59334f51 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -22,13 +22,14 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image module-base setuptools3
-SRCREV ?= "9dfebdaf7af11b69006996f3253e435bce0dfbfb"
-SRC_URI = "git://git.yoctoproject.org/poky;branch=thud \
+SRCREV ?= "c96d8de352f242f70ff9c166508c3d0e50199874"
+SRC_URI = "git://git.yoctoproject.org/poky \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
file://README_VirtualBox_Guest_Additions.txt \
file://README_VirtualBox_Toaster.txt \
"
+RECIPE_NO_UPDATE_REASON = "Recipe is recursive and handled as part of the release process"
BA_INCLUDE_SOURCES ??= "0"
IMAGE_CMD_ext4_append () {
diff --git a/poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh b/poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
index 9c4b263d5..b351985a6 100644
--- a/poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
+++ b/poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
@@ -27,7 +27,7 @@ do
# Try sleeping here to avoid getting kernel messages
# obscuring/confusing user
sleep 5
- echo "Found drive at /dev/${device}. Do you want to install this image there ? [y/n]"
+ echo "Found drive at /dev/${device}. Do you want to install this image there? [y/n]"
read answer
if [ "$answer" = "y" ] ; then
break
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb b/poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
index 7ae7969f5..29ec5ec2f 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
@@ -9,8 +9,13 @@ S = "${WORKDIR}"
do_install() {
install -m 0755 ${WORKDIR}/init-boot.sh ${D}/init
+
+ # Create device nodes expected by some kernels in initramfs
+ # before even executing /init.
+ install -d ${D}/dev
+ mknod -m 622 ${D}/dev/console c 5 1
}
inherit allarch
-FILES_${PN} += " /init "
+FILES_${PN} += "/init /dev/console"
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/init b/poky/meta/recipes-core/initrdscripts/initramfs-framework/init
index 3c7e09422..c71ce0ce8 100755
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework/init
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/init
@@ -72,6 +72,7 @@ ROOTFS_DIR="/rootfs" # where to do the switch root
MODULE_PRE_HOOKS="" # functions to call before running each module
MODULE_POST_HOOKS="" # functions to call after running each module
MODULES_DIR=/init.d # place to look for modules
+EFI_DIR=/sys/firmware/efi # place to store device firmware information
# make mount stop complaining about missing /etc/fstab
touch /etc/fstab
@@ -81,6 +82,10 @@ mkdir -p /proc /sys /run/lock /var/lock
mount -t proc proc /proc
mount -t sysfs sysfs /sys
+if [ -d $EFI_DIR ];then
+ mount -t efivarfs none /sys/firmware/efi/efivars
+fi
+
# populate bootparam environment
for p in `cat /proc/cmdline`; do
opt=`echo $p | cut -d'=' -f1`
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/lvm b/poky/meta/recipes-core/initrdscripts/initramfs-framework/lvm
new file mode 100644
index 000000000..7deeccb9a
--- /dev/null
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/lvm
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+lvm_enabled() {
+ if ! lvscan |grep -i -w "inactive" &>/dev/null;then
+ return 1
+ fi
+ return 0
+}
+
+lvm_run() {
+ lvm pvscan --cache --activate ay
+ udevadm trigger --action=add
+}
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
index 660343eaf..c53a0c03a 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
@@ -17,6 +17,7 @@ SRC_URI = "file://init \
file://udev \
file://e2fs \
file://debug \
+ file://lvm \
"
S = "${WORKDIR}"
@@ -45,6 +46,9 @@ do_install() {
# debug
install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug
+ # lvm
+ install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm
+
# Create device nodes expected by some kernels in initramfs
# before even executing /init.
install -d ${D}/dev
@@ -59,6 +63,7 @@ PACKAGES = "${PN}-base \
initramfs-module-nfsrootfs \
initramfs-module-rootfs \
initramfs-module-debug \
+ initramfs-module-lvm \
"
FILES_${PN}-base = "/init /init.d/99-finish /dev"
@@ -98,3 +103,7 @@ FILES_initramfs-module-rootfs = "/init.d/90-rootfs"
SUMMARY_initramfs-module-debug = "initramfs dynamic debug support"
RDEPENDS_initramfs-module-debug = "${PN}-base"
FILES_initramfs-module-debug = "/init.d/00-debug"
+
+SUMMARY_initramfs-module-lvm = "initramfs lvm rootfs support"
+RDEPENDS_initramfs-module-lvm = "${PN}-base"
+FILES_initramfs-module-lvm = "/init.d/09-lvm"
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh b/poky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
index df553bc07..591591f87 100755
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
@@ -8,7 +8,10 @@
# Short-Description: Misc and other.
### END INIT INFO
+TIMESTAMP_FILE=/etc/timestamp
+
. /etc/default/rcS
+[ -f /etc/default/timestamp ] && . /etc/default/timestamp
#
# Put a nologin file in /etc to prevent people from logging in before
# system startup is complete.
@@ -64,10 +67,10 @@ fi
# If the timestamp is more recent than the current time,
# use the timestamp instead.
test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh start
-if test -e /etc/timestamp
+if test -e "$TIMESTAMP_FILE"
then
SYSTEMDATE=`date -u +%4Y%2m%2d%2H%2M%2S`
- read TIMESTAMP < /etc/timestamp
+ read TIMESTAMP < "$TIMESTAMP_FILE"
if [ ${TIMESTAMP} -gt $SYSTEMDATE ]; then
# format the timestamp as date expects it (2m2d2H2M4Y.2S)
TS_YR=${TIMESTAMP%??????????}
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh b/poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
index 1632a5f64..ffa1eee43 100644
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
@@ -9,5 +9,9 @@
# Description:
### END INIT INFO
+TIMESTAMP_FILE=/etc/timestamp
+
+[ -f /etc/default/timestamp ] && . /etc/default/timestamp
+
# Update the timestamp
-date -u +%4Y%2m%2d%2H%2M%2S 2>/dev/null > /etc/timestamp
+date -u +%4Y%2m%2d%2H%2M%2S 2>/dev/null > "$TIMESTAMP_FILE"
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles b/poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles
index 201106645..cd8a4be05 100644
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles
@@ -8,7 +8,7 @@
# The # character introduces a comment lasting until end of line.
# Blank lines are ignored.
#
-# <type> : d|f|l : (d)irectory|(f)ile|(l)ink
+# <type> : d|f|l|b : (d)irectory|(f)ile|(l)ink|(b)ind
#
# A linking example:
# l root root 0777 /var/test /tmp/testfile
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt.bb
new file mode 100644
index 000000000..3b9af6d73
--- /dev/null
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Extended cryptographic library (from glibc)"
+DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
+HOMEPAGE = "https://github.com/besser82/libxcrypt"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit autotools pkgconfig
+
+PV = "4.4.2"
+# v4.4.2
+SRCREV ?= "cf6abf18083566ec1612af27982a5160c9e0f137"
+SRCBRANCH ?= "develop"
+
+SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH} \
+ "
+
+PROVIDES = "virtual/crypt"
+
+FILES_${PN} = "${libdir}/libcrypt*.so.* ${libdir}/libcrypt-*.so ${libdir}/libowcrypt*.so.* ${libdir}/libowcrypt-*.so"
+
+S = "${WORKDIR}/git"
+
+BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE} -std=gnu99"
+TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes"
+CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.1.1.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.1.1.bb
deleted file mode 100644
index 465aa9652..000000000
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.1.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Extended cryptographic library (from glibc)"
-DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
-HOMEPAGE = "https://github.com/besser82/libxcrypt"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM ?= "file://LICENSING;md5=cb3ca4cabd2447a37bf186fad6f79852 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit autotools pkgconfig
-
-SRCREV ?= "21b455b68baad279e6a3936faced16c5e5634376"
-SRCBRANCH ?= "develop"
-
-SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH} \
- "
-
-PROVIDES = "virtual/crypt"
-
-FILES_${PN} = "${libdir}/libcrypt*.so.* ${libdir}/libcrypt-*.so ${libdir}/libowcrypt*.so.* ${libdir}/libowcrypt-*.so"
-
-S = "${WORKDIR}/git"
-
-BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE} -std=gnu99"
-TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb
index 740bf56a5..62643bc76 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb
@@ -38,7 +38,7 @@ PACKAGECONFIG ??= "python \
PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-inherit autotools pkgconfig binconfig-disabled ptest
+inherit autotools pkgconfig binconfig-disabled ptest distro_features_check
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
diff --git a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
index 0160cb8ee..85472a825 100644
--- a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
+++ b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
@@ -20,6 +20,7 @@ DUMMYPROVIDES = "\
libxml-parser-perl \
perl-module-bytes \
perl-module-carp \
+ perl-module-config \
perl-module-constant \
perl-module-data-dumper \
perl-module-errno \
@@ -35,11 +36,12 @@ DUMMYPROVIDES = "\
perl-module-getopt-long \
perl-module-io-file \
perl-module-overload \
+ perl-module-overloading \
perl-module-posix \
- perl-module-overload \
perl-module-thread-queue \
perl-module-threads \
perl-module-warnings \
+ perl-module-warnings-register \
/bin/sh \
/bin/bash \
/usr/bin/env \
diff --git a/poky/meta/recipes-core/musl/libssp-nonshared.bb b/poky/meta/recipes-core/musl/libssp-nonshared.bb
index 458eafef5..bae8c81cc 100644
--- a/poky/meta/recipes-core/musl/libssp-nonshared.bb
+++ b/poky/meta/recipes-core/musl/libssp-nonshared.bb
@@ -8,15 +8,10 @@ SECTION = "libs"
SRC_URI = "file://ssp-local.c"
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
-
INHIBIT_DEFAULT_DEPS = "1"
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-
DEPENDS = "virtual/${TARGET_PREFIX}binutils \
- virtual/${TARGET_PREFIX}gcc-initial \
+ virtual/${TARGET_PREFIX}gcc \
"
do_configure[noexec] = "1"
diff --git a/poky/meta/recipes-core/musl/musl.inc b/poky/meta/recipes-core/musl/musl.inc
index 319709b3c..8408c5da6 100644
--- a/poky/meta/recipes-core/musl/musl.inc
+++ b/poky/meta/recipes-core/musl/musl.inc
@@ -11,14 +11,8 @@ LICENSE = "MIT"
SECTION = "libs"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8a4bb28f771c817fe57d3a7c4240e3aa"
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
-
INHIBIT_DEFAULT_DEPS = "1"
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-
-
FILES_SOLIBSDEV = ""
FILES_${PN} += "${libdir}/lib*${SOLIBSDEV}"
INSANE_SKIP_${PN} = "dev-so"
diff --git a/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch b/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
new file mode 100644
index 000000000..6a875a717
--- /dev/null
+++ b/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
@@ -0,0 +1,61 @@
+From 5a2886f81dbca3f2ed28eebe7d27d471da278db8 Mon Sep 17 00:00:00 2001
+From: Serhey Popovych <serhe.popovych@gmail.com>
+Date: Tue, 11 Dec 2018 05:44:20 -0500
+Subject: [PATCH] ldso: Use syslibdir and libdir as default pathes to libdirs
+
+In absence of /etc/ld-musl-$(ARCH).path ldso uses default path to search
+libraries /lib:/usr/local/lib:/usr/lib.
+
+However this path isn't relevant in case when library is put in dirs
+like lib64 or libx32.
+
+Adjust CFLAGS_ALL to pass syslibdir as SYSLIBDIR and libdir as LIBDIR
+preprocessor macroses to construct default ldso library search path
+in ldso/dynlink.c::SYS_PATH_DFLT.
+
+Upstream-Status: Pending
+Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
+---
+ Makefile | 3 ++-
+ ldso/dynlink.c | 4 +++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index b46f8ca4..c07e4ae8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -46,7 +46,8 @@ CFLAGS_AUTO = -Os -pipe
+ CFLAGS_C99FSE = -std=c99 -ffreestanding -nostdinc
+
+ CFLAGS_ALL = $(CFLAGS_C99FSE)
+-CFLAGS_ALL += -D_XOPEN_SOURCE=700 -I$(srcdir)/arch/$(ARCH) -I$(srcdir)/arch/generic -Iobj/src/internal -I$(srcdir)/src/include -I$(srcdir)/src/internal -Iobj/include -I$(srcdir)/include
++CFLAGS_ALL += -D_XOPEN_SOURCE=700 -DSYSLIBDIR='"$(syslibdir)"' -DLIBDIR='"$(libdir)"'
++CFLAGS_ALL += -I$(srcdir)/arch/$(ARCH) -I$(srcdir)/arch/generic -Iobj/src/internal -I$(srcdir)/src/include -I$(srcdir)/src/internal -Iobj/include -I$(srcdir)/include
+ CFLAGS_ALL += $(CPPFLAGS) $(CFLAGS_AUTO) $(CFLAGS)
+
+ LDFLAGS_ALL = $(LDFLAGS_AUTO) $(LDFLAGS)
+diff --git a/ldso/dynlink.c b/ldso/dynlink.c
+index ec921dfd..7c119c55 100644
+--- a/ldso/dynlink.c
++++ b/ldso/dynlink.c
+@@ -22,6 +22,8 @@
+ #include "dynlink.h"
+ #include "malloc_impl.h"
+
++#define SYS_PATH_DFLT SYSLIBDIR ":" LIBDIR
++
+ static void error(const char *, ...);
+
+ #define MAXP2(a,b) (-(-(a)&-(b)))
+@@ -1038,7 +1040,7 @@ static struct dso *load_library(const char *name, struct dso *needed_by)
+ sys_path = "";
+ }
+ }
+- if (!sys_path) sys_path = "/lib:/usr/local/lib:/usr/lib";
++ if (!sys_path) sys_path = SYS_PATH_DFLT;
+ fd = path_open(name, sys_path, buf, sizeof buf);
+ }
+ pathname = buf;
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 0d8f8eb2a..2d8dab90d 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,22 +4,25 @@
require musl.inc
inherit linuxloader
-SRCREV = "c50985d5c8e316c5c464f352e79eeebfed1121a9"
+SRCREV = "43e7efb46555f13a556d92944ac05c19b8929b60"
-PV = "1.1.20+git${SRCPV}"
+BASEVER = "1.1.21"
+
+PV = "${BASEVER}+git${SRCPV}"
# mirror is at git://github.com/kraj/musl.git
SRC_URI = "git://git.musl-libc.org/musl \
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
+ file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
"
S = "${WORKDIR}/git"
-PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc virtual/libiconv virtual/libintl virtual/crypt"
+PROVIDES += "virtual/libc virtual/libiconv virtual/libintl virtual/crypt"
DEPENDS = "virtual/${TARGET_PREFIX}binutils \
- virtual/${TARGET_PREFIX}gcc-initial \
+ virtual/${TARGET_PREFIX}gcc \
libgcc-initial \
linux-libc-headers \
bsd-headers \
diff --git a/poky/meta/recipes-core/ncurses/ncurses.inc b/poky/meta/recipes-core/ncurses/ncurses.inc
index 99fc47869..5f2cc3582 100644
--- a/poky/meta/recipes-core/ncurses/ncurses.inc
+++ b/poky/meta/recipes-core/ncurses/ncurses.inc
@@ -260,9 +260,9 @@ python populate_packages_prepend () {
libdir = d.expand("${libdir}")
base_libdir = d.expand("${base_libdir}")
pnbase = d.expand("${PN}-lib%s")
- do_split_packages(d, libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
+ do_split_packages(d, libdir, r'^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
if libdir is not base_libdir:
- do_split_packages(d, base_libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
+ do_split_packages(d, base_libdir, r'^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
}
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20180630.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20180630.bb
deleted file mode 100644
index 38faf7af2..000000000
--- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20180630.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require ncurses.inc
-
-SRC_URI += "file://0001-tic-hang.patch \
- file://0002-configure-reproducible.patch \
- file://config.cache \
-"
-# commit id corresponds to the revision in package version
-SRCREV = "d3b29180ae4360d7ab7a41a15e963299fdb72e33"
-S = "${WORKDIR}/git"
-EXTRA_OECONF += "--with-abi-version=5"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
new file mode 100644
index 000000000..ef6ca9879
--- /dev/null
+++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
@@ -0,0 +1,11 @@
+require ncurses.inc
+
+SRC_URI += "file://0001-tic-hang.patch \
+ file://0002-configure-reproducible.patch \
+ file://config.cache \
+"
+# commit id corresponds to the revision in package version
+SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835"
+S = "${WORKDIR}/git"
+EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
diff --git a/poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch b/poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch
index 56c8d5b5c..27ba2f68a 100644
--- a/poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch
+++ b/poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch
@@ -1,4 +1,4 @@
-From 76989205a1411f16d7ab09ff9d279539a73dc259 Mon Sep 17 00:00:00 2001
+From 52d46c4d1fbd4c88d69c2fcf7837b2f2ba7ef6f2 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Thu, 12 Jan 2017 16:50:58 +0200
Subject: [PATCH] netbase: add rpcbind as an alias to sunrpc
@@ -10,6 +10,7 @@ Upstream-Status: Pending
Signed-off-by: Li Wang <li.wang@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
etc-rpc | 2 +-
etc-services | 4 ++--
@@ -29,12 +30,12 @@ index 1b30625..9a9a81a 100644
rusersd 100002 rusers
nfs 100003 nfsprog
diff --git a/etc-services b/etc-services
-index e3202ec..a039d7e 100644
+index fa7ae24..10ba2bc 100644
--- a/etc-services
+++ b/etc-services
-@@ -64,8 +64,8 @@ csnet-ns 105/udp cso-ns
- rtelnet 107/tcp # Remote Telnet
- rtelnet 107/udp
+@@ -51,8 +51,8 @@ kerberos 88/udp kerberos5 krb5 kerberos-sec # Kerberos v5
+ iso-tsap 102/tcp tsap # part of ISODE
+ acr-nema 104/tcp dicom # Digital Imag. & Comm. 300
pop3 110/tcp pop-3 # POP version 3
-sunrpc 111/tcp portmapper # RPC 4.0 portmapper
-sunrpc 111/udp portmapper
@@ -43,6 +44,3 @@ index e3202ec..a039d7e 100644
auth 113/tcp authentication tap ident
sftp 115/tcp
nntp 119/tcp readnews untp # USENET News Transfer Protocol
---
-2.4.0
-
diff --git a/poky/meta/recipes-core/netbase/netbase_5.4.bb b/poky/meta/recipes-core/netbase/netbase_5.4.bb
deleted file mode 100644
index 5ab0c58f8..000000000
--- a/poky/meta/recipes-core/netbase/netbase_5.4.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Basic TCP/IP networking support"
-DESCRIPTION = "This package provides the necessary infrastructure for basic TCP/IP based networking"
-HOMEPAGE = "http://packages.debian.org/netbase"
-SECTION = "base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
-PE = "1"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20170112T093812Z/pool/main/n/${BPN}/${BPN}_${PV}.tar.xz \
- file://netbase-add-rpcbind-as-an-alias-to-sunrpc.patch \
- file://hosts"
-
-SRC_URI[md5sum] = "117cb70c55ef3c1c002f127812b114c1"
-SRC_URI[sha256sum] = "66ff73d2d162e2d49db43988d8b8cd328cf7fffca042db73397f14c71825e80d"
-
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/"
-do_install () {
- install -d ${D}/${mandir}/man8 ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts
- install -m 0644 etc-rpc ${D}${sysconfdir}/rpc
- install -m 0644 etc-protocols ${D}${sysconfdir}/protocols
- install -m 0644 etc-services ${D}${sysconfdir}/services
-}
-
-CONFFILES_${PN} = "${sysconfdir}/hosts"
diff --git a/poky/meta/recipes-core/netbase/netbase_5.6.bb b/poky/meta/recipes-core/netbase/netbase_5.6.bb
new file mode 100644
index 000000000..2aa49711c
--- /dev/null
+++ b/poky/meta/recipes-core/netbase/netbase_5.6.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Basic TCP/IP networking support"
+DESCRIPTION = "This package provides the necessary infrastructure for basic TCP/IP based networking"
+HOMEPAGE = "http://packages.debian.org/netbase"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
+PE = "1"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz \
+ file://netbase-add-rpcbind-as-an-alias-to-sunrpc.patch"
+
+SRC_URI[md5sum] = "7ad156272c5a42f49c73386ff39c8624"
+SRC_URI[sha256sum] = "5d93a099deb28869b7306e914700fafbd293b55bdb5df05a5aa6effd0af5930c"
+
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/"
+do_install () {
+ install -d ${D}/${mandir}/man8 ${D}${sysconfdir}
+ install -m 0644 etc-rpc ${D}${sysconfdir}/rpc
+ install -m 0644 etc-protocols ${D}${sysconfdir}/protocols
+ install -m 0644 etc-services ${D}${sysconfdir}/services
+}
diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc
index c97c7c276..f50e5fed8 100644
--- a/poky/meta/recipes-core/newlib/newlib.inc
+++ b/poky/meta/recipes-core/newlib/newlib.inc
@@ -20,11 +20,7 @@ SRC_URI[md5sum] = "81ec873108b8593c586f91ca65963952"
SRC_URI[sha256sum] = "c8566335ee74e5fcaeb8595b4ebd0400c4b043d6acb3263ecb1314f8f5501332"
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
-
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc"
S = "${WORKDIR}/newlib-${PV}"
B = "${WORKDIR}/build"
diff --git a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb b/poky/meta/recipes-core/newlib/newlib_3.0.0.bb
index 09238fe00..db13724eb 100644
--- a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb
+++ b/poky/meta/recipes-core/newlib/newlib_3.0.0.bb
@@ -1,6 +1,6 @@
require newlib.inc
-PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc virtual/libiconv virtual/libintl"
+PROVIDES += "virtual/libc virtual/libiconv virtual/libintl"
do_configure() {
${S}/configure ${EXTRA_OECONF}
diff --git a/poky/meta/recipes-core/os-release/os-release.bb b/poky/meta/recipes-core/os-release/os-release.bb
index 7f3d9cba0..d5793c6fe 100644
--- a/poky/meta/recipes-core/os-release/os-release.bb
+++ b/poky/meta/recipes-core/os-release/os-release.bb
@@ -30,7 +30,6 @@ def sanitise_version(ver):
return ret.lower()
python do_compile () {
- import shutil
with open(d.expand('${B}/os-release'), 'w') as f:
for field in d.getVar('OS_RELEASE_FIELDS').split():
value = d.getVar(field)
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index d2ecb619d..71828d8d8 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -43,8 +43,7 @@ PARALLEL_MAKE = ""
S = "${WORKDIR}/git"
-DEPENDS_class-native="util-linux-native iasl-native qemu-native"
-
+DEPENDS_class-native="util-linux-native iasl-native"
DEPENDS_class-target="ovmf-native"
DEPENDS_append = " nasm-native"
@@ -232,6 +231,10 @@ FILES_ovmf-shell-efi = " \
efi/ \
"
+DEPLOYDEP = ""
+DEPLOYDEP_class-target = "qemu-system-native:do_populate_sysroot"
+do_deploy[depends] += "${DEPLOYDEP}"
+
do_deploy() {
}
do_deploy[cleandirs] = "${DEPLOYDIR}"
diff --git a/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
index 4bf0ac045..ae989011f 100644
--- a/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
+++ b/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
@@ -22,6 +22,7 @@ RDEPENDS_${PN} = "\
nativesdk-shadow \
nativesdk-makedevs \
nativesdk-cmake \
+ nativesdk-meson \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-wayland', '', d)} \
nativesdk-sdk-provides-dummy \
nativesdk-bison \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
index 45e8c1358..15d0989b7 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
@@ -27,6 +27,7 @@ RDEPENDS_packagegroup-core-sdk = "\
tcl"
SANITIZERS = "libasan-dev libubsan-dev"
+SANITIZERS_arc = ""
SANITIZERS_microblaze = ""
SANITIZERS_mipsarch = ""
SANITIZERS_nios2 = ""
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 33d9c09a6..3fd423c59 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -37,15 +37,13 @@ SYSTEMTAP_riscv64 = ""
# lttng-ust uses sched_getcpu() which is not there on for some platforms.
LTTNGUST = "lttng-ust"
-LTTNGUST_libc-musl = ""
-LTTNGUST_riscv64 = ""
+LTTNGUST_arc = ""
LTTNGTOOLS = "lttng-tools"
-LTTNGTOOLS_libc-musl = ""
-LTTNGTOOLS_riscv64 = ""
+LTTNGTOOLS_arc = ""
LTTNGMODULES = "lttng-modules"
-LTTNGMODULES_riscv64 = ""
+LTTNGMODULES_arc = ""
BABELTRACE = "babeltrace"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
index 643219852..a5fc15285 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
@@ -34,12 +34,10 @@ X11TOOLS = "\
xrestop \
xwininfo \
xprop \
- xvideo-tests \
"
RDEPENDS_${PN} = "\
blktool \
- lrzsz \
${KEXECTOOLS} \
alsa-utils-amixer \
alsa-utils-aplay \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index 9a6721ce0..b296db545 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -128,7 +128,6 @@ RDEPENDS_packagegroup-self-hosted-extended = "\
libaio \
libusb1 \
libxml2 \
- lrzsz \
lsof \
lzo \
man \
diff --git a/poky/meta/recipes-core/psplash/psplash_git.bb b/poky/meta/recipes-core/psplash/psplash_git.bb
index 3ad1ef481..3161a5e3f 100644
--- a/poky/meta/recipes-core/psplash/psplash_git.bb
+++ b/poky/meta/recipes-core/psplash/psplash_git.bb
@@ -74,7 +74,6 @@ ALTERNATIVE_LINK_NAME[psplash] = "${bindir}/psplash"
python do_compile () {
import shutil
import subprocess
- import shlex
# Build a separate executable for each splash image
workdir = d.getVar('WORKDIR')
@@ -84,9 +83,10 @@ python do_compile () {
outputfiles = d.getVar('SPLASH_INSTALL').split()
for localfile, outputfile in zip(localfiles, outputfiles):
if localfile.endswith(".png"):
- subprocess.call(shlex.split('%s %s POKY' % (convertscript, os.path.join(workdir, localfile))))
+ if subprocess.call([ convertscript, os.path.join(workdir, localfile), 'POKY' ], cwd=workdir):
+ bb.fatal("Error calling convert script '%s'" % (convertscript))
fbase = os.path.splitext(localfile)[0]
- shutil.copyfile("%s-img.h" % fbase, destfile)
+ shutil.copyfile(os.path.join(workdir, "%s-img.h" % fbase), destfile)
else:
shutil.copyfile(os.path.join(workdir, localfile), destfile)
# For some reason just updating the header is not enough, we have to touch the .c
diff --git a/poky/meta/recipes-core/readline/readline-7.0/configure-fix.patch b/poky/meta/recipes-core/readline/readline-8.0/configure-fix.patch
index ef3104f8a..ef3104f8a 100644
--- a/poky/meta/recipes-core/readline/readline-7.0/configure-fix.patch
+++ b/poky/meta/recipes-core/readline/readline-8.0/configure-fix.patch
diff --git a/poky/meta/recipes-core/readline/readline-7.0/norpath.patch b/poky/meta/recipes-core/readline/readline-8.0/norpath.patch
index 5d71582b7..5d71582b7 100644
--- a/poky/meta/recipes-core/readline/readline-7.0/norpath.patch
+++ b/poky/meta/recipes-core/readline/readline-8.0/norpath.patch
diff --git a/poky/meta/recipes-core/readline/readline_7.0.bb b/poky/meta/recipes-core/readline/readline_7.0.bb
deleted file mode 100644
index 85dfaa629..000000000
--- a/poky/meta/recipes-core/readline/readline_7.0.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require readline.inc
-
-SRC_URI += "file://configure-fix.patch \
- file://norpath.patch"
-
-SRC_URI[archive.md5sum] = "205b03a87fc83dab653b628c59b9fc91"
-SRC_URI[archive.sha256sum] = "750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334"
diff --git a/poky/meta/recipes-core/readline/readline_8.0.bb b/poky/meta/recipes-core/readline/readline_8.0.bb
new file mode 100644
index 000000000..99d022a32
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline_8.0.bb
@@ -0,0 +1,7 @@
+require readline.inc
+
+SRC_URI += "file://configure-fix.patch \
+ file://norpath.patch"
+
+SRC_URI[archive.md5sum] = "7e6c1f16aee3244a69aba6e438295ca3"
+SRC_URI[archive.sha256sum] = "e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461"
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_239.bb b/poky/meta/recipes-core/systemd/systemd-boot_239.bb
deleted file mode 100644
index 2450d52cb..000000000
--- a/poky/meta/recipes-core/systemd/systemd-boot_239.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-require systemd.inc
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:"
-
-DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
-
-SRC_URI += "file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
- file://0006-remove-nobody-user-group-checking.patch \
- file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \
- file://0001-meson-rename-Ddebug-to-Ddebug-extra.patch \
- "
-
-inherit meson pkgconfig gettext
-inherit deploy
-
-EFI_CC ?= "${CC}"
-EXTRA_OEMESON += "-Defi=true \
- -Dgnu-efi=true \
- -Defi-includedir=${STAGING_INCDIR}/efi \
- -Defi-ldsdir=${STAGING_LIBDIR} \
- -Defi-libdir=${STAGING_LIBDIR} \
- -Dman=false \
- -Defi-cc='${EFI_CC}' \
- -Defi-ld='${LD}' \
- "
-
-# install to the image as boot*.efi if its the EFI_PROVIDER,
-# otherwise install as the full name.
-# This allows multiple bootloaders to coexist in a single image.
-python __anonymous () {
- import re
- target = d.getVar('TARGET_ARCH')
- prefix = "" if d.getVar('EFI_PROVIDER') == "systemd-boot" else "systemd-"
- if target == "x86_64":
- systemdimage = prefix + "bootx64.efi"
- else:
- systemdimage = prefix + "bootia32.efi"
- d.setVar("SYSTEMD_BOOT_IMAGE", systemdimage)
- prefix = "systemd-" if prefix == "" else ""
- d.setVar("SYSTEMD_BOOT_IMAGE_PREFIX", prefix)
-}
-
-FILES_${PN} = "/boot/EFI/BOOT/${SYSTEMD_BOOT_IMAGE}"
-
-RDEPENDS_${PN} += "virtual/systemd-bootconf"
-
-# Imported from the old gummiboot recipe
-TUNE_CCARGS_remove = "-mfpmath=sse"
-COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
-COMPATIBLE_HOST_x86-x32 = "null"
-
-do_compile() {
- SYSTEMD_BOOT_EFI_ARCH="ia32"
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- SYSTEMD_BOOT_EFI_ARCH="x64"
- fi
-
- ninja src/boot/efi/${SYSTEMD_BOOT_IMAGE_PREFIX}${SYSTEMD_BOOT_IMAGE}
-}
-
-do_install() {
- install -d ${D}/boot
- install -d ${D}/boot/EFI
- install -d ${D}/boot/EFI/BOOT
- install ${B}/src/boot/efi/systemd-boot*.efi ${D}/boot/EFI/BOOT/${SYSTEMD_BOOT_IMAGE}
-}
-
-do_deploy () {
- install ${B}/src/boot/efi/systemd-boot*.efi ${DEPLOYDIR}
-}
-addtask deploy before do_build after do_compile
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_241.bb b/poky/meta/recipes-core/systemd/systemd-boot_241.bb
new file mode 100644
index 000000000..56e68a3d4
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-boot_241.bb
@@ -0,0 +1,71 @@
+require systemd.inc
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:"
+
+DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
+
+# NOTE: These three patches are in theory not needed, but we haven't
+# figured out how to correctly pass efi-cc parameter if it's an array.
+SRC_URI += "file://0001-Revert-meson-use-an-array-option-for-efi-cc.patch \
+ file://0001-Revert-meson-print-EFI-CC-configuration-nicely.patch \
+ file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \
+ "
+
+inherit meson pkgconfig gettext
+inherit deploy
+
+EFI_CC ?= "${CC}"
+EXTRA_OEMESON += "-Defi=true \
+ -Dgnu-efi=true \
+ -Defi-includedir=${STAGING_INCDIR}/efi \
+ -Defi-ldsdir=${STAGING_LIBDIR} \
+ -Defi-libdir=${STAGING_LIBDIR} \
+ -Dman=false \
+ -Defi-cc='${EFI_CC}' \
+ -Defi-ld='${LD}' \
+ "
+
+# install to the image as boot*.efi if its the EFI_PROVIDER,
+# otherwise install as the full name.
+# This allows multiple bootloaders to coexist in a single image.
+python __anonymous () {
+ import re
+ target = d.getVar('TARGET_ARCH')
+ prefix = "" if d.getVar('EFI_PROVIDER') == "systemd-boot" else "systemd-"
+ if target == "x86_64":
+ systemdimage = prefix + "bootx64.efi"
+ else:
+ systemdimage = prefix + "bootia32.efi"
+ d.setVar("SYSTEMD_BOOT_IMAGE", systemdimage)
+ prefix = "systemd-" if prefix == "" else ""
+ d.setVar("SYSTEMD_BOOT_IMAGE_PREFIX", prefix)
+}
+
+FILES_${PN} = "/boot/EFI/BOOT/${SYSTEMD_BOOT_IMAGE}"
+
+RDEPENDS_${PN} += "virtual/systemd-bootconf"
+
+# Imported from the old gummiboot recipe
+TUNE_CCARGS_remove = "-mfpmath=sse"
+COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
+COMPATIBLE_HOST_x86-x32 = "null"
+
+do_compile() {
+ SYSTEMD_BOOT_EFI_ARCH="ia32"
+ if [ "${TARGET_ARCH}" = "x86_64" ]; then
+ SYSTEMD_BOOT_EFI_ARCH="x64"
+ fi
+
+ ninja src/boot/efi/${SYSTEMD_BOOT_IMAGE_PREFIX}${SYSTEMD_BOOT_IMAGE}
+}
+
+do_install() {
+ install -d ${D}/boot
+ install -d ${D}/boot/EFI
+ install -d ${D}/boot/EFI/BOOT
+ install ${B}/src/boot/efi/systemd-boot*.efi ${D}/boot/EFI/BOOT/${SYSTEMD_BOOT_IMAGE}
+}
+
+do_deploy () {
+ install ${B}/src/boot/efi/systemd-boot*.efi ${DEPLOYDIR}
+}
+addtask deploy before do_build after do_compile
diff --git a/poky/meta/recipes-core/systemd/systemd-conf.bb b/poky/meta/recipes-core/systemd/systemd-conf_241.bb
index 9bb27fd96..9bb27fd96 100644
--- a/poky/meta/recipes-core/systemd/systemd-conf.bb
+++ b/poky/meta/recipes-core/systemd/systemd-conf_241.bb
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 736e0a0ea..5bd88ed6e 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,8 +14,10 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "de7436b02badc82200dc127ff190b8155769b8e7"
-
-SRC_URI = "git://github.com/systemd/systemd.git;protocol=git"
+SRCREV = "c1f8ff8d0de7e303b8004b02a0a47d4cc103a7f8"
+SRCBRANCH = "v241-stable"
+SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
+
+PV_append = "+${SRCPV}"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch b/poky/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
deleted file mode 100644
index d745800ce..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9e3816bcaa36e1a11647ca0cf4f8044449c77fe0 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 15:28:22 +0800
-Subject: [PATCH] Remove fstack-protector flags to workaround musl build
-
-Remove fstack-protector and fstack-protector-strong flags to fix
-the following build failure for qemux86 and qemuppc with musl.
-
- undefined reference to `__stack_chk_fail_local'
-
-Upstream-Status: Inappropriate [musl Specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index f432ea072..a734a295c 100644
---- a/meson.build
-+++ b/meson.build
-@@ -333,8 +333,6 @@ possible_cc_flags = [
- '-fdiagnostics-show-option',
- '-fno-strict-aliasing',
- '-fvisibility=hidden',
-- '-fstack-protector',
-- '-fstack-protector-strong',
- '--param=ssp-buffer-size=4',
- ]
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch b/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch
new file mode 100644
index 000000000..ed14e25bc
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch
@@ -0,0 +1,33 @@
+From 0bf530aac152630500939db31f98d933158fdabd Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 26 Feb 2019 14:27:49 +0800
+Subject: [PATCH] Revert "meson: print EFI CC configuration nicely"
+
+This reverts commit c512dfb9ac948ddb1ced0dab07b9dac88b198293.
+
+This patch is here because we haven't figured out how to pass
+parameter to efi-cc if it's an array in systemd-boot recipe.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 70fb218..30df834 100644
+--- a/meson.build
++++ b/meson.build
+@@ -3138,7 +3138,7 @@ if conf.get('ENABLE_EFI') == 1
+ if have_gnu_efi
+ status += [
+ 'EFI machine type: @0@'.format(EFI_MACHINE_TYPE_NAME),
+- 'EFI CC @0@'.format(' '.join(efi_cc)),
++ 'EFI CC @0@'.format(efi_cc),
+ 'EFI lib directory: @0@'.format(efi_libdir),
+ 'EFI lds directory: @0@'.format(efi_ldsdir),
+ 'EFI include directory: @0@'.format(efi_incdir)]
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch b/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch
new file mode 100644
index 000000000..0d2ebf62b
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch
@@ -0,0 +1,77 @@
+From 0030dcbac1a9177ef7a28af209ac67149b899f5f Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 26 Feb 2019 14:17:25 +0800
+Subject: [PATCH] Revert "meson: use an array option for efi-cc"
+
+This reverts commit 595343fb4c99c2679d347ef7c19debfbfed6342e.
+
+This patch is here because we haven't figured out how to pass
+parameter to efi-cc if it's an array in systemd-boot recipe.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson_options.txt | 2 +-
+ src/boot/efi/meson.build | 11 ++++++-----
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 044bb79..3d28bfd 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -292,7 +292,7 @@ option('dbus', type : 'combo', choices : ['auto', 'true', 'false'],
+
+ option('gnu-efi', type : 'combo', choices : ['auto', 'true', 'false'],
+ description : 'gnu-efi support for sd-boot')
+-option('efi-cc', type : 'array',
++option('efi-cc', type : 'string',
+ description : 'the compiler to use for EFI modules')
+ option('efi-ld', type : 'string',
+ description : 'the linker to use for EFI modules')
+diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
+index 2140151..d8db3a1 100644
+--- a/src/boot/efi/meson.build
++++ b/src/boot/efi/meson.build
+@@ -34,8 +34,8 @@ stub_sources = '''
+
+ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false'
+ efi_cc = get_option('efi-cc')
+- if efi_cc.length() == 0
+- efi_cc = cc.cmd_array()
++ if efi_cc == ''
++ efi_cc = ' '.join(cc.cmd_array())
+ endif
+ efi_ld = get_option('efi-ld')
+ if efi_ld == ''
+@@ -57,7 +57,8 @@ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false'
+
+ efi_libdir = get_option('efi-libdir')
+ if efi_libdir == ''
+- ret = run_command(efi_cc + ['-print-multi-os-directory'])
++ cmd = 'cd /usr/lib/$(@0@ -print-multi-os-directory) && pwd'.format(efi_cc)
++ ret = run_command('sh', '-c', cmd)
+ if ret.returncode() == 0
+ path = join_paths('/usr/lib', ret.stdout().strip())
+ ret = run_command('realpath', '-e', path)
+@@ -152,7 +153,7 @@ if have_gnu_efi
+ o_file = custom_target(file + '.o',
+ input : file,
+ output : file + '.o',
+- command : efi_cc + ['-c', '@INPUT@', '-o', '@OUTPUT@']
++ command : [efi_cc, '-c', '@INPUT@', '-o', '@OUTPUT@']
+ + compile_args,
+ depend_files : efi_headers)
+ if (common_sources + systemd_boot_sources).contains(file)
+@@ -163,7 +164,7 @@ if have_gnu_efi
+ endif
+ endforeach
+
+- libgcc_file_name = run_command(efi_cc + ['-print-libgcc-file-name']).stdout().strip()
++ libgcc_file_name = run_command(efi_cc, '-print-libgcc-file-name').stdout().strip()
+ systemd_boot_efi_name = 'systemd-boot@0@.efi'.format(EFI_MACHINE_TYPE_NAME)
+ stub_efi_name = 'linux@0@.efi.stub'.format(EFI_MACHINE_TYPE_NAME)
+ no_undefined_symbols = find_program('no-undefined-symbols.sh')
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch b/poky/meta/recipes-core/systemd/systemd/0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch
deleted file mode 100644
index 7fd6d0188..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1e190dfd5bb95036f937ef1dc46f43eb0a146612 Mon Sep 17 00:00:00 2001
-From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
-Date: Fri, 17 Aug 2018 21:31:05 +0200
-Subject: [PATCH] Revert "sysctl.d: request ECN on both in and outgoing
- connections"
-
-Turning on ECN still causes slow or broken network on linux. Our tcp
-is not yet ready for wide spread use of ECN.
-
-This reverts commit 919472741dba6ad0a3f6c2b76d390a02d0e2fdc3.
-
-https://github.com/systemd/systemd/issues/9748
-
-Upstream-Status: Backport
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- sysctl.d/50-default.conf | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/sysctl.d/50-default.conf b/sysctl.d/50-default.conf
-index b67ae87ca6b7..e263cf06284a 100644
---- a/sysctl.d/50-default.conf
-+++ b/sysctl.d/50-default.conf
-@@ -33,9 +33,6 @@ net.ipv4.conf.all.promote_secondaries = 1
- # Fair Queue CoDel packet scheduler to fight bufferbloat
- net.core.default_qdisc = fq_codel
-
--# Request Explicit Congestion Notification (ECN) on both in and outgoing connections
--net.ipv4.tcp_ecn = 1
--
- # Enable hard and soft link protection
- fs.protected_hardlinks = 1
- fs.protected_symlinks = 1
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch b/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch
index 03f6ead13..37979755d 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch
@@ -1,7 +1,7 @@
-From 6dd136512896979feb6883a16226d640a7e5ca74 Mon Sep 17 00:00:00 2001
+From b8055a61b5df6b43b8d3117936587b874b0a339b Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 23 Feb 2018 10:04:48 +0800
-Subject: [PATCH 01/19] Use getenv when secure versions are not available
+Date: Mon, 25 Feb 2019 11:01:18 +0800
+Subject: [PATCH 01/24] Use getenv when secure versions are not available
musl doesnt implement secure version, so we default
to it if configure does not detect a secure implementation
@@ -12,14 +12,14 @@ Upstream-Status: Denied
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- src/basic/missing.h | 2 +-
+ src/basic/missing_stdlib.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 71a07d057..0e33abb9f 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -592,7 +592,7 @@ struct btrfs_ioctl_quota_ctl_args {
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index 188a8d4..c0ffe86 100644
+--- a/src/basic/missing_stdlib.h
++++ b/src/basic/missing_stdlib.h
+@@ -8,6 +8,6 @@
# if HAVE___SECURE_GETENV
# define secure_getenv __secure_getenv
# else
@@ -27,7 +27,6 @@ index 71a07d057..0e33abb9f 100644
+# define secure_getenv getenv
# endif
#endif
-
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index e24e7f83f..00670ca2b 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -1,7 +1,7 @@
-From 87dd61be2e28e78ce4f9f173794812e6c2d904d1 Mon Sep 17 00:00:00 2001
+From 98254e4798e79d52ac6b562616cd244120f6e239 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 27 Jun 2018 16:01:22 +0800
-Subject: [PATCH 1/9] binfmt: Don't install dependency links at install time
+Date: Thu, 21 Feb 2019 16:23:24 +0800
+Subject: [PATCH 1/5] binfmt: Don't install dependency links at install time
for the binfmt services
use [Install] blocks so that they get created when the service is enabled
@@ -23,10 +23,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/units/meson.build b/units/meson.build
-index e4ac6ced6..698734e44 100644
+index d695084..7b1f14a 100644
--- a/units/meson.build
+++ b/units/meson.build
-@@ -46,8 +46,7 @@ units = [
+@@ -47,8 +47,7 @@ units = [
['poweroff.target', '',
'runlevel0.target'],
['printer.target', ''],
@@ -36,18 +36,18 @@ index e4ac6ced6..698734e44 100644
['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'],
['reboot.target', '',
'runlevel6.target ctrl-alt-del.target'],
-@@ -130,8 +129,7 @@ in_units = [
+@@ -134,8 +133,7 @@ in_units = [
['systemd-ask-password-console.service', ''],
['systemd-ask-password-wall.service', ''],
['systemd-backlight@.service', 'ENABLE_BACKLIGHT'],
- ['systemd-binfmt.service', 'ENABLE_BINFMT',
- 'sysinit.target.wants/'],
+ ['systemd-binfmt.service', 'ENABLE_BINFMT'],
+ ['systemd-bless-boot.service', 'ENABLE_EFI HAVE_BLKID'],
+ ['systemd-boot-check-no-failures.service', ''],
['systemd-coredump@.service', 'ENABLE_COREDUMP'],
- ['systemd-exit.service', ''],
- ['systemd-firstboot.service', 'ENABLE_FIRSTBOOT',
diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
-index 30a6bc991..4231f3b70 100644
+index 30a6bc9..4231f3b 100644
--- a/units/proc-sys-fs-binfmt_misc.automount
+++ b/units/proc-sys-fs-binfmt_misc.automount
@@ -18,3 +18,6 @@ ConditionPathIsReadWrite=/proc/sys/
@@ -58,7 +58,7 @@ index 30a6bc991..4231f3b70 100644
+[Install]
+WantedBy=sysinit.target
diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
-index e940c7c9a..6be7f5cc9 100644
+index e940c7c..6be7f5c 100644
--- a/units/systemd-binfmt.service.in
+++ b/units/systemd-binfmt.service.in
@@ -14,6 +14,7 @@ Documentation=https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.htm
@@ -77,5 +77,5 @@ index e940c7c9a..6be7f5cc9 100644
+[Install]
+WantedBy=sysinit.target
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch b/poky/meta/recipes-core/systemd/systemd/0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch
deleted file mode 100644
index 9d350ebad..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-From 2da8ba3f507345d0401ea9d7191fa16ffa560ebc Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Fri, 19 Oct 2018 11:26:59 +0200
-Subject: [PATCH] chown-recursive: let's rework the recursive logic to use
- O_PATH
-
-That way we can pin a specific inode and analyze it and manipulate it
-without it being swapped out beneath our hands.
-
-Fixes a vulnerability originally found by Jann Horn from Google.
-
-CVE-2018-15687
-LP: #1796692
-https://bugzilla.redhat.com/show_bug.cgi?id=1639076
-
-(cherry picked from commit 5de6cce58b3e8b79239b6e83653459d91af6e57c)
-
-CVE: CVE-2018-15687
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/core/chown-recursive.c | 146 ++++++++++++++++++++++-----------------------
- 1 file changed, 70 insertions(+), 76 deletions(-)
-
-diff --git a/src/core/chown-recursive.c b/src/core/chown-recursive.c
-index c479450..27c6448 100644
---- a/src/core/chown-recursive.c
-+++ b/src/core/chown-recursive.c
-@@ -1,17 +1,19 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
--#include <sys/types.h>
--#include <sys/stat.h>
- #include <fcntl.h>
-+#include <sys/stat.h>
-+#include <sys/types.h>
-
--#include "user-util.h"
--#include "macro.h"
--#include "fd-util.h"
--#include "dirent-util.h"
- #include "chown-recursive.h"
-+#include "dirent-util.h"
-+#include "fd-util.h"
-+#include "macro.h"
-+#include "stdio-util.h"
-+#include "strv.h"
-+#include "user-util.h"
-
--static int chown_one(int fd, const char *name, const struct stat *st, uid_t uid, gid_t gid) {
-- int r;
-+static int chown_one(int fd, const struct stat *st, uid_t uid, gid_t gid) {
-+ char procfs_path[STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int) + 1];
-
- assert(fd >= 0);
- assert(st);
-@@ -20,90 +22,82 @@ static int chown_one(int fd, const char *name, const struct stat *st, uid_t uid,
- (!gid_is_valid(gid) || st->st_gid == gid))
- return 0;
-
-- if (name)
-- r = fchownat(fd, name, uid, gid, AT_SYMLINK_NOFOLLOW);
-- else
-- r = fchown(fd, uid, gid);
-- if (r < 0)
-- return -errno;
-+ /* We change ownership through the /proc/self/fd/%i path, so that we have a stable reference that works with
-+ * O_PATH. (Note: fchown() and fchmod() do not work with O_PATH, the kernel refuses that. */
-+ xsprintf(procfs_path, "/proc/self/fd/%i", fd);
-
-- /* The linux kernel alters the mode in some cases of chown(). Let's undo this. */
-- if (name) {
-- if (!S_ISLNK(st->st_mode))
-- r = fchmodat(fd, name, st->st_mode, 0);
-- else /* There's currently no AT_SYMLINK_NOFOLLOW for fchmodat() */
-- r = 0;
-- } else
-- r = fchmod(fd, st->st_mode);
-- if (r < 0)
-+ if (chown(procfs_path, uid, gid) < 0)
- return -errno;
-
-+ /* The linux kernel alters the mode in some cases of chown(). Let's undo this. We do this only for non-symlinks
-+ * however. That's because for symlinks the access mode is ignored anyway and because on some kernels/file
-+ * systems trying to change the access mode will succeed but has no effect while on others it actively
-+ * fails. */
-+ if (!S_ISLNK(st->st_mode))
-+ if (chmod(procfs_path, st->st_mode & 07777) < 0)
-+ return -errno;
-+
- return 1;
- }
-
- static int chown_recursive_internal(int fd, const struct stat *st, uid_t uid, gid_t gid) {
-+ _cleanup_closedir_ DIR *d = NULL;
- bool changed = false;
-+ struct dirent *de;
- int r;
-
- assert(fd >= 0);
- assert(st);
-
-- if (S_ISDIR(st->st_mode)) {
-- _cleanup_closedir_ DIR *d = NULL;
-- struct dirent *de;
--
-- d = fdopendir(fd);
-- if (!d) {
-- r = -errno;
-- goto finish;
-- }
-- fd = -1;
--
-- FOREACH_DIRENT_ALL(de, d, r = -errno; goto finish) {
-- struct stat fst;
--
-- if (dot_or_dot_dot(de->d_name))
-- continue;
--
-- if (fstatat(dirfd(d), de->d_name, &fst, AT_SYMLINK_NOFOLLOW) < 0) {
-- r = -errno;
-- goto finish;
-- }
--
-- if (S_ISDIR(fst.st_mode)) {
-- int subdir_fd;
--
-- subdir_fd = openat(dirfd(d), de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME);
-- if (subdir_fd < 0) {
-- r = -errno;
-- goto finish;
-- }
--
-- r = chown_recursive_internal(subdir_fd, &fst, uid, gid);
-- if (r < 0)
-- goto finish;
-- if (r > 0)
-- changed = true;
-- } else {
-- r = chown_one(dirfd(d), de->d_name, &fst, uid, gid);
-- if (r < 0)
-- goto finish;
-- if (r > 0)
-- changed = true;
-- }
-+ d = fdopendir(fd);
-+ if (!d) {
-+ safe_close(fd);
-+ return -errno;
-+ }
-+
-+ FOREACH_DIRENT_ALL(de, d, return -errno) {
-+ _cleanup_close_ int path_fd = -1;
-+ struct stat fst;
-+
-+ if (dot_or_dot_dot(de->d_name))
-+ continue;
-+
-+ /* Let's pin the child inode we want to fix now with an O_PATH fd, so that it cannot be swapped out
-+ * while we manipulate it. */
-+ path_fd = openat(dirfd(d), de->d_name, O_PATH|O_CLOEXEC|O_NOFOLLOW);
-+ if (path_fd < 0)
-+ return -errno;
-+
-+ if (fstat(path_fd, &fst) < 0)
-+ return -errno;
-+
-+ if (S_ISDIR(fst.st_mode)) {
-+ int subdir_fd;
-+
-+ /* Convert it to a "real" (i.e. non-O_PATH) fd now */
-+ subdir_fd = fd_reopen(path_fd, O_RDONLY|O_CLOEXEC|O_NOATIME);
-+ if (subdir_fd < 0)
-+ return subdir_fd;
-+
-+ r = chown_recursive_internal(subdir_fd, &fst, uid, gid); /* takes possession of subdir_fd even on failure */
-+ if (r < 0)
-+ return r;
-+ if (r > 0)
-+ changed = true;
-+ } else {
-+ r = chown_one(path_fd, &fst, uid, gid);
-+ if (r < 0)
-+ return r;
-+ if (r > 0)
-+ changed = true;
- }
-+ }
-
-- r = chown_one(dirfd(d), NULL, st, uid, gid);
-- } else
-- r = chown_one(fd, NULL, st, uid, gid);
-+ r = chown_one(dirfd(d), st, uid, gid);
- if (r < 0)
-- goto finish;
-+ return r;
-
-- r = r > 0 || changed;
--
--finish:
-- safe_close(fd);
-- return r;
-+ return r > 0 || changed;
- }
-
- int path_chown_recursive(const char *path, uid_t uid, gid_t gid) {
-@@ -111,7 +105,7 @@ int path_chown_recursive(const char *path, uid_t uid, gid_t gid) {
- struct stat st;
- int r;
-
-- fd = open(path, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME);
-+ fd = open(path, O_RDONLY|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME);
- if (fd < 0)
- return -errno;
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-core-when-deserializing-state-always-use-read_line-L.patch b/poky/meta/recipes-core/systemd/systemd/0001-core-when-deserializing-state-always-use-read_line-L.patch
deleted file mode 100644
index 215d68076..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-core-when-deserializing-state-always-use-read_line-L.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 1a05ff4948d778280ec155a9abe69d3360bfddd9 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Wed, 17 Oct 2018 18:36:24 +0200
-Subject: [PATCH] =?UTF-8?q?core:=20when=20deserializing=20state=20always?=
- =?UTF-8?q?=20use=20read=5Fline(=E2=80=A6,=20LONG=5FLINE=5FMAX,=20?=
- =?UTF-8?q?=E2=80=A6)?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This should be much better than fgets(), as we can read substantially
-longer lines and overly long lines result in proper errors.
-
-Fixes a vulnerability discovered by Jann Horn at Google.
-
-CVE-2018-15686
-LP: #1796402
-https://bugzilla.redhat.com/show_bug.cgi?id=1639071
-
-(cherry picked from commit 8948b3415d762245ebf5e19d80b97d4d8cc208c1)
-
-CVE: CVE-2018-15686
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/core/job.c | 19 +++++++++++--------
- src/core/manager.c | 44 ++++++++++++++++++++------------------------
- src/core/unit.c | 34 ++++++++++++++++++----------------
- src/core/unit.h | 2 +-
- 4 files changed, 50 insertions(+), 49 deletions(-)
-
-diff --git a/src/core/job.c b/src/core/job.c
-index 734756b..8552ffb 100644
---- a/src/core/job.c
-+++ b/src/core/job.c
-@@ -10,6 +10,7 @@
- #include "dbus-job.h"
- #include "dbus.h"
- #include "escape.h"
-+#include "fileio.h"
- #include "job.h"
- #include "log.h"
- #include "macro.h"
-@@ -1091,24 +1092,26 @@ int job_serialize(Job *j, FILE *f) {
- }
-
- int job_deserialize(Job *j, FILE *f) {
-+ int r;
-+
- assert(j);
- assert(f);
-
- for (;;) {
-- char line[LINE_MAX], *l, *v;
-+ _cleanup_free_ char *line = NULL;
-+ char *l, *v;
- size_t k;
-
-- if (!fgets(line, sizeof(line), f)) {
-- if (feof(f))
-- return 0;
-- return -errno;
-- }
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to read serialization line: %m");
-+ if (r == 0)
-+ return 0;
-
-- char_array_0(line);
- l = strstrip(line);
-
- /* End marker */
-- if (l[0] == 0)
-+ if (isempty(l))
- return 0;
-
- k = strcspn(l, "=");
-diff --git a/src/core/manager.c b/src/core/manager.c
-index 3a7f0c4..a5780c9 100644
---- a/src/core/manager.c
-+++ b/src/core/manager.c
-@@ -3171,22 +3171,19 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
- m->n_reloading++;
-
- for (;;) {
-- char line[LINE_MAX];
-+ _cleanup_free_ char *line = NULL;
- const char *val, *l;
-
-- if (!fgets(line, sizeof(line), f)) {
-- if (feof(f))
-- r = 0;
-- else
-- r = -errno;
--
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0) {
-+ log_error_errno(r, "Failed to read serialization line: %m");
- goto finish;
- }
-+ if (r == 0)
-+ break;
-
-- char_array_0(line);
- l = strstrip(line);
--
-- if (l[0] == 0)
-+ if (isempty(l)) /* end marker */
- break;
-
- if ((val = startswith(l, "current-job-id="))) {
-@@ -3353,29 +3350,31 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
- }
-
- for (;;) {
-- Unit *u;
-- char name[UNIT_NAME_MAX+2];
-+ _cleanup_free_ char *line = NULL;
- const char* unit_name;
-+ Unit *u;
-
- /* Start marker */
-- if (!fgets(name, sizeof(name), f)) {
-- if (feof(f))
-- r = 0;
-- else
-- r = -errno;
--
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0) {
-+ log_error_errno(r, "Failed to read serialization line: %m");
- goto finish;
- }
-+ if (r == 0)
-+ break;
-
-- char_array_0(name);
-- unit_name = strstrip(name);
-+ unit_name = strstrip(line);
-
- r = manager_load_unit(m, unit_name, NULL, NULL, &u);
- if (r < 0) {
- log_notice_errno(r, "Failed to load unit \"%s\", skipping deserialization: %m", unit_name);
- if (r == -ENOMEM)
- goto finish;
-- unit_deserialize_skip(f);
-+
-+ r = unit_deserialize_skip(f);
-+ if (r < 0)
-+ goto finish;
-+
- continue;
- }
-
-@@ -3388,9 +3387,6 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
- }
-
- finish:
-- if (ferror(f))
-- r = -EIO;
--
- assert(m->n_reloading > 0);
- m->n_reloading--;
-
-diff --git a/src/core/unit.c b/src/core/unit.c
-index 7da963a..e98c9c4 100644
---- a/src/core/unit.c
-+++ b/src/core/unit.c
-@@ -3380,21 +3380,19 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
- assert(fds);
-
- for (;;) {
-- char line[LINE_MAX], *l, *v;
-+ _cleanup_free_ char *line = NULL;
- CGroupIPAccountingMetric m;
-+ char *l, *v;
- size_t k;
-
-- if (!fgets(line, sizeof(line), f)) {
-- if (feof(f))
-- return 0;
-- return -errno;
-- }
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to read serialization line: %m");
-+ if (r == 0) /* eof */
-+ break;
-
-- char_array_0(line);
- l = strstrip(line);
--
-- /* End marker */
-- if (isempty(l))
-+ if (isempty(l)) /* End marker */
- break;
-
- k = strcspn(l, "=");
-@@ -3671,23 +3669,27 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
- return 0;
- }
-
--void unit_deserialize_skip(FILE *f) {
-+int unit_deserialize_skip(FILE *f) {
-+ int r;
- assert(f);
-
- /* Skip serialized data for this unit. We don't know what it is. */
-
- for (;;) {
-- char line[LINE_MAX], *l;
-+ _cleanup_free_ char *line = NULL;
-+ char *l;
-
-- if (!fgets(line, sizeof line, f))
-- return;
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to read serialization line: %m");
-+ if (r == 0)
-+ return 0;
-
-- char_array_0(line);
- l = strstrip(line);
-
- /* End marker */
- if (isempty(l))
-- return;
-+ return 1;
- }
- }
-
-diff --git a/src/core/unit.h b/src/core/unit.h
-index 06321bb..51c7aaa 100644
---- a/src/core/unit.h
-+++ b/src/core/unit.h
-@@ -684,7 +684,7 @@ bool unit_can_serialize(Unit *u) _pure_;
-
- int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs);
- int unit_deserialize(Unit *u, FILE *f, FDSet *fds);
--void unit_deserialize_skip(FILE *f);
-+int unit_deserialize_skip(FILE *f);
-
- int unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value);
- int unit_serialize_item_escaped(Unit *u, FILE *f, const char *key, const char *value);
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch b/poky/meta/recipes-core/systemd/systemd/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch
deleted file mode 100644
index 0c912f25d..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a2622b8398ba026faf481f5eddeb53231d9de4a7 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Fri, 19 Oct 2018 12:12:33 +0200
-Subject: [PATCH] dhcp6: make sure we have enough space for the DHCP6 option
- header
-
-Fixes a vulnerability originally discovered by Felix Wilhelm from
-Google.
-
-CVE-2018-15688
-LP: #1795921
-https://bugzilla.redhat.com/show_bug.cgi?id=1639067
-
-(cherry picked from commit 4dac5eaba4e419b29c97da38a8b1f82336c2c892)
-
-CVE: CVE-2018-15688
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/libsystemd-network/dhcp6-option.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libsystemd-network/dhcp6-option.c b/src/libsystemd-network/dhcp6-option.c
-index c4b402b..dcbaad0 100644
---- a/src/libsystemd-network/dhcp6-option.c
-+++ b/src/libsystemd-network/dhcp6-option.c
-@@ -103,7 +103,7 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
- return -EINVAL;
- }
-
-- if (*buflen < len)
-+ if (*buflen < offsetof(DHCP6Option, data) + len)
- return -ENOBUFS;
-
- ia_hdr = *buf;
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
new file mode 100644
index 000000000..a6857b1f4
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
@@ -0,0 +1,523 @@
+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>
+---
+ 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/network/networkd-ipv6-proxy-ndp.c | 2 +-
+ src/network/networkd-link.c | 18 +++++++++---------
+ src/nspawn/nspawn-cgroup.c | 2 +-
+ src/nspawn/nspawn.c | 6 +++---
+ src/sleep/sleep.c | 12 ++++++------
+ src/udev/udevadm-trigger.c | 2 +-
+ src/udev/udevd.c | 6 +++---
+ src/vconsole/vconsole-setup.c | 2 +-
+ 18 files changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index 8ce7ccb..b633226 100644
+--- a/src/basic/cgroup-util.c
++++ b/src/basic/cgroup-util.c
+@@ -818,7 +818,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;
+
+@@ -1100,7 +1100,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))
+@@ -1118,7 +1118,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;
+
+@@ -1145,7 +1145,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;
+
+@@ -1155,7 +1155,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;
+
+@@ -2012,7 +2012,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) {
+@@ -2660,7 +2660,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 42ce53d..5751253 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 123d00e..e7ea78f 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 e577c93..3c64f91 100644
+--- a/src/basic/util.c
++++ b/src/basic/util.c
+@@ -631,7 +631,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 af31f09..eec5738 100644
+--- a/src/binfmt/binfmt.c
++++ b/src/binfmt/binfmt.c
+@@ -47,7 +47,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) {
+@@ -55,7 +55,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");
+
+@@ -212,7 +212,7 @@ static int run(int argc, char *argv[]) {
+ }
+
+ /* Flush out all rules */
+- write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ 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 561f956..db6f113 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -1468,7 +1468,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");
+@@ -1683,7 +1683,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 49b37ae..c96eedc 100644
+--- a/src/core/smack-setup.c
++++ b/src/core/smack-setup.c
+@@ -350,17 +350,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 17e7cd1..87a7667 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 2a69f2e..9d55340 100644
+--- a/src/libsystemd/sd-device/sd-device.c
++++ b/src/libsystemd/sd-device/sd-device.c
+@@ -1836,7 +1836,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 8ab498f..d27ef9c 100644
+--- a/src/login/logind-dbus.c
++++ b/src/login/logind-dbus.c
+@@ -1231,7 +1231,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/network/networkd-ipv6-proxy-ndp.c b/src/network/networkd-ipv6-proxy-ndp.c
+index f594b27..c283cc3 100644
+--- a/src/network/networkd-ipv6-proxy-ndp.c
++++ b/src/network/networkd-ipv6-proxy-ndp.c
+@@ -43,7 +43,7 @@ static int ipv6_proxy_ndp_set(Link *link) {
+ v = ipv6_proxy_ndp_is_needed(link);
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/proxy_ndp");
+
+- r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot configure proxy NDP for interface: %m");
+
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index 22392d7..e0ed551 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -274,7 +274,7 @@ static int link_enable_ipv6(Link *link) {
+
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/disable_ipv6");
+
+- r = write_string_file(p, one_zero(disabled), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, one_zero(disabled), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
+ enable_disable(!disabled), link->ifname);
+@@ -1272,7 +1272,7 @@ static int link_set_proxy_arp(Link *link) {
+
+ p = strjoina("/proc/sys/net/ipv4/conf/", link->ifname, "/proxy_arp");
+
+- r = write_string_file(p, one_zero(link->network->proxy_arp), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, one_zero(link->network->proxy_arp), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot configure proxy ARP for interface: %m");
+
+@@ -2541,7 +2541,7 @@ static int link_set_ipv4_forward(Link *link) {
+ * primarily to keep IPv4 and IPv6 packet forwarding behaviour
+ * somewhat in sync (see below). */
+
+- r = write_string_file("/proc/sys/net/ipv4/ip_forward", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/net/ipv4/ip_forward", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot turn on IPv4 packet forwarding, ignoring: %m");
+
+@@ -2563,7 +2563,7 @@ static int link_set_ipv6_forward(Link *link) {
+ * same behaviour there and also propagate the setting from
+ * one to all, to keep things simple (see above). */
+
+- r = write_string_file("/proc/sys/net/ipv6/conf/all/forwarding", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/net/ipv6/conf/all/forwarding", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot configure IPv6 packet forwarding, ignoring: %m");
+
+@@ -2583,7 +2583,7 @@ static int link_set_ipv6_privacy_extensions(Link *link) {
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/use_tempaddr");
+ xsprintf(buf, "%u", (unsigned) link->network->ipv6_privacy_extensions);
+
+- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot configure IPv6 privacy extension for interface: %m");
+
+@@ -2607,7 +2607,7 @@ static int link_set_ipv6_accept_ra(Link *link) {
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/accept_ra");
+
+ /* We handle router advertisements ourselves, tell the kernel to GTFO */
+- r = write_string_file(p, "0", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, "0", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot disable kernel IPv6 accept_ra for interface: %m");
+
+@@ -2635,7 +2635,7 @@ static int link_set_ipv6_dad_transmits(Link *link) {
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/dad_transmits");
+ xsprintf(buf, "%i", link->network->ipv6_dad_transmits);
+
+- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot set IPv6 dad transmits for interface: %m");
+
+@@ -2663,7 +2663,7 @@ static int link_set_ipv6_hop_limit(Link *link) {
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/hop_limit");
+ xsprintf(buf, "%i", link->network->ipv6_hop_limit);
+
+- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot set IPv6 hop limit for interface: %m");
+
+@@ -2689,7 +2689,7 @@ static int link_set_ipv6_mtu(Link *link) {
+
+ xsprintf(buf, "%" PRIu32, link->network->ipv6_mtu);
+
+- r = write_string_file(p, buf, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, buf, 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot set IPv6 MTU for interface: %m");
+
+diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
+index 97fa092..b841f51 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) {
+ (void) mkdir_parents(fn, 0755);
+
+ sprintf(pid_string, PID_FMT, pid);
+- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fn, pid_string, 0);
+ 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 e0c2d71..213790c 100644
+--- a/src/nspawn/nspawn.c
++++ b/src/nspawn/nspawn.c
+@@ -2117,7 +2117,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"
+@@ -3195,13 +3195,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/sleep/sleep.c b/src/sleep/sleep.c
+index 5b7984a..bf818aa 100644
+--- a/src/sleep/sleep.c
++++ b/src/sleep/sleep.c
+@@ -43,7 +43,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, "Faileed to write partitoin device to /sys/power/resume: %m");
+
+@@ -79,12 +79,12 @@ 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);
+
+ 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);
+
+@@ -98,7 +98,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;
+
+@@ -117,7 +117,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);
+@@ -212,7 +212,7 @@ static int rtc_write_wake_alarm(uint64_t sec) {
+
+ xsprintf(buf, "%" PRIu64, sec);
+
+- r = write_string_file("/sys/class/rtc/rtc0/wakealarm", buf, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/class/rtc/rtc0/wakealarm", buf, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write '%s' to /sys/class/rtc/rtc0/wakealarm: %m", buf);
+
+diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
+index 9532946..2e576bb 100644
+--- a/src/udev/udevadm-trigger.c
++++ b/src/udev/udevadm-trigger.c
+@@ -42,7 +42,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_debug_errno(r, "Failed to write '%s' to '%s', ignoring: %m", action, filename);
+ continue;
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index 0303f36..687d009 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -1218,7 +1218,7 @@ static int synthesize_change(sd_device *dev) {
+ */
+ log_debug("Device '%s' is closed, synthesising 'change'", devname);
+ strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL);
+- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ write_string_file(filename, "change", 0);
+
+ FOREACH_DEVICE(e, d) {
+ const char *t, *n, *s;
+@@ -1233,7 +1233,7 @@ static int synthesize_change(sd_device *dev) {
+
+ log_debug("Device '%s' is closed, synthesising partition '%s' 'change'", devname, n);
+ strscpyl(filename, sizeof(filename), s, "/uevent", NULL);
+- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ write_string_file(filename, "change", 0);
+ }
+
+ return 0;
+@@ -1241,7 +1241,7 @@ static int synthesize_change(sd_device *dev) {
+
+ log_debug("Device %s is closed, synthesising 'change'", devname);
+ strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL);
+- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ write_string_file(filename, "change", 0);
+
+ return 0;
+ }
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index ebdeba3..aa879e6 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -114,7 +114,7 @@ static int toggle_utf8(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));
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch b/poky/meta/recipes-core/systemd/systemd/0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
deleted file mode 100644
index ba08e3455..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 86d18f3b09ec984ef3732567af992adb2dc77a8a Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Mon, 9 Jul 2018 14:05:20 +0900
-Subject: [PATCH] login: use parse_uid() when unmounting user runtime directory
-
-When unmounting user runtime directory, only UID is necessary,
-and the corresponding user may not exist anymore.
-This makes first try to parse the input by parse_uid(), and only if it
-fails, prase the input by get_user_creds().
-
-Fixes #9541.
-
-Upstream-Status: Backport
----
- src/login/user-runtime-dir.c | 57 ++++++++++++++++++++++++++++----------------
- 1 file changed, 36 insertions(+), 21 deletions(-)
-
-diff --git a/src/login/user-runtime-dir.c b/src/login/user-runtime-dir.c
-index 1bb26c99e..de4061c75 100644
---- a/src/login/user-runtime-dir.c
-+++ b/src/login/user-runtime-dir.c
-@@ -111,8 +111,22 @@ static int user_remove_runtime_path(const char *runtime_path) {
- return r;
- }
-
--static int do_mount(const char *runtime_path, uid_t uid, gid_t gid) {
-+static int do_mount(const char *user) {
-+ char runtime_path[sizeof("/run/user") + DECIMAL_STR_MAX(uid_t)];
- size_t runtime_dir_size;
-+ uid_t uid;
-+ gid_t gid;
-+ int r;
-+
-+ r = get_user_creds(&user, &uid, &gid, NULL, NULL);
-+ if (r < 0)
-+ return log_error_errno(r,
-+ r == -ESRCH ? "No such user \"%s\"" :
-+ r == -ENOMSG ? "UID \"%s\" is invalid or has an invalid main group"
-+ : "Failed to look up user \"%s\": %m",
-+ user);
-+
-+ xsprintf(runtime_path, "/run/user/" UID_FMT, uid);
-
- assert_se(gather_configuration(&runtime_dir_size) == 0);
-
-@@ -120,16 +134,30 @@ static int do_mount(const char *runtime_path, uid_t uid, gid_t gid) {
- return user_mkdir_runtime_path(runtime_path, uid, gid, runtime_dir_size);
- }
-
--static int do_umount(const char *runtime_path) {
-+static int do_umount(const char *user) {
-+ char runtime_path[sizeof("/run/user") + DECIMAL_STR_MAX(uid_t)];
-+ uid_t uid;
-+ int r;
-+
-+ /* The user may be already removed. So, first try to parse the string by parse_uid(),
-+ * and if it fails, fallback to get_user_creds().*/
-+ if (parse_uid(user, &uid) < 0) {
-+ r = get_user_creds(&user, &uid, NULL, NULL, NULL);
-+ if (r < 0)
-+ return log_error_errno(r,
-+ r == -ESRCH ? "No such user \"%s\"" :
-+ r == -ENOMSG ? "UID \"%s\" is invalid or has an invalid main group"
-+ : "Failed to look up user \"%s\": %m",
-+ user);
-+ }
-+
-+ xsprintf(runtime_path, "/run/user/" UID_FMT, uid);
-+
- log_debug("Will remove %s", runtime_path);
- return user_remove_runtime_path(runtime_path);
- }
-
- int main(int argc, char *argv[]) {
-- const char *user;
-- uid_t uid;
-- gid_t gid;
-- char runtime_path[sizeof("/run/user") + DECIMAL_STR_MAX(uid_t)];
- int r;
-
- log_parse_environment();
-@@ -146,23 +174,10 @@ int main(int argc, char *argv[]) {
-
- umask(0022);
-
-- user = argv[2];
-- r = get_user_creds(&user, &uid, &gid, NULL, NULL);
-- if (r < 0) {
-- log_error_errno(r,
-- r == -ESRCH ? "No such user \"%s\"" :
-- r == -ENOMSG ? "UID \"%s\" is invalid or has an invalid main group"
-- : "Failed to look up user \"%s\": %m",
-- user);
-- return EXIT_FAILURE;
-- }
--
-- xsprintf(runtime_path, "/run/user/" UID_FMT, uid);
--
- if (streq(argv[1], "start"))
-- r = do_mount(runtime_path, uid, gid);
-+ r = do_mount(argv[2]);
- else if (streq(argv[1], "stop"))
-- r = do_umount(runtime_path);
-+ r = do_umount(argv[2]);
- else
- assert_not_reached("Unknown verb!");
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch
new file mode 100644
index 000000000..01936f285
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch
@@ -0,0 +1,118 @@
+From 9f86d8769ab830a724c84f849975b5595e26b47c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Sun, 24 Feb 2019 22:49:38 +0100
+Subject: [PATCH] meson: declare version.h as dep for various targets that
+ include build.h
+
+Should fix #11565.
+
+Upstream-Status: Backport
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson.build | 19 +++++++++++++------
+ src/core/meson.build | 3 ++-
+ src/udev/meson.build | 1 +
+ 3 files changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 30df834..232f3e1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1637,7 +1637,8 @@ exe = executable('systemd-analyze',
+ include_directories : includes,
+ link_with : [libcore,
+ libshared],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ librt,
+ libseccomp,
+ libselinux,
+@@ -2183,7 +2184,8 @@ if conf.get('ENABLE_IMPORTD') == 1
+ systemd_pull_sources,
+ include_directories : includes,
+ link_with : [libshared],
+- dependencies : [libcurl,
++ dependencies : [versiondep,
++ libcurl,
+ libz,
+ libbzip2,
+ libxz,
+@@ -2232,7 +2234,8 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_LIBCURL') == 1
+ systemd_journal_upload_sources,
+ include_directories : includes,
+ link_with : [libshared],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ libcurl,
+ libgnutls,
+ libxz,
+@@ -2558,6 +2561,7 @@ exe = executable('systemd-stdio-bridge',
+ 'src/stdio-bridge/stdio-bridge.c',
+ include_directories : includes,
+ link_with : [libshared],
++ dependencies : [versiondep],
+ install_rpath : rootlibexecdir,
+ install : true)
+ public_programs += exe
+@@ -2641,7 +2645,8 @@ exe = executable('systemd-udevd',
+ link_with : [libudev_core,
+ libsystemd_network,
+ libudev_static],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ libkmod,
+ libidn,
+ libacl,
+@@ -2658,7 +2663,8 @@ exe = executable('udevadm',
+ link_with : [libudev_core,
+ libsystemd_network,
+ libudev_static],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ libkmod,
+ libidn,
+ libacl,
+@@ -2798,7 +2804,8 @@ foreach tuple : tests
+ sources,
+ include_directories : incs,
+ link_with : link_with,
+- dependencies : dependencies,
++ dependencies : [versiondep,
++ dependencies],
+ c_args : defs,
+ build_by_default : want_tests != 'false',
+ install_rpath : rootlibexecdir,
+diff --git a/src/core/meson.build b/src/core/meson.build
+index 85021bd..88fb093 100644
+--- a/src/core/meson.build
++++ b/src/core/meson.build
+@@ -150,7 +150,8 @@ libcore = static_library(
+ load_fragment_gperf_c,
+ load_fragment_gperf_nulstr_c,
+ include_directories : includes,
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ librt,
+ libseccomp,
+ libpam,
+diff --git a/src/udev/meson.build b/src/udev/meson.build
+index 9d3f6d1..973a75e 100644
+--- a/src/udev/meson.build
++++ b/src/udev/meson.build
+@@ -180,6 +180,7 @@ foreach prog : [['ata_id/ata_id.c'],
+ prog,
+ include_directories : includes,
+ c_args : ['-DLOG_REALM=LOG_REALM_UDEV'],
++ dependencies : [versiondep],
+ link_with : [libudev_static],
+ install_rpath : udev_rpath,
+ install : true,
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch
new file mode 100644
index 000000000..8874dff9a
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch
@@ -0,0 +1,32 @@
+From e14d724a932a255eec4d60b08e128519c33e88ee Mon Sep 17 00:00:00 2001
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Mon, 25 Feb 2019 11:59:23 +0100
+Subject: [PATCH] meson: declare version.h as dependency for systemd
+
+This is a followup to #11815 and adds the last missing dependency.
+With this #11565 is hopefully really fixed.
+
+Upstream-Status: Backport
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson.build | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 232f3e1..70148be 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1618,7 +1618,8 @@ executable('systemd',
+ include_directories : includes,
+ link_with : [libcore,
+ libshared],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ librt,
+ libseccomp,
+ libselinux,
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-rename-Ddebug-to-Ddebug-extra.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-rename-Ddebug-to-Ddebug-extra.patch
deleted file mode 100644
index d6d305cb3..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-meson-rename-Ddebug-to-Ddebug-extra.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 8f6b442a78d0b485f044742ad90b2e8271b4e68e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sun, 19 Aug 2018 19:11:30 +0200
-Subject: [PATCH] meson: rename -Ddebug to -Ddebug-extra
-
-Meson added -Doptimization and -Ddebug options, which obviously causes
-a conflict with our -Ddebug options. Let's rename it.
-
-Fixes #9883.
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- meson.build | 2 +-
- meson_options.txt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index f79ac4b12..2209c935a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -763,7 +763,7 @@ substs.set('DEBUGTTY', get_option('debug-tty'))
-
- enable_debug_hashmap = false
- enable_debug_mmap_cache = false
--foreach name : get_option('debug')
-+foreach name : get_option('debug-extra')
- if name == 'hashmap'
- enable_debug_hashmap = true
- elif name == 'mmap-cache'
-diff --git a/meson_options.txt b/meson_options.txt
-index e3140c8c1..7b1f61bf4 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -45,7 +45,7 @@ option('debug-shell', type : 'string', value : '/bin/sh',
- description : 'path to debug shell binary')
- option('debug-tty', type : 'string', value : '/dev/tty9',
- description : 'specify the tty device for debug shell')
--option('debug', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
-+option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
- description : 'enable extra debugging')
- option('memory-accounting-default', type : 'boolean',
- description : 'enable MemoryAccounting= by default')
---
-2.17.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch b/poky/meta/recipes-core/systemd/systemd/0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch
deleted file mode 100644
index 45c9b5b1e..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 5b75a72ee968c9666b5f2ea313720b6c383cb4c2 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Fri, 13 Jul 2018 17:38:47 +0900
-Subject: [PATCH] sd-bus: make BUS_DEFAULT_TIMEOUT configurable
-
-This adds sd_bus_{get,set}_method_call_timeout().
-If the timeout is not set or set to 0, then the timeout value is
-parsed from $SYSTEMD_BUS_TIMEOUT= environment variable. If the
-environment variable is not set, then built-in timeout is used.
----
- doc/ENVIRONMENT.md | 5 +++++
- src/libsystemd/libsystemd.sym | 5 +++++
- src/libsystemd/sd-bus/bus-internal.h | 9 ++++----
- src/libsystemd/sd-bus/bus-message.c | 7 +++++--
- src/libsystemd/sd-bus/sd-bus.c | 40 ++++++++++++++++++++++++++++++++++--
- src/systemd/sd-bus.h | 3 +++
- 6 files changed, 61 insertions(+), 8 deletions(-)
-
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
-diff --git a/doc/ENVIRONMENT.md b/doc/ENVIRONMENT.md
-index 85d26fe28c..641a03d5d7 100644
---- a/doc/ENVIRONMENT.md
-+++ b/doc/ENVIRONMENT.md
-@@ -37,6 +37,11 @@ All tools:
- useful for debugging, in order to test generators and other code against
- specific kernel command lines.
-
-+* `$SYSTEMD_BUS_TIMEOUT=SECS` — specifies the maximum time to wait for method call
-+ completion. If no time unit is specified, assumes seconds. The usual other units
-+ are understood, too (us, ms, s, min, h, d, w, month, y). If it is not set or set
-+ to 0, then the built-in default is used.
-+
- systemctl:
-
- * `$SYSTEMCTL_FORCE_BUS=1` — if set, do not connect to PID1's private D-Bus
-diff --git a/src/libsystemd/libsystemd.sym b/src/libsystemd/libsystemd.sym
-index 1eec17db50..006dbc9c3f 100644
---- a/src/libsystemd/libsystemd.sym
-+++ b/src/libsystemd/libsystemd.sym
-@@ -570,3 +570,8 @@ global:
- sd_event_source_set_destroy_callback;
- sd_event_source_get_destroy_callback;
- } LIBSYSTEMD_238;
-+
-+LIBSYSTEMD_240 {
-+ sd_bus_set_method_call_timeout;
-+ sd_bus_get_method_call_timeout;
-+} LIBSYSTEMD_239;
-diff --git a/src/libsystemd/sd-bus/bus-internal.h b/src/libsystemd/sd-bus/bus-internal.h
-index 2087ef8eeb..4864b1e911 100644
---- a/src/libsystemd/sd-bus/bus-internal.h
-+++ b/src/libsystemd/sd-bus/bus-internal.h
-@@ -319,6 +319,9 @@ struct sd_bus {
-
- int *inotify_watches;
- size_t n_inotify_watches;
-+
-+ /* zero means use value specified by $SYSTEMD_BUS_TIMEOUT= environment variable or built-in default */
-+ usec_t method_call_timeout;
- };
-
- /* For method calls we time-out at 25s, like in the D-Bus reference implementation */
-@@ -336,8 +339,7 @@ struct sd_bus {
-
- #define BUS_CONTAINER_DEPTH 128
-
--/* Defined by the specification as maximum size of an array in
-- * bytes */
-+/* Defined by the specification as maximum size of an array in bytes */
- #define BUS_ARRAY_MAX_SIZE 67108864
-
- #define BUS_FDS_MAX 1024
-@@ -388,8 +390,7 @@ void bus_close_io_fds(sd_bus *b);
- _slash = streq((prefix), "/") ? NULL : strrchr((prefix), '/'))
-
- /* If we are invoking callbacks of a bus object, ensure unreffing the
-- * bus from the callback doesn't destroy the object we are working
-- * on */
-+ * bus from the callback doesn't destroy the object we are working on */
- #define BUS_DONT_DESTROY(bus) \
- _cleanup_(sd_bus_unrefp) _unused_ sd_bus *_dont_destroy_##bus = sd_bus_ref(bus)
-
-diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
-index 8d92bc2002..dffe70a665 100644
---- a/src/libsystemd/sd-bus/bus-message.c
-+++ b/src/libsystemd/sd-bus/bus-message.c
-@@ -5809,8 +5809,11 @@ int bus_message_remarshal(sd_bus *bus, sd_bus_message **m) {
- return r;
-
- timeout = (*m)->timeout;
-- if (timeout == 0 && !((*m)->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED))
-- timeout = BUS_DEFAULT_TIMEOUT;
-+ if (timeout == 0 && !((*m)->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED)) {
-+ r = sd_bus_get_method_call_timeout(bus, &timeout);
-+ if (r < 0)
-+ return r;
-+ }
-
- r = sd_bus_message_seal(n, BUS_MESSAGE_COOKIE(*m), timeout);
- if (r < 0)
-diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
-index 089b51a6d9..945490ebf7 100644
---- a/src/libsystemd/sd-bus/sd-bus.c
-+++ b/src/libsystemd/sd-bus/sd-bus.c
-@@ -1611,8 +1611,11 @@ static int bus_seal_message(sd_bus *b, sd_bus_message *m, usec_t timeout) {
- return 0;
- }
-
-- if (timeout == 0)
-- timeout = BUS_DEFAULT_TIMEOUT;
-+ if (timeout == 0) {
-+ r = sd_bus_get_method_call_timeout(b, &timeout);
-+ if (r < 0)
-+ return r;
-+ }
-
- if (!m->sender && b->patch_sender) {
- r = sd_bus_message_set_sender(m, b->patch_sender);
-@@ -4075,3 +4078,36 @@ _public_ int sd_bus_get_n_queued_write(sd_bus *bus, uint64_t *ret) {
- *ret = bus->wqueue_size;
- return 0;
- }
-+
-+_public_ int sd_bus_set_method_call_timeout(sd_bus *bus, uint64_t usec) {
-+ assert_return(bus, -EINVAL);
-+ assert_return(bus = bus_resolve(bus), -ENOPKG);
-+
-+ bus->method_call_timeout = usec;
-+ return 0;
-+}
-+
-+_public_ int sd_bus_get_method_call_timeout(sd_bus *bus, uint64_t *ret) {
-+ const char *e;
-+ usec_t usec;
-+
-+ assert_return(bus, -EINVAL);
-+ assert_return(bus = bus_resolve(bus), -ENOPKG);
-+ assert_return(ret, -EINVAL);
-+
-+ if (bus->method_call_timeout != 0) {
-+ *ret = bus->method_call_timeout;
-+ return 0;
-+ }
-+
-+ e = secure_getenv("SYSTEMD_BUS_TIMEOUT");
-+ if (e && parse_sec(e, &usec) >= 0 && usec != 0) {
-+ /* Save the parsed value to avoid multiple parsing. To change the timeout value,
-+ * use sd_bus_set_method_call_timeout() instead of setenv(). */
-+ *ret = bus->method_call_timeout = usec;
-+ return 0;
-+ }
-+
-+ *ret = bus->method_call_timeout = BUS_DEFAULT_TIMEOUT;
-+ return 0;
-+}
-diff --git a/src/systemd/sd-bus.h b/src/systemd/sd-bus.h
-index 54c4b1ca83..c9fd254834 100644
---- a/src/systemd/sd-bus.h
-+++ b/src/systemd/sd-bus.h
-@@ -206,6 +206,9 @@ sd_event *sd_bus_get_event(sd_bus *bus);
- int sd_bus_get_n_queued_read(sd_bus *bus, uint64_t *ret);
- int sd_bus_get_n_queued_write(sd_bus *bus, uint64_t *ret);
-
-+int sd_bus_set_method_call_timeout(sd_bus *bus, uint64_t usec);
-+int sd_bus_get_method_call_timeout(sd_bus *bus, uint64_t *ret);
-+
- int sd_bus_add_filter(sd_bus *bus, sd_bus_slot **slot, sd_bus_message_handler_t callback, void *userdata);
- int sd_bus_add_match(sd_bus *bus, sd_bus_slot **slot, const char *match, sd_bus_message_handler_t callback, void *userdata);
- int sd_bus_add_match_async(sd_bus *bus, sd_bus_slot **slot, const char *match, sd_bus_message_handler_t callback, sd_bus_message_handler_t install_callback, void *userdata);
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch b/poky/meta/recipes-core/systemd/systemd/0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch
deleted file mode 100644
index 0538c7bbc..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From bfc4183ea995f1c211385d066cdb1fe9ce89f621 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 16 Dec 2018 20:53:38 -0800
-Subject: [PATCH 1/2] sysctl: Don't pass null directive argument to '%s'
-
-value pointer here is always NULL but subsequent use of that pointer
-with a %s format will always be NULL, printing p instead would be a
-valid string
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/11179]
- src/sysctl/sysctl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
-index 1cfe51018..c67d79032 100644
---- a/src/sysctl/sysctl.c
-+++ b/src/sysctl/sysctl.c
-@@ -115,7 +115,7 @@ static int parse_file(OrderedHashmap *sysctl_options, const char *path, bool ign
-
- value = strchr(p, '=');
- if (!value) {
-- log_error("Line is not an assignment at '%s:%u': %s", path, c, value);
-+ log_error("Line is not an assignment at '%s:%u': %s", path, c, p);
-
- if (r == 0)
- r = -EINVAL;
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-timesync-changes-type-of-drift_freq-to-int64_t.patch b/poky/meta/recipes-core/systemd/systemd/0001-timesync-changes-type-of-drift_freq-to-int64_t.patch
deleted file mode 100644
index 8d395c2fa..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-timesync-changes-type-of-drift_freq-to-int64_t.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Backport patch to fix systemd build failure on x32.
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/75ca162]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 75ca1621db4647a4d62d7873cd6715e28fe0f9fa Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Sat, 23 Jun 2018 09:41:55 +0900
-Subject: [PATCH] timesync: changes type of drift_freq to int64_t
-
-drift_freq is used for storing timex.freq, and is a 64bit integer.
-To support x32 ABI, this changes the type of drift_freq to int64_t.
-
-Fixes #9387.
----
- src/timesync/timesyncd-manager.c | 2 +-
- src/timesync/timesyncd-manager.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
-index 2b731af9e..404a2b189 100644
---- a/src/timesync/timesyncd-manager.c
-+++ b/src/timesync/timesyncd-manager.c
-@@ -604,7 +604,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
- m->dest_time = *recv_time;
- m->spike = spike;
-
-- log_debug("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+"PRI_TIMEX"ppm%s",
-+ log_debug("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+"PRIi64"ppm%s",
- m->poll_interval_usec / USEC_PER_SEC, offset, delay, m->samples_jitter, m->drift_freq / 65536,
- spike ? " (ignored)" : "");
-
-diff --git a/src/timesync/timesyncd-manager.h b/src/timesync/timesyncd-manager.h
-index d8d97cc1e..18347416d 100644
---- a/src/timesync/timesyncd-manager.h
-+++ b/src/timesync/timesyncd-manager.h
-@@ -79,7 +79,7 @@ struct Manager {
- /* last change */
- bool jumped;
- bool sync;
-- long drift_freq;
-+ int64_t drift_freq;
-
- /* watch for time changes */
- sd_event_source *event_clock_watch;
---
-2.17.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-core-Fix-use-after-free-case-in-load_from_path.patch b/poky/meta/recipes-core/systemd/systemd/0002-core-Fix-use-after-free-case-in-load_from_path.patch
deleted file mode 100644
index 4da96e292..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0002-core-Fix-use-after-free-case-in-load_from_path.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From cb67aebd63d9f0077cbf3e769f0b223c5bba20ac Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 16 Dec 2018 20:58:35 -0800
-Subject: [PATCH 2/2] core: Fix use after free case in load_from_path()
-
-ensure that mfree() on filename is called after the logging function
-which uses the string pointed by filename
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/11179]
- src/core/load-fragment.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
-index fc5644f48..da585786e 100644
---- a/src/core/load-fragment.c
-+++ b/src/core/load-fragment.c
-@@ -4531,7 +4531,6 @@ static int load_from_path(Unit *u, const char *path) {
- r = open_follow(&filename, &f, symlink_names, &id);
- if (r >= 0)
- break;
-- filename = mfree(filename);
-
- /* ENOENT means that the file is missing or is a dangling symlink.
- * ENOTDIR means that one of paths we expect to be is a directory
-@@ -4540,9 +4539,12 @@ static int load_from_path(Unit *u, const char *path) {
- */
- if (r == -EACCES)
- log_debug_errno(r, "Cannot access \"%s\": %m", filename);
-- else if (!IN_SET(r, -ENOENT, -ENOTDIR))
-+ else if (!IN_SET(r, -ENOENT, -ENOTDIR)) {
-+ filename = mfree(filename);
- return r;
-+ }
-
-+ filename = mfree(filename);
- /* Empty the symlink names for the next run */
- set_clear_free(symlink_names);
- }
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
index 8e0d669e8..36e0699da 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -1,31 +1,100 @@
-From d74a4de6daea5a511c2b5636bbb552c15b3a4ad9 Mon Sep 17 00:00:00 2001
-From: Emil Renner Berthing <systemd@esmil.dk>
-Date: Thu, 18 Sep 2014 15:24:56 +0200
-Subject: [PATCH] don't use glibc-specific qsort_r
+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>
---
- src/basic/format-table.c | 27 ++++++++++++++++-----------
- src/basic/util.h | 7 -------
- src/hwdb/hwdb.c | 18 +++++++++++-------
- src/udev/udevadm-hwdb.c | 16 ++++++++++------
- 4 files changed, 37 insertions(+), 31 deletions(-)
+ src/basic/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/format-table.c b/src/basic/format-table.c
-index 94e796d1ca..9b3f35c29a 100644
---- a/src/basic/format-table.c
-+++ b/src/basic/format-table.c
-@@ -745,29 +745,29 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
+diff --git a/src/basic/util.h b/src/basic/util.h
+index dc33d66..9f6a6ce 100644
+--- a/src/basic/util.h
++++ b/src/basic/util.h
+@@ -116,20 +116,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
+ 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); \
+- })
+-
+ /* Normal memcpy requires src to be nonnull. We do nothing if n is 0. */
+ static inline void memcpy_safe(void *dst, const void *src, size_t n) {
+ if (n == 0)
+diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
+index f852967..b570ce1 100644
+--- a/src/libsystemd/sd-hwdb/hwdb-util.c
++++ b/src/libsystemd/sd-hwdb/hwdb-util.c
+@@ -126,9 +126,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,
+@@ -156,7 +160,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. */
+@@ -182,7 +189,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;
}
--static int table_data_compare(const void *x, const void *y, void *userdata) {
+diff --git a/src/shared/format-table.c b/src/shared/format-table.c
+index 7d52980..75dbfe1 100644
+--- a/src/shared/format-table.c
++++ b/src/shared/format-table.c
+@@ -848,31 +848,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;
-- Table *t = userdata;
++ const size_t *a = x, *b=y;
size_t i;
int r;
@@ -57,11 +126,16 @@ index 94e796d1ca..9b3f35c29a 100644
r = cell_data_compare(d, *a, dd, *b);
if (r != 0)
-@@ -960,7 +960,12 @@ int table_print(Table *t, FILE *f) {
+- 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 */
+@@ -1105,7 +1107,12 @@ int table_print(Table *t, FILE *f) {
for (i = 0; i < n_rows; i++)
sorted[i] = i * t->n_columns;
-- qsort_r_safe(sorted, n_rows, sizeof(size_t), table_data_compare, t);
+- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
+ if (n_rows <= 1)
+ return 0;
+ assert(sorted);
@@ -71,113 +145,20 @@ index 94e796d1ca..9b3f35c29a 100644
}
if (t->display_map)
-diff --git a/src/basic/util.h b/src/basic/util.h
-index 9699d228f9..40eaf518cb 100644
---- a/src/basic/util.h
-+++ b/src/basic/util.h
-@@ -105,13 +105,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, comparison_
- 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, int (*compar)(const void*, const void*, void*), void *userdata) {
-- if (nmemb <= 1)
-- return;
--
-- assert(base);
-- qsort_r(base, nmemb, size, compar, userdata);
--}
-
- /**
- * Normal memcpy requires src to be nonnull. We do nothing if n is 0.
-diff --git a/src/hwdb/hwdb.c b/src/hwdb/hwdb.c
-index 317cad8a67..701d59a1eb 100644
---- a/src/hwdb/hwdb.c
-+++ b/src/hwdb/hwdb.c
-@@ -135,13 +135,12 @@ static void trie_free(struct trie *trie) {
-
- DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
-
--static int trie_values_cmp(const void *v1, const void *v2, void *arg) {
-+static struct trie *trie_node_add_value_trie;
-+static int trie_values_cmp(const void *v1, const void *v2) {
- const struct trie_value_entry *val1 = v1;
- const struct trie_value_entry *val2 = v2;
-- struct trie *trie = arg;
--
-- return strcmp(trie->strings->buf + val1->key_off,
-- trie->strings->buf + val2->key_off);
-+ return strcmp(trie_node_add_value_trie->strings->buf + val1->key_off,
-+ trie_node_add_value_trie->strings->buf + val2->key_off);
- }
-
- static int trie_node_add_value(struct trie *trie, struct trie_node *node,
-@@ -166,7 +165,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- .value_off = v,
- };
-
-- val = xbsearch_r(&search, node->values, node->values_count, sizeof(struct trie_value_entry), 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.
-@@ -191,7 +193,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- node->values[node->values_count].file_priority = file_priority;
- node->values[node->values_count].line_number = line_number;
- node->values_count++;
-- qsort_r(node->values, node->values_count, sizeof(struct trie_value_entry), 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/udev/udevadm-hwdb.c b/src/udev/udevadm-hwdb.c
-index 02408a4285..491d367d12 100644
---- a/src/udev/udevadm-hwdb.c
-+++ b/src/udev/udevadm-hwdb.c
-@@ -114,13 +114,13 @@ static void trie_node_cleanup(struct trie_node *node) {
- free(node);
- }
-
--static int trie_values_cmp(const void *v1, const void *v2, void *arg) {
-+static struct trie *trie_node_add_value_trie;
-+static int trie_values_cmp(const void *v1, const void *v2) {
- const struct trie_value_entry *val1 = v1;
- const struct trie_value_entry *val2 = v2;
-- struct trie *trie = arg;
-
-- return strcmp(trie->strings->buf + val1->key_off,
-- trie->strings->buf + val2->key_off);
-+ return strcmp(trie_node_add_value_trie->strings->buf + val1->key_off,
-+ trie_node_add_value_trie->strings->buf + val2->key_off);
- }
-
- static int trie_node_add_value(struct trie *trie, struct trie_node *node,
-@@ -141,7 +141,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- .value_off = v,
- };
+@@ -1532,7 +1539,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
+ for (i = 0; i < n_rows; i++)
+ sorted[i] = i * t->n_columns;
-- val = xbsearch_r(&search, node->values, node->values_count, sizeof(struct trie_value_entry), 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) {
- /* replace existing earlier key with new value */
- val->value_off = v;
-@@ -158,7 +160,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- node->values[node->values_count].key_off = k;
- node->values[node->values_count].value_off = v;
- node->values_count++;
-- qsort_r(node->values, node->values_count, sizeof(struct trie_value_entry), 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;
- }
+- 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.18.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch b/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
index 1d7f5230a..df5506cc2 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
@@ -1,7 +1,7 @@
-From 6e62be87a2722fbe531310a1b052c1301bdf06fb Mon Sep 17 00:00:00 2001
+From bdbafe18c3bf99b3b691cd52b9ccff60f313892d Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 27 Jun 2018 16:09:24 +0800
-Subject: [PATCH 2/9] use lnr wrapper instead of looking for --relative option
+Subject: [PATCH 2/5] use lnr wrapper instead of looking for --relative option
for ln
Remove file manually to avoid the 'File Exists' error when creating
@@ -18,10 +18,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build
-index 04331dd41..6d5edcb4e 100644
+index 56c98b9..3386546 100644
--- a/meson.build
+++ b/meson.build
-@@ -558,10 +558,6 @@ endforeach
+@@ -630,10 +630,6 @@ endforeach
conf.set_quoted('TELINIT', get_option('telinit-path'))
@@ -33,7 +33,7 @@ index 04331dd41..6d5edcb4e 100644
gperf = find_program('gperf')
diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh
-index 501cd43d4..f4e4ac9ac 100755
+index 501cd43..f4e4ac9 100755
--- a/tools/meson-make-symlink.sh
+++ b/tools/meson-make-symlink.sh
@@ -8,5 +8,6 @@ mkdir -vp "$(dirname "${DESTDIR:-}$2")"
@@ -45,7 +45,7 @@ index 501cd43d4..f4e4ac9ac 100755
+ lnr "${DESTDIR:-}$1" "${DESTDIR:-}$2"
fi
diff --git a/units/meson-add-wants.sh b/units/meson-add-wants.sh
-index 70f7172ae..a42666aac 100755
+index e2b2603..210d604 100755
--- a/units/meson-add-wants.sh
+++ b/units/meson-add-wants.sh
@@ -25,4 +25,9 @@ case "$target" in
@@ -60,5 +60,5 @@ index 70f7172ae..a42666aac 100755
+ lnr "$unitpath" "$dir"
+fi
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch b/poky/meta/recipes-core/systemd/systemd/0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
deleted file mode 100644
index 115fb33c3..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From e965e748c7030df0709e63128db2f023540a06ba Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 12 Sep 2015 18:53:31 +0000
-Subject: [PATCH 03/19] comparison_fn_t is glibc specific, use raw signature in
- function pointer
-
-make it work with musl where comparison_fn_t is not provided
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/basic/util.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/basic/util.h b/src/basic/util.h
-index 40eaf518c..c58392397 100644
---- a/src/basic/util.h
-+++ b/src/basic/util.h
-@@ -77,7 +77,7 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
- * that only if nmemb > 0.
- */
- static inline void* bsearch_safe(const void *key, const void *base,
-- size_t nmemb, size_t size, comparison_fn_t compar) {
-+ size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- if (nmemb <= 0)
- return NULL;
-
-@@ -89,7 +89,7 @@ static inline void* bsearch_safe(const void *key, const void *base,
- * Normal qsort requires base to be nonnull. Here were require
- * that only if nmemb > 0.
- */
--static inline void qsort_safe(void *base, size_t nmemb, size_t size, comparison_fn_t compar) {
-+static inline void qsort_safe(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- if (nmemb <= 1)
- return;
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch b/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch
index 6c595ae73..6695d5680 100644
--- a/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch
@@ -1,7 +1,7 @@
-From 0fcb6e646401205e17cc6c129441a49023c62cef Mon Sep 17 00:00:00 2001
+From 47864989388bcd04d647ecf618ad7e260399dbb6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 5 Sep 2015 06:31:47 +0000
-Subject: [PATCH 3/9] implment systemd-sysv-install for OE
+Subject: [PATCH 3/5] implment systemd-sysv-install for OE
Use update-rc.d for enabling/disabling and status command
to check the status of the sysv service
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON
-index 8c16cf999..9f078a121 100755
+index 8c16cf9..9f078a1 100755
--- a/src/systemctl/systemd-sysv-install.SKELETON
+++ b/src/systemctl/systemd-sysv-install.SKELETON
@@ -32,17 +32,17 @@ case "$1" in
@@ -39,5 +39,5 @@ index 8c16cf999..9f078a121 100755
*)
usage ;;
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
new file mode 100644
index 000000000..5246b4b26
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
@@ -0,0 +1,61 @@
+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>
+---
+ src/basic/missing_type.h | 9 +++++++++
+ src/basic/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 bf8a6ca..c487e65 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/util.h b/src/basic/util.h
+index 9f6a6ce..2c5dc32 100644
+--- a/src/basic/util.h
++++ b/src/basic/util.h
+@@ -26,6 +26,7 @@
+ #include "format-util.h"
+ #include "macro.h"
+ #include "time-util.h"
++#include "missing.h"
+
+ size_t page_size(void) _pure_;
+ #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+diff --git a/src/journal/catalog.c b/src/journal/catalog.c
+index 4062f12..034e00c 100644
+--- a/src/journal/catalog.c
++++ b/src/journal/catalog.c
+@@ -26,6 +26,7 @@
+ #include "strv.h"
+ #include "tmpfile-util.h"
+ #include "util.h"
++#include "missing.h"
+
+ const char * const catalog_file_dirs[] = {
+ "/usr/local/lib/systemd/catalog/",
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index 7652a2d8c..bb738e22c 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -1,7 +1,7 @@
-From 582af7ec13131dfcc620ed81de7b211914c4cb03 Mon Sep 17 00:00:00 2001
+From 7bcf3b166694090497a0acd2c5299e4e04fcc9b6 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 13:43:49 +0800
-Subject: [PATCH 04/19] add fallback parse_printf_format implementation
+Date: Mon, 25 Feb 2019 14:04:21 +0800
+Subject: [PATCH 04/24] add fallback parse_printf_format implementation
Upstream-Status: Inappropriate [musl specific]
@@ -20,25 +20,25 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
create mode 100644 src/basic/parse-printf-format.h
diff --git a/meson.build b/meson.build
-index e045b9224..8c16bc979 100644
+index 3386546..44b24ee 100644
--- a/meson.build
+++ b/meson.build
-@@ -598,6 +598,7 @@ foreach header : ['crypt.h',
- 'linux/btrfs.h',
+@@ -667,6 +667,7 @@ foreach header : ['crypt.h',
'linux/memfd.h',
'linux/vm_sockets.h',
+ 'linux/can/vxcan.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 31625b178..0c27528e7 100644
+index e5852f3..2192a0c 100644
--- a/src/basic/meson.build
+++ b/src/basic/meson.build
-@@ -302,6 +302,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
+@@ -284,6 +284,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
endforeach
- basic_sources += [missing_h] + generated_gperf_headers
+ basic_sources += generated_gperf_headers
+
+if conf.get('HAVE_PRINTF_H') != 1
+ basic_sources += [files('parse-printf-format.c')]
@@ -49,7 +49,7 @@ index 31625b178..0c27528e7 100644
'gcrypt-util.h')
diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
new file mode 100644
-index 000000000..49437e544
+index 0000000..49437e5
--- /dev/null
+++ b/src/basic/parse-printf-format.c
@@ -0,0 +1,273 @@
@@ -328,7 +328,7 @@ index 000000000..49437e544
+}
diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
new file mode 100644
-index 000000000..47be7522d
+index 0000000..47be752
--- /dev/null
+++ b/src/basic/parse-printf-format.h
@@ -0,0 +1,57 @@
@@ -390,10 +390,10 @@ index 000000000..47be7522d
+
+#endif /* HAVE_PRINTF_H */
diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
-index 73c03274c..30192cd71 100644
+index dc67b6e..cf8d514 100644
--- a/src/basic/stdio-util.h
+++ b/src/basic/stdio-util.h
-@@ -1,12 +1,12 @@
+@@ -1,13 +1,13 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
#pragma once
@@ -403,12 +403,13 @@ index 73c03274c..30192cd71 100644
#include <sys/types.h>
#include "macro.h"
+ #include "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 a0621524a..65bcbcd2e 100644
+index 8618454..3fea912 100644
--- a/src/journal/journal-send.c
+++ b/src/journal/journal-send.c
@@ -2,7 +2,6 @@
@@ -420,13 +421,13 @@ index a0621524a..65bcbcd2e 100644
#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 "util.h"
+#include "parse-printf-format.h"
#define SNDBUF_SIZE (8*1024*1024)
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch b/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
index 7e37cbc2c..738f8eb7b 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
@@ -1,7 +1,7 @@
-From 5d8128f3832fd11fd046d1d1ad86c4ee7bc1dff0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 9 Nov 2016 19:41:13 -0800
-Subject: [PATCH 4/9] rules: whitelist hd* devices
+From dc0a6a9fe4da9738efaba942233ad39da625a918 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 21 Feb 2019 16:28:21 +0800
+Subject: [PATCH 4/5] rules: whitelist hd* devices
qemu by default emulates IDE and the linux-yocto kernel(s) use
CONFIG_IDE instead of the more modern libsata, so disks appear as
@@ -11,23 +11,25 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276]
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[rebased for systemd 241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
rules/60-persistent-storage.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
-index 8ddb7577c..811e948ad 100644
+index 1d8880e..e53c8ea 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end"
ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end"
SUBSYSTEM!="block", GOTO="persistent_storage_end"
--KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*", GOTO="persistent_storage_end"
-+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|hd*", GOTO="persistent_storage_end"
+-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|zd*", GOTO="persistent_storage_end"
++KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|zd*|hd*", GOTO="persistent_storage_end"
# ignore partitions that span the entire disk
TEST=="whole_disk", GOTO="persistent_storage_end"
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-Make-root-s-home-directory-configurable.patch b/poky/meta/recipes-core/systemd/systemd/0005-Make-root-s-home-directory-configurable.patch
deleted file mode 100644
index c13708728..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0005-Make-root-s-home-directory-configurable.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 8b82663aeeedf9ca58e3b97116b4c4da5229e0f5 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 27 Jun 2018 16:46:45 +0800
-Subject: [PATCH 5/9] Make root's home directory configurable
-
-OpenEmbedded has a configurable home directory for root. Allow
-systemd to be built using its idea of what root's home directory
-should be.
-
-Upstream-Status: Denied
-Upstream wants to have a unified hierarchy where everyone is
-using the same root folder.
-https://github.com/systemd/systemd/issues/541
-
-Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 7 +++++++
- meson_options.txt | 2 ++
- 2 files changed, 9 insertions(+)
-
-diff --git a/meson.build b/meson.build
-index 6d5edcb4e..323146fe1 100644
---- a/meson.build
-+++ b/meson.build
-@@ -89,6 +89,11 @@ if rootlibdir == ''
- rootlibdir = join_paths(rootprefixdir, libdir.split('/')[-1])
- endif
-
-+roothomedir = get_option('roothomedir')
-+if roothomedir == ''
-+ roothomedir = '/root'
-+endif
-+
- # Dirs of external packages
- pkgconfigdatadir = join_paths(datadir, 'pkgconfig')
- pkgconfiglibdir = join_paths(libdir, 'pkgconfig')
-@@ -210,6 +215,7 @@ conf.set_quoted('UDEVLIBEXECDIR', udevlibexecdir)
- conf.set_quoted('POLKIT_AGENT_BINARY_PATH', join_paths(bindir, 'pkttyagent'))
- conf.set_quoted('LIBDIR', libdir)
- conf.set_quoted('ROOTLIBDIR', rootlibdir)
-+conf.set_quoted('ROOTHOMEDIR', roothomedir)
- conf.set_quoted('ROOTLIBEXECDIR', rootlibexecdir)
- conf.set_quoted('BOOTLIBDIR', bootlibdir)
- conf.set_quoted('SYSTEMD_PULL_PATH', join_paths(rootlibexecdir, 'systemd-pull'))
-@@ -228,6 +234,7 @@ substs.set('prefix', prefixdir)
- substs.set('exec_prefix', prefixdir)
- substs.set('libdir', libdir)
- substs.set('rootlibdir', rootlibdir)
-+substs.set('roothomedir', roothomedir)
- substs.set('includedir', includedir)
- substs.set('pkgsysconfdir', pkgsysconfdir)
- substs.set('bindir', bindir)
-diff --git a/meson_options.txt b/meson_options.txt
-index 16c1f2b2f..aa9a33368 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -9,6 +9,8 @@ option('rootlibdir', type : 'string',
- description : '''[/usr]/lib/x86_64-linux-gnu or such''')
- option('rootprefix', type : 'string',
- description : '''override the root prefix''')
-+option('roothomedir', type : 'string',
-+ description : '''override the root home directory''')
- option('link-udev-shared', type : 'boolean',
- description : 'link systemd-udev and its helpers to libsystemd-shared.so')
- option('link-systemctl-shared', type: 'boolean',
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch b/poky/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
deleted file mode 100644
index 6d5faf5fe..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a2c4d46944892174930135672508389a04e191f0 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 13:53:29 +0800
-Subject: [PATCH 05/19] include gshadow only if ENABLE_GSHADOW is 1
-
-Upstream-Status: Inappropriate [musl]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/user-util.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/basic/user-util.h b/src/basic/user-util.h
-index b74f16885..f9c1e29c4 100644
---- a/src/basic/user-util.h
-+++ b/src/basic/user-util.h
-@@ -2,7 +2,9 @@
- #pragma once
-
- #include <grp.h>
-+#if ENABLE_GSHADOW
- #include <gshadow.h>
-+#endif
- #include <pwd.h>
- #include <shadow.h>
- #include <stdbool.h>
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
new file mode 100644
index 000000000..2123052ff
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
@@ -0,0 +1,45 @@
+From d1bccc721dd8f43fee29c5df0e9b78345e69f4b6 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 21 Feb 2019 16:38:38 +0800
+Subject: [PATCH 5/5] rules: watch metadata changes in ide devices
+
+Formatting IDE storage does not trigger "change" uevents. As a result
+clients using udev API don't get any updates afterwards and get outdated
+information about the device.
+...
+root@qemux86-64:~# mkfs.ext4 -F /dev/hda1
+Creating filesystem with 262144 4k blocks and 65536 inodes
+Filesystem UUID: 98791eb2-2bf3-47ad-b4d8-4cf7e914eee2
+
+root@qemux86-64:~# ls /dev/disk/by-uuid/98791eb2-2bf3-47ad-b4d8-4cf7e914eee2
+ls: cannot access '/dev/disk/by-uuid/98791eb2-2bf3-47ad-b4d8-4cf7e914eee2': No such file or directory
+...
+Include hd* in a match for watch option assignment.
+
+Upstream-Status: Denied
+
+qemu by default emulates IDE and the linux-yocto kernel(s) use
+CONFIG_IDE instead of the more modern libsata, so disks appear as
+/dev/hd*. A similar patch rejected by upstream because CONFIG_IDE
+is deprecated.
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+[rebased for systemd 241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ rules/60-block.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/rules/60-block.rules b/rules/60-block.rules
+index a1458e9..3ba4b6b4 100644
+--- a/rules/60-block.rules
++++ b/rules/60-block.rules
+@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_
+ ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
+
+ # watch metadata changes, caused by tools closing the device node which was opened for writing
+-ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*", OPTIONS+="watch"
++ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|hd*", OPTIONS+="watch"
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
new file mode 100644
index 000000000..f20897b5f
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -0,0 +1,116 @@
+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>
+---
+ meson.build | 1 +
+ src/basic/missing_stdlib.h | 12 ++++++++++++
+ src/basic/mkdir.c | 1 +
+ src/basic/parse-util.c | 1 +
+ src/basic/procfs-util.c | 1 +
+ src/shared/pager.c | 1 +
+ src/shared/uid-range.c | 1 +
+ 7 files changed, 18 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index 44b24ee..70fb218 100644
+--- a/meson.build
++++ b/meson.build
+@@ -558,6 +558,7 @@ foreach ident : [
+ #include <unistd.h>'''],
+ ['explicit_bzero' , '''#include <string.h>'''],
+ ['reallocarray', '''#include <malloc.h>'''],
++ ['strndupa' , '''#include <string.h>'''],
+ ]
+
+ have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index c0ffe86..d50274b 100644
+--- a/src/basic/missing_stdlib.h
++++ b/src/basic/missing_stdlib.h
+@@ -11,3 +11,15 @@
+ # define secure_getenv getenv
+ # 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 4bb65d5..3038ab9 100644
+--- a/src/basic/mkdir.c
++++ b/src/basic/mkdir.c
+@@ -13,6 +13,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 87724af..d9c53bc 100644
+--- a/src/basic/parse-util.c
++++ b/src/basic/parse-util.c
+@@ -19,6 +19,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/procfs-util.c b/src/basic/procfs-util.c
+index 7aaf95b..42ce53d 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/shared/pager.c b/src/shared/pager.c
+index bf2597e..fa9e321 100644
+--- a/src/shared/pager.c
++++ b/src/shared/pager.c
+@@ -24,6 +24,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "terminal-util.h"
++#include "missing.h"
+
+ static pid_t pager_pid = 0;
+
+diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
+index 5fa7bd2..9c63b9e 100644
+--- a/src/shared/uid-range.c
++++ b/src/shared/uid-range.c
+@@ -9,6 +9,7 @@
+ #include "uid-range.h"
+ #include "user-util.h"
+ #include "util.h"
++#include "missing.h"
+
+ static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
+ assert(range);
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
new file mode 100644
index 000000000..b41f6c7be
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
@@ -0,0 +1,96 @@
+From 67a988ae82c776d11be76de7180d50ea027ac442 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 14:24:20 +0800
+Subject: [PATCH 06/24] 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 {
+ ^~~~~~
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/libsystemd/sd-netlink/netlink-types.c | 1 +
+ src/network/netdev/tuntap.c | 1 +
+ src/network/networkd-brvlan.c | 1 +
+ src/udev/net/ethtool-util.c | 1 +
+ src/udev/net/ethtool-util.h | 1 +
+ src/udev/udev-builtin-net_setup_link.c | 1 +
+ 6 files changed, 6 insertions(+)
+
+diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
+index 9dcd3f2..e23ff4c 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/netlink.h>
+ #include <linux/rtnetlink.h>
+ #include <linux/genetlink.h>
+diff --git a/src/network/netdev/tuntap.c b/src/network/netdev/tuntap.c
+index 951138d..1ad499d 100644
+--- a/src/network/netdev/tuntap.c
++++ b/src/network/netdev/tuntap.c
+@@ -2,6 +2,7 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#include <netinet/if_ether.h>
+ #include <linux/if_tun.h>
+ #include <net/if.h>
+ #include <netinet/if_ether.h>
+diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
+index 8377623..132af60 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/udev/net/ethtool-util.c b/src/udev/net/ethtool-util.c
+index 0dcec03..3695b10 100644
+--- a/src/udev/net/ethtool-util.c
++++ b/src/udev/net/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/udev/net/ethtool-util.h b/src/udev/net/ethtool-util.h
+index 618b26b..ebfe82a 100644
+--- a/src/udev/net/ethtool-util.h
++++ b/src/udev/net/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/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
+index a845dfa..177289a 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"
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-remove-nobody-user-group-checking.patch b/poky/meta/recipes-core/systemd/systemd/0006-remove-nobody-user-group-checking.patch
deleted file mode 100644
index eb6eb8bfe..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0006-remove-nobody-user-group-checking.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 5199ae5dec9b8a9c9e20477d5090f1732735fbe2 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Thu, 28 Jun 2018 09:38:12 +0800
-Subject: [PATCH 6/9] remove nobody user/group checking
-
-Upstream-Status: Inappropriate [OE Specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 37 -------------------------------------
- 1 file changed, 37 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 323146fe1..3bb087fef 100644
---- a/meson.build
-+++ b/meson.build
-@@ -681,43 +681,6 @@ substs.set('containeruidbasemax', container_uid_base_max)
- nobody_user = get_option('nobody-user')
- nobody_group = get_option('nobody-group')
-
--getent_result = run_command('getent', 'passwd', '65534')
--if getent_result.returncode() == 0
-- name = getent_result.stdout().split(':')[0]
-- if name != nobody_user
-- warning('\n' +
-- 'The local user with the UID 65534 does not match the configured user name "@0@" of the nobody user (its name is @1@).\n'.format(nobody_user, name) +
-- 'Your build will result in an user table setup that is incompatible with the local system.')
-- endif
--endif
--id_result = run_command('id', '-u', nobody_user)
--if id_result.returncode() == 0
-- id = id_result.stdout().to_int()
-- if id != 65534
-- warning('\n' +
-- 'The local user with the configured user name "@0@" of the nobody user does not have UID 65534 (it has @1@).\n'.format(nobody_user, id) +
-- 'Your build will result in an user table setup that is incompatible with the local system.')
-- endif
--endif
--
--getent_result = run_command('getent', 'group', '65534')
--if getent_result.returncode() == 0
-- name = getent_result.stdout().split(':')[0]
-- if name != nobody_group
-- warning('\n' +
-- 'The local group with the GID 65534 does not match the configured group name "@0@" of the nobody group (its name is @1@).\n'.format(nobody_group, name) +
-- 'Your build will result in an group table setup that is incompatible with the local system.')
-- endif
--endif
--id_result = run_command('id', '-g', nobody_group)
--if id_result.returncode() == 0
-- id = id_result.stdout().to_int()
-- if id != 65534
-- warning('\n' +
-- 'The local group with the configured group name "@0@" of the nobody group does not have UID 65534 (it has @1@).\n'.format(nobody_group, id) +
-- 'Your build will result in an group table setup that is incompatible with the local system.')
-- endif
--endif
- if nobody_user != nobody_group and not (nobody_user == 'nobody' and nobody_group == 'nogroup')
- warning('\n' +
- 'The configured user name "@0@" and group name "@0@" of the nobody user/group are not equivalent.\n'.format(nobody_user, nobody_group) +
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0006-src-basic-missing.h-check-for-missing-strndupa.patch
deleted file mode 100644
index 107a79439..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0006-src-basic-missing.h-check-for-missing-strndupa.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 03fd19fc87573276e0d359260c8fe591f5f0216a Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 16:34:50 +0800
-Subject: [PATCH 06/19] 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>
----
- meson.build | 1 +
- src/basic/missing.h | 11 +++++++++++
- src/basic/mkdir.c | 1 +
- src/basic/pager.c | 1 +
- src/basic/parse-util.c | 1 +
- src/basic/procfs-util.c | 1 +
- src/shared/uid-range.c | 1 +
- 7 files changed, 17 insertions(+)
-
-diff --git a/meson.build b/meson.build
-index 8c16bc979..a734a295c 100644
---- a/meson.build
-+++ b/meson.build
-@@ -503,6 +503,7 @@ foreach ident : [
- #include <unistd.h>'''],
- ['explicit_bzero' , '''#include <string.h>'''],
- ['reallocarray', '''#include <malloc.h>'''],
-+ ['strndupa' , '''#include <string.h>'''],
- ]
-
- have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 0e33abb9f..02397f1b6 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -1184,6 +1184,17 @@ struct input_mask {
- typedef int32_t key_serial_t;
- #endif
-
-+#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
-+
- #ifndef KEYCTL_JOIN_SESSION_KEYRING
- #define KEYCTL_JOIN_SESSION_KEYRING 1
- #endif
-diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
-index 6ab1b4422..77c3e0863 100644
---- a/src/basic/mkdir.c
-+++ b/src/basic/mkdir.c
-@@ -13,6 +13,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/pager.c b/src/basic/pager.c
-index f24126111..8223bff02 100644
---- a/src/basic/pager.c
-+++ b/src/basic/pager.c
-@@ -21,6 +21,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "terminal-util.h"
-+#include "missing.h"
-
- static pid_t pager_pid = 0;
-
-diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
-index 6becf8587..52576f536 100644
---- a/src/basic/parse-util.c
-+++ b/src/basic/parse-util.c
-@@ -17,6 +17,7 @@
- #include "parse-util.h"
- #include "process-util.h"
- #include "string-util.h"
-+#include "missing.h"
-
- int parse_boolean(const char *v) {
- assert(v);
-diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
-index a159e344b..ebc427d6b 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/shared/uid-range.c b/src/shared/uid-range.c
-index 434ce6ff4..37093ab7b 100644
---- a/src/shared/uid-range.c
-+++ b/src/shared/uid-range.c
-@@ -8,6 +8,7 @@
- #include "macro.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);
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-Include-netinet-if_ether.h.patch b/poky/meta/recipes-core/systemd/systemd/0007-Include-netinet-if_ether.h.patch
deleted file mode 100644
index 2df8cf95f..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0007-Include-netinet-if_ether.h.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From aab90d0dfa934d33879eaec1a878e93b201d33f1 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 16:44:43 +0800
-Subject: [PATCH 07/19] 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 {
- ^~~~~~
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/libsystemd/sd-netlink/netlink-types.c | 1 +
- src/network/netdev/tuntap.c | 1 +
- src/network/networkd-brvlan.c | 1 +
- src/udev/net/ethtool-util.c | 1 +
- src/udev/net/ethtool-util.h | 1 +
- src/udev/udev-builtin-net_setup_link.c | 1 +
- 6 files changed, 6 insertions(+)
-
-diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index c93fe9cb4..2013d06e1 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/netlink.h>
- #include <linux/rtnetlink.h>
- #include <linux/genetlink.h>
-diff --git a/src/network/netdev/tuntap.c b/src/network/netdev/tuntap.c
-index 21fb7ab06..0afe5170c 100644
---- a/src/network/netdev/tuntap.c
-+++ b/src/network/netdev/tuntap.c
-@@ -2,6 +2,7 @@
-
- #include <errno.h>
- #include <fcntl.h>
-+#include <netinet/if_ether.h>
- #include <linux/if_tun.h>
- #include <net/if.h>
- #include <netinet/if_ether.h>
-diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
-index 8e8a618e2..52d523a67 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/udev/net/ethtool-util.c b/src/udev/net/ethtool-util.c
-index 4bb4216ac..5f7383483 100644
---- a/src/udev/net/ethtool-util.c
-+++ b/src/udev/net/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/udev/net/ethtool-util.h b/src/udev/net/ethtool-util.h
-index 064bf4d2b..ee0d4fb2a 100644
---- a/src/udev/net/ethtool-util.h
-+++ b/src/udev/net/ethtool-util.h
-@@ -3,6 +3,7 @@
-
-
- #include <macro.h>
-+#include <netinet/if_ether.h>
- #include <linux/ethtool.h>
-
- #include "missing.h"
-diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
-index 8bed6399a..a3a96959b 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 "alloc-util.h"
- #include "link-config.h"
- #include "log.h"
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
new file mode 100644
index 000000000..765e4767f
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
@@ -0,0 +1,154 @@
+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>
+---
+ src/basic/glob-util.c | 12 +++++++++++-
+ src/test/test-glob-util.c | 17 +++++++++++++++--
+ src/tmpfiles/tmpfiles.c | 9 +++++++++
+ 3 files changed, 35 insertions(+), 3 deletions(-)
+
+diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
+index 9fac676..962d8b9 100644
+--- a/src/basic/glob-util.c
++++ b/src/basic/glob-util.c
+@@ -10,6 +10,11 @@
+ #include "macro.h"
+ #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);
+@@ -18,6 +23,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));
+
+@@ -31,10 +37,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 b4f4144..955b3ba 100644
+--- a/src/test/test-glob-util.c
++++ b/src/test/test-glob-util.c
+@@ -12,6 +12,11 @@
+ #include "macro.h"
+ #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";
+@@ -38,25 +43,33 @@ static void closedir_wrapper(void* v) {
+ static void test_glob_no_dot(void) {
+ char template[] = "/tmp/test-glob-util.XXXXXXX";
+ 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;
+
+ 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 b66765b..11dbbf4 100644
+--- a/src/tmpfiles/tmpfiles.c
++++ b/src/tmpfiles/tmpfiles.c
+@@ -60,6 +60,11 @@
+ #include "umask-util.h"
+ #include "user-util.h"
+ #include "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
+@@ -1853,7 +1858,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 +1880,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;
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-rules-watch-metadata-changes-in-ide-devices.patch b/poky/meta/recipes-core/systemd/systemd/0007-rules-watch-metadata-changes-in-ide-devices.patch
deleted file mode 100644
index a5f65e66b..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0007-rules-watch-metadata-changes-in-ide-devices.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 9302b72e5e69512aaa7106197b00c55baeb35b3c Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 17 Nov 2017 09:46:00 +0800
-Subject: [PATCH 7/9] rules: watch metadata changes in ide devices
-
-Formatting IDE storage does not trigger "change" uevents. As a result
-clients using udev API don't get any updates afterwards and get outdated
-information about the device.
-...
-root@qemux86-64:~# mkfs.ext4 -F /dev/hda1
-Creating filesystem with 262144 4k blocks and 65536 inodes
-Filesystem UUID: 98791eb2-2bf3-47ad-b4d8-4cf7e914eee2
-
-root@qemux86-64:~# ls /dev/disk/by-uuid/98791eb2-2bf3-47ad-b4d8-4cf7e914eee2
-ls: cannot access '/dev/disk/by-uuid/98791eb2-2bf3-47ad-b4d8-4cf7e914eee2': No such file or directory
-...
-Include hd* in a match for watch option assignment.
-
-Upstream-Status: Denied
-
-qemu by default emulates IDE and the linux-yocto kernel(s) use
-CONFIG_IDE instead of the more modern libsata, so disks appear as
-/dev/hd*. A similar patch rejected by upstream because CONFIG_IDE
-is deprecated.
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- rules/60-block.rules | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rules/60-block.rules b/rules/60-block.rules
-index 343fc06f8..b5237dac4 100644
---- a/rules/60-block.rules
-+++ b/rules/60-block.rules
-@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_
- ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
-
- # watch metadata changes, caused by tools closing the device node which was opened for writing
--ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*", OPTIONS+="watch"
-+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|hd*", OPTIONS+="watch"
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch b/poky/meta/recipes-core/systemd/systemd/0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
deleted file mode 100644
index abecdc764..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b6ba596fd1313a162cdc2eb88161dcf24d19ede7 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Thu, 28 Jun 2018 10:10:02 +0800
-Subject: [PATCH 8/9] Do not enable nss tests if nss-systemd is not enabled
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/test/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/test/meson.build b/src/test/meson.build
-index 7da7e3a22..7b7c257ff 100644
---- a/src/test/meson.build
-+++ b/src/test/meson.build
-@@ -645,7 +645,7 @@ tests += [
- [['src/test/test-nss.c'],
- [],
- [libdl],
-- '', 'manual'],
-+ 'ENABLE_NSS_SYSTEMD', 'manual'],
-
- [['src/test/test-umount.c',
- 'src/core/mount-setup.c',
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
new file mode 100644
index 000000000..d5f2349f2
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/poky/meta/recipes-core/systemd/systemd/0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
deleted file mode 100644
index bee5fb651..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 848e711d719a6d987bc7d14183e1c7b1f1c91c56 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 17:10:29 +0800
-Subject: [PATCH 08/19] 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>
----
- src/basic/glob-util.c | 13 +++++++++++--
- src/test/test-glob-util.c | 15 +++++++++++++++
- src/tmpfiles/tmpfiles.c | 10 ++++++++++
- 3 files changed, 36 insertions(+), 2 deletions(-)
-
-diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
-index 9fac676f2..8adb9559e 100644
---- a/src/basic/glob-util.c
-+++ b/src/basic/glob-util.c
-@@ -10,6 +10,11 @@
- #include "macro.h"
- #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);
-@@ -18,6 +23,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));
-
-@@ -31,10 +37,13 @@ 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 d78d6223c..f5943b26d 100644
---- a/src/test/test-glob-util.c
-+++ b/src/test/test-glob-util.c
-@@ -12,6 +12,11 @@
- #include "glob-util.h"
- #include "macro.h"
- #include "rm-rf.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";
-@@ -40,11 +45,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 +59,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 927de35f3..5f0283da5 100644
---- a/src/tmpfiles/tmpfiles.c
-+++ b/src/tmpfiles/tmpfiles.c
-@@ -60,6 +60,12 @@
- #include "user-util.h"
- #include "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
-@@ -1345,7 +1351,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;
-@@ -1365,7 +1373,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;
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0009-add-missing-FTW_-macros-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0009-add-missing-FTW_-macros-for-musl.patch
deleted file mode 100644
index 95287cce1..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0009-add-missing-FTW_-macros-for-musl.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From acc2c08082795802011e3c5f8626d63210021489 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 28 Feb 2018 21:36:32 -0800
-Subject: [PATCH 09/19] 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.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 02397f1b6..6dc750eba 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -189,6 +189,26 @@ struct sockaddr_vm {
- #define BTRFS_QGROUP_LEVEL_SHIFT 48
- #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
-+
- #if ! HAVE_LINUX_BTRFS_H
- #define BTRFS_IOC_QGROUP_ASSIGN _IOW(BTRFS_IOCTL_MAGIC, 41, \
- struct btrfs_ioctl_qgroup_assign_args)
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch b/poky/meta/recipes-core/systemd/systemd/0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch
deleted file mode 100644
index a635fa91d..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From f9625b5f3fd5dac3f3591dbeeb24dc9d6fda790d Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 27 Feb 2018 12:56:21 +0800
-Subject: [PATCH 9/9] nss-mymachines: Build conditionally when
- ENABLE_MYHOSTNAME is set
-
-Fixes build failures when building with --disable-myhostname
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 3bb087fef..73bd70b0b 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1371,12 +1371,15 @@ test_dlopen = executable(
- link_with : [libbasic],
- dependencies : [libdl])
-
--foreach tuple : [['myhostname', 'ENABLE_MYHOSTNAME'],
-- ['systemd', 'ENABLE_NSS_SYSTEMD'],
-- ['mymachines', 'ENABLE_MACHINED'],
-- ['resolve', 'ENABLE_RESOLVE']]
-+foreach tuple : [['myhostname', 'ENABLE_MYHOSTNAME', ''],
-+ ['systemd', 'ENABLE_NSS_SYSTEMD', ''],
-+ ['mymachines', 'ENABLE_MACHINED', 'ENABLE_MYHOSTNAME'],
-+ ['resolve', 'ENABLE_RESOLVE', '']]
-
- condition = tuple[1] == '' or conf.get(tuple[1]) == 1
-+ if tuple[2] != '' and condition
-+ condition = conf.get(tuple[2]) == 1
-+ endif
- if condition
- module = tuple[0]
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch b/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
new file mode 100644
index 000000000..57cb5f373
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
@@ -0,0 +1,38 @@
+From 6a2cadd6b70cb40ac74fc0d0f8557b914bd38ac2 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 2 Jul 2018 13:22:41 +0800
+Subject: [PATCH 09/24] socket-util: don't fail if libc doesn't support IDN
+
+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>
+---
+ src/basic/socket-util.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
+index 91bf801..c445fea 100644
+--- a/src/basic/socket-util.c
++++ b/src/basic/socket-util.c
+@@ -33,6 +33,16 @@
+ #include "utf8.h"
+ #include "util.h"
+
++/* Don't fail if the standard library
++ * doesn't support IDN */
++#ifndef NI_IDN
++#define NI_IDN 0
++#endif
++
++#ifndef NI_IDN_USE_STD3_ASCII_RULES
++#define NI_IDN_USE_STD3_ASCII_RULES 0
++#endif
++
+ #if ENABLE_IDN
+ # define IDN_FLAGS NI_IDN
+ #else
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/poky/meta/recipes-core/systemd/systemd/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch
new file mode 100644
index 000000000..8bacd0289
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch b/poky/meta/recipes-core/systemd/systemd/0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
deleted file mode 100644
index 16547981d..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From a0bd587300744dbb8e9cfbb043233670ce781c98 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 13:22:41 +0800
-Subject: [PATCH 10/19] socket-util: don't fail if libc doesn't support IDN
-
-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>
----
- src/basic/socket-util.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
-index a913102e1..0d0154805 100644
---- a/src/basic/socket-util.c
-+++ b/src/basic/socket-util.c
-@@ -32,6 +32,16 @@
- #include "utf8.h"
- #include "util.h"
-
-+/* Don't fail if the standard library
-+ * doesn't support IDN */
-+#ifndef NI_IDN
-+#define NI_IDN 0
-+#endif
-+
-+#ifndef NI_IDN_USE_STD3_ASCII_RULES
-+#define NI_IDN_USE_STD3_ASCII_RULES 0
-+#endif
-+
- #if ENABLE_IDN
- # define IDN_FLAGS NI_IDN
- #else
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0011-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0011-Use-uintmax_t-for-handling-rlim_t.patch
new file mode 100644
index 000000000..d6eda9c03
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch b/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
deleted file mode 100644
index 1a22ffd9e..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 045f205fd21e5e380edf813de04fcfbf5a487219 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 13:28:25 +0800
-Subject: [PATCH 11/19] src/basic/missing.h: check for missing __compar_fn_t
- typedef
-
-include missing.h for missing __compar_fn_t
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing.h | 5 +++++
- src/basic/strbuf.c | 1 +
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 6dc750eba..cd1cc109f 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -1179,6 +1179,11 @@ struct input_mask {
- #define RENAME_NOREPLACE (1 << 0)
- #endif
-
-+#ifndef __COMPAR_FN_T
-+#define __COMPAR_FN_T
-+typedef int (*__compar_fn_t)(const void *, const void *);
-+#endif
-+
- #ifndef KCMP_FILE
- #define KCMP_FILE 0
- #endif
-diff --git a/src/basic/strbuf.c b/src/basic/strbuf.c
-index e2ed776a0..4d3ebec4c 100644
---- a/src/basic/strbuf.c
-+++ b/src/basic/strbuf.c
-@@ -7,6 +7,7 @@
- #include "alloc-util.h"
- #include "strbuf.h"
- #include "util.h"
-+#include "missing.h"
-
- /*
- * Strbuf stores given strings in a single continuous allocated memory
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch b/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
new file mode 100644
index 000000000..dbaae4f39
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
@@ -0,0 +1,27 @@
+From aa6cd19ae428769a38fe7d95f98db0a9c19ae90a Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:14:49 +0800
+Subject: [PATCH 12/24] fix missing ULONG_LONG_MAX definition in case of musl
+
+Upstream-Status: Inappropriate [musl]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_type.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index 23602eb..7d7c1e4 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -39,3 +39,7 @@ typedef int (*__compar_fn_t)(const void *, const void *);
+ #ifndef FTW_SKIP_SIBLINGS
+ #define FTW_SKIP_SIBLINGS 3
+ #endif
++
++#ifndef ULONG_LONG_MAX
++#define ULONG_LONG_MAX ULLONG_MAX
++#endif
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch
deleted file mode 100644
index d41bc4a0d..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 1fadf805cb391e3bcbd9a0286a9e4b7adb9e7427 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 13:34:09 +0800
-Subject: [PATCH 12/19] 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 0a4f917cb..3543bc045 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"
-@@ -1150,11 +1153,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 __attribute__ ((__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.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0013-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0013-Use-uintmax_t-for-handling-rlim_t.patch
deleted file mode 100644
index 69b3c1512..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0013-Use-uintmax_t-for-handling-rlim_t.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From a0ac0cfd90af6431c64d1b276f422a2092d569b3 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 13:44:21 +0800
-Subject: [PATCH 13/19] 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>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/format-util.h | 8 --------
- src/basic/rlimit-util.c | 8 ++++----
- src/core/execute.c | 8 ++++----
- 3 files changed, 8 insertions(+), 16 deletions(-)
-
-diff --git a/src/basic/format-util.h b/src/basic/format-util.h
-index 160550cd6..61245d1e3 100644
---- a/src/basic/format-util.h
-+++ b/src/basic/format-util.h
-@@ -43,14 +43,6 @@
- # 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
--
- #if SIZEOF_DEV_T == 8
- # define DEV_FMT "%" PRIu64
- #elif SIZEOF_DEV_T == 4
-diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
-index be1ba615e..e328ce499 100644
---- a/src/basic/rlimit-util.c
-+++ b/src/basic/rlimit-util.c
-@@ -299,13 +299,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:%ju", (uintmax_t)rl->rlim_max);
- else if (rl->rlim_max >= RLIM_INFINITY)
-- (void) asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur);
-+ (void) asprintf(&s, "%ju: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, "%ju", (uintmax_t)rl->rlim_cur);
- else
-- (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max);
-+ (void) asprintf(&s, "%ju:%ju", (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max);
-
- if (!s)
- return -ENOMEM;
-diff --git a/src/core/execute.c b/src/core/execute.c
-index 8ac69d1a0..efedf3842 100644
---- a/src/core/execute.c
-+++ b/src/core/execute.c
-@@ -3976,10 +3976,10 @@ 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, "Limit%s%s: " RLIM_FMT "\n",
-- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
-- fprintf(f, "Limit%s%sSoft: " RLIM_FMT "\n",
-- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur);
-+ fprintf(f, "Limit%s%s: %ju\n",
-+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max);
-+ fprintf(f, "Limit%s%sSoft: %ju\n",
-+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur);
- }
-
- if (c->ioprio_set) {
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
new file mode 100644
index 000000000..874c17c42
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
@@ -0,0 +1,28 @@
+From e5a48f84db58ffb9128383eaefc123b5829523e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Oct 2017 12:33:22 -0700
+Subject: [PATCH 13/24] test-hexdecoct.c: Include missing.h for strndupa
+
+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-hexdecoct.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
+index 5221742..a05e778 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');
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch b/poky/meta/recipes-core/systemd/systemd/0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
deleted file mode 100644
index 258a631ca..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From cb59b3af54fb3bbd4d8264fef919810af8d08d16 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 27 Feb 2018 14:01:30 +0800
-Subject: [PATCH 14/19] fix missing ULONG_LONG_MAX definition in case of musl
-
-Upstream-Status: Inappropriate [musl]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index cd1cc109f..144058a1a 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -54,6 +54,10 @@ struct sockaddr_vm {
- };
- #endif /* !HAVE_LINUX_VM_SOCKETS_H */
-
-+#ifndef ULONG_LONG_MAX
-+#define ULONG_LONG_MAX ULLONG_MAX
-+#endif
-+
- #ifndef RLIMIT_RTTIME
- #define RLIMIT_RTTIME 15
- #endif
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/poky/meta/recipes-core/systemd/systemd/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
new file mode 100644
index 000000000..914589dbd
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/poky/meta/recipes-core/systemd/systemd/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
new file mode 100644
index 000000000..fd407f604
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
deleted file mode 100644
index c7ca9cd4b..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b11109ecc41110c518a98b6ac39611ff86477021 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 23 Oct 2017 12:33:22 -0700
-Subject: [PATCH 15/19] test-hexdecoct.c: Include missing.h for strndupa
-
-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-hexdecoct.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
-index da9f3008b..7ff2dfe0c 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');
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/poky/meta/recipes-core/systemd/systemd/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch
new file mode 100644
index 000000000..d5565698a
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/poky/meta/recipes-core/systemd/systemd/0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
deleted file mode 100644
index c06a3706e..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From c4bbf3efefffe0a4efadbf4e3f0adb54d76fe0e7 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 16/19] 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 7a1e496ed..386b314d5 100644
---- a/src/test/test-sizeof.c
-+++ b/src/test/test-sizeof.c
-@@ -40,8 +40,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);
-@@ -59,7 +61,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.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
new file mode 100644
index 000000000..05e6ded71
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -0,0 +1,39 @@
+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>
+---
+ 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 aec2daf..7b4aabf 100644
+--- a/src/basic/process-util.c
++++ b/src/basic/process-util.c
+@@ -1538,7 +1538,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[] = {
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/poky/meta/recipes-core/systemd/systemd/0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
deleted file mode 100644
index 8e47c6f50..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 91bb4f5c9c11464468e8d3fa4746d98d59997264 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 10 Oct 2017 14:33:30 -0700
-Subject: [PATCH 17/19] 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 28566773c..14b864cc5 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 89d7a7d59..34b4ad53a 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.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/poky/meta/recipes-core/systemd/systemd/0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch
deleted file mode 100644
index 1bd0d602a..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 97fed07132533a1b2bce9c60e305a5d09aee2e9b 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 18/19] 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 7f41465cc..cee8a5d43 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.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/poky/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
new file mode 100644
index 000000000..590177299
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
deleted file mode 100644
index 942f4c091..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 8440348bcac34249cdf6ac2dcae9ac66d3c727db 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 19/19] 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>
----
- 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 3543bc045..d0572e034 100644
---- a/src/basic/process-util.c
-+++ b/src/basic/process-util.c
-@@ -1473,7 +1473,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[] = {
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/poky/meta/recipes-core/systemd/systemd/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
new file mode 100644
index 000000000..35cc66ff6
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/poky/meta/recipes-core/systemd/systemd/0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
deleted file mode 100644
index 5c78cabba..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From dd53dc9b9542cbd2c39a39096941dfed70d06506 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 20/20] 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 65bcbcd2e..aef80dd8f 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 ec359ac13..d2aa86cea 100644
---- a/src/libsystemd/sd-bus/bus-error.c
-+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -362,7 +362,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.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0020-missing_type.h-add-__compar_d_fn_t-definition.patch b/poky/meta/recipes-core/systemd/systemd/0020-missing_type.h-add-__compar_d_fn_t-definition.patch
new file mode 100644
index 000000000..753d5116a
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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/poky/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/poky/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
deleted file mode 100644
index 668f27320..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 687a5af8dc5d38f918a6ce08fed5297234bf8346 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 2 Mar 2018 18:00:17 -0800
-Subject: [PATCH] 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
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-
-Upstream-Status: Pending [ Conditional on master needing this, 239 does need it ]
-
- 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 378f7a377..49d797abd 100644
---- a/src/libsystemd/sd-bus/bus-error.c
-+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -71,8 +71,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_BUS_ERROR_MAP[];
--extern const sd_bus_error_map __stop_BUS_ERROR_MAP[];
-+extern const sd_bus_error_map __start_BUS_ERROR_MAP[] _hidden_;
-+extern const sd_bus_error_map __stop_BUS_ERROR_MAP[] _hidden_;
-
- /* Additional maps registered with sd_bus_error_add_map() are in this
- * NULL terminated array */
---
-2.16.2
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch b/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
new file mode 100644
index 000000000..a8c53c931
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -0,0 +1,47 @@
+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 ++
+ src/basic/util.h | 3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+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
+diff --git a/src/basic/util.h b/src/basic/util.h
+index 2c5dc32..f721184 100644
+--- a/src/basic/util.h
++++ b/src/basic/util.h
+@@ -26,7 +26,8 @@
+ #include "format-util.h"
+ #include "macro.h"
+ #include "time-util.h"
+-#include "missing.h"
++#include "missing_stdlib.h"
++#include "missing_type.h"
+
+ size_t page_size(void) _pure_;
+ #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/poky/meta/recipes-core/systemd/systemd/0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
deleted file mode 100644
index 962463f0b..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 75720bff62a84896e9a0654afc7cf9408cf89a38 Mon Sep 17 00:00:00 2001
-From: Filipe Brandenburger <filbranden@google.com>
-Date: Sun, 15 Jul 2018 22:43:35 -0700
-Subject: [PATCH] build-sys: Detect whether struct statx is defined in
- sys/stat.h
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Starting with glibc 2.27.9000-36.fc29, include file sys/stat.h will have a
-definition for struct statx, in which case include file linux/stat.h should be
-avoided, in order to prevent a duplicate definition.
-
- In file included from ../src/basic/missing.h:18,
- from ../src/basic/util.h:28,
- from ../src/basic/hashmap.h:10,
- from ../src/shared/bus-util.h:12,
- from ../src/libsystemd/sd-bus/bus-creds.c:11:
- /usr/include/linux/stat.h:99:8: error: redefinition of â€struct statx’
- struct statx {
- ^~~~~
- In file included from /usr/include/sys/stat.h:446,
- from ../src/basic/util.h:19,
- from ../src/basic/hashmap.h:10,
- from ../src/shared/bus-util.h:12,
- from ../src/libsystemd/sd-bus/bus-creds.c:11:
- /usr/include/bits/statx.h:36:8: note: originally defined here
- struct statx
- ^~~~~
-
-Extend our meson.build to look for struct statx when only sys/stat.h is
-included and, in that case, do not include linux/stat.h anymore.
-
-Tested that systemd builds correctly when using a glibc version that includes a
-definition for struct statx.
-
-glibc Fedora RPM update:
-https://src.fedoraproject.org/rpms/glibc/c/28cb5d31fc1e5887912283c889689c47076278ae
-
-glibc upstream commit:
-https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fd70af45528d59a00eb3190ef6706cb299488fcd
----
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- meson.build | 5 +++++
- src/basic/missing.h | 5 ++++-
- src/basic/xattr-util.c | 1 -
- 3 files changed, 9 insertions(+), 2 deletions(-)
-
-Index: git/meson.build
-===================================================================
---- git.orig/meson.build
-+++ git/meson.build
-@@ -432,6 +432,7 @@ decl_headers = '''
- #include <sys/stat.h>
- '''
- # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
-+# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time
-
- foreach decl : ['char16_t',
- 'char32_t',
-@@ -446,6 +447,10 @@ foreach decl : ['char16_t',
- conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
- endforeach
-
-+conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : '''
-+#include <sys/stat.h>
-+''', args : '-D_GNU_SOURCE') > 0)
-+
- foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
- ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
- ['IFLA_VRF_TABLE', 'linux/if_link.h'],
-Index: git/src/basic/missing.h
-===================================================================
---- git.orig/src/basic/missing.h
-+++ git/src/basic/missing.h
-@@ -15,7 +15,6 @@
- #include <linux/neighbour.h>
- #include <linux/oom.h>
- #include <linux/rtnetlink.h>
--#include <linux/stat.h>
- #include <net/ethernet.h>
- #include <stdlib.h>
- #include <sys/resource.h>
-@@ -25,6 +24,10 @@
- #include <uchar.h>
- #include <unistd.h>
-
-+#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H
-+#include <linux/stat.h>
-+#endif
-+
- #if HAVE_AUDIT
- #include <libaudit.h>
- #endif
-Index: git/src/basic/xattr-util.c
-===================================================================
---- git.orig/src/basic/xattr-util.c
-+++ git/src/basic/xattr-util.c
-@@ -2,7 +2,6 @@
-
- #include <errno.h>
- #include <fcntl.h>
--#include <linux/stat.h>
- #include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
diff --git a/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch b/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch
new file mode 100644
index 000000000..47212bc3c
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch
@@ -0,0 +1,33 @@
+From 6c5364736f5afd1106ac240f03806af53979cc60 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:56:50 +0800
+Subject: [PATCH 22/24] include sys/wait.h to avoid compile failure
+
+Fix the following error:
+src/udev/udev-event.c:581:53: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'?
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/udev/udev-event.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 07b7365..e532bb7 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -8,7 +8,9 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+-
++#ifndef __GLIBC__
++#include <sys/wait.h>
++#endif
+ #include "sd-event.h"
+
+ #include "alloc-util.h"
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0023-resolvconf-fixes-for-the-compatibility-interface.patch b/poky/meta/recipes-core/systemd/systemd/0023-resolvconf-fixes-for-the-compatibility-interface.patch
deleted file mode 100644
index 2f3e776aa..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0023-resolvconf-fixes-for-the-compatibility-interface.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-systemd-239: fixes for the compatibility interface
-
-[No upstream tracking] -- https://github.com/systemd/systemd/issues/9423
-
-resolvconf-compat: use compat_main() when called as `resolvconf`,
-since the interface is closer to that of `systemd-resolve`.
-
-Use a heap allocated string to set arg_ifname, since a stack allocated
-one would be lost after the function returns. (This last one broke the
-case where an interface name was suffixed with a dot, such as in
-`resolvconf -a tap0.dhcp`.)
-
-Tested:
- $ build/resolvconf -a nonexistent.abc </etc/resolv.conf
- Unknown interface 'nonexistent': No such device
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/5a01b3f35d7b6182c78b6973db8d99bdabd4f9c3]
-bug: 9423
-Signed-off-by: Simon Ausserlechner <simon.ausserlechner@siemens.com>
-
-diff --git a/src/resolve/resolvconf-compat.c b/src/resolve/resolvconf-compat.c
-index d7e68003e..072345894 100644
---- a/src/resolve/resolvconf-compat.c
-+++ b/src/resolve/resolvconf-compat.c
-@@ -53,6 +53,8 @@ static int parse_nameserver(const char *string) {
-
- if (strv_push(&arg_set_dns, word) < 0)
- return log_oom();
-+
-+ word = NULL;
- }
-
- return 0;
-@@ -202,7 +204,7 @@ int resolvconf_parse_argv(int argc, char *argv[]) {
-
- dot = strchr(argv[optind], '.');
- if (dot) {
-- iface = strndupa(argv[optind], dot - argv[optind]);
-+ iface = strndup(argv[optind], dot - argv[optind]);
- log_debug("Ignoring protocol specifier '%s'.", dot + 1);
- } else
- iface = argv[optind];
-diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
-index e96c13fea..e9e395e3e 100644
---- a/src/resolve/resolvectl.c
-+++ b/src/resolve/resolvectl.c
-@@ -3092,7 +3092,7 @@ int main(int argc, char **argv) {
- goto finish;
- }
-
-- if (streq(program_invocation_short_name, "systemd-resolve"))
-+ if (STR_IN_SET(program_invocation_short_name, "systemd-resolve", "resolvconf"))
- r = compat_main(argc, argv, bus);
- else
- r = native_main(argc, argv, bus);
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch
new file mode 100644
index 000000000..22186b8a7
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch
@@ -0,0 +1,30 @@
+From 93e6b81b721d9eb966a257bfdf7df6e8280b885c Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 16:37:19 +0800
+Subject: [PATCH 23/24] socket-util.h: include string.h
+
+Fix the following compile error:
+src/basic/socket-util.h:187:30: error: implicit declaration of function 'strnlen'; did you mean 'strlen'? [-Werror=implicit-function-declaration]
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/socket-util.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h
+index 574d2b7..097aa4d 100644
+--- a/src/basic/socket-util.h
++++ b/src/basic/socket-util.h
+@@ -12,6 +12,7 @@
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <sys/un.h>
++#include <string.h>
+
+ #include "macro.h"
+ #include "missing_socket.h"
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0024-journald-do-not-store-the-iovec-entry-for-process-co.patch b/poky/meta/recipes-core/systemd/systemd/0024-journald-do-not-store-the-iovec-entry-for-process-co.patch
deleted file mode 100644
index c2f78be39..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0024-journald-do-not-store-the-iovec-entry-for-process-co.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-From 9cb07e7d82c7c4f28bbaa1478e1387e8ea3d03dd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Wed, 5 Dec 2018 18:38:39 +0100
-Subject: [PATCH] journald: do not store the iovec entry for process
- commandline on stack
-
-This fixes a crash where we would read the commandline, whose length is under
-control of the sending program, and then crash when trying to create a stack
-allocation for it.
-
-CVE-2018-16864
-https://bugzilla.redhat.com/show_bug.cgi?id=1653855
-
-The message actually doesn't get written to disk, because
-journal_file_append_entry() returns -E2BIG.
-
-Patch backported from systemd master at
-084eeb865ca63887098e0945fb4e93c852b91b0f.
-
-CVE: CVE-2018-16864
-Upstream-Status: Backport
-Signed-off-by: Marcus Cooper <marcusc@axis.com>
----
- src/basic/io-util.c | 10 ++++++++++
- src/basic/io-util.h | 2 ++
- src/coredump/coredump.c | 31 +++++++++++--------------------
- src/journal/journald-server.c | 25 +++++++++++++++----------
- 4 files changed, 38 insertions(+), 30 deletions(-)
-
-diff --git a/src/basic/io-util.c b/src/basic/io-util.c
-index 1f64cc933b..575398fbe6 100644
---- a/src/basic/io-util.c
-+++ b/src/basic/io-util.c
-@@ -8,6 +8,7 @@
- #include <unistd.h>
-
- #include "io-util.h"
-+#include "string-util.h"
- #include "time-util.h"
-
- int flush_fd(int fd) {
-@@ -252,3 +253,12 @@ ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length) {
-
- return q - (const uint8_t*) p;
- }
-+
-+char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) {
-+ char *x;
-+
-+ x = strappend(field, value);
-+ if (x)
-+ iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x);
-+ return x;
-+}
-diff --git a/src/basic/io-util.h b/src/basic/io-util.h
-index ed189b5820..792a64ad5e 100644
---- a/src/basic/io-util.h
-+++ b/src/basic/io-util.h
-@@ -71,3 +71,5 @@ static inline bool FILE_SIZE_VALID_OR_INFINITY(uint64_t l) {
- #define IOVEC_MAKE(base, len) (struct iovec) IOVEC_INIT(base, len)
- #define IOVEC_INIT_STRING(string) IOVEC_INIT((char*) string, strlen(string))
- #define IOVEC_MAKE_STRING(string) (struct iovec) IOVEC_INIT_STRING(string)
-+
-+char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value);
-diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c
-index 20a1cbdd45..18e4f61d72 100644
---- a/src/coredump/coredump.c
-+++ b/src/coredump/coredump.c
-@@ -1053,19 +1053,10 @@ static int send_iovec(const struct iovec iovec[], size_t n_iovec, int input_fd)
- return 0;
- }
-
--static char* set_iovec_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) {
-- char *x;
--
-- x = strappend(field, value);
-- if (x)
-- iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x);
-- return x;
--}
--
- static char* set_iovec_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value) {
- char *x;
-
-- x = set_iovec_field(iovec, n_iovec, field, value);
-+ x = set_iovec_string_field(iovec, n_iovec, field, value);
- free(value);
- return x;
- }
-@@ -1115,36 +1106,36 @@ static int gather_pid_metadata(
- disable_coredumps();
- }
-
-- set_iovec_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]);
-+ set_iovec_string_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]);
- }
-
- if (cg_pid_get_user_unit(pid, &t) >= 0)
- set_iovec_field_free(iovec, n_iovec, "COREDUMP_USER_UNIT=", t);
-
- /* The next few are mandatory */
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_HOSTNAME=", context[CONTEXT_HOSTNAME]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_HOSTNAME=", context[CONTEXT_HOSTNAME]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_COMM=", context[CONTEXT_COMM]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_COMM=", context[CONTEXT_COMM]))
- return log_oom();
-
- if (context[CONTEXT_EXE] &&
-- !set_iovec_field(iovec, n_iovec, "COREDUMP_EXE=", context[CONTEXT_EXE]))
-+ !set_iovec_string_field(iovec, n_iovec, "COREDUMP_EXE=", context[CONTEXT_EXE]))
- return log_oom();
-
- if (sd_pid_get_session(pid, &t) >= 0)
-@@ -1212,7 +1203,7 @@ static int gather_pid_metadata(
- iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(t);
-
- if (safe_atoi(context[CONTEXT_SIGNAL], &signo) >= 0 && SIGNAL_VALID(signo))
-- set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo));
-+ set_iovec_string_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo));
-
- return 0; /* we successfully acquired all metadata */
- }
-diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
-index 4f1550ec5b..31be085c6b 100644
---- a/src/journal/journald-server.c
-+++ b/src/journal/journald-server.c
-@@ -753,6 +753,7 @@ static void dispatch_message_real(
- pid_t object_pid) {
-
- char source_time[sizeof("_SOURCE_REALTIME_TIMESTAMP=") + DECIMAL_STR_MAX(usec_t)];
-+ _cleanup_free_ char *cmdline1 = NULL, *cmdline2 = NULL;
- uid_t journal_uid;
- ClientContext *o;
-
-@@ -769,20 +770,23 @@ static void dispatch_message_real(
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->uid, uid_t, uid_is_valid, UID_FMT, "_UID");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->gid, gid_t, gid_is_valid, GID_FMT, "_GID");
-
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->comm, "_COMM");
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->exe, "_EXE");
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->cmdline, "_CMDLINE");
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->capeff, "_CAP_EFFECTIVE");
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->comm, "_COMM"); /* At most TASK_COMM_LENGTH (16 bytes) */
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->exe, "_EXE"); /* A path, so at most PATH_MAX (4096 bytes) */
-
-- IOVEC_ADD_SIZED_FIELD(iovec, n, c->label, c->label_size, "_SELINUX_CONTEXT");
-+ if (c->cmdline)
-+ /* At most _SC_ARG_MAX (2MB usually), which is too much to put on stack.
-+ * Let's use a heap allocation for this one. */
-+ cmdline1 = set_iovec_string_field(iovec, &n, "_CMDLINE=", c->cmdline);
-
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->capeff, "_CAP_EFFECTIVE"); /* Read from /proc/.../status */
-+ IOVEC_ADD_SIZED_FIELD(iovec, n, c->label, c->label_size, "_SELINUX_CONTEXT");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->auditid, uint32_t, audit_session_is_valid, "%" PRIu32, "_AUDIT_SESSION");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->loginuid, uid_t, uid_is_valid, UID_FMT, "_AUDIT_LOGINUID");
-
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->cgroup, "_SYSTEMD_CGROUP");
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->cgroup, "_SYSTEMD_CGROUP"); /* A path */
- IOVEC_ADD_STRING_FIELD(iovec, n, c->session, "_SYSTEMD_SESSION");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->owner_uid, uid_t, uid_is_valid, UID_FMT, "_SYSTEMD_OWNER_UID");
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->unit, "_SYSTEMD_UNIT");
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->unit, "_SYSTEMD_UNIT"); /* Unit names are bounded by UNIT_NAME_MAX */
- IOVEC_ADD_STRING_FIELD(iovec, n, c->user_unit, "_SYSTEMD_USER_UNIT");
- IOVEC_ADD_STRING_FIELD(iovec, n, c->slice, "_SYSTEMD_SLICE");
- IOVEC_ADD_STRING_FIELD(iovec, n, c->user_slice, "_SYSTEMD_USER_SLICE");
-@@ -803,13 +807,14 @@ static void dispatch_message_real(
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->uid, uid_t, uid_is_valid, UID_FMT, "OBJECT_UID");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->gid, gid_t, gid_is_valid, GID_FMT, "OBJECT_GID");
-
-+ /* See above for size limits, only ->cmdline may be large, so use a heap allocation for it. */
- IOVEC_ADD_STRING_FIELD(iovec, n, o->comm, "OBJECT_COMM");
- IOVEC_ADD_STRING_FIELD(iovec, n, o->exe, "OBJECT_EXE");
-- IOVEC_ADD_STRING_FIELD(iovec, n, o->cmdline, "OBJECT_CMDLINE");
-- IOVEC_ADD_STRING_FIELD(iovec, n, o->capeff, "OBJECT_CAP_EFFECTIVE");
-+ if (o->cmdline)
-+ cmdline2 = set_iovec_string_field(iovec, &n, "OBJECT_CMDLINE=", o->cmdline);
-
-+ IOVEC_ADD_STRING_FIELD(iovec, n, o->capeff, "OBJECT_CAP_EFFECTIVE");
- IOVEC_ADD_SIZED_FIELD(iovec, n, o->label, o->label_size, "OBJECT_SELINUX_CONTEXT");
--
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->auditid, uint32_t, audit_session_is_valid, "%" PRIu32, "OBJECT_AUDIT_SESSION");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->loginuid, uid_t, uid_is_valid, UID_FMT, "OBJECT_AUDIT_LOGINUID");
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch b/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch
new file mode 100644
index 000000000..c2ae2bbb7
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/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 fdf1b4f..fa541f8 100644
+--- a/src/test/test-json.c
++++ b/src/test/test-json.c
+@@ -10,6 +10,10 @@
+ #include "strv.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.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0025-journald-set-a-limit-on-the-number-of-fields.patch b/poky/meta/recipes-core/systemd/systemd/0025-journald-set-a-limit-on-the-number-of-fields.patch
deleted file mode 100644
index ae9ef5de5..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0025-journald-set-a-limit-on-the-number-of-fields.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 7cad044b72406cbadf048da432c29afea74c3c10 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Wed, 5 Dec 2018 22:45:02 +0100
-Subject: [PATCH] journald: set a limit on the number of fields
-
-The fix for CVE-2018-16865 is plucked from two commits that have
-been pushed to systemd master.
-
-journald: set a limit on the number of fields (1k)
-
-We allocate a iovec entry for each field, so with many short entries,
-our memory usage and processing time can be large, even with a relatively
-small message size. Let's refuse overly long entries.
-
-CVE-2018-16865
-https://bugzilla.redhat.com/show_bug.cgi?id=1653861
-
-What from I can see, the problem is not from an alloca, despite what the CVE
-description says, but from the attack multiplication that comes from creating
-many very small iovecs: (void* + size_t) for each three bytes of input message.
-
-Patch backported from systemd master at
-052c57f132f04a3cf4148f87561618da1a6908b4.
-
-journal-remote: set a limit on the number of fields in a message
-
-Existing use of E2BIG is replaced with ENOBUFS (entry too long), and E2BIG is
-reused for the new error condition (too many fields).
-
-This matches the change done for systemd-journald, hence forming the second
-part of the fix for CVE-2018-16865
-(https://bugzilla.redhat.com/show_bug.cgi?id=1653861).
-
-Patch backported from systemd master at
-ef4d6abe7c7fab6cbff975b32e76b09feee56074.
-with the changes applied by 7fdb237f5473cb8fc2129e57e8a0039526dcb4fd
-removed.
-
-CVE: CVE-2018-16865
-Upstream-Status: Backport
-Signed-off-by: Marcus Cooper <marcusc@axis.com>
----
- src/basic/journal-importer.c | 5 ++++-
- src/basic/journal-importer.h | 3 +++
- src/journal-remote/journal-remote-main.c | 7 ++++++-
- src/journal-remote/journal-remote.c | 5 ++++-
- src/journal/journald-native.c | 5 +++++
- 5 files changed, 22 insertions(+), 3 deletions(-)
-
-diff --git a/src/basic/journal-importer.c b/src/basic/journal-importer.c
-index ca203bbbfc..3ac55a66d9 100644
---- a/src/basic/journal-importer.c
-+++ b/src/basic/journal-importer.c
-@@ -23,6 +23,9 @@ enum {
- };
-
- static int iovw_put(struct iovec_wrapper *iovw, void* data, size_t len) {
-+ if (iovw->count >= ENTRY_FIELD_COUNT_MAX)
-+ return -E2BIG;
-+
- if (!GREEDY_REALLOC(iovw->iovec, iovw->size_bytes, iovw->count + 1))
- return log_oom();
-
-@@ -98,7 +101,7 @@ static int get_line(JournalImporter *imp, char **line, size_t *size) {
- imp->scanned = imp->filled;
- if (imp->scanned >= DATA_SIZE_MAX) {
- log_error("Entry is bigger than %u bytes.", DATA_SIZE_MAX);
-- return -E2BIG;
-+ return -ENOBUFS;
- }
-
- if (imp->passive_fd)
-diff --git a/src/basic/journal-importer.h b/src/basic/journal-importer.h
-index f49ce734a1..c4ae45d32d 100644
---- a/src/basic/journal-importer.h
-+++ b/src/basic/journal-importer.h
-@@ -16,6 +16,9 @@
- #define DATA_SIZE_MAX (1024*1024*768u)
- #define LINE_CHUNK 8*1024u
-
-+/* The maximum number of fields in an entry */
-+#define ENTRY_FIELD_COUNT_MAX 1024
-+
- struct iovec_wrapper {
- struct iovec *iovec;
- size_t size_bytes;
-diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
-index 8fda9d1499..3a01fef646 100644
---- a/src/journal-remote/journal-remote-main.c
-+++ b/src/journal-remote/journal-remote-main.c
-@@ -212,7 +212,12 @@ static int process_http_upload(
- break;
- else if (r < 0) {
- log_warning("Failed to process data for connection %p", connection);
-- if (r == -E2BIG)
-+ if (r == -ENOBUFS)
-+ return mhd_respondf(connection,
-+ r, MHD_HTTP_PAYLOAD_TOO_LARGE,
-+ "Entry is above the maximum of %u, aborting connection %p.",
-+ DATA_SIZE_MAX, connection);
-+ else if (r == -E2BIG)
- return mhd_respondf(connection,
- r, MHD_HTTP_PAYLOAD_TOO_LARGE,
- "Entry is too large, maximum is " STRINGIFY(DATA_SIZE_MAX) " bytes.");
-diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c
-index beb75a1cb4..67e3a70c06 100644
---- a/src/journal-remote/journal-remote.c
-+++ b/src/journal-remote/journal-remote.c
-@@ -408,7 +408,10 @@ int journal_remote_handle_raw_source(
- log_debug("%zu active sources remaining", s->active);
- return 0;
- } else if (r == -E2BIG) {
-- log_notice_errno(E2BIG, "Entry too big, skipped");
-+ log_notice("Entry with too many fields, skipped");
-+ return 1;
-+ } else if (r == -ENOBUFS) {
-+ log_notice("Entry too big, skipped");
- return 1;
- } else if (r == -EAGAIN) {
- return 0;
-diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c
-index 5ff22a10af..951d092053 100644
---- a/src/journal/journald-native.c
-+++ b/src/journal/journald-native.c
-@@ -140,6 +140,11 @@ static int server_process_entry(
- }
-
- /* A property follows */
-+ if (n > ENTRY_FIELD_COUNT_MAX) {
-+ log_debug("Received an entry that has more than " STRINGIFY(ENTRY_FIELD_COUNT_MAX) " fields, ignoring entry.");
-+ r = 1;
-+ goto finish;
-+ }
-
- /* n existing properties, 1 new, +1 for _TRANSPORT */
- if (!GREEDY_REALLOC(iovec, m,
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch b/poky/meta/recipes-core/systemd/systemd/0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch
deleted file mode 100644
index 3925a4abb..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From ebd06c37d4311db9851f4d3fdd023de3dd590de0 Mon Sep 17 00:00:00 2001
-From: Filipe Brandenburger <filbranden@google.com>
-Date: Thu, 10 Jan 2019 14:53:33 -0800
-Subject: [PATCH] journal: fix out-of-bounds read CVE-2018-16866
-
-The original code didn't account for the fact that strchr() would match on the
-'\0' character, making it read past the end of the buffer if no non-whitespace
-character was present.
-
-This bug was introduced in commit ec5ff4445cca6a which was first released in
-systemd v221 and later fixed in commit 8595102d3ddde6 which was released in
-v240, so versions in the range [v221, v240) are affected.
-
-Patch backported from systemd-stable at f005e73d3723d62a39be661931fcb6347119b52b
-also includes a change from systemd master which removes a heap buffer overflow
-a6aadf4ae0bae185dc4c414d492a4a781c80ffe5.
-
-CVE: CVE-2018-16866
-Upstream-Status: Backport
-Signed-off-by: Marcus Cooper <marcusc@axis.com>
----
- src/journal/journald-syslog.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c
-index 9dea116722..809b318c06 100644
---- a/src/journal/journald-syslog.c
-+++ b/src/journal/journald-syslog.c
-@@ -194,7 +194,7 @@ size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid)
- e = l;
- l--;
-
-- if (p[l-1] == ']') {
-+ if (l > 0 && p[l-1] == ']') {
- size_t k = l-1;
-
- for (;;) {
-@@ -219,7 +219,7 @@ size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid)
- if (t)
- *identifier = t;
-
-- if (strchr(WHITESPACE, p[e]))
-+ if (p[e] != '\0' && strchr(WHITESPACE, p[e]))
- e++;
- *buf = p + e;
- return e;
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/CVE-2019-6454.patch b/poky/meta/recipes-core/systemd/systemd/CVE-2019-6454.patch
deleted file mode 100644
index 80170dac0..000000000
--- a/poky/meta/recipes-core/systemd/systemd/CVE-2019-6454.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-Description: sd-bus: enforce a size limit for dbus paths, and don't allocate
- them on the stacka
-Forwarded: no
-
-Patch from: systemd_239-7ubuntu10.8
-
-For information see:
-https://usn.ubuntu.com/3891-1/
-https://git.launchpad.net/ubuntu/+source/systemd/commit/?id=f8e75d5634904c8e672658856508c3a02f349adb
-
-CVE: CVE-2019-6454
-Upstream-Status: Backport
-
-Signed-off-by: George McCollister <george.mccollister@gmail.com>
-
---- a/src/libsystemd/sd-bus/bus-internal.c
-+++ b/src/libsystemd/sd-bus/bus-internal.c
-@@ -45,7 +45,7 @@
- if (slash)
- return false;
-
-- return true;
-+ return (q - p) <= BUS_PATH_SIZE_MAX;
- }
-
- char* object_path_startswith(const char *a, const char *b) {
---- a/src/libsystemd/sd-bus/bus-internal.h
-+++ b/src/libsystemd/sd-bus/bus-internal.h
-@@ -333,6 +333,10 @@
-
- #define BUS_MESSAGE_SIZE_MAX (128*1024*1024)
- #define BUS_AUTH_SIZE_MAX (64*1024)
-+/* Note that the D-Bus specification states that bus paths shall have no size limit. We enforce here one
-+ * anyway, since truly unbounded strings are a security problem. The limit we pick is relatively large however,
-+ * to not clash unnecessarily with real-life applications. */
-+#define BUS_PATH_SIZE_MAX (64*1024)
-
- #define BUS_CONTAINER_DEPTH 128
-
---- a/src/libsystemd/sd-bus/bus-objects.c
-+++ b/src/libsystemd/sd-bus/bus-objects.c
-@@ -1134,7 +1134,8 @@
- const char *path,
- sd_bus_error *error) {
-
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
- int r;
-
- assert(bus);
-@@ -1150,7 +1151,12 @@
- return 0;
-
- /* Second, add fallback vtables registered for any of the prefixes */
-- prefix = alloca(strlen(path) + 1);
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = object_manager_serialize_path(bus, reply, prefix, path, true, error);
- if (r < 0)
-@@ -1346,6 +1352,7 @@
- }
-
- int bus_process_object(sd_bus *bus, sd_bus_message *m) {
-+ _cleanup_free_ char *prefix = NULL;
- int r;
- size_t pl;
- bool found_object = false;
-@@ -1370,9 +1377,12 @@
- assert(m->member);
-
- pl = strlen(m->path);
-- do {
-- char prefix[pl+1];
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-
-+ do {
- bus->nodes_modified = false;
-
- r = object_find_and_run(bus, m, m->path, false, &found_object);
-@@ -1499,9 +1509,15 @@
-
- n = hashmap_get(bus->nodes, path);
- if (!n) {
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
-+
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-
-- prefix = alloca(strlen(path) + 1);
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- n = hashmap_get(bus->nodes, prefix);
- if (n)
-@@ -2091,8 +2107,9 @@
- char **names) {
-
- BUS_DONT_DESTROY(bus);
-+ _cleanup_free_ char *prefix = NULL;
- bool found_interface = false;
-- char *prefix;
-+ size_t pl;
- int r;
-
- assert_return(bus, -EINVAL);
-@@ -2111,6 +2128,12 @@
- if (names && names[0] == NULL)
- return 0;
-
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- do {
- bus->nodes_modified = false;
-
-@@ -2120,7 +2143,6 @@
- if (bus->nodes_modified)
- continue;
-
-- prefix = alloca(strlen(path) + 1);
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = emit_properties_changed_on_interface(bus, prefix, path, interface, true, &found_interface, names);
- if (r != 0)
-@@ -2252,7 +2274,8 @@
-
- static int object_added_append_all(sd_bus *bus, sd_bus_message *m, const char *path) {
- _cleanup_set_free_ Set *s = NULL;
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
- int r;
-
- assert(bus);
-@@ -2297,7 +2320,12 @@
- if (bus->nodes_modified)
- return 0;
-
-- prefix = alloca(strlen(path) + 1);
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = object_added_append_all_prefix(bus, m, s, prefix, path, true);
- if (r < 0)
-@@ -2436,7 +2464,8 @@
-
- static int object_removed_append_all(sd_bus *bus, sd_bus_message *m, const char *path) {
- _cleanup_set_free_ Set *s = NULL;
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
- int r;
-
- assert(bus);
-@@ -2468,7 +2497,12 @@
- if (bus->nodes_modified)
- return 0;
-
-- prefix = alloca(strlen(path) + 1);
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = object_removed_append_all_prefix(bus, m, s, prefix, path, true);
- if (r < 0)
-@@ -2618,7 +2652,8 @@
- const char *path,
- const char *interface) {
-
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
- int r;
-
- assert(bus);
-@@ -2632,7 +2667,12 @@
- if (bus->nodes_modified)
- return 0;
-
-- prefix = alloca(strlen(path) + 1);
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = interfaces_added_append_one_prefix(bus, m, prefix, path, interface, true);
- if (r != 0)
diff --git a/poky/meta/recipes-core/systemd/systemd/sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch b/poky/meta/recipes-core/systemd/systemd/sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch
deleted file mode 100644
index 57311faa6..000000000
--- a/poky/meta/recipes-core/systemd/systemd/sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Description: sd-bus: if we receive an invalid dbus message, ignore and
- proceeed
- .
- dbus-daemon might have a slightly different idea of what a valid msg is
- than us (for example regarding valid msg and field sizes). Let's hence
- try to proceed if we can and thus drop messages rather than fail the
- connection if we fail to validate a message.
- .
- Hopefully the differences in what is considered valid are not visible
- for real-life usecases, but are specific to exploit attempts only.
-Author: Lennart Poettering <lennart@poettering.net>
-Forwarded: other,https://github.com/systemd/systemd/pull/11708/
-
-Patch from: systemd_239-7ubuntu10.8
-
-For information see:
-https://usn.ubuntu.com/3891-1/
-https://git.launchpad.net/ubuntu/+source/systemd/commit/?id=f8e75d5634904c8e672658856508c3a02f349adb
-
-CVE: CVE-2019-6454
-Upstream-Status: Backport
-
-Signed-off-by: George McCollister <george.mccollister@gmail.com>
-
-diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
-index 30d6455b6f..441b4a816f 100644
---- a/src/libsystemd/sd-bus/bus-socket.c
-+++ b/src/libsystemd/sd-bus/bus-socket.c
-@@ -1072,7 +1072,7 @@ static int bus_socket_read_message_need(sd_bus *bus, size_t *need) {
- }
-
- static int bus_socket_make_message(sd_bus *bus, size_t size) {
-- sd_bus_message *t;
-+ sd_bus_message *t = NULL;
- void *b;
- int r;
-
-@@ -1097,7 +1097,9 @@ static int bus_socket_make_message(sd_bus *bus, size_t size) {
- bus->fds, bus->n_fds,
- NULL,
- &t);
-- if (r < 0) {
-+ if (r == -EBADMSG)
-+ log_debug_errno(r, "Received invalid message from connection %s, dropping.", strna(bus->description));
-+ else if (r < 0) {
- free(b);
- return r;
- }
-@@ -1108,7 +1110,8 @@ static int bus_socket_make_message(sd_bus *bus, size_t size) {
- bus->fds = NULL;
- bus->n_fds = 0;
-
-- bus->rqueue[bus->rqueue_size++] = t;
-+ if (t)
-+ bus->rqueue[bus->rqueue_size++] = t;
-
- return 1;
- }
---
-2.17.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd_239.bb b/poky/meta/recipes-core/systemd/systemd_239.bb
deleted file mode 100644
index 7fbd64ced..000000000
--- a/poky/meta/recipes-core/systemd/systemd_239.bb
+++ /dev/null
@@ -1,666 +0,0 @@
-require systemd.inc
-
-PROVIDES = "udev"
-
-PE = "1"
-
-DEPENDS = "intltool-native gperf-native libcap util-linux"
-
-SECTION = "base/shell"
-
-inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages distro_features_check
-
-# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
-# that we don't build both udev and systemd in world builds.
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-SRC_URI += "file://touchscreen.rules \
- file://00-create-volatile.conf \
- file://init \
- file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
- file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
- file://0003-implment-systemd-sysv-install-for-OE.patch \
- file://0004-rules-whitelist-hd-devices.patch \
- file://0005-Make-root-s-home-directory-configurable.patch \
- file://0006-remove-nobody-user-group-checking.patch \
- file://0007-rules-watch-metadata-changes-in-ide-devices.patch \
- file://0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch \
- file://0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch \
- file://0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch \
- file://0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch \
- file://0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch \
- file://0023-resolvconf-fixes-for-the-compatibility-interface.patch \
- file://0001-core-when-deserializing-state-always-use-read_line-L.patch \
- file://0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch \
- file://0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch \
- file://0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch \
- file://0001-timesync-changes-type-of-drift_freq-to-int64_t.patch \
- file://0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch \
- file://0002-core-Fix-use-after-free-case-in-load_from_path.patch \
- file://0001-meson-rename-Ddebug-to-Ddebug-extra.patch \
- file://0024-journald-do-not-store-the-iovec-entry-for-process-co.patch \
- file://0025-journald-set-a-limit-on-the-number-of-fields.patch \
- file://0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch \
- file://CVE-2019-6454.patch \
- file://sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch \
- "
-
-# patches made for musl are only applied on TCLIBC is musl
-SRC_URI += "${SRC_URI_MUSL}"
-SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.patch \
- file://0002-don-t-use-glibc-specific-qsort_r.patch \
- file://0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch \
- file://0004-add-fallback-parse_printf_format-implementation.patch \
- file://0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch \
- file://0006-src-basic-missing.h-check-for-missing-strndupa.patch \
- file://0007-Include-netinet-if_ether.h.patch \
- file://0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
- file://0009-add-missing-FTW_-macros-for-musl.patch \
- file://0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
- file://0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch \
- file://0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
- file://0013-Use-uintmax_t-for-handling-rlim_t.patch \
- file://0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \
- file://0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch \
- file://0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
- file://0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
- file://0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
- file://0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
- file://0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
- file://0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
- "
-
-# Workaround undefined reference to `__stack_chk_fail_local' on qemux86 and qemuppc for musl
-SRC_URI_append_libc-musl_qemux86 = " file://0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch"
-SRC_URI_append_libc-musl_qemuppc = " file://0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch"
-
-PAM_PLUGINS = " \
- pam-plugin-unix \
- pam-plugin-loginuid \
- pam-plugin-keyinit \
-"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'efi ldconfig pam selinux usrmerge', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
- acl \
- backlight \
- binfmt \
- firstboot \
- gshadow \
- hibernate \
- hostnamed \
- ima \
- kmod \
- localed \
- logind \
- machined \
- myhostname \
- networkd \
- nss \
- polkit \
- quotacheck \
- randomseed \
- resolved \
- smack \
- sysusers \
- timedated \
- timesyncd \
- utmp \
- vconsole \
- xz \
-"
-
-PACKAGECONFIG_remove_libc-musl = " \
- gshadow \
- localed \
- myhostname \
- nss \
- resolved \
- selinux \
- smack \
- sysusers \
- utmp \
-"
-
-# Use the upstream systemd serial-getty@.service and rely on
-# systemd-getty-generator instead of using the OE-core specific
-# systemd-serialgetty.bb - not enabled by default.
-PACKAGECONFIG[serial-getty-generator] = ""
-
-PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl"
-PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit"
-PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
-PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
-PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
-PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
-PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup"
-PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
-PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
-PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
-PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
-# Sign the journal for anti-tampering
-PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
-PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
-PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
-PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false"
-PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false"
-PACKAGECONFIG[ima] = "-Dima=true,-Dima=false"
-# importd requires curl/xz/zlib/bzip2/gcrypt
-PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false"
-# Update NAT firewall rules
-PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables"
-PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl"
-PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod"
-PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false"
-PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn"
-PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
-PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
-PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
-PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
-PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
-PACKAGECONFIG[myhostname] = "-Dmyhostname=true,-Dmyhostname=false"
-PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
-PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
-PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}"
-PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false"
-PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false"
-PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode"
-PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
-PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
-PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false"
-PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
-# libseccomp is found in meta-security
-PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
-PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
-PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
-PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
-PACKAGECONFIG[time-epoch] = "-Dtime-epoch=0,,"
-PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false"
-PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false"
-PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true"
-PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true"
-PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false"
-PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind"
-PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup"
-# Verify keymaps on locale change
-PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon"
-PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz"
-PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib"
-
-# Helper variables to clarify locations. This mirrors the logic in systemd's
-# build system.
-rootprefix ?= "${root_prefix}"
-rootlibdir ?= "${base_libdir}"
-rootlibexecdir = "${rootprefix}/lib"
-
-# This links udev statically with systemd helper library.
-# Otherwise udev package would depend on systemd package (which has the needed shared library),
-# and always pull it into images.
-EXTRA_OEMESON += "-Dlink-udev-shared=false"
-
-EXTRA_OEMESON += "-Dnobody-user=nobody \
- -Dnobody-group=nobody \
- -Droothomedir=${ROOT_HOME} \
- -Drootlibdir=${rootlibdir} \
- -Drootprefix=${rootprefix} \
- -Dsysvrcnd-path=${sysconfdir} \
- "
-
-# Hardcode target binary paths to avoid using paths from sysroot
-EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
- -Dkill-path=${base_bindir}/kill \
- -Dkmod-path=${base_bindir}/kmod \
- -Dmount-path=${base_bindir}/mount \
- -Dquotacheck-path=${sbindir}/quotacheck \
- -Dquotaon-path=${sbindir}/quotaon \
- -Dsulogin-path=${base_sbindir}/sulogin \
- -Dumount-path=${base_bindir}/umount"
-
-do_install() {
- meson_do_install
- install -d ${D}/${base_sbindir}
- if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
- # Provided by a separate recipe
- rm ${D}${systemd_unitdir}/system/serial-getty* -f
- fi
-
- # Provide support for initramfs
- [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init
- [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd
-
- install -d ${D}${sysconfdir}/udev/rules.d/
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 ${B}/src/udev/udev.pc ${D}${libdir}/pkgconfig/
-
- install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
-
- 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/systemd-udevd
- sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
- fi
-
- chown root:systemd-journal ${D}/${localstatedir}/log/journal
-
- # Delete journal README, as log can be symlinked inside volatile.
- rm -f ${D}/${localstatedir}/log/README
-
- # journal-remote creates this at start
- rm -rf ${D}/${localstatedir}/log/journal/remote
-
- install -d ${D}${systemd_unitdir}/system/graphical.target.wants
- install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
- install -d ${D}${systemd_unitdir}/system/poweroff.target.wants
- install -d ${D}${systemd_unitdir}/system/reboot.target.wants
- install -d ${D}${systemd_unitdir}/system/rescue.target.wants
-
- # Create symlinks for systemd-update-utmp-runlevel.service
- if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service
- fi
-
- # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
- # for existence else it fails
- if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
- ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)}
- fi
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
- echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
- echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
- echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
- ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
- else
- sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
- ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
- fi
- install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
-
- # If polkit is setup fixup permissions and ownership
- if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
- if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
- chmod 700 ${D}${datadir}/polkit-1/rules.d
- chown polkitd:root ${D}${datadir}/polkit-1/rules.d
- fi
- fi
-
- # conf files are handled by systemd-conf
- rm -f ${D}${sysconfdir}/machine-id
- rm -f ${D}${sysconfdir}/systemd/coredump.conf
- rm -f ${D}${sysconfdir}/systemd/journald.conf
- rm -f ${D}${sysconfdir}/systemd/logind.conf
- rm -f ${D}${sysconfdir}/systemd/system.conf
- rm -f ${D}${sysconfdir}/systemd/user.conf
-
- # duplicate udevadm for postinst script
- install -d ${D}${libexecdir}
- ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
-}
-
-
-python populate_packages_prepend (){
- systemdlibdir = d.getVar("rootlibdir")
- do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
-}
-PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
-
-PACKAGES =+ "\
- ${PN}-gui \
- ${PN}-vconsole-setup \
- ${PN}-initramfs \
- ${PN}-analyze \
- ${PN}-kernel-install \
- ${PN}-rpm-macros \
- ${PN}-binfmt \
- ${PN}-zsh-completion \
- ${PN}-xorg-xinitrc \
- ${PN}-container \
- ${PN}-journal-gatewayd \
- ${PN}-journal-upload \
- ${PN}-journal-remote \
- ${PN}-extra-utils \
-"
-
-SUMMARY_${PN}-container = "Tools for containers and VMs"
-DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines."
-
-SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events"
-DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default."
-
-SUMMARY_${PN}-journal-upload = "Send journal messages over the network"
-DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL."
-
-SUMMARY_${PN}-journal-remote = "Receive journal messages over the network"
-DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
-"
-SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
-
-USERADD_PACKAGES = "${PN} ${PN}-extra-utils \
- ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
-"
-GROUPADD_PARAM_${PN} = "-r systemd-journal"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /bin/nologin systemd-coredump;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /bin/nologin systemd-network;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /bin/nologin systemd-timesync;', '', d)}"
-USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /bin/nologin systemd-bus-proxy"
-USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /bin/nologin systemd-journal-gateway"
-USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /bin/nologin systemd-journal-remote"
-USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /bin/nologin systemd-journal-upload"
-
-FILES_${PN}-analyze = "${bindir}/systemd-analyze"
-
-FILES_${PN}-initramfs = "/init"
-RDEPENDS_${PN}-initramfs = "${PN}"
-
-FILES_${PN}-gui = "${bindir}/systemadm"
-
-FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
- ${systemd_unitdir}/system/systemd-vconsole-setup.service \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
-
-RDEPENDS_${PN}-kernel-install += "bash"
-FILES_${PN}-kernel-install = "${bindir}/kernel-install \
- ${sysconfdir}/kernel/ \
- ${exec_prefix}/lib/kernel \
- "
-FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
- "
-
-FILES_${PN}-xorg-xinitrc = "${sysconfdir}/X11/xinit/xinitrc.d/*"
-
-FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
-
-FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
- ${exec_prefix}/lib/binfmt.d \
- ${rootlibexecdir}/systemd/systemd-binfmt \
- ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
- ${systemd_unitdir}/system/systemd-binfmt.service"
-RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
-
-RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
-
-
-FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
- ${systemd_system_unitdir}/systemd-journal-gatewayd.service \
- ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \
- ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \
- ${datadir}/systemd/gatewayd/browse.html \
- "
-SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket"
-
-FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \
- ${systemd_system_unitdir}/systemd-journal-upload.service \
- ${sysconfdir}/systemd/journal-upload.conf \
- "
-SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service"
-
-FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
- ${sysconfdir}/systemd/journal-remote.conf \
- ${systemd_system_unitdir}/systemd-journal-remote.service \
- ${systemd_system_unitdir}/systemd-journal-remote.socket \
- "
-SYSTEMD_SERVICE_${PN}-remote = "systemd-journal-remote.socket"
-
-
-FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
- ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
- ${base_bindir}/machinectl \
- ${bindir}/systemd-nspawn \
- ${nonarch_libdir}/systemd/import-pubring.gpg \
- ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \
- ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \
- ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \
- ${systemd_system_unitdir}/machine.slice \
- ${systemd_system_unitdir}/machines.target \
- ${systemd_system_unitdir}/org.freedesktop.import1.busname \
- ${systemd_system_unitdir}/org.freedesktop.machine1.busname \
- ${systemd_system_unitdir}/systemd-importd.service \
- ${systemd_system_unitdir}/systemd-machined.service \
- ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \
- ${systemd_system_unitdir}/var-lib-machines.mount \
- ${rootlibexecdir}/systemd/systemd-import \
- ${rootlibexecdir}/systemd/systemd-importd \
- ${rootlibexecdir}/systemd/systemd-machined \
- ${rootlibexecdir}/systemd/systemd-pull \
- ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
- ${systemd_system_unitdir}/systemd-nspawn@.service \
- ${libdir}/libnss_mymachines.so.2 \
- ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
- ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
- ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \
- ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \
- ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \
- "
-
-RRECOMMENDS_${PN}-container += "\
- ${PN}-journal-upload \
- ${PN}-journal-remote \
- ${PN}-journal-gatewayd \
- "
-
-FILES_${PN}-extra-utils = "\
- ${base_bindir}/systemd-escape \
- ${base_bindir}/systemd-inhibit \
- ${bindir}/systemd-detect-virt \
- ${bindir}/systemd-path \
- ${bindir}/systemd-run \
- ${bindir}/systemd-cat \
- ${bindir}/systemd-delta \
- ${bindir}/systemd-cgls \
- ${bindir}/systemd-cgtop \
- ${bindir}/systemd-stdio-bridge \
- ${base_bindir}/systemd-ask-password \
- ${base_bindir}/systemd-tty-ask-password-agent \
- ${systemd_unitdir}/system/systemd-ask-password-console.path \
- ${systemd_unitdir}/system/systemd-ask-password-console.service \
- ${systemd_unitdir}/system/systemd-ask-password-wall.path \
- ${systemd_unitdir}/system/systemd-ask-password-wall.service \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \
- ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
- ${rootlibexecdir}/systemd/systemd-resolve-host \
- ${rootlibexecdir}/systemd/systemd-ac-power \
- ${rootlibexecdir}/systemd/systemd-activate \
- ${rootlibexecdir}/systemd/systemd-bus-proxyd \
- ${systemd_unitdir}/system/systemd-bus-proxyd.service \
- ${systemd_unitdir}/system/systemd-bus-proxyd.socket \
- ${rootlibexecdir}/systemd/systemd-socket-proxyd \
- ${rootlibexecdir}/systemd/systemd-reply-password \
- ${rootlibexecdir}/systemd/systemd-sleep \
- ${rootlibexecdir}/systemd/system-sleep \
- ${systemd_unitdir}/system/systemd-hibernate.service \
- ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
- ${systemd_unitdir}/system/systemd-suspend.service \
- ${systemd_unitdir}/system/sleep.target \
- ${rootlibexecdir}/systemd/systemd-initctl \
- ${systemd_unitdir}/system/systemd-initctl.service \
- ${systemd_unitdir}/system/systemd-initctl.socket \
- ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
- ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
- ${rootlibexecdir}/systemd/systemd-cgroups-agent \
-"
-
-FILES_${PN} = " ${base_bindir}/* \
- ${base_sbindir}/shutdown \
- ${base_sbindir}/halt \
- ${base_sbindir}/poweroff \
- ${base_sbindir}/runlevel \
- ${base_sbindir}/telinit \
- ${base_sbindir}/resolvconf \
- ${base_sbindir}/reboot \
- ${base_sbindir}/init \
- ${datadir}/dbus-1/services \
- ${datadir}/dbus-1/system-services \
- ${datadir}/polkit-1 \
- ${datadir}/${BPN} \
- ${datadir}/factory \
- ${sysconfdir}/dbus-1/ \
- ${sysconfdir}/modules-load.d/ \
- ${sysconfdir}/pam.d/ \
- ${sysconfdir}/sysctl.d/ \
- ${sysconfdir}/systemd/ \
- ${sysconfdir}/tmpfiles.d/ \
- ${sysconfdir}/xdg/ \
- ${sysconfdir}/init.d/README \
- ${sysconfdir}/resolv-conf.systemd \
- ${rootlibexecdir}/systemd/* \
- ${systemd_unitdir}/* \
- ${base_libdir}/security/*.so \
- /cgroup \
- ${bindir}/systemd* \
- ${bindir}/busctl \
- ${bindir}/coredumpctl \
- ${bindir}/localectl \
- ${bindir}/hostnamectl \
- ${bindir}/resolvectl \
- ${bindir}/timedatectl \
- ${bindir}/bootctl \
- ${bindir}/kernel-install \
- ${exec_prefix}/lib/tmpfiles.d/*.conf \
- ${exec_prefix}/lib/systemd \
- ${exec_prefix}/lib/modules-load.d \
- ${exec_prefix}/lib/sysctl.d \
- ${exec_prefix}/lib/sysusers.d \
- ${exec_prefix}/lib/environment.d \
- ${localstatedir} \
- ${nonarch_base_libdir}/udev/rules.d/70-uaccess.rules \
- ${nonarch_base_libdir}/udev/rules.d/71-seat.rules \
- ${nonarch_base_libdir}/udev/rules.d/73-seat-late.rules \
- ${nonarch_base_libdir}/udev/rules.d/99-systemd.rules \
- ${nonarch_base_libdir}/modprobe.d/systemd.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \
- "
-
-FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
-
-RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck"
-RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
-RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf"
-
-RRECOMMENDS_${PN} += "systemd-extra-utils \
- systemd-compat-units udev-hwdb \
- e2fsprogs-e2fsck \
- kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 \
- os-release \
-"
-
-INSANE_SKIP_${PN} += "dev-so libdir"
-INSANE_SKIP_${PN}-dbg += "libdir"
-INSANE_SKIP_${PN}-doc += " libdir"
-
-PACKAGES =+ "udev udev-hwdb"
-
-RPROVIDES_udev = "hotplug"
-
-RDEPENDS_udev-hwdb += "udev"
-
-FILES_udev += "${base_sbindir}/udevd \
- ${rootlibexecdir}/systemd/systemd-udevd \
- ${rootlibexecdir}/udev/accelerometer \
- ${rootlibexecdir}/udev/ata_id \
- ${rootlibexecdir}/udev/cdrom_id \
- ${rootlibexecdir}/udev/collect \
- ${rootlibexecdir}/udev/findkeyboards \
- ${rootlibexecdir}/udev/keyboard-force-release.sh \
- ${rootlibexecdir}/udev/keymap \
- ${rootlibexecdir}/udev/mtd_probe \
- ${rootlibexecdir}/udev/scsi_id \
- ${rootlibexecdir}/udev/v4l_id \
- ${rootlibexecdir}/udev/keymaps \
- ${rootlibexecdir}/udev/rules.d/*.rules \
- ${sysconfdir}/udev \
- ${sysconfdir}/init.d/systemd-udevd \
- ${systemd_unitdir}/system/*udev* \
- ${systemd_unitdir}/system/*.wants/*udev* \
- ${base_bindir}/udevadm \
- ${libexecdir}/${MLPREFIX}udevadm \
- ${datadir}/bash-completion/completions/udevadm \
- "
-
-FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d"
-
-INITSCRIPT_PACKAGES = "udev"
-INITSCRIPT_NAME_udev = "systemd-udevd"
-INITSCRIPT_PARAMS_udev = "start 03 S ."
-
-python __anonymous() {
- if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
-
-ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel resolv-conf"
-
-ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
-ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"
-ALTERNATIVE_PRIORITY[resolv-conf] ?= "50"
-
-ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
-ALTERNATIVE_PRIORITY[halt] ?= "300"
-
-ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
-ALTERNATIVE_PRIORITY[reboot] ?= "300"
-
-ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
-ALTERNATIVE_PRIORITY[shutdown] ?= "300"
-
-ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
-ALTERNATIVE_PRIORITY[poweroff] ?= "300"
-
-ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
-ALTERNATIVE_PRIORITY[runlevel] ?= "300"
-
-pkg_postinst_${PN} () {
- sed -e '/^hosts:/s/\s*\<myhostname\>//' \
- -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \
- -i $D${sysconfdir}/nsswitch.conf
-}
-
-pkg_prerm_${PN} () {
- sed -e '/^hosts:/s/\s*\<myhostname\>//' \
- -e '/^hosts:/s/\s*myhostname//' \
- -i $D${sysconfdir}/nsswitch.conf
-}
-
-PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_udev-hwdb () {
- if test -n "$D"; then
- $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
- else
- udevadm hwdb --update
- fi
-}
-
-pkg_prerm_udev-hwdb () {
- rm -f $D${sysconfdir}/udev/hwdb.bin
-}
diff --git a/poky/meta/recipes-core/systemd/systemd_241.bb b/poky/meta/recipes-core/systemd/systemd_241.bb
new file mode 100644
index 000000000..bfbfc8133
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd_241.bb
@@ -0,0 +1,651 @@
+require systemd.inc
+
+PROVIDES = "udev"
+
+PE = "1"
+
+DEPENDS = "intltool-native gperf-native libcap util-linux"
+
+SECTION = "base/shell"
+
+inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages distro_features_check
+
+# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
+# that we don't build both udev and systemd in world builds.
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SRC_URI += "file://touchscreen.rules \
+ file://00-create-volatile.conf \
+ file://init \
+ file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
+ file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
+ file://0003-implment-systemd-sysv-install-for-OE.patch \
+ file://0004-rules-whitelist-hd-devices.patch \
+ file://0005-rules-watch-metadata-changes-in-ide-devices.patch \
+ file://0001-meson-declare-version.h-as-dep-for-various-targets-t.patch \
+ file://0001-meson-declare-version.h-as-dependency-for-systemd.patch \
+ "
+
+# patches needed by musl
+SRC_URI += "${SRC_URI_MUSL}"
+SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.patch \
+ 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://0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
+ file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
+ file://0011-Use-uintmax_t-for-handling-rlim_t.patch \
+ file://0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \
+ file://0013-test-hexdecoct.c-Include-missing.h-for-strndupa.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://0022-include-sys-wait.h-to-avoid-compile-failure.patch \
+ file://0023-socket-util.h-include-string.h.patch \
+ file://0024-test-json.c-define-M_PIl.patch \
+ file://0001-do-not-disable-buffer-in-writing-files.patch \
+ "
+
+PAM_PLUGINS = " \
+ pam-plugin-unix \
+ pam-plugin-loginuid \
+ pam-plugin-keyinit \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'efi ldconfig pam selinux usrmerge polkit', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
+ acl \
+ backlight \
+ binfmt \
+ firstboot \
+ gshadow \
+ hibernate \
+ hostnamed \
+ ima \
+ kmod \
+ localed \
+ logind \
+ machined \
+ myhostname \
+ networkd \
+ nss \
+ nss-mymachines \
+ nss-resolve \
+ quotacheck \
+ randomseed \
+ resolved \
+ smack \
+ sysusers \
+ timedated \
+ timesyncd \
+ utmp \
+ vconsole \
+ xz \
+"
+
+PACKAGECONFIG_remove_libc-musl = " \
+ gshadow \
+ localed \
+ myhostname \
+ nss \
+ nss-mymachines \
+ nss-resolve \
+ resolved \
+ smack \
+ sysusers \
+ utmp \
+"
+
+# Use the upstream systemd serial-getty@.service and rely on
+# systemd-getty-generator instead of using the OE-core specific
+# systemd-serialgetty.bb - not enabled by default.
+PACKAGECONFIG[serial-getty-generator] = ""
+
+PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl"
+PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit"
+PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
+PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
+PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
+PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
+PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup"
+PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
+PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
+PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
+PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
+# Sign the journal for anti-tampering
+PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
+PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
+PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
+PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false"
+PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false"
+PACKAGECONFIG[ima] = "-Dima=true,-Dima=false"
+# importd requires curl/xz/zlib/bzip2/gcrypt
+PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false"
+# Update NAT firewall rules
+PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables"
+PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl"
+PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod"
+PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false"
+PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn"
+PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
+PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
+PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
+PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
+PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false"
+PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
+PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
+PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false"
+PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false"
+PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl"
+PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}"
+PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2"
+PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false"
+PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false"
+PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode"
+PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
+PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
+PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false"
+PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
+# libseccomp is found in meta-security
+PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
+PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
+PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
+PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
+PACKAGECONFIG[time-epoch] = "-Dtime-epoch=0,,"
+PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false"
+PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false"
+PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true"
+PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true"
+PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false"
+PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind"
+PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup"
+# Verify keymaps on locale change
+PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon"
+PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz"
+PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib"
+
+# Helper variables to clarify locations. This mirrors the logic in systemd's
+# build system.
+rootprefix ?= "${root_prefix}"
+rootlibdir ?= "${base_libdir}"
+rootlibexecdir = "${rootprefix}/lib"
+
+# This links udev statically with systemd helper library.
+# Otherwise udev package would depend on systemd package (which has the needed shared library),
+# and always pull it into images.
+EXTRA_OEMESON += "-Dlink-udev-shared=false"
+
+EXTRA_OEMESON += "-Dnobody-user=nobody \
+ -Dnobody-group=nobody \
+ -Drootlibdir=${rootlibdir} \
+ -Drootprefix=${rootprefix} \
+ -Dsysvrcnd-path=${sysconfdir} \
+ "
+
+# Hardcode target binary paths to avoid using paths from sysroot
+EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
+ -Dkmod-path=${base_bindir}/kmod \
+ -Dmount-path=${base_bindir}/mount \
+ -Dquotacheck-path=${sbindir}/quotacheck \
+ -Dquotaon-path=${sbindir}/quotaon \
+ -Dsulogin-path=${base_sbindir}/sulogin \
+ -Dumount-path=${base_bindir}/umount"
+
+do_install() {
+ meson_do_install
+ install -d ${D}/${base_sbindir}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
+ # Provided by a separate recipe
+ rm ${D}${systemd_unitdir}/system/serial-getty* -f
+ fi
+
+ # Provide support for initramfs
+ [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init
+ [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
+ install -d ${D}${libdir}/pkgconfig
+ install -m 0644 ${B}/src/udev/udev.pc ${D}${libdir}/pkgconfig/
+
+ install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+
+ 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/systemd-udevd
+ sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
+ fi
+
+ chown root:systemd-journal ${D}/${localstatedir}/log/journal
+
+ # Delete journal README, as log can be symlinked inside volatile.
+ rm -f ${D}/${localstatedir}/log/README
+
+ # journal-remote creates this at start
+ rm -rf ${D}/${localstatedir}/log/journal/remote
+
+ install -d ${D}${systemd_unitdir}/system/graphical.target.wants
+ install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
+ install -d ${D}${systemd_unitdir}/system/poweroff.target.wants
+ install -d ${D}${systemd_unitdir}/system/reboot.target.wants
+ install -d ${D}${systemd_unitdir}/system/rescue.target.wants
+
+ # Create symlinks for systemd-update-utmp-runlevel.service
+ if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service
+ fi
+
+ # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
+ # for existence else it fails
+ if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
+ ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)}
+ fi
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
+ echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
+ echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
+ echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
+ ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
+ else
+ sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
+ ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
+ fi
+ install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
+
+ # If polkit is setup fixup permissions and ownership
+ if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
+ if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
+ chmod 700 ${D}${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}${datadir}/polkit-1/rules.d
+ fi
+ fi
+
+ # conf files are handled by systemd-conf
+ rm -f ${D}${sysconfdir}/machine-id
+ rm -f ${D}${sysconfdir}/systemd/coredump.conf
+ rm -f ${D}${sysconfdir}/systemd/journald.conf
+ rm -f ${D}${sysconfdir}/systemd/logind.conf
+ rm -f ${D}${sysconfdir}/systemd/system.conf
+ rm -f ${D}${sysconfdir}/systemd/user.conf
+
+ # duplicate udevadm for postinst script
+ install -d ${D}${libexecdir}
+ ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
+}
+
+
+python populate_packages_prepend (){
+ systemdlibdir = d.getVar("rootlibdir")
+ do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
+}
+PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
+
+PACKAGES =+ "\
+ ${PN}-gui \
+ ${PN}-vconsole-setup \
+ ${PN}-initramfs \
+ ${PN}-analyze \
+ ${PN}-kernel-install \
+ ${PN}-rpm-macros \
+ ${PN}-binfmt \
+ ${PN}-zsh-completion \
+ ${PN}-xorg-xinitrc \
+ ${PN}-container \
+ ${PN}-journal-gatewayd \
+ ${PN}-journal-upload \
+ ${PN}-journal-remote \
+ ${PN}-extra-utils \
+"
+
+SUMMARY_${PN}-container = "Tools for containers and VMs"
+DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines."
+
+SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events"
+DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default."
+
+SUMMARY_${PN}-journal-upload = "Send journal messages over the network"
+DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL."
+
+SUMMARY_${PN}-journal-remote = "Receive journal messages over the network"
+DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
+
+SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+"
+SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
+
+USERADD_PACKAGES = "${PN} ${PN}-extra-utils \
+ ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+"
+GROUPADD_PARAM_${PN} = "-r systemd-journal"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /bin/nologin systemd-coredump;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /bin/nologin systemd-network;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /bin/nologin systemd-timesync;', '', d)}"
+USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /bin/nologin systemd-bus-proxy"
+USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /bin/nologin systemd-journal-gateway"
+USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /bin/nologin systemd-journal-remote"
+USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /bin/nologin systemd-journal-upload"
+
+FILES_${PN}-analyze = "${bindir}/systemd-analyze"
+
+FILES_${PN}-initramfs = "/init"
+RDEPENDS_${PN}-initramfs = "${PN}"
+
+FILES_${PN}-gui = "${bindir}/systemadm"
+
+FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
+ ${systemd_unitdir}/system/systemd-vconsole-setup.service \
+ ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
+
+RDEPENDS_${PN}-kernel-install += "bash"
+FILES_${PN}-kernel-install = "${bindir}/kernel-install \
+ ${sysconfdir}/kernel/ \
+ ${exec_prefix}/lib/kernel \
+ "
+FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
+ "
+
+FILES_${PN}-xorg-xinitrc = "${sysconfdir}/X11/xinit/xinitrc.d/*"
+
+FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
+ ${exec_prefix}/lib/binfmt.d \
+ ${rootlibexecdir}/systemd/systemd-binfmt \
+ ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
+ ${systemd_unitdir}/system/systemd-binfmt.service"
+RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
+
+RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
+
+
+FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
+ ${systemd_system_unitdir}/systemd-journal-gatewayd.service \
+ ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \
+ ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \
+ ${datadir}/systemd/gatewayd/browse.html \
+ "
+SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket"
+
+FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \
+ ${systemd_system_unitdir}/systemd-journal-upload.service \
+ ${sysconfdir}/systemd/journal-upload.conf \
+ "
+SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service"
+
+FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
+ ${sysconfdir}/systemd/journal-remote.conf \
+ ${systemd_system_unitdir}/systemd-journal-remote.service \
+ ${systemd_system_unitdir}/systemd-journal-remote.socket \
+ "
+SYSTEMD_SERVICE_${PN}-remote = "systemd-journal-remote.socket"
+
+
+FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
+ ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
+ ${base_bindir}/machinectl \
+ ${bindir}/systemd-nspawn \
+ ${nonarch_libdir}/systemd/import-pubring.gpg \
+ ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \
+ ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \
+ ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \
+ ${systemd_system_unitdir}/machine.slice \
+ ${systemd_system_unitdir}/machines.target \
+ ${systemd_system_unitdir}/org.freedesktop.import1.busname \
+ ${systemd_system_unitdir}/org.freedesktop.machine1.busname \
+ ${systemd_system_unitdir}/systemd-importd.service \
+ ${systemd_system_unitdir}/systemd-machined.service \
+ ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \
+ ${systemd_system_unitdir}/var-lib-machines.mount \
+ ${rootlibexecdir}/systemd/systemd-import \
+ ${rootlibexecdir}/systemd/systemd-importd \
+ ${rootlibexecdir}/systemd/systemd-machined \
+ ${rootlibexecdir}/systemd/systemd-pull \
+ ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
+ ${systemd_system_unitdir}/systemd-nspawn@.service \
+ ${libdir}/libnss_mymachines.so.2 \
+ ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
+ ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
+ ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \
+ ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \
+ ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \
+ "
+
+RRECOMMENDS_${PN}-container += "\
+ ${PN}-journal-upload \
+ ${PN}-journal-remote \
+ ${PN}-journal-gatewayd \
+ "
+
+FILES_${PN}-extra-utils = "\
+ ${base_bindir}/systemd-escape \
+ ${base_bindir}/systemd-inhibit \
+ ${bindir}/systemd-detect-virt \
+ ${bindir}/systemd-path \
+ ${bindir}/systemd-run \
+ ${bindir}/systemd-cat \
+ ${bindir}/systemd-delta \
+ ${bindir}/systemd-cgls \
+ ${bindir}/systemd-cgtop \
+ ${bindir}/systemd-stdio-bridge \
+ ${base_bindir}/systemd-ask-password \
+ ${base_bindir}/systemd-tty-ask-password-agent \
+ ${systemd_unitdir}/system/systemd-ask-password-console.path \
+ ${systemd_unitdir}/system/systemd-ask-password-console.service \
+ ${systemd_unitdir}/system/systemd-ask-password-wall.path \
+ ${systemd_unitdir}/system/systemd-ask-password-wall.service \
+ ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
+ ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \
+ ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
+ ${rootlibexecdir}/systemd/systemd-resolve-host \
+ ${rootlibexecdir}/systemd/systemd-ac-power \
+ ${rootlibexecdir}/systemd/systemd-activate \
+ ${rootlibexecdir}/systemd/systemd-bus-proxyd \
+ ${systemd_unitdir}/system/systemd-bus-proxyd.service \
+ ${systemd_unitdir}/system/systemd-bus-proxyd.socket \
+ ${rootlibexecdir}/systemd/systemd-socket-proxyd \
+ ${rootlibexecdir}/systemd/systemd-reply-password \
+ ${rootlibexecdir}/systemd/systemd-sleep \
+ ${rootlibexecdir}/systemd/system-sleep \
+ ${systemd_unitdir}/system/systemd-hibernate.service \
+ ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
+ ${systemd_unitdir}/system/systemd-suspend.service \
+ ${systemd_unitdir}/system/sleep.target \
+ ${rootlibexecdir}/systemd/systemd-initctl \
+ ${systemd_unitdir}/system/systemd-initctl.service \
+ ${systemd_unitdir}/system/systemd-initctl.socket \
+ ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
+ ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
+ ${rootlibexecdir}/systemd/systemd-cgroups-agent \
+"
+
+FILES_${PN} = " ${base_bindir}/* \
+ ${base_sbindir}/shutdown \
+ ${base_sbindir}/halt \
+ ${base_sbindir}/poweroff \
+ ${base_sbindir}/runlevel \
+ ${base_sbindir}/telinit \
+ ${base_sbindir}/resolvconf \
+ ${base_sbindir}/reboot \
+ ${base_sbindir}/init \
+ ${datadir}/dbus-1/services \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/polkit-1 \
+ ${datadir}/${BPN} \
+ ${datadir}/factory \
+ ${sysconfdir}/dbus-1/ \
+ ${sysconfdir}/modules-load.d/ \
+ ${sysconfdir}/pam.d/ \
+ ${sysconfdir}/sysctl.d/ \
+ ${sysconfdir}/systemd/ \
+ ${sysconfdir}/tmpfiles.d/ \
+ ${sysconfdir}/xdg/ \
+ ${sysconfdir}/init.d/README \
+ ${sysconfdir}/resolv-conf.systemd \
+ ${rootlibexecdir}/systemd/* \
+ ${systemd_unitdir}/* \
+ ${base_libdir}/security/*.so \
+ /cgroup \
+ ${bindir}/systemd* \
+ ${bindir}/busctl \
+ ${bindir}/coredumpctl \
+ ${bindir}/localectl \
+ ${bindir}/hostnamectl \
+ ${bindir}/resolvectl \
+ ${bindir}/timedatectl \
+ ${bindir}/bootctl \
+ ${bindir}/kernel-install \
+ ${exec_prefix}/lib/tmpfiles.d/*.conf \
+ ${exec_prefix}/lib/systemd \
+ ${exec_prefix}/lib/modules-load.d \
+ ${exec_prefix}/lib/sysctl.d \
+ ${exec_prefix}/lib/sysusers.d \
+ ${exec_prefix}/lib/environment.d \
+ ${localstatedir} \
+ ${nonarch_base_libdir}/udev/rules.d/70-uaccess.rules \
+ ${nonarch_base_libdir}/udev/rules.d/71-seat.rules \
+ ${nonarch_base_libdir}/udev/rules.d/73-seat-late.rules \
+ ${nonarch_base_libdir}/udev/rules.d/99-systemd.rules \
+ ${nonarch_base_libdir}/modprobe.d/systemd.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \
+ "
+
+FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
+
+RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck"
+RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
+RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf"
+
+RRECOMMENDS_${PN} += "systemd-extra-utils \
+ systemd-compat-units udev-hwdb \
+ e2fsprogs-e2fsck \
+ kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 \
+ os-release \
+"
+
+INSANE_SKIP_${PN} += "dev-so libdir"
+INSANE_SKIP_${PN}-dbg += "libdir"
+INSANE_SKIP_${PN}-doc += " libdir"
+
+PACKAGES =+ "udev udev-hwdb"
+
+RPROVIDES_udev = "hotplug"
+
+RDEPENDS_udev-hwdb += "udev"
+
+FILES_udev += "${base_sbindir}/udevd \
+ ${rootlibexecdir}/systemd/systemd-udevd \
+ ${rootlibexecdir}/udev/accelerometer \
+ ${rootlibexecdir}/udev/ata_id \
+ ${rootlibexecdir}/udev/cdrom_id \
+ ${rootlibexecdir}/udev/collect \
+ ${rootlibexecdir}/udev/findkeyboards \
+ ${rootlibexecdir}/udev/keyboard-force-release.sh \
+ ${rootlibexecdir}/udev/keymap \
+ ${rootlibexecdir}/udev/mtd_probe \
+ ${rootlibexecdir}/udev/scsi_id \
+ ${rootlibexecdir}/udev/v4l_id \
+ ${rootlibexecdir}/udev/keymaps \
+ ${rootlibexecdir}/udev/rules.d/*.rules \
+ ${sysconfdir}/udev \
+ ${sysconfdir}/init.d/systemd-udevd \
+ ${systemd_unitdir}/system/*udev* \
+ ${systemd_unitdir}/system/*.wants/*udev* \
+ ${base_bindir}/udevadm \
+ ${libexecdir}/${MLPREFIX}udevadm \
+ ${datadir}/bash-completion/completions/udevadm \
+ "
+
+FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d"
+
+INITSCRIPT_PACKAGES = "udev"
+INITSCRIPT_NAME_udev = "systemd-udevd"
+INITSCRIPT_PARAMS_udev = "start 03 S ."
+
+python __anonymous() {
+ if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+ d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+}
+
+ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel resolv-conf"
+
+ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
+ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"
+ALTERNATIVE_PRIORITY[resolv-conf] ?= "50"
+
+ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
+ALTERNATIVE_PRIORITY[halt] ?= "300"
+
+ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
+ALTERNATIVE_PRIORITY[reboot] ?= "300"
+
+ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
+ALTERNATIVE_PRIORITY[shutdown] ?= "300"
+
+ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
+ALTERNATIVE_PRIORITY[poweroff] ?= "300"
+
+ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
+ALTERNATIVE_PRIORITY[runlevel] ?= "300"
+
+pkg_postinst_${PN} () {
+ sed -e '/^hosts:/s/\s*\<myhostname\>//' \
+ -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \
+ -i $D${sysconfdir}/nsswitch.conf
+}
+
+pkg_prerm_${PN} () {
+ sed -e '/^hosts:/s/\s*\<myhostname\>//' \
+ -e '/^hosts:/s/\s*myhostname//' \
+ -i $D${sysconfdir}/nsswitch.conf
+}
+
+PACKAGE_WRITE_DEPS += "qemu-native"
+pkg_postinst_udev-hwdb () {
+ if test -n "$D"; then
+ $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
+ else
+ udevadm hwdb --update
+ fi
+}
+
+pkg_prerm_udev-hwdb () {
+ rm -f $D${sysconfdir}/udev/hwdb.bin
+}
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty b/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
index e15ae35f9..96fd6cfcf 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
+++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
@@ -13,6 +13,18 @@ active_serial=$(grep "serial" /proc/tty/drivers | cut -d/ -f1 | sed "s/ *$//")
# Rephrase input parameter from ttyS target index (ttyS1, ttyS2, ttyAMA0, etc).
runtime_tty=$(echo $2 | grep -oh '[0-9]')
+# busybox' getty does this itself, util-linux' agetty needs extra help
+getty="/sbin/getty"
+case $(readlink -f "${getty}") in
+ */busybox*)
+ ;;
+ *)
+ if [ -x "/usr/bin/setsid" ] ; then
+ setsid="/usr/bin/setsid"
+ fi
+ ;;
+esac
+
# Backup $IFS.
DEFAULT_IFS=$IFS
# Customize Internal Field Separator.
@@ -31,7 +43,7 @@ for line in $active_serial; do
then
if [ -c /dev/$2 ]
then
- /sbin/getty -L $1 $2 $3
+ ${setsid:-} ${getty} -L $1 $2 $3
fi
break
fi
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
index 8585a418a..bfd890d92 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
+++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
@@ -20,6 +20,7 @@ do_install() {
install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
install -d ${D}${base_bindir}
install -m 0755 ${WORKDIR}/start_getty ${D}${base_bindir}/start_getty
+ sed -e 's,/usr/bin,${bindir},g' -i ${D}${base_bindir}/start_getty
set -x
tmp="${SERIAL_CONSOLES}"
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch b/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
index 2575b59b5..2575b59b5 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch b/poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch
index 7b342901e..7b342901e 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch b/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
index 6c4225a67..6c4225a67 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/pidof-add-m-option.patch b/poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch
index 5b5dfdc00..5b5dfdc00 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/pidof-add-m-option.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index a05c1cabb..18c3af240 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -19,121 +19,132 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c
file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16"
#gtk-doc is not enabled as it requires xmlto which requires util-linux
-inherit autotools gettext pkgconfig systemd update-alternatives python3-dir bash-completion ptest
+inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest
DEPENDS = "zlib ncurses virtual/crypt"
-DEPENDS_append_class-native = " lzo-native"
-DEPENDS_append_class-nativesdk = " lzo-native"
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \
+MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \
"
-PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \
- util-linux-swaponoff util-linux-losetup util-linux-umount \
- util-linux-mount util-linux-readprofile util-linux-uuidd \
- util-linux-uuidgen util-linux-lscpu util-linux-fsck.cramfs util-linux-fsck \
- util-linux-blkid util-linux-mkfs util-linux-mcookie util-linux-rfkill \
- util-linux-lsblk util-linux-mkfs.cramfs util-linux-fstrim \
- util-linux-partx util-linux-hwclock util-linux-mountpoint \
- util-linux-findfs util-linux-getopt util-linux-sulogin util-linux-prlimit \
- util-linux-ionice util-linux-switch-root util-linux-unshare"
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', 'util-linux-pylibmount', '', d)}"
-PACKAGES =+ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser util-linux-su', '', d)}"
-
-PACKAGES_DYNAMIC = "^util-linux-lib.*"
-
-SHARED_EXTRA_OECONF = "--disable-use-tty-group \
- --disable-makeinstall-chown \
- --enable-kill --enable-last --enable-mesg --enable-partx \
- --enable-raw --enable-rfkill --disable-login \
- --disable-vipw --disable-newgrp --disable-chfn-chsh \
- --enable-write --enable-mount --enable-unshare \
- --enable-libuuid --enable-libblkid --enable-fsck \
- --disable-minix --disable-bfs --without-udev \
- usrsbin_execdir='${sbindir}' \
-"
+PACKAGES =+ "${PN}-swaponoff"
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', '${PN}-pylibmount', '', d)}"
+
+python util_linux_binpackages () {
+ def pkg_hook(f, pkg, file_regex, output_pattern, modulename):
+ pn = d.getVar('PN')
+ d.appendVar('RRECOMMENDS_%s' % pn, ' %s' % pkg)
+
+ if d.getVar('ALTERNATIVE_' + pkg):
+ return
+ if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename):
+ d.setVar('ALTERNATIVE_' + pkg, modulename)
+
+ bindirs = sorted(list(set(d.expand("${base_sbindir} ${base_bindir} ${sbindir} ${bindir}").split())))
+ for dir in bindirs:
+ do_split_packages(d, root=dir,
+ file_regex=r'(.*)', output_pattern='${PN}-%s',
+ description='${PN} %s',
+ hook=pkg_hook, extra_depends='')
+
+ # There are some symlinks for some binaries which we have ignored
+ # above. Add them to the package owning the binary they are
+ # pointing to
+ extras = {}
+ dvar = d.getVar('PKGD')
+ for root in bindirs:
+ for walkroot, dirs, files in os.walk(dvar + root):
+ for f in files:
+ file = os.path.join(walkroot, f)
+ if not os.path.islink(file):
+ continue
+
+ pkg = os.path.basename(os.readlink(file))
+ extras[pkg] = extras.get(pkg, '') + ' ' + file.replace(dvar, '', 1)
+
+ pn = d.getVar('PN')
+ for pkg, links in extras.items():
+ of = d.getVar('FILES_' + pn + '-' + pkg)
+ links = of + links
+ d.setVar('FILES_' + pn + '-' + pkg, links)
+}
+
+# we must execute before update-alternatives PACKAGE_PREPROCESS_FUNCS
+PACKAGE_PREPROCESS_FUNCS =+ "util_linux_binpackages "
+
+python util_linux_libpackages() {
+ do_split_packages(d, root=d.getVar('UTIL_LINUX_LIBDIR'), file_regex=r'^lib(.*)\.so\..*$',
+ output_pattern='${PN}-lib%s',
+ description='${PN} lib%s',
+ extra_depends='', prepend=True, allow_links=True)
+}
-EXTRA_OECONF = "${SHARED_EXTRA_OECONF} --libdir=${base_libdir}"
+PACKAGESPLITFUNCS =+ "util_linux_libpackages"
+
+PACKAGES_DYNAMIC = "^${PN}-.*"
+
+CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=ms"
+UTIL_LINUX_LIBDIR = "${libdir}"
+UTIL_LINUX_LIBDIR_class-target = "${base_libdir}"
+EXTRA_OECONF = "\
+ --enable-libuuid --enable-libblkid \
+ \
+ --enable-fsck --enable-kill --enable-last --enable-mesg \
+ --enable-mount --enable-partx --enable-raw --enable-rfkill \
+ --enable-unshare --enable-write \
+ \
+ --disable-bfs --disable-chfn-chsh --disable-login \
+ --disable-makeinstall-chown --disable-minix --disable-newgrp \
+ --disable-use-tty-group --disable-vipw \
+ \
+ --without-udev \
+ \
+ usrsbin_execdir='${sbindir}' \
+ --libdir='${UTIL_LINUX_LIBDIR}' \
+"
PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+# inherit manpages requires this to be present, however util-linux does not have
+# configuration options, and installs manpages always
+PACKAGECONFIG[manpages] = ""
PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"
-
# Respect the systemd feature for uuidd
-PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/, --without-systemd --without-systemdsystemunitdir,systemd"
-
+PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd"
# Build setpriv requires libcap-ng
PACKAGECONFIG[libcap-ng] = "--enable-setpriv,--disable-setpriv,libcap-ng,"
-
# Build python bindings for libmount
PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-python --disable-pylibmount,python3"
-
# Readline support
PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'"
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la"
-
-FILES_util-linux-agetty = "${base_sbindir}/agetty"
-FILES_util-linux-fdisk = "${base_sbindir}/fdisk.${BPN}"
-FILES_util-linux-fstrim = "${base_sbindir}/fstrim.${BPN}"
-FILES_util-linux-cfdisk = "${base_sbindir}/cfdisk"
-FILES_util-linux-sfdisk = "${sbindir}/sfdisk"
-FILES_util-linux-swaponoff = "${base_sbindir}/swapon.${BPN} ${base_sbindir}/swapoff.${BPN}"
-FILES_util-linux-losetup = "${base_sbindir}/losetup.${BPN}"
-FILES_util-linux-mount = "${base_bindir}/mount.${BPN}"
-FILES_util-linux-mcookie = "${bindir}/mcookie"
-FILES_util-linux-umount = "${base_bindir}/umount.${BPN}"
-FILES_util-linux-readprofile = "${sbindir}/readprofile.${BPN}"
-FILES_util-linux-uuidgen = "${bindir}/uuidgen"
-FILES_util-linux-uuidd = "${sbindir}/uuidd"
-FILES_util-linux-rfkill = "${sbindir}/rfkill*"
-FILES_util-linux-partx = "${sbindir}/partx"
-FILES_util-linux-hwclock = "${base_sbindir}/hwclock.${BPN}"
-FILES_util-linux-findfs = "${sbindir}/findfs"
-FILES_util-linux-getopt = "${base_bindir}/getopt.${BPN}"
-FILES_util-linux-runuser = "${sbindir}/runuser"
-FILES_util-linux-prlimit = "${bindir}/prlimit"
-FILES_util-linux-ionice = "${bindir}/ionice.${BPN}"
-FILES_util-linux-su = "${bindir}/su.util-linux ${sysconfdir}/pam.d/su-l"
-CONFFILES_util-linux-su = "${sysconfdir}/pam.d/su-l"
-
-FILES_util-linux-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
- ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
- ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*"
-FILES_util-linux-lsblk = "${bindir}/lsblk"
-FILES_util-linux-lscpu = "${bindir}/lscpu"
-
-FILES_util-linux-fsck = "${base_sbindir}/fsck*"
-FILES_util-linux-mkfs = "${sbindir}/mkfs"
-
-FILES_util-linux-fsck.cramfs = "${sbindir}/fsck.cramfs"
-FILES_util-linux-mkfs.cramfs = "${sbindir}/mkfs.cramfs"
-
-FILES_util-linux-sulogin = "${base_sbindir}/sulogin*"
-FILES_util-linux-mountpoint = "${base_bindir}/mountpoint.${BPN}"
-
-FILES_util-linux-switch-root = "${base_sbindir}/switch_root.${BPN}"
-FILES_util-linux-unshare = "${bindir}/unshare.${BPN}"
+FILES_${PN}-mount = "${sysconfdir}/default/mountall"
+FILES_${PN}-runuser = "${sysconfdir}/pam.d/runuser*"
+FILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
+CONFFILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
+FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
+ ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
+ ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*"
# Util-linux' blkid replaces the e2fsprogs one
-FILES_util-linux-blkid = "${base_sbindir}/blkid*"
-RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid"
-RREPLACES_util-linux-blkid = "e2fsprogs-blkid"
-
-RDEPENDS_util-linux-runuser += "libpam"
-RDEPENDS_util-linux-su += "libpam"
-
-RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup util-linux-sulogin util-linux-lsblk"
-RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser util-linux-su', '', d)}"
-
-RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-mount util-linux-readprofile util-linux-mkfs util-linux-mountpoint util-linux-prlimit util-linux-ionice util-linux-switch-root"
+RCONFLICTS_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
+RREPLACES_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
RRECOMMENDS_${PN}_class-native = ""
RRECOMMENDS_${PN}_class-nativesdk = ""
RDEPENDS_${PN}_class-native = ""
RDEPENDS_${PN}_class-nativesdk = ""
-RPROVIDES_${PN}-dev = "util-linux-libblkid-dev util-linux-libmount-dev util-linux-libuuid-dev"
+RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev ${PN}-libuuid-dev"
+
+RDEPENDS_${PN}-bash-completion += "${PN}-lsblk"
+RDEPENDS_${PN}-ptest = "bash grep coreutils which btrfs-tools ${PN}"
+RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff"
+ALLOW_EMPTY_${PN}-swaponoff = "1"
#SYSTEMD_PACKAGES = "${PN}-uuidd ${PN}-fstrim"
SYSTEMD_SERVICE_${PN}-uuidd = "uuidd.socket uuidd.service"
@@ -141,23 +152,17 @@ SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable"
SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service"
SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable"
-do_compile () {
- set -e
- oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'
-}
-
do_install () {
# with ccache the timestamps on compiled files may
# end up earlier than on their inputs, this allows
# for the resultant compilation in the install step.
- oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \
- 'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \
+ oe_runmake 'CC=${CC}' 'LD=${LD}' \
'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install
mkdir -p ${D}${base_bindir}
sbinprogs="agetty ctrlaltdel cfdisk vipw vigr"
- sbinprogs_a="pivot_root hwclock mkswap mkfs.minix fsck.minix losetup swapon swapoff fdisk fsck blkid blockdev fstrim sulogin switch_root nologin"
+ sbinprogs_a="pivot_root hwclock mkswap losetup swapon swapoff fdisk fsck blkid blockdev fstrim sulogin switch_root nologin"
binprogs_a="dmesg getopt kill more umount mount login su mountpoint"
if [ "${base_sbindir}" != "${sbindir}" ]; then
@@ -205,123 +210,80 @@ do_install_append_class-native () {
ALTERNATIVE_PRIORITY = "80"
-ALTERNATIVE_${PN} = " \
- dmesg kill more mkswap blockdev pivot_root \
- hexdump last lastb logger mesg renice wall \
- setsid chrt flock utmpdump eject nologin taskset fallocate \
- fsfreeze nsenter cal rev \
-"
-
-ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
-ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
-ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more"
-ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap"
+ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev"
-ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root"
ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal"
+ALTERNATIVE_LINK_NAME[chrt] = "${bindir}/chrt"
+ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
ALTERNATIVE_LINK_NAME[fallocate] = "${bindir}/fallocate"
-ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev"
+ALTERNATIVE_LINK_NAME[fdisk] = "${base_sbindir}/fdisk"
+ALTERNATIVE_LINK_NAME[flock] = "${bindir}/flock"
+ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck"
ALTERNATIVE_LINK_NAME[fsfreeze] = "${sbindir}/fsfreeze"
+ALTERNATIVE_LINK_NAME[fstrim] = "${base_sbindir}/fstrim"
+ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt"
+ALTERNATIVE_${PN}-agetty = "getty"
+ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
+ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty"
+ALTERNATIVE_LINK_NAME[hexdump] = "${bindir}/hexdump"
+ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock"
+ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
+ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
+ALTERNATIVE_${PN}-last = "last lastb"
+ALTERNATIVE_LINK_NAME[last] = "${bindir}/last"
+ALTERNATIVE_LINK_NAME[lastb] = "${bindir}/lastb"
+ALTERNATIVE_LINK_NAME[logger] = "${bindir}/logger"
+ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup"
+ALTERNATIVE_LINK_NAME[mesg] = "${bindir}/mesg"
+ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap"
+ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more"
+ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount"
+ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint"
ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
+ALTERNATIVE_LINK_NAME[nsenter] = "${bindir}/nsenter"
+ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root"
+ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile"
+ALTERNATIVE_LINK_NAME[renice] = "${bindir}/renice"
+ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev"
+ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
+ALTERNATIVE_LINK_NAME[setsid] = "${bindir}/setsid"
+ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
+ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin"
+ALTERNATIVE_LINK_NAME[swapoff] = "${base_sbindir}/swapoff"
+ALTERNATIVE_LINK_NAME[swapon] = "${base_sbindir}/swapon"
+ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root"
+ALTERNATIVE_LINK_NAME[taskset] = "${bindir}/taskset"
+ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount"
+ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare"
+ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump"
+ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall"
-ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 lastb.1 mesg.1 wall.1 nologin.8 sulogin.8 utmpdump.1 rfkill.8 kill.1 libblkid.3 blkid.8 findfs.8 fsck.8 uuid.3 eject.1 logger.1"
+ALTERNATIVE_${PN}-doc = "blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1"
+ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}"
+ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8"
+ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1"
+ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8"
+ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
+ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
ALTERNATIVE_LINK_NAME[last.1] = "${mandir}/man1/last.1"
ALTERNATIVE_LINK_NAME[lastb.1] = "${mandir}/man1/lastb.1"
+ALTERNATIVE_LINK_NAME[libblkid.3] = "${mandir}/man3/libblkid.3"
+ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1"
ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1"
ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1"
ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
ALTERNATIVE_LINK_NAME[rfkill.8] = "${mandir}/man8/rfkill.8"
+ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8"
ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1"
-ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1"
-ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
-ALTERNATIVE_LINK_NAME[libblkid.3] = "${mandir}/man3/libblkid.3"
-ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8"
-ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8"
-ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
ALTERNATIVE_LINK_NAME[uuid.3] = "${mandir}/man3/uuid.3"
-ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1"
-ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1"
-
-ALTERNATIVE_util-linux-hwclock = "hwclock"
-ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock"
-
-ALTERNATIVE_util-linux-fdisk = "fdisk"
-ALTERNATIVE_LINK_NAME[fdisk] = "${base_sbindir}/fdisk"
-
-ALTERNATIVE_util-linux-fstrim = "fstrim"
-ALTERNATIVE_LINK_NAME[fstrim] = "${base_sbindir}/fstrim"
-
-ALTERNATIVE_util-linux-agetty = "getty"
-ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
-ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty"
-
-ALTERNATIVE_util-linux-mount = "mount"
-ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount"
-
-ALTERNATIVE_util-linux-umount = "umount"
-ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount"
-
-ALTERNATIVE_util-linux-readprofile = "readprofile"
-ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile"
-
-ALTERNATIVE_util-linux-losetup = "losetup"
-ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup"
-
-ALTERNATIVE_util-linux-swaponoff = "swapoff swapon"
-ALTERNATIVE_LINK_NAME[swapoff] = "${base_sbindir}/swapoff"
-ALTERNATIVE_LINK_NAME[swapon] = "${base_sbindir}/swapon"
-
-ALTERNATIVE_util-linux-fsck = "fsck"
-ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck"
-
-ALTERNATIVE_util-linux-blkid = "blkid"
-ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
-
-ALTERNATIVE_util-linux-rfkill = "rfkill"
-ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
-
-ALTERNATIVE_util-linux-getopt = "getopt"
-ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt"
-
-ALTERNATIVE_util-linux-sulogin = "sulogin"
-ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin"
-
-ALTERNATIVE_util-linux-mountpoint = "mountpoint"
-ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint"
-
-ALTERNATIVE_util-linux-unshare = "unshare"
-ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare"
-
-ALTERNATIVE_util-linux-ionice = "ionice"
-ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
+ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1"
-ALTERNATIVE_util-linux-switch-root = "switch_root"
-ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root"
BBCLASSEXTEND = "native nativesdk"
-python do_package_prepend () {
- if '--enable-su' in d.getVar('EXTRA_OECONF').split():
- d.appendVar(d.expand('ALTERNATIVE_${PN}'), ' su')
- d.appendVar(d.expand('ALTERNATIVE_${PN}-doc'), ' su.1')
-
- d.setVarFlag('ALTERNATIVE_LINK_NAME', "su", d.expand('${base_bindir}/su'))
- d.setVarFlag('ALTERNATIVE_LINK_NAME', "su.1", d.expand('${mandir}/man1/su.1'))
-}
-
-python populate_packages_prepend() {
- do_split_packages(d, '${base_libdir}', '^lib(.*)\.so\..*$',
- output_pattern='util-linux-lib%s',
- description='util-linux lib%s',
- extra_depends='', prepend=True, allow_links=True)
-}
-
-RDEPENDS_${PN}-bash-completion += "util-linux-lsblk"
-RDEPENDS_${PN}-ptest = "bash grep coreutils which util-linux-blkid util-linux-fsck btrfs-tools"
-
do_compile_ptest() {
oe_runmake buildtest-TESTS
}
diff --git a/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch b/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch
new file mode 100644
index 000000000..c92c276ac
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch
@@ -0,0 +1,16 @@
+Checking for exitence of the define is not enough since
+it will be defined with 0 or 1 value
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/sys-utils/ldattach.c
++++ b/sys-utils/ldattach.c
+@@ -242,7 +242,7 @@ static int my_cfsetspeed(struct termios
+ * -- we have to bypass glibc and set the speed manually (because glibc
+ * checks for speed and supports Bxxx bit rates only)...
+ */
+-#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED
++#if _HAVE_STRUCT_TERMIOS_C_ISPEED
+ # define BOTHER 0010000 /* non standard rate */
+ dbg("using non-standard speeds");
+ ts->c_ospeed = ts->c_ispeed = speed;
diff --git a/poky/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch b/poky/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
deleted file mode 100644
index 68bf22de8..000000000
--- a/poky/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f220d809be1baa654503bf6ff52f3630b0d7015c Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Wed, 26 Mar 2014 01:30:29 +0000
-Subject: [PATCH] sun.c: use qsort() to instead of qsort_r()
-
-qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
-the host like CentOS 5.x.
-
-Upstream-Status: Inappropriate [Other]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- libfdisk/src/sun.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-Index: util-linux-2.24.2/libfdisk/src/sun.c
-===================================================================
---- util-linux-2.24.2.orig/libfdisk/src/sun.c
-+++ util-linux-2.24.2/libfdisk/src/sun.c
-@@ -431,10 +431,9 @@ static int sun_verify_disklabel(struct f
- }
- verify_sun_starts = starts;
-
-- qsort_r(array,ARRAY_SIZE(array),sizeof(array[0]),
-- (int (*)(const void *,const void *,void *)) verify_sun_cmp,
-- verify_sun_starts);
--
-+ qsort(array,ARRAY_SIZE(array),sizeof(array[0]),
-+ (int (*)(const void *,const void *)) verify_sun_cmp);
-+
- if (array[0] == -1) {
- fdisk_info(cxt, _("No partitions defined."));
- return 0;
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb b/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb
index a616d85bb..e0bd38363 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb
@@ -1,28 +1,13 @@
-MAJOR_VERSION = "2.32"
require util-linux.inc
-# To support older hosts, we need to patch and/or revert
-# some upstream changes. Only do this for native packages.
-OLDHOST = ""
-OLDHOST_class-native = "file://util-linux-native-qsort.patch"
-
SRC_URI += "file://configure-sbindir.patch \
file://runuser.pamd \
file://runuser-l.pamd \
- ${OLDHOST} \
file://ptest.patch \
file://run-ptest \
file://display_testname_for_subtest.patch \
file://avoid_parallel_tests.patch \
+ file://check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch \
"
SRC_URI[md5sum] = "9e5b1b8c1dc99455bdb6b462cf9436d9"
SRC_URI[sha256sum] = "86e6707a379c7ff5489c218cfaf1e3464b0b95acf7817db0bc5f179e356a67b2"
-
-CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=ms"
-
-EXTRA_OECONF_class-native = "${SHARED_EXTRA_OECONF} \
- --disable-use-tty-group \
-"
-EXTRA_OECONF_class-nativesdk = "${SHARED_EXTRA_OECONF} \
- --disable-use-tty-group \
-"
diff --git a/poky/meta/recipes-core/zlib/zlib-1.2.11/Makefile-runtests.patch b/poky/meta/recipes-core/zlib/zlib-1.2.11/Makefile-runtests.patch
deleted file mode 100644
index 61eea8238..000000000
--- a/poky/meta/recipes-core/zlib/zlib-1.2.11/Makefile-runtests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Add 'ptest' target to Makefile, to run tests without checking dependencies.
-
-Signed-off-by: Anders Roxell <anders.roxell@enea.com>
-Upstream-Status: Pending
----
-diff -uNr a/Makefile.in b/Makefile.in
---- a/Makefile.in 2013-06-10 13:48:14.321959162 +0200
-+++ b/Makefile.in 2013-06-10 13:49:36.686476448 +0200
-@@ -83,6 +83,9 @@
- test: all teststatic testshared
-
- teststatic: static
-+ @make runteststatic
-+
-+runteststatic:
- @TMPST=tmpst_$$; \
- if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
- echo ' *** zlib test OK ***'; \
-@@ -92,6 +95,9 @@
- rm -f $$TMPST
-
- testshared: shared
-+ @make runtestshared
-+
-+runtestshared:
- @LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
- LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
- DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
-@@ -105,6 +111,9 @@
- rm -f $$TMPSH
-
- test64: all64
-+ @make runtestall64
-+
-+runtestall64:
- @TMP64=tmp64_$$; \
- if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
- echo ' *** zlib 64-bit test OK ***'; \
diff --git a/poky/meta/recipes-core/zlib/zlib-1.2.11/ldflags-tests.patch b/poky/meta/recipes-core/zlib/zlib-1.2.11/ldflags-tests.patch
deleted file mode 100644
index 19c40b745..000000000
--- a/poky/meta/recipes-core/zlib/zlib-1.2.11/ldflags-tests.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Obey LDFLAGS for tests
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Upstream-Status: Pending
-
---- zlib-1.2.8.orig/Makefile.in
-+++ zlib-1.2.8/Makefile.in
-@@ -26,7 +26,7 @@ CFLAGS=-O
-
- SFLAGS=-O
- LDFLAGS=
--TEST_LDFLAGS=-L. libz.a
-+TEST_LDFLAGS=-L. $(LDFLAGS)
- LDSHARED=$(CC)
- CPP=$(CC) -E
-
-@@ -176,22 +176,22 @@ placebo $(SHAREDLIBV): $(PIC_OBJS) libz.
- -@rmdir objs
-
- example$(EXE): example.o $(STATICLIB)
-- $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
-+ $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS) $(STATICLIB)
-
- minigzip$(EXE): minigzip.o $(STATICLIB)
-- $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
-+ $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS) $(STATICLIB)
-
- examplesh$(EXE): example.o $(SHAREDLIBV)
-- $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
-+ $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS) $(SHAREDLIBV)
-
- minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
-- $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
-+ $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS) $(SHAREDLIBV)
-
- example64$(EXE): example64.o $(STATICLIB)
-- $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
-+ $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS) $(STATICLIB)
-
- minigzip64$(EXE): minigzip64.o $(STATICLIB)
-- $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
-+ $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS) $(STATICLIB)
-
- install-libs: $(LIBS)
- -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
diff --git a/poky/meta/recipes-core/zlib/zlib-1.2.11/remove.ldconfig.call.patch b/poky/meta/recipes-core/zlib/zlib-1.2.11/remove.ldconfig.call.patch
deleted file mode 100644
index 7ccbe1f44..000000000
--- a/poky/meta/recipes-core/zlib/zlib-1.2.11/remove.ldconfig.call.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-When /etc/ld.so.cache is writeable by user running bitbake then it creates invalid cache
-(in my case libstdc++.so cannot be found after building zlib(-native) and I have to call
-touch */libstdc++.so && /sbin/ldconfig to fix it.
-
-So remove ldconfig call from make install-libs
-
-Upstream-Status: Inappropriate [disable feature]
-
-Index: zlib-1.2.11/Makefile.in
-===================================================================
---- zlib-1.2.11.orig/Makefile.in
-+++ zlib-1.2.11/Makefile.in
-@@ -322,7 +322,6 @@ install-libs: $(LIBS)
- rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
-- ($(LDCONFIG) || true) >/dev/null 2>&1; \
- fi
- rm -f $(DESTDIR)$(man3dir)/zlib.3
- cp $(SRCDIR)zlib.3 $(DESTDIR)$(man3dir)
diff --git a/poky/meta/recipes-core/zlib/zlib-1.2.11/run-ptest b/poky/meta/recipes-core/zlib/zlib-1.2.11/run-ptest
deleted file mode 100644
index 884d9dc69..000000000
--- a/poky/meta/recipes-core/zlib/zlib-1.2.11/run-ptest
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-make -k runteststatic runtestshared | sed -r -e 's/^(\s+\*+ (.+?) test OK \*+)/\1\nPASS: \2/' -e 's/^(\s+\*+ (.+?) test FAILED \*+)/\1\nFAIL: \2/'
diff --git a/poky/meta/recipes-core/zlib/zlib/ldflags-tests.patch b/poky/meta/recipes-core/zlib/zlib/ldflags-tests.patch
new file mode 100644
index 000000000..286390665
--- /dev/null
+++ b/poky/meta/recipes-core/zlib/zlib/ldflags-tests.patch
@@ -0,0 +1,45 @@
+Obey LDFLAGS for tests
+
+Upstream-Status: Submitted [https://github.com/madler/zlib/pull/409]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+--- zlib-1.2.8.orig/Makefile.in
++++ zlib-1.2.8/Makefile.in
+@@ -26,7 +26,7 @@ CFLAGS=-O
+
+ SFLAGS=-O
+ LDFLAGS=
+-TEST_LDFLAGS=-L. libz.a
++TEST_LDFLAGS=-L. $(LDFLAGS)
+ LDSHARED=$(CC)
+ CPP=$(CC) -E
+
+@@ -176,22 +176,22 @@ placebo $(SHAREDLIBV): $(PIC_OBJS) libz.
+ -@rmdir objs
+
+ example$(EXE): example.o $(STATICLIB)
+- $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
++ $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS) $(STATICLIB)
+
+ minigzip$(EXE): minigzip.o $(STATICLIB)
+- $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
++ $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS) $(STATICLIB)
+
+ examplesh$(EXE): example.o $(SHAREDLIBV)
+- $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
++ $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS) $(SHAREDLIBV)
+
+ minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
+- $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
++ $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS) $(SHAREDLIBV)
+
+ example64$(EXE): example64.o $(STATICLIB)
+- $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
++ $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS) $(STATICLIB)
+
+ minigzip64$(EXE): minigzip64.o $(STATICLIB)
+- $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
++ $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS) $(STATICLIB)
+
+ install-libs: $(LIBS)
+ -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
diff --git a/poky/meta/recipes-core/zlib/zlib/run-ptest b/poky/meta/recipes-core/zlib/zlib/run-ptest
new file mode 100644
index 000000000..065863ef7
--- /dev/null
+++ b/poky/meta/recipes-core/zlib/zlib/run-ptest
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if ./examplesh ; then
+ echo "PASS: zlib"
+else
+ echo "FAIL: zlib"
+fi
diff --git a/poky/meta/recipes-core/zlib/zlib_1.2.11.bb b/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
index 641051988..ef9431ae4 100644
--- a/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
+++ b/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
@@ -7,8 +7,6 @@ LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://zlib.h;beginline=6;endline=23;md5=5377232268e952e9ef63bc555f7aa6c0"
SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/${BPN}/${PV}/${BPN}-${PV}.tar.xz \
- file://remove.ldconfig.call.patch \
- file://Makefile-runtests.patch \
file://ldflags-tests.patch \
file://run-ptest \
"
@@ -24,32 +22,19 @@ RDEPENDS_${PN}-ptest += "make"
inherit ptest
do_configure() {
- uname=GNU ./configure --prefix=${prefix} --shared --libdir=${libdir}
+ LDCONFIG=true ./configure --prefix=${prefix} --shared --libdir=${libdir} --uname=GNU
}
do_compile() {
oe_runmake shared
}
-do_compile_ptest() {
- oe_runmake test
-}
-
do_install() {
oe_runmake DESTDIR=${D} install
}
do_install_ptest() {
- install ${B}/Makefile ${D}${PTEST_PATH}
- install ${B}/example ${D}${PTEST_PATH}
- install ${B}/minigzip ${D}${PTEST_PATH}
- install ${B}/examplesh ${D}${PTEST_PATH}
- install ${B}/minigzipsh ${D}${PTEST_PATH}
-
- # Remove buildhost references...
- sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- ${D}${PTEST_PATH}/Makefile
+ install ${B}/examplesh ${D}${PTEST_PATH}
}
# Move zlib shared libraries for target builds to $base_libdir so the library
diff --git a/poky/meta/recipes-devtools/apt/apt.inc b/poky/meta/recipes-devtools/apt/apt.inc
index 50f22c899..842c30240 100644
--- a/poky/meta/recipes-devtools/apt/apt.inc
+++ b/poky/meta/recipes-devtools/apt/apt.inc
@@ -2,7 +2,7 @@ SUMMARY = "Advanced front-end for dpkg"
LICENSE = "GPLv2.0+"
SECTION = "base"
-SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/apt/1.2.24/${BPN}_${PV}.tar.xz \
+SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/${BPN}/${PV}/${BPN}_${PV}.tar.xz \
file://use-host.patch \
file://makerace.patch \
file://no-nls-dpkg.patch \
@@ -13,6 +13,7 @@ SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/apt/1.2.24
file://disable-test.patch \
file://0001-environment.mak-musl-based-systems-can-generate-shar.patch \
file://0001-apt-1.2.12-Fix-musl-build.patch \
+ file://0001-Include-array.h-for-std-array.patch \
"
SRC_URI[md5sum] = "ce8f9ab11f4fd0a08ec73eaffd75c8f0"
SRC_URI[sha256sum] = "fa1311a9ce00e72379a0a3bc6d240ba30c0968cfbbb3472859e50b99e24e9598"
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Include-array.h-for-std-array.patch b/poky/meta/recipes-devtools/apt/apt/0001-Include-array.h-for-std-array.patch
new file mode 100644
index 000000000..e4a8faa2b
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Include-array.h-for-std-array.patch
@@ -0,0 +1,35 @@
+From 4d64ec843185bf6fd1b85c3a6a4c4e3c968c8ab1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 20 Jan 2019 18:56:58 -0800
+Subject: [PATCH] Include <array.h> for std::array
+
+When compiling using clang/libc++ it fails to build because this header
+is not included, with libstdc++ this seems to be pulled in
+automatically.
+
+Fixes below error
+
+apt-pkg/contrib/strutl.cc:949:38: error: implicit instantiation of undefined template 'std::__1::array<const char *const, 7>'
+ std::array<char const * const, 7> c_weekdays = {{ "sun", "mon", "tue", "wed", "thu", "fri", "sat" }};
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://github.com/Debian/apt/commit/24a59c62efafbdb8387b2d3c5616b04b9fd21306]
+---
+ apt-pkg/contrib/strutl.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
+index 60d0ca8..c2bfcbc 100644
+--- a/apt-pkg/contrib/strutl.cc
++++ b/apt-pkg/contrib/strutl.cc
+@@ -21,6 +21,7 @@
+ #include <apt-pkg/fileutl.h>
+ #include <apt-pkg/error.h>
+
++#include <array>
+ #include <algorithm>
+ #include <iomanip>
+ #include <locale>
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch b/poky/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch
index fc37236bf..b2d7dc0e2 100644
--- a/poky/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch
+++ b/poky/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch
@@ -1,4 +1,4 @@
-From e17a30e987d7ee695fb4294a82d987ec3dc9b974 Mon Sep 17 00:00:00 2001
+From b859ab1b211d348b46eca9158b7742f050c8115e Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Wed, 14 Sep 2016 08:17:06 -0500
Subject: [PATCH] AC_HEADER_MAJOR: port to glibc 2.25
@@ -35,85 +35,21 @@ this patch.
* lib/autoconf/headers.m4 (AC_HEADER_MAJOR): Drop check for
major within sys/types.h; it interferes with the need to check
sysmacros.h first.
-* doc/autoconf.texi (Particular Headers) <AC_HEADER_MAJOR>: Expand
-details on usage, and on workarounds for non-updated projects.
Signed-off-by: Eric Blake <eblake@redhat.com>
----
+
+Remove the documentation change from the patch
Upstream-Status: Backport
- doc/autoconf.texi | 35 +++++++++++++++++++++++++++++++----
- lib/autoconf/headers.m4 | 30 ++++++++++++++----------------
- 2 files changed, 45 insertions(+), 20 deletions(-)
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lib/autoconf/headers.m4 | 30 ++++++++++++++----------------
+ 1 file changed, 14 insertions(+), 16 deletions(-)
-Index: autoconf-2.69/doc/autoconf.texi
-===================================================================
---- autoconf-2.69.orig/doc/autoconf.texi
-+++ autoconf-2.69/doc/autoconf.texi
-@@ -15,7 +15,7 @@
- @c The ARG is an optional argument. To be used for macro arguments in
- @c their documentation (@defmac).
- @macro ovar{varname}
--@r{[}@var{\varname\}@r{]}@c
-+@r{[}@var{\varname\}@r{]}
- @end macro
-
- @c @dvar(ARG, DEFAULT)
-@@ -23,7 +23,7 @@
- @c The ARG is an optional argument, defaulting to DEFAULT. To be used
- @c for macro arguments in their documentation (@defmac).
- @macro dvar{varname, default}
--@r{[}@var{\varname\} = @samp{\default\}@r{]}@c
-+@r{[}@var{\varname\} = @samp{\default\}@r{]}
- @end macro
-
- @c Handling the indexes with Texinfo yields several different problems.
-@@ -5926,10 +5926,37 @@ Also see @code{AC_STRUCT_DIRENT_D_INO} a
- @cvindex MAJOR_IN_SYSMACROS
- @hdrindex{sys/mkdev.h}
- @hdrindex{sys/sysmacros.h}
--If @file{sys/types.h} does not define @code{major}, @code{minor}, and
--@code{makedev}, but @file{sys/mkdev.h} does, define
--@code{MAJOR_IN_MKDEV}; otherwise, if @file{sys/sysmacros.h} does, define
--@code{MAJOR_IN_SYSMACROS}.
-+Detect the headers required to use @code{makedev}, @code{major}, and
-+@code{minor}. These functions may be defined by @file{sys/mkdev.h},
-+@code{sys/sysmacros.h}, or @file{sys/types.h}.
-+
-+@code{AC_HEADER_MAJOR} defines @code{MAJOR_IN_MKDEV} if they are in
-+@file{sys/mkdev.h}, or @code{MAJOR_IN_SYSMACROS} if they are in
-+@file{sys/sysmacros.h}. If neither macro is defined, they are either in
-+@file{sys/types.h} or unavailable.
-+
-+To properly use these functions, your code should contain something
-+like:
-+
-+@verbatim
-+#include <sys/types.h>
-+#ifdef MAJOR_IN_MKDEV
-+# include <sys/mkdev.h>
-+#elif defined MAJOR_IN_SYSMACROS
-+# include <sys/sysmacros.h>
-+#endif
-+@end verbatim
-+
-+Note: Configure scripts built with Autoconf 2.69 or earlier will not
-+detect a problem if @file{sys/types.h} contains definitions of
-+@code{major}, @code{minor}, and/or @code{makedev} that trigger compiler
-+warnings upon use. This is known to occur with GNU libc 2.25, where
-+those definitions are being deprecated to reduce namespace pollution.
-+If it is not practical to use Autoconf 2.70 to regenerate the configure
-+script of affected software, you can work around the problem by setting
-+@samp{ac_cv_header_sys_types_h_makedev=no}, as an argument to
-+@command{configure} or as part of a @file{config.site} site default file
-+(@pxref{Site Defaults}).
- @end defmac
-
- @defmac AC_HEADER_RESOLV
-Index: autoconf-2.69/lib/autoconf/headers.m4
-===================================================================
---- autoconf-2.69.orig/lib/autoconf/headers.m4
-+++ autoconf-2.69/lib/autoconf/headers.m4
+diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4
+index 81a7fa2..a57d0d3 100644
+--- a/lib/autoconf/headers.m4
++++ b/lib/autoconf/headers.m4
@@ -502,31 +502,29 @@ fi
# AC_HEADER_MAJOR
@@ -160,3 +96,6 @@ Index: autoconf-2.69/lib/autoconf/headers.m4
fi
])# AC_HEADER_MAJOR
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.31.inc b/poky/meta/recipes-devtools/binutils/binutils-2.31.inc
deleted file mode 100644
index 62acec500..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils-2.31.inc
+++ /dev/null
@@ -1,54 +0,0 @@
-LIC_FILES_CHKSUM="\
- file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
- file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\
- file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\
- file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
- file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\
- file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\
- file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\
- "
-
-def binutils_branch_version(d):
- pvsplit = d.getVar('PV').split('.')
- return pvsplit[0] + "_" + pvsplit[1]
-
-BINUPV = "${@binutils_branch_version(d)}"
-PV .= ".1"
-
-UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
-
-SRCREV ?= "c909e7afdc4710851a53e86ebed8cea3879b26e5"
-BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git"
-SRC_URI = "\
- ${BINUTILS_GIT_URI} \
- file://0003-configure-widen-the-regexp-for-SH-architectures.patch \
- file://0004-Point-scripts-location-to-libdir.patch \
- file://0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
- file://0006-Use-libtool-2.4.patch \
- file://0007-Add-the-armv5e-architecture-to-binutils.patch \
- file://0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
- file://0009-warn-for-uses-of-system-directories-when-cross-linki.patch \
- file://0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
- file://0011-Change-default-emulation-for-mips64-linux.patch \
- file://0012-Add-support-for-Netlogic-XLP.patch \
- file://0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
- file://0014-Detect-64-bit-MIPS-targets.patch \
- file://0015-sync-with-OE-libtool-changes.patch \
- file://0016-add-i386pep-emulation-for-x86_64.patch \
- file://0022-Handle-ELF-compressed-header-alignment-correctly-by-.patch \
- file://0023-gold-Get-alignment-of-uncompressed-section-from-ch_a.patch \
- file://clang-bfd-fix.patch \
- file://CVE-2018-17358.patch \
- file://CVE-2018-17360.patch \
- file://CVE-2018-18309.patch \
- file://CVE-2018-18605.patch \
- file://CVE-2018-18606.patch \
- file://CVE-2018-18607.patch \
-"
-S = "${WORKDIR}/git"
-
-do_configure_prepend () {
- rm -rf ${S}/gdb ${S}/libdecnumber ${S}/readline ${S}/sim
-}
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
new file mode 100644
index 000000000..5d0c16b13
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
@@ -0,0 +1,52 @@
+LIC_FILES_CHKSUM="\
+ file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
+ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\
+ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\
+ file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\
+ file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
+ file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\
+ file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\
+ file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\
+ "
+
+def binutils_branch_version(d):
+ pvsplit = d.getVar('PV').split('.')
+ return pvsplit[0] + "_" + pvsplit[1]
+
+# Actual upstream version is 2.32 (without the .0), so we have to set
+# UPSTREAM_VERSION_UNKNOWN to avoid the version check failure. The line can
+# be removed when a new version of binutils is released (if the PV is then
+# correctly set to match the upstream version tag).
+UPSTREAM_VERSION_UNKNOWN = "1"
+PV = "2.32.0"
+CVE_VERSION = "2.32"
+BINUPV = "${@binutils_branch_version(d)}"
+#BRANCH = "binutils-${BINUPV}-branch"
+BRANCH ?= "binutils-2_32-branch"
+
+UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
+
+SRCREV ?= "b8c1f608db9ef3edd483d21a921d1fbedc71df6f"
+BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${BRANCH};protocol=git"
+SRC_URI = "\
+ ${BINUTILS_GIT_URI} \
+ file://0003-configure-widen-the-regexp-for-SH-architectures.patch \
+ file://0004-Point-scripts-location-to-libdir.patch \
+ file://0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
+ file://0006-Use-libtool-2.4.patch \
+ file://0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
+ file://0008-warn-for-uses-of-system-directories-when-cross-linki.patch \
+ file://0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
+ file://0010-Change-default-emulation-for-mips64-linux.patch \
+ file://0011-Add-support-for-Netlogic-XLP.patch \
+ file://0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
+ file://0013-Detect-64-bit-MIPS-targets.patch \
+ file://0014-sync-with-OE-libtool-changes.patch \
+ file://0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch \
+"
+S = "${WORKDIR}/git"
+
+do_configure_prepend () {
+ rm -rf ${S}/gdb ${S}/libdecnumber ${S}/readline ${S}/sim
+}
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.31.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.32.bb
index 5dbaa0301..5dbaa0301 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.31.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.32.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross_2.31.bb b/poky/meta/recipes-devtools/binutils/binutils-cross_2.32.bb
index fbd1f7d25..fbd1f7d25 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross_2.31.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross_2.32.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.31.bb b/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.32.bb
index 37f4d6d2e..37f4d6d2e 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.31.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.32.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch b/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
index 6bdb407b1..6581bad11 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
@@ -1,4 +1,4 @@
-From 4a99f058030c86794bb96b582a7dbd631f963b06 Mon Sep 17 00:00:00 2001
+From 5bcd884f8af5106d0fa380c42cffe07f3c993ed2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:58:54 +0000
Subject: [PATCH 01/15] binutils-crosssdk: Generate relocatable SDKs
@@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
-index 370b22269d..a5c367aa8f 100755
+index 77ddbbc8f8..d789e77943 100755
--- a/ld/genscripts.sh
+++ b/ld/genscripts.sh
-@@ -279,6 +279,7 @@ DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}"
+@@ -310,6 +310,7 @@ DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}"
LD_FLAG=r
DATA_ALIGNMENT=${DATA_ALIGNMENT_r}
DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
@@ -29,7 +29,7 @@ index 370b22269d..a5c367aa8f 100755
( echo "/* Script for ld -r: link without relocation */"
. ${CUSTOMIZER_SCRIPT}
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
-@@ -287,10 +288,12 @@ DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
+@@ -318,10 +319,12 @@ DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
LD_FLAG=u
DATA_ALIGNMENT=${DATA_ALIGNMENT_u}
CONSTRUCTING=" "
@@ -43,7 +43,7 @@ index 370b22269d..a5c367aa8f 100755
DATA_ALIGNMENT=${DATA_ALIGNMENT_}
RELOCATING=" "
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
-index 444aef2942..afa99f736d 100644
+index bd7584120e..8bbe052d4b 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -139,8 +139,8 @@ if test -z "$DATA_SEGMENT_ALIGN"; then
@@ -58,5 +58,5 @@ index 444aef2942..afa99f736d 100644
if test -z "$PLT"; then
IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }"
--
-2.18.0
+2.20.1
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch b/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
index 020821383..32537d4b5 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
@@ -1,4 +1,4 @@
-From 6e78b1c88c040a742b7af82542ac7eb92eddda3d Mon Sep 17 00:00:00 2001
+From 11927913560fc5a5d51af3bc5eb8ad62a86c9840 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 6 Mar 2017 23:37:05 -0800
Subject: [PATCH 02/15] binutils-cross: Do not generate linker script
@@ -23,10 +23,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 25 deletions(-)
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
-index a5c367aa8f..6cc9eed976 100755
+index d789e77943..144e2e8736 100755
--- a/ld/genscripts.sh
+++ b/ld/genscripts.sh
-@@ -189,31 +189,6 @@ append_to_lib_path()
+@@ -220,31 +220,6 @@ append_to_lib_path()
fi
}
@@ -59,5 +59,5 @@ index a5c367aa8f..6cc9eed976 100755
libs=${NATIVE_LIB_DIRS}
if [ "x${NATIVE}" = "xyes" ] ; then
--
-2.18.0
+2.20.1
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch b/poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch
index 15193c10a..a30138295 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch
@@ -1,4 +1,4 @@
-From 4c6fd8f5eb9bc7c0d02f1a98ad86e395d4d2ab3b Mon Sep 17 00:00:00 2001
+From da3939de6fb36da2c6484f14f08a37be195d9dc3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:07:33 +0000
Subject: [PATCH 03/15] configure: widen the regexp for SH architectures
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
-index 08dd35c3ea..815e74ddb7 100755
+index 3747645961..78b5240101 100755
--- a/configure
+++ b/configure
-@@ -3855,7 +3855,7 @@ case "${target}" in
+@@ -3861,7 +3861,7 @@ case "${target}" in
nvptx*-*-*)
noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
;;
@@ -27,7 +27,7 @@ index 08dd35c3ea..815e74ddb7 100755
sh*-*-elf)
;;
diff --git a/gprof/configure b/gprof/configure
-index 447cea7884..a730e20509 100755
+index f84efaba20..ab32bab2b6 100755
--- a/gprof/configure
+++ b/gprof/configure
@@ -6162,6 +6162,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
@@ -43,5 +43,5 @@ index 447cea7884..a730e20509 100755
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
--
-2.18.0
+2.20.1
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch b/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
index bf1c1be27..f8e352228 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
@@ -1,4 +1,4 @@
-From 48ad5292b10408d4e5d5739022753a7183a1cbb3 Mon Sep 17 00:00:00 2001
+From fc1ff860fd88fa2d0584bd19181c880a76331a8d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:09:58 +0000
Subject: [PATCH 04/15] Point scripts location to libdir
@@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ld/Makefile.am b/ld/Makefile.am
-index d86ad0940c..c95b0ef025 100644
+index c2c798b4fe..d7faf19271 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -57,7 +57,7 @@ endif
@@ -25,7 +25,7 @@ index d86ad0940c..c95b0ef025 100644
EMUL = @EMUL@
EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/ld/Makefile.in b/ld/Makefile.in
-index 4792b2b013..789df2d01b 100644
+index fc687fc516..8b14f5236c 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -563,7 +563,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
@@ -38,5 +38,5 @@ index 4792b2b013..789df2d01b 100644
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(BASEDIR)/include
--
-2.18.0
+2.20.1
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch b/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
index 1f589718e..1bad53175 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
@@ -1,4 +1,4 @@
-From 79e53510b1f9e16a21db312698fb1c1c442481e7 Mon Sep 17 00:00:00 2001
+From 66861bff389434e3454c7650ee29fade7a1cc5ed Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:27:17 +0000
Subject: [PATCH 05/15] Only generate an RPATH entry if LD_RUN_PATH is not
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
-index 1ad9d6b6fa..6a025a45b4 100644
+index f4f7ad6b4e..cfd787ff28 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1471,6 +1471,8 @@ fragment <<EOF
@@ -27,7 +27,7 @@ index 1ad9d6b6fa..6a025a45b4 100644
if (path
&& gld${EMULATION_NAME}_search_needed (path, &n, force))
break;
-@@ -1751,6 +1753,8 @@ gld${EMULATION_NAME}_before_allocation (void)
+@@ -1746,6 +1748,8 @@ gld${EMULATION_NAME}_before_allocation (void)
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
@@ -37,5 +37,5 @@ index 1ad9d6b6fa..6a025a45b4 100644
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
--
-2.18.0
+2.20.1
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch b/poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch
index 8550df0cb..f0c4d251b 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch
@@ -1,4 +1,4 @@
-From 11f6d2889725ad592ab789534ca9b858073df4d1 Mon Sep 17 00:00:00 2001
+From 418527a2971d4e77a87085400397090d89fc5c94 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 14 Feb 2016 17:04:07 +0000
Subject: [PATCH 06/15] Use libtool 2.4
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
bfd/configure.ac | 2 +-
binutils/configure | 1320 ++++++++++++++-----
gas/configure | 1320 ++++++++++++++-----
- gprof/configure | 1327 ++++++++++++++-----
+ gprof/configure | 1321 ++++++++++++++-----
ld/configure | 1695 ++++++++++++++++++------
libtool.m4 | 1080 +++++++++++-----
ltmain.sh | 2925 ++++++++++++++++++++++++++++--------------
@@ -23,12 +23,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
opcodes/configure | 1322 ++++++++++++++-----
opcodes/configure.ac | 2 +-
zlib/configure | 1320 ++++++++++++++-----
- 14 files changed, 9948 insertions(+), 3703 deletions(-)
+ 14 files changed, 9940 insertions(+), 3705 deletions(-)
-Index: git/bfd/configure
-===================================================================
---- git.orig/bfd/configure
-+++ git/bfd/configure
+diff --git a/bfd/configure b/bfd/configure
+index 17960684f8..925fb401f2 100755
+--- a/bfd/configure
++++ b/bfd/configure
@@ -704,6 +704,9 @@ OTOOL
LIPO
NMEDIT
@@ -76,7 +76,7 @@ Index: git/bfd/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6420,8 +6426,8 @@ $as_echo_n "checking whether the shell u
+@@ -6420,8 +6426,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -212,7 +212,7 @@ Index: git/bfd/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6823,9 +6924,162 @@ test -z "$deplibs_check_method" && depli
+@@ -6821,11 +6922,164 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -226,6 +226,8 @@ Index: git/bfd/configure
+
+
+
+
+
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
@@ -447,7 +449,7 @@ Index: git/bfd/configure
+
+
+
-
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
@@ -456,7 +458,7 @@ Index: git/bfd/configure
+ lt_cv_ar_at_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-
++
+int
+main ()
+{
@@ -489,11 +491,11 @@ Index: git/bfd/configure
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
-+
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
@@ -549,7 +551,7 @@ Index: git/bfd/configure
const char *name;
void *address;
}
-@@ -7377,8 +7708,8 @@ static const void *lt_preloaded_setup()
+@@ -7377,8 +7708,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -571,7 +573,7 @@ Index: git/bfd/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7426,6 +7757,20 @@ else
+@@ -7426,6 +7757,16 @@ else
$as_echo "ok" >&6; }
fi
@@ -585,17 +587,20 @@ Index: git/bfd/configure
+
+
+
-+
-+
-+
-+
-@@ -7445,6 +7790,41 @@ fi
+@@ -7442,6 +7783,45 @@ fi
++
++
++
++
++
++
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -628,12 +633,9 @@ Index: git/bfd/configure
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
+
@@ -7653,6 +8033,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -795,7 +797,7 @@ Index: git/bfd/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8934,6 +9432,12 @@ $as_echo_n "checking for $compiler optio
+@@ -8934,6 +9432,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -808,7 +810,7 @@ Index: git/bfd/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8996,7 +9500,7 @@ $as_echo_n "checking for $compiler optio
+@@ -8996,7 +9500,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -969,7 +971,7 @@ Index: git/bfd/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9825,7 +10352,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9825,7 +10352,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -1027,7 +1029,7 @@ Index: git/bfd/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9898,20 +10438,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9898,20 +10438,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -1105,7 +1107,7 @@ Index: git/bfd/configure
;;
darwin* | rhapsody*)
-@@ -9972,7 +10555,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9972,7 +10555,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -1114,7 +1116,7 @@ Index: git/bfd/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9980,7 +10563,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9980,7 +10563,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -1123,7 +1125,7 @@ Index: git/bfd/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9996,7 +10579,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9996,7 +10579,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -1132,7 +1134,7 @@ Index: git/bfd/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -10020,10 +10603,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10020,10 +10603,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -1190,7 +1192,7 @@ Index: git/bfd/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -10203,7 +10799,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -10203,7 +10799,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -1199,7 +1201,7 @@ Index: git/bfd/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -10222,9 +10818,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -10222,9 +10818,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -1358,7 +1360,7 @@ Index: git/bfd/configure
fi
# More hacks to build DLLs on Windows.
-@@ -17139,13 +17794,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -17142,13 +17797,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -1379,7 +1381,7 @@ Index: git/bfd/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -17160,14 +17822,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -17163,14 +17825,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -1398,7 +1400,7 @@ Index: git/bfd/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -17200,12 +17865,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -17203,12 +17868,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -1412,7 +1414,7 @@ Index: git/bfd/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -17260,8 +17925,13 @@ reload_flag \
+@@ -17263,8 +17928,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -1426,7 +1428,7 @@ Index: git/bfd/configure
STRIP \
RANLIB \
CC \
-@@ -17271,12 +17941,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -17274,12 +17944,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -1442,7 +1444,7 @@ Index: git/bfd/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -17292,7 +17964,6 @@ no_undefined_flag \
+@@ -17295,7 +17967,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -1450,7 +1452,7 @@ Index: git/bfd/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -17328,6 +17999,7 @@ module_cmds \
+@@ -17331,6 +18002,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -1458,7 +1460,7 @@ Index: git/bfd/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -18116,7 +18788,8 @@ $as_echo X"$file" |
+@@ -18119,7 +18791,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -1468,7 +1470,7 @@ Index: git/bfd/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -18219,19 +18892,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -18222,19 +18895,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -1512,7 +1514,7 @@ Index: git/bfd/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -18261,6 +18957,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -18264,6 +18960,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -1525,7 +1527,7 @@ Index: git/bfd/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -18270,6 +18972,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -18273,6 +18975,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -1535,7 +1537,7 @@ Index: git/bfd/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -18384,12 +19089,12 @@ with_gcc=$GCC
+@@ -18387,12 +19092,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -1551,7 +1553,7 @@ Index: git/bfd/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -18476,9 +19181,6 @@ inherit_rpath=$inherit_rpath
+@@ -18479,9 +19184,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -1561,7 +1563,7 @@ Index: git/bfd/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -18494,6 +19196,9 @@ include_expsyms=$lt_include_expsyms
+@@ -18497,6 +19199,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -1571,7 +1573,7 @@ Index: git/bfd/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -18526,210 +19231,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -18529,210 +19234,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -1773,9 +1775,15 @@ Index: git/bfd/configure
-_LT_EOF
- ;;
- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
-
++
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
@@ -1933,19 +1941,16 @@ Index: git/bfd/configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
-
-- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
-
-- mv -f "$cfgfile" "$ofile" ||
++
++
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: git/bfd/configure.ac
-===================================================================
---- git.orig/bfd/configure.ac
-+++ git/bfd/configure.ac
+diff --git a/bfd/configure.ac b/bfd/configure.ac
+index eda38ea086..7cdf9c8146 100644
+--- a/bfd/configure.ac
++++ b/bfd/configure.ac
@@ -293,7 +293,7 @@ changequote(,)dnl
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
changequote([,])dnl
@@ -1955,11 +1960,11 @@ Index: git/bfd/configure.ac
fi
# More hacks to build DLLs on Windows.
-Index: git/binutils/configure
-===================================================================
---- git.orig/binutils/configure
-+++ git/binutils/configure
-@@ -688,8 +688,11 @@ OTOOL
+diff --git a/binutils/configure b/binutils/configure
+index 38128e146d..c74f797996 100755
+--- a/binutils/configure
++++ b/binutils/configure
+@@ -689,8 +689,11 @@ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -1971,7 +1976,7 @@ Index: git/binutils/configure
OBJDUMP
LN_S
NM
-@@ -806,6 +809,7 @@ enable_static
+@@ -807,6 +810,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -1979,7 +1984,7 @@ Index: git/binutils/configure
enable_libtool_lock
enable_plugins
enable_largefile
-@@ -1482,6 +1486,8 @@ Optional Packages:
+@@ -1483,6 +1487,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -1988,7 +1993,7 @@ Index: git/binutils/configure
--with-system-zlib use installed libz
--with-gnu-ld assume the C compiler uses GNU ld default=no
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
-@@ -5453,8 +5459,8 @@ esac
+@@ -5457,8 +5463,8 @@ esac
@@ -1999,7 +2004,7 @@ Index: git/binutils/configure
-@@ -5494,7 +5500,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5498,7 +5504,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -2008,7 +2013,7 @@ Index: git/binutils/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6180,8 +6186,8 @@ $as_echo_n "checking whether the shell u
+@@ -6184,8 +6190,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -2019,7 +2024,7 @@ Index: git/binutils/configure
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6230,6 +6236,80 @@ esac
+@@ -6234,6 +6240,80 @@ esac
@@ -2100,7 +2105,7 @@ Index: git/binutils/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6246,6 +6326,11 @@ case $reload_flag in
+@@ -6250,6 +6330,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -2112,7 +2117,7 @@ Index: git/binutils/configure
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6414,7 +6499,8 @@ mingw* | pw32*)
+@@ -6418,7 +6503,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -2122,7 +2127,7 @@ Index: git/binutils/configure
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6568,6 +6654,21 @@ esac
+@@ -6572,6 +6658,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -2144,7 +2149,7 @@ Index: git/binutils/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6583,9 +6684,162 @@ test -z "$deplibs_check_method" && depli
+@@ -6587,9 +6688,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -2309,7 +2314,7 @@ Index: git/binutils/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6601,7 +6855,7 @@ do
+@@ -6605,7 +6859,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -2318,7 +2323,7 @@ Index: git/binutils/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6621,11 +6875,15 @@ $as_echo "no" >&6; }
+@@ -6625,11 +6879,15 @@ $as_echo "no" >&6; }
fi
@@ -2337,7 +2342,7 @@ Index: git/binutils/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6641,7 +6899,7 @@ do
+@@ -6645,7 +6903,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -2346,7 +2351,7 @@ Index: git/binutils/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6660,6 +6918,10 @@ else
+@@ -6664,6 +6922,10 @@ else
$as_echo "no" >&6; }
fi
@@ -2357,7 +2362,7 @@ Index: git/binutils/configure
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6671,12 +6933,10 @@ ac_tool_warned=yes ;;
+@@ -6675,12 +6937,10 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -2372,7 +2377,7 @@ Index: git/binutils/configure
-@@ -6688,6 +6948,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6692,6 +6952,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -2437,7 +2442,7 @@ Index: git/binutils/configure
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-@@ -7022,8 +7340,8 @@ esac
+@@ -7026,8 +7344,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -2448,7 +2453,7 @@ Index: git/binutils/configure
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -7059,6 +7377,7 @@ for ac_symprfx in "" "_"; do
+@@ -7063,6 +7381,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -2456,7 +2461,7 @@ Index: git/binutils/configure
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -7100,6 +7419,18 @@ _LT_EOF
+@@ -7104,6 +7423,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -2475,7 +2480,7 @@ Index: git/binutils/configure
#ifdef __cplusplus
extern "C" {
#endif
-@@ -7111,7 +7442,7 @@ _LT_EOF
+@@ -7115,7 +7446,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -2484,7 +2489,7 @@ Index: git/binutils/configure
const char *name;
void *address;
}
-@@ -7137,8 +7468,8 @@ static const void *lt_preloaded_setup()
+@@ -7141,8 +7472,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -2495,7 +2500,7 @@ Index: git/binutils/configure
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7148,8 +7479,8 @@ _LT_EOF
+@@ -7152,8 +7483,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -2506,7 +2511,7 @@ Index: git/binutils/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7186,6 +7517,18 @@ else
+@@ -7190,6 +7521,21 @@ else
$as_echo "ok" >&6; }
fi
@@ -2522,13 +2527,18 @@ Index: git/binutils/configure
+
+
+
++
++
++
-@@ -7207,6 +7550,43 @@ fi
+@@ -7206,6 +7552,40 @@ fi
++
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -2561,15 +2571,10 @@ Index: git/binutils/configure
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-@@ -7413,6 +7793,123 @@ esac
+
+
+
+@@ -7417,6 +7797,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -2693,7 +2698,7 @@ Index: git/binutils/configure
case $host_os in
rhapsody* | darwin*)
-@@ -7976,6 +8473,8 @@ _LT_EOF
+@@ -7980,6 +8477,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -2702,7 +2707,7 @@ Index: git/binutils/configure
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8171,7 +8670,8 @@ fi
+@@ -8175,7 +8674,8 @@ fi
LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
@@ -2712,7 +2717,7 @@ Index: git/binutils/configure
-@@ -8260,7 +8760,7 @@ aix3*)
+@@ -8264,7 +8764,7 @@ aix3*)
esac
# Global variables:
@@ -2721,7 +2726,7 @@ Index: git/binutils/configure
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8558,8 +9058,6 @@ fi
+@@ -8562,8 +9062,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -2730,7 +2735,7 @@ Index: git/binutils/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8725,6 +9223,12 @@ $as_echo_n "checking for $compiler optio
+@@ -8729,6 +9227,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -2743,7 +2748,7 @@ Index: git/binutils/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8787,7 +9291,7 @@ $as_echo_n "checking for $compiler optio
+@@ -8791,7 +9295,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -2752,7 +2757,7 @@ Index: git/binutils/configure
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8844,13 +9348,17 @@ case $host_os in
+@@ -8848,13 +9352,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -2776,7 +2781,7 @@ Index: git/binutils/configure
#
# Check to make sure the PIC flag actually works.
-@@ -8911,6 +9419,11 @@ fi
+@@ -8915,6 +9423,11 @@ fi
@@ -2788,7 +2793,7 @@ Index: git/binutils/configure
#
# Check to make sure the static flag actually works.
#
-@@ -9261,7 +9774,8 @@ _LT_EOF
+@@ -9265,7 +9778,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -2798,7 +2803,7 @@ Index: git/binutils/configure
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9360,12 +9874,12 @@ _LT_EOF
+@@ -9364,12 +9878,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -2813,7 +2818,7 @@ Index: git/binutils/configure
fi
;;
esac
-@@ -9379,8 +9893,8 @@ _LT_EOF
+@@ -9383,8 +9897,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -2824,7 +2829,7 @@ Index: git/binutils/configure
fi
;;
-@@ -9398,8 +9912,8 @@ _LT_EOF
+@@ -9402,8 +9916,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -2835,7 +2840,7 @@ Index: git/binutils/configure
else
ld_shlibs=no
fi
-@@ -9445,8 +9959,8 @@ _LT_EOF
+@@ -9449,8 +9963,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -2846,7 +2851,7 @@ Index: git/binutils/configure
else
ld_shlibs=no
fi
-@@ -9576,7 +10090,13 @@ _LT_EOF
+@@ -9580,7 +10094,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -2861,7 +2866,7 @@ Index: git/binutils/configure
/* end confdefs.h. */
int
-@@ -9589,22 +10109,29 @@ main ()
+@@ -9593,22 +10113,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -2904,7 +2909,7 @@ Index: git/binutils/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9616,7 +10143,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9620,7 +10147,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -2919,7 +2924,7 @@ Index: git/binutils/configure
/* end confdefs.h. */
int
-@@ -9629,22 +10162,29 @@ main ()
+@@ -9633,22 +10166,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -2962,7 +2967,7 @@ Index: git/binutils/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9689,20 +10229,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9693,20 +10233,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -3040,7 +3045,7 @@ Index: git/binutils/configure
;;
darwin* | rhapsody*)
-@@ -9763,7 +10346,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9767,7 +10350,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -3049,7 +3054,7 @@ Index: git/binutils/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9771,7 +10354,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9775,7 +10358,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -3058,7 +3063,7 @@ Index: git/binutils/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9787,7 +10370,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9791,7 +10374,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -3067,7 +3072,7 @@ Index: git/binutils/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9811,10 +10394,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9815,10 +10398,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -3080,7 +3085,7 @@ Index: git/binutils/configure
;;
esac
else
-@@ -9893,23 +10476,36 @@ fi
+@@ -9897,23 +10480,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -3125,7 +3130,7 @@ Index: git/binutils/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9994,7 +10590,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9998,7 +10594,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -3134,7 +3139,7 @@ Index: git/binutils/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -10013,9 +10609,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -10017,9 +10613,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -3146,7 +3151,7 @@ Index: git/binutils/configure
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10591,8 +11187,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10595,8 +11191,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -3158,7 +3163,7 @@ Index: git/binutils/configure
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10625,13 +11222,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10629,13 +11226,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -3231,7 +3236,7 @@ Index: git/binutils/configure
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10723,7 +11378,7 @@ haiku*)
+@@ -10727,7 +11382,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -3240,16 +3245,16 @@ Index: git/binutils/configure
hardcode_into_libs=yes
;;
-@@ -11519,7 +12174,7 @@ else
+@@ -11523,7 +12178,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11522 "configure"
+-#line 11526 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11563,10 +12218,10 @@ else
+@@ -11567,10 +12222,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -3262,16 +3267,16 @@ Index: git/binutils/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11625,7 +12280,7 @@ else
+@@ -11629,7 +12284,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11628 "configure"
+-#line 11632 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11669,10 +12324,10 @@ else
+@@ -11673,10 +12328,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -3284,7 +3289,7 @@ Index: git/binutils/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15731,13 +16386,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -15936,13 +16591,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -3305,7 +3310,7 @@ Index: git/binutils/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -15752,14 +16414,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -15957,14 +16619,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -3324,7 +3329,7 @@ Index: git/binutils/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15792,12 +16457,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -15997,12 +16662,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -3338,7 +3343,7 @@ Index: git/binutils/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -15852,8 +16517,13 @@ reload_flag \
+@@ -16057,8 +16722,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -3352,7 +3357,7 @@ Index: git/binutils/configure
STRIP \
RANLIB \
CC \
-@@ -15863,12 +16533,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16068,12 +16738,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -3368,7 +3373,7 @@ Index: git/binutils/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -15884,7 +16556,6 @@ no_undefined_flag \
+@@ -16089,7 +16761,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -3376,7 +3381,7 @@ Index: git/binutils/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -15920,6 +16591,7 @@ module_cmds \
+@@ -16125,6 +16796,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -3384,7 +3389,7 @@ Index: git/binutils/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -16686,7 +17358,8 @@ $as_echo X"$file" |
+@@ -16891,7 +17563,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -3394,7 +3399,7 @@ Index: git/binutils/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -16789,19 +17462,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16994,19 +17667,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -3438,7 +3443,7 @@ Index: git/binutils/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -16831,6 +17527,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -17036,6 +17732,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -3451,7 +3456,7 @@ Index: git/binutils/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -16840,6 +17542,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -17045,6 +17747,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -3461,7 +3466,7 @@ Index: git/binutils/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -16954,12 +17659,12 @@ with_gcc=$GCC
+@@ -17159,12 +17864,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -3477,7 +3482,7 @@ Index: git/binutils/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -17046,9 +17751,6 @@ inherit_rpath=$inherit_rpath
+@@ -17251,9 +17956,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -3487,7 +3492,7 @@ Index: git/binutils/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -17064,6 +17766,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17269,6 +17971,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -3497,7 +3502,7 @@ Index: git/binutils/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -17096,210 +17801,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17301,210 +18006,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -3699,9 +3704,15 @@ Index: git/binutils/configure
-_LT_EOF
- ;;
- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
-
++
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
@@ -3859,19 +3870,16 @@ Index: git/binutils/configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
-
-- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
-
-- mv -f "$cfgfile" "$ofile" ||
++
++
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: git/gas/configure
-===================================================================
---- git.orig/gas/configure
-+++ git/gas/configure
+diff --git a/gas/configure b/gas/configure
+index 64de9f19da..a82fde7fa8 100755
+--- a/gas/configure
++++ b/gas/configure
@@ -681,8 +681,11 @@ OTOOL
LIPO
NMEDIT
@@ -3892,7 +3900,7 @@ Index: git/gas/configure
enable_libtool_lock
enable_plugins
enable_largefile
-@@ -1482,6 +1486,8 @@ Optional Packages:
+@@ -1487,6 +1491,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -3901,7 +3909,7 @@ Index: git/gas/configure
--with-cpu=CPU default cpu variant is CPU (currently only supported
on ARC)
--with-system-zlib use installed libz
-@@ -5269,8 +5275,8 @@ esac
+@@ -5274,8 +5280,8 @@ esac
@@ -3912,7 +3920,7 @@ Index: git/gas/configure
-@@ -5310,7 +5316,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5315,7 +5321,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -3921,7 +3929,7 @@ Index: git/gas/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5996,8 +6002,8 @@ $as_echo_n "checking whether the shell u
+@@ -6001,8 +6007,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -3932,7 +3940,7 @@ Index: git/gas/configure
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6046,6 +6052,80 @@ esac
+@@ -6051,6 +6057,80 @@ esac
@@ -4013,7 +4021,7 @@ Index: git/gas/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6062,6 +6142,11 @@ case $reload_flag in
+@@ -6067,6 +6147,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -4025,7 +4033,7 @@ Index: git/gas/configure
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6230,7 +6315,8 @@ mingw* | pw32*)
+@@ -6235,7 +6320,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -4035,7 +4043,7 @@ Index: git/gas/configure
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6384,6 +6470,21 @@ esac
+@@ -6389,6 +6475,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -4057,7 +4065,7 @@ Index: git/gas/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6399,9 +6500,162 @@ test -z "$deplibs_check_method" && depli
+@@ -6404,9 +6505,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4071,9 +4079,7 @@ Index: git/gas/configure
+
+
+
- if test -n "$ac_tool_prefix"; then
-- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
--set dummy ${ac_tool_prefix}ar; ac_word=$2
++if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -4214,7 +4220,9 @@ Index: git/gas/configure
+
+
+
-+if test -n "$ac_tool_prefix"; then
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
@@ -4222,7 +4230,7 @@ Index: git/gas/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6417,7 +6671,7 @@ do
+@@ -6422,7 +6676,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -4231,7 +4239,7 @@ Index: git/gas/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6437,11 +6691,15 @@ $as_echo "no" >&6; }
+@@ -6442,11 +6696,15 @@ $as_echo "no" >&6; }
fi
@@ -4250,7 +4258,7 @@ Index: git/gas/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6457,7 +6715,7 @@ do
+@@ -6462,7 +6720,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -4259,7 +4267,7 @@ Index: git/gas/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6476,6 +6734,10 @@ else
+@@ -6481,6 +6739,10 @@ else
$as_echo "no" >&6; }
fi
@@ -4270,7 +4278,7 @@ Index: git/gas/configure
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6487,12 +6749,10 @@ ac_tool_warned=yes ;;
+@@ -6492,12 +6754,10 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -4285,7 +4293,7 @@ Index: git/gas/configure
-@@ -6504,6 +6764,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6509,6 +6769,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -4350,7 +4358,7 @@ Index: git/gas/configure
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-@@ -6838,8 +7156,8 @@ esac
+@@ -6843,8 +7161,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -4361,7 +4369,7 @@ Index: git/gas/configure
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6875,6 +7193,7 @@ for ac_symprfx in "" "_"; do
+@@ -6880,6 +7198,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -4369,7 +4377,7 @@ Index: git/gas/configure
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6916,6 +7235,18 @@ _LT_EOF
+@@ -6921,6 +7240,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -4388,7 +4396,7 @@ Index: git/gas/configure
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6927,7 +7258,7 @@ _LT_EOF
+@@ -6932,7 +7263,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -4397,7 +4405,7 @@ Index: git/gas/configure
const char *name;
void *address;
}
-@@ -6953,8 +7284,8 @@ static const void *lt_preloaded_setup()
+@@ -6958,8 +7289,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -4408,7 +4416,7 @@ Index: git/gas/configure
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6964,8 +7295,8 @@ _LT_EOF
+@@ -6969,8 +7300,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -4419,7 +4427,7 @@ Index: git/gas/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7002,6 +7333,19 @@ else
+@@ -7007,6 +7338,21 @@ else
$as_echo "ok" >&6; }
fi
@@ -4436,13 +4444,17 @@ Index: git/gas/configure
+
+
+
++
++
-@@ -7022,6 +7366,42 @@ fi
+@@ -7023,6 +7369,40 @@ fi
++
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -4475,14 +4487,10 @@ Index: git/gas/configure
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
-@@ -7229,6 +7609,123 @@ esac
+
+
+@@ -7234,6 +7614,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -4606,7 +4614,7 @@ Index: git/gas/configure
case $host_os in
rhapsody* | darwin*)
-@@ -7792,6 +8289,8 @@ _LT_EOF
+@@ -7797,6 +8294,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -4615,7 +4623,7 @@ Index: git/gas/configure
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7987,7 +8486,8 @@ fi
+@@ -7992,7 +8491,8 @@ fi
LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
@@ -4625,7 +4633,7 @@ Index: git/gas/configure
-@@ -8076,7 +8576,7 @@ aix3*)
+@@ -8081,7 +8581,7 @@ aix3*)
esac
# Global variables:
@@ -4634,7 +4642,7 @@ Index: git/gas/configure
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8374,8 +8874,6 @@ fi
+@@ -8379,8 +8879,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -4643,7 +4651,7 @@ Index: git/gas/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8541,6 +9039,12 @@ $as_echo_n "checking for $compiler optio
+@@ -8546,6 +9044,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -4656,7 +4664,7 @@ Index: git/gas/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8603,7 +9107,7 @@ $as_echo_n "checking for $compiler optio
+@@ -8608,7 +9112,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -4665,7 +4673,7 @@ Index: git/gas/configure
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8660,13 +9164,17 @@ case $host_os in
+@@ -8665,13 +9169,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -4689,7 +4697,7 @@ Index: git/gas/configure
#
# Check to make sure the PIC flag actually works.
-@@ -8727,6 +9235,11 @@ fi
+@@ -8732,6 +9240,11 @@ fi
@@ -4701,7 +4709,7 @@ Index: git/gas/configure
#
# Check to make sure the static flag actually works.
#
-@@ -9077,7 +9590,8 @@ _LT_EOF
+@@ -9082,7 +9595,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -4711,7 +4719,7 @@ Index: git/gas/configure
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9176,12 +9690,12 @@ _LT_EOF
+@@ -9181,12 +9695,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -4726,7 +4734,7 @@ Index: git/gas/configure
fi
;;
esac
-@@ -9195,8 +9709,8 @@ _LT_EOF
+@@ -9200,8 +9714,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -4737,7 +4745,7 @@ Index: git/gas/configure
fi
;;
-@@ -9214,8 +9728,8 @@ _LT_EOF
+@@ -9219,8 +9733,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -4748,7 +4756,7 @@ Index: git/gas/configure
else
ld_shlibs=no
fi
-@@ -9261,8 +9775,8 @@ _LT_EOF
+@@ -9266,8 +9780,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -4759,7 +4767,7 @@ Index: git/gas/configure
else
ld_shlibs=no
fi
-@@ -9392,7 +9906,13 @@ _LT_EOF
+@@ -9397,7 +9911,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -4774,7 +4782,7 @@ Index: git/gas/configure
/* end confdefs.h. */
int
-@@ -9405,22 +9925,29 @@ main ()
+@@ -9410,22 +9930,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -4817,7 +4825,7 @@ Index: git/gas/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9432,7 +9959,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9437,7 +9964,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -4832,7 +4840,7 @@ Index: git/gas/configure
/* end confdefs.h. */
int
-@@ -9445,22 +9978,29 @@ main ()
+@@ -9450,22 +9983,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -4875,7 +4883,7 @@ Index: git/gas/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9505,20 +10045,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9510,20 +10050,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -4953,7 +4961,7 @@ Index: git/gas/configure
;;
darwin* | rhapsody*)
-@@ -9579,7 +10162,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9584,7 +10167,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -4962,7 +4970,7 @@ Index: git/gas/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9587,7 +10170,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9592,7 +10175,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -4971,7 +4979,7 @@ Index: git/gas/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9603,7 +10186,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9608,7 +10191,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -4980,7 +4988,7 @@ Index: git/gas/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9627,10 +10210,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9632,10 +10215,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -4993,7 +5001,7 @@ Index: git/gas/configure
;;
esac
else
-@@ -9709,23 +10292,36 @@ fi
+@@ -9714,23 +10297,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -5038,7 +5046,7 @@ Index: git/gas/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9810,7 +10406,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9815,7 +10411,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -5047,7 +5055,7 @@ Index: git/gas/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9829,9 +10425,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9834,9 +10430,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -5059,7 +5067,7 @@ Index: git/gas/configure
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10407,8 +11003,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10412,8 +11008,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -5071,7 +5079,7 @@ Index: git/gas/configure
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10441,13 +11038,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10446,13 +11043,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -5144,7 +5152,7 @@ Index: git/gas/configure
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10539,7 +11194,7 @@ haiku*)
+@@ -10544,7 +11199,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -5153,16 +5161,16 @@ Index: git/gas/configure
hardcode_into_libs=yes
;;
-@@ -11335,7 +11990,7 @@ else
+@@ -11340,7 +11995,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11338 "configure"
+-#line 11343 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11379,10 +12034,10 @@ else
+@@ -11384,10 +12039,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -5175,16 +5183,16 @@ Index: git/gas/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11441,7 +12096,7 @@ else
+@@ -11446,7 +12101,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11444 "configure"
+-#line 11449 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11485,10 +12140,10 @@ else
+@@ -11490,10 +12145,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -5197,7 +5205,7 @@ Index: git/gas/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15803,13 +16458,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -15896,13 +16551,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -5218,7 +5226,7 @@ Index: git/gas/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -15824,14 +16486,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -15917,14 +16579,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -5237,7 +5245,7 @@ Index: git/gas/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15864,12 +16529,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -15957,12 +16622,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -5251,7 +5259,7 @@ Index: git/gas/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -15924,8 +16589,13 @@ reload_flag \
+@@ -16017,8 +16682,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -5265,7 +5273,7 @@ Index: git/gas/configure
STRIP \
RANLIB \
CC \
-@@ -15935,12 +16605,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16028,12 +16698,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -5281,7 +5289,7 @@ Index: git/gas/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -15956,7 +16628,6 @@ no_undefined_flag \
+@@ -16049,7 +16721,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -5289,7 +5297,7 @@ Index: git/gas/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -15992,6 +16663,7 @@ module_cmds \
+@@ -16085,6 +16756,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -5297,7 +5305,7 @@ Index: git/gas/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -16765,7 +17437,8 @@ $as_echo X"$file" |
+@@ -16858,7 +17530,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -5307,7 +5315,7 @@ Index: git/gas/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -16868,19 +17541,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16961,19 +17634,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -5351,7 +5359,7 @@ Index: git/gas/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -16910,6 +17606,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -17003,6 +17699,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -5364,7 +5372,7 @@ Index: git/gas/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -16919,6 +17621,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -17012,6 +17714,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -5374,7 +5382,7 @@ Index: git/gas/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -17033,12 +17738,12 @@ with_gcc=$GCC
+@@ -17126,12 +17831,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -5390,7 +5398,7 @@ Index: git/gas/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -17125,9 +17830,6 @@ inherit_rpath=$inherit_rpath
+@@ -17218,9 +17923,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -5400,7 +5408,7 @@ Index: git/gas/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -17143,6 +17845,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17236,6 +17938,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -5410,7 +5418,7 @@ Index: git/gas/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -17175,210 +17880,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17268,210 +17973,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -5612,9 +5620,15 @@ Index: git/gas/configure
-_LT_EOF
- ;;
- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
-
++
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
@@ -5772,19 +5786,16 @@ Index: git/gas/configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
-
-- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
-
-- mv -f "$cfgfile" "$ofile" ||
++
++
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: git/gprof/configure
-===================================================================
---- git.orig/gprof/configure
-+++ git/gprof/configure
+diff --git a/gprof/configure b/gprof/configure
+index ab32bab2b6..5119c6019f 100755
+--- a/gprof/configure
++++ b/gprof/configure
@@ -662,8 +662,11 @@ OTOOL
LIPO
NMEDIT
@@ -5834,7 +5845,7 @@ Index: git/gprof/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5851,8 +5857,8 @@ $as_echo_n "checking whether the shell u
+@@ -5851,8 +5857,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -5851,7 +5862,7 @@ Index: git/gprof/configure
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-+if ${lt_cv_to_host_file_cmd+:} false; then :
++if test "${lt_cv_to_host_file_cmd+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $host in
@@ -5898,7 +5909,7 @@ Index: git/gprof/configure
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-+if ${lt_cv_to_tool_file_cmd+:} false; then :
++if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ #assume ordinary cross tools, or native build.
@@ -5982,7 +5993,7 @@ Index: git/gprof/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6259,9 +6355,162 @@ test -z "$deplibs_check_method" && depli
+@@ -6257,11 +6353,164 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -5996,6 +6007,8 @@ Index: git/gprof/configure
+
+
+
+
+
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
@@ -6003,7 +6016,7 @@ Index: git/gprof/configure
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_DLLTOOL+:} false; then :
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
@@ -6015,7 +6028,7 @@ Index: git/gprof/configure
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
@@ -6043,7 +6056,7 @@ Index: git/gprof/configure
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
@@ -6055,7 +6068,7 @@ Index: git/gprof/configure
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
@@ -6103,7 +6116,7 @@ Index: git/gprof/configure
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
++if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
@@ -6147,11 +6160,13 @@ Index: git/gprof/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6277,7 +6526,7 @@ do
+@@ -6276,8 +6525,8 @@ do
+ IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6175,15 +6190,6 @@ Index: git/gprof/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6317,7 +6570,7 @@ do
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_ac_ct_AR="ar"
-+ ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
@@ -6336,6 +6589,10 @@ else
$as_echo "no" >&6; }
fi
@@ -6220,7 +6226,7 @@ Index: git/gprof/configure
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
-+if ${lt_cv_ar_at_file+:} false; then :
++if test "${lt_cv_ar_at_file+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ar_at_file=no
@@ -6319,7 +6325,7 @@ Index: git/gprof/configure
const char *name;
void *address;
}
-@@ -6813,8 +7139,8 @@ static const void *lt_preloaded_setup()
+@@ -6813,8 +7139,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -6341,7 +6347,7 @@ Index: git/gprof/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6862,6 +7188,17 @@ else
+@@ -6862,6 +7188,18 @@ else
$as_echo "ok" >&6; }
fi
@@ -6356,14 +6362,19 @@ Index: git/gprof/configure
+
+
+
++
-@@ -6883,6 +7220,44 @@ fi
+@@ -6878,6 +7216,43 @@ fi
+
++
++
++
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -6390,20 +6401,15 @@ Index: git/gprof/configure
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
+$as_echo "${with_libtool_sysroot}" >&6; }
-+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
++ as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
+
+
+
@@ -7089,6 +7464,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -6413,7 +6419,7 @@ Index: git/gprof/configure
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
++if test "${ac_cv_prog_MANIFEST_TOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MANIFEST_TOOL"; then
@@ -6425,7 +6431,7 @@ Index: git/gprof/configure
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
@@ -6453,7 +6459,7 @@ Index: git/gprof/configure
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
++if test "${ac_cv_prog_ac_ct_MANIFEST_TOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
@@ -6465,7 +6471,7 @@ Index: git/gprof/configure
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
@@ -6503,7 +6509,7 @@ Index: git/gprof/configure
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-+if ${lt_cv_path_mainfest_tool+:} false; then :
++if test "${lt_cv_path_mainfest_tool+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_path_mainfest_tool=no
@@ -6565,7 +6571,7 @@ Index: git/gprof/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8401,6 +8894,12 @@ $as_echo_n "checking for $compiler optio
+@@ -8401,6 +8894,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -6578,7 +6584,7 @@ Index: git/gprof/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8463,7 +8962,7 @@ $as_echo_n "checking for $compiler optio
+@@ -8463,7 +8962,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -6600,7 +6606,7 @@ Index: git/gprof/configure
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-+if ${lt_cv_prog_compiler_pic+:} false; then :
++if test "${lt_cv_prog_compiler_pic+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
@@ -6689,7 +6695,7 @@ Index: git/gprof/configure
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
-+ if ${lt_cv_aix_libpath_+:} false; then :
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6739,7 +6745,7 @@ Index: git/gprof/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9292,7 +9814,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9292,7 +9814,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -6747,7 +6753,7 @@ Index: git/gprof/configure
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
-+ if ${lt_cv_aix_libpath_+:} false; then :
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6797,7 +6803,7 @@ Index: git/gprof/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9365,20 +9900,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9365,20 +9900,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -6875,7 +6881,7 @@ Index: git/gprof/configure
;;
darwin* | rhapsody*)
-@@ -9439,7 +10017,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9439,7 +10017,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -6884,7 +6890,7 @@ Index: git/gprof/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9447,7 +10025,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9447,7 +10025,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -6893,7 +6899,7 @@ Index: git/gprof/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9463,7 +10041,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9463,7 +10041,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -6902,7 +6908,7 @@ Index: git/gprof/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9487,10 +10065,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9487,10 +10065,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -6930,7 +6936,7 @@ Index: git/gprof/configure
+ # This should be the same for all languages, so no per-tag cache variable.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-+if ${lt_cv_irix_exported_symbol+:} false; then :
++if test "${lt_cv_irix_exported_symbol+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ save_LDFLAGS="$LDFLAGS"
@@ -6960,7 +6966,7 @@ Index: git/gprof/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9670,7 +10261,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9670,7 +10261,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -6969,7 +6975,7 @@ Index: git/gprof/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9689,9 +10280,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9689,9 +10280,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -7075,15 +7081,6 @@ Index: git/gprof/configure
hardcode_into_libs=yes
;;
-@@ -11195,7 +11845,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 11193 "configure"
-+#line $LINENO "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
@@ -11239,10 +11889,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
@@ -7097,15 +7094,6 @@ Index: git/gprof/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11301,7 +11951,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 11299 "configure"
-+#line $LINENO "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
@@ -11345,10 +11995,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
@@ -7119,7 +7107,7 @@ Index: git/gprof/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -13314,13 +13964,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -13314,13 +13964,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -7140,7 +7128,7 @@ Index: git/gprof/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -13335,14 +13992,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -13335,14 +13992,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -7159,7 +7147,7 @@ Index: git/gprof/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -13375,12 +14035,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -13375,12 +14035,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -7273,7 +7261,7 @@ Index: git/gprof/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -14413,6 +15104,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -14413,6 +15104,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -7534,9 +7522,15 @@ Index: git/gprof/configure
-_LT_EOF
- ;;
- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
-
++
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
@@ -7694,19 +7688,16 @@ Index: git/gprof/configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
-
-- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
-
-- mv -f "$cfgfile" "$ofile" ||
++
++
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: git/ld/configure
-===================================================================
---- git.orig/ld/configure
-+++ git/ld/configure
+diff --git a/ld/configure b/ld/configure
+index bc09e7ef81..43c391c2b3 100755
+--- a/ld/configure
++++ b/ld/configure
@@ -687,8 +687,11 @@ OTOOL
LIPO
NMEDIT
@@ -7756,7 +7747,7 @@ Index: git/ld/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6686,8 +6692,8 @@ $as_echo_n "checking whether the shell u
+@@ -6686,8 +6692,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -7892,7 +7883,7 @@ Index: git/ld/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -7089,9 +7190,162 @@ test -z "$deplibs_check_method" && depli
+@@ -7089,9 +7190,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -8105,7 +8096,7 @@ Index: git/ld/configure
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -7177,12 +7439,11 @@ ac_tool_warned=yes ;;
+@@ -7177,12 +7439,12 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -8118,10 +8109,11 @@ Index: git/ld/configure
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
++
-@@ -7193,6 +7454,63 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -7192,6 +7454,62 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -8181,10 +8173,9 @@ Index: git/ld/configure
+
+
+
-+
+
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -7528,8 +7846,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -8232,7 +8223,7 @@ Index: git/ld/configure
const char *name;
void *address;
}
-@@ -7643,8 +7974,8 @@ static const void *lt_preloaded_setup()
+@@ -7643,8 +7974,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -8254,7 +8245,7 @@ Index: git/ld/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7692,6 +8023,13 @@ else
+@@ -7692,6 +8023,19 @@ else
$as_echo "ok" >&6; }
fi
@@ -8265,10 +8256,16 @@ Index: git/ld/configure
+ nm_file_list_spec='@'
+fi
+
++
++
++
++
++
++
-@@ -7713,6 +8051,48 @@ fi
+@@ -7708,6 +8052,42 @@ fi
@@ -8276,7 +8273,6 @@ Index: git/ld/configure
+
+
+
-+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -8309,14 +8305,9 @@ Index: git/ld/configure
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
+
+
+
@@ -7919,6 +8299,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -8495,7 +8486,7 @@ Index: git/ld/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -9232,6 +9740,12 @@ $as_echo_n "checking for $compiler optio
+@@ -9232,6 +9740,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -8508,7 +8499,7 @@ Index: git/ld/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -9294,7 +9808,7 @@ $as_echo_n "checking for $compiler optio
+@@ -9294,7 +9808,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -8669,7 +8660,7 @@ Index: git/ld/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -10123,7 +10660,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10123,7 +10660,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -8727,10 +8718,11 @@ Index: git/ld/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -10196,20 +10746,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10195,21 +10745,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ # When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
+- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
@@ -8745,6 +8737,7 @@ Index: git/ld/configure
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes=yes
++ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
@@ -8805,7 +8798,7 @@ Index: git/ld/configure
;;
darwin* | rhapsody*)
-@@ -10270,7 +10863,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10270,7 +10863,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -8814,7 +8807,7 @@ Index: git/ld/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -10278,7 +10871,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10278,7 +10871,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -8823,7 +8816,7 @@ Index: git/ld/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -10294,7 +10887,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10294,7 +10887,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -8832,7 +8825,7 @@ Index: git/ld/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -10318,10 +10911,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10318,10 +10911,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -8890,7 +8883,7 @@ Index: git/ld/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -10501,7 +11107,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -10501,7 +11107,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -8899,7 +8892,7 @@ Index: git/ld/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -10520,9 +11126,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -10520,9 +11126,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -9065,7 +9058,7 @@ Index: git/ld/configure
compiler=$CC
compiler_CXX=$CC
for cc_temp in $compiler""; do
-@@ -12870,7 +13537,13 @@ $as_echo_n "checking whether the $compil
+@@ -12870,7 +13537,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
allow_undefined_flag_CXX='-berok'
# Determine the default libpath from the value encoded in an empty
# executable.
@@ -9123,7 +9116,7 @@ Index: git/ld/configure
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-@@ -12911,7 +13591,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -12911,7 +13591,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -9181,7 +9174,7 @@ Index: git/ld/configure
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -12982,29 +13675,75 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -12982,29 +13675,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
cygwin* | mingw* | pw32* | cegcc*)
@@ -9280,7 +9273,7 @@ Index: git/ld/configure
darwin* | rhapsody*)
-@@ -13110,7 +13849,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -13110,7 +13849,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
*)
if test "$GXX" = yes; then
@@ -9289,7 +9282,7 @@ Index: git/ld/configure
else
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
-@@ -13181,10 +13920,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -13181,10 +13920,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
@@ -9302,7 +9295,7 @@ Index: git/ld/configure
;;
esac
fi
-@@ -13225,9 +13964,9 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -13225,9 +13964,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
@@ -9314,7 +9307,7 @@ Index: git/ld/configure
fi
fi
link_all_deplibs_CXX=yes
-@@ -13297,20 +14036,20 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -13297,20 +14036,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
prelink_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
@@ -9339,7 +9332,7 @@ Index: git/ld/configure
;;
*) # Version 6 and above use weak symbols
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-@@ -13505,7 +14244,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -13505,7 +14244,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
@@ -9348,7 +9341,7 @@ Index: git/ld/configure
;;
esac
-@@ -13551,7 +14290,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -13551,7 +14290,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
solaris*)
case $cc_basename in
@@ -9357,7 +9350,7 @@ Index: git/ld/configure
# Sun C++ 4.2, 5.x and Centerline C++
archive_cmds_need_lc_CXX=yes
no_undefined_flag_CXX=' -zdefs'
-@@ -13592,9 +14331,9 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -13592,9 +14331,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
@@ -9383,7 +9376,7 @@ Index: git/ld/configure
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
-@@ -13742,7 +14488,7 @@ if { { eval echo "\"\$as_me\":${as_linen
+@@ -13742,7 +14488,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
@@ -9392,7 +9385,7 @@ Index: git/ld/configure
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
-@@ -13751,13 +14497,22 @@ if { { eval echo "\"\$as_me\":${as_linen
+@@ -13751,13 +14497,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
test $p = "-R"; then
prev=$p
continue
@@ -9419,7 +9412,7 @@ Index: git/ld/configure
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
-@@ -13777,8 +14532,10 @@ if { { eval echo "\"\$as_me\":${as_linen
+@@ -13777,8 +14532,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
postdeps_CXX="${postdeps_CXX} ${prev}${p}"
fi
fi
@@ -9456,7 +9449,7 @@ Index: git/ld/configure
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
-@@ -14020,6 +14776,11 @@ $as_echo_n "checking for $compiler optio
+@@ -14020,6 +14776,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
;;
esac
;;
@@ -9468,7 +9461,7 @@ Index: git/ld/configure
dgux*)
case $cc_basename in
ec++*)
-@@ -14172,7 +14933,7 @@ $as_echo_n "checking for $compiler optio
+@@ -14172,7 +14933,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
;;
solaris*)
case $cc_basename in
@@ -9515,7 +9508,7 @@ Index: git/ld/configure
case $host_os in
aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
-@@ -14489,15 +15260,20 @@ $as_echo_n "checking whether the $compil
+@@ -14489,15 +15260,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
;;
pw32*)
export_symbols_cmds_CXX="$ltdll_cmds"
@@ -9643,7 +9636,7 @@ Index: git/ld/configure
LDCXX=$LD
LD=$lt_save_LD
GCC=$lt_save_GCC
-@@ -18444,13 +19280,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -18444,13 +19280,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -9664,7 +9657,7 @@ Index: git/ld/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -18465,14 +19308,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -18465,14 +19308,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -9683,7 +9676,7 @@ Index: git/ld/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -18505,12 +19351,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -18505,12 +19351,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -9697,7 +9690,7 @@ Index: git/ld/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -18549,8 +19395,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archi
+@@ -18549,8 +19395,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
@@ -9707,7 +9700,7 @@ Index: git/ld/configure
lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
-@@ -18577,12 +19423,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$har
+@@ -18577,12 +19423,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
@@ -9849,7 +9842,7 @@ Index: git/ld/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -19684,6 +20561,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -19684,6 +20561,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -10110,9 +10103,15 @@ Index: git/ld/configure
-_LT_EOF
- ;;
- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
-
++
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
@@ -10270,11 +10269,8 @@ Index: git/ld/configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
-
-- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
-
-- mv -f "$cfgfile" "$ofile" ||
++
++
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
@@ -10315,10 +10311,10 @@ Index: git/ld/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec_CXX
-Index: git/libtool.m4
-===================================================================
---- git.orig/libtool.m4
-+++ git/libtool.m4
+diff --git a/libtool.m4 b/libtool.m4
+index 434530059f..e45fdc6998 100644
+--- a/libtool.m4
++++ b/libtool.m4
@@ -1,7 +1,8 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
@@ -10358,7 +10354,7 @@ Index: git/libtool.m4
AC_SUBST(LIBTOOL)dnl
_LT_SETUP
-@@ -166,10 +169,13 @@ _LT_DECL([], [exeext], [0], [Executable
+@@ -166,10 +169,13 @@ _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
@@ -10381,7 +10377,7 @@ Index: git/libtool.m4
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -632,7 +638,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_
+@@ -632,7 +638,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.
@@ -10486,7 +10482,7 @@ Index: git/libtool.m4
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -1161,6 +1177,39 @@ _LT_DECL([], [ECHO], [1], [An echo progr
+@@ -1161,6 +1177,39 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
])# _LT_PROG_ECHO_BACKSLASH
@@ -10739,7 +10735,7 @@ Index: git/libtool.m4
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -3174,7 +3336,11 @@ test -z "$deplibs_check_method" && depli
+@@ -3174,7 +3336,11 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
_LT_DECL([], [deplibs_check_method], [1],
[Method to check whether dependent libraries are shared objects])
_LT_DECL([], [file_magic_cmd], [1],
@@ -10867,7 +10863,7 @@ Index: git/libtool.m4
const char *name;
void *address;
}
-@@ -3510,15 +3750,15 @@ static const void *lt_preloaded_setup()
+@@ -3510,15 +3750,15 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -10901,7 +10897,7 @@ Index: git/libtool.m4
_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
[Take the output of nm and produce a listing of raw symbols and C names])
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-@@ -3561,6 +3808,8 @@ _LT_DECL([global_symbol_to_c_name_addres
+@@ -3561,6 +3808,8 @@ _LT_DECL([global_symbol_to_c_name_address],
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
[lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
[Transform the output of nm in a C name address pair when lib prefix is needed])
@@ -10986,7 +10982,7 @@ Index: git/libtool.m4
#
# Check to make sure the static flag actually works.
#
-@@ -4213,6 +4477,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog
+@@ -4213,6 +4477,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
m4_defun([_LT_LINKER_SHLIBS],
[AC_REQUIRE([LT_PATH_LD])dnl
AC_REQUIRE([LT_PATH_NM])dnl
@@ -11308,7 +11304,7 @@ Index: git/libtool.m4
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
(test "X$CXX" != "Xg++"))) ; then
-@@ -5487,6 +5818,7 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -5487,6 +5818,7 @@ if test "$_lt_caught_CXX_error" != yes; then
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
@@ -11316,7 +11312,7 @@ Index: git/libtool.m4
lt_save_LD=$LD
lt_save_GCC=$GCC
GCC=$GXX
-@@ -5504,6 +5836,7 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -5504,6 +5836,7 @@ if test "$_lt_caught_CXX_error" != yes; then
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
@@ -11324,7 +11320,7 @@ Index: git/libtool.m4
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
-@@ -5667,7 +6000,7 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -5667,7 +6000,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an empty
# executable.
@@ -11333,7 +11329,7 @@ Index: git/libtool.m4
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -5679,7 +6012,7 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -5679,7 +6012,7 @@ if test "$_lt_caught_CXX_error" != yes; then
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -11342,7 +11338,7 @@ Index: git/libtool.m4
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
-@@ -5721,29 +6054,75 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -5721,29 +6054,75 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
cygwin* | mingw* | pw32* | cegcc*)
@@ -11441,7 +11437,7 @@ Index: git/libtool.m4
darwin* | rhapsody*)
_LT_DARWIN_LINKER_FEATURES($1)
;;
-@@ -5818,7 +6197,7 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -5818,7 +6197,7 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
*)
if test "$GXX" = yes; then
@@ -11450,7 +11446,7 @@ Index: git/libtool.m4
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
-@@ -5889,10 +6268,10 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -5889,10 +6268,10 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
@@ -11463,7 +11459,7 @@ Index: git/libtool.m4
;;
esac
fi
-@@ -5933,9 +6312,9 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -5933,9 +6312,9 @@ if test "$_lt_caught_CXX_error" != yes; then
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
@@ -11475,7 +11471,7 @@ Index: git/libtool.m4
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
-@@ -6005,20 +6384,20 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -6005,20 +6384,20 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
@@ -11500,7 +11496,7 @@ Index: git/libtool.m4
;;
*) # Version 6 and above use weak symbols
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-@@ -6213,7 +6592,7 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -6213,7 +6592,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
@@ -11509,7 +11505,7 @@ Index: git/libtool.m4
;;
esac
-@@ -6259,7 +6638,7 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -6259,7 +6638,7 @@ if test "$_lt_caught_CXX_error" != yes; then
solaris*)
case $cc_basename in
@@ -11518,7 +11514,7 @@ Index: git/libtool.m4
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-@@ -6300,9 +6679,9 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -6300,9 +6679,9 @@ if test "$_lt_caught_CXX_error" != yes; then
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
_LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
@@ -11530,7 +11526,7 @@ Index: git/libtool.m4
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
-@@ -6431,6 +6810,7 @@ if test "$_lt_caught_CXX_error" != yes;
+@@ -6431,6 +6810,7 @@ if test "$_lt_caught_CXX_error" != yes; then
fi # test -n "$compiler"
CC=$lt_save_CC
@@ -11738,7 +11734,7 @@ Index: git/libtool.m4
])# _LT_LANG_RC_CONFIG
-@@ -7101,6 +7536,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object
+@@ -7101,6 +7536,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
AC_SUBST([OBJDUMP])
])
@@ -11765,7 +11761,7 @@ Index: git/libtool.m4
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -7234,206 +7678,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn
+@@ -7234,206 +7678,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
])# _LT_CHECK_SHELL_FEATURES
@@ -11863,31 +11859,6 @@ Index: git/libtool.m4
-{
- func_len_result=${#1}
-}
--
--_LT_EOF
-- ;;
-- *) # Bourne compatible functions.
-- cat << \_LT_EOF >> "$cfgfile"
--
--# func_dirname file append nondir_replacement
--# Compute the dirname of FILE. If nonempty, add APPEND to the result,
--# otherwise set result to NONDIR_REPLACEMENT.
--func_dirname ()
--{
-- # Extract subdirectory from the argument.
-- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-- if test "X$func_dirname_result" = "X${1}"; then
-- func_dirname_result="${3}"
-- else
-- func_dirname_result="$func_dirname_result${2}"
-- fi
--}
--
--# func_basename file
--func_basename ()
--{
-- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
--}
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
@@ -11904,22 +11875,23 @@ Index: git/libtool.m4
+test 0 -eq $? || _lt_function_replace_fail=:
+])
--dnl func_dirname_and_basename
--dnl A portable version of this function is already defined in general.m4sh
--dnl so there is no need for it here.
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
--# func_stripname prefix suffix name
--# strip PREFIX and SUFFIX off of NAME.
--# PREFIX and SUFFIX must not contain globbing or regex special
--# characters, hashes, percent signs, but SUFFIX may contain a leading
--# dot (in which case that matches only a dot).
--# func_strip_suffix prefix name
--func_stripname ()
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
-{
-- case ${2} in
-- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-- esac
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
-}
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
@@ -11943,24 +11915,45 @@ Index: git/libtool.m4
+ esac
+ func_basename_result="${1##*/}"])
--# sed scripts:
--my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
--my_sed_long_arg='1s/^-[[^=]]*=//'
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}])
-+
+
+-dnl func_dirname_and_basename
+-dnl A portable version of this function is already defined in general.m4sh
+-dnl so there is no need for it here.
+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+ func_split_long_opt_name=${1%%=*}
+ func_split_long_opt_arg=${1#*=}])
-+
+
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-+
+
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[[^=]]*=//'
+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
@@ -12008,7 +12001,9 @@ Index: git/libtool.m4
+ func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-+
+
+-_LT_EOF
+-esac
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
@@ -12022,17 +12017,14 @@ Index: git/libtool.m4
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
--_LT_EOF
--esac
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+if test x"$_lt_function_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
--case $lt_shell_append in
-- yes)
-- cat << \_LT_EOF >> "$cfgfile"
--
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
@@ -12118,10 +12110,10 @@ Index: git/libtool.m4
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
-Index: git/ltmain.sh
-===================================================================
---- git.orig/ltmain.sh
-+++ git/ltmain.sh
+diff --git a/ltmain.sh b/ltmain.sh
+index 9503ec85d7..70e856e065 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
@@ -1,10 +1,9 @@
-# Generated from ltmain.m4sh.
@@ -12551,7 +12543,31 @@ Index: git/ltmain.sh
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
-+
+
+- # Shorthand for --mode=foo, only valid as the first argument
+- case $1 in
+- clean|clea|cle|cl)
+- shift; set dummy --mode clean ${1+"$@"}; shift
+- ;;
+- compile|compil|compi|comp|com|co|c)
+- shift; set dummy --mode compile ${1+"$@"}; shift
+- ;;
+- execute|execut|execu|exec|exe|ex|e)
+- shift; set dummy --mode execute ${1+"$@"}; shift
+- ;;
+- finish|finis|fini|fin|fi|f)
+- shift; set dummy --mode finish ${1+"$@"}; shift
+- ;;
+- install|instal|insta|inst|ins|in|i)
+- shift; set dummy --mode install ${1+"$@"}; shift
+- ;;
+- link|lin|li|l)
+- shift; set dummy --mode link ${1+"$@"}; shift
+- ;;
+- uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+- shift; set dummy --mode uninstall ${1+"$@"}; shift
+- ;;
+- esac
+ exit $EXIT_MISMATCH
+ fi
+}
@@ -12581,7 +12597,9 @@ Index: git/ltmain.sh
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+esac
-+
+
+- # Parse non-mode specific arguments:
+- while test "$#" -gt 0; do
+
+
+# Option defaults:
@@ -12597,34 +12615,8 @@ Index: git/ltmain.sh
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
-
-- # Shorthand for --mode=foo, only valid as the first argument
-- case $1 in
-- clean|clea|cle|cl)
-- shift; set dummy --mode clean ${1+"$@"}; shift
-- ;;
-- compile|compil|compi|comp|com|co|c)
-- shift; set dummy --mode compile ${1+"$@"}; shift
-- ;;
-- execute|execut|execu|exec|exe|ex|e)
-- shift; set dummy --mode execute ${1+"$@"}; shift
-- ;;
-- finish|finis|fini|fin|fi|f)
-- shift; set dummy --mode finish ${1+"$@"}; shift
-- ;;
-- install|instal|insta|inst|ins|in|i)
-- shift; set dummy --mode install ${1+"$@"}; shift
-- ;;
-- link|lin|li|l)
-- shift; set dummy --mode link ${1+"$@"}; shift
-- ;;
-- uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-- shift; set dummy --mode uninstall ${1+"$@"}; shift
-- ;;
-- esac
-
-- # Parse non-mode specific arguments:
-- while test "$#" -gt 0; do
++
++
+# Parse options once, thoroughly. This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
@@ -12868,13 +12860,13 @@ Index: git/ltmain.sh
- fi
-}
-
--
--## ----------- ##
--## Main. ##
--## ----------- ##
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+-## ----------- ##
+-## Main. ##
+-## ----------- ##
+-
-$opt_help || {
- # Sanity checks first:
- func_check_version_match
@@ -13595,7 +13587,7 @@ Index: git/ltmain.sh
"")
# Generic help is extracted from the usage comments
# at the start of this file.
-@@ -1659,8 +2327,8 @@ This mode accepts the following addition
+@@ -1659,8 +2327,8 @@ This mode accepts the following additional options:
-o OUTPUT-FILE set the output file name to OUTPUT-FILE
-no-suppress do not suppress compiler output for multiple passes
@@ -13606,7 +13598,7 @@ Index: git/ltmain.sh
-shared do not build a \`.o' file suitable for static linking
-static only build a \`.o' file suitable for static linking
-Wc,FLAG pass FLAG directly to the compiler
-@@ -1804,7 +2472,7 @@ Otherwise, only FILE itself is deleted u
+@@ -1804,7 +2472,7 @@ Otherwise, only FILE itself is deleted using RM."
;;
*)
@@ -13708,7 +13700,7 @@ Index: git/ltmain.sh
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
-+
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
@@ -13728,7 +13720,7 @@ Index: git/ltmain.sh
+ else
+ sysroot_cmd=
+ fi
-
++
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
@@ -14140,7 +14132,7 @@ Index: git/ltmain.sh
lt_${my_prefix}_LTX_preloaded_symbols[] =
{\
{ \"$my_originator\", (void *) 0 },"
-@@ -2736,7 +3493,7 @@ static const void *lt_preloaded_setup()
+@@ -2736,7 +3493,7 @@ static const void *lt_preloaded_setup() {
for arg in $LTCFLAGS; do
case $arg in
-pie | -fpie | -fPIE) ;;
@@ -14669,7 +14661,7 @@ Index: git/ltmain.sh
*/
EOF
cat <<"EOF"
-@@ -3462,22 +4272,13 @@ int setenv (const char *, const char *,
+@@ -3462,22 +4272,13 @@ int setenv (const char *, const char *, int);
if (stale) { free ((void *) stale); stale = 0; } \
} while (0)
@@ -14696,7 +14688,7 @@ Index: git/ltmain.sh
void *xmalloc (size_t num);
char *xstrdup (const char *string);
-@@ -3487,7 +4288,10 @@ char *chase_symlinks (const char *pathsp
+@@ -3487,7 +4288,10 @@ char *chase_symlinks (const char *pathspec);
int make_executable (const char *path);
int check_executable (const char *path);
char *strendzap (char *str, const char *pat);
@@ -15024,7 +15016,7 @@ Index: git/ltmain.sh
vfprintf (stderr, message, ap);
fprintf (stderr, ".\n");
-@@ -3988,20 +4832,32 @@ lt_error_core (int exit_status, const ch
+@@ -3988,20 +4832,32 @@ lt_error_core (int exit_status, const char *mode,
}
void
@@ -15062,7 +15054,7 @@ Index: git/ltmain.sh
{
#ifdef HAVE_SETENV
/* always make a copy, for consistency with !HAVE_SETENV */
-@@ -4049,9 +4905,9 @@ lt_extend_str (const char *orig_value, c
+@@ -4049,9 +4905,9 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
void
lt_update_exe_path (const char *name, const char *value)
{
@@ -15075,7 +15067,7 @@ Index: git/ltmain.sh
if (name && *name && value && *value)
{
-@@ -4070,9 +4926,9 @@ lt_update_exe_path (const char *name, co
+@@ -4070,9 +4926,9 @@ lt_update_exe_path (const char *name, const char *value)
void
lt_update_lib_path (const char *name, const char *value)
{
@@ -17348,10 +17340,10 @@ Index: git/ltmain.sh
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
-Index: git/ltoptions.m4
-===================================================================
---- git.orig/ltoptions.m4
-+++ git/ltoptions.m4
+diff --git a/ltoptions.m4 b/ltoptions.m4
+index 5ef12ced2a..17cfd51c0b 100644
+--- a/ltoptions.m4
++++ b/ltoptions.m4
@@ -8,7 +8,7 @@
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
@@ -17361,10 +17353,10 @@ Index: git/ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-Index: git/ltversion.m4
-===================================================================
---- git.orig/ltversion.m4
-+++ git/ltversion.m4
+diff --git a/ltversion.m4 b/ltversion.m4
+index bf87f77132..9c7b5d4118 100644
+--- a/ltversion.m4
++++ b/ltversion.m4
@@ -7,17 +7,17 @@
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
@@ -17389,10 +17381,10 @@ Index: git/ltversion.m4
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
-Index: git/lt~obsolete.m4
-===================================================================
---- git.orig/lt~obsolete.m4
-+++ git/lt~obsolete.m4
+diff --git a/lt~obsolete.m4 b/lt~obsolete.m4
+index bf92b5e079..c573da90c5 100644
+--- a/lt~obsolete.m4
++++ b/lt~obsolete.m4
@@ -7,7 +7,7 @@
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
@@ -17402,11 +17394,11 @@ Index: git/lt~obsolete.m4
# These exist entirely to fool aclocal when bootstrapping libtool.
#
-Index: git/opcodes/configure
-===================================================================
---- git.orig/opcodes/configure
-+++ git/opcodes/configure
-@@ -681,6 +681,9 @@ OTOOL
+diff --git a/opcodes/configure b/opcodes/configure
+index 853849ee58..5f74ecf7da 100755
+--- a/opcodes/configure
++++ b/opcodes/configure
+@@ -680,6 +680,9 @@ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -17416,7 +17408,7 @@ Index: git/opcodes/configure
OBJDUMP
LN_S
NM
-@@ -799,6 +802,7 @@ enable_static
+@@ -798,6 +801,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -17424,7 +17416,7 @@ Index: git/opcodes/configure
enable_libtool_lock
enable_targets
enable_werror
-@@ -1463,6 +1467,8 @@ Optional Packages:
+@@ -1462,6 +1466,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -17433,7 +17425,7 @@ Index: git/opcodes/configure
Some influential environment variables:
CC C compiler command
-@@ -5404,8 +5410,8 @@ esac
+@@ -5403,8 +5409,8 @@ esac
@@ -17444,7 +17436,7 @@ Index: git/opcodes/configure
-@@ -5445,7 +5451,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5444,7 +5450,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -17453,7 +17445,7 @@ Index: git/opcodes/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6131,8 +6137,8 @@ $as_echo_n "checking whether the shell u
+@@ -6130,8 +6136,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -17464,7 +17456,7 @@ Index: git/opcodes/configure
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6181,6 +6187,80 @@ esac
+@@ -6180,6 +6186,80 @@ esac
@@ -17545,7 +17537,7 @@ Index: git/opcodes/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6197,6 +6277,11 @@ case $reload_flag in
+@@ -6196,6 +6276,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -17557,7 +17549,7 @@ Index: git/opcodes/configure
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6365,7 +6450,8 @@ mingw* | pw32*)
+@@ -6364,7 +6449,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -17567,7 +17559,7 @@ Index: git/opcodes/configure
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6519,6 +6605,21 @@ esac
+@@ -6518,6 +6604,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -17589,7 +17581,7 @@ Index: git/opcodes/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6534,9 +6635,162 @@ test -z "$deplibs_check_method" && depli
+@@ -6531,11 +6632,164 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -17603,6 +17595,8 @@ Index: git/opcodes/configure
+
+
+
+
+
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
@@ -17754,7 +17748,7 @@ Index: git/opcodes/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6552,7 +6806,7 @@ do
+@@ -6551,7 +6805,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -17763,7 +17757,7 @@ Index: git/opcodes/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6572,11 +6826,15 @@ $as_echo "no" >&6; }
+@@ -6571,11 +6825,15 @@ $as_echo "no" >&6; }
fi
@@ -17782,7 +17776,7 @@ Index: git/opcodes/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6592,7 +6850,7 @@ do
+@@ -6591,7 +6849,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -17791,7 +17785,7 @@ Index: git/opcodes/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6611,6 +6869,10 @@ else
+@@ -6610,6 +6868,10 @@ else
$as_echo "no" >&6; }
fi
@@ -17802,7 +17796,7 @@ Index: git/opcodes/configure
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6622,12 +6884,11 @@ ac_tool_warned=yes ;;
+@@ -6621,16 +6883,72 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -17815,13 +17809,16 @@ Index: git/opcodes/configure
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
-
-
-
-@@ -6638,6 +6899,63 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
++
++
++
++
++
++
++
++
++
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
@@ -17834,7 +17831,7 @@ Index: git/opcodes/configure
+int
+main ()
+{
-+
+
+ ;
+ return 0;
+}
@@ -17860,29 +17857,23 @@ Index: git/opcodes/configure
+ fi
+ fi
+ rm -f conftest.* libconftest.a
-+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
-+
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
-+
-+
-+
-+
-+
-+
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-@@ -6973,8 +7291,8 @@ esac
+
+
+@@ -6972,8 +7290,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -17893,7 +17884,7 @@ Index: git/opcodes/configure
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -7010,6 +7328,7 @@ for ac_symprfx in "" "_"; do
+@@ -7009,6 +7327,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -17901,7 +17892,7 @@ Index: git/opcodes/configure
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -7051,6 +7370,18 @@ _LT_EOF
+@@ -7050,6 +7369,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -17920,7 +17911,7 @@ Index: git/opcodes/configure
#ifdef __cplusplus
extern "C" {
#endif
-@@ -7062,7 +7393,7 @@ _LT_EOF
+@@ -7061,7 +7392,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -17929,7 +17920,7 @@ Index: git/opcodes/configure
const char *name;
void *address;
}
-@@ -7088,8 +7419,8 @@ static const void *lt_preloaded_setup()
+@@ -7087,8 +7418,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -17940,7 +17931,7 @@ Index: git/opcodes/configure
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7099,8 +7430,8 @@ _LT_EOF
+@@ -7098,8 +7429,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -17951,7 +17942,7 @@ Index: git/opcodes/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7137,6 +7468,14 @@ else
+@@ -7136,6 +7467,16 @@ else
$as_echo "ok" >&6; }
fi
@@ -17963,10 +17954,12 @@ Index: git/opcodes/configure
+fi
+
+
++
++
-@@ -7158,6 +7497,47 @@ fi
+@@ -7152,6 +7493,45 @@ fi
@@ -17974,6 +17967,9 @@ Index: git/opcodes/configure
+
+
+
++
++
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -18006,15 +18002,10 @@ Index: git/opcodes/configure
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-@@ -7364,6 +7744,123 @@ esac
+
+
+
+@@ -7363,6 +7743,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -18138,7 +18129,7 @@ Index: git/opcodes/configure
case $host_os in
rhapsody* | darwin*)
-@@ -7927,6 +8424,8 @@ _LT_EOF
+@@ -7926,6 +8423,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -18147,7 +18138,7 @@ Index: git/opcodes/configure
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8092,7 +8591,8 @@ fi
+@@ -8091,7 +8590,8 @@ fi
LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
@@ -18157,7 +18148,7 @@ Index: git/opcodes/configure
-@@ -8181,7 +8681,7 @@ aix3*)
+@@ -8180,7 +8680,7 @@ aix3*)
esac
# Global variables:
@@ -18166,7 +18157,7 @@ Index: git/opcodes/configure
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8479,8 +8979,6 @@ fi
+@@ -8478,8 +8978,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -18175,7 +18166,7 @@ Index: git/opcodes/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8646,6 +9144,12 @@ $as_echo_n "checking for $compiler optio
+@@ -8645,6 +9143,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -18188,7 +18179,7 @@ Index: git/opcodes/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8708,7 +9212,7 @@ $as_echo_n "checking for $compiler optio
+@@ -8707,7 +9211,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -18197,7 +18188,7 @@ Index: git/opcodes/configure
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8765,13 +9269,17 @@ case $host_os in
+@@ -8764,13 +9268,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -18221,7 +18212,7 @@ Index: git/opcodes/configure
#
# Check to make sure the PIC flag actually works.
-@@ -8832,6 +9340,11 @@ fi
+@@ -8831,6 +9339,11 @@ fi
@@ -18233,7 +18224,7 @@ Index: git/opcodes/configure
#
# Check to make sure the static flag actually works.
#
-@@ -9182,7 +9695,8 @@ _LT_EOF
+@@ -9181,7 +9694,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -18243,7 +18234,7 @@ Index: git/opcodes/configure
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9281,12 +9795,12 @@ _LT_EOF
+@@ -9280,12 +9794,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -18258,7 +18249,7 @@ Index: git/opcodes/configure
fi
;;
esac
-@@ -9300,8 +9814,8 @@ _LT_EOF
+@@ -9299,8 +9813,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -18269,7 +18260,7 @@ Index: git/opcodes/configure
fi
;;
-@@ -9319,8 +9833,8 @@ _LT_EOF
+@@ -9318,8 +9832,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -18280,7 +18271,7 @@ Index: git/opcodes/configure
else
ld_shlibs=no
fi
-@@ -9366,8 +9880,8 @@ _LT_EOF
+@@ -9365,8 +9879,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -18291,7 +18282,7 @@ Index: git/opcodes/configure
else
ld_shlibs=no
fi
-@@ -9497,7 +10011,13 @@ _LT_EOF
+@@ -9496,7 +10010,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -18306,7 +18297,7 @@ Index: git/opcodes/configure
/* end confdefs.h. */
int
-@@ -9510,22 +10030,29 @@ main ()
+@@ -9509,22 +10029,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -18349,7 +18340,7 @@ Index: git/opcodes/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9537,7 +10064,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9536,7 +10063,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -18364,7 +18355,7 @@ Index: git/opcodes/configure
/* end confdefs.h. */
int
-@@ -9550,22 +10083,29 @@ main ()
+@@ -9549,22 +10082,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -18407,7 +18398,7 @@ Index: git/opcodes/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9610,20 +10150,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9609,20 +10149,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -18485,7 +18476,7 @@ Index: git/opcodes/configure
;;
darwin* | rhapsody*)
-@@ -9684,7 +10267,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9683,7 +10266,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -18494,7 +18485,7 @@ Index: git/opcodes/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9692,7 +10275,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9691,7 +10274,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -18503,7 +18494,7 @@ Index: git/opcodes/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9708,7 +10291,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9707,7 +10290,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -18512,7 +18503,7 @@ Index: git/opcodes/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9732,10 +10315,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9731,10 +10314,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -18525,7 +18516,7 @@ Index: git/opcodes/configure
;;
esac
else
-@@ -9814,23 +10397,36 @@ fi
+@@ -9813,23 +10396,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -18570,7 +18561,7 @@ Index: git/opcodes/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9915,7 +10511,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9914,7 +10510,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -18579,7 +18570,7 @@ Index: git/opcodes/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9934,9 +10530,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9933,9 +10529,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -18591,7 +18582,7 @@ Index: git/opcodes/configure
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10512,8 +11108,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10511,8 +11107,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -18603,7 +18594,7 @@ Index: git/opcodes/configure
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10546,13 +11143,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10545,13 +11142,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -18676,7 +18667,7 @@ Index: git/opcodes/configure
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10644,7 +11299,7 @@ haiku*)
+@@ -10643,7 +11298,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -18685,16 +18676,16 @@ Index: git/opcodes/configure
hardcode_into_libs=yes
;;
-@@ -11440,7 +12095,7 @@ else
+@@ -11439,7 +12094,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11443 "configure"
+-#line 11442 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11484,10 +12139,10 @@ else
+@@ -11483,10 +12138,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -18707,16 +18698,16 @@ Index: git/opcodes/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11546,7 +12201,7 @@ else
+@@ -11545,7 +12200,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11549 "configure"
+-#line 11548 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11590,10 +12245,10 @@ else
+@@ -11589,10 +12244,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -18729,7 +18720,7 @@ Index: git/opcodes/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12831,7 +13486,7 @@ if test "$enable_shared" = "yes"; then
+@@ -12779,7 +13434,7 @@ if test "$enable_shared" = "yes"; then
# since libbfd may not pull in the entirety of libiberty.
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
if test -n "$x"; then
@@ -18738,7 +18729,7 @@ Index: git/opcodes/configure
fi
case "${host}" in
-@@ -13807,13 +14462,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -13756,13 +14411,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -18759,7 +18750,7 @@ Index: git/opcodes/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -13828,14 +14490,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -13777,14 +14439,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -18778,7 +18769,7 @@ Index: git/opcodes/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -13868,12 +14533,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -13817,12 +14482,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -18792,7 +18783,7 @@ Index: git/opcodes/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -13928,8 +14593,13 @@ reload_flag \
+@@ -13877,8 +14542,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -18806,7 +18797,7 @@ Index: git/opcodes/configure
STRIP \
RANLIB \
CC \
-@@ -13939,12 +14609,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -13888,12 +14558,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -18822,7 +18813,7 @@ Index: git/opcodes/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -13960,7 +14632,6 @@ no_undefined_flag \
+@@ -13909,7 +14581,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -18830,7 +18821,7 @@ Index: git/opcodes/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -13996,6 +14667,7 @@ module_cmds \
+@@ -13945,6 +14616,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -18838,7 +18829,7 @@ Index: git/opcodes/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -14761,7 +15433,8 @@ $as_echo X"$file" |
+@@ -14710,7 +15382,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -18848,7 +18839,7 @@ Index: git/opcodes/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -14864,19 +15537,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -14813,19 +15486,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -18892,7 +18883,7 @@ Index: git/opcodes/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -14906,6 +15602,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -14855,6 +15551,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -18905,7 +18896,7 @@ Index: git/opcodes/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -14915,6 +15617,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -14864,6 +15566,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -18915,7 +18906,7 @@ Index: git/opcodes/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -15029,12 +15734,12 @@ with_gcc=$GCC
+@@ -14978,12 +15683,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -18931,7 +18922,7 @@ Index: git/opcodes/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -15121,9 +15826,6 @@ inherit_rpath=$inherit_rpath
+@@ -15070,9 +15775,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -18941,7 +18932,7 @@ Index: git/opcodes/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -15139,6 +15841,9 @@ include_expsyms=$lt_include_expsyms
+@@ -15088,6 +15790,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -18951,7 +18942,7 @@ Index: git/opcodes/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -15171,210 +15876,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -15120,210 +15825,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -19153,9 +19144,15 @@ Index: git/opcodes/configure
-_LT_EOF
- ;;
- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
-
++
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
@@ -19313,20 +19310,17 @@ Index: git/opcodes/configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
-
-- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
-
-- mv -f "$cfgfile" "$ofile" ||
++
++
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: git/opcodes/configure.ac
-===================================================================
---- git.orig/opcodes/configure.ac
-+++ git/opcodes/configure.ac
-@@ -166,7 +166,7 @@ changequote(,)dnl
+diff --git a/opcodes/configure.ac b/opcodes/configure.ac
+index 4eb19005e8..19a57608b9 100644
+--- a/opcodes/configure.ac
++++ b/opcodes/configure.ac
+@@ -170,7 +170,7 @@ changequote(,)dnl
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
changequote([,])dnl
if test -n "$x"; then
@@ -19335,10 +19329,10 @@ Index: git/opcodes/configure.ac
fi
case "${host}" in
-Index: git/zlib/configure
-===================================================================
---- git.orig/zlib/configure
-+++ git/zlib/configure
+diff --git a/zlib/configure b/zlib/configure
+index 041cbdbf71..19d605fc85 100755
+--- a/zlib/configure
++++ b/zlib/configure
@@ -646,8 +646,11 @@ OTOOL
LIPO
NMEDIT
@@ -19388,7 +19382,7 @@ Index: git/zlib/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5004,8 +5010,8 @@ $as_echo_n "checking whether the shell u
+@@ -5004,8 +5010,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -19524,7 +19518,7 @@ Index: git/zlib/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -5407,9 +5508,163 @@ test -z "$deplibs_check_method" && depli
+@@ -5405,11 +5506,165 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -19538,6 +19532,8 @@ Index: git/zlib/configure
+
+
+
+
+
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
@@ -19738,7 +19734,7 @@ Index: git/zlib/configure
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -5495,12 +5758,10 @@ ac_tool_warned=yes ;;
+@@ -5495,16 +5758,72 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -19750,13 +19746,17 @@ Index: git/zlib/configure
-test -z "$AR_FLAGS" && AR_FLAGS=cru
+: ${AR=ar}
+: ${AR_FLAGS=cru}
-
-
-
-@@ -5512,6 +5773,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
++
++
++
++
++
++
++
++
++
++
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
@@ -19769,7 +19769,7 @@ Index: git/zlib/configure
+int
+main ()
+{
-+
+
+ ;
+ return 0;
+}
@@ -19795,29 +19795,22 @@ Index: git/zlib/configure
+ fi
+ fi
+ rm -f conftest.* libconftest.a
-+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
-+
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
-+
-+
-+
-+
-+
-+
-+
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
- set dummy ${ac_tool_prefix}strip; ac_word=$2
+
+
+
@@ -5846,8 +6165,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -19865,7 +19858,7 @@ Index: git/zlib/configure
const char *name;
void *address;
}
-@@ -5961,8 +6293,8 @@ static const void *lt_preloaded_setup()
+@@ -5961,8 +6293,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -19887,7 +19880,7 @@ Index: git/zlib/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6010,6 +6342,18 @@ else
+@@ -6010,6 +6342,19 @@ else
$as_echo "ok" >&6; }
fi
@@ -19903,13 +19896,17 @@ Index: git/zlib/configure
+
+
+
++
-@@ -6031,6 +6375,42 @@ fi
+@@ -6027,6 +6372,41 @@ fi
++
++
++
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -19942,13 +19939,9 @@ Index: git/zlib/configure
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
+
+
@@ -6241,6 +6621,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -20110,7 +20103,7 @@ Index: git/zlib/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -7823,6 +8321,12 @@ $as_echo_n "checking for $compiler optio
+@@ -7823,6 +8321,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -20123,7 +20116,7 @@ Index: git/zlib/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -7885,7 +8389,7 @@ $as_echo_n "checking for $compiler optio
+@@ -7885,7 +8389,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -20284,7 +20277,7 @@ Index: git/zlib/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -8717,7 +9244,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8717,7 +9244,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -20342,7 +20335,7 @@ Index: git/zlib/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -8793,20 +9333,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8793,20 +9333,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -20420,7 +20413,7 @@ Index: git/zlib/configure
;;
darwin* | rhapsody*)
-@@ -8867,7 +9450,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8867,7 +9450,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -20429,7 +20422,7 @@ Index: git/zlib/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -8875,7 +9458,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8875,7 +9458,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -20438,7 +20431,7 @@ Index: git/zlib/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -8891,7 +9474,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8891,7 +9474,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -20447,7 +20440,7 @@ Index: git/zlib/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -8915,10 +9498,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8915,10 +9498,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -20508,7 +20501,7 @@ Index: git/zlib/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9101,7 +9697,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9101,7 +9697,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -20517,7 +20510,7 @@ Index: git/zlib/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9120,9 +9716,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9120,9 +9716,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -20667,7 +20660,7 @@ Index: git/zlib/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12266,13 +12921,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -12267,13 +12922,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -20688,7 +20681,7 @@ Index: git/zlib/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -12287,14 +12949,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -12288,14 +12950,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -20707,7 +20700,7 @@ Index: git/zlib/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -12327,12 +12992,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -12328,12 +12993,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -20721,7 +20714,7 @@ Index: git/zlib/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -12387,8 +13052,13 @@ reload_flag \
+@@ -12388,8 +13053,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -20735,7 +20728,7 @@ Index: git/zlib/configure
STRIP \
RANLIB \
CC \
-@@ -12398,12 +13068,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -12399,12 +13069,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -20751,7 +20744,7 @@ Index: git/zlib/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -12419,7 +13091,6 @@ no_undefined_flag \
+@@ -12420,7 +13092,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -20759,7 +20752,7 @@ Index: git/zlib/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -12455,6 +13126,7 @@ module_cmds \
+@@ -12456,6 +13127,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -20767,7 +20760,7 @@ Index: git/zlib/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -13053,7 +13725,8 @@ $as_echo X"$file" |
+@@ -13054,7 +13726,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -20777,7 +20770,7 @@ Index: git/zlib/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -13156,19 +13829,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -13157,19 +13830,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -20821,7 +20814,7 @@ Index: git/zlib/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -13198,6 +13894,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -13199,6 +13895,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -20834,7 +20827,7 @@ Index: git/zlib/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -13207,6 +13909,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -13208,6 +13910,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -20844,7 +20837,7 @@ Index: git/zlib/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -13321,12 +14026,12 @@ with_gcc=$GCC
+@@ -13322,12 +14027,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -20860,7 +20853,7 @@ Index: git/zlib/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -13413,9 +14118,6 @@ inherit_rpath=$inherit_rpath
+@@ -13414,9 +14119,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -20870,7 +20863,7 @@ Index: git/zlib/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -13431,6 +14133,9 @@ include_expsyms=$lt_include_expsyms
+@@ -13432,6 +14134,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -20880,7 +20873,7 @@ Index: git/zlib/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -13463,210 +14168,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -13464,210 +14169,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -21082,9 +21075,15 @@ Index: git/zlib/configure
-_LT_EOF
- ;;
- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
-
++
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
@@ -21242,12 +21241,12 @@ Index: git/zlib/configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
-
-- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
-
-- mv -f "$cfgfile" "$ofile" ||
++
++
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch b/poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch
deleted file mode 100644
index 18ef6bb7f..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ef50d848d983f81e4a86dd3eef4933e3579336f1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:37:10 +0000
-Subject: [PATCH 07/15] Add the armv5e architecture to binutils
-
-Binutils has a comment that indicates it is supposed to match gcc for
-all of the support "-march=" settings, but it was lacking the armv5e setting.
-This was a simple way to add it, as thumb instructions shouldn't be generated
-by the compiler anyway.
-
-Upstream-Status: Denied
-Upstream maintainer indicated that we should not be using armv5e, even
-though it is a legal archicture defined by our gcc.
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gas/config/tc-arm.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
-index 3f5384e1c7..8d5bc145af 100644
---- a/gas/config/tc-arm.c
-+++ b/gas/config/tc-arm.c
-@@ -26294,6 +26294,7 @@ static const struct arm_arch_option_table arm_archs[] =
- ARM_ARCH_OPT ("armv4t", ARM_ARCH_V4T, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv4txm", ARM_ARCH_V4TxM, FPU_ARCH_FPA),
- ARM_ARCH_OPT ("armv5", ARM_ARCH_V5, FPU_ARCH_VFP),
-+ ARM_ARCH_OPT ("armv5e", ARM_ARCH_V5TE, FPU_ARCH_VFP),
- ARM_ARCH_OPT ("armv5t", ARM_ARCH_V5T, FPU_ARCH_VFP),
- ARM_ARCH_OPT ("armv5txm", ARM_ARCH_V5TxM, FPU_ARCH_VFP),
- ARM_ARCH_OPT ("armv5te", ARM_ARCH_V5TE, FPU_ARCH_VFP),
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch b/poky/meta/recipes-devtools/binutils/binutils/0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
new file mode 100644
index 000000000..a2c6312d0
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
@@ -0,0 +1,35 @@
+From 8cb013106c379e81fe40cfdf486d9805c9e276ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Mar 2015 01:39:01 +0000
+Subject: [PATCH 07/15] don't let the distro compiler point to the wrong
+ installation location
+
+Thanks to RP for helping find the source code causing the issue.
+
+2010/08/13
+Nitin A Kamble <nitin.a.kamble@intel.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libiberty/Makefile.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
+index 0be45b4ae8..4817616bb2 100644
+--- a/libiberty/Makefile.in
++++ b/libiberty/Makefile.in
+@@ -364,7 +364,8 @@ install-strip: install
+ # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
+ # default multilib, so we have to take CFLAGS into account as well,
+ # since it will be passed the multilib flags.
+-MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
++#MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
++MULTIOSDIR = ""
+ install_to_libdir: all
+ if test -n "${target_header_dir}"; then \
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch b/poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
deleted file mode 100644
index 6999ed9c9..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ca25d55cef8398bad508c2b2be29aea5aa3c4d26 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:39:01 +0000
-Subject: [PATCH 08/15] don't let the distro compiler point to the wrong
- installation location
-
-Thanks to RP for helping find the source code causing the issue.
-
-2010/08/13
-Nitin A Kamble <nitin.a.kamble@intel.com>
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libiberty/Makefile.in | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
-index ed1b334c36..d4ffd8b57b 100644
---- a/libiberty/Makefile.in
-+++ b/libiberty/Makefile.in
-@@ -364,7 +364,8 @@ install-strip: install
- # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
- # default multilib, so we have to take CFLAGS into account as well,
- # since it will be passed the multilib flags.
--MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
-+#MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
-+MULTIOSDIR = ""
- install_to_libdir: all
- if test -n "${target_header_dir}"; then \
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch b/poky/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch
new file mode 100644
index 000000000..9727821b1
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch
@@ -0,0 +1,273 @@
+From 98f68c0892ba4bbd53b0a0a4cbbdf0b7197e0320 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Jan 2016 06:31:09 +0000
+Subject: [PATCH 08/15] warn for uses of system directories when cross linking
+
+2008-07-02 Joseph Myers <joseph@codesourcery.com>
+
+ ld/
+ * ld.h (args_type): Add error_poison_system_directories.
+ * ld.texinfo (--error-poison-system-directories): Document.
+ * ldfile.c (ldfile_add_library_path): Check
+ command_line.error_poison_system_directories.
+ * ldmain.c (main): Initialize
+ command_line.error_poison_system_directories.
+ * lexsup.c (enum option_values): Add
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
+ (ld_options): Add --error-poison-system-directories.
+ (parse_args): Handle new option.
+
+2007-06-13 Joseph Myers <joseph@codesourcery.com>
+
+ ld/
+ * config.in: Regenerate.
+ * ld.h (args_type): Add poison_system_directories.
+ * ld.texinfo (--no-poison-system-directories): Document.
+ * ldfile.c (ldfile_add_library_path): Check
+ command_line.poison_system_directories.
+ * ldmain.c (main): Initialize
+ command_line.poison_system_directories.
+ * lexsup.c (enum option_values): Add
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES.
+ (ld_options): Add --no-poison-system-directories.
+ (parse_args): Handle new option.
+
+2007-04-20 Joseph Myers <joseph@codesourcery.com>
+
+ Merge from Sourcery G++ binutils 2.17:
+
+ 2007-03-20 Joseph Myers <joseph@codesourcery.com>
+ Based on patch by Mark Hatle <mark.hatle@windriver.com>.
+ ld/
+ * configure.in (--enable-poison-system-directories): New option.
+ * configure, config.in: Regenerate.
+ * ldfile.c (ldfile_add_library_path): If
+ ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
+ /usr/lib, /usr/local/lib or /usr/X11R6/lib.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ld/config.in | 3 +++
+ ld/configure | 16 ++++++++++++++++
+ ld/configure.ac | 10 ++++++++++
+ ld/ld.h | 8 ++++++++
+ ld/ld.texi | 12 ++++++++++++
+ ld/ldfile.c | 17 +++++++++++++++++
+ ld/ldlex.h | 2 ++
+ ld/ldmain.c | 2 ++
+ ld/lexsup.c | 16 ++++++++++++++++
+ 9 files changed, 86 insertions(+)
+
+diff --git a/ld/config.in b/ld/config.in
+index d93c9b0830..5da2742bea 100644
+--- a/ld/config.in
++++ b/ld/config.in
+@@ -31,6 +31,9 @@
+ language is requested. */
+ #undef ENABLE_NLS
+
++/* Define to warn for use of native system library directories */
++#undef ENABLE_POISON_SYSTEM_DIRECTORIES
++
+ /* Additional extension a shared object might have. */
+ #undef EXTRA_SHLIB_EXTENSION
+
+diff --git a/ld/configure b/ld/configure
+index 43c391c2b3..ff9f6b3c02 100755
+--- a/ld/configure
++++ b/ld/configure
+@@ -826,6 +826,7 @@ with_lib_path
+ enable_targets
+ enable_64_bit_bfd
+ with_sysroot
++enable_poison_system_directories
+ enable_gold
+ enable_got
+ enable_compressed_debug_sections
+@@ -1490,6 +1491,8 @@ Optional Features:
+ --disable-largefile omit support for large files
+ --enable-targets alternative target configurations
+ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
++ --enable-poison-system-directories
++ warn for use of native system library directories
+ --enable-gold[=ARG] build gold [ARG={default,yes,no}]
+ --enable-got=<type> GOT handling scheme (target, single, negative,
+ multigot)
+@@ -16618,6 +16621,19 @@ fi
+
+
+
++# Check whether --enable-poison-system-directories was given.
++if test "${enable_poison_system_directories+set}" = set; then :
++ enableval=$enable_poison_system_directories;
++else
++ enable_poison_system_directories=no
++fi
++
++if test "x${enable_poison_system_directories}" = "xyes"; then
++
++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++
++fi
++
+ # Check whether --enable-gold was given.
+ if test "${enable_gold+set}" = set; then :
+ enableval=$enable_gold; case "${enableval}" in
+diff --git a/ld/configure.ac b/ld/configure.ac
+index d335f21091..7f692d9387 100644
+--- a/ld/configure.ac
++++ b/ld/configure.ac
+@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot)
+ AC_SUBST(TARGET_SYSTEM_ROOT)
+ AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
+
++AC_ARG_ENABLE([poison-system-directories],
++ AS_HELP_STRING([--enable-poison-system-directories],
++ [warn for use of native system library directories]),,
++ [enable_poison_system_directories=no])
++if test "x${enable_poison_system_directories}" = "xyes"; then
++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
++ [1],
++ [Define to warn for use of native system library directories])
++fi
++
+ dnl Use --enable-gold to decide if this linker should be the default.
+ dnl "install_as_default" is set to false if gold is the default linker.
+ dnl "installed_linker" is the installed BFD linker name.
+diff --git a/ld/ld.h b/ld/ld.h
+index b97d977f37..f3bbd2d55d 100644
+--- a/ld/ld.h
++++ b/ld/ld.h
+@@ -180,6 +180,14 @@ typedef struct
+ in the linker script. */
+ bfd_boolean force_group_allocation;
+
++ /* If TRUE (the default) warn for uses of system directories when
++ cross linking. */
++ bfd_boolean poison_system_directories;
++
++ /* If TRUE (default FALSE) give an error for uses of system
++ directories when cross linking instead of a warning. */
++ bfd_boolean error_poison_system_directories;
++
+ /* Big or little endian as set on command line. */
+ enum endian_enum endian;
+
+diff --git a/ld/ld.texi b/ld/ld.texi
+index 5179af3e0e..f78bf74682 100644
+--- a/ld/ld.texi
++++ b/ld/ld.texi
+@@ -2524,6 +2524,18 @@ string identifying the original linked file does not change.
+
+ Passing @code{none} for @var{style} disables the setting from any
+ @code{--build-id} options earlier on the command line.
++
++@kindex --no-poison-system-directories
++@item --no-poison-system-directories
++Do not warn for @option{-L} options using system directories such as
++@file{/usr/lib} when cross linking. This option is intended for use
++in chroot environments when such directories contain the correct
++libraries for the target system rather than the host.
++
++@kindex --error-poison-system-directories
++@item --error-poison-system-directories
++Give an error instead of a warning for @option{-L} options using
++system directories when cross linking.
+ @end table
+
+ @c man end
+diff --git a/ld/ldfile.c b/ld/ldfile.c
+index fcadc08c73..63e295ce8a 100644
+--- a/ld/ldfile.c
++++ b/ld/ldfile.c
+@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
+ new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
+ else
+ new_dirs->name = xstrdup (name);
++
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++ if (command_line.poison_system_directories
++ && ((!strncmp (name, "/lib", 4))
++ || (!strncmp (name, "/usr/lib", 8))
++ || (!strncmp (name, "/usr/local/lib", 14))
++ || (!strncmp (name, "/usr/X11R6/lib", 14))))
++ {
++ if (command_line.error_poison_system_directories)
++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
++ "cross-compilation\n"), name);
++ else
++ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
++ "cross-compilation\n"), name);
++ }
++#endif
++
+ }
+
+ /* Try to open a BFD for a lang_input_statement. */
+diff --git a/ld/ldlex.h b/ld/ldlex.h
+index 32853debe4..8135361c49 100644
+--- a/ld/ldlex.h
++++ b/ld/ldlex.h
+@@ -148,6 +148,8 @@ enum option_values
+ OPTION_REQUIRE_DEFINED_SYMBOL,
+ OPTION_ORPHAN_HANDLING,
+ OPTION_FORCE_GROUP_ALLOCATION,
++ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
+ };
+
+ /* The initial parser states. */
+diff --git a/ld/ldmain.c b/ld/ldmain.c
+index 77cdbd0dd2..725512f126 100644
+--- a/ld/ldmain.c
++++ b/ld/ldmain.c
+@@ -269,6 +269,8 @@ main (int argc, char **argv)
+ command_line.warn_mismatch = TRUE;
+ command_line.warn_search_mismatch = TRUE;
+ command_line.check_section_addresses = -1;
++ command_line.poison_system_directories = TRUE;
++ command_line.error_poison_system_directories = FALSE;
+
+ /* We initialize DEMANGLING based on the environment variable
+ COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
+diff --git a/ld/lexsup.c b/ld/lexsup.c
+index 88e85c73f4..eed1b71456 100644
+--- a/ld/lexsup.c
++++ b/ld/lexsup.c
+@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] =
+ { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING},
+ '\0', N_("=MODE"), N_("Control how orphan sections are handled."),
+ TWO_DASHES },
++ { {"no-poison-system-directories", no_argument, NULL,
++ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
++ '\0', NULL, N_("Do not warn for -L options using system directories"),
++ TWO_DASHES },
++ { {"error-poison-system-directories", no_argument, NULL,
++ + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
++ '\0', NULL, N_("Give an error for -L options using system directories"),
++ TWO_DASHES },
+ };
+
+ #define OPTION_COUNT ARRAY_SIZE (ld_options)
+@@ -1577,6 +1585,14 @@ parse_args (unsigned argc, char **argv)
+ einfo (_("%F%P: invalid argument to option"
+ " \"--orphan-handling\"\n"));
+ break;
++
++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
++ command_line.poison_system_directories = FALSE;
++ break;
++
++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
++ command_line.error_poison_system_directories = TRUE;
++ break;
+ }
+ }
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch b/poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
new file mode 100644
index 000000000..b6b1e7a67
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
@@ -0,0 +1,52 @@
+From 2cd5613a86f8772f9d7f188532718363668ed99d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Mar 2015 01:42:38 +0000
+Subject: [PATCH 09/15] Fix rpath in libtool when sysroot is enabled
+
+Enabling sysroot support in libtool exposed a bug where the final
+library had an RPATH encoded into it which still pointed to the
+sysroot. This works around the issue until it gets sorted out
+upstream.
+
+Fix suggested by Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 70e856e065..11ee684ccc 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -8035,9 +8035,11 @@ EOF
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+- func_replace_sysroot "$libdir"
+- libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+@@ -8770,6 +8772,10 @@ EOF
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch b/poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch
deleted file mode 100644
index 9a9e31962..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-From a3667059fc0d52d890b505bed0e5050ea3d7002e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 15 Jan 2016 06:31:09 +0000
-Subject: [PATCH 09/15] warn for uses of system directories when cross linking
-
-2008-07-02 Joseph Myers <joseph@codesourcery.com>
-
- ld/
- * ld.h (args_type): Add error_poison_system_directories.
- * ld.texinfo (--error-poison-system-directories): Document.
- * ldfile.c (ldfile_add_library_path): Check
- command_line.error_poison_system_directories.
- * ldmain.c (main): Initialize
- command_line.error_poison_system_directories.
- * lexsup.c (enum option_values): Add
- OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
- (ld_options): Add --error-poison-system-directories.
- (parse_args): Handle new option.
-
-2007-06-13 Joseph Myers <joseph@codesourcery.com>
-
- ld/
- * config.in: Regenerate.
- * ld.h (args_type): Add poison_system_directories.
- * ld.texinfo (--no-poison-system-directories): Document.
- * ldfile.c (ldfile_add_library_path): Check
- command_line.poison_system_directories.
- * ldmain.c (main): Initialize
- command_line.poison_system_directories.
- * lexsup.c (enum option_values): Add
- OPTION_NO_POISON_SYSTEM_DIRECTORIES.
- (ld_options): Add --no-poison-system-directories.
- (parse_args): Handle new option.
-
-2007-04-20 Joseph Myers <joseph@codesourcery.com>
-
- Merge from Sourcery G++ binutils 2.17:
-
- 2007-03-20 Joseph Myers <joseph@codesourcery.com>
- Based on patch by Mark Hatle <mark.hatle@windriver.com>.
- ld/
- * configure.in (--enable-poison-system-directories): New option.
- * configure, config.in: Regenerate.
- * ldfile.c (ldfile_add_library_path): If
- ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
- /usr/lib, /usr/local/lib or /usr/X11R6/lib.
-
-Upstream-Status: Pending
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ld/config.in | 3 +++
- ld/configure | 16 ++++++++++++++++
- ld/configure.ac | 10 ++++++++++
- ld/ld.h | 8 ++++++++
- ld/ld.texi | 12 ++++++++++++
- ld/ldfile.c | 17 +++++++++++++++++
- ld/ldlex.h | 2 ++
- ld/ldmain.c | 2 ++
- ld/lexsup.c | 16 ++++++++++++++++
- 9 files changed, 86 insertions(+)
-
-diff --git a/ld/config.in b/ld/config.in
-index d93c9b0830..5da2742bea 100644
---- a/ld/config.in
-+++ b/ld/config.in
-@@ -31,6 +31,9 @@
- language is requested. */
- #undef ENABLE_NLS
-
-+/* Define to warn for use of native system library directories */
-+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
-+
- /* Additional extension a shared object might have. */
- #undef EXTRA_SHLIB_EXTENSION
-
-diff --git a/ld/configure b/ld/configure
-index 2b291f0da8..facc386563 100755
---- a/ld/configure
-+++ b/ld/configure
-@@ -826,6 +826,7 @@ with_lib_path
- enable_targets
- enable_64_bit_bfd
- with_sysroot
-+enable_poison_system_directories
- enable_gold
- enable_got
- enable_compressed_debug_sections
-@@ -1490,6 +1491,8 @@ Optional Features:
- --disable-largefile omit support for large files
- --enable-targets alternative target configurations
- --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
-+ --enable-poison-system-directories
-+ warn for use of native system library directories
- --enable-gold[=ARG] build gold [ARG={default,yes,no}]
- --enable-got=<type> GOT handling scheme (target, single, negative,
- multigot)
-@@ -16618,6 +16621,19 @@ fi
-
-
-
-+# Check whether --enable-poison-system-directories was given.
-+if test "${enable_poison_system_directories+set}" = set; then :
-+ enableval=$enable_poison_system_directories;
-+else
-+ enable_poison_system_directories=no
-+fi
-+
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+
-+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
-+
-+fi
-+
- # Check whether --enable-gold was given.
- if test "${enable_gold+set}" = set; then :
- enableval=$enable_gold; case "${enableval}" in
-diff --git a/ld/configure.ac b/ld/configure.ac
-index d10c553650..9f1b57b120 100644
---- a/ld/configure.ac
-+++ b/ld/configure.ac
-@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot)
- AC_SUBST(TARGET_SYSTEM_ROOT)
- AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
-
-+AC_ARG_ENABLE([poison-system-directories],
-+ AS_HELP_STRING([--enable-poison-system-directories],
-+ [warn for use of native system library directories]),,
-+ [enable_poison_system_directories=no])
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
-+ [1],
-+ [Define to warn for use of native system library directories])
-+fi
-+
- dnl Use --enable-gold to decide if this linker should be the default.
- dnl "install_as_default" is set to false if gold is the default linker.
- dnl "installed_linker" is the installed BFD linker name.
-diff --git a/ld/ld.h b/ld/ld.h
-index ba914b921e..9df17dab6c 100644
---- a/ld/ld.h
-+++ b/ld/ld.h
-@@ -180,6 +180,14 @@ typedef struct
- in the linker script. */
- bfd_boolean force_group_allocation;
-
-+ /* If TRUE (the default) warn for uses of system directories when
-+ cross linking. */
-+ bfd_boolean poison_system_directories;
-+
-+ /* If TRUE (default FALSE) give an error for uses of system
-+ directories when cross linking instead of a warning. */
-+ bfd_boolean error_poison_system_directories;
-+
- /* Big or little endian as set on command line. */
- enum endian_enum endian;
-
-diff --git a/ld/ld.texi b/ld/ld.texi
-index b9fe2324da..43486605e0 100644
---- a/ld/ld.texi
-+++ b/ld/ld.texi
-@@ -2479,6 +2479,18 @@ string identifying the original linked file does not change.
-
- Passing @code{none} for @var{style} disables the setting from any
- @code{--build-id} options earlier on the command line.
-+
-+@kindex --no-poison-system-directories
-+@item --no-poison-system-directories
-+Do not warn for @option{-L} options using system directories such as
-+@file{/usr/lib} when cross linking. This option is intended for use
-+in chroot environments when such directories contain the correct
-+libraries for the target system rather than the host.
-+
-+@kindex --error-poison-system-directories
-+@item --error-poison-system-directories
-+Give an error instead of a warning for @option{-L} options using
-+system directories when cross linking.
- @end table
-
- @c man end
-diff --git a/ld/ldfile.c b/ld/ldfile.c
-index a72ff13526..dc5148f748 100644
---- a/ld/ldfile.c
-+++ b/ld/ldfile.c
-@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
- new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
- else
- new_dirs->name = xstrdup (name);
-+
-+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
-+ if (command_line.poison_system_directories
-+ && ((!strncmp (name, "/lib", 4))
-+ || (!strncmp (name, "/usr/lib", 8))
-+ || (!strncmp (name, "/usr/local/lib", 14))
-+ || (!strncmp (name, "/usr/X11R6/lib", 14))))
-+ {
-+ if (command_line.error_poison_system_directories)
-+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
-+ "cross-compilation\n"), name);
-+ else
-+ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
-+ "cross-compilation\n"), name);
-+ }
-+#endif
-+
- }
-
- /* Try to open a BFD for a lang_input_statement. */
-diff --git a/ld/ldlex.h b/ld/ldlex.h
-index 04d6fd5f96..d7df005bb2 100644
---- a/ld/ldlex.h
-+++ b/ld/ldlex.h
-@@ -148,6 +148,8 @@ enum option_values
- OPTION_REQUIRE_DEFINED_SYMBOL,
- OPTION_ORPHAN_HANDLING,
- OPTION_FORCE_GROUP_ALLOCATION,
-+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
-+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
- };
-
- /* The initial parser states. */
-diff --git a/ld/ldmain.c b/ld/ldmain.c
-index f31eeb29c3..25f8497888 100644
---- a/ld/ldmain.c
-+++ b/ld/ldmain.c
-@@ -268,6 +268,8 @@ main (int argc, char **argv)
- command_line.warn_mismatch = TRUE;
- command_line.warn_search_mismatch = TRUE;
- command_line.check_section_addresses = -1;
-+ command_line.poison_system_directories = TRUE;
-+ command_line.error_poison_system_directories = FALSE;
-
- /* We initialize DEMANGLING based on the environment variable
- COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
-diff --git a/ld/lexsup.c b/ld/lexsup.c
-index 86a033a383..4a40d48020 100644
---- a/ld/lexsup.c
-+++ b/ld/lexsup.c
-@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] =
- { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING},
- '\0', N_("=MODE"), N_("Control how orphan sections are handled."),
- TWO_DASHES },
-+ { {"no-poison-system-directories", no_argument, NULL,
-+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
-+ '\0', NULL, N_("Do not warn for -L options using system directories"),
-+ TWO_DASHES },
-+ { {"error-poison-system-directories", no_argument, NULL,
-+ + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
-+ '\0', NULL, N_("Give an error for -L options using system directories"),
-+ TWO_DASHES },
- };
-
- #define OPTION_COUNT ARRAY_SIZE (ld_options)
-@@ -1577,6 +1585,14 @@ parse_args (unsigned argc, char **argv)
- einfo (_("%F%P: invalid argument to option"
- " \"--orphan-handling\"\n"));
- break;
-+
-+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
-+ command_line.poison_system_directories = FALSE;
-+ break;
-+
-+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
-+ command_line.error_poison_system_directories = TRUE;
-+ break;
- }
- }
-
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
new file mode 100644
index 000000000..ba5e4c2ce
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
@@ -0,0 +1,59 @@
+From d540e95d05cd7c4b8924ac7b257c14ae0105d0ab Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Mar 2015 01:44:14 +0000
+Subject: [PATCH 10/15] Change default emulation for mips64*-*-linux
+
+we change the default emulations to be N64 instead of N32
+
+Upstream-Status: Inappropriate [ OE configuration Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ bfd/config.bfd | 8 ++++----
+ ld/configure.tgt | 8 ++++----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index 0e1ddb659c..cc65547588 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -919,12 +919,12 @@ case "${targ}" in
+ targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
+ ;;
+ mips64*el-*-linux*)
+- targ_defvec=mips_elf32_ntrad_le_vec
+- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
++ targ_defvec=mips_elf64_trad_le_vec
++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec"
+ ;;
+ mips64*-*-linux*)
+- targ_defvec=mips_elf32_ntrad_be_vec
+- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
++ targ_defvec=mips_elf64_trad_be_vec
++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_be_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
+ ;;
+ mips*el-*-linux*)
+ targ_defvec=mips_elf32_trad_le_vec
+diff --git a/ld/configure.tgt b/ld/configure.tgt
+index beba17ef51..917be6f8eb 100644
+--- a/ld/configure.tgt
++++ b/ld/configure.tgt
+@@ -468,11 +468,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmipvxworks
+ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
+ targ_extra_emuls="elf32elmipvxworks" ;;
+ mips*-*-windiss) targ_emul=elf32mipswindiss ;;
+-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
+- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
++mips64*el-*-linux-*) targ_emul=elf64ltsmip
++ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
+ targ_extra_libpath=$targ_extra_emuls ;;
+-mips64*-*-linux-*) targ_emul=elf32btsmipn32
+- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
++mips64*-*-linux-*) targ_emul=elf64btsmip
++ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
+ targ_extra_libpath=$targ_extra_emuls ;;
+ mips*el-*-linux-*) targ_emul=elf32ltsmip
+ targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
deleted file mode 100644
index 8fc00ff45..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 9e1d8f9a657a8bd48048c2ea6407cf60b723bd68 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:42:38 +0000
-Subject: [PATCH 10/15] Fix rpath in libtool when sysroot is enabled
-
-Enabling sysroot support in libtool exposed a bug where the final
-library had an RPATH encoded into it which still pointed to the
-sysroot. This works around the issue until it gets sorted out
-upstream.
-
-Fix suggested by Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 70e856e065..11ee684ccc 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -8035,9 +8035,11 @@ EOF
- test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
-+ func_replace_sysroot "$libdir"
-+ libdir=$func_replace_sysroot_result
-+ func_stripname '=' '' "$libdir"
-+ libdir=$func_stripname_result
- if test -n "$hardcode_libdir_separator"; then
-- func_replace_sysroot "$libdir"
-- libdir=$func_replace_sysroot_result
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
-@@ -8770,6 +8772,10 @@ EOF
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
-+ func_replace_sysroot "$libdir"
-+ libdir=$func_replace_sysroot_result
-+ func_stripname '=' '' "$libdir"
-+ libdir=$func_stripname_result
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch b/poky/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch
new file mode 100644
index 000000000..20c5ed630
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch
@@ -0,0 +1,393 @@
+From e4a0cd30c7e9334ed507c93014a8b2d1315ff937 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Feb 2016 17:06:19 +0000
+Subject: [PATCH 11/15] Add support for Netlogic XLP
+
+Patch From: Nebu Philips <nphilips@netlogicmicro.com>
+
+Using the mipsisa64r2nlm target, add support for XLP from
+Netlogic. Also, update vendor name to NLM wherever applicable.
+
+Use 0x00000080 for INSN_XLP, the value 0x00000040 has already been
+assigned to INSN_OCTEON3
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Baoshan Pang <baoshan.pang@windriver.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+---
+ bfd/aoutx.h | 1 +
+ bfd/archures.c | 1 +
+ bfd/bfd-in2.h | 1 +
+ bfd/config.bfd | 5 +++++
+ bfd/cpu-mips.c | 6 ++++--
+ bfd/elfxx-mips.c | 8 ++++++++
+ binutils/readelf.c | 1 +
+ gas/config/tc-mips.c | 4 +++-
+ gas/configure | 3 +++
+ include/elf/mips.h | 1 +
+ include/opcode/mips.h | 6 ++++++
+ ld/configure.tgt | 2 ++
+ opcodes/mips-dis.c | 12 +++++-------
+ opcodes/mips-opc.c | 31 ++++++++++++++++++++-----------
+ 14 files changed, 61 insertions(+), 21 deletions(-)
+
+diff --git a/bfd/aoutx.h b/bfd/aoutx.h
+index e5d8dcf390..2cc74a2d61 100644
+--- a/bfd/aoutx.h
++++ b/bfd/aoutx.h
+@@ -799,6 +799,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
+ case bfd_mach_mipsisa64r6:
+ case bfd_mach_mips_sb1:
+ case bfd_mach_mips_xlr:
++ case bfd_mach_mips_xlp:
+ /* FIXME: These should be MIPS3, MIPS4, MIPS16, MIPS32, etc. */
+ arch_flags = M_MIPS2;
+ break;
+diff --git a/bfd/archures.c b/bfd/archures.c
+index 647cf0d8d4..7e1d0c810f 100644
+--- a/bfd/archures.c
++++ b/bfd/archures.c
+@@ -185,6 +185,7 @@ DESCRIPTION
+ .#define bfd_mach_mips_octeon3 6503
+ .#define bfd_mach_mips_xlr 887682 {* decimal 'XLR'. *}
+ .#define bfd_mach_mips_interaptiv_mr2 736550 {* decimal 'IA2'. *}
++.#define bfd_mach_mips_xlp 887680 {* decimal 'XLP'. *}
+ .#define bfd_mach_mipsisa32 32
+ .#define bfd_mach_mipsisa32r2 33
+ .#define bfd_mach_mipsisa32r3 34
+diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
+index e25da50aaf..e251d7e7aa 100644
+--- a/bfd/bfd-in2.h
++++ b/bfd/bfd-in2.h
+@@ -2084,6 +2084,7 @@ enum bfd_architecture
+ #define bfd_mach_mips_octeon3 6503
+ #define bfd_mach_mips_xlr 887682 /* decimal 'XLR'. */
+ #define bfd_mach_mips_interaptiv_mr2 736550 /* decimal 'IA2'. */
++#define bfd_mach_mips_xlp 887680 /* decimal 'XLP'. */
+ #define bfd_mach_mipsisa32 32
+ #define bfd_mach_mipsisa32r2 33
+ #define bfd_mach_mipsisa32r3 34
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index cc65547588..3614ff79d4 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -902,6 +902,11 @@ case "${targ}" in
+ targ_defvec=mips_elf32_le_vec
+ targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
+ ;;
++ mipsisa64*-*-elf*)
++ targ_defvec=mips_elf32_trad_be_vec
++ targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
++ want64=true
++ ;;
+ mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none)
+ targ_defvec=mips_elf32_be_vec
+ targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
+diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
+index b359491305..61a3e7aaca 100644
+--- a/bfd/cpu-mips.c
++++ b/bfd/cpu-mips.c
+@@ -107,7 +107,8 @@ enum
+ I_mipsocteon3,
+ I_xlr,
+ I_interaptiv_mr2,
+- I_micromips
++ I_micromips,
++ I_xlp
+ };
+
+ #define NN(index) (&arch_info_struct[(index) + 1])
+@@ -162,7 +163,8 @@ static const bfd_arch_info_type arch_info_struct[] =
+ N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)),
+ N (32, 32, bfd_mach_mips_interaptiv_mr2, "mips:interaptiv-mr2", FALSE,
+ NN(I_interaptiv_mr2)),
+- N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
++ N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,NN(I_micromips)),
++ N (64, 64, bfd_mach_mips_xlp, "mips:xlp", FALSE, 0)
+ };
+
+ /* The default architecture is mips:3000, but with a machine number of
+diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
+index 5998bc43a8..0d5795222b 100644
+--- a/bfd/elfxx-mips.c
++++ b/bfd/elfxx-mips.c
+@@ -6919,6 +6919,9 @@ _bfd_elf_mips_mach (flagword flags)
+ case E_MIPS_MACH_IAMR2:
+ return bfd_mach_mips_interaptiv_mr2;
+
++ case E_MIPS_MACH_XLP:
++ return bfd_mach_mips_xlp;
++
+ default:
+ switch (flags & EF_MIPS_ARCH)
+ {
+@@ -12199,6 +12202,10 @@ mips_set_isa_flags (bfd *abfd)
+ val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2;
+ break;
+
++ case bfd_mach_mips_xlp:
++ val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_XLP;
++ break;
++
+ case bfd_mach_mipsisa32:
+ val = E_MIPS_ARCH_32;
+ break;
+@@ -14214,6 +14221,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
+ { bfd_mach_mips_gs264e, bfd_mach_mips_gs464e },
+ { bfd_mach_mips_gs464e, bfd_mach_mips_gs464 },
+ { bfd_mach_mips_gs464, bfd_mach_mipsisa64r2 },
++ { bfd_mach_mips_xlp, bfd_mach_mipsisa64r2 },
+
+ /* MIPS64 extensions. */
+ { bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
+diff --git a/binutils/readelf.c b/binutils/readelf.c
+index b13eb6a43b..9df3742682 100644
+--- a/binutils/readelf.c
++++ b/binutils/readelf.c
+@@ -3412,6 +3412,7 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
+ case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break;
+ case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break;
+ case E_MIPS_MACH_IAMR2: strcat (buf, ", interaptiv-mr2"); break;
++ case E_MIPS_MACH_XLP: strcat (buf, ", xlp"); break;
+ case 0:
+ /* We simply ignore the field in this case to avoid confusion:
+ MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
+diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
+index ae55904229..d6882712f5 100644
+--- a/gas/config/tc-mips.c
++++ b/gas/config/tc-mips.c
+@@ -554,6 +554,7 @@ static int mips_32bitmode = 0;
+ || mips_opts.arch == CPU_RM7000 \
+ || mips_opts.arch == CPU_VR5500 \
+ || mips_opts.micromips \
++ || mips_opts.arch == CPU_XLP \
+ )
+
+ /* Whether the processor uses hardware interlocks to protect reads
+@@ -583,6 +584,7 @@ static int mips_32bitmode = 0;
+ && mips_opts.isa != ISA_MIPS3) \
+ || mips_opts.arch == CPU_R4300 \
+ || mips_opts.micromips \
++ || mips_opts.arch == CPU_XLP \
+ )
+
+ /* Whether the processor uses hardware interlocks to protect reads
+@@ -19867,7 +19869,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
+ /* Broadcom XLP.
+ XLP is mostly like XLR, with the prominent exception that it is
+ MIPS64R2 rather than MIPS64. */
+- { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR },
++ { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP },
+
+ /* MIPS 64 Release 6 */
+ { "i6400", 0, ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6},
+diff --git a/gas/configure b/gas/configure
+index a82fde7fa8..afc77c347a 100755
+--- a/gas/configure
++++ b/gas/configure
+@@ -13364,6 +13364,9 @@ _ACEOF
+ mipsisa64r6 | mipsisa64r6el)
+ mips_cpu=mips64r6
+ ;;
++ mipsisa64r2nlm | mipsisa64r2nlmel)
++ mips_cpu=xlp
++ ;;
+ mipstx39 | mipstx39el)
+ mips_cpu=r3900
+ ;;
+diff --git a/include/elf/mips.h b/include/elf/mips.h
+index b76d450ae2..7cddb365ad 100644
+--- a/include/elf/mips.h
++++ b/include/elf/mips.h
+@@ -290,6 +290,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
+ #define E_MIPS_MACH_SB1 0x008a0000
+ #define E_MIPS_MACH_OCTEON 0x008b0000
+ #define E_MIPS_MACH_XLR 0x008c0000
++#define E_MIPS_MACH_XLP 0x008f0000
+ #define E_MIPS_MACH_OCTEON2 0x008d0000
+ #define E_MIPS_MACH_OCTEON3 0x008e0000
+ #define E_MIPS_MACH_5400 0x00910000
+diff --git a/include/opcode/mips.h b/include/opcode/mips.h
+index abd52c8980..53b6752a1c 100644
+--- a/include/opcode/mips.h
++++ b/include/opcode/mips.h
+@@ -1260,6 +1260,8 @@ static const unsigned int mips_isa_table[] = {
+ #define INSN_XLR 0x00000020
+ /* Imagination interAptiv MR2. */
+ #define INSN_INTERAPTIV_MR2 0x04000000
++/* Netlogic XlP instruction */
++#define INSN_XLP 0x00000080
+
+ /* DSP ASE */
+ #define ASE_DSP 0x00000001
+@@ -1381,6 +1383,7 @@ static const unsigned int mips_isa_table[] = {
+ #define CPU_OCTEON3 6503
+ #define CPU_XLR 887682 /* decimal 'XLR' */
+ #define CPU_INTERAPTIV_MR2 736550 /* decimal 'IA2' */
++#define CPU_XLP 887680 /* decimal 'XLP' */
+
+ /* Return true if the given CPU is included in INSN_* mask MASK. */
+
+@@ -1458,6 +1461,9 @@ cpu_is_member (int cpu, unsigned int mask)
+ return ((mask & INSN_ISA_MASK) == INSN_ISA32R6)
+ || ((mask & INSN_ISA_MASK) == INSN_ISA64R6);
+
++ case CPU_XLP:
++ return (mask & INSN_XLP) != 0;
++
+ default:
+ return FALSE;
+ }
+diff --git a/ld/configure.tgt b/ld/configure.tgt
+index 917be6f8eb..347df6c3f6 100644
+--- a/ld/configure.tgt
++++ b/ld/configure.tgt
+@@ -454,6 +454,8 @@ mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*)
+ mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
+ targ_emul=elf32btsmip
+ targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
++mipsisa64*-*-elf*) targ_emul=elf32btsmip
++ targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" ;;
+ mips64*el-ps2-elf*) targ_emul=elf32lr5900n32
+ targ_extra_emuls="elf32lr5900"
+ targ_extra_libpath=$targ_extra_emuls ;;
+diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
+index 0dd85e3779..1ea708dde7 100644
+--- a/opcodes/mips-dis.c
++++ b/opcodes/mips-dis.c
+@@ -673,13 +673,11 @@ const struct mips_arch_choice mips_arch_choices[] =
+ mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
+ mips_cp1_names_mips3264, mips_hwr_names_numeric },
+
+- /* XLP is mostly like XLR, with the prominent exception it is being
+- MIPS64R2. */
+- { "xlp", 1, bfd_mach_mips_xlr, CPU_XLR,
+- ISA_MIPS64R2 | INSN_XLR, 0,
+- mips_cp0_names_xlr,
+- mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
+- mips_cp1_names_mips3264, mips_hwr_names_numeric },
++ { "xlp", 1, bfd_mach_mips_xlp, CPU_XLP,
++ ISA_MIPS64R2 | INSN_XLP, 0,
++ mips_cp0_names_mips3264r2,
++ mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
++ mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
+
+ /* This entry, mips16, is here only for ISA/processor selection; do
+ not print its name. */
+diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
+index 837da6bd99..d3ea5b8877 100644
+--- a/opcodes/mips-opc.c
++++ b/opcodes/mips-opc.c
+@@ -328,6 +328,7 @@ decode_mips_operand (const char *p)
+ #define IOCT3 INSN_OCTEON3
+ #define XLR INSN_XLR
+ #define IAMR2 INSN_INTERAPTIV_MR2
++#define XLP INSN_XLP
+ #define IVIRT ASE_VIRT
+ #define IVIRT64 ASE_VIRT64
+
+@@ -989,6 +990,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
+ {"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 },
+ {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
++{"crc", "d,s,t", 0x7000001c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
+ /* ctc0 is at the bottom of the table. */
+ {"ctc1", "t,G", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
+ {"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
+@@ -1021,12 +1023,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 },
+ {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 },
+ {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 },
+-{"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR, 0, 0 },
++{"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR|XLP, 0, 0 },
+ {"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5, 0, 0 },
+ {"dclo", "d,s", 0x00000053, 0xfc1f07ff, WR_1|RD_2, 0, I69, 0, 0 },
+ {"dclo", "U,s", 0x70000025, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, I69 },
+ {"dclz", "d,s", 0x00000052, 0xfc1f07ff, WR_1|RD_2, 0, I69, 0, 0 },
+ {"dclz", "U,s", 0x70000024, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, I69 },
++{"dcrc", "d,s,t", 0x7000001d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
+ /* dctr and dctw are used on the r5000. */
+ {"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
+ {"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
+@@ -1098,6 +1101,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ {"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 },
+ {"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
+ {"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
++{"dmfur", "t,d", 0x7000001e, 0xffe007ff, WR_1, 0, XLP, 0, 0 },
+ {"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 },
+ {"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 },
+ {"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE },
+@@ -1113,6 +1117,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ /* dmfc3 is at the bottom of the table. */
+ /* dmtc3 is at the bottom of the table. */
+ {"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
++{"dmtur", "t,d", 0x7000001f, 0xffe007ff, RD_1, 0, XLP, 0, 0 },
++{"dmul", "d,s,t", 0x70000006, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
+ {"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
+ {"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 },
+ {"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 },
+@@ -1266,9 +1272,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ {"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 },
+ {"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 },
+ {"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 },
+-{"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
+-{"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
+-{"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
++{"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
++{"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
++{"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
+ {"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
+ {"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
+ {"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF },
+@@ -1433,7 +1439,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ {"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 },
+ {"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 },
+ {"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 },
+-{"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1|RD_2, 0, XLR, 0, 0 },
++{"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1, 0, XLR|XLP, 0, 0 },
+ {"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 },
+ {"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 },
+ {"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 },
+@@ -1478,10 +1484,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ /* move is at the top of the table. */
+ {"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
+ {"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 },
++{"msgsnds", "d,t", 0x4a000001, 0xffe007ff, WR_1|RD_2|RD_C0|WR_C0, 0, XLP, 0, 0 },
+ {"msgld", "", 0, (int) M_MSGLD, INSN_MACRO, 0, XLR, 0, 0 },
+ {"msgld", "t", 0, (int) M_MSGLD_T, INSN_MACRO, 0, XLR, 0, 0 },
+-{"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR, 0, 0 },
+-{"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR, 0, 0 },
++{"msglds", "d,t", 0x4a000002, 0xffe007ff, WR_1|RD_2|RD_C0|WR_C0, 0, XLP, 0, 0 },
++{"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR|XLP, 0, 0 },
++{"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR|XLP, 0, 0 },
++{"msgsync", "", 0x4a000004, 0xffffffff,0, 0, XLP, 0, 0 },
+ {"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 },
+ {"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 },
+ {"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 },
+@@ -1531,7 +1540,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ {"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 },
+ {"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 },
+ {"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 },
+-{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1|RD_2, 0, XLR, 0, 0 },
++{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1, 0, XLR|XLP, 0, 0 },
+ {"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
+ {"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
+ {"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
+@@ -1968,9 +1977,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
+ {"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37},
+ {"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 },
+ {"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 },
+-{"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
+-{"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
+-{"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
++{"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
++{"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
++{"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
+ {"swc0", "E,o(b)", 0xe0000000, 0xfc000000, RD_3|RD_C0|SM, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
+ {"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
+ {"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 },
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch b/poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch
deleted file mode 100644
index 2e93b129d..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 2d2e2fcdd9646849716ee99d8d3e5d72ae8889bc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:44:14 +0000
-Subject: [PATCH 11/15] Change default emulation for mips64*-*-linux
-
-we change the default emulations to be N64 instead of N32
-
-Upstream-Status: Inappropriate [ OE configuration Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- bfd/config.bfd | 8 ++++----
- ld/configure.tgt | 8 ++++----
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 6391f35684..8a11c0680a 100644
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -913,12 +913,12 @@ case "${targ}" in
- targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
- ;;
- mips64*el-*-linux*)
-- targ_defvec=mips_elf32_ntrad_le_vec
-- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
-+ targ_defvec=mips_elf64_trad_le_vec
-+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec"
- ;;
- mips64*-*-linux*)
-- targ_defvec=mips_elf32_ntrad_be_vec
-- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
-+ targ_defvec=mips_elf64_trad_be_vec
-+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_be_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
- ;;
- mips*el-*-linux*)
- targ_defvec=mips_elf32_trad_le_vec
-diff --git a/ld/configure.tgt b/ld/configure.tgt
-index fad8b2e5c8..7fb2168503 100644
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -464,11 +464,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmipvxworks
- mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
- targ_extra_emuls="elf32elmipvxworks" ;;
- mips*-*-windiss) targ_emul=elf32mipswindiss ;;
--mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
-- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
-+mips64*el-*-linux-*) targ_emul=elf64ltsmip
-+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
- targ_extra_libpath=$targ_extra_emuls ;;
--mips64*-*-linux-*) targ_emul=elf32btsmipn32
-- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
-+mips64*-*-linux-*) targ_emul=elf64btsmip
-+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
- targ_extra_libpath=$targ_extra_emuls ;;
- mips*el-*-linux-*) targ_emul=elf32ltsmip
- targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch b/poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch
deleted file mode 100644
index 4d64bd53f..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch
+++ /dev/null
@@ -1,393 +0,0 @@
-From 96ff7570c29f792c466a933529fefda9b8e97994 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 14 Feb 2016 17:06:19 +0000
-Subject: [PATCH 12/15] Add support for Netlogic XLP
-
-Patch From: Nebu Philips <nphilips@netlogicmicro.com>
-
-Using the mipsisa64r2nlm target, add support for XLP from
-Netlogic. Also, update vendor name to NLM wherever applicable.
-
-Use 0x00000080 for INSN_XLP, the value 0x00000040 has already been
-assigned to INSN_OCTEON3
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Baoshan Pang <baoshan.pang@windriver.com>
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- bfd/aoutx.h | 1 +
- bfd/archures.c | 1 +
- bfd/bfd-in2.h | 1 +
- bfd/config.bfd | 5 +++++
- bfd/cpu-mips.c | 6 ++++--
- bfd/elfxx-mips.c | 8 ++++++++
- binutils/readelf.c | 1 +
- gas/config/tc-mips.c | 4 +++-
- gas/configure | 3 +++
- include/elf/mips.h | 1 +
- include/opcode/mips.h | 6 ++++++
- ld/configure.tgt | 2 ++
- opcodes/mips-dis.c | 12 +++++-------
- opcodes/mips-opc.c | 31 ++++++++++++++++++++-----------
- 14 files changed, 61 insertions(+), 21 deletions(-)
-
-diff --git a/bfd/aoutx.h b/bfd/aoutx.h
-index 023843b0be..46246fec2d 100644
---- a/bfd/aoutx.h
-+++ b/bfd/aoutx.h
-@@ -798,6 +798,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
- case bfd_mach_mipsisa64r6:
- case bfd_mach_mips_sb1:
- case bfd_mach_mips_xlr:
-+ case bfd_mach_mips_xlp:
- /* FIXME: These should be MIPS3, MIPS4, MIPS16, MIPS32, etc. */
- arch_flags = M_MIPS2;
- break;
-diff --git a/bfd/archures.c b/bfd/archures.c
-index 282e983086..b38b05d132 100644
---- a/bfd/archures.c
-+++ b/bfd/archures.c
-@@ -183,6 +183,7 @@ DESCRIPTION
- .#define bfd_mach_mips_octeon3 6503
- .#define bfd_mach_mips_xlr 887682 {* decimal 'XLR'. *}
- .#define bfd_mach_mips_interaptiv_mr2 736550 {* decimal 'IA2'. *}
-+.#define bfd_mach_mips_xlp 887680 {* decimal 'XLP'. *}
- .#define bfd_mach_mipsisa32 32
- .#define bfd_mach_mipsisa32r2 33
- .#define bfd_mach_mipsisa32r3 34
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 93745bd3fd..326e9e49ed 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -2054,6 +2054,7 @@ enum bfd_architecture
- #define bfd_mach_mips_octeon3 6503
- #define bfd_mach_mips_xlr 887682 /* decimal 'XLR'. */
- #define bfd_mach_mips_interaptiv_mr2 736550 /* decimal 'IA2'. */
-+#define bfd_mach_mips_xlp 887680 /* decimal 'XLP'. */
- #define bfd_mach_mipsisa32 32
- #define bfd_mach_mipsisa32r2 33
- #define bfd_mach_mipsisa32r3 34
-diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 8a11c0680a..c882421343 100644
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -896,6 +896,11 @@ case "${targ}" in
- targ_defvec=mips_elf32_le_vec
- targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
- ;;
-+ mipsisa64*-*-elf*)
-+ targ_defvec=mips_elf32_trad_be_vec
-+ targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
-+ want64=true
-+ ;;
- mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none)
- targ_defvec=mips_elf32_be_vec
- targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
-diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
-index cb50c64371..2b9d1d6ecf 100644
---- a/bfd/cpu-mips.c
-+++ b/bfd/cpu-mips.c
-@@ -105,7 +105,8 @@ enum
- I_mipsocteon3,
- I_xlr,
- I_interaptiv_mr2,
-- I_micromips
-+ I_micromips,
-+ I_xlp
- };
-
- #define NN(index) (&arch_info_struct[(index) + 1])
-@@ -158,7 +159,8 @@ static const bfd_arch_info_type arch_info_struct[] =
- N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)),
- N (32, 32, bfd_mach_mips_interaptiv_mr2, "mips:interaptiv-mr2", FALSE,
- NN(I_interaptiv_mr2)),
-- N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
-+ N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,NN(I_micromips)),
-+ N (64, 64, bfd_mach_mips_xlp, "mips:xlp", FALSE, 0)
- };
-
- /* The default architecture is mips:3000, but with a machine number of
-diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index d91942301c..5d1bd3f0b1 100644
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -6805,6 +6805,9 @@ _bfd_elf_mips_mach (flagword flags)
- case E_MIPS_MACH_IAMR2:
- return bfd_mach_mips_interaptiv_mr2;
-
-+ case E_MIPS_MACH_XLP:
-+ return bfd_mach_mips_xlp;
-+
- default:
- switch (flags & EF_MIPS_ARCH)
- {
-@@ -12003,6 +12006,10 @@ mips_set_isa_flags (bfd *abfd)
- val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2;
- break;
-
-+ case bfd_mach_mips_xlp:
-+ val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_XLP;
-+ break;
-+
- case bfd_mach_mipsisa32:
- val = E_MIPS_ARCH_32;
- break;
-@@ -13992,6 +13999,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
- { bfd_mach_mips_octeonp, bfd_mach_mips_octeon },
- { bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 },
- { bfd_mach_mips_loongson_3a, bfd_mach_mipsisa64r2 },
-+ { bfd_mach_mips_xlp, bfd_mach_mipsisa64r2 },
-
- /* MIPS64 extensions. */
- { bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index 2b78db219b..7a7178925f 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -3403,6 +3403,7 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
- case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break;
- case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break;
- case E_MIPS_MACH_IAMR2: strcat (buf, ", interaptiv-mr2"); break;
-+ case E_MIPS_MACH_XLP: strcat (buf, ", xlp"); break;
- case 0:
- /* We simply ignore the field in this case to avoid confusion:
- MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
-diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
-index 59df787155..48537226c0 100644
---- a/gas/config/tc-mips.c
-+++ b/gas/config/tc-mips.c
-@@ -552,6 +552,7 @@ static int mips_32bitmode = 0;
- || mips_opts.arch == CPU_RM7000 \
- || mips_opts.arch == CPU_VR5500 \
- || mips_opts.micromips \
-+ || mips_opts.arch == CPU_XLP \
- )
-
- /* Whether the processor uses hardware interlocks to protect reads
-@@ -581,6 +582,7 @@ static int mips_32bitmode = 0;
- && mips_opts.isa != ISA_MIPS3) \
- || mips_opts.arch == CPU_R4300 \
- || mips_opts.micromips \
-+ || mips_opts.arch == CPU_XLP \
- )
-
- /* Whether the processor uses hardware interlocks to protect reads
-@@ -19778,7 +19780,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
- /* Broadcom XLP.
- XLP is mostly like XLR, with the prominent exception that it is
- MIPS64R2 rather than MIPS64. */
-- { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR },
-+ { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP },
-
- /* MIPS 64 Release 6 */
- { "i6400", 0, ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6},
-diff --git a/gas/configure b/gas/configure
-index 134278fa25..2fdca147a1 100755
---- a/gas/configure
-+++ b/gas/configure
-@@ -13336,6 +13336,9 @@ _ACEOF
- mipsisa64r6 | mipsisa64r6el)
- mips_cpu=mips64r6
- ;;
-+ mipsisa64r2nlm | mipsisa64r2nlmel)
-+ mips_cpu=xlp
-+ ;;
- mipstx39 | mipstx39el)
- mips_cpu=r3900
- ;;
-diff --git a/include/elf/mips.h b/include/elf/mips.h
-index 4e2cde3279..c329f38929 100644
---- a/include/elf/mips.h
-+++ b/include/elf/mips.h
-@@ -290,6 +290,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
- #define E_MIPS_MACH_SB1 0x008a0000
- #define E_MIPS_MACH_OCTEON 0x008b0000
- #define E_MIPS_MACH_XLR 0x008c0000
-+#define E_MIPS_MACH_XLP 0x008f0000
- #define E_MIPS_MACH_OCTEON2 0x008d0000
- #define E_MIPS_MACH_OCTEON3 0x008e0000
- #define E_MIPS_MACH_5400 0x00910000
-diff --git a/include/opcode/mips.h b/include/opcode/mips.h
-index 1ab1780567..74f457b579 100644
---- a/include/opcode/mips.h
-+++ b/include/opcode/mips.h
-@@ -1262,6 +1262,8 @@ static const unsigned int mips_isa_table[] = {
- #define INSN_XLR 0x00000020
- /* Imagination interAptiv MR2. */
- #define INSN_INTERAPTIV_MR2 0x04000000
-+/* Netlogic XlP instruction */
-+#define INSN_XLP 0x00000080
-
- /* DSP ASE */
- #define ASE_DSP 0x00000001
-@@ -1373,6 +1375,7 @@ static const unsigned int mips_isa_table[] = {
- #define CPU_OCTEON3 6503
- #define CPU_XLR 887682 /* decimal 'XLR' */
- #define CPU_INTERAPTIV_MR2 736550 /* decimal 'IA2' */
-+#define CPU_XLP 887680 /* decimal 'XLP' */
-
- /* Return true if the given CPU is included in INSN_* mask MASK. */
-
-@@ -1453,6 +1456,9 @@ cpu_is_member (int cpu, unsigned int mask)
- return ((mask & INSN_ISA_MASK) == INSN_ISA32R6)
- || ((mask & INSN_ISA_MASK) == INSN_ISA64R6);
-
-+ case CPU_XLP:
-+ return (mask & INSN_XLP) != 0;
-+
- default:
- return FALSE;
- }
-diff --git a/ld/configure.tgt b/ld/configure.tgt
-index 7fb2168503..a1db7adfe2 100644
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -450,6 +450,8 @@ mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*)
- mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
- targ_emul=elf32btsmip
- targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
-+mipsisa64*-*-elf*) targ_emul=elf32btsmip
-+ targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" ;;
- mips64*el-ps2-elf*) targ_emul=elf32lr5900n32
- targ_extra_emuls="elf32lr5900"
- targ_extra_libpath=$targ_extra_emuls ;;
-diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
-index bbf21328e8..38e487c16f 100644
---- a/opcodes/mips-dis.c
-+++ b/opcodes/mips-dis.c
-@@ -656,13 +656,11 @@ const struct mips_arch_choice mips_arch_choices[] =
- mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
- mips_cp1_names_mips3264, mips_hwr_names_numeric },
-
-- /* XLP is mostly like XLR, with the prominent exception it is being
-- MIPS64R2. */
-- { "xlp", 1, bfd_mach_mips_xlr, CPU_XLR,
-- ISA_MIPS64R2 | INSN_XLR, 0,
-- mips_cp0_names_xlr,
-- mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
-- mips_cp1_names_mips3264, mips_hwr_names_numeric },
-+ { "xlp", 1, bfd_mach_mips_xlp, CPU_XLP,
-+ ISA_MIPS64R2 | INSN_XLP, 0,
-+ mips_cp0_names_mips3264r2,
-+ mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
-+ mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
-
- /* This entry, mips16, is here only for ISA/processor selection; do
- not print its name. */
-diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
-index 1cbcbc6abc..e1fbdc89de 100644
---- a/opcodes/mips-opc.c
-+++ b/opcodes/mips-opc.c
-@@ -329,6 +329,7 @@ decode_mips_operand (const char *p)
- #define IOCT3 INSN_OCTEON3
- #define XLR INSN_XLR
- #define IAMR2 INSN_INTERAPTIV_MR2
-+#define XLP INSN_XLP
- #define IVIRT ASE_VIRT
- #define IVIRT64 ASE_VIRT64
-
-@@ -974,6 +975,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
- {"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 },
- {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
-+{"crc", "d,s,t", 0x7000001c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
- /* ctc0 is at the bottom of the table. */
- {"ctc1", "t,G", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
- {"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
-@@ -1006,12 +1008,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 },
- {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 },
- {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 },
--{"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR, 0, 0 },
-+{"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR|XLP, 0, 0 },
- {"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5, 0, 0 },
- {"dclo", "d,s", 0x00000053, 0xfc1f07ff, WR_1|RD_2, 0, I69, 0, 0 },
- {"dclo", "U,s", 0x70000025, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, I69 },
- {"dclz", "d,s", 0x00000052, 0xfc1f07ff, WR_1|RD_2, 0, I69, 0, 0 },
- {"dclz", "U,s", 0x70000024, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, I69 },
-+{"dcrc", "d,s,t", 0x7000001d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
- /* dctr and dctw are used on the r5000. */
- {"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
- {"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
-@@ -1083,6 +1086,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 },
- {"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
- {"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
-+{"dmfur", "t,d", 0x7000001e, 0xffe007ff, WR_1, 0, XLP, 0, 0 },
- {"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 },
- {"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 },
- {"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE },
-@@ -1098,6 +1102,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
- /* dmfc3 is at the bottom of the table. */
- /* dmtc3 is at the bottom of the table. */
- {"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
-+{"dmtur", "t,d", 0x7000001f, 0xffe007ff, RD_1, 0, XLP, 0, 0 },
-+{"dmul", "d,s,t", 0x70000006, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
- {"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
- {"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 },
- {"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 },
-@@ -1251,9 +1257,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 },
- {"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 },
- {"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 },
--{"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
--{"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
--{"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
-+{"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
-+{"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
-+{"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
- {"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
- {"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
- {"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF },
-@@ -1418,7 +1424,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 },
- {"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 },
- {"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 },
--{"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1|RD_2, 0, XLR, 0, 0 },
-+{"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1, 0, XLR|XLP, 0, 0 },
- {"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 },
- {"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 },
- {"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 },
-@@ -1463,10 +1469,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
- /* move is at the top of the table. */
- {"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
- {"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 },
-+{"msgsnds", "d,t", 0x4a000001, 0xffe007ff, WR_1|RD_2|RD_C0|WR_C0, 0, XLP, 0, 0 },
- {"msgld", "", 0, (int) M_MSGLD, INSN_MACRO, 0, XLR, 0, 0 },
- {"msgld", "t", 0, (int) M_MSGLD_T, INSN_MACRO, 0, XLR, 0, 0 },
--{"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR, 0, 0 },
--{"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR, 0, 0 },
-+{"msglds", "d,t", 0x4a000002, 0xffe007ff, WR_1|RD_2|RD_C0|WR_C0, 0, XLP, 0, 0 },
-+{"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR|XLP, 0, 0 },
-+{"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR|XLP, 0, 0 },
-+{"msgsync", "", 0x4a000004, 0xffffffff,0, 0, XLP, 0, 0 },
- {"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 },
- {"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 },
- {"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 },
-@@ -1516,7 +1525,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 },
- {"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 },
- {"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 },
--{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1|RD_2, 0, XLR, 0, 0 },
-+{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1, 0, XLR|XLP, 0, 0 },
- {"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
- {"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
- {"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
-@@ -1953,9 +1962,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
- {"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37},
- {"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 },
- {"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 },
--{"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
--{"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
--{"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 },
-+{"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
-+{"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
-+{"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
- {"swc0", "E,o(b)", 0xe0000000, 0xfc000000, RD_3|RD_C0|SM, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
- {"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
- {"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 },
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch b/poky/meta/recipes-devtools/binutils/binutils/0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
new file mode 100644
index 000000000..6a3b78f22
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
@@ -0,0 +1,36 @@
+From e48767a0298e6ccf53d83fecc93bb6d26b595897 Mon Sep 17 00:00:00 2001
+From: Zhenhua Luo <zhenhua.luo@nxp.com>
+Date: Sat, 11 Jun 2016 22:08:29 -0500
+Subject: [PATCH 12/15] fix the incorrect assembling for ppc wait mnemonic
+
+Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
+
+Upstream-Status: Pending
+---
+ opcodes/ppc-opc.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
+index 3032631d4e..142f096ef4 100644
+--- a/opcodes/ppc-opc.c
++++ b/opcodes/ppc-opc.c
+@@ -5325,7 +5325,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+ {"ldepx", X(31,29), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}},
+
+ {"waitasec", X(31,30), XRTRARB_MASK, POWER8, POWER9, {0}},
+-{"wait", X(31,30), XWC_MASK, POWER9, 0, {WC}},
+
+ {"lwepx", X(31,31), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}},
+
+@@ -5379,7 +5378,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+
+ {"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, 0, {0}},
+ {"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, 0, {0}},
+-{"wait", X(31,62), XWC_MASK, E500MC|PPCA2, 0, {WC}},
++{"wait", X(31,62), XWC_MASK, E500MC|PPCA2|POWER9, 0, {WC}},
+
+ {"dcbstep", XRT(31,63,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}},
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0013-Detect-64-bit-MIPS-targets.patch b/poky/meta/recipes-devtools/binutils/binutils/0013-Detect-64-bit-MIPS-targets.patch
new file mode 100644
index 000000000..d929179de
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0013-Detect-64-bit-MIPS-targets.patch
@@ -0,0 +1,50 @@
+From 6587e7b8e7730dda20d8c47cabe9f7f8397efa3c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 11:42:03 -0700
+Subject: [PATCH 13/15] Detect 64-bit MIPS targets
+
+Add mips64 target triplets and default to N64
+
+Upstream-Status: Submitted
+https://sourceware.org/ml/binutils/2016-08/msg00048.html
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gold/configure.tgt | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/gold/configure.tgt b/gold/configure.tgt
+index 3e066edaa8..caf130ceda 100644
+--- a/gold/configure.tgt
++++ b/gold/configure.tgt
+@@ -153,6 +153,13 @@ aarch64*-*)
+ targ_big_endian=false
+ targ_extra_big_endian=true
+ ;;
++mips*64*el*-*-*|mips*64*le*-*-*)
++ targ_obj=mips
++ targ_machine=EM_MIPS_RS3_LE
++ targ_size=64
++ targ_big_endian=false
++ targ_extra_big_endian=true
++ ;;
+ mips*el*-*-*|mips*le*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS_RS3_LE
+@@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*)
+ targ_big_endian=false
+ targ_extra_big_endian=true
+ ;;
++mips*64*-*-*)
++ targ_obj=mips
++ targ_machine=EM_MIPS
++ targ_size=64
++ targ_big_endian=true
++ targ_extra_big_endian=false
++ ;;
+ mips*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch b/poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
deleted file mode 100644
index c9ffdada9..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From d45455db35db5693c5efe0e1b384295e4c0db998 Mon Sep 17 00:00:00 2001
-From: Zhenhua Luo <zhenhua.luo@nxp.com>
-Date: Sat, 11 Jun 2016 22:08:29 -0500
-Subject: [PATCH 13/15] fix the incorrect assembling for ppc wait mnemonic
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
-
-Upstream-Status: Pending
----
- opcodes/ppc-opc.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
-index 4a0fca5f0a..49f72fc35c 100644
---- a/opcodes/ppc-opc.c
-+++ b/opcodes/ppc-opc.c
-@@ -5351,7 +5351,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
- {"ldepx", X(31,29), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}},
-
- {"waitasec", X(31,30), XRTRARB_MASK, POWER8, POWER9, {0}},
--{"wait", X(31,30), XWC_MASK, POWER9, 0, {WC}},
-
- {"lwepx", X(31,31), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}},
-
-@@ -5405,7 +5404,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
-
- {"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, 0, {0}},
- {"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, 0, {0}},
--{"wait", X(31,62), XWC_MASK, E500MC|PPCA2, 0, {WC}},
-+{"wait", X(31,62), XWC_MASK, E500MC|PPCA2|POWER9, 0, {WC}},
-
- {"dcbstep", XRT(31,63,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}},
-
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch b/poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch
deleted file mode 100644
index 6197df6d5..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 9af90cfc35ff1fe78755578861473039836c467a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 11:42:03 -0700
-Subject: [PATCH 14/15] Detect 64-bit MIPS targets
-
-Add mips64 target triplets and default to N64
-
-Upstream-Status: Submitted
-https://sourceware.org/ml/binutils/2016-08/msg00048.html
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gold/configure.tgt | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/gold/configure.tgt b/gold/configure.tgt
-index 8aef22a318..7030026ffa 100644
---- a/gold/configure.tgt
-+++ b/gold/configure.tgt
-@@ -153,6 +153,13 @@ aarch64*-*)
- targ_big_endian=false
- targ_extra_big_endian=true
- ;;
-+mips*64*el*-*-*|mips*64*le*-*-*)
-+ targ_obj=mips
-+ targ_machine=EM_MIPS_RS3_LE
-+ targ_size=64
-+ targ_big_endian=false
-+ targ_extra_big_endian=true
-+ ;;
- mips*el*-*-*|mips*le*-*-*)
- targ_obj=mips
- targ_machine=EM_MIPS_RS3_LE
-@@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*)
- targ_big_endian=false
- targ_extra_big_endian=true
- ;;
-+mips*64*-*-*)
-+ targ_obj=mips
-+ targ_machine=EM_MIPS
-+ targ_size=64
-+ targ_big_endian=true
-+ targ_extra_big_endian=false
-+ ;;
- mips*-*-*)
- targ_obj=mips
- targ_machine=EM_MIPS
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0014-sync-with-OE-libtool-changes.patch b/poky/meta/recipes-devtools/binutils/binutils/0014-sync-with-OE-libtool-changes.patch
new file mode 100644
index 000000000..65ba10a55
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0014-sync-with-OE-libtool-changes.patch
@@ -0,0 +1,89 @@
+From b7729343206fa196b9a11747a92b3cf563277056 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 6 Mar 2017 23:33:27 -0800
+Subject: [PATCH 14/15] sync with OE libtool changes
+
+Apply these patches from our libtool patches as not only are redundant RPATHs a
+waste of space but they can cause incorrect linking when native packages are
+restored from sstate.
+
+fix-rpath.patch:
+We don't want to add RPATHS which match default linker
+search paths, they're a waste of space. This patch
+filters libtools list and removes the ones we don't need.
+
+norm-rpath.patch:
+Libtool may be passed link paths of the form "/usr/lib/../lib", which
+fool its detection code into thinking it should be included as an
+RPATH in the generated binary. Normalize before comparision.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 34 ++++++++++++++++++++++++++++------
+ 1 file changed, 28 insertions(+), 6 deletions(-)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 11ee684ccc..3b19ac1532 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -8053,8 +8053,16 @@ EOF
+ esac
+ fi
+ else
+- eval flag=\"$hardcode_libdir_flag_spec\"
+- func_append dep_rpath " $flag"
++ # We only want to hardcode in an rpath if it isn't in the
++ # default dlsearch path.
++ func_normal_abspath "$libdir"
++ libdir_norm=$func_normal_abspath_result
++ case " $sys_lib_dlsearch_path " in
++ *" $libdir_norm "*) ;;
++ *) eval flag=\"$hardcode_libdir_flag_spec\"
++ func_append dep_rpath " $flag"
++ ;;
++ esac
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+@@ -8790,8 +8798,16 @@ EOF
+ esac
+ fi
+ else
+- eval flag=\"$hardcode_libdir_flag_spec\"
+- func_append rpath " $flag"
++ # We only want to hardcode in an rpath if it isn't in the
++ # default dlsearch path.
++ func_normal_abspath "$libdir"
++ libdir_norm=$func_normal_abspath_result
++ case " $sys_lib_dlsearch_path " in
++ *" $libdir_norm "*) ;;
++ *) eval flag=\"$hardcode_libdir_flag_spec\"
++ rpath+=" $flag"
++ ;;
++ esac
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+@@ -8841,8 +8857,14 @@ EOF
+ esac
+ fi
+ else
+- eval flag=\"$hardcode_libdir_flag_spec\"
+- func_append rpath " $flag"
++ # We only want to hardcode in an rpath if it isn't in the
++ # default dlsearch path.
++ case " $sys_lib_dlsearch_path " in
++ *" $libdir "*) ;;
++ *) eval flag=\"$hardcode_libdir_flag_spec\"
++ func_append rpath " $flag"
++ ;;
++ esac
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch b/poky/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch
new file mode 100644
index 000000000..bfde561de
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch
@@ -0,0 +1,53 @@
+From d5d783903e335302e562bac8da1a083338d75b25 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Nov 2018 17:46:40 -0800
+Subject: [PATCH 15/15] binutils : enable x86_64-pep for producing EFI binaries
+ on x86-64
+
+Add x86_64-pep emulation support to the set enabled for x86_64 targets
+to enable the linker to produce Portable Executables for EFI binaries.
+
+Enables building the x86-64 EFI variant of the Xen hypervisor for
+the OpenXT Project.
+
+Upstream-Status: Inappropriate [OE configuration specific]
+
+Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ bfd/config.bfd | 2 +-
+ ld/configure.tgt | 5 +++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index 3614ff79d4..aef144803a 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -694,7 +694,7 @@ case "${targ}" in
+ ;;
+ x86_64-*-linux-*)
+ targ_defvec=x86_64_elf64_vec
+- targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
++ targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec x86_64_pe_vec x86_64_pe_be_vec i386_pe_vec"
+ want64=true
+ ;;
+ x86_64-*-nacl*)
+diff --git a/ld/configure.tgt b/ld/configure.tgt
+index 347df6c3f6..1e37d747a9 100644
+--- a/ld/configure.tgt
++++ b/ld/configure.tgt
+@@ -257,8 +257,9 @@ x86_64-*-linux-gnux32) targ_emul=elf32_x86_64
+ tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'`
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;;
+ x86_64-*-linux-*) targ_emul=elf_x86_64
+- targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om"
+- targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
++ targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pe i386pep"
++ targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om i386pep"
++ targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o"
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
+ i[3-7]86-*-redox*) targ_emul=elf_i386
+ targ_extra_emuls=elf_x86_64 ;;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch b/poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch
deleted file mode 100644
index 7dc8ba8c3..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From f9e26bd29b5f017ea1307b51b5036063bff78600 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Mon, 6 Mar 2017 23:33:27 -0800
-Subject: [PATCH 15/15] sync with OE libtool changes
-
-Apply these patches from our libtool patches as not only are redundant RPATHs a
-waste of space but they can cause incorrect linking when native packages are
-restored from sstate.
-
-fix-rpath.patch:
-We don't want to add RPATHS which match default linker
-search paths, they're a waste of space. This patch
-filters libtools list and removes the ones we don't need.
-
-norm-rpath.patch:
-Libtool may be passed link paths of the form "/usr/lib/../lib", which
-fool its detection code into thinking it should be included as an
-RPATH in the generated binary. Normalize before comparision.
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 34 ++++++++++++++++++++++++++++------
- 1 file changed, 28 insertions(+), 6 deletions(-)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 11ee684ccc..3b19ac1532 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -8053,8 +8053,16 @@ EOF
- esac
- fi
- else
-- eval flag=\"$hardcode_libdir_flag_spec\"
-- func_append dep_rpath " $flag"
-+ # We only want to hardcode in an rpath if it isn't in the
-+ # default dlsearch path.
-+ func_normal_abspath "$libdir"
-+ libdir_norm=$func_normal_abspath_result
-+ case " $sys_lib_dlsearch_path " in
-+ *" $libdir_norm "*) ;;
-+ *) eval flag=\"$hardcode_libdir_flag_spec\"
-+ func_append dep_rpath " $flag"
-+ ;;
-+ esac
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
-@@ -8790,8 +8798,16 @@ EOF
- esac
- fi
- else
-- eval flag=\"$hardcode_libdir_flag_spec\"
-- func_append rpath " $flag"
-+ # We only want to hardcode in an rpath if it isn't in the
-+ # default dlsearch path.
-+ func_normal_abspath "$libdir"
-+ libdir_norm=$func_normal_abspath_result
-+ case " $sys_lib_dlsearch_path " in
-+ *" $libdir_norm "*) ;;
-+ *) eval flag=\"$hardcode_libdir_flag_spec\"
-+ rpath+=" $flag"
-+ ;;
-+ esac
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
-@@ -8841,8 +8857,14 @@ EOF
- esac
- fi
- else
-- eval flag=\"$hardcode_libdir_flag_spec\"
-- func_append rpath " $flag"
-+ # We only want to hardcode in an rpath if it isn't in the
-+ # default dlsearch path.
-+ case " $sys_lib_dlsearch_path " in
-+ *" $libdir "*) ;;
-+ *) eval flag=\"$hardcode_libdir_flag_spec\"
-+ func_append rpath " $flag"
-+ ;;
-+ esac
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0016-add-i386pep-emulation-for-x86_64.patch b/poky/meta/recipes-devtools/binutils/binutils/0016-add-i386pep-emulation-for-x86_64.patch
deleted file mode 100644
index 9f20784eb..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0016-add-i386pep-emulation-for-x86_64.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-binutils : enable x86_64-pep for producing EFI binaries on x86-64
-
-Add x86_64-pep emulation support to the set enabled for x86_64 targets
-to enable the linker to produce Portable Executables for EFI binaries.
-
-Enables building the x86-64 EFI variant of the Xen hypervisor for
-the OpenXT Project.
-
-Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
-
-Upstream-Status: Inappropriate [OE configuration specific]
----
-diff --git a/bfd/config.bfd b/bfd/config.bfd
-index c882421..dc705b6 100644
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -688,7 +688,7 @@ case "${targ}" in
- ;;
- x86_64-*-linux-*)
- targ_defvec=x86_64_elf64_vec
-- targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
-+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec x86_64_pe_vec x86_64_pe_be_vec i386_pe_vec"
- want64=true
- ;;
- x86_64-*-nacl*)
-diff --git a/ld/configure.tgt b/ld/configure.tgt
-index a1db7ad..65a984a 100644
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -253,8 +253,9 @@ x86_64-*-linux-gnux32) targ_emul=elf32_x86_64
- tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'`
- tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;;
- x86_64-*-linux-*) targ_emul=elf_x86_64
-- targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om"
-- targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
-+ targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pe i386pep"
-+ targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om i386pep"
-+ targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o"
- tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
- i[3-7]86-*-redox*) targ_emul=elf_i386
- targ_extra_emuls=elf_x86_64 ;;
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0022-Handle-ELF-compressed-header-alignment-correctly-by-.patch b/poky/meta/recipes-devtools/binutils/binutils/0022-Handle-ELF-compressed-header-alignment-correctly-by-.patch
deleted file mode 100644
index 650de9b9a..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0022-Handle-ELF-compressed-header-alignment-correctly-by-.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-From bb9c8cc3c5f4ffd6019a8c53adead429954162e1 Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Tue, 27 Nov 2018 11:59:10 +0000
-Subject: [PATCH 1/2] Handle ELF compressed header alignment correctly by
- setting up the section alignment correctly for the Elf32_Chdr or Elf64_Chdr
- type and respect the ch_addralign field when decompressing the section data.
-
- PR binutils/23919
-binutils* readelf.c (dump_sections_as_strings): Remove bogus addralign check.
- (dump_sections_as_bytes): Likewise.
- (load_specific_debug_sections): Likewise.
- * testsuite/binutils-all/dw2-3.rS: Adjust alignment.
- * testsuite/binutils-all/dw2-3.rt: Likewise.
-
-bfd * bfd.c (bfd_update_compression_header): Explicitly set alignment.
- (bfd_check_compression_header): Add uncompressed_alignment_power
- argument. Check ch_addralign is a power of 2.
- * bfd-in2.h: Regenerated.
- * compress.c (bfd_compress_section_contents): Get and set
- orig_uncompressed_alignment_pow if section is decompressed.
- (bfd_is_section_compressed_with_header): Add and get
- uncompressed_align_pow_p argument.
- (bfd_is_section_compressed): Add uncompressed_align_power argument
- to bfd_is_section_compressed_with_header call.
- (bfd_init_section_decompress_status): Get and set
- uncompressed_alignment_power.
- * elf.c (_bfd_elf_make_section_from_shdr): Add
- uncompressed_align_power argument to
- bfd_is_section_compressed_with_header call.
----
- bfd/bfd-in2.h | 6 ++--
- bfd/bfd.c | 20 ++++++++++----
- bfd/compress.c | 35 +++++++++++++++++-------
- bfd/elf.c | 5 ++--
- binutils/readelf.c | 18 ------------
- binutils/testsuite/binutils-all/dw2-3.rS | 2 +-
- binutils/testsuite/binutils-all/dw2-3.rt | 2 +-
- 7 files changed, 49 insertions(+), 39 deletions(-)
-
-Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4207142d6a5d2359170c5f9a140fc1a2351fbda9]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index f53dbb5e8c..d0c2190d0b 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -7279,7 +7279,8 @@ void bfd_update_compression_header
-
- bfd_boolean bfd_check_compression_header
- (bfd *abfd, bfd_byte *contents, asection *sec,
-- bfd_size_type *uncompressed_size);
-+ bfd_size_type *uncompressed_size,
-+ unsigned int *uncompressed_alignment_power);
-
- int bfd_get_compression_header_size (bfd *abfd, asection *sec);
-
-@@ -7855,7 +7856,8 @@ void bfd_cache_section_contents
- bfd_boolean bfd_is_section_compressed_with_header
- (bfd *abfd, asection *section,
- int *compression_header_size_p,
-- bfd_size_type *uncompressed_size_p);
-+ bfd_size_type *uncompressed_size_p,
-+ unsigned int *uncompressed_alignment_power_p);
-
- bfd_boolean bfd_is_section_compressed
- (bfd *abfd, asection *section);
-diff --git a/bfd/bfd.c b/bfd/bfd.c
-index 851710401e..ea10d7b185 100644
---- a/bfd/bfd.c
-+++ b/bfd/bfd.c
-@@ -2332,6 +2332,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
- bfd_put_32 (abfd, sec->size, &echdr->ch_size);
- bfd_put_32 (abfd, 1 << sec->alignment_power,
- &echdr->ch_addralign);
-+ /* bfd_log2 (alignof (Elf32_Chdr)) */
-+ bfd_set_section_alignment (abfd, sec, 2);
- }
- else
- {
-@@ -2342,6 +2344,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
- bfd_put_64 (abfd, sec->size, &echdr->ch_size);
- bfd_put_64 (abfd, 1 << sec->alignment_power,
- &echdr->ch_addralign);
-+ /* bfd_log2 (alignof (Elf64_Chdr)) */
-+ bfd_set_section_alignment (abfd, sec, 3);
- }
- }
- else
-@@ -2354,6 +2358,8 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
- order. */
- memcpy (contents, "ZLIB", 4);
- bfd_putb64 (sec->size, contents + 4);
-+ /* No way to keep the original alignment, just use 1 always. */
-+ bfd_set_section_alignment (abfd, sec, 0);
- }
- }
- }
-@@ -2368,12 +2374,14 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
- SYNOPSIS
- bfd_boolean bfd_check_compression_header
- (bfd *abfd, bfd_byte *contents, asection *sec,
-- bfd_size_type *uncompressed_size);
-+ bfd_size_type *uncompressed_size,
-+ unsigned int *uncompressed_alignment_power);
-
- DESCRIPTION
- Check the compression header at CONTENTS of SEC in ABFD and
-- store the uncompressed size in UNCOMPRESSED_SIZE if the
-- compression header is valid.
-+ store the uncompressed size in UNCOMPRESSED_SIZE and the
-+ uncompressed data alignment in UNCOMPRESSED_ALIGNMENT_POWER
-+ if the compression header is valid.
-
- RETURNS
- Return TRUE if the compression header is valid.
-@@ -2382,7 +2390,8 @@ RETURNS
- bfd_boolean
- bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
- asection *sec,
-- bfd_size_type *uncompressed_size)
-+ bfd_size_type *uncompressed_size,
-+ unsigned int *uncompressed_alignment_power)
- {
- if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
- && (elf_section_flags (sec) & SHF_COMPRESSED) != 0)
-@@ -2404,9 +2413,10 @@ bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
- chdr.ch_addralign = bfd_get_64 (abfd, &echdr->ch_addralign);
- }
- if (chdr.ch_type == ELFCOMPRESS_ZLIB
-- && chdr.ch_addralign == 1U << sec->alignment_power)
-+ && chdr.ch_addralign == (1U << bfd_log2 (chdr.ch_addralign)))
- {
- *uncompressed_size = chdr.ch_size;
-+ *uncompressed_alignment_power = bfd_log2 (chdr.ch_addralign);
- return TRUE;
- }
- }
-diff --git a/bfd/compress.c b/bfd/compress.c
-index 53e566e498..97ea624eb8 100644
---- a/bfd/compress.c
-+++ b/bfd/compress.c
-@@ -84,11 +84,13 @@ bfd_compress_section_contents (bfd *abfd, sec_ptr sec,
- int zlib_size = 0;
- int orig_compression_header_size;
- bfd_size_type orig_uncompressed_size;
-+ unsigned int orig_uncompressed_alignment_pow;
- int header_size = bfd_get_compression_header_size (abfd, NULL);
- bfd_boolean compressed
- = bfd_is_section_compressed_with_header (abfd, sec,
- &orig_compression_header_size,
-- &orig_uncompressed_size);
-+ &orig_uncompressed_size,
-+ &orig_uncompressed_alignment_pow);
-
- /* Either ELF compression header or the 12-byte, "ZLIB" + 8-byte size,
- overhead in .zdebug* section. */
-@@ -153,6 +155,9 @@ bfd_compress_section_contents (bfd *abfd, sec_ptr sec,
- return 0;
- }
- free (uncompressed_buffer);
-+ bfd_set_section_alignment (abfd, sec,
-+ orig_uncompressed_alignment_pow);
-+
- sec->contents = buffer;
- sec->compress_status = COMPRESS_SECTION_DONE;
- return orig_uncompressed_size;
-@@ -364,20 +369,24 @@ SYNOPSIS
- bfd_boolean bfd_is_section_compressed_with_header
- (bfd *abfd, asection *section,
- int *compression_header_size_p,
-- bfd_size_type *uncompressed_size_p);
-+ bfd_size_type *uncompressed_size_p,
-+ unsigned int *uncompressed_alignment_power_p);
-
- DESCRIPTION
- Return @code{TRUE} if @var{section} is compressed. Compression
-- header size is returned in @var{compression_header_size_p} and
-- uncompressed size is returned in @var{uncompressed_size_p}. If
-- compression is unsupported, compression header size is returned
-- with -1 and uncompressed size is returned with 0.
-+ header size is returned in @var{compression_header_size_p},
-+ uncompressed size is returned in @var{uncompressed_size_p}
-+ and the uncompressed data alignement power is returned in
-+ @var{uncompressed_align_pow_p}. If compression is
-+ unsupported, compression header size is returned with -1
-+ and uncompressed size is returned with 0.
- */
-
- bfd_boolean
- bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec,
- int *compression_header_size_p,
-- bfd_size_type *uncompressed_size_p)
-+ bfd_size_type *uncompressed_size_p,
-+ unsigned int *uncompressed_align_pow_p)
- {
- bfd_byte header[MAX_COMPRESSION_HEADER_SIZE];
- int compression_header_size;
-@@ -412,7 +421,8 @@ bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec,
- if (compression_header_size != 0)
- {
- if (!bfd_check_compression_header (abfd, header, sec,
-- uncompressed_size_p))
-+ uncompressed_size_p,
-+ uncompressed_align_pow_p))
- compression_header_size = -1;
- }
- /* Check for the pathalogical case of a debug string section that
-@@ -449,9 +459,11 @@ bfd_is_section_compressed (bfd *abfd, sec_ptr sec)
- {
- int compression_header_size;
- bfd_size_type uncompressed_size;
-+ unsigned int uncompressed_align_power;
- return (bfd_is_section_compressed_with_header (abfd, sec,
- &compression_header_size,
-- &uncompressed_size)
-+ &uncompressed_size,
-+ &uncompressed_align_power)
- && compression_header_size >= 0
- && uncompressed_size > 0);
- }
-@@ -480,6 +492,7 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
- int compression_header_size;
- int header_size;
- bfd_size_type uncompressed_size;
-+ unsigned int uncompressed_alignment_power = 0;
-
- compression_header_size = bfd_get_compression_header_size (abfd, sec);
- if (compression_header_size > MAX_COMPRESSION_HEADER_SIZE)
-@@ -508,7 +521,8 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
- uncompressed_size = bfd_getb64 (header + 4);
- }
- else if (!bfd_check_compression_header (abfd, header, sec,
-- &uncompressed_size))
-+ &uncompressed_size,
-+ &uncompressed_alignment_power))
- {
- bfd_set_error (bfd_error_wrong_format);
- return FALSE;
-@@ -516,6 +530,7 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
-
- sec->compressed_size = sec->size;
- sec->size = uncompressed_size;
-+ bfd_set_section_alignment (abfd, sec, uncompressed_alignment_power);
- sec->compress_status = DECOMPRESS_SECTION_SIZED;
-
- return TRUE;
-diff --git a/bfd/elf.c b/bfd/elf.c
-index 828241d48a..c4f131ddcf 100644
---- a/bfd/elf.c
-+++ b/bfd/elf.c
-@@ -1177,11 +1177,12 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
- enum { nothing, compress, decompress } action = nothing;
- int compression_header_size;
- bfd_size_type uncompressed_size;
-+ unsigned int uncompressed_align_power;
- bfd_boolean compressed
- = bfd_is_section_compressed_with_header (abfd, newsect,
- &compression_header_size,
-- &uncompressed_size);
--
-+ &uncompressed_size,
-+ &uncompressed_align_power);
- if (compressed)
- {
- /* Compressed section. Check if we should decompress. */
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index f4df697a7d..4b0efa884f 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -13345,12 +13345,6 @@ dump_section_as_strings (Elf_Internal_Shdr * section, Filedata * filedata)
- printable_section_name (filedata, section), chdr.ch_type);
- return FALSE;
- }
-- else if (chdr.ch_addralign != section->sh_addralign)
-- {
-- warn (_("compressed section '%s' is corrupted\n"),
-- printable_section_name (filedata, section));
-- return FALSE;
-- }
- uncompressed_size = chdr.ch_size;
- start += compression_header_size;
- new_size -= compression_header_size;
-@@ -13492,12 +13486,6 @@ dump_section_as_bytes (Elf_Internal_Shdr * section,
- printable_section_name (filedata, section), chdr.ch_type);
- return FALSE;
- }
-- else if (chdr.ch_addralign != section->sh_addralign)
-- {
-- warn (_("compressed section '%s' is corrupted\n"),
-- printable_section_name (filedata, section));
-- return FALSE;
-- }
- uncompressed_size = chdr.ch_size;
- start += compression_header_size;
- new_size -= compression_header_size;
-@@ -13667,12 +13655,6 @@ load_specific_debug_section (enum dwarf_section_display_enum debug,
- section->name, chdr.ch_type);
- return FALSE;
- }
-- else if (chdr.ch_addralign != sec->sh_addralign)
-- {
-- warn (_("compressed section '%s' is corrupted\n"),
-- section->name);
-- return FALSE;
-- }
- uncompressed_size = chdr.ch_size;
- start += compression_header_size;
- size -= compression_header_size;
-diff --git a/binutils/testsuite/binutils-all/dw2-3.rS b/binutils/testsuite/binutils-all/dw2-3.rS
-index f1637e9149..86bc73d9a2 100644
---- a/binutils/testsuite/binutils-all/dw2-3.rS
-+++ b/binutils/testsuite/binutils-all/dw2-3.rS
-@@ -1,3 +1,3 @@
- #...
-- +\[[ 0-9]+\] .debug_info +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +1
-+ +\[[ 0-9]+\] .debug_info +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +(4|8)
- #pass
-diff --git a/binutils/testsuite/binutils-all/dw2-3.rt b/binutils/testsuite/binutils-all/dw2-3.rt
-index f59cbaa22b..74e7f8deca 100644
---- a/binutils/testsuite/binutils-all/dw2-3.rt
-+++ b/binutils/testsuite/binutils-all/dw2-3.rt
-@@ -1,6 +1,6 @@
- #...
- +\[[ 0-9]+\] .debug_info
-- +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +0 +0 +1
-+ +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +0 +0 +(4|8)
- +\[0+800\]: COMPRESSED
- +ZLIB, 0+9d, 1
- #pass
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0023-gold-Get-alignment-of-uncompressed-section-from-ch_a.patch b/poky/meta/recipes-devtools/binutils/binutils/0023-gold-Get-alignment-of-uncompressed-section-from-ch_a.patch
deleted file mode 100644
index 1f072a605..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0023-gold-Get-alignment-of-uncompressed-section-from-ch_a.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-From 0261ec511ac07177fa488133e0bb3c03860977b3 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Sun, 2 Dec 2018 05:42:36 -0800
-Subject: [PATCH 2/2] gold: Get alignment of uncompressed section from
- ch_addralign
-
-The ELF compression header has a field (ch_addralign) that is set to
-the alignment of the uncompressed section. This way the section itself
-can have a different alignment than the decompressed section. Update
-decompress_input_section to get alignment of the decompressed section
-and use it when merging decompressed strings.
-
- PR binutils/23919
- * merge.cc (Output_merge_string<Char_type>::do_add_input_section):
- Get addralign from decompressed_section_contents.
- * object.cc (build_compressed_section_map): Set info.addralign.
- (Object::decompressed_section_contents): Add a palign
- argument and store p->second.addralign in *palign if it isn't
- NULL.
- * object.h (Compressed_section_info): Add addralign.
- (section_is_compressed): Add a palign argument, default it
- to NULL, store p->second.addralign in *palign if it isn't NULL.
- (Object::decompressed_section_contents): Likewise.
- * output.cc (Output_section::add_input_section): Get addralign
- from section_is_compressed.
----
- gold/merge.cc | 8 +++++---
- gold/object.cc | 11 +++++++++--
- gold/object.h | 8 ++++++--
- gold/output.cc | 11 ++++++-----
- 4 files changed, 26 insertions(+), 12 deletions(-)
-
-Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5f6c22aee74f17393b82934a5682d985672e011a]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-
-diff --git a/gold/merge.cc b/gold/merge.cc
-index de00ee9ae9..d7de11789f 100644
---- a/gold/merge.cc
-+++ b/gold/merge.cc
-@@ -440,9 +440,11 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
- {
- section_size_type sec_len;
- bool is_new;
-+ uint64_t addralign = this->addralign();
- const unsigned char* pdata = object->decompressed_section_contents(shndx,
- &sec_len,
-- &is_new);
-+ &is_new,
-+ &addralign);
-
- const Char_type* p = reinterpret_cast<const Char_type*>(pdata);
- const Char_type* pend = p + sec_len / sizeof(Char_type);
-@@ -494,7 +496,7 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
- // aligned, so each string within the section must retain the same
- // modulo.
- uintptr_t init_align_modulo = (reinterpret_cast<uintptr_t>(pdata)
-- & (this->addralign() - 1));
-+ & (addralign - 1));
- bool has_misaligned_strings = false;
-
- while (p < pend)
-@@ -503,7 +505,7 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
-
- // Within merge input section each string must be aligned.
- if (len != 0
-- && ((reinterpret_cast<uintptr_t>(p) & (this->addralign() - 1))
-+ && ((reinterpret_cast<uintptr_t>(p) & (addralign - 1))
- != init_align_modulo))
- has_misaligned_strings = true;
-
-diff --git a/gold/object.cc b/gold/object.cc
-index 374340fa16..711793e5e4 100644
---- a/gold/object.cc
-+++ b/gold/object.cc
-@@ -751,11 +751,13 @@ build_compressed_section_map(
- const unsigned char* contents =
- obj->section_contents(i, &len, false);
- uint64_t uncompressed_size;
-+ Compressed_section_info info;
- if (is_zcompressed)
- {
- // Skip over the ".zdebug" prefix.
- name += 7;
- uncompressed_size = get_uncompressed_size(contents, len);
-+ info.addralign = shdr.get_sh_addralign();
- }
- else
- {
-@@ -763,8 +765,8 @@ build_compressed_section_map(
- name += 6;
- elfcpp::Chdr<size, big_endian> chdr(contents);
- uncompressed_size = chdr.get_ch_size();
-+ info.addralign = chdr.get_ch_addralign();
- }
-- Compressed_section_info info;
- info.size = convert_to_section_size_type(uncompressed_size);
- info.flag = shdr.get_sh_flags();
- info.contents = NULL;
-@@ -3060,7 +3062,8 @@ const unsigned char*
- Object::decompressed_section_contents(
- unsigned int shndx,
- section_size_type* plen,
-- bool* is_new)
-+ bool* is_new,
-+ uint64_t* palign)
- {
- section_size_type buffer_size;
- const unsigned char* buffer = this->do_section_contents(shndx, &buffer_size,
-@@ -3087,6 +3090,8 @@ Object::decompressed_section_contents(
- {
- *plen = uncompressed_size;
- *is_new = false;
-+ if (palign != NULL)
-+ *palign = p->second.addralign;
- return p->second.contents;
- }
-
-@@ -3108,6 +3113,8 @@ Object::decompressed_section_contents(
- // once in this pass.
- *plen = uncompressed_size;
- *is_new = true;
-+ if (palign != NULL)
-+ *palign = p->second.addralign;
- return uncompressed_data;
- }
-
-diff --git a/gold/object.h b/gold/object.h
-index 0b786a5471..b99548463d 100644
---- a/gold/object.h
-+++ b/gold/object.h
-@@ -373,6 +373,7 @@ struct Compressed_section_info
- {
- section_size_type size;
- elfcpp::Elf_Xword flag;
-+ uint64_t addralign;
- const unsigned char* contents;
- };
- typedef std::map<unsigned int, Compressed_section_info> Compressed_section_map;
-@@ -808,7 +809,8 @@ class Object
-
- bool
- section_is_compressed(unsigned int shndx,
-- section_size_type* uncompressed_size) const
-+ section_size_type* uncompressed_size,
-+ elfcpp::Elf_Xword* palign = NULL) const
- {
- if (this->compressed_sections_ == NULL)
- return false;
-@@ -818,6 +820,8 @@ class Object
- {
- if (uncompressed_size != NULL)
- *uncompressed_size = p->second.size;
-+ if (palign != NULL)
-+ *palign = p->second.addralign;
- return true;
- }
- return false;
-@@ -828,7 +832,7 @@ class Object
- // by the caller.
- const unsigned char*
- decompressed_section_contents(unsigned int shndx, section_size_type* plen,
-- bool* is_cached);
-+ bool* is_cached, uint64_t* palign = NULL);
-
- // Discard any buffers of decompressed sections. This is done
- // at the end of the Add_symbols task.
-diff --git a/gold/output.cc b/gold/output.cc
-index 1701db1c99..75ac3bcf97 100644
---- a/gold/output.cc
-+++ b/gold/output.cc
-@@ -2448,7 +2448,13 @@ Output_section::add_input_section(Layout* layout,
- unsigned int reloc_shndx,
- bool have_sections_script)
- {
-+ section_size_type input_section_size = shdr.get_sh_size();
-+ section_size_type uncompressed_size;
- elfcpp::Elf_Xword addralign = shdr.get_sh_addralign();
-+ if (object->section_is_compressed(shndx, &uncompressed_size,
-+ &addralign))
-+ input_section_size = uncompressed_size;
-+
- if ((addralign & (addralign - 1)) != 0)
- {
- object->error(_("invalid alignment %lu for section \"%s\""),
-@@ -2498,11 +2504,6 @@ Output_section::add_input_section(Layout* layout,
- }
- }
-
-- section_size_type input_section_size = shdr.get_sh_size();
-- section_size_type uncompressed_size;
-- if (object->section_is_compressed(shndx, &uncompressed_size))
-- input_section_size = uncompressed_size;
--
- off_t offset_in_section;
-
- if (this->has_fixed_layout())
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-17358.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-17358.patch
deleted file mode 100644
index d5a1ea1dc..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-17358.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 30838132997e6a3cfe3ec11c58b32b22f6f6b102 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Thu, 20 Sep 2018 15:29:17 +0930
-Subject: [PATCH] Bug 23686, two segment faults in nm
-
-Fixes the bugs exposed by the testcases in the PR, plus two more bugs
-I noticed when looking at _bfd_stab_section_find_nearest_line.
-
- PR 23686
- * dwarf2.c (read_section): Error when attempting to malloc
- "(bfd_size_type) -1".
- * syms.c (_bfd_stab_section_find_nearest_line): Bounds check
- function_name. Bounds check reloc address. Formatting. Ensure
- .stabstr zero terminated.
-CVE: CVE-2018-17358 and CVE-2018-17359
-Upstream-Status: Backport
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- bfd/ChangeLog | 9 +++++++++
- bfd/dwarf2.c | 9 ++++++++-
- bfd/syms.c | 22 ++++++++++++++++------
- 3 files changed, 33 insertions(+), 7 deletions(-)
-
---- a/bfd/dwarf2.c
-+++ b/bfd/dwarf2.c
-@@ -527,6 +527,7 @@ read_section (bfd * abfd,
- asection *msec;
- const char *section_name = sec->uncompressed_name;
- bfd_byte *contents = *section_buffer;
-+ bfd_size_type amt;
-
- /* The section may have already been read. */
- if (contents == NULL)
-@@ -549,7 +550,13 @@ read_section (bfd * abfd,
- *section_size = msec->rawsize ? msec->rawsize : msec->size;
- /* Paranoia - alloc one extra so that we can make sure a string
- section is NUL terminated. */
-- contents = (bfd_byte *) bfd_malloc (*section_size + 1);
-+ amt = *section_size + 1;
-+ if (amt == 0)
-+ {
-+ bfd_set_error (bfd_error_no_memory);
-+ return FALSE;
-+ }
-+ contents = (bfd_byte *) bfd_malloc (amt);
- if (contents == NULL)
- return FALSE;
- if (syms
---- a/bfd/syms.c
-+++ b/bfd/syms.c
-@@ -1035,6 +1035,10 @@ _bfd_stab_section_find_nearest_line (bfd
- 0, strsize))
- return FALSE;
-
-+ /* Stab strings ought to be nul terminated. Ensure the last one
-+ is, to prevent running off the end of the buffer. */
-+ info->strs[strsize - 1] = 0;
-+
- /* If this is a relocatable object file, we have to relocate
- the entries in .stab. This should always be simple 32 bit
- relocations against symbols defined in this object file, so
-@@ -1073,7 +1077,8 @@ _bfd_stab_section_find_nearest_line (bfd
- || r->howto->bitsize != 32
- || r->howto->pc_relative
- || r->howto->bitpos != 0
-- || r->howto->dst_mask != 0xffffffff)
-+ || r->howto->dst_mask != 0xffffffff
-+ || r->address * bfd_octets_per_byte (abfd) + 4 > stabsize)
- {
- _bfd_error_handler
- (_("unsupported .stab relocation"));
-@@ -1195,7 +1200,8 @@ _bfd_stab_section_find_nearest_line (bfd
- {
- nul_fun = stab;
- nul_str = str;
-- if (file_name >= (char *) info->strs + strsize || file_name < (char *) str)
-+ if (file_name >= (char *) info->strs + strsize
-+ || file_name < (char *) str)
- file_name = NULL;
- if (stab + STABSIZE + TYPEOFF < info->stabs + stabsize
- && *(stab + STABSIZE + TYPEOFF) == (bfd_byte) N_SO)
-@@ -1206,7 +1212,8 @@ _bfd_stab_section_find_nearest_line (bfd
- directory_name = file_name;
- file_name = ((char *) str
- + bfd_get_32 (abfd, stab + STRDXOFF));
-- if (file_name >= (char *) info->strs + strsize || file_name < (char *) str)
-+ if (file_name >= (char *) info->strs + strsize
-+ || file_name < (char *) str)
- file_name = NULL;
- }
- }
-@@ -1217,7 +1224,8 @@ _bfd_stab_section_find_nearest_line (bfd
- file_name = (char *) str + bfd_get_32 (abfd, stab + STRDXOFF);
- /* PR 17512: file: 0c680a1f. */
- /* PR 17512: file: 5da8aec4. */
-- if (file_name >= (char *) info->strs + strsize || file_name < (char *) str)
-+ if (file_name >= (char *) info->strs + strsize
-+ || file_name < (char *) str)
- file_name = NULL;
- break;
-
-@@ -1226,7 +1234,8 @@ _bfd_stab_section_find_nearest_line (bfd
- function_name = (char *) str + bfd_get_32 (abfd, stab + STRDXOFF);
- if (function_name == (char *) str)
- continue;
-- if (function_name >= (char *) info->strs + strsize)
-+ if (function_name >= (char *) info->strs + strsize
-+ || function_name < (char *) str)
- function_name = NULL;
-
- nul_fun = NULL;
-@@ -1335,7 +1344,8 @@ _bfd_stab_section_find_nearest_line (bfd
- if (val <= offset)
- {
- file_name = (char *) str + bfd_get_32 (abfd, stab + STRDXOFF);
-- if (file_name >= (char *) info->strs + strsize || file_name < (char *) str)
-+ if (file_name >= (char *) info->strs + strsize
-+ || file_name < (char *) str)
- file_name = NULL;
- *pline = 0;
- }
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-17360.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-17360.patch
deleted file mode 100644
index 45c637967..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-17360.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From cf93e9c2cf8f8b2566f8fc86e961592b51b5980d Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Thu, 20 Sep 2018 18:23:17 +0930
-Subject: [PATCH] PR23685, buffer overflow
-
- PR 23685
- * peXXigen.c (pe_print_edata): Correct export address table
- overflow checks. Check dataoff against section size too.
-
-CVE: CVE-2018-17360
-Upstream-Status: Backport
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- bfd/ChangeLog | 6 ++++++
- bfd/peXXigen.c | 11 ++++++-----
- 2 files changed, 12 insertions(+), 5 deletions(-)
-
---- a/bfd/peXXigen.c
-+++ b/bfd/peXXigen.c
-@@ -1661,7 +1661,8 @@ pe_print_edata (bfd * abfd, void * vfile
-
- dataoff = addr - section->vma;
- datasize = extra->DataDirectory[PE_EXPORT_TABLE].Size;
-- if (datasize > section->size - dataoff)
-+ if (dataoff > section->size
-+ || datasize > section->size - dataoff)
- {
- fprintf (file,
- _("\nThere is an export table in %s, but it does not fit into that section\n"),
-@@ -1778,11 +1779,11 @@ pe_print_edata (bfd * abfd, void * vfile
- edt.base);
-
- /* PR 17512: Handle corrupt PE binaries. */
-- if (edt.eat_addr + (edt.num_functions * 4) - adj >= datasize
-+ /* PR 17512 file: 140-165018-0.004. */
-+ if (edt.eat_addr - adj >= datasize
- /* PR 17512: file: 092b1829 */
-- || (edt.num_functions * 4) < edt.num_functions
-- /* PR 17512 file: 140-165018-0.004. */
-- || data + edt.eat_addr - adj < data)
-+ || (edt.num_functions + 1) * 4 < edt.num_functions
-+ || edt.eat_addr - adj + (edt.num_functions + 1) * 4 > datasize)
- fprintf (file, _("\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"),
- (long) edt.eat_addr,
- (long) edt.num_functions);
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18309.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18309.patch
deleted file mode 100644
index 010e6b5d5..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18309.patch
+++ /dev/null
@@ -1,251 +0,0 @@
-From 0930cb3021b8078b34cf216e79eb8608d017864f Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Sat, 13 Oct 2018 22:03:02 +1030
-Subject: [PATCH] _bfd_clear_contents bounds checking
-
-This PR shows a fuzzed binary triggering a segfault via a bad
-relocation in .debug_line. It turns out that unlike normal
-relocations applied to a section, the linker applies those with
-symbols from discarded sections via _bfd_clear_contents without
-checking that the relocation is within the section bounds. The same
-thing now happens when reading debug sections since commit
-a4cd947aca23, the PR23425 fix.
-
- PR 23770
- PR 23425
- * reloc.c (_bfd_clear_contents): Replace "location" param with
- "buf" and "off". Bounds check "off". Return status.
- * cofflink.c (_bfd_coff_generic_relocate_section): Update
- _bfd_clear_contents call.
- * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Likewise.
- * elf32-arc.c (elf_arc_relocate_section): Likewise.
- * elf32-i386.c (elf_i386_relocate_section): Likewise.
- * elf32-metag.c (metag_final_link_relocate): Likewise.
- * elf32-nds32.c (nds32_elf_get_relocated_section_contents): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-visium.c (visium_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c *(elf_x86_64_relocate_section): Likewise.
- * libbfd-in.h (_bfd_clear_contents): Update prototype.
- * libbfd.h: Regenerate.
-
-Upstream-Status: Backport
-CVE: CVE-2018-18605
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- bfd/ChangeLog | 20 ++++++++++++++++++++
- bfd/cofflink.c | 2 +-
- bfd/elf-bfd.h | 2 +-
- bfd/elf32-arc.c | 2 +-
- bfd/elf32-i386.c | 2 +-
- bfd/elf32-metag.c | 2 +-
- bfd/elf32-nds32.c | 8 ++++----
- bfd/elf32-ppc.c | 2 +-
- bfd/elf32-visium.c | 2 +-
- bfd/elf64-ppc.c | 2 +-
- bfd/elf64-x86-64.c | 2 +-
- bfd/libbfd-in.h | 4 ++--
- bfd/libbfd.h | 4 ++--
- bfd/reloc.c | 19 +++++++++++++------
- 14 files changed, 50 insertions(+), 23 deletions(-)
-
---- a/bfd/cofflink.c
-+++ b/bfd/cofflink.c
-@@ -3080,7 +3080,7 @@ _bfd_coff_generic_relocate_section (bfd
- if (sec != NULL && discarded_section (sec))
- {
- _bfd_clear_contents (howto, input_bfd, input_section,
-- contents + (rel->r_vaddr - input_section->vma));
-+ contents, rel->r_vaddr - input_section->vma);
- continue;
- }
-
---- a/bfd/elf-bfd.h
-+++ b/bfd/elf-bfd.h
-@@ -2811,7 +2811,7 @@ extern asection _bfd_elf_large_com_secti
- { \
- int i_; \
- _bfd_clear_contents (howto, input_bfd, input_section, \
-- contents + rel[index].r_offset); \
-+ contents, rel[index].r_offset); \
- \
- if (bfd_link_relocatable (info) \
- && (input_section->flags & SEC_DEBUGGING)) \
---- a/bfd/elf32-arc.c
-+++ b/bfd/elf32-arc.c
-@@ -1552,7 +1552,7 @@ elf_arc_relocate_section (bfd * outp
- if (sec != NULL && discarded_section (sec))
- {
- _bfd_clear_contents (howto, input_bfd, input_section,
-- contents + rel->r_offset);
-+ contents, rel->r_offset);
- rel->r_info = 0;
- rel->r_addend = 0;
-
---- a/bfd/elf32-i386.c
-+++ b/bfd/elf32-i386.c
-@@ -2197,7 +2197,7 @@ elf_i386_relocate_section (bfd *output_b
- if (sec != NULL && discarded_section (sec))
- {
- _bfd_clear_contents (howto, input_bfd, input_section,
-- contents + rel->r_offset);
-+ contents, rel->r_offset);
- wrel->r_offset = rel->r_offset;
- wrel->r_info = 0;
- wrel->r_addend = 0;
---- a/bfd/elf32-metag.c
-+++ b/bfd/elf32-metag.c
-@@ -1396,7 +1396,7 @@ metag_final_link_relocate (reloc_howto_t
- rel, relend, howto, contents) \
- { \
- _bfd_clear_contents (howto, input_bfd, input_section, \
-- contents + rel->r_offset); \
-+ contents, rel->r_offset); \
- \
- if (bfd_link_relocatable (info) \
- && (input_section->flags & SEC_DEBUGGING)) \
---- a/bfd/elf32-nds32.c
-+++ b/bfd/elf32-nds32.c
-@@ -12582,14 +12582,14 @@ nds32_elf_get_relocated_section_contents
- symbol = *(*parent)->sym_ptr_ptr;
- if (symbol->section && discarded_section (symbol->section))
- {
-- bfd_byte *p;
-+ bfd_vma off;
- static reloc_howto_type none_howto
- = HOWTO (0, 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL,
- "unused", FALSE, 0, 0, FALSE);
-
-- p = data + (*parent)->address * bfd_octets_per_byte (input_bfd);
-- _bfd_clear_contents ((*parent)->howto, input_bfd, input_section,
-- p);
-+ off = (*parent)->address * bfd_octets_per_byte (input_bfd);
-+ _bfd_clear_contents ((*parent)->howto, input_bfd,
-+ input_section, data, off);
- (*parent)->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
- (*parent)->addend = 0;
- (*parent)->howto = &none_howto;
---- a/bfd/elf32-ppc.c
-+++ b/bfd/elf32-ppc.c
-@@ -8232,7 +8232,7 @@ ppc_elf_relocate_section (bfd *output_bf
- howto = ppc_elf_howto_table[r_type];
-
- _bfd_clear_contents (howto, input_bfd, input_section,
-- contents + rel->r_offset);
-+ contents, rel->r_offset);
- wrel->r_offset = rel->r_offset;
- wrel->r_info = 0;
- wrel->r_addend = 0;
---- a/bfd/elf32-visium.c
-+++ b/bfd/elf32-visium.c
-@@ -621,7 +621,7 @@ visium_elf_relocate_section (bfd *output
- or sections discarded by a linker script, we just want the
- section contents zeroed. Avoid any special processing. */
- _bfd_clear_contents (howto, input_bfd, input_section,
-- contents + rel->r_offset);
-+ contents, rel->r_offset);
-
- rel->r_info = 0;
- rel->r_addend = 0;
---- a/bfd/elf64-ppc.c
-+++ b/bfd/elf64-ppc.c
-@@ -14074,7 +14074,7 @@ ppc64_elf_relocate_section (bfd *output_
- {
- _bfd_clear_contents (ppc64_elf_howto_table[r_type],
- input_bfd, input_section,
-- contents + rel->r_offset);
-+ contents, rel->r_offset);
- wrel->r_offset = rel->r_offset;
- wrel->r_info = 0;
- wrel->r_addend = 0;
---- a/bfd/elf64-x86-64.c
-+++ b/bfd/elf64-x86-64.c
-@@ -2490,7 +2490,7 @@ elf_x86_64_relocate_section (bfd *output
- if (sec != NULL && discarded_section (sec))
- {
- _bfd_clear_contents (howto, input_bfd, input_section,
-- contents + rel->r_offset);
-+ contents, rel->r_offset);
- wrel->r_offset = rel->r_offset;
- wrel->r_info = 0;
- wrel->r_addend = 0;
---- a/bfd/libbfd-in.h
-+++ b/bfd/libbfd-in.h
-@@ -696,8 +696,8 @@ extern bfd_reloc_status_type _bfd_reloca
- (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *) ATTRIBUTE_HIDDEN;
-
- /* Clear a given location using a given howto. */
--extern void _bfd_clear_contents
-- (reloc_howto_type *, bfd *, asection *, bfd_byte *) ATTRIBUTE_HIDDEN;
-+extern bfd_reloc_status_type _bfd_clear_contents
-+ (reloc_howto_type *, bfd *, asection *, bfd_byte *, bfd_vma) ATTRIBUTE_HIDDEN;
-
- /* Link stabs in sections in the first pass. */
-
---- a/bfd/libbfd.h
-+++ b/bfd/libbfd.h
-@@ -701,8 +701,8 @@ extern bfd_reloc_status_type _bfd_reloca
- (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *) ATTRIBUTE_HIDDEN;
-
- /* Clear a given location using a given howto. */
--extern void _bfd_clear_contents
-- (reloc_howto_type *, bfd *, asection *, bfd_byte *) ATTRIBUTE_HIDDEN;
-+extern bfd_reloc_status_type _bfd_clear_contents
-+ (reloc_howto_type *, bfd *, asection *, bfd_byte *, bfd_vma) ATTRIBUTE_HIDDEN;
-
- /* Link stabs in sections in the first pass. */
-
---- a/bfd/reloc.c
-+++ b/bfd/reloc.c
-@@ -1613,16 +1613,22 @@ _bfd_relocate_contents (reloc_howto_type
- relocations against discarded symbols, to make ignorable debug or unwind
- information more obvious. */
-
--void
-+bfd_reloc_status_type
- _bfd_clear_contents (reloc_howto_type *howto,
- bfd *input_bfd,
- asection *input_section,
-- bfd_byte *location)
-+ bfd_byte *buf,
-+ bfd_vma off)
- {
- int size;
- bfd_vma x = 0;
-+ bfd_byte *location;
-+
-+ if (!bfd_reloc_offset_in_range (howto, input_bfd, input_section, off))
-+ return bfd_reloc_outofrange;
-
- /* Get the value we are going to relocate. */
-+ location = buf + off;
- size = bfd_get_reloc_size (howto);
- switch (size)
- {
-@@ -1681,6 +1687,7 @@ _bfd_clear_contents (reloc_howto_type *h
- #endif
- break;
- }
-+ return bfd_reloc_ok;
- }
-
- /*
-@@ -8268,14 +8275,14 @@ bfd_generic_get_relocated_section_conten
-
- if (symbol->section && discarded_section (symbol->section))
- {
-- bfd_byte *p;
-+ bfd_vma off;
- static reloc_howto_type none_howto
- = HOWTO (0, 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL,
- "unused", FALSE, 0, 0, FALSE);
-
-- p = data + (*parent)->address * bfd_octets_per_byte (input_bfd);
-- _bfd_clear_contents ((*parent)->howto, input_bfd, input_section,
-- p);
-+ off = (*parent)->address * bfd_octets_per_byte (input_bfd);
-+ _bfd_clear_contents ((*parent)->howto, input_bfd,
-+ input_section, data, off);
- (*parent)->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
- (*parent)->addend = 0;
- (*parent)->howto = &none_howto;
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18605.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18605.patch
deleted file mode 100644
index a117f95df..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18605.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From ab419ddbb2cdd17ca83618990f2cacf904ce1d61 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Tue, 23 Oct 2018 18:29:24 +1030
-Subject: [PATCH] PR23804, buffer overflow in sec_merge_hash_lookup
-
- PR 23804
- * merge.c (_bfd_add_merge_section): Don't attempt to merge
- sections where size is not a multiple of entsize.
-
-Upstream-Status: Backport
-CVE: CVE-2018-18605
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- bfd/ChangeLog | 6 ++++++
- bfd/merge.c | 3 +++
- 2 files changed, 9 insertions(+)
-
---- a/bfd/merge.c
-+++ b/bfd/merge.c
-@@ -376,6 +376,9 @@ _bfd_add_merge_section (bfd *abfd, void
- || sec->entsize == 0)
- return TRUE;
-
-+ if (sec->size % sec->entsize != 0)
-+ return TRUE;
-+
- if ((sec->flags & SEC_RELOC) != 0)
- {
- /* We aren't prepared to handle relocations in merged sections. */
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18606.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18606.patch
deleted file mode 100644
index 325c339b8..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18606.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 45a0eaf77022963d639d6d19871dbab7b79703fc Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Tue, 23 Oct 2018 19:02:06 +1030
-Subject: [PATCH] PR23806, NULL pointer dereference in merge_strings
-
- PR 23806
- * merge.c (_bfd_add_merge_section): Don't attempt to merge
- sections with ridiculously large alignments.
-
-Upstream-Status: Backport
-CVE: CVE-2018-18606
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- bfd/ChangeLog | 6 ++++++
- bfd/merge.c | 15 +++++++++++----
- 2 files changed, 17 insertions(+), 4 deletions(-)
-
---- a/bfd/merge.c
-+++ b/bfd/merge.c
-@@ -24,6 +24,7 @@
- as used in ELF SHF_MERGE. */
-
- #include "sysdep.h"
-+#include <limits.h>
- #include "bfd.h"
- #include "elf-bfd.h"
- #include "libbfd.h"
-@@ -385,12 +386,18 @@ _bfd_add_merge_section (bfd *abfd, void
- return TRUE;
- }
-
-- align = sec->alignment_power;
-- if ((sec->entsize < (unsigned) 1 << align
-+#ifndef CHAR_BIT
-+#define CHAR_BIT 8
-+#endif
-+ if (sec->alignment_power >= sizeof (align) * CHAR_BIT)
-+ return TRUE;
-+
-+ align = 1u << sec->alignment_power;
-+ if ((sec->entsize < align
- && ((sec->entsize & (sec->entsize - 1))
- || !(sec->flags & SEC_STRINGS)))
-- || (sec->entsize > (unsigned) 1 << align
-- && (sec->entsize & (((unsigned) 1 << align) - 1))))
-+ || (sec->entsize > align
-+ && (sec->entsize & (align - 1))))
- {
- /* Sanity check. If string character size is smaller than
- alignment, then we require character size to be a power
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18607.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18607.patch
deleted file mode 100644
index 902a90dbc..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2018-18607.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 102def4da826b3d9e169741421e5e67e8731909a Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Tue, 23 Oct 2018 18:30:22 +1030
-Subject: [PATCH] PR23805, NULL pointer dereference in elf_link_input_bfd
-
- PR 23805
- * elflink.c (elf_link_input_bfd): Don't segfault on finding
- STT_TLS symbols without any TLS sections. Instead, change the
- symbol type to STT_NOTYPE.
-
-Upstream-Status: Backport
-CVE: CVE-2018-18606
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- bfd/ChangeLog | 7 +++++++
- bfd/elflink.c | 20 ++++++++++++++------
- 2 files changed, 21 insertions(+), 6 deletions(-)
-
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -10496,8 +10496,11 @@ elf_link_input_bfd (struct elf_final_lin
- if (ELF_ST_TYPE (osym.st_info) == STT_TLS)
- {
- /* STT_TLS symbols are relative to PT_TLS segment base. */
-- BFD_ASSERT (elf_hash_table (flinfo->info)->tls_sec != NULL);
-- osym.st_value -= elf_hash_table (flinfo->info)->tls_sec->vma;
-+ if (elf_hash_table (flinfo->info)->tls_sec != NULL)
-+ osym.st_value -= elf_hash_table (flinfo->info)->tls_sec->vma;
-+ else
-+ osym.st_info = ELF_ST_INFO (ELF_ST_BIND (osym.st_info),
-+ STT_NOTYPE);
- }
- }
-
-@@ -11053,12 +11056,17 @@ elf_link_input_bfd (struct elf_final_lin
- sym.st_value += osec->vma;
- if (ELF_ST_TYPE (sym.st_info) == STT_TLS)
- {
-+ struct elf_link_hash_table *htab
-+ = elf_hash_table (flinfo->info);
-+
- /* STT_TLS symbols are relative to PT_TLS
- segment base. */
-- BFD_ASSERT (elf_hash_table (flinfo->info)
-- ->tls_sec != NULL);
-- sym.st_value -= (elf_hash_table (flinfo->info)
-- ->tls_sec->vma);
-+ if (htab->tls_sec != NULL)
-+ sym.st_value -= htab->tls_sec->vma;
-+ else
-+ sym.st_info
-+ = ELF_ST_INFO (ELF_ST_BIND (sym.st_info),
-+ STT_NOTYPE);
- }
- }
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/clang-bfd-fix.patch b/poky/meta/recipes-devtools/binutils/binutils/clang-bfd-fix.patch
deleted file mode 100644
index 29c0d48fe..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/clang-bfd-fix.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Fix compiler error seen with clang, The return value of this
-function is not checked anywhere so in a way its useless but
-still technically correct to return a value here
-
-Fixes
-
-../../bfd/reloc.c:1638:7: error: non-void function '_bfd_clear_contents' should return a value [-Wreturn-type]
- return;
- ^
-1 error generated.
-
-It has been fixed in master along with a larger cleanup and fix for relocations
-
-https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=1dc9e2d63e37839ff1768346b2e3f52e338baba5
-
-Upstream-Status: Backport [Fixes differently]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/bfd/reloc.c
-+++ b/bfd/reloc.c
-@@ -1629,7 +1629,7 @@ _bfd_clear_contents (reloc_howto_type *h
- default:
- abort ();
- case 0:
-- return;
-+ return 0;
- case 1:
- x = bfd_get_8 (input_bfd, location);
- break;
diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.31.bb b/poky/meta/recipes-devtools/binutils/binutils_2.32.bb
index 51a974890..51a974890 100644
--- a/poky/meta/recipes-devtools/binutils/binutils_2.31.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils_2.32.bb
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
deleted file mode 100644
index 467de3275..000000000
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From e58369f6d36bc51eb59d6afa34c1cae3ff0810ef Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 7 Aug 2017 14:10:38 +0300
-Subject: [PATCH] Makefile: build mktables using native gcc
-
-It's a throwaway helper binary used during build, and so it needs to
-be native.
-
-Upstream-Status: Inappropriate [oe specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
-@@ -343,7 +343,7 @@ version.h: version.sh version.h.in confi
-
- mktables: kernel-lib/mktables.c
- @echo " [CC] $@"
-- $(Q)$(CC) $(CFLAGS) $< -o $@
-+ $(Q)$(BUILD_CC) $(BUILD_CFLAGS) $< -o $@
-
- # the target can be regenerated manually using mktables, but a local copy is
- # kept so the build process is simpler
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb
deleted file mode 100644
index 6b53fbcd7..000000000
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.17.1.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Checksumming Copy on Write Filesystem utilities"
-DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \
-implementing advanced features while focusing on fault tolerance, repair and \
-easy administration. \
-This package contains utilities (mkfs, fsck, btrfsctl) used to work with \
-btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3."
-
-HOMEPAGE = "https://btrfs.wiki.kernel.org"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
-SECTION = "base"
-DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native"
-DEPENDS_append_class-target = " udev"
-RDEPENDS_${PN} = "libgcc"
-
-SRCREV = "7faaca0d9f78f7162ae603231f693dd8e1af2a41"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
- file://0001-Makefile-build-mktables-using-native-gcc.patch \
- file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \
- file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
- "
-
-inherit autotools-brokensep pkgconfig manpages distutils3-base
-
-CLEANBROKEN = "1"
-
-PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
-EXTRA_OECONF = " --disable-zstd"
-EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
-
-do_configure_prepend() {
- # Upstream doesn't ship this and autoreconf won't install it as automake isn't used.
- mkdir -p ${S}/config
- cp -f $(automake --print-libdir)/install-sh ${S}/config/
-}
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
- oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
-}
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb
new file mode 100644
index 000000000..3647232dc
--- /dev/null
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Checksumming Copy on Write Filesystem utilities"
+DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \
+implementing advanced features while focusing on fault tolerance, repair and \
+easy administration. \
+This package contains utilities (mkfs, fsck, btrfsctl) used to work with \
+btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3."
+
+HOMEPAGE = "https://btrfs.wiki.kernel.org"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
+SECTION = "base"
+DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native"
+DEPENDS_append_class-target = " udev"
+RDEPENDS_${PN} = "libgcc"
+
+SRCREV = "6c33832b8c7bf2d7b64d6aed023c0bda43a03311"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
+ file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \
+ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
+ "
+
+inherit autotools-brokensep pkgconfig manpages distutils3-base
+
+CLEANBROKEN = "1"
+
+PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
+EXTRA_OECONF = " --disable-zstd"
+EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
+EXTRA_OEMAKE = "V=1"
+
+do_configure_prepend() {
+ # Upstream doesn't ship this and autoreconf won't install it as automake isn't used.
+ mkdir -p ${S}/config
+ cp -f $(automake --print-libdir)/install-sh ${S}/config/
+}
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/ccache/ccache.inc b/poky/meta/recipes-devtools/ccache/ccache.inc
index 656632893..7f800659a 100644
--- a/poky/meta/recipes-devtools/ccache/ccache.inc
+++ b/poky/meta/recipes-devtools/ccache/ccache.inc
@@ -9,8 +9,19 @@ LICENSE = "GPLv3+"
DEPENDS = "zlib"
-SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.xz"
+SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz"
inherit autotools
+# Remove ccache-native's dependencies, so that it can be used widely by
+# other native recipes.
+DEPENDS_class-native = ""
+EXTRA_OECONF_class-native = "--with-bundled-zlib"
+INHIBIT_AUTOTOOLS_DEPS_class-native = "1"
+PATCHTOOL = "patch"
+
BBCLASSEXTEND = "native"
+
+do_configure_class-native() {
+ oe_runconf
+}
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.4.2.bb b/poky/meta/recipes-devtools/ccache/ccache_3.4.2.bb
deleted file mode 100644
index 72309348b..000000000
--- a/poky/meta/recipes-devtools/ccache/ccache_3.4.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require ccache.inc
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=2722abeaf1750dbf175b9491112374e1"
-
-SRC_URI[md5sum] = "9e048f88f3897125864f9a5e1abfb72d"
-SRC_URI[sha256sum] = "18a8b14367d63d3d37fb6c33cba60e1b7fcd7a63d608df97c9771ae0d234fee2"
-
-SRC_URI += " \
- file://0002-dev.mk.in-fix-file-name-too-long.patch \
-"
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.6.bb b/poky/meta/recipes-devtools/ccache/ccache_3.6.bb
new file mode 100644
index 000000000..60807be0a
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/ccache_3.6.bb
@@ -0,0 +1,12 @@
+require ccache.inc
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=70762511f9c509cc2a4e4ba2ef687ae3"
+
+SRC_URI[md5sum] = "bd6fd69db28426baf22ec0acdd5c4b2a"
+SRC_URI[sha256sum] = "a3f2b91a2353b65a863c5901251efe48060ecdebec46b5eaec8ea8e092b9e871"
+
+SRC_URI += " \
+ file://0002-dev.mk.in-fix-file-name-too-long.patch \
+ file://0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch \
+"
diff --git a/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch b/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch
index 68c2371fb..16a6e9d80 100644
--- a/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch
+++ b/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch
@@ -1,13 +1,13 @@
From 7dab2995ed8eeccd7b0acd79668bc28f3a2427d5 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Wed, 16 Sep 2015 19:45:40 -0700
-Subject: [PATCH] dev.mk.in: fix file name too long
+Subject: [PATCH] dev.mk.in: fix file name too long error
-The all_cppflags change paths to filename which cause file name too long
+The all_cppflags changes path to filename which causes file name too long
error when the path is longer than NAME_MAX (usually 255). Strip srcdir
to fix the problem.
-Upstream-Status: Pending
+Upstream-Status: Backport [https://github.com/ccache/ccache/commit/4d86e884d07ba1853a0c70507cc4d04107f57c29]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
@@ -22,7 +22,7 @@ index 91b0a57..583ade0 100644
@@ -1,7 +1,7 @@
# GNU make syntax reigns in this file.
- all_cflags += -Werror
+ all_cflags += -Werror @more_warnings@
-all_cppflags += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$<)).d
+all_cppflags += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$(subst $(srcdir)/,,$<))).d
diff --git a/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch b/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch
new file mode 100644
index 000000000..b3012b7e8
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch
@@ -0,0 +1,79 @@
+From c51b63758e95247e3c1e2f06e5f5bfb49849e66d Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Tue, 22 Jan 2019 16:30:52 +0800
+Subject: [PATCH] Fix Segmentation fault error when gcc -o /dev/null
+
+Fixed:
+$ export CCACHE_DEBUG=1
+$ ccache gcc -c hello.c -o /dev/null
+
+Segmentation fault (core dumped)
+
+This is because failed to open /dev/null.foo (Permission denied), check file
+stream before write to it can fix the problem.
+
+Upstream-Status: Backport [https://github.com/ccache/ccache/commit/4d86e884d07ba1853a0c70507cc4d04107f57c29]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ src/ccache.c | 15 ++++++++++++---
+ src/util.c | 8 ++++++--
+ 2 files changed, 18 insertions(+), 5 deletions(-)
+
+diff --git a/src/ccache.c b/src/ccache.c
+index b4cdb86..8c227df 100644
+--- a/src/ccache.c
++++ b/src/ccache.c
+@@ -521,9 +521,13 @@ init_hash_debug(struct hash *hash, const char *obj_path, char type,
+
+ char *path = format("%s.ccache-input-%c", obj_path, type);
+ FILE *debug_binary_file = fopen(path, "wb");
+- hash_enable_debug(hash, section_name, debug_binary_file, debug_text_file);
++ if (debug_binary_file) {
++ hash_enable_debug(hash, section_name, debug_binary_file, debug_text_file);
++ exitfn_add(fclose_exitfn, debug_binary_file);
++ } else {
++ cc_log("Failed to open %s: %s", path, strerror(errno));
++ }
+ free(path);
+- exitfn_add(fclose_exitfn, debug_binary_file);
+ }
+
+ static enum guessed_compiler
+@@ -3670,8 +3674,13 @@ ccache(int argc, char *argv[])
+ if (conf->debug) {
+ char *path = format("%s.ccache-input-text", output_obj);
+ debug_text_file = fopen(path, "w");
++ if (debug_text_file) {
++ exitfn_add(fclose_exitfn, debug_text_file);
++ }
++ else {
++ cc_log("Failed to open %s: %s", path, strerror(errno));
++ }
+ free(path);
+- exitfn_add(fclose_exitfn, debug_text_file);
+ }
+
+ struct hash *common_hash = hash_init();
+diff --git a/src/util.c b/src/util.c
+index e442cc4..a49fb4c 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -219,8 +219,12 @@ void
+ cc_dump_log_buffer(const char *path)
+ {
+ FILE *file = fopen(path, "w");
+- (void) fwrite(logbuffer, 1, logsize, file);
+- fclose(file);
++ if (file) {
++ (void) fwrite(logbuffer, 1, logsize, file);
++ fclose(file);
++ } else {
++ cc_log("Failed to open %s: %s", path, strerror(errno));
++ }
+ }
+
+ // Something went badly wrong!
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.12.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.12.2.bb
deleted file mode 100644
index 9a1390f96..000000000
--- a/poky/meta/recipes-devtools/cmake/cmake-native_3.12.2.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-require cmake.inc
-inherit native
-
-DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native"
-
-SRC_URI += "file://OEToolchainConfig.cmake \
- file://environment.d-cmake.sh \
- file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \
- file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \
- "
-
-
-B = "${WORKDIR}/build"
-do_configure[cleandirs] = "${B}"
-
-# Disable ccmake since we don't depend on ncurses
-CMAKE_EXTRACONF = "\
- -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
- -DBUILD_CursesDialog=0 \
- -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
- -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
- -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
- -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \
- -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \
- -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \
- -DHAVE_SYS_ACL_H=0 \
-"
-
-do_configure () {
- ${S}/configure --verbose --prefix=${prefix} -- ${CMAKE_EXTRACONF}
-}
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-
- # The following codes are here because eSDK needs to provide compatibilty
- # for SDK. That is, eSDK could also be used like traditional SDK.
- mkdir -p ${D}${datadir}/cmake
- install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
- mkdir -p ${D}${base_prefix}/environment-setup.d
- install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh
-}
-
-do_compile[progress] = "percent"
-
-SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d"
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb
new file mode 100644
index 000000000..fedcf3d4b
--- /dev/null
+++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb
@@ -0,0 +1,53 @@
+require cmake.inc
+inherit native
+
+DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native"
+
+SRC_URI += "file://OEToolchainConfig.cmake \
+ file://environment.d-cmake.sh \
+ file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \
+ file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \
+ "
+
+
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+# Disable ccmake since we don't depend on ncurses
+CMAKE_EXTRACONF = "\
+ -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
+ -DBUILD_CursesDialog=0 \
+ -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
+ -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
+ -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
+ -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \
+ -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \
+ -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \
+ -DHAVE_SYS_ACL_H=0 \
+"
+
+do_configure () {
+ ${S}/configure --verbose --prefix=${prefix} \
+ ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \
+ ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \
+ -- ${CMAKE_EXTRACONF}
+}
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+
+ # The following codes are here because eSDK needs to provide compatibilty
+ # for SDK. That is, eSDK could also be used like traditional SDK.
+ mkdir -p ${D}${datadir}/cmake
+ install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
+ mkdir -p ${D}${base_prefix}/environment-setup.d
+ install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh
+}
+
+do_compile[progress] = "percent"
+
+SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d"
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index 09e28b73d..5b0bce680 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -6,7 +6,7 @@ HOMEPAGE = "http://www.cmake.org/"
BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php"
SECTION = "console/utils"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://Copyright.txt;md5=f61f5f859bc5ddba2b050eb10335e013 \
+LIC_FILES_CHKSUM = "file://Copyright.txt;md5=622747147b46f22e1953876a7cba3323 \
file://Source/cmake.h;md5=4494dee184212fc89c469c3acd555a14;beginline=1;endline=3 \
"
@@ -18,7 +18,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
"
-SRC_URI[md5sum] = "6e7c550cfa1c2e216b35903dc70d80af"
-SRC_URI[sha256sum] = "0f97485799e51a7070cc11494f3e02349b0fc3a24cc12b082e737bf67a0581a4"
+SRC_URI[md5sum] = "7efe5394e85c3292ad020b8b70e55669"
+SRC_URI[sha256sum] = "7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f"
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
index f69072087..cdeea647f 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
@@ -28,7 +28,7 @@ diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.c
index 600d5580e..32d7f1945 100644
--- a/Modules/CMakeDetermineSystem.cmake
+++ b/Modules/CMakeDetermineSystem.cmake
-@@ -82,6 +82,13 @@ else()
+@@ -81,6 +81,13 @@ else()
endif()
endif()
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
index 6f788ada0..8d2dc10ce 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
@@ -1,4 +1,4 @@
-From 7a1f4e724f9c68498f401244c2938e784a2e6fbd Mon Sep 17 00:00:00 2001
+From b4b6e9b1be33213ede3f612e87840c0045824d9e Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Wed, 17 Jan 2018 10:02:14 -0200
Subject: [PATCH 2/5] cmake: Prevent the detection of Qt5
@@ -16,14 +16,14 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Source/QtDialog/CMakeLists.txt | 2 +-
Tests/CMakeLists.txt | 2 +-
Tests/Qt4And5Automoc/CMakeLists.txt | 4 ++--
- Tests/QtAutogen/AutogenTest.cmake | 2 +-
+ Tests/QtAutogen/AutogenGuiTest.cmake | 3 +--
Tests/QtAutogen/MacOsFW/CMakeLists.txt | 2 +-
Tests/RunCMake/CMakeLists.txt | 2 +-
Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake | 2 +-
- 7 files changed, 8 insertions(+), 8 deletions(-)
+ 7 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
-index 330b74729..e7709dee6 100644
+index 9ce0323844..06c86d63eb 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
@@ -6,7 +6,7 @@ if(POLICY CMP0020)
@@ -36,10 +36,10 @@ index 330b74729..e7709dee6 100644
include_directories(${Qt5Widgets_INCLUDE_DIRS})
add_definitions(${Qt5Widgets_DEFINITONS})
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
-index b8b724ed8..63f6bb6d2 100644
+index ed98d974b0..7adfbc301b 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
-@@ -1322,7 +1322,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
+@@ -1342,7 +1342,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
set(CMake_TEST_Qt5 1)
endif()
if(CMake_TEST_Qt5)
@@ -49,7 +49,7 @@ index b8b724ed8..63f6bb6d2 100644
if(CMake_TEST_Qt5 AND Qt5Widgets_FOUND)
add_subdirectory(Qt5Autogen)
diff --git a/Tests/Qt4And5Automoc/CMakeLists.txt b/Tests/Qt4And5Automoc/CMakeLists.txt
-index ad74961d9..a9dd74b15 100644
+index ad74961d9f..a9dd74b151 100644
--- a/Tests/Qt4And5Automoc/CMakeLists.txt
+++ b/Tests/Qt4And5Automoc/CMakeLists.txt
@@ -3,11 +3,11 @@ cmake_minimum_required(VERSION 2.8.12)
@@ -66,26 +66,27 @@ index ad74961d9..a9dd74b15 100644
endif()
set(CMAKE_AUTOMOC ON)
-diff --git a/Tests/QtAutogen/AutogenTest.cmake b/Tests/QtAutogen/AutogenTest.cmake
-index 8c0a14fca..e9923b21a 100644
---- a/Tests/QtAutogen/AutogenTest.cmake
-+++ b/Tests/QtAutogen/AutogenTest.cmake
-@@ -22,7 +22,7 @@ if (QT_TEST_VERSION STREQUAL 4)
+diff --git a/Tests/QtAutogen/AutogenGuiTest.cmake b/Tests/QtAutogen/AutogenGuiTest.cmake
+index b76d341a45..a6e0acbafa 100644
+--- a/Tests/QtAutogen/AutogenGuiTest.cmake
++++ b/Tests/QtAutogen/AutogenGuiTest.cmake
+@@ -22,8 +22,7 @@ if (QT_TEST_VERSION EQUAL 4)
endmacro()
- elseif(QT_TEST_VERSION STREQUAL 5)
+ elseif(QT_TEST_VERSION EQUAL 5)
+-
- find_package(Qt5Widgets REQUIRED)
+ #find_package(Qt5Widgets REQUIRED)
set(QT_QTCORE_TARGET Qt5::Core)
- set(QT_QTGUI_TARGET Qt5::Widgets)
+ set(QT_LIBRARIES Qt5::Widgets)
diff --git a/Tests/QtAutogen/MacOsFW/CMakeLists.txt b/Tests/QtAutogen/MacOsFW/CMakeLists.txt
-index 26d201926..e48e1c8de 100644
+index c08efc47a2..87e25d9391 100644
--- a/Tests/QtAutogen/MacOsFW/CMakeLists.txt
+++ b/Tests/QtAutogen/MacOsFW/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10)
project(MacOsFW)
- include("../AutogenTest.cmake")
+ include("../AutogenGuiTest.cmake")
-find_package(Qt5Test REQUIRED)
+#find_package(Qt5Test REQUIRED)
@@ -93,10 +94,10 @@ index 26d201926..e48e1c8de 100644
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/bin)
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
-index 637c5c2cb..c0376effc 100644
+index 1f3e5c3006..8ed8d6ac54 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
-@@ -291,7 +291,7 @@ add_RunCMake_test(configure_file)
+@@ -326,7 +326,7 @@ add_RunCMake_test(configure_file)
add_RunCMake_test(CTestTimeoutAfterMatch)
find_package(Qt4 QUIET)
@@ -106,7 +107,7 @@ index 637c5c2cb..c0376effc 100644
add_RunCMake_test(IncompatibleQt)
endif()
diff --git a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
-index 4fccdc418..b76e1e531 100644
+index 4fccdc418f..b76e1e5313 100644
--- a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
+++ b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
@@ -1,6 +1,6 @@
@@ -118,5 +119,5 @@ index 4fccdc418..b76e1e531 100644
add_executable(mainexe main.cpp)
target_link_libraries(mainexe Qt4::QtCore Qt5::Core)
--
-2.18.0
+2.11.0
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch b/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
index 55cf47188..4f2e84337 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
@@ -28,7 +28,7 @@ diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
index 847a798af..7ad981879 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
-@@ -517,7 +517,7 @@ endfunction()
+@@ -518,7 +518,7 @@ endfunction()
set(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
@@ -37,7 +37,7 @@ index 847a798af..7ad981879 100644
_qt4_find_qmake("${_QT4_QMAKE_NAMES}" QT_QMAKE_EXECUTABLE QTVERSION)
if (QT_QMAKE_EXECUTABLE AND
-@@ -1135,12 +1135,12 @@ if (QT_QMAKE_EXECUTABLE AND
+@@ -1136,12 +1136,12 @@ if (QT_QMAKE_EXECUTABLE AND
_find_qt4_program(QT_MOC_EXECUTABLE Qt4::moc moc-qt4 moc4 moc)
_find_qt4_program(QT_UIC_EXECUTABLE Qt4::uic uic-qt4 uic4 uic)
_find_qt4_program(QT_UIC3_EXECUTABLE Qt4::uic3 uic3)
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch b/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
index a59c68045..6c67dcf10 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
@@ -31,7 +31,7 @@ diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
index 7ad981879..8b6f43cda 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
-@@ -987,25 +987,26 @@ if (QT_QMAKE_EXECUTABLE AND
+@@ -988,25 +988,26 @@ if (QT_QMAKE_EXECUTABLE AND
endif()
endmacro()
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch b/poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch
index 23ce8e9e4..ad42d409d 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch
@@ -20,7 +20,7 @@ diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMak
index 206f3c6a5..642fb0dd9 100644
--- a/Utilities/cmlibarchive/CMakeLists.txt
+++ b/Utilities/cmlibarchive/CMakeLists.txt
-@@ -400,12 +400,8 @@ LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H)
+@@ -430,12 +430,8 @@ LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H)
LA_CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H)
LA_CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
LA_CHECK_INCLUDE_FILE("errno.h" HAVE_ERRNO_H)
diff --git a/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
index 8a0fb4cb1..398069eef 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
+++ b/poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
@@ -5,7 +5,7 @@ set( CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE )
set( CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE )
set( CMAKE_SYSROOT $ENV{OECORE_TARGET_SYSROOT} )
-set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} $ENV{OECORE_NATIVE_SYSROOT} )
+set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} )
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.12.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.14.1.bb
index e0457677e..e0457677e 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.12.2.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.14.1.bb
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch
deleted file mode 100644
index cd72084ee..000000000
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From fef835e1fdedc72c97d9c3e5704302e56e1bdef0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 2 Jan 2017 17:23:59 +0200
-Subject: [PATCH] Correctly install the shared library
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/createrepo_c/pull/78]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/CMakeLists.txt | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index f3635e8..46dc037 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -110,7 +110,8 @@ CONFIGURE_FILE("deltarpms.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/deltarpms.h" @ONLY)
- IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
- SET (LIB_SUFFIX "64")
- ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
--SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
-+#SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
-+SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
-
- INSTALL(FILES ${headers} DESTINATION "include/createrepo_c")
- INSTALL(FILES "createrepo_c.pc" DESTINATION "${LIB_INSTALL_DIR}/pkgconfig")
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
index 953107093..c0f07fe2c 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -1,27 +1,25 @@
-From bef487b5c2515062c5dd73c21082ce42f69aa717 Mon Sep 17 00:00:00 2001
+From 4644d18157296257284bedd857f4610f1037d50e Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 30 Dec 2016 18:31:02 +0200
Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
src/python/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
-index 9f1ac64..eae0cbb 100644
+index 3d873f7..e977b2f 100644
--- a/src/python/CMakeLists.txt
+++ b/src/python/CMakeLists.txt
-@@ -19,7 +19,7 @@ else()
- FIND_PACKAGE(PythonInterp 3.0 REQUIRED)
- endif()
+@@ -21,7 +21,7 @@ if (NOT SKBUILD)
+ endif ()
+ endif (NOT SKBUILD)
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
deleted file mode 100644
index 6de9c0557..000000000
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 80810f04f2de6bae6e394f52ad9cdd2189862f74 Mon Sep 17 00:00:00 2001
-From: Jaroslav Rohel <jrohel@redhat.com>
-Date: Fri, 9 Nov 2018 07:35:13 +0100
-Subject: [PATCH] Fix setup of logging (log domains) (RhBug:1645897)
-
-New debug messages were added into GLib library. These messages come
-from the "GLib" log domain and were not hidden in the standard and
-quiet mode of the application.
-This fix hides log messages regardless on source log domain.
-
-Upstream-Status: Backport
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- src/createrepo_shared.c | 19 ++++++-------------
- src/misc.c | 5 ++++-
- 2 files changed, 10 insertions(+), 14 deletions(-)
-
-diff --git a/src/createrepo_shared.c b/src/createrepo_shared.c
-index 8a26787..7cb8ba8 100644
---- a/src/createrepo_shared.c
-+++ b/src/createrepo_shared.c
-@@ -270,24 +270,17 @@ cr_lock_repo(const gchar *repo_dir,
- void
- cr_setup_logging(gboolean quiet, gboolean verbose)
- {
-- g_log_set_default_handler (cr_log_fn, NULL);
--
- if (quiet) {
- // Quiet mode
-- GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
-- G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
-- g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
-- g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
-+ GLogLevelFlags hidden_levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
-+ G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
-+ g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
- } else if (verbose) {
- // Verbose mode
-- GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
-- G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
-- g_log_set_handler(NULL, levels, cr_log_fn, NULL);
-- g_log_set_handler("C_CREATEREPOLIB", levels, cr_log_fn, NULL);
-+ g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(0));
- } else {
- // Standard mode
-- GLogLevelFlags levels = G_LOG_LEVEL_DEBUG;
-- g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
-- g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
-+ GLogLevelFlags hidden_levels = G_LOG_LEVEL_DEBUG;
-+ g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
- }
- }
-diff --git a/src/misc.c b/src/misc.c
-index 9937480..9549a44 100644
---- a/src/misc.c
-+++ b/src/misc.c
-@@ -912,8 +912,11 @@ void
- cr_log_fn(const gchar *log_domain,
- GLogLevelFlags log_level,
- const gchar *message,
-- G_GNUC_UNUSED gpointer user_data)
-+ gpointer user_data)
- {
-+ gint hidden_log_levels = GPOINTER_TO_INT(user_data);
-+ if (log_level & hidden_log_levels)
-+ return;
- switch(log_level) {
- case G_LOG_LEVEL_ERROR:
- if (log_domain) g_printerr("%s: ", log_domain);
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
index 08766b312..9aa8d2ae7 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
@@ -6,12 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
- file://0001-Correctly-install-the-shared-library.patch \
- file://0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch \
"
-PV = "0.11.1+git${SRCPV}"
-SRCREV = "434a40babdde57ab405e9a1085a30e9575ea0c92"
+PV = "0.12.1"
+SRCREV = "7744554ddef7c5be2cd7fbcac49c8b24ce60ef88"
S = "${WORKDIR}/git"
@@ -20,7 +18,7 @@ DEPENDS_append_class-native = " file-replacement-native"
inherit cmake pkgconfig bash-completion distutils3-base
-EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
+EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb b/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb
index 0d0696316..a93604bc4 100644
--- a/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb
+++ b/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb
@@ -69,3 +69,27 @@ FILES_${PN} = " ${sysconfdir} \
${systemd_unitdir}/system/distcc.service"
FILES_distcc-distmon-gnome = " ${bindir}/distccmon-gnome \
${datadir}/distcc"
+
+
+#
+# distcc upstream dropped the 3.2 branch which we reference in older project releases
+# the revisions are there, just the branch is not. In order to be able to continue
+# to build those old releases, adjust any mirror tarball to contain the missing branch
+#
+fixup_distcc_mirror_tarball () {
+ TBALL=${DL_DIR}/git2_github.com.distcc.distcc.git.tar.gz
+ if [ -f $TBALL ]; then
+ TDIR=`mktemp -d`
+ cd $TDIR
+ tar -xzf $TBALL
+ set +e
+ git rev-parse --verify 3.2
+ if [ "$?" != "0" ]; then
+ git branch 3.2 d8b18df3e9dcbe4f092bed565835d3975e99432c
+ tar -czf $TBALL *
+ fi
+ set -e
+ rm -rf $TDIR/*
+ fi
+}
+do_fetch[postfuncs] += "fixup_distcc_mirror_tarball"
diff --git a/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch b/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch
new file mode 100644
index 000000000..ce9d42310
--- /dev/null
+++ b/poky/meta/recipes-devtools/dmidecode/dmidecode/0001-Committing-changes-from-do_unpack_extra.patch
@@ -0,0 +1,24 @@
+From 00a3ace35d66e7ae60046e254a4d00f0f9c1abe2 Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Thu, 22 Nov 2018 12:05:04 +0000
+Subject: [PATCH] Do not install to /usr/local
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 77c9310..fc378fd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -30,7 +30,7 @@ CFLAGS += -O2
+ LDFLAGS =
+
+ DESTDIR =
+-prefix = /usr/local
++prefix = /usr
+ sbindir = $(prefix)/sbin
+ mandir = $(prefix)/share/man
+ man8dir = $(mandir)/man8
diff --git a/poky/meta/recipes-devtools/dmidecode/dmidecode_3.1.bb b/poky/meta/recipes-devtools/dmidecode/dmidecode_3.1.bb
deleted file mode 100644
index b423fda6d..000000000
--- a/poky/meta/recipes-devtools/dmidecode/dmidecode_3.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "DMI (Desktop Management Interface) table related utilities"
-HOMEPAGE = "http://www.nongnu.org/dmidecode/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/dmidecode/${BP}.tar.xz"
-
-COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|powerpc|powerpc64).*-linux"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-# The upstream buildsystem uses 'docdir' as the path where it puts AUTHORS,
-# README, etc, but we don't want those in the root of our docdir.
-docdir .= "/${BPN}"
-
-do_install() {
- oe_runmake DESTDIR="${D}" install
-}
-
-do_unpack_extra() {
- sed -i -e '/^prefix/s:/usr/local:${exec_prefix}:' ${S}/Makefile
-}
-addtask unpack_extra after do_unpack before do_patch
-
-SRC_URI[md5sum] = "679c2c015c515aa6ca5f229aee49c102"
-SRC_URI[sha256sum] = "d766ce9b25548c59b1e7e930505b4cad9a7bb0b904a1a391fbb604d529781ac0"
-
diff --git a/poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb b/poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb
new file mode 100644
index 000000000..63f4061cb
--- /dev/null
+++ b/poky/meta/recipes-devtools/dmidecode/dmidecode_3.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "DMI (Desktop Management Interface) table related utilities"
+HOMEPAGE = "http://www.nongnu.org/dmidecode/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/dmidecode/${BP}.tar.xz \
+ file://0001-Committing-changes-from-do_unpack_extra.patch \
+ "
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|powerpc|powerpc64).*-linux"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+# The upstream buildsystem uses 'docdir' as the path where it puts AUTHORS,
+# README, etc, but we don't want those in the root of our docdir.
+docdir .= "/${BPN}"
+
+do_install() {
+ oe_runmake DESTDIR="${D}" install
+}
+
+SRC_URI[md5sum] = "9cc2e27e74ade740a25b1aaf0412461b"
+SRC_URI[sha256sum] = "077006fa2da0d06d6383728112f2edef9684e9c8da56752e97cd45a11f838edd"
+
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch
index 15a7bfc73..cb09f17a5 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch
@@ -1,7 +1,7 @@
-From a8ef81c115a45f05dad145c98e10f3c4940e4e29 Mon Sep 17 00:00:00 2001
+From ffb7942cc73c3d2c6aa7c689cdaf9bc0bcbc144b Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 26 Jan 2017 16:25:47 +0200
-Subject: [PATCH 3/5] Do not hardcode /etc and systemd unit directories
+Subject: [PATCH] Do not hardcode /etc and systemd unit directories
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
@@ -11,20 +11,17 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 650b624a..10199618 100644
+index 73552967..38cf4fbf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -7,8 +7,8 @@ if (NOT PYTHON_DESIRED)
- set (PYTHON_DESIRED "2")
- endif()
+@@ -3,8 +3,8 @@ CMAKE_MINIMUM_REQUIRED (VERSION 2.4)
+
+ INCLUDE (${CMAKE_SOURCE_DIR}/VERSION.cmake)
-SET( SYSCONFDIR /etc)
-SET( SYSTEMD_DIR /usr/lib/systemd/system)
+SET( SYSCONFDIR ${CMAKE_INSTALL_SYSCONFDIR})
+SET( SYSTEMD_DIR $ENV{systemd_system_unitdir})
- if (${PYTHON_DESIRED} STREQUAL "2")
- FIND_PACKAGE (PythonInterp REQUIRED)
---
-2.14.2
-
+ IF (NOT PYTHON_DESIRED)
+ FIND_PACKAGE (PythonInterp REQUIRED)
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
index 6e011915d..0ed9afc58 100644
--- a/poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
+++ b/poky/meta/recipes-devtools/dnf/dnf/0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -1,7 +1,7 @@
-From 7205033e44d8fba1d3b18b490e7eaab82da1ffa3 Mon Sep 17 00:00:00 2001
+From 6be13143a54c79085d400d5bd4c7a6e1cb6ffaf5 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 30 Dec 2016 18:29:07 +0200
-Subject: [PATCH 1/5] Do not set PYTHON_INSTALL_DIR by running python
+Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
@@ -11,18 +11,15 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 23e5f889..650b624a 100644
+index 38cf4fbf..6c5debd8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -18,7 +18,7 @@ else()
- FIND_PACKAGE(PythonInterp 3.0 REQUIRED)
- endif()
+@@ -19,7 +19,7 @@ ELSE ()
+ MESSAGE (FATAL_ERROR "Invalid PYTHON_DESIRED value: " ${PYTHON_DESIRED})
+ ENDIF()
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib())" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib())" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
- EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write('%s.%s' % (sys.version_info.major, sys.version_info.minor))" OUTPUT_VARIABLE PYTHON_MAJOR_DOT_MINOR_VERSION)
MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
---
-2.14.2
-
+ ADD_SUBDIRECTORY (dnf)
diff --git a/poky/meta/recipes-devtools/dnf/dnf_2.7.5.bb b/poky/meta/recipes-devtools/dnf/dnf_2.7.5.bb
deleted file mode 100644
index df60d731b..000000000
--- a/poky/meta/recipes-devtools/dnf/dnf_2.7.5.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://PACKAGE-LICENSING;md5=bfc29916e11321be06924c4fb096fdcc \
- "
-
-SRC_URI = "git://github.com/rpm-software-management/dnf.git \
- file://0001-Corretly-install-tmpfiles.d-configuration.patch \
- file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \
- file://0005-Do-not-prepend-installroot-to-logdir.patch \
- file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
- file://0030-Run-python-scripts-using-env.patch \
- "
-
-SRCREV = "564c44667c7014843fa6f1732621093114ec59b2"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake gettext bash-completion distutils3-base systemd
-
-DEPENDS += "libdnf librepo libcomps python3-iniparse"
-
-# manpages generation requires http://www.sphinx-doc.org/
-EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
-
-BBCLASSEXTEND = "native nativesdk"
-
-RDEPENDS_${PN}_class-target += " \
- python3-core \
- python3-codecs \
- python3-netclient \
- python3-email \
- python3-threading \
- python3-distutils \
- python3-logging \
- python3-fcntl \
- librepo \
- python3-shell \
- libcomps \
- libdnf \
- python3-sqlite3 \
- python3-compression \
- python3-rpm \
- python3-iniparse \
- python3-json \
- python3-curses \
- python3-misc \
- python3-gpg \
- "
-
-RRECOMMENDS_${PN}_class-target += "gnupg"
-
-# Create a symlink called 'dnf' as 'make install' does not do it, but
-# .spec file in dnf source tree does (and then Fedora and dnf documentation
-# says that dnf binary is plain 'dnf').
-do_install_append() {
- lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
- lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
-}
-
-# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
-do_install_append_class-native() {
- create_wrapper ${D}/${bindir}/dnf \
- RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
- RPM_NO_CHROOT_FOR_SCRIPTS=1
-}
-
-SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
- dnf-automatic.service dnf-automatic.timer \
- dnf-automatic-download.service dnf-automatic-download.timer \
- dnf-automatic-install.service dnf-automatic-install.timer \
- dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \
-"
-SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb
new file mode 100644
index 000000000..d45023eb0
--- /dev/null
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb
@@ -0,0 +1,75 @@
+SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \
+ "
+
+SRC_URI = "git://github.com/rpm-software-management/dnf.git \
+ file://0001-Corretly-install-tmpfiles.d-configuration.patch \
+ file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \
+ file://0005-Do-not-prepend-installroot-to-logdir.patch \
+ file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
+ file://0030-Run-python-scripts-using-env.patch \
+ "
+
+SRCREV = "ad9b2175517c896c898cf9c8660e9b9b688ac5c7"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext bash-completion distutils3-base systemd
+
+DEPENDS += "libdnf librepo libcomps python3-iniparse"
+
+# manpages generation requires http://www.sphinx-doc.org/
+EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN}_class-target += " \
+ python3-core \
+ python3-codecs \
+ python3-netclient \
+ python3-email \
+ python3-threading \
+ python3-distutils \
+ python3-logging \
+ python3-fcntl \
+ librepo \
+ python3-shell \
+ libcomps \
+ libdnf \
+ python3-sqlite3 \
+ python3-compression \
+ python3-rpm \
+ python3-iniparse \
+ python3-json \
+ python3-curses \
+ python3-misc \
+ python3-gpg \
+ "
+
+RRECOMMENDS_${PN}_class-target += "gnupg"
+
+# Create a symlink called 'dnf' as 'make install' does not do it, but
+# .spec file in dnf source tree does (and then Fedora and dnf documentation
+# says that dnf binary is plain 'dnf').
+do_install_append() {
+ lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
+ lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
+}
+
+# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
+do_install_append_class-native() {
+ create_wrapper ${D}/${bindir}/dnf \
+ RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
+ RPM_NO_CHROOT_FOR_SCRIPTS=1
+}
+
+SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
+ dnf-automatic.service dnf-automatic.timer \
+ dnf-automatic-download.service dnf-automatic-download.timer \
+ dnf-automatic-install.service dnf-automatic-install.timer \
+ dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \
+"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml b/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml
deleted file mode 100644
index b71f559ef..000000000
--- a/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4/docbook-xml.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Notations V4.4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook XML HTML Tables V4.3//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Norman Walsh//ELEMENTS DocBook XML Information Pool V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Information Pool V4.4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Additional General Entities V4.4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook XML HTML Tables V4.4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Additional General Entities V4.5//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook CALS Table Model V4.3//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Information Pool V4.3//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML V4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML V4.1//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Norman Walsh//ENTITIES DocBook XML Notations V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Information Pool V4.5//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Notations V4.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook CALS Table Model V4.1.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Norman Walsh//DTD CALS Table Model XML V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Norman Walsh//ENTITIES DocBook XML Character Entities V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Norman Walsh//ELEMENTS DocBook XML Document Hierarchy V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML V4.1.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML V4.4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Notations V4.3//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook CALS Table Model V4.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Normal Walsh//Exchange Table Model 19960430 XML V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegateSystem systemIdStartString="http://docbook.org/xml/4.4/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegateSystem systemIdStartString="http://docbook.org/xml/4.1/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Notations V4.5//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Norman Walsh//DTD DocBk XML V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Character Entities V4.5//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Norman Walsh//DTD DocBook XML V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Additional General Entities V4.3//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegateSystem systemIdStartString="http://docbook.org/xml/4.1.2/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegateSystem systemIdStartString="http://docbook.org/xml/4.5/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Notations V4.1.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.3//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML V4.5//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Character Entities V4.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//Norman Walsh//ENTITIES DocBook XML Additional General Entities V4.0//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML V4.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook CALS Table Model V4.4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.0/catalog.xml"/>
- <delegateSystem systemIdStartString="http://docbook.org/xml/4.2/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Character Entities V4.3//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD XML Exchange Table Model 19990315//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Character Entities V4.4//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.4/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Additional General Entities V4.1.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML V4.3//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegateSystem systemIdStartString="http://docbook.org/xml/4.3/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/4.3/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook CALS Table Model V4.5//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.5/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.1.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook Character Entities V4.1.2//EN" catalog="file:///usr/share/xml/docbook/schema/dtd/4.1.2/catalog.xml"/>
- <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" catalog="file:///usr/share/xml/docbook/schema/dtd/catalog.xml"/>
-</catalog>
diff --git a/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb b/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
index da62b77a6..4b6a28e34 100644
--- a/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
+++ b/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
@@ -8,13 +8,14 @@ HOMEPAGE = "http://www.docbook.org/xml/"
LICENSE = "OASIS"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e"
+DEPENDS = "libxml2-native"
+
# Note: the upstream sources are not distributed with a license file.
# LICENSE-OASIS is included as a "patch" to workaround this. When
# upgrading this recipe, please verify whether this is still needed.
SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/d/docbook-xml/docbook-xml_${PV}.orig.tar.gz \
file://LICENSE-OASIS \
file://docbook-xml-update-catalog.xml.patch \
- file://docbook-xml.xml \
"
SRC_URI[md5sum] = "487b4d44e15cffb1f4048af23f98208e"
@@ -22,7 +23,7 @@ SRC_URI[sha256sum] = "b0f8edcf697f5318e63dd98c9a931f3fee167af0805ba441db372e0f17
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/docbook-xml/"
-S="${WORKDIR}/docbook-xml-4.5.c31424"
+S = "${WORKDIR}/docbook-xml-4.5.c31424"
inherit allarch
BBCLASSEXTEND = "native"
@@ -36,20 +37,18 @@ do_compile (){
}
do_install () {
- # Refer debian https://packages.debian.org/sid/all/docbook-xml/filelist
+ install -d ${D}${sysconfdir}/xml/
+ xmlcatalog --create --noout ${D}${sysconfdir}/xml/docbook-xml.xml
+
for DTDVERSION in 4.0 4.1.2 4.2 4.3 4.4 4.5; do
- install -d -m 755 ${D}${datadir}/xml/docbook/schema/dtd/${DTDVERSION}
- cp -v -R docbook-${DTDVERSION}/* ${D}${datadir}/xml/docbook/schema/dtd/${DTDVERSION}
+ DEST=${datadir}/xml/docbook/schema/dtd/$DTDVERSION
+ install -d -m 755 ${D}$DEST
+ cp -v -R docbook-$DTDVERSION/* ${D}$DEST
+ xmlcatalog --verbose --noout --add nextCatalog unused file://$DEST/catalog.xml ${D}${sysconfdir}/xml/docbook-xml.xml
done
-
- install -d ${D}${sysconfdir}/xml/
- install -m 755 ${WORKDIR}/docbook-xml.xml ${D}${sysconfdir}/xml/docbook-xml.xml
}
-do_install_append_class-native () {
- # Ensure that the catalog file sgml-docbook.cat is properly
- # updated when the package is installed from sstate cache.
- sed -i -e "s|file://.*/usr/share/xml|file://${datadir}/xml|g" ${D}${sysconfdir}/xml/docbook-xml.xml
-}
+XMLCATALOGS = "${sysconfdir}/xml/docbook-xml.xml"
+inherit xmlcatalog
FILES_${PN} = "${datadir}/* ${sysconfdir}/xml/docbook-xml.xml"
diff --git a/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml b/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml
deleted file mode 100644
index c60555ae1..000000000
--- a/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-<delegateURI uriStartString="http://docbook.sourceforge.net/release/xsl/" catalog="file:///usr/share/xml/docbook/xsl-stylesheets/catalog.xml"/>
-<delegateSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/" catalog="file:///usr/share/xml/docbook/xsl-stylesheets/catalog.xml"/>
-</catalog>
diff --git a/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb b/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
index 07d32ce97..ff38e874b 100644
--- a/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
+++ b/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
@@ -4,7 +4,6 @@ LICENSE = "XSL"
LIC_FILES_CHKSUM = "file://COPYING;md5=6beadd98f9c54ab0c387e14211ee4d0e"
SRC_URI = "${SOURCEFORGE_MIRROR}/docbook/docbook-xsl-${PV}.tar.bz2 \
- file://docbook-xsl.xml \
file://docbook-xsl-stylesheets-no-bashism-in-docbook-xsl-up.patch \
"
@@ -15,10 +14,11 @@ UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/docbook/files/docbook-xsl/
# Reject versions ending in .0 as those are release candidates
UPSTREAM_CHECK_REGEX = "/docbook-xsl/(?P<pver>(\d+[\.\-_]*)+(?!\.0)\.\d+)/"
+DEPENDS = "libxml2-native"
+
S = "${WORKDIR}/docbook-xsl-${PV}"
-inherit allarch
-BBCLASSEXTEND = "native"
+inherit allarch xmlcatalog
do_configure (){
:
@@ -29,8 +29,6 @@ do_compile (){
}
do_install () {
- # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/docbook-xsl.html
- # for details.
install -v -m755 -d ${D}${datadir}/xml/docbook/xsl-stylesheets-${PV}
ln -s xsl-stylesheets-${PV} ${D}${datadir}/xml/docbook/xsl-stylesheets
@@ -42,22 +40,14 @@ do_install () {
ln -s VERSION ${D}/${datadir}/xml/docbook/xsl-stylesheets-${PV}/VERSION.xsl
- install -v -m644 -D README \
- ${D}${datadir}/doc/docbook-xsl-${PV}/README.txt
- install -v -m644 RELEASE-NOTES* NEWS* \
- ${D}${datadir}/doc/docbook-xsl-${PV}
-
- install -d ${D}${sysconfdir}/xml/
- install -m 755 ${WORKDIR}/docbook-xsl.xml ${D}${sysconfdir}/xml/docbook-xsl.xml
-
-}
-
-do_install_append_class-native () {
- # Ensure that the catalog file sgml-docbook.cat is properly
- # updated when the package is installed from sstate cache.
- sed -i -e "s|file://.*/usr/share/xml|file://${datadir}/xml|g" ${D}${sysconfdir}/xml/docbook-xsl.xml
+ install -d ${D}${docdir}/${BPN}
+ install -v -m644 README RELEASE-NOTES* NEWS* ${D}${docdir}/${BPN}
}
RDEPENDS_${PN} += "perl"
FILES_${PN} = "${datadir}/xml/* ${sysconfdir}/xml/docbook-xsl.xml"
FILES_${PN}-doc = "${datadir}/doc/*"
+
+XMLCATALOGS = "${datadir}/xml/docbook/xsl-stylesheets-${PV}/catalog.xml"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg.inc b/poky/meta/recipes-devtools/dpkg/dpkg.inc
index fe4732d1d..fee7a7581 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/poky/meta/recipes-devtools/dpkg/dpkg.inc
@@ -9,15 +9,8 @@ RDEPENDS_${PN}_class-native = ""
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/dpkg/"
-inherit autotools gettext perlnative pkgconfig systemd perl-version
+inherit autotools gettext perlnative pkgconfig perl-version
-python () {
- if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- pn = d.getVar('PN')
- d.setVar('SYSTEMD_SERVICE_%s' % (pn), 'dpkg-configure.service')
-}
-
-export PERL = "${bindir}/perl"
PERL_class-native = "${STAGING_BINDIR_NATIVE}/perl-native/perl"
export PERL_LIBDIR = "${libdir}/perl/${@get_perl_version(d)}"
@@ -29,14 +22,14 @@ EXTRA_OECONF = "\
--with-libz \
--with-libbz2 \
--without-libselinux \
+ TAR=tar \
"
+EXTRA_OECONF_append_class-target = " --disable-update-alternatives DEB_HOST_ARCH=${DPKG_ARCH}"
+
PACKAGECONFIG = "liblzma"
PACKAGECONFIG[liblzma] = "--with-liblzma,--without-liblzma, xz"
-EXTRA_OECONF += "TAR=tar"
-EXTRA_OECONF_append_class-target = " DEB_HOST_ARCH=${DPKG_ARCH}"
-
do_install_append () {
if [ "${PN}" = "dpkg-native" ]; then
# update-alternatives doesn't have an offline mode
@@ -45,16 +38,6 @@ do_install_append () {
else
sed -i -e 's|^#!.*${bindir}/perl-native.*/perl|#!/usr/bin/env perl|' ${D}${bindir}/dpkg-*
fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)};then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dpkg-configure.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@BINDIR@,${bindir},g' \
- -e 's,@SYSTEMD_UNITDIR@,${systemd_unitdir},g' \
- ${D}${systemd_unitdir}/system/dpkg-configure.service
- fi
}
PROV = "virtual/update-alternatives"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0001-arch-Add-support-for-riscv64-CPU.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0001-arch-Add-support-for-riscv64-CPU.patch
deleted file mode 100644
index 45c606e69..000000000
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0001-arch-Add-support-for-riscv64-CPU.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 319f32d743f5b5e725012654d124e49226d5de91 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Mar 2018 20:28:24 -0700
-Subject: [PATCH] arch: Add support for riscv64 CPU
-
- * Architecture support:
- - Add support for riscv64 CPU. Closes: #822914
- Thanks to Manuel A. Fernandez Montecelo <mafm@debian.org>
-
-Upstream-Status: Backport [https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=dpkg%2Fdpkg.git;a=commitdiff_plain;h=ee0855cc66076691de4796be48f8a0d889fde001;hp=2f5816d8be40b449d2473b22f9e0c33b32f3bd78]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- data/cputable | 1 +
- scripts/t/Dpkg_Arch.t | 4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/data/cputable b/data/cputable
-index a2bd7d6..9f2a8e0 100644
---- a/data/cputable
-+++ b/data/cputable
-@@ -41,6 +41,7 @@ powerpc powerpc (powerpc|ppc) 32 big
- powerpcel powerpcle powerpcle 32 little
- ppc64 powerpc64 (powerpc|ppc)64 64 big
- ppc64el powerpc64le powerpc64le 64 little
-+riscv64 riscv64 riscv64 64 little
- s390 s390 s390 32 big
- s390x s390x s390x 64 big
- sh3 sh3 sh3 32 little
-diff --git a/scripts/t/Dpkg_Arch.t b/scripts/t/Dpkg_Arch.t
-index d478b49..ecd5d66 100644
---- a/scripts/t/Dpkg_Arch.t
-+++ b/scripts/t/Dpkg_Arch.t
-@@ -16,7 +16,7 @@
- use strict;
- use warnings;
-
--use Test::More tests => 16367;
-+use Test::More tests => 16832;
-
- use_ok('Dpkg::Arch', qw(debarch_to_debtuple debarch_to_multiarch
- debarch_eq debarch_is debarch_is_wildcard
-@@ -162,7 +162,7 @@ is(gnutriplet_to_debarch(undef), undef, 'undef gnutriplet');
- is(gnutriplet_to_debarch('unknown-unknown-unknown'), undef, 'unknown gnutriplet');
- is(gnutriplet_to_debarch('x86_64-linux-gnu'), 'amd64', 'known gnutriplet');
-
--is(scalar get_valid_arches(), 524, 'expected amount of known architectures');
-+is(scalar get_valid_arches(), 539, 'expected amount of known architectures');
-
- {
- local $ENV{CC} = 'false';
---
-2.16.2
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
index 93d870443..b88be8749 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
@@ -10,15 +10,16 @@ Upstream-Status: Inappropriate [OE Specific]
RP 2011/12/07
ALIMON 2016/05/26
ALIMON 2017/02/21
+KKang 2019/02/20
---
src/script.c | 44 +++-----------------------------------------
1 file changed, 3 insertions(+), 41 deletions(-)
diff --git a/src/script.c b/src/script.c
-index 2f252ae..768a9d1 100644
+index 0865b95..73ed35d 100644
--- a/src/script.c
+++ b/src/script.c
-@@ -97,48 +97,10 @@ setexecute(const char *path, struct stat *stab)
+@@ -96,58 +96,11 @@ setexecute(const char *path, struct stat *stab)
static const char *
maintscript_pre_exec(struct command *cmd)
{
@@ -32,6 +33,8 @@ index 2f252ae..768a9d1 100644
- changedir = "/";
-
- if (instdirlen > 0 && !fc_script_chrootless) {
+- int rc;
+-
- if (strncmp(admindir, instdir, instdirlen) != 0)
- ohshit(_("admindir must be inside instdir for dpkg to work properly"));
- if (setenv("DPKG_ADMINDIR", admindir + instdirlen, 1) < 0)
@@ -39,7 +42,12 @@ index 2f252ae..768a9d1 100644
- if (setenv("DPKG_ROOT", "", 1) < 0)
- ohshite(_("unable to setenv for subprocesses"));
-
-- if (chroot(instdir))
+- rc = chroot(instdir);
+- if (rc && fc_nonroot && errno == EPERM)
+- ohshit(_("not enough privileges to change root "
+- "directory with --force-not-root, consider "
+- "using --force-script-chrootless?"));
+- else if (rc)
- ohshite(_("failed to chroot to '%.250s'"), instdir);
+ if (*instdir) {
+ setenv("D", instdir, 1);
@@ -64,7 +72,10 @@ index 2f252ae..768a9d1 100644
- if (instdirlen == 0 || fc_script_chrootless)
- return cmd->filename;
-
-- assert(strlen(cmd->filename) >= instdirlen);
+- if (strlen(cmd->filename) < instdirlen)
+- internerr("maintscript name '%s' length < instdir length %zd",
+- cmd->filename, instdirlen);
+
- return cmd->filename + instdirlen;
+ return cmd->filename;
}
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch
index 96e96f277..b36850886 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch
@@ -15,22 +15,26 @@ Upstream-Status: Pending
Signed-off-by: Donn Seeley <donn.seeley@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
+
+Update patch context for dpkg 1.19.4.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
m4/dpkg-compiler.m4 | 1 -
1 file changed, 1 deletion(-)
diff --git a/m4/dpkg-compiler.m4 b/m4/dpkg-compiler.m4
-index 682857c..23ed7d0 100644
+index a6192f6..4c7bf2e 100644
--- a/m4/dpkg-compiler.m4
+++ b/m4/dpkg-compiler.m4
-@@ -52,7 +52,6 @@ AC_DEFUN([DPKG_CHECK_COMPILER_WARNINGS], [
- DPKG_CHECK_COMPILER_FLAG([-Wlogical-op])
- DPKG_CHECK_COMPILER_FLAG([-Wlogical-not-parentheses])
+@@ -67,7 +67,6 @@ AC_DEFUN([DPKG_CHECK_COMPILER_WARNINGS], [
+ DPKG_CHECK_COMPILER_FLAG([-Wshift-negative-value])
+ DPKG_CHECK_COMPILER_FLAG([-Wsizeof-array-argument])
DPKG_CHECK_COMPILER_FLAG([-Wswitch-bool])
- DPKG_CHECK_COMPILER_FLAG([-Wvla])
- DPKG_CHECK_COMPILER_FLAG([-Winit-self])
DPKG_CHECK_COMPILER_FLAG([-Wwrite-strings])
- DPKG_CHECK_COMPILER_FLAG([-Wcast-align])
+
+ AC_LANG_CASE(
--
2.1.4
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
index 1b985df0f..4f79a40d8 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
@@ -18,22 +18,26 @@ Upstream-Status: Inappropriate [Configuration]
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=759999#20
[2] https://lists.gnu.org/archive/html/help-tar/2016-01/msg00000.html
+
+Update patch context for dpkg 1.19.4.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
dpkg-deb/build.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
-index a92b58e..a3d1912 100644
+index 68d1875..053fcb7 100644
--- a/dpkg-deb/build.c
+++ b/dpkg-deb/build.c
-@@ -450,7 +450,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+@@ -457,7 +457,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
command_init(&cmd, TAR, "tar -cf");
command_add_args(&cmd, "tar", "-cf", "-", "--format=gnu",
- "--mtime", mtime, "--clamp-mtime", NULL);
+ "--mtime", mtime, NULL);
/* Mode might become a positional argument, pass it before -T. */
- if (mode)
- command_add_args(&cmd, "--mode", mode, NULL);
+ if (options->mode)
+ command_add_args(&cmd, "--mode", options->mode, NULL);
--
2.11.0
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service b/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service
deleted file mode 100644
index 9a248ccb4..000000000
--- a/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=dpkg first boot configure
-DefaultDependencies=no
-After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount
-Before=sysinit.target
-
-[Service]
-Type=oneshot
-EnvironmentFile=-@SYSCONFDIR@/default/postinst
-ExecStart=-@BASE_BINDIR@/sh -c " if [ $POSTINST_LOGGING = '1' ]; then @BINDIR@/dpkg --configure -a > $LOGFILE 2>&1; else @BINDIR@/dpkg --configure -a; fi"
-ExecStartPost=@BASE_BINDIR@/systemctl --no-reload disable dpkg-configure.service
-StandardOutput=syslog
-RemainAfterExit=No
-
-[Install]
-WantedBy=basic.target
-WantedBy=sysinit.target
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch b/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch
index d48386647..5debcc520 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch
@@ -66,15 +66,18 @@ Upstream-Status: Inappropriate [everyone else builds on newer hosts :-)]
Signed-off-by: Donn Seeley <donn.seeley@windriver.com>
Signed-off-by: Lei Liu <lei.liu2@windriver.com>
+Update patch context for dpkg 1.19.4.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
src/archives.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/archives.c b/src/archives.c
-index 4b2fc92..a92b795 100644
+index 8476a5c..b05a63f 100644
--- a/src/archives.c
+++ b/src/archives.c
-@@ -69,7 +69,7 @@ fd_writeback_init(int fd)
+@@ -68,7 +68,7 @@ fd_writeback_init(int fd)
/* Ignore the return code as it should be considered equivalent to an
* asynchronous hint for the kernel, we are doing an fsync() later on
* anyway. */
@@ -83,14 +86,14 @@ index 4b2fc92..a92b795 100644
sync_file_range(fd, 0, 0, SYNC_FILE_RANGE_WRITE);
#elif defined(HAVE_POSIX_FADVISE)
posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED);
-@@ -1078,7 +1078,7 @@ tarobject(void *ctx, struct tar_entry *ti)
+@@ -1093,7 +1093,7 @@ tarobject(struct tar_archive *tar, struct tar_entry *ti)
return 0;
}
-#if defined(SYNC_FILE_RANGE_WAIT_BEFORE)
+#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) && __GLIBC_PREREQ(2, 6)
static void
- tar_writeback_barrier(struct fileinlist *files, struct pkginfo *pkg)
+ tar_writeback_barrier(struct fsys_namenode_list *files, struct pkginfo *pkg)
{
--
2.16.2
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch b/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch
new file mode 100644
index 000000000..e9119918b
--- /dev/null
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch
@@ -0,0 +1,27 @@
+GNU tar >= 1.27 is required for --owner=NAME:ID and --group=NAME:ID. And fails
+to build .deb packages with error:
+
+| dpkg-deb: building package 'linux-libc-headers-dbg' in '.../tmp/work/i586-poky-linux/linux-libc-headers/4.19-r0/deploy-debs/i586/linux-libc-headers-dbg_ 4.19-r0.0_i386.deb'.
+| tar: root\:0: Invalid owner
+| tar: Error is not recoverable: exiting now
+| dpkg-deb: error: tar -cf subprocess returned error exit status 2
+
+Tweak tar options in dpkg-deb source code to make it work on old machines.
+
+Upstream-Status: Inappropriate [cross build specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
+index 68d187511..86fe22e25 100644
+--- a/dpkg-deb/build.c
++++ b/dpkg-deb/build.c
+@@ -462,7 +462,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+ if (options->mode)
+ command_add_args(&cmd, "--mode", options->mode, NULL);
+ if (options->root_owner_group)
+- command_add_args(&cmd, "--owner", "root:0", "--group", "root:0", NULL);
++ command_add_args(&cmd, "--owner", "root", "--group", "root", NULL);
+ command_add_args(&cmd, "--null", "--no-unquote", "--no-recursion",
+ "-T", "-", NULL);
+ command_exec(&cmd);
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.18.24.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.18.24.bb
deleted file mode 100644
index 6d8ec3476..000000000
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.18.24.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require dpkg.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20170518T093838Z/pool/main/d/dpkg/dpkg_1.18.24.tar.xz \
- file://noman.patch \
- file://remove-tar-no-timestamp.patch \
- file://arch_pm.patch \
- file://dpkg-configure.service \
- file://add_armeb_triplet_entry.patch \
- file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \
- file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \
- file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \
- file://0005-dpkg-compiler.m4-remove-Wvla.patch \
- file://0006-add-musleabi-to-known-target-tripets.patch \
- file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \
- file://0001-dpkg-Support-muslx32-build.patch \
- file://0001-arch-Add-support-for-riscv64-CPU.patch \
- "
-SRC_URI_append_class-native = " file://glibc2.5-sync_file_range.patch "
-
-SRC_URI[md5sum] = "02e8af8faf1e689228da806c3e8c6882"
-SRC_URI[sha256sum] = "d853081d3e06bfd46a227056e591f094e42e78fa8a5793b0093bad30b710d7b4"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb
new file mode 100644
index 000000000..c3dbda77a
--- /dev/null
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb
@@ -0,0 +1,22 @@
+require dpkg.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \
+ file://noman.patch \
+ file://remove-tar-no-timestamp.patch \
+ file://arch_pm.patch \
+ file://add_armeb_triplet_entry.patch \
+ file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \
+ file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \
+ file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \
+ file://0005-dpkg-compiler.m4-remove-Wvla.patch \
+ file://0006-add-musleabi-to-known-target-tripets.patch \
+ file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \
+ file://0001-dpkg-Support-muslx32-build.patch \
+ "
+SRC_URI_append_class-native = " file://glibc2.5-sync_file_range.patch \
+ file://tweak-options-require-tar-1.27.patch \
+"
+
+SRC_URI[md5sum] = "1e4420409426d8c58bbe13a8e07c0c0b"
+SRC_URI[sha256sum] = "c15234e98655689586bff2d517a6fdc6135d139c54d52ae9cfa6a90007fee0ae"
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.3.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.3.bb
deleted file mode 100644
index cffb5362d..000000000
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.3.bb
+++ /dev/null
@@ -1,136 +0,0 @@
-require e2fsprogs.inc
-
-SRC_URI += "file://remove.ldconfig.call.patch \
- file://run-ptest \
- file://ptest.patch \
- file://Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch \
- file://mkdir_p.patch \
- file://0001-misc-create_inode.c-set-dir-s-mode-correctly.patch \
- file://0001-create_inode-fix-copying-large-files.patch \
- "
-
-SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
- file://quiet-debugfs.patch \
-"
-
-SRCREV = "85e53f42f98d5334914de01e972e9ed44bccd0a5"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$"
-
-EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
- --enable-elf-shlibs --disable-libuuid --disable-uuidd \
- --disable-libblkid --enable-verbose-makecmds"
-
-EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse'
-
-# make locale rules sometimes fire, sometimes don't as git doesn't preserve
-# file mktime. Touch the files introducing non-determinism to the build
-do_compile_prepend (){
- find ${S}/po -type f -name "*.po" -exec touch {} +
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
- oe_runmake 'DESTDIR=${D}' install-libs
- # We use blkid from util-linux now so remove from here
- rm -f ${D}${base_libdir}/libblkid*
- rm -rf ${D}${includedir}/blkid
- rm -f ${D}${base_libdir}/pkgconfig/blkid.pc
- rm -f ${D}${base_sbindir}/blkid
- rm -f ${D}${base_sbindir}/fsck
- rm -f ${D}${base_sbindir}/findfs
-
- # e2initrd_helper and the pkgconfig files belong in libdir
- if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
- install -d ${D}${libdir}
- mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
- mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
- fi
-
- oe_multilib_header ext2fs/ext2_types.h
- install -d ${D}${base_bindir}
- mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs
-
- install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/
-
- # Clean host path (build directory) in compile_et, mk_cmds
- sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et
- sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds
-}
-
-# Need to find the right mke2fs.conf file
-e2fsprogs_conf_fixup () {
- for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4; do
- create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf
- done
-}
-
-do_install_append_class-native() {
- e2fsprogs_conf_fixup
-}
-
-do_install_append_class-nativesdk() {
- e2fsprogs_conf_fixup
-}
-
-do_install_append_class-target() {
- mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs
- mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs
- mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs
-}
-
-RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
-RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck"
-
-PACKAGES =+ "e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs"
-PACKAGES =+ "libcomerr libss libe2p libext2fs"
-
-FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*"
-FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
-FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf"
-FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label"
-FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks"
-FILES_libcomerr = "${base_libdir}/libcom_err.so.*"
-FILES_libss = "${base_libdir}/libss.so.*"
-FILES_libe2p = "${base_libdir}/libe2p.so.*"
-FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*"
-FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds"
-
-ALTERNATIVE_${PN} = "chattr"
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr"
-ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs"
-
-ALTERNATIVE_${PN}-doc = "fsck.8"
-ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
-
-ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2"
-ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs"
-ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2"
-
-ALTERNATIVE_${PN}-tune2fs = "tune2fs"
-ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs"
-
-RDEPENDS_${PN}-ptest += "${PN} ${PN}-tune2fs coreutils procps bash bzip2 diffutils perl"
-
-do_compile_ptest() {
- oe_runmake -C ${B}/tests
-}
-
-do_install_ptest() {
- cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test
- cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test
- sed -e 's!../e2fsck/e2fsck!e2fsck!g' \
- -e 's!../misc/tune2fs!tune2fs!g' -i ${D}${PTEST_PATH}/test/*/expect*
- sed -e 's!../e2fsck/e2fsck!${base_sbindir}/e2fsck!g' -i ${D}${PTEST_PATH}/test/*/script
-
- # Remove various files
- find "${D}${PTEST_PATH}" -type f \
- \( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\
- -exec rm -f {} +
-
- install -d ${D}${PTEST_PATH}/lib
- install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/
-}
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb
new file mode 100644
index 000000000..0695ee9dc
--- /dev/null
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb
@@ -0,0 +1,136 @@
+require e2fsprogs.inc
+
+SRC_URI += "file://remove.ldconfig.call.patch \
+ file://run-ptest \
+ file://ptest.patch \
+ file://Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch \
+ file://mkdir_p.patch \
+ file://0001-misc-create_inode.c-set-dir-s-mode-correctly.patch \
+ file://0001-create_inode-fix-copying-large-files.patch \
+ "
+
+SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
+ file://quiet-debugfs.patch \
+"
+
+SRCREV = "9a03c07e00f09a772245281d84a284c67e905148"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$"
+
+EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
+ --enable-elf-shlibs --disable-libuuid --disable-uuidd \
+ --disable-libblkid --enable-verbose-makecmds"
+
+EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse'
+
+# make locale rules sometimes fire, sometimes don't as git doesn't preserve
+# file mktime. Touch the files introducing non-determinism to the build
+do_compile_prepend (){
+ find ${S}/po -type f -name "*.po" -exec touch {} +
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ oe_runmake 'DESTDIR=${D}' install-libs
+ # We use blkid from util-linux now so remove from here
+ rm -f ${D}${base_libdir}/libblkid*
+ rm -rf ${D}${includedir}/blkid
+ rm -f ${D}${base_libdir}/pkgconfig/blkid.pc
+ rm -f ${D}${base_sbindir}/blkid
+ rm -f ${D}${base_sbindir}/fsck
+ rm -f ${D}${base_sbindir}/findfs
+
+ # e2initrd_helper and the pkgconfig files belong in libdir
+ if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
+ install -d ${D}${libdir}
+ mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
+ mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
+ fi
+
+ oe_multilib_header ext2fs/ext2_types.h
+ install -d ${D}${base_bindir}
+ mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs
+
+ install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/
+
+ # Clean host path (build directory) in compile_et, mk_cmds
+ sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et
+ sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds
+}
+
+# Need to find the right mke2fs.conf file
+e2fsprogs_conf_fixup () {
+ for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4; do
+ create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf
+ done
+}
+
+do_install_append_class-native() {
+ e2fsprogs_conf_fixup
+}
+
+do_install_append_class-nativesdk() {
+ e2fsprogs_conf_fixup
+}
+
+do_install_append_class-target() {
+ mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs
+ mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs
+ mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs
+}
+
+RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
+RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck"
+
+PACKAGES =+ "e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs"
+PACKAGES =+ "libcomerr libss libe2p libext2fs"
+
+FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*"
+FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
+FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf"
+FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label"
+FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks"
+FILES_libcomerr = "${base_libdir}/libcom_err.so.*"
+FILES_libss = "${base_libdir}/libss.so.*"
+FILES_libe2p = "${base_libdir}/libe2p.so.*"
+FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*"
+FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds"
+
+ALTERNATIVE_${PN} = "chattr"
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr"
+ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs"
+
+ALTERNATIVE_${PN}-doc = "fsck.8"
+ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
+
+ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2"
+ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs"
+ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2"
+
+ALTERNATIVE_${PN}-tune2fs = "tune2fs"
+ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs"
+
+RDEPENDS_${PN}-ptest += "${PN} ${PN}-tune2fs coreutils procps bash bzip2 diffutils perl"
+
+do_compile_ptest() {
+ oe_runmake -C ${B}/tests
+}
+
+do_install_ptest() {
+ cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test
+ cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test
+ sed -e 's!../e2fsck/e2fsck!e2fsck!g' \
+ -e 's!../misc/tune2fs!tune2fs!g' -i ${D}${PTEST_PATH}/test/*/expect*
+ sed -e 's!../e2fsck/e2fsck!${base_sbindir}/e2fsck!g' -i ${D}${PTEST_PATH}/test/*/script
+
+ # Remove various files
+ find "${D}${PTEST_PATH}" -type f \
+ \( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\
+ -exec rm -f {} +
+
+ install -d ${D}${PTEST_PATH}/lib
+ install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/
+}
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.175.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.175.bb
deleted file mode 100644
index b0b9ddc73..000000000
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.175.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "Utilities and libraries for handling compiled object files"
-HOMEPAGE = "https://sourceware.org/elfutils"
-SECTION = "base"
-LICENSE = "(GPLv3 & Elfutils-Exception)"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "libtool bzip2 zlib virtual/libintl"
-DEPENDS_append_libc-musl = " argp-standalone fts "
-# The Debian patches below are from:
-# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.175-1.debian.tar.xz
-SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
- file://0001-dso-link-change.patch \
- file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \
- file://0003-fixheadercheck.patch \
- file://0004-Disable-the-test-to-convert-euc-jp.patch \
- file://0006-Fix-build-on-aarch64-musl.patch \
- file://0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch \
- file://0001-libasm-may-link-with-libbz2-if-found.patch \
- file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \
- file://debian/hppa_backend.diff \
- file://debian/arm_backend.diff \
- file://debian/mips_backend.diff \
- file://debian/mips_readelf_w.patch \
- file://debian/kfreebsd_path.patch \
- file://debian/0001-Ignore-differences-between-mips-machine-identifiers.patch \
- file://debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch \
- file://debian/0003-Add-mips-n64-relocation-format-hack.patch \
- file://debian/hurd_path.patch \
- file://debian/ignore_strmerge.diff \
- file://debian/disable_werror.patch \
- "
-SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch"
-
-SRC_URI[md5sum] = "9a02b0382b78cc2d515fb950275d4c02"
-SRC_URI[sha256sum] = "f7ef925541ee32c6d15ae5cb27da5f119e01a5ccdbe9fe57bf836730d7b7a65b"
-
-inherit autotools gettext
-
-EXTRA_OECONF = "--program-prefix=eu- --without-lzma"
-EXTRA_OECONF_append_class-native = " --without-bzlib"
-
-do_install_append() {
- if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 'i.86'` ];then
- rm -f ${D}${bindir}/eu-objdump
- fi
-}
-
-EXTRA_OEMAKE_class-native = ""
-EXTRA_OEMAKE_class-nativesdk = ""
-
-ALLOW_EMPTY_${PN}_libc-musl = "1"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# Package utilities separately
-PACKAGES =+ "${PN}-binutils libelf libasm libdw"
-FILES_${PN}-binutils = "\
- ${bindir}/eu-addr2line \
- ${bindir}/eu-ld \
- ${bindir}/eu-nm \
- ${bindir}/eu-readelf \
- ${bindir}/eu-size \
- ${bindir}/eu-strip"
-
-FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
-FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
-FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
-# Some packages have the version preceeding the .so instead properly
-# versioned .so.<version>, so we need to reorder and repackage.
-#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
-#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
-
-# The package contains symlinks that trip up insane
-INSANE_SKIP_${MLPREFIX}libdw = "dev-so"
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
new file mode 100644
index 000000000..fd901c9c9
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Utilities and libraries for handling compiled object files"
+HOMEPAGE = "https://sourceware.org/elfutils"
+SECTION = "base"
+LICENSE = "(GPLv3 & Elfutils-Exception)"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "libtool bzip2 zlib virtual/libintl"
+DEPENDS_append_libc-musl = " argp-standalone fts "
+# The Debian patches below are from:
+# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.175-1.debian.tar.xz
+SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
+ file://0001-dso-link-change.patch \
+ file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \
+ file://0003-fixheadercheck.patch \
+ file://0004-Disable-the-test-to-convert-euc-jp.patch \
+ file://0006-Fix-build-on-aarch64-musl.patch \
+ file://0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch \
+ file://0001-libasm-may-link-with-libbz2-if-found.patch \
+ file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \
+ file://debian/hppa_backend.diff \
+ file://debian/arm_backend.diff \
+ file://debian/mips_backend.diff \
+ file://debian/mips_readelf_w.patch \
+ file://debian/kfreebsd_path.patch \
+ file://debian/0001-Ignore-differences-between-mips-machine-identifiers.patch \
+ file://debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch \
+ file://debian/0003-Add-mips-n64-relocation-format-hack.patch \
+ file://debian/hurd_path.patch \
+ file://debian/ignore_strmerge.diff \
+ file://debian/disable_werror.patch \
+ "
+SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch"
+
+SRC_URI[md5sum] = "077e4f49320cad82bf17a997068b1db9"
+SRC_URI[sha256sum] = "eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023"
+
+inherit autotools gettext
+
+EXTRA_OECONF = "--program-prefix=eu- --without-lzma"
+EXTRA_OECONF_append_class-native = " --without-bzlib"
+
+do_install_append() {
+ if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 'i.86'` ];then
+ rm -f ${D}${bindir}/eu-objdump
+ fi
+}
+
+EXTRA_OEMAKE_class-native = ""
+EXTRA_OEMAKE_class-nativesdk = ""
+
+ALLOW_EMPTY_${PN}_libc-musl = "1"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Package utilities separately
+PACKAGES =+ "${PN}-binutils libelf libasm libdw"
+FILES_${PN}-binutils = "\
+ ${bindir}/eu-addr2line \
+ ${bindir}/eu-ld \
+ ${bindir}/eu-nm \
+ ${bindir}/eu-readelf \
+ ${bindir}/eu-size \
+ ${bindir}/eu-strip"
+
+FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
+FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
+FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
+# Some packages have the version preceeding the .so instead properly
+# versioned .so.<version>, so we need to reorder and repackage.
+#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
+#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
+
+# The package contains symlinks that trip up insane
+INSANE_SKIP_${MLPREFIX}libdw = "dev-so"
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch b/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
index 4c62dc511..af79ef496 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
@@ -1,7 +1,7 @@
-From c9c6d2414651dbf163dc4963c3c3d6f5cacef898 Mon Sep 17 00:00:00 2001
+From b99aa12cf879ce200e03d75e543c7ab2dfa5503b Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:10:57 +0800
-Subject: [PATCH 1/7] dso link change
+Subject: [PATCH] dso link change
Upstream-Status: Pending
@@ -16,6 +16,7 @@ more details.
Rebase to 0.170
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
src/Makefile.am | 2 +-
tests/Makefile.am | 2 +-
@@ -35,10 +36,10 @@ index 2b1c0dc..9305b84 100644
endif
libebl = ../libebl/libebl.a
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index b45ecdc..dd256fb 100644
+index 1b0c7d3..bced19b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
-@@ -436,7 +436,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl
+@@ -476,7 +476,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl
libelf = ../libelf/libelf.a -lz
libasm = ../libasm/libasm.a
else
@@ -47,6 +48,3 @@ index b45ecdc..dd256fb 100644
libelf = ../libelf/libelf.so
libasm = ../libasm/libasm.so
endif
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch b/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
index c342053aa..0d533c8f1 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
@@ -1,4 +1,4 @@
-From 74629016e76343a4bf39915c9192b6bf26a57c2d Mon Sep 17 00:00:00 2001
+From d7be687c35fa42954874034c82ca9059d28196fe Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 4 Oct 2017 22:30:46 -0700
Subject: [PATCH] libasm may link with libbz2 if found
@@ -11,6 +11,7 @@ where indirect libraries may be not found by linker
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
src/Makefile.am | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -33,6 +34,3 @@ index 9305b84..9b7e853 100644
libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
libelf = ../libelf/libelf.so
endif
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch b/poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
index 1bdb51169..b26ed99f6 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
@@ -1,4 +1,4 @@
-From 3393a2e544818f0bd1887c13f28a76ad60c2df98 Mon Sep 17 00:00:00 2001
+From e571cbd0c20085ec71969971f19280b5de95cfb7 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Thu, 16 Aug 2018 09:58:26 +0800
Subject: [PATCH] libelf/elf_end.c: check data_list.data.d.d_buf before free it
@@ -14,6 +14,7 @@ The segmentation fault happens when prelink call elf_end().
Upstream-Status: Submitted [https://sourceware.org/ml/elfutils-devel/2018-q3/msg00085.html]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
---
libelf/elf_end.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
@@ -41,6 +42,3 @@ index 160f0b8..5280a70 100644
free (scn->rawdata_base);
/* Free the list of data buffers for the section.
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch b/poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
index 86d26bdf3..96c2565e3 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
@@ -1,7 +1,7 @@
-From 9fd4bb05d3f2b7eaf9fe441bee26d3b1878d7cc7 Mon Sep 17 00:00:00 2001
+From f8e4118b60a9b54950437006a82b4047f38f5347 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:13:59 +0800
-Subject: [PATCH 2/7] Fix elf_cvt_gunhash if dest and src are same.
+Subject: [PATCH] Fix elf_cvt_gunhash if dest and src are same.
Upstream-Status: Pending
@@ -12,6 +12,7 @@ Signed-off-by: Baoshan Pang <BaoShan.Pang@windriver.com>
Rebase to 0.170
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
libelf/gnuhash_xlate.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -37,6 +38,3 @@ index 6faf113..04d9ca1 100644
/* Now the 64 bit words. */
Elf64_Xword *dest64 = (Elf64_Xword *) &dest32[4];
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch b/poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
index d1c8e4143..e36d3f44d 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
@@ -1,7 +1,7 @@
-From 04fb3f65ec186df5231dd0c21780a55dcc03c868 Mon Sep 17 00:00:00 2001
+From dd7c8c730457def5f62ebd43022b2f06df8c6ed9 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:17:20 +0800
-Subject: [PATCH 3/7] fixheadercheck
+Subject: [PATCH] fixheadercheck
For some binaries we can get a invalid section alignment, for example if
sh_align = 1 and sh_addralign is 0. In the case of a zero size section
@@ -16,6 +16,7 @@ Upstream-Status: Pending
Rebase to 0.170
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
libelf/elf32_updatenull.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -35,6 +36,3 @@ index 3e9ef61..5351518 100644
{
__libelf_seterrno (ELF_E_INVALID_ALIGN);
return -1;
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch b/poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch
index bf3a645bc..5dee61210 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0004-Disable-the-test-to-convert-euc-jp.patch
@@ -1,7 +1,7 @@
-From dbc88349b9eed4268db951df2c3a8387f75a32e7 Mon Sep 17 00:00:00 2001
+From e4ede22e28eaa38d81667ddcb19541ece1a83cf8 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:24:06 +0800
-Subject: [PATCH 4/7] Disable the test to convert euc-jp
+Subject: [PATCH] Disable the test to convert euc-jp
Remove the test "Test against HP-UX 11.11 bug:
No converter from EUC-JP to UTF-8 is provided"
@@ -15,6 +15,7 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com>
Rebase to 0.170
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
m4/iconv.m4 | 2 ++
1 file changed, 2 insertions(+)
@@ -39,6 +40,3 @@ index a503646..299f1eb 100644
return result;
}]])],
[am_cv_func_iconv_works=yes],
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch b/poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
index 40b8544fa..6f7956c5a 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
@@ -1,7 +1,7 @@
-From b4ec05953f78af26bcd7de45a5bbc5f138d023da Mon Sep 17 00:00:00 2001
+From 578f370c7e7a9f056aefa062b34590b0aa13bce5 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:27:30 +0800
-Subject: [PATCH 6/7] Fix build on aarch64/musl
+Subject: [PATCH] Fix build on aarch64/musl
Errors
@@ -16,6 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Rebase to 0.170
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
backends/aarch64_initreg.c | 4 ++--
backends/arm_initreg.c | 2 +-
@@ -56,6 +57,3 @@ index efcabaf..062bb9e 100644
# include <sys/user.h>
# include <sys/ptrace.h>
/* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch b/poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch
index bba420e34..611a24c0f 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch
@@ -1,8 +1,7 @@
-From 8eb100b2e51be5d473b0748a223e2e7f61ec606c Mon Sep 17 00:00:00 2001
+From 112d1645bab7922c7796fe32ddea8fa6e1bbded1 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 29 Jun 2018 15:14:28 +0800
-Subject: [PATCH 7/7] Fix control path where we have str as uninitialized
- string
+Subject: [PATCH] Fix control path where we have str as uninitialized string
|
/home/ubuntu/work/oe/openembedded-core/build/tmp-musl/work/i586-oe-linux-musl/elfutils/0.164-r0/elfutils-0.164/libcpu/i386_disasm.c:
@@ -24,6 +23,7 @@ Upstream-Status: Pending
Rebase to 0.172
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
libcpu/i386_disasm.c | 1 +
1 file changed, 1 insertion(+)
@@ -40,6 +40,3 @@ index a7e03f9..837a3a8 100644
assert (! "INVALID not handled");
}
}
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch b/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch
index 41981f4aa..a4f301d9d 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch
@@ -1,4 +1,4 @@
-From 207be05c44da5c4c31179a34660e176145ff8d4b Mon Sep 17 00:00:00 2001
+From 990d377a92f4bab04bf6820fc81b3dcb6cf5e31d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Jul 2018 09:52:23 +0800
Subject: [PATCH] build: Provide alternatives for glibc assumptions helps
@@ -10,6 +10,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Rebase to 0.175
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
Makefile.am | 2 +-
lib/fixedsizehash.h | 1 -
@@ -221,6 +222,3 @@ index 9f3e8e9..10a347a 100644
#include <errno.h>
#include <stdbool.h>
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
index fa3a3c66b..892b8e873 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
@@ -1,7 +1,7 @@
-From 77cb4a53c270d5854d3af24f19547bc3de825233 Mon Sep 17 00:00:00 2001
+From 46d2c2f8fecad85baeed9fe211f5285820220442 Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:16:58 +0000
-Subject: [PATCH 1/3] Ignore differences between mips machine identifiers
+Subject: [PATCH] Ignore differences between mips machine identifiers
Little endian binaries actually use EM_MIPS so you can't tell the endianness
from the elf machine id. Also, the EM_MIPS_RS3_LE machine is dead anyway (the
@@ -10,15 +10,16 @@ kernel will not load binaries containing it).
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
backends/mips_init.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
-Index: b/backends/mips_init.c
-===================================================================
+diff --git a/backends/mips_init.c b/backends/mips_init.c
+index 975c04e..8482e7f 100644
--- a/backends/mips_init.c
+++ b/backends/mips_init.c
-@@ -45,11 +45,7 @@ mips_init (Elf *elf __attribute__ ((unus
+@@ -45,11 +45,7 @@ mips_init (Elf *elf __attribute__ ((unused)),
return NULL;
/* We handle it. */
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
index 1ab704e67..7c0b9c6dc 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
@@ -1,17 +1,18 @@
-From fdaab18a65ed2529656baa64cb6169f34d7e507b Mon Sep 17 00:00:00 2001
+From 93ae9bb7d25a1adbcbab23a9b8493f370a93f0a3 Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:17:01 +0000
-Subject: [PATCH 2/3] Add support for mips64 abis in mips_retval.c
+Subject: [PATCH] Add support for mips64 abis in mips_retval.c
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
- backends/mips_retval.c | 104 ++++++++++++++++++++++++++++++++++++++++++++-----
+ backends/mips_retval.c | 104 +++++++++++++++++++++++++++++++++++++----
1 file changed, 94 insertions(+), 10 deletions(-)
diff --git a/backends/mips_retval.c b/backends/mips_retval.c
-index 33f12a7..d5c6ef0 100644
+index 656cd1f..57487bb 100644
--- a/backends/mips_retval.c
+++ b/backends/mips_retval.c
@@ -91,6 +91,8 @@ enum mips_abi find_mips_abi(Elf *elf)
@@ -165,6 +166,3 @@ index 33f12a7..d5c6ef0 100644
*locp = loc_aggregate;
return nloc_aggregate;
}
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
index b196802bc..17b98a796 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
@@ -1,7 +1,7 @@
-From 59d4b8c48e5040af7e02b34eb26ea602ec82a38e Mon Sep 17 00:00:00 2001
+From bce44aece915698a224a8aefa66784b27455675b Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:17:02 +0000
-Subject: [PATCH 3/3] Add mips n64 relocation format hack
+Subject: [PATCH] Add mips n64 relocation format hack
MIPSEL N64 ELF files use a slightly different format for storing relocation
entries which is incompatible with the normal R_SYM / R_INFO macros.
@@ -14,6 +14,7 @@ before manipulating relocations so that these changes take effect.
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
libelf/gelf_getrel.c | 25 +++++++++++++++++++++++--
libelf/gelf_getrela.c | 25 +++++++++++++++++++++++--
@@ -22,10 +23,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
src/strip.c | 17 +++++++++++++++++
5 files changed, 101 insertions(+), 6 deletions(-)
-Index: elfutils-0.175/libelf/gelf_getrel.c
-===================================================================
---- elfutils-0.175.orig/libelf/gelf_getrel.c
-+++ elfutils-0.175/libelf/gelf_getrel.c
+diff --git a/libelf/gelf_getrel.c b/libelf/gelf_getrel.c
+index 309e3d3..2a81a97 100644
+--- a/libelf/gelf_getrel.c
++++ b/libelf/gelf_getrel.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -34,7 +35,7 @@ Index: elfutils-0.175/libelf/gelf_getrel.c
GElf_Rel *
gelf_getrel (Elf_Data *data, int ndx, GElf_Rel *dst)
-@@ -89,8 +90,28 @@ gelf_getrel (Elf_Data *data, int ndx, GE
+@@ -89,8 +90,28 @@ gelf_getrel (Elf_Data *data, int ndx, GElf_Rel *dst)
result = NULL;
}
else
@@ -65,10 +66,10 @@ Index: elfutils-0.175/libelf/gelf_getrel.c
}
rwlock_unlock (scn->elf->lock);
-Index: elfutils-0.175/libelf/gelf_getrela.c
-===================================================================
---- elfutils-0.175.orig/libelf/gelf_getrela.c
-+++ elfutils-0.175/libelf/gelf_getrela.c
+diff --git a/libelf/gelf_getrela.c b/libelf/gelf_getrela.c
+index d695f65..1f42a80 100644
+--- a/libelf/gelf_getrela.c
++++ b/libelf/gelf_getrela.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -77,7 +78,7 @@ Index: elfutils-0.175/libelf/gelf_getrela.c
GElf_Rela *
gelf_getrela (Elf_Data *data, int ndx, GElf_Rela *dst)
-@@ -90,8 +91,28 @@ gelf_getrela (Elf_Data *data, int ndx, G
+@@ -90,8 +91,28 @@ gelf_getrela (Elf_Data *data, int ndx, GElf_Rela *dst)
result = NULL;
}
else
@@ -108,10 +109,10 @@ Index: elfutils-0.175/libelf/gelf_getrela.c
}
rwlock_unlock (scn->elf->lock);
-Index: elfutils-0.175/libelf/gelf_update_rel.c
-===================================================================
---- elfutils-0.175.orig/libelf/gelf_update_rel.c
-+++ elfutils-0.175/libelf/gelf_update_rel.c
+diff --git a/libelf/gelf_update_rel.c b/libelf/gelf_update_rel.c
+index 14f62e9..9095556 100644
+--- a/libelf/gelf_update_rel.c
++++ b/libelf/gelf_update_rel.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -120,7 +121,7 @@ Index: elfutils-0.175/libelf/gelf_update_rel.c
int
gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
-@@ -86,6 +87,9 @@ gelf_update_rel (Elf_Data *dst, int ndx,
+@@ -86,6 +87,9 @@ gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
}
else
{
@@ -130,7 +131,7 @@ Index: elfutils-0.175/libelf/gelf_update_rel.c
/* Check whether we have to resize the data buffer. */
if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
{
-@@ -93,7 +97,21 @@ gelf_update_rel (Elf_Data *dst, int ndx,
+@@ -93,7 +97,21 @@ gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
goto out;
}
@@ -153,10 +154,10 @@ Index: elfutils-0.175/libelf/gelf_update_rel.c
}
result = 1;
-Index: elfutils-0.175/libelf/gelf_update_rela.c
-===================================================================
---- elfutils-0.175.orig/libelf/gelf_update_rela.c
-+++ elfutils-0.175/libelf/gelf_update_rela.c
+diff --git a/libelf/gelf_update_rela.c b/libelf/gelf_update_rela.c
+index 8825270..4caa85f 100644
+--- a/libelf/gelf_update_rela.c
++++ b/libelf/gelf_update_rela.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -165,7 +166,7 @@ Index: elfutils-0.175/libelf/gelf_update_rela.c
int
gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
-@@ -89,6 +90,9 @@ gelf_update_rela (Elf_Data *dst, int ndx
+@@ -89,6 +90,9 @@ gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
}
else
{
@@ -175,7 +176,7 @@ Index: elfutils-0.175/libelf/gelf_update_rela.c
/* Check whether we have to resize the data buffer. */
if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
{
-@@ -96,7 +100,21 @@ gelf_update_rela (Elf_Data *dst, int ndx
+@@ -96,7 +100,21 @@ gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
goto out;
}
@@ -198,11 +199,11 @@ Index: elfutils-0.175/libelf/gelf_update_rela.c
}
result = 1;
-Index: elfutils-0.175/src/strip.c
-===================================================================
---- elfutils-0.175.orig/src/strip.c
-+++ elfutils-0.175/src/strip.c
-@@ -1062,6 +1062,23 @@ handle_elf (int fd, Elf *elf, const char
+diff --git a/src/strip.c b/src/strip.c
+index a73009d..75bd7ba 100644
+--- a/src/strip.c
++++ b/src/strip.c
+@@ -1062,6 +1062,23 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
goto fail;
}
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
index f7258a8d2..9904f2415 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
@@ -1,10 +1,27 @@
+From f3384466475eab373c0f1cb79c61d45709913b00 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 28 May 2014 16:49:57 +0800
+Subject: [PATCH] elfutils: upgrade to 0.158
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Index: elfutils-0.175/backends/arm_init.c
-===================================================================
---- elfutils-0.175.orig/backends/arm_init.c
-+++ elfutils-0.175/backends/arm_init.c
+---
+ backends/arm_init.c | 18 +++-
+ backends/arm_regs.c | 132 ++++++++++++++++++++++++++++
+ backends/arm_retval.c | 43 ++++++++-
+ backends/libebl_arm.h | 9 ++
+ libelf/elf.h | 11 +++
+ tests/run-addrcfi.sh | 93 +++++++++++++++++++-
+ tests/run-allregs.sh | 95 +++++++++++++++++++-
+ tests/run-readelf-mixed-corenote.sh | 11 ++-
+ 8 files changed, 400 insertions(+), 12 deletions(-)
+ create mode 100644 backends/libebl_arm.h
+
+diff --git a/backends/arm_init.c b/backends/arm_init.c
+index f2b1b11..1b71f16 100644
+--- a/backends/arm_init.c
++++ b/backends/arm_init.c
@@ -35,20 +35,31 @@
#define RELOC_PREFIX R_ARM_
#include "libebl_CPU.h"
@@ -38,7 +55,7 @@ Index: elfutils-0.175/backends/arm_init.c
/* We handle it. */
eh->name = "ARM";
arm_init_reloc (eh);
-@@ -60,7 +71,10 @@ arm_init (Elf *elf __attribute__ ((unuse
+@@ -60,7 +71,10 @@ arm_init (Elf *elf __attribute__ ((unused)),
HOOK (eh, core_note);
HOOK (eh, auxv_info);
HOOK (eh, check_object_attribute);
@@ -50,10 +67,10 @@ Index: elfutils-0.175/backends/arm_init.c
HOOK (eh, abi_cfi);
HOOK (eh, check_reloc_target_type);
HOOK (eh, symbol_type_name);
-Index: elfutils-0.175/backends/arm_regs.c
-===================================================================
---- elfutils-0.175.orig/backends/arm_regs.c
-+++ elfutils-0.175/backends/arm_regs.c
+diff --git a/backends/arm_regs.c b/backends/arm_regs.c
+index a46a4c9..418c931 100644
+--- a/backends/arm_regs.c
++++ b/backends/arm_regs.c
@@ -31,6 +31,7 @@
#endif
@@ -62,7 +79,7 @@ Index: elfutils-0.175/backends/arm_regs.c
#include <dwarf.h>
#define BACKEND arm_
-@@ -76,6 +77,9 @@ arm_register_info (Ebl *ebl __attribute_
+@@ -76,6 +77,9 @@ arm_register_info (Ebl *ebl __attribute__ ((unused)),
break;
case 16 + 0 ... 16 + 7:
@@ -72,7 +89,7 @@ Index: elfutils-0.175/backends/arm_regs.c
regno += 96 - 16;
FALLTHROUGH;
case 96 + 0 ... 96 + 7:
-@@ -87,11 +91,139 @@ arm_register_info (Ebl *ebl __attribute_
+@@ -87,11 +91,139 @@ arm_register_info (Ebl *ebl __attribute__ ((unused)),
namelen = 2;
break;
@@ -212,10 +229,10 @@ Index: elfutils-0.175/backends/arm_regs.c
*setname = "VFP";
*type = DW_ATE_float;
*bits = 64;
-Index: elfutils-0.175/backends/arm_retval.c
-===================================================================
---- elfutils-0.175.orig/backends/arm_retval.c
-+++ elfutils-0.175/backends/arm_retval.c
+diff --git a/backends/arm_retval.c b/backends/arm_retval.c
+index 1c28f01..313e4eb 100644
+--- a/backends/arm_retval.c
++++ b/backends/arm_retval.c
@@ -48,6 +48,13 @@ static const Dwarf_Op loc_intreg[] =
#define nloc_intreg 1
#define nloc_intregs(n) (2 * (n))
@@ -242,7 +259,7 @@ Index: elfutils-0.175/backends/arm_retval.c
{
/* Start with the function's type, and get the DW_AT_type attribute,
which is the type of the return value. */
-@@ -98,6 +106,21 @@ arm_return_value_location (Dwarf_Die *fu
+@@ -98,6 +106,21 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
else
return -1;
}
@@ -264,7 +281,7 @@ Index: elfutils-0.175/backends/arm_retval.c
if (size <= 16)
{
intreg:
-@@ -106,6 +129,7 @@ arm_return_value_location (Dwarf_Die *fu
+@@ -106,6 +129,7 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
}
aggregate:
@@ -272,7 +289,7 @@ Index: elfutils-0.175/backends/arm_retval.c
*locp = loc_aggregate;
return nloc_aggregate;
}
-@@ -125,3 +149,18 @@ arm_return_value_location (Dwarf_Die *fu
+@@ -125,3 +149,18 @@ arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
DWARF and might be valid. */
return -2;
}
@@ -291,10 +308,25 @@ Index: elfutils-0.175/backends/arm_retval.c
+ return arm_return_value_location_ (functypedie, locp, 0);
+}
+
-Index: elfutils-0.175/libelf/elf.h
-===================================================================
---- elfutils-0.175.orig/libelf/elf.h
-+++ elfutils-0.175/libelf/elf.h
+diff --git a/backends/libebl_arm.h b/backends/libebl_arm.h
+new file mode 100644
+index 0000000..c00770c
+--- /dev/null
++++ b/backends/libebl_arm.h
+@@ -0,0 +1,9 @@
++#ifndef _LIBEBL_ARM_H
++#define _LIBEBL_ARM_H 1
++
++#include <libdw.h>
++
++extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp);
++extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp);
++
++#endif
+diff --git a/libelf/elf.h b/libelf/elf.h
+index 6310054..5dc632b 100644
+--- a/libelf/elf.h
++++ b/libelf/elf.h
@@ -2694,6 +2694,9 @@ enum
#define EF_ARM_EABI_VER4 0x04000000
#define EF_ARM_EABI_VER5 0x05000000
@@ -333,24 +365,121 @@ Index: elfutils-0.175/libelf/elf.h
#define R_ARM_ME_TOO 128 /* Obsolete. */
#define R_ARM_THM_TLS_DESCSEQ 129
#define R_ARM_THM_TLS_DESCSEQ16 129
-Index: elfutils-0.175/backends/libebl_arm.h
-===================================================================
---- /dev/null
-+++ elfutils-0.175/backends/libebl_arm.h
-@@ -0,0 +1,9 @@
-+#ifndef _LIBEBL_ARM_H
-+#define _LIBEBL_ARM_H 1
-+
-+#include <libdw.h>
-+
-+extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp);
-+extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp);
-+
-+#endif
-Index: elfutils-0.175/tests/run-allregs.sh
-===================================================================
---- elfutils-0.175.orig/tests/run-allregs.sh
-+++ elfutils-0.175/tests/run-allregs.sh
+diff --git a/tests/run-addrcfi.sh b/tests/run-addrcfi.sh
+index fd89d02..462d7c5 100755
+--- a/tests/run-addrcfi.sh
++++ b/tests/run-addrcfi.sh
+@@ -3554,6 +3554,38 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range
+ FPA reg21 (f5): undefined
+ FPA reg22 (f6): undefined
+ FPA reg23 (f7): undefined
++ VFP reg64 (s0): undefined
++ VFP reg65 (s1): undefined
++ VFP reg66 (s2): undefined
++ VFP reg67 (s3): undefined
++ VFP reg68 (s4): undefined
++ VFP reg69 (s5): undefined
++ VFP reg70 (s6): undefined
++ VFP reg71 (s7): undefined
++ VFP reg72 (s8): undefined
++ VFP reg73 (s9): undefined
++ VFP reg74 (s10): undefined
++ VFP reg75 (s11): undefined
++ VFP reg76 (s12): undefined
++ VFP reg77 (s13): undefined
++ VFP reg78 (s14): undefined
++ VFP reg79 (s15): undefined
++ VFP reg80 (s16): undefined
++ VFP reg81 (s17): undefined
++ VFP reg82 (s18): undefined
++ VFP reg83 (s19): undefined
++ VFP reg84 (s20): undefined
++ VFP reg85 (s21): undefined
++ VFP reg86 (s22): undefined
++ VFP reg87 (s23): undefined
++ VFP reg88 (s24): undefined
++ VFP reg89 (s25): undefined
++ VFP reg90 (s26): undefined
++ VFP reg91 (s27): undefined
++ VFP reg92 (s28): undefined
++ VFP reg93 (s29): undefined
++ VFP reg94 (s30): undefined
++ VFP reg95 (s31): undefined
+ FPA reg96 (f0): undefined
+ FPA reg97 (f1): undefined
+ FPA reg98 (f2): undefined
+@@ -3562,7 +3594,66 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range
+ FPA reg101 (f5): undefined
+ FPA reg102 (f6): undefined
+ FPA reg103 (f7): undefined
+- integer reg128 (spsr): undefined
++ MMX reg104 (wcgr0): undefined
++ MMX reg105 (wcgr1): undefined
++ MMX reg106 (wcgr2): undefined
++ MMX reg107 (wcgr3): undefined
++ MMX reg108 (wcgr4): undefined
++ MMX reg109 (wcgr5): undefined
++ MMX reg110 (wcgr6): undefined
++ MMX reg111 (wcgr7): undefined
++ MMX reg112 (wr0): undefined
++ MMX reg113 (wr1): undefined
++ MMX reg114 (wr2): undefined
++ MMX reg115 (wr3): undefined
++ MMX reg116 (wr4): undefined
++ MMX reg117 (wr5): undefined
++ MMX reg118 (wr6): undefined
++ MMX reg119 (wr7): undefined
++ MMX reg120 (wr8): undefined
++ MMX reg121 (wr9): undefined
++ MMX reg122 (wr10): undefined
++ MMX reg123 (wr11): undefined
++ MMX reg124 (wr12): undefined
++ MMX reg125 (wr13): undefined
++ MMX reg126 (wr14): undefined
++ MMX reg127 (wr15): undefined
++ state reg128 (spsr): undefined
++ state reg129 (spsr_fiq): undefined
++ state reg130 (spsr_irq): undefined
++ state reg131 (spsr_abt): undefined
++ state reg132 (spsr_und): undefined
++ state reg133 (spsr_svc): undefined
++ integer reg144 (r8_usr): undefined
++ integer reg145 (r9_usr): undefined
++ integer reg146 (r10_usr): undefined
++ integer reg147 (r11_usr): undefined
++ integer reg148 (r12_usr): undefined
++ integer reg149 (r13_usr): undefined
++ integer reg150 (r14_usr): undefined
++ integer reg151 (r8_fiq): undefined
++ integer reg152 (r9_fiq): undefined
++ integer reg153 (r10_fiq): undefined
++ integer reg154 (r11_fiq): undefined
++ integer reg155 (r12_fiq): undefined
++ integer reg156 (r13_fiq): undefined
++ integer reg157 (r14_fiq): undefined
++ integer reg158 (r13_irq): undefined
++ integer reg159 (r14_irq): undefined
++ integer reg160 (r13_abt): undefined
++ integer reg161 (r14_abt): undefined
++ integer reg162 (r13_und): undefined
++ integer reg163 (r14_und): undefined
++ integer reg164 (r13_svc): undefined
++ integer reg165 (r14_svc): undefined
++ MMX reg192 (wc0): undefined
++ MMX reg193 (wc1): undefined
++ MMX reg194 (wc2): undefined
++ MMX reg195 (wc3): undefined
++ MMX reg196 (wc4): undefined
++ MMX reg197 (wc5): undefined
++ MMX reg198 (wc6): undefined
++ MMX reg199 (wc7): undefined
+ VFP reg256 (d0): undefined
+ VFP reg257 (d1): undefined
+ VFP reg258 (d2): undefined
+diff --git a/tests/run-allregs.sh b/tests/run-allregs.sh
+index 1422bd6..dc0fc99 100755
+--- a/tests/run-allregs.sh
++++ b/tests/run-allregs.sh
@@ -2672,7 +2672,28 @@ integer registers:
13: sp (sp), address 32 bits
14: lr (lr), address 32 bits
@@ -468,11 +597,11 @@ Index: elfutils-0.175/tests/run-allregs.sh
EOF
# See run-readelf-mixed-corenote.sh for instructions to regenerate
-Index: elfutils-0.175/tests/run-readelf-mixed-corenote.sh
-===================================================================
---- elfutils-0.175.orig/tests/run-readelf-mixed-corenote.sh
-+++ elfutils-0.175/tests/run-readelf-mixed-corenote.sh
-@@ -31,12 +31,11 @@ Note segment of 892 bytes at offset 0x27
+diff --git a/tests/run-readelf-mixed-corenote.sh b/tests/run-readelf-mixed-corenote.sh
+index c960f1d..e4bf074 100755
+--- a/tests/run-readelf-mixed-corenote.sh
++++ b/tests/run-readelf-mixed-corenote.sh
+@@ -31,12 +31,11 @@ Note segment of 892 bytes at offset 0x274:
pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
utime: 0.000000, stime: 0.010000, cutime: 0.000000, cstime: 0.000000
orig_r0: -1, fpvalid: 1
@@ -490,114 +619,3 @@ Index: elfutils-0.175/tests/run-readelf-mixed-corenote.sh
CORE 124 PRPSINFO
state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400500
uid: 0, gid: 0, pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
-Index: elfutils-0.175/tests/run-addrcfi.sh
-===================================================================
---- elfutils-0.175.orig/tests/run-addrcfi.sh
-+++ elfutils-0.175/tests/run-addrcfi.sh
-@@ -3554,6 +3554,38 @@ dwarf_cfi_addrframe (.eh_frame): no matc
- FPA reg21 (f5): undefined
- FPA reg22 (f6): undefined
- FPA reg23 (f7): undefined
-+ VFP reg64 (s0): undefined
-+ VFP reg65 (s1): undefined
-+ VFP reg66 (s2): undefined
-+ VFP reg67 (s3): undefined
-+ VFP reg68 (s4): undefined
-+ VFP reg69 (s5): undefined
-+ VFP reg70 (s6): undefined
-+ VFP reg71 (s7): undefined
-+ VFP reg72 (s8): undefined
-+ VFP reg73 (s9): undefined
-+ VFP reg74 (s10): undefined
-+ VFP reg75 (s11): undefined
-+ VFP reg76 (s12): undefined
-+ VFP reg77 (s13): undefined
-+ VFP reg78 (s14): undefined
-+ VFP reg79 (s15): undefined
-+ VFP reg80 (s16): undefined
-+ VFP reg81 (s17): undefined
-+ VFP reg82 (s18): undefined
-+ VFP reg83 (s19): undefined
-+ VFP reg84 (s20): undefined
-+ VFP reg85 (s21): undefined
-+ VFP reg86 (s22): undefined
-+ VFP reg87 (s23): undefined
-+ VFP reg88 (s24): undefined
-+ VFP reg89 (s25): undefined
-+ VFP reg90 (s26): undefined
-+ VFP reg91 (s27): undefined
-+ VFP reg92 (s28): undefined
-+ VFP reg93 (s29): undefined
-+ VFP reg94 (s30): undefined
-+ VFP reg95 (s31): undefined
- FPA reg96 (f0): undefined
- FPA reg97 (f1): undefined
- FPA reg98 (f2): undefined
-@@ -3562,7 +3594,66 @@ dwarf_cfi_addrframe (.eh_frame): no matc
- FPA reg101 (f5): undefined
- FPA reg102 (f6): undefined
- FPA reg103 (f7): undefined
-- integer reg128 (spsr): undefined
-+ MMX reg104 (wcgr0): undefined
-+ MMX reg105 (wcgr1): undefined
-+ MMX reg106 (wcgr2): undefined
-+ MMX reg107 (wcgr3): undefined
-+ MMX reg108 (wcgr4): undefined
-+ MMX reg109 (wcgr5): undefined
-+ MMX reg110 (wcgr6): undefined
-+ MMX reg111 (wcgr7): undefined
-+ MMX reg112 (wr0): undefined
-+ MMX reg113 (wr1): undefined
-+ MMX reg114 (wr2): undefined
-+ MMX reg115 (wr3): undefined
-+ MMX reg116 (wr4): undefined
-+ MMX reg117 (wr5): undefined
-+ MMX reg118 (wr6): undefined
-+ MMX reg119 (wr7): undefined
-+ MMX reg120 (wr8): undefined
-+ MMX reg121 (wr9): undefined
-+ MMX reg122 (wr10): undefined
-+ MMX reg123 (wr11): undefined
-+ MMX reg124 (wr12): undefined
-+ MMX reg125 (wr13): undefined
-+ MMX reg126 (wr14): undefined
-+ MMX reg127 (wr15): undefined
-+ state reg128 (spsr): undefined
-+ state reg129 (spsr_fiq): undefined
-+ state reg130 (spsr_irq): undefined
-+ state reg131 (spsr_abt): undefined
-+ state reg132 (spsr_und): undefined
-+ state reg133 (spsr_svc): undefined
-+ integer reg144 (r8_usr): undefined
-+ integer reg145 (r9_usr): undefined
-+ integer reg146 (r10_usr): undefined
-+ integer reg147 (r11_usr): undefined
-+ integer reg148 (r12_usr): undefined
-+ integer reg149 (r13_usr): undefined
-+ integer reg150 (r14_usr): undefined
-+ integer reg151 (r8_fiq): undefined
-+ integer reg152 (r9_fiq): undefined
-+ integer reg153 (r10_fiq): undefined
-+ integer reg154 (r11_fiq): undefined
-+ integer reg155 (r12_fiq): undefined
-+ integer reg156 (r13_fiq): undefined
-+ integer reg157 (r14_fiq): undefined
-+ integer reg158 (r13_irq): undefined
-+ integer reg159 (r14_irq): undefined
-+ integer reg160 (r13_abt): undefined
-+ integer reg161 (r14_abt): undefined
-+ integer reg162 (r13_und): undefined
-+ integer reg163 (r14_und): undefined
-+ integer reg164 (r13_svc): undefined
-+ integer reg165 (r14_svc): undefined
-+ MMX reg192 (wc0): undefined
-+ MMX reg193 (wc1): undefined
-+ MMX reg194 (wc2): undefined
-+ MMX reg195 (wc3): undefined
-+ MMX reg196 (wc4): undefined
-+ MMX reg197 (wc5): undefined
-+ MMX reg198 (wc6): undefined
-+ MMX reg199 (wc7): undefined
- VFP reg256 (d0): undefined
- VFP reg257 (d1): undefined
- VFP reg258 (d2): undefined
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch b/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
index 75736bff0..bb5670a8d 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
@@ -1,17 +1,24 @@
+From dece09fb8c59dbdab356b63fbe6b7554dd2461a4 Mon Sep 17 00:00:00 2001
From: Helmut Grohne <helmut@subdivi.de>
-Subject: disable -Werror as it tends to break with new gcc versions
+Date: Fri, 23 Nov 2018 15:47:20 +0800
+Subject: [PATCH] disable -Werror as it tends to break with new gcc versions
+
Bug-Debian: https://bugs.debian.org/886004
Last-Update: 2018-01-01
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Index: elfutils-0.175/config/eu.am
-===================================================================
---- elfutils-0.175.orig/config/eu.am
-+++ elfutils-0.175/config/eu.am
-@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -W
- -Wold-style-definition -Wstrict-prototypes \
+---
+ config/eu.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/config/eu.am b/config/eu.am
+index 82acda3..dede5c6 100644
+--- a/config/eu.am
++++ b/config/eu.am
+@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
+ -Wold-style-definition -Wstrict-prototypes -Wtrampolines \
$(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
$(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
- $(if $($(*F)_no_Werror),,-Werror) \
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
index 105e3f430..afcc30abf 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
@@ -1,10 +1,78 @@
+From 8fe468682c550606ea961a1f996a8618940eb084 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 16 Jul 2010 12:26:46 +0800
+Subject: [PATCH] elfutils: upgrade to version 0.148
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Index: elfutils-0.175/backends/parisc_init.c
-===================================================================
+---
+ backends/Makefile.am | 8 +-
+ backends/libebl_parisc.h | 9 ++
+ backends/parisc_init.c | 73 +++++++++++++
+ backends/parisc_regs.c | 159 ++++++++++++++++++++++++++++
+ backends/parisc_reloc.def | 128 +++++++++++++++++++++++
+ backends/parisc_retval.c | 213 ++++++++++++++++++++++++++++++++++++++
+ backends/parisc_symbol.c | 113 ++++++++++++++++++++
+ libelf/elf.h | 11 ++
+ 8 files changed, 712 insertions(+), 2 deletions(-)
+ create mode 100644 backends/libebl_parisc.h
+ create mode 100644 backends/parisc_init.c
+ create mode 100644 backends/parisc_regs.c
+ create mode 100644 backends/parisc_reloc.def
+ create mode 100644 backends/parisc_retval.c
+ create mode 100644 backends/parisc_symbol.c
+
+diff --git a/backends/Makefile.am b/backends/Makefile.am
+index 2126a2e..5671a32 100644
+--- a/backends/Makefile.am
++++ b/backends/Makefile.am
+@@ -33,12 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
+
+
+ modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
+- tilegx m68k bpf riscv
++ tilegx m68k bpf riscv parisc
+ libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
+ libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
+ libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
+ libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
+- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a
++ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
++ libebl_parisc_pic.a
+ noinst_LIBRARIES = $(libebl_pic)
+ noinst_DATA = $(libebl_pic:_pic.a=.so)
+
+@@ -136,6 +137,9 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
+ libebl_riscv_pic_a_SOURCES = $(riscv_SRCS)
+ am_libebl_riscv_pic_a_OBJECTS = $(riscv_SRCS:.c=.os)
+
++parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
++libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
++am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
+
+ libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu)
+ @rm -f $(@:.so=.map)
+diff --git a/backends/libebl_parisc.h b/backends/libebl_parisc.h
+new file mode 100644
+index 0000000..f473b79
+--- /dev/null
++++ b/backends/libebl_parisc.h
+@@ -0,0 +1,9 @@
++#ifndef _LIBEBL_HPPA_H
++#define _LIBEBL_HPPA_H 1
++
++#include <libdw.h>
++
++extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp);
++extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp);
++
++#endif
+diff --git a/backends/parisc_init.c b/backends/parisc_init.c
+new file mode 100644
+index 0000000..f1e401c
--- /dev/null
-+++ elfutils-0.175/backends/parisc_init.c
++++ b/backends/parisc_init.c
@@ -0,0 +1,73 @@
+/* Initialization of PA-RISC specific backend library.
+ Copyright (C) 2002, 2005, 2006 Red Hat, Inc.
@@ -79,10 +147,11 @@ Index: elfutils-0.175/backends/parisc_init.c
+
+ return MODVERSION;
+}
-Index: elfutils-0.175/backends/parisc_regs.c
-===================================================================
+diff --git a/backends/parisc_regs.c b/backends/parisc_regs.c
+new file mode 100644
+index 0000000..3895f8e
--- /dev/null
-+++ elfutils-0.175/backends/parisc_regs.c
++++ b/backends/parisc_regs.c
@@ -0,0 +1,159 @@
+/* Register names and numbers for PA-RISC DWARF.
+ Copyright (C) 2005, 2006 Red Hat, Inc.
@@ -243,10 +312,11 @@ Index: elfutils-0.175/backends/parisc_regs.c
+ name[namelen++] = '\0';
+ return namelen;
+}
-Index: elfutils-0.175/backends/parisc_reloc.def
-===================================================================
+diff --git a/backends/parisc_reloc.def b/backends/parisc_reloc.def
+new file mode 100644
+index 0000000..1f875ba
--- /dev/null
-+++ elfutils-0.175/backends/parisc_reloc.def
++++ b/backends/parisc_reloc.def
@@ -0,0 +1,128 @@
+/* List the relocation types for PA-RISC. -*- C -*-
+ Copyright (C) 2005 Red Hat, Inc.
@@ -376,10 +446,11 @@ Index: elfutils-0.175/backends/parisc_reloc.def
+RELOC_TYPE (TLS_DTPMOD64, DYN)
+
+#define NO_RELATIVE_RELOC 1
-Index: elfutils-0.175/backends/parisc_retval.c
-===================================================================
+diff --git a/backends/parisc_retval.c b/backends/parisc_retval.c
+new file mode 100644
+index 0000000..df7ec3a
--- /dev/null
-+++ elfutils-0.175/backends/parisc_retval.c
++++ b/backends/parisc_retval.c
@@ -0,0 +1,213 @@
+/* Function return value location for Linux/PA-RISC ABI.
+ Copyright (C) 2005 Red Hat, Inc.
@@ -594,10 +665,11 @@ Index: elfutils-0.175/backends/parisc_retval.c
+ return parisc_return_value_location_ (functypedie, locp, 1);
+}
+
-Index: elfutils-0.175/backends/parisc_symbol.c
-===================================================================
+diff --git a/backends/parisc_symbol.c b/backends/parisc_symbol.c
+new file mode 100644
+index 0000000..5754bd8
--- /dev/null
-+++ elfutils-0.175/backends/parisc_symbol.c
++++ b/backends/parisc_symbol.c
@@ -0,0 +1,113 @@
+/* PA-RISC specific symbolic name handling.
+ Copyright (C) 2002, 2005 Red Hat, Inc.
@@ -712,54 +784,10 @@ Index: elfutils-0.175/backends/parisc_symbol.c
+ return ELF_T_NUM;
+ }
+}
-Index: elfutils-0.175/backends/libebl_parisc.h
-===================================================================
---- /dev/null
-+++ elfutils-0.175/backends/libebl_parisc.h
-@@ -0,0 +1,9 @@
-+#ifndef _LIBEBL_HPPA_H
-+#define _LIBEBL_HPPA_H 1
-+
-+#include <libdw.h>
-+
-+extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp);
-+extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp);
-+
-+#endif
-Index: elfutils-0.175/backends/Makefile.am
-===================================================================
---- elfutils-0.175.orig/backends/Makefile.am
-+++ elfutils-0.175/backends/Makefile.am
-@@ -33,12 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I
-
-
- modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
-- tilegx m68k bpf riscv
-+ tilegx m68k bpf riscv parisc
- libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
- libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
- libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
- libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
-- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a
-+ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
-+ libebl_parisc_pic.a
- noinst_LIBRARIES = $(libebl_pic)
- noinst_DATA = $(libebl_pic:_pic.a=.so)
-
-@@ -136,6 +137,9 @@ riscv_SRCS = riscv_init.c riscv_symbol.c
- libebl_riscv_pic_a_SOURCES = $(riscv_SRCS)
- am_libebl_riscv_pic_a_OBJECTS = $(riscv_SRCS:.c=.os)
-
-+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
-+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
-+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
-
- libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu)
- @rm -f $(@:.so=.map)
-Index: elfutils-0.175/libelf/elf.h
-===================================================================
---- elfutils-0.175.orig/libelf/elf.h
-+++ elfutils-0.175/libelf/elf.h
+diff --git a/libelf/elf.h b/libelf/elf.h
+index 75043bc..6310054 100644
+--- a/libelf/elf.h
++++ b/libelf/elf.h
@@ -2155,16 +2155,24 @@ enum
#define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
#define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch b/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
index 8fa35a452..f014ae2a7 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
@@ -1,9 +1,19 @@
+From 2f54a8cf959ea83c452b1a22acbc47d2738b5fa0 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 23 Nov 2018 15:47:20 +0800
+Subject: [PATCH] elfutils: 0.170 -> 0.172
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Index: elfutils-0.165/tests/run-native-test.sh
-===================================================================
---- elfutils-0.165.orig/tests/run-native-test.sh
-+++ elfutils-0.165/tests/run-native-test.sh
+
+---
+ tests/run-native-test.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/run-native-test.sh b/tests/run-native-test.sh
+index 5351e02..70f6681 100755
+--- a/tests/run-native-test.sh
++++ b/tests/run-native-test.sh
@@ -83,6 +83,9 @@ native_test()
# "cannot attach to process: Function not implemented".
[ "$(uname)" = "GNU/kFreeBSD" ] && exit 77
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff b/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
index 55513eedd..53332467a 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
@@ -1,8 +1,19 @@
+From d326ad99be856815260a04e573fc97044c02f444 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 2 Jul 2018 13:57:09 +0800
+Subject: [PATCH] elfutils: 0.170 -> 0.172
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---- elfutils-0.165.orig/tests/run-strip-strmerge.sh
-+++ elfutils-0.165/tests/run-strip-strmerge.sh
+---
+ tests/run-strip-strmerge.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/run-strip-strmerge.sh b/tests/run-strip-strmerge.sh
+index aa9c1eb..2bab8ec 100755
+--- a/tests/run-strip-strmerge.sh
++++ b/tests/run-strip-strmerge.sh
@@ -30,7 +30,7 @@ remerged=remerged.elf
tempfiles $merged $stripped $debugfile $remerged
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch b/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
index fe5159f3c..805da80d6 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
@@ -1,7 +1,17 @@
+From bac45996ece75900e0cde97f3889eaf6c1b286f8 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 23 Nov 2018 15:47:20 +0800
+Subject: [PATCH] elfutils: 0.170 -> 0.172
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Index: b/tests/run-native-test.sh
-===================================================================
+
+---
+ tests/run-native-test.sh | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/tests/run-native-test.sh b/tests/run-native-test.sh
+index d19007f..5351e02 100755
--- a/tests/run-native-test.sh
+++ b/tests/run-native-test.sh
@@ -77,6 +77,12 @@ native_test()
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
index 998fa04dc..697306f82 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
@@ -1,9 +1,62 @@
+From 10a75fd2beefafe2043163f85426d0e575de58d8 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 16 Jul 2010 12:26:46 +0800
+Subject: [PATCH] elfutils: upgrade to version 0.148
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Index: elfutils-0.175/backends/mips_init.c
-===================================================================
+
+---
+ backends/Makefile.am | 8 +-
+ backends/mips_init.c | 59 ++++++++
+ backends/mips_regs.c | 104 +++++++++++++
+ backends/mips_reloc.def | 79 ++++++++++
+ backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++
+ backends/mips_symbol.c | 53 +++++++
+ libebl/eblopenbackend.c | 2 +
+ 7 files changed, 624 insertions(+), 2 deletions(-)
+ create mode 100644 backends/mips_init.c
+ create mode 100644 backends/mips_regs.c
+ create mode 100644 backends/mips_reloc.def
+ create mode 100644 backends/mips_retval.c
+ create mode 100644 backends/mips_symbol.c
+
+diff --git a/backends/Makefile.am b/backends/Makefile.am
+index 5671a32..ba84da6 100644
+--- a/backends/Makefile.am
++++ b/backends/Makefile.am
+@@ -33,13 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
+
+
+ modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
+- tilegx m68k bpf riscv parisc
++ tilegx m68k bpf riscv parisc mips
+ libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
+ libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
+ libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
+ libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
+ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
+- libebl_parisc_pic.a
++ libebl_parisc_pic.a libebl_mips_pic.a
+ noinst_LIBRARIES = $(libebl_pic)
+ noinst_DATA = $(libebl_pic:_pic.a=.so)
+
+@@ -141,6 +141,10 @@ parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
+ libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
+ am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
+
++mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
++libebl_mips_pic_a_SOURCES = $(mips_SRCS)
++am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
++
+ libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu)
+ @rm -f $(@:.so=.map)
+ $(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
+diff --git a/backends/mips_init.c b/backends/mips_init.c
+new file mode 100644
+index 0000000..975c04e
--- /dev/null
-+++ elfutils-0.175/backends/mips_init.c
++++ b/backends/mips_init.c
@@ -0,0 +1,59 @@
+/* Initialization of mips specific backend library.
+ Copyright (C) 2006 Red Hat, Inc.
@@ -64,10 +117,11 @@ Index: elfutils-0.175/backends/mips_init.c
+
+ return MODVERSION;
+}
-Index: elfutils-0.175/backends/mips_regs.c
-===================================================================
+diff --git a/backends/mips_regs.c b/backends/mips_regs.c
+new file mode 100644
+index 0000000..44f86cb
--- /dev/null
-+++ elfutils-0.175/backends/mips_regs.c
++++ b/backends/mips_regs.c
@@ -0,0 +1,104 @@
+/* Register names and numbers for MIPS DWARF.
+ Copyright (C) 2006 Red Hat, Inc.
@@ -173,10 +227,11 @@ Index: elfutils-0.175/backends/mips_regs.c
+ name[namelen++] = '\0';
+ return namelen;
+}
-Index: elfutils-0.175/backends/mips_reloc.def
-===================================================================
+diff --git a/backends/mips_reloc.def b/backends/mips_reloc.def
+new file mode 100644
+index 0000000..4579970
--- /dev/null
-+++ elfutils-0.175/backends/mips_reloc.def
++++ b/backends/mips_reloc.def
@@ -0,0 +1,79 @@
+/* List the relocation types for mips. -*- C -*-
+ Copyright (C) 2006 Red Hat, Inc.
@@ -257,10 +312,11 @@ Index: elfutils-0.175/backends/mips_reloc.def
+
+#define NO_COPY_RELOC 1
+#define NO_RELATIVE_RELOC 1
-Index: elfutils-0.175/backends/mips_retval.c
-===================================================================
+diff --git a/backends/mips_retval.c b/backends/mips_retval.c
+new file mode 100644
+index 0000000..656cd1f
--- /dev/null
-+++ elfutils-0.175/backends/mips_retval.c
++++ b/backends/mips_retval.c
@@ -0,0 +1,321 @@
+/* Function return value location for Linux/mips ABI.
+ Copyright (C) 2005 Red Hat, Inc.
@@ -583,10 +639,11 @@ Index: elfutils-0.175/backends/mips_retval.c
+ DWARF and might be valid. */
+ return -2;
+}
-Index: elfutils-0.175/backends/mips_symbol.c
-===================================================================
+diff --git a/backends/mips_symbol.c b/backends/mips_symbol.c
+new file mode 100644
+index 0000000..261b05d
--- /dev/null
-+++ elfutils-0.175/backends/mips_symbol.c
++++ b/backends/mips_symbol.c
@@ -0,0 +1,53 @@
+/* MIPS specific symbolic name handling.
+ Copyright (C) 2002, 2003, 2005 Red Hat, Inc.
@@ -641,10 +698,10 @@ Index: elfutils-0.175/backends/mips_symbol.c
+ return ELF_T_NUM;
+ }
+}
-Index: elfutils-0.175/libebl/eblopenbackend.c
-===================================================================
---- elfutils-0.175.orig/libebl/eblopenbackend.c
-+++ elfutils-0.175/libebl/eblopenbackend.c
+diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
+index d54b720..6cf766f 100644
+--- a/libebl/eblopenbackend.c
++++ b/libebl/eblopenbackend.c
@@ -71,6 +71,8 @@ static const struct
{ "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
{ "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
@@ -654,34 +711,3 @@ Index: elfutils-0.175/libebl/eblopenbackend.c
{ "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 },
{ "m68k", "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
-Index: elfutils-0.175/backends/Makefile.am
-===================================================================
---- elfutils-0.175.orig/backends/Makefile.am
-+++ elfutils-0.175/backends/Makefile.am
-@@ -33,13 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I
-
-
- modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
-- tilegx m68k bpf riscv parisc
-+ tilegx m68k bpf riscv parisc mips
- libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
- libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
- libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
- libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
-- libebl_parisc_pic.a
-+ libebl_parisc_pic.a libebl_mips_pic.a
- noinst_LIBRARIES = $(libebl_pic)
- noinst_DATA = $(libebl_pic:_pic.a=.so)
-
-@@ -141,6 +141,10 @@ parisc_SRCS = parisc_init.c parisc_symbo
- libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
- am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
-
-+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
-+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
-+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
-+
- libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu)
- @rm -f $(@:.so=.map)
- $(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch b/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
index d26e72e28..1737e0dbc 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
@@ -1,7 +1,7 @@
+From 33da4b4347aacdfb8b1b42e06e29e68a4b882d96 Mon Sep 17 00:00:00 2001
From: Kurt Roeckx <kurt@roeckx.be>
-Subject: Make readelf -w output debug information on mips
-Bug-Debian: http://bugs.debian.org/662041
-Forwarded: not-needed
+Date: Mon, 4 Mar 2019 09:45:00 +0000
+Subject: [PATCH] Make readelf -w output debug information on mips
Upstreams wants a change where this is handled by a hook that needs
to be filled in by the backend for the arch.
@@ -9,11 +9,15 @@ to be filled in by the backend for the arch.
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Index: elfutils-0.175/src/readelf.c
-===================================================================
---- elfutils-0.175.orig/src/readelf.c
-+++ elfutils-0.175/src/readelf.c
-@@ -11133,7 +11133,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl *
+---
+ src/readelf.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/readelf.c b/src/readelf.c
+index 33706bd..ef13159 100644
+--- a/src/readelf.c
++++ b/src/readelf.c
+@@ -11148,7 +11148,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
GElf_Shdr shdr_mem;
GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
diff --git a/poky/meta/recipes-devtools/file/file/debian-742262.patch b/poky/meta/recipes-devtools/file/file/debian-742262.patch
deleted file mode 100644
index 319f9dbcf..000000000
--- a/poky/meta/recipes-devtools/file/file/debian-742262.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-The awk pattern was checked *before* the Perl pattern, so the
-perl script with BEGIN{...} would be reported as awk, this patch fixes it.
-
-Upstream-Status: Backport [debian]
-
-Signed-off-by: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Rebase on 5.31
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
----
- magic/Magdir/commands | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/magic/Magdir/commands b/magic/Magdir/commands
-index f6ad1c8..f79e7dd 100644
---- a/magic/Magdir/commands
-+++ b/magic/Magdir/commands
-@@ -57,6 +57,7 @@
- 0 string/wt #!\ /usr/bin/awk awk script text executable
- !:mime text/x-awk
- 0 regex/4096 =^[\040\t\f\r\n]{0,100}BEGIN[\040\t\f\r\n]{0,100}[{] awk or perl script text
-+!:strength - 12
-
- # AT&T Bell Labs' Plan 9 shell
- 0 string/wt #!\ /bin/rc Plan 9 rc shell script text executable
diff --git a/poky/meta/recipes-devtools/file/file_5.34.bb b/poky/meta/recipes-devtools/file/file_5.34.bb
deleted file mode 100644
index 5d92913cb..000000000
--- a/poky/meta/recipes-devtools/file/file_5.34.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "File classification tool"
-DESCRIPTION = "File attempts to classify files depending \
-on their contents and prints a description if a match is found."
-HOMEPAGE = "http://www.darwinsys.com/file/"
-SECTION = "console/utils"
-
-# two clause BSD
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=6a7382872edb68d33e1a9398b6e03188"
-
-DEPENDS = "zlib file-replacement-native"
-DEPENDS_class-native = "zlib-native"
-
-# Blacklist a bogus tag in upstream check
-UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P<pver>(?!6_23).+)"
-
-SRC_URI = "git://github.com/file/file.git \
- file://debian-742262.patch \
- "
-
-SRCREV = "315cef2f699da3c31a54bd3c6c6070680fbaf1f5"
-S = "${WORKDIR}/git"
-
-inherit autotools update-alternatives
-
-ALTERNATIVE_${PN} = "file"
-ALTERNATIVE_LINK_NAME[file] = "${bindir}/file"
-
-EXTRA_OEMAKE_append_class-target = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
-EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
-
-CFLAGS_append = " -std=c99"
-
-FILES_${PN} += "${datadir}/misc/*.mgc"
-
-do_install_append_class-native() {
- create_cmdline_wrapper ${D}/${bindir}/file \
- --magic-file ${datadir}/misc/magic.mgc
-}
-
-do_install_append_class-nativesdk() {
- create_cmdline_wrapper ${D}/${bindir}/file \
- --magic-file ${datadir}/misc/magic.mgc
-}
-
-BBCLASSEXTEND = "native nativesdk"
-PROVIDES_append_class-native = " file-replacement-native"
-# Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who
-# depends on file-replacement-native.
-bindir_append_class-native = "/file-native"
diff --git a/poky/meta/recipes-devtools/file/file_5.36.bb b/poky/meta/recipes-devtools/file/file_5.36.bb
new file mode 100644
index 000000000..1a81fde25
--- /dev/null
+++ b/poky/meta/recipes-devtools/file/file_5.36.bb
@@ -0,0 +1,48 @@
+SUMMARY = "File classification tool"
+DESCRIPTION = "File attempts to classify files depending \
+on their contents and prints a description if a match is found."
+HOMEPAGE = "http://www.darwinsys.com/file/"
+SECTION = "console/utils"
+
+# two clause BSD
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdda1b"
+
+DEPENDS = "zlib file-replacement-native"
+DEPENDS_class-native = "zlib-native"
+
+# Blacklist a bogus tag in upstream check
+UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P<pver>(?!6_23).+)"
+
+SRC_URI = "git://github.com/file/file.git"
+
+SRCREV = "f3a4b9ada3ca99e62c62b9aa78eee4935a8094fe"
+S = "${WORKDIR}/git"
+
+inherit autotools update-alternatives
+
+ALTERNATIVE_${PN} = "file"
+ALTERNATIVE_LINK_NAME[file] = "${bindir}/file"
+
+EXTRA_OEMAKE_append_class-target = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
+EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
+
+CFLAGS_append = " -std=c99"
+
+FILES_${PN} += "${datadir}/misc/*.mgc"
+
+do_install_append_class-native() {
+ create_cmdline_wrapper ${D}/${bindir}/file \
+ --magic-file ${datadir}/misc/magic.mgc
+}
+
+do_install_append_class-nativesdk() {
+ create_cmdline_wrapper ${D}/${bindir}/file \
+ --magic-file ${datadir}/misc/magic.mgc
+}
+
+BBCLASSEXTEND = "native nativesdk"
+PROVIDES_append_class-native = " file-replacement-native"
+# Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who
+# depends on file-replacement-native.
+bindir_append_class-native = "/file-native"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3.inc b/poky/meta/recipes-devtools/gcc/gcc-7.3.inc
deleted file mode 100644
index c7c88f12e..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3.inc
+++ /dev/null
@@ -1,135 +0,0 @@
-require gcc-common.inc
-
-# Third digit in PV should be incremented after a minor release
-
-PV = "7.3.0"
-
-# BINV should be incremented to a revision after a minor gcc release
-
-BINV = "7.3.0"
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-7.3:${FILE_DIRNAME}/gcc-7.3/backport:"
-
-DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
-NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
-
-LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
-
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
-"
-
-#RELEASE = "7-20170504"
-BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
-#SRCREV = "f7cf798b73fd1a07098f9a490deec1e2a36e0bed"
-#BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
-#BASEURI ?= "http://mirrors.concertpass.com/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.bz2"
-
-SRC_URI = "\
- ${BASEURI} \
- file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
- file://0009-gcc-poison-system-directories.patch \
- file://0010-gcc-poison-dir-extend.patch \
- file://0011-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
- file://0012-64-bit-multilib-hack.patch \
- file://0013-optional-libstdc.patch \
- file://0014-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \
- file://0015-COLLECT_GCC_OPTIONS.patch \
- file://0016-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
- file://0017-fortran-cross-compile-hack.patch \
- file://0018-cpp-honor-sysroot.patch \
- file://0019-MIPS64-Default-to-N64-ABI.patch \
- file://0020-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
- file://0021-gcc-Fix-argument-list-too-long-error.patch \
- file://0022-Disable-sdt.patch \
- file://0023-libtool.patch \
- file://0024-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
- file://0025-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
- file://0026-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
- file://0027-export-CPP.patch \
- file://0028-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \
- file://0029-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch \
- file://0030-Ensure-target-gcc-headers-can-be-included.patch \
- file://0031-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
- file://0032-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
- file://0033-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
- file://0034-aarch64-Add-support-for-musl-ldso.patch \
- file://0035-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
- file://0036-handle-sysroot-support-for-nativesdk-gcc.patch \
- file://0037-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
- file://0038-Fix-various-_FOR_BUILD-and-related-variables.patch \
- file://0039-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
- file://0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
- file://0041-gcc-libcpp-support-ffile-prefix-map-old-new.patch \
- file://0042-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch \
- file://0043-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch \
- file://0044-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
- file://0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
- file://0047-sync-gcc-stddef.h-with-musl.patch \
- file://0048-gcc-Enable-static-PIE.patch \
- file://0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch \
- file://fix-segmentation-fault-precompiled-hdr.patch \
- file://no-sse-fix-test-case-failures.patch \
- ${BACKPORTS} \
-"
-BACKPORTS = "\
- file://0001-Fix-internal-compiler-error-in-testcase.patch \
- file://0001-PR-rtl-optimization-83030.patch \
- file://0001-Fix-ppc64le-build-Partial-backport-r256656.patch \
- file://0001-PR-c-80290-memory-hog-with-std-pair.patch \
-"
-
-SRC_URI[md5sum] = "be2da21680f27624f3a87055c4ba5af2"
-SRC_URI[sha256sum] = "832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c"
-
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
-#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
-B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
-
-# Language Overrides
-FORTRAN = ""
-JAVA = ""
-
-LTO = "--enable-lto"
-SSP ?= "--disable-libssp"
-SSP_mingw32 = "--enable-libssp"
-
-EXTRA_OECONF_BASE = "\
- ${LTO} \
- ${SSP} \
- --enable-libitm \
- --disable-bootstrap \
- --disable-libmudflap \
- --with-system-zlib \
- ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
- --enable-linker-build-id \
- --with-ppl=no \
- --with-cloog=no \
- --enable-checking=release \
- --enable-cheaders=c_global \
- --without-isl \
-"
-
-EXTRA_OECONF_INITIAL = "\
- --disable-libmudflap \
- --disable-libgomp \
- --disable-libitm \
- --disable-libquadmath \
- --with-system-zlib \
- --disable-lto \
- --disable-plugin \
- --enable-linker-build-id \
- --enable-decimal-float=no \
- --without-isl \
- --disable-libssp \
-"
-
-EXTRA_OECONF_PATHS = "\
- --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
- --with-sysroot=/not/exist \
- --with-build-sysroot=${STAGING_DIR_TARGET} \
-"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-internal-compiler-error-in-testcase.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-internal-compiler-error-in-testcase.patch
deleted file mode 100644
index 45cc0eeec..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-internal-compiler-error-in-testcase.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-From d3cdd96a300f9003a1cc242541605169aacdc811 Mon Sep 17 00:00:00 2001
-From: willschm <willschm@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Mon, 25 Sep 2017 14:35:02 +0000
-Subject: [PATCH] [gcc]
-
-2017-09-25 Will Schmidt <will_schmidt@vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
- for early folding of vector stores (ALTIVEC_BUILTIN_ST_*).
- (rs6000_builtin_valid_without_lhs): New helper function.
- * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
- Remove obsoleted code for handling ALTIVEC_BUILTIN_VEC_ST.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253152 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Fix internal compiler error for testcase gcc.dg/vmx/7d-02.c
-
-Upstream commit: d3cdd96a300f9003a1cc242541605169aacdc811
-
-Backport by Kaushik Phatak <Kaushik.Phatak@kpit.com>
-
-This patch removes changes to Changelog from the original upstream patch.
-This will help us avoid conflicts.
-
-Upstream-Status: Backport
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- gcc/ChangeLog | 8 +++++
- gcc/config/rs6000/rs6000-c.c | 72 -------------------------------------------
- gcc/config/rs6000/rs6000.c | 73 ++++++++++++++++++++++++++++++++++++++++++--
- 3 files changed, 78 insertions(+), 75 deletions(-)
-
-diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c
-index a49db97..4a363a1 100644
---- a/gcc/config/rs6000/rs6000-c.c
-+++ b/gcc/config/rs6000/rs6000-c.c
-@@ -6279,70 +6279,6 @@ altivec_resolve_overloaded_builtin (loca
- }
- }
-
-- /* Similarly for stvx. */
-- if (fcode == ALTIVEC_BUILTIN_VEC_ST
-- && (BYTES_BIG_ENDIAN || !VECTOR_ELT_ORDER_BIG)
-- && nargs == 3)
-- {
-- tree arg0 = (*arglist)[0];
-- tree arg1 = (*arglist)[1];
-- tree arg2 = (*arglist)[2];
--
-- /* Construct the masked address. Let existing error handling take
-- over if we don't have a constant offset. */
-- arg1 = fold (arg1);
--
-- if (TREE_CODE (arg1) == INTEGER_CST)
-- {
-- if (!ptrofftype_p (TREE_TYPE (arg1)))
-- arg1 = build1 (NOP_EXPR, sizetype, arg1);
--
-- tree arg2_type = TREE_TYPE (arg2);
-- if (TREE_CODE (arg2_type) == ARRAY_TYPE && c_dialect_cxx ())
-- {
-- /* Force array-to-pointer decay for C++. */
-- arg2 = default_conversion (arg2);
-- arg2_type = TREE_TYPE (arg2);
-- }
--
-- /* Find the built-in to make sure a compatible one exists; if not
-- we fall back to default handling to get the error message. */
-- for (desc = altivec_overloaded_builtins;
-- desc->code && desc->code != fcode; desc++)
-- continue;
--
-- for (; desc->code == fcode; desc++)
-- if (rs6000_builtin_type_compatible (TREE_TYPE (arg0), desc->op1)
-- && rs6000_builtin_type_compatible (TREE_TYPE (arg1), desc->op2)
-- && rs6000_builtin_type_compatible (TREE_TYPE (arg2),
-- desc->op3))
-- {
-- tree addr = fold_build2_loc (loc, POINTER_PLUS_EXPR, arg2_type,
-- arg2, arg1);
-- tree aligned
-- = fold_build2_loc (loc, BIT_AND_EXPR, arg2_type,
-- addr, build_int_cst (arg2_type, -16));
--
-- tree arg0_type = TREE_TYPE (arg0);
-- if (TYPE_MODE (arg0_type) == V2DImode)
-- /* Type-based aliasing analysis thinks vector long
-- and vector long long are different and will put them
-- in distinct alias classes. Force our address type
-- to be a may-alias type to avoid this. */
-- arg0_type
-- = build_pointer_type_for_mode (arg0_type, Pmode,
-- true/*can_alias_all*/);
-- else
-- arg0_type = build_pointer_type (arg0_type);
-- aligned = build1 (NOP_EXPR, arg0_type, aligned);
-- tree stg = build_indirect_ref (loc, aligned, RO_NULL);
-- tree retval = build2 (MODIFY_EXPR, TREE_TYPE (stg), stg,
-- convert (TREE_TYPE (stg), arg0));
-- return retval;
-- }
-- }
-- }
--
- for (n = 0;
- !VOID_TYPE_P (TREE_VALUE (fnargs)) && n < nargs;
- fnargs = TREE_CHAIN (fnargs), n++)
-diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
-index a49db97..4a363a1 100644
---- a/gcc/config/rs6000/rs6000.c
-+++ b/gcc/config/rs6000/rs6000.c
-@@ -55,6 +55,7 @@
- #include "reload.h"
- #include "sched-int.h"
- #include "gimplify.h"
-+#include "gimple-fold.h"
- #include "gimple-iterator.h"
- #include "gimple-ssa.h"
- #include "gimple-walk.h"
-@@ -17089,6 +17090,25 @@ rs6000_fold_builtin (tree fndecl, int n_
- #endif
- }
-
-+/* Helper function to sort out which built-ins may be valid without having
-+ a LHS. */
-+bool
-+rs6000_builtin_valid_without_lhs (enum rs6000_builtins fn_code)
-+{
-+ switch (fn_code)
-+ {
-+ case ALTIVEC_BUILTIN_STVX_V16QI:
-+ case ALTIVEC_BUILTIN_STVX_V8HI:
-+ case ALTIVEC_BUILTIN_STVX_V4SI:
-+ case ALTIVEC_BUILTIN_STVX_V4SF:
-+ case ALTIVEC_BUILTIN_STVX_V2DI:
-+ case ALTIVEC_BUILTIN_STVX_V2DF:
-+ return true;
-+ default:
-+ return false;
-+ }
-+}
-+
- /* Fold a machine-dependent built-in in GIMPLE. (For folding into
- a constant, use rs6000_fold_builtin.) */
-
-@@ -17102,6 +17122,10 @@ rs6000_gimple_fold_builtin (gimple_stmt_
- = (enum rs6000_builtins) DECL_FUNCTION_CODE (fndecl);
- tree arg0, arg1, lhs;
-
-+ /* Prevent gimple folding for code that does not have a LHS, unless it is
-+ allowed per the rs6000_builtin_valid_without_lhs helper function. */
-+ if (!gimple_call_lhs (stmt) && !rs6000_builtin_valid_without_lhs (fn_code))
-+ return false;
- switch (fn_code)
- {
- /* Flavors of vec_add. We deliberately don't expand
-@@ -17169,6 +17193,54 @@ rs6000_gimple_fold_builtin (gimple_stmt_
- gsi_replace (gsi, g, true);
- return true;
- }
-+ /* Vector stores. */
-+ case ALTIVEC_BUILTIN_STVX_V16QI:
-+ case ALTIVEC_BUILTIN_STVX_V8HI:
-+ case ALTIVEC_BUILTIN_STVX_V4SI:
-+ case ALTIVEC_BUILTIN_STVX_V4SF:
-+ case ALTIVEC_BUILTIN_STVX_V2DI:
-+ case ALTIVEC_BUILTIN_STVX_V2DF:
-+ {
-+ /* Do not fold for -maltivec=be on LE targets. */
-+ if (VECTOR_ELT_ORDER_BIG && !BYTES_BIG_ENDIAN)
-+ return false;
-+ arg0 = gimple_call_arg (stmt, 0); /* Value to be stored. */
-+ arg1 = gimple_call_arg (stmt, 1); /* Offset. */
-+ tree arg2 = gimple_call_arg (stmt, 2); /* Store-to address. */
-+ location_t loc = gimple_location (stmt);
-+ tree arg0_type = TREE_TYPE (arg0);
-+ /* Use ptr_type_node (no TBAA) for the arg2_type.
-+ FIXME: (Richard) "A proper fix would be to transition this type as
-+ seen from the frontend to GIMPLE, for example in a similar way we
-+ do for MEM_REFs by piggy-backing that on an extra argument, a
-+ constant zero pointer of the alias pointer type to use (which would
-+ also serve as a type indicator of the store itself). I'd use a
-+ target specific internal function for this (not sure if we can have
-+ those target specific, but I guess if it's folded away then that's
-+ fine) and get away with the overload set."
-+ */
-+ tree arg2_type = ptr_type_node;
-+ /* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'. Create
-+ the tree using the value from arg0. The resulting type will match
-+ the type of arg2. */
-+ gimple_seq stmts = NULL;
-+ tree temp_offset = gimple_convert (&stmts, loc, sizetype, arg1);
-+ tree temp_addr = gimple_build (&stmts, loc, POINTER_PLUS_EXPR,
-+ arg2_type, arg2, temp_offset);
-+ /* Mask off any lower bits from the address. */
-+ tree aligned_addr = gimple_build (&stmts, loc, BIT_AND_EXPR,
-+ arg2_type, temp_addr,
-+ build_int_cst (arg2_type, -16));
-+ gsi_insert_seq_before (gsi, stmts, GSI_SAME_STMT);
-+ /* The desired gimple result should be similar to:
-+ MEM[(__vector floatD.1407 *)_1] = vf1D.2697; */
-+ gimple *g;
-+ g = gimple_build_assign (build2 (MEM_REF, arg0_type, aligned_addr,
-+ build_int_cst (arg2_type, 0)), arg0);
-+ gimple_set_location (g, loc);
-+ gsi_replace (gsi, g, true);
-+ return true;
-+ }
-
- default:
- break;
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-ppc64le-build-Partial-backport-r256656.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-ppc64le-build-Partial-backport-r256656.patch
deleted file mode 100644
index cfb70e1ec..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-Fix-ppc64le-build-Partial-backport-r256656.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From aa65a43516da1d48011ef621ed5988289711d99b Mon Sep 17 00:00:00 2001
-From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri, 29 Jun 2018 09:31:30 +0000
-Subject: [PATCH] Partial backport r256656
-
-2018-06-29 Martin Liska <mliska@suse.cz>
-
- Backport from mainline
- 2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
-
- * lex.c (search_line_fast): Remove illegal coercion of an
- unaligned pointer value to vector pointer type and replace with
- use of __builtin_vec_vsx_ld () built-in function, which operates
- on unaligned pointer values.
-
-Upstream-Status: Backport
-Signed-off-by: Joel Stanley <joel@jms.id.au>
----
- libcpp/lex.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletion(-)
-
-diff --git a/libcpp/lex.c b/libcpp/lex.c
-index 097c78002cbb..e0fb9e822c44 100644
---- a/libcpp/lex.c
-+++ b/libcpp/lex.c
-@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
- {
- vc m_nl, m_cr, m_bs, m_qm;
-
-- data = *((const vc *)s);
-+ data = __builtin_vec_vsx_ld (0, s);
- s += 16;
-
- m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl);
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-c-80290-memory-hog-with-std-pair.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-c-80290-memory-hog-with-std-pair.patch
deleted file mode 100644
index 603a29afe..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-c-80290-memory-hog-with-std-pair.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 8c014bceeca6a558519e86b16a8142accc41e94f Mon Sep 17 00:00:00 2001
-From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu, 28 Jun 2018 00:25:21 +0000
-Subject: [PATCH] PR c++/80290 - memory-hog with std::pair.
-
- * pt.c (type_unification_real): Skip non-dependent conversion
- check for a nested list argument.
- (braced_init_depth): New.
-
-Upstream-Status: Backport
-Signed-off-by: Joel Stanley <joel@jms.id.au>
----
- gcc/cp/pt.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
-index 79cfd0129226..71077a3b0498 100644
---- a/gcc/cp/pt.c
-+++ b/gcc/cp/pt.c
-@@ -19242,6 +19242,24 @@ try_array_deduction (tree tparms, tree targs, tree parm)
- /*nondeduced*/false, array_deduction_r);
- }
-
-+/* Returns how many levels of { } INIT contains. */
-+
-+static int
-+braced_init_depth (tree init)
-+{
-+ if (!init || !BRACE_ENCLOSED_INITIALIZER_P (init))
-+ return 0;
-+ unsigned i; tree val;
-+ unsigned max = 0;
-+ FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (init), i, val)
-+ {
-+ unsigned elt_d = braced_init_depth (val);
-+ if (elt_d > max)
-+ max = elt_d;
-+ }
-+ return max + 1;
-+}
-+
- /* Most parms like fn_type_unification.
-
- If SUBR is 1, we're being called recursively (to unify the
-@@ -19478,6 +19496,10 @@ type_unification_real (tree tparms,
-
- if (uses_template_parms (parm))
- continue;
-+ /* Workaround for c++/80290: avoid combinatorial explosion on
-+ deeply nested braced init-lists. */
-+ if (braced_init_depth (arg) > 2)
-+ continue;
- if (check_non_deducible_conversion (parm, arg, strict, flags,
- explain_p))
- return 1;
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-rtl-optimization-83030.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-rtl-optimization-83030.patch
deleted file mode 100644
index 71f7988ea..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-PR-rtl-optimization-83030.patch
+++ /dev/null
@@ -1,272 +0,0 @@
-From f5c4a9440f15ccf6775659910a2014a5494ee86e Mon Sep 17 00:00:00 2001
-From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Wed, 22 Nov 2017 21:43:22 +0000
-Subject: [PATCH] PR rtl-optimization/83030 * doc/rtl.texi (Flags
- in an RTL Expression): Alphabetize, add entry for CROSSING_JUMP_P and
- mention usage of 'jump' for JUMP_INSNs. (Insns): Delete entry for
- REG_CROSSING_JUMP in register notes. * bb-reorder.c
- (update_crossing_jump_flags): Do not test whether the CROSSING_JUMP_P flag
- is already set before setting it. * cfgrtl.c (fixup_partition_crossing):
- Likewise. * reorg.c (relax_delay_slots): Do not consider a
- CROSSING_JUMP_P insn as useless.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@255083 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Upstream-Status: Backport
-
-This patch removes changes to Changelog from the original upstream patch.
-This will help us avoid conflicts.
-
-Original backport to GCC 7.x by Amruta Pawar <Amruta.Pawar@kpit.com>
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-
----
- gcc/bb-reorder.c | 5 +--
- gcc/cfgrtl.c | 3 +-
- gcc/doc/rtl.texi | 129 ++++++++++++++++++++++++++++---------------------------
- gcc/reorg.c | 7 +--
- 5 files changed, 84 insertions(+), 72 deletions(-)
-
-diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
-index 55e6dc6..794283c 100644
---- a/gcc/bb-reorder.c
-+++ b/gcc/bb-reorder.c
-@@ -2236,10 +2236,7 @@ update_crossing_jump_flags (void)
- FOR_EACH_EDGE (e, ei, bb->succs)
- if (e->flags & EDGE_CROSSING)
- {
-- if (JUMP_P (BB_END (bb))
-- /* Some flags were added during fix_up_fall_thru_edges, via
-- force_nonfallthru_and_redirect. */
-- && !CROSSING_JUMP_P (BB_END (bb)))
-+ if (JUMP_P (BB_END (bb)))
- CROSSING_JUMP_P (BB_END (bb)) = 1;
- break;
- }
-diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
-index d6e5ac0..a2ad075 100644
---- a/gcc/cfgrtl.c
-+++ b/gcc/cfgrtl.c
-@@ -1334,8 +1334,7 @@ fixup_partition_crossing (edge e)
- if (BB_PARTITION (e->src) != BB_PARTITION (e->dest))
- {
- e->flags |= EDGE_CROSSING;
-- if (JUMP_P (BB_END (e->src))
-- && !CROSSING_JUMP_P (BB_END (e->src)))
-+ if (JUMP_P (BB_END (e->src)))
- CROSSING_JUMP_P (BB_END (e->src)) = 1;
- }
- else if (BB_PARTITION (e->src) == BB_PARTITION (e->dest))
-diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi
-index 21524f5..a58eedc 100644
---- a/gcc/doc/rtl.texi
-+++ b/gcc/doc/rtl.texi
-@@ -565,6 +565,16 @@ that are used in certain types of expression. Most often they
- are accessed with the following macros, which expand into lvalues.
-
- @table @code
-+@findex CROSSING_JUMP_P
-+@cindex @code{jump_insn} and @samp{/j}
-+@item CROSSING_JUMP_P (@var{x})
-+Nonzero in a @code{jump_insn} if it crosses between hot and cold sections,
-+which could potentially be very far apart in the executable. The presence
-+of this flag indicates to other optimizations that this branching instruction
-+should not be ``collapsed'' into a simpler branching construct. It is used
-+when the optimization to partition basic blocks into hot and cold sections
-+is turned on.
-+
- @findex CONSTANT_POOL_ADDRESS_P
- @cindex @code{symbol_ref} and @samp{/u}
- @cindex @code{unchanging}, in @code{symbol_ref}
-@@ -577,37 +587,6 @@ In either case GCC assumes these addresses can be addressed directly,
- perhaps with the help of base registers.
- Stored in the @code{unchanging} field and printed as @samp{/u}.
-
--@findex RTL_CONST_CALL_P
--@cindex @code{call_insn} and @samp{/u}
--@cindex @code{unchanging}, in @code{call_insn}
--@item RTL_CONST_CALL_P (@var{x})
--In a @code{call_insn} indicates that the insn represents a call to a
--const function. Stored in the @code{unchanging} field and printed as
--@samp{/u}.
--
--@findex RTL_PURE_CALL_P
--@cindex @code{call_insn} and @samp{/i}
--@cindex @code{return_val}, in @code{call_insn}
--@item RTL_PURE_CALL_P (@var{x})
--In a @code{call_insn} indicates that the insn represents a call to a
--pure function. Stored in the @code{return_val} field and printed as
--@samp{/i}.
--
--@findex RTL_CONST_OR_PURE_CALL_P
--@cindex @code{call_insn} and @samp{/u} or @samp{/i}
--@item RTL_CONST_OR_PURE_CALL_P (@var{x})
--In a @code{call_insn}, true if @code{RTL_CONST_CALL_P} or
--@code{RTL_PURE_CALL_P} is true.
--
--@findex RTL_LOOPING_CONST_OR_PURE_CALL_P
--@cindex @code{call_insn} and @samp{/c}
--@cindex @code{call}, in @code{call_insn}
--@item RTL_LOOPING_CONST_OR_PURE_CALL_P (@var{x})
--In a @code{call_insn} indicates that the insn represents a possibly
--infinite looping call to a const or pure function. Stored in the
--@code{call} field and printed as @samp{/c}. Only true if one of
--@code{RTL_CONST_CALL_P} or @code{RTL_PURE_CALL_P} is true.
--
- @findex INSN_ANNULLED_BRANCH_P
- @cindex @code{jump_insn} and @samp{/u}
- @cindex @code{call_insn} and @samp{/u}
-@@ -702,6 +681,29 @@ Stored in the @code{call} field and printed as @samp{/c}.
- Nonzero in a @code{mem} if the memory reference holds a pointer.
- Stored in the @code{frame_related} field and printed as @samp{/f}.
-
-+@findex MEM_READONLY_P
-+@cindex @code{mem} and @samp{/u}
-+@cindex @code{unchanging}, in @code{mem}
-+@item MEM_READONLY_P (@var{x})
-+Nonzero in a @code{mem}, if the memory is statically allocated and read-only.
-+
-+Read-only in this context means never modified during the lifetime of the
-+program, not necessarily in ROM or in write-disabled pages. A common
-+example of the later is a shared library's global offset table. This
-+table is initialized by the runtime loader, so the memory is technically
-+writable, but after control is transferred from the runtime loader to the
-+application, this memory will never be subsequently modified.
-+
-+Stored in the @code{unchanging} field and printed as @samp{/u}.
-+
-+@findex PREFETCH_SCHEDULE_BARRIER_P
-+@cindex @code{prefetch} and @samp{/v}
-+@cindex @code{volatile}, in @code{prefetch}
-+@item PREFETCH_SCHEDULE_BARRIER_P (@var{x})
-+In a @code{prefetch}, indicates that the prefetch is a scheduling barrier.
-+No other INSNs will be moved over it.
-+Stored in the @code{volatil} field and printed as @samp{/v}.
-+
- @findex REG_FUNCTION_VALUE_P
- @cindex @code{reg} and @samp{/i}
- @cindex @code{return_val}, in @code{reg}
-@@ -731,6 +733,37 @@ The same hard register may be used also for collecting the values of
- functions called by this one, but @code{REG_FUNCTION_VALUE_P} is zero
- in this kind of use.
-
-+@findex RTL_CONST_CALL_P
-+@cindex @code{call_insn} and @samp{/u}
-+@cindex @code{unchanging}, in @code{call_insn}
-+@item RTL_CONST_CALL_P (@var{x})
-+In a @code{call_insn} indicates that the insn represents a call to a
-+const function. Stored in the @code{unchanging} field and printed as
-+@samp{/u}.
-+
-+@findex RTL_PURE_CALL_P
-+@cindex @code{call_insn} and @samp{/i}
-+@cindex @code{return_val}, in @code{call_insn}
-+@item RTL_PURE_CALL_P (@var{x})
-+In a @code{call_insn} indicates that the insn represents a call to a
-+pure function. Stored in the @code{return_val} field and printed as
-+@samp{/i}.
-+
-+@findex RTL_CONST_OR_PURE_CALL_P
-+@cindex @code{call_insn} and @samp{/u} or @samp{/i}
-+@item RTL_CONST_OR_PURE_CALL_P (@var{x})
-+In a @code{call_insn}, true if @code{RTL_CONST_CALL_P} or
-+@code{RTL_PURE_CALL_P} is true.
-+
-+@findex RTL_LOOPING_CONST_OR_PURE_CALL_P
-+@cindex @code{call_insn} and @samp{/c}
-+@cindex @code{call}, in @code{call_insn}
-+@item RTL_LOOPING_CONST_OR_PURE_CALL_P (@var{x})
-+In a @code{call_insn} indicates that the insn represents a possibly
-+infinite looping call to a const or pure function. Stored in the
-+@code{call} field and printed as @samp{/c}. Only true if one of
-+@code{RTL_CONST_CALL_P} or @code{RTL_PURE_CALL_P} is true.
-+
- @findex RTX_FRAME_RELATED_P
- @cindex @code{insn} and @samp{/f}
- @cindex @code{call_insn} and @samp{/f}
-@@ -765,21 +798,6 @@ computation performed by this instruction, i.e., one that
- This flag is required for exception handling support on targets with RTL
- prologues.
-
--@findex MEM_READONLY_P
--@cindex @code{mem} and @samp{/u}
--@cindex @code{unchanging}, in @code{mem}
--@item MEM_READONLY_P (@var{x})
--Nonzero in a @code{mem}, if the memory is statically allocated and read-only.
--
--Read-only in this context means never modified during the lifetime of the
--program, not necessarily in ROM or in write-disabled pages. A common
--example of the later is a shared library's global offset table. This
--table is initialized by the runtime loader, so the memory is technically
--writable, but after control is transferred from the runtime loader to the
--application, this memory will never be subsequently modified.
--
--Stored in the @code{unchanging} field and printed as @samp{/u}.
--
- @findex SCHED_GROUP_P
- @cindex @code{insn} and @samp{/s}
- @cindex @code{call_insn} and @samp{/s}
-@@ -879,14 +897,6 @@ Stored in the @code{volatil} field and printed as @samp{/v}.
- Most uses of @code{SYMBOL_REF_FLAG} are historic and may be subsumed
- by @code{SYMBOL_REF_FLAGS}. Certainly use of @code{SYMBOL_REF_FLAGS}
- is mandatory if the target requires more than one bit of storage.
--
--@findex PREFETCH_SCHEDULE_BARRIER_P
--@cindex @code{prefetch} and @samp{/v}
--@cindex @code{volatile}, in @code{prefetch}
--@item PREFETCH_SCHEDULE_BARRIER_P (@var{x})
--In a @code{prefetch}, indicates that the prefetch is a scheduling barrier.
--No other INSNs will be moved over it.
--Stored in the @code{volatil} field and printed as @samp{/v}.
- @end table
-
- These are the fields to which the above macros refer:
-@@ -974,6 +985,8 @@ In a @code{set}, 1 means it is for a return.
-
- In a @code{call_insn}, 1 means it is a sibling call.
-
-+In a @code{jump_insn}, 1 means it is a crossing jump.
-+
- In an RTL dump, this flag is represented as @samp{/j}.
-
- @findex unchanging
-@@ -3887,16 +3900,6 @@ multiple targets; the last label in the insn (in the highest numbered
- insn-field) goes into the @code{JUMP_LABEL} field and does not have a
- @code{REG_LABEL_TARGET} note. @xref{Insns, JUMP_LABEL}.
-
--@findex REG_CROSSING_JUMP
--@item REG_CROSSING_JUMP
--This insn is a branching instruction (either an unconditional jump or
--an indirect jump) which crosses between hot and cold sections, which
--could potentially be very far apart in the executable. The presence
--of this note indicates to other optimizations that this branching
--instruction should not be ``collapsed'' into a simpler branching
--construct. It is used when the optimization to partition basic blocks
--into hot and cold sections is turned on.
--
- @findex REG_SETJMP
- @item REG_SETJMP
- Appears attached to each @code{CALL_INSN} to @code{setjmp} or a
-diff --git a/gcc/reorg.c b/gcc/reorg.c
-index 5914af6..77f3fe7 100644
---- a/gcc/reorg.c
-+++ b/gcc/reorg.c
-@@ -3360,10 +3360,11 @@ relax_delay_slots (rtx_insn *first)
- }
-
- /* See if we have a simple (conditional) jump that is useless. */
-- if (! INSN_ANNULLED_BRANCH_P (delay_jump_insn)
-- && ! condjump_in_parallel_p (delay_jump_insn)
-+ if (!CROSSING_JUMP_P (delay_jump_insn)
-+ && !INSN_ANNULLED_BRANCH_P (delay_jump_insn)
-+ && !condjump_in_parallel_p (delay_jump_insn)
- && prev_active_insn (as_a<rtx_insn *> (target_label)) == insn
-- && ! BARRIER_P (prev_nonnote_insn (as_a<rtx_insn *> (target_label)))
-+ && !BARRIER_P (prev_nonnote_insn (as_a<rtx_insn *> (target_label)))
- /* If the last insn in the delay slot sets CC0 for some insn,
- various code assumes that it is in a delay slot. We could
- put it back where it belonged and delete the register notes,
---
-1.8.5.6
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
deleted file mode 100644
index 1af1c74e6..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2fcf1e23ef4b2a5c93526f12212aa892595261f6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:37:11 +0400
-Subject: [PATCH 01/47] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- configure | 2 +-
- configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index 32a38633ad8..b4760952085 100755
---- a/configure
-+++ b/configure
-@@ -7472,7 +7472,7 @@ fi
- # for target_alias and gcc doesn't manage it consistently.
- target_configargs="--cache-file=./config.cache ${target_configargs}"
-
--FLAGS_FOR_TARGET=
-+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
- case " $target_configdirs " in
- *" newlib "*)
- case " $target_configargs " in
-diff --git a/configure.ac b/configure.ac
-index 12377499295..176ebb921ed 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3065,7 +3065,7 @@ fi
- # for target_alias and gcc doesn't manage it consistently.
- target_configargs="--cache-file=./config.cache ${target_configargs}"
-
--FLAGS_FOR_TARGET=
-+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
- case " $target_configdirs " in
- *" newlib "*)
- case " $target_configargs " in
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0009-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0009-gcc-poison-system-directories.patch
deleted file mode 100644
index fe13ed6e2..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0009-gcc-poison-system-directories.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From 4791a0a0f4595d0a18974f4e85a759a0789943db Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:59:00 +0400
-Subject: [PATCH 09/47] gcc: poison-system-directories
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [distribution: codesourcery]
----
- gcc/common.opt | 4 ++++
- gcc/config.in | 6 ++++++
- gcc/configure | 16 ++++++++++++++++
- gcc/configure.ac | 10 ++++++++++
- gcc/doc/invoke.texi | 9 +++++++++
- gcc/gcc.c | 2 ++
- gcc/incpath.c | 19 +++++++++++++++++++
- 7 files changed, 66 insertions(+)
-
-diff --git a/gcc/common.opt b/gcc/common.opt
-index a5c3aeaa336..f02fe66367e 100644
---- a/gcc/common.opt
-+++ b/gcc/common.opt
-@@ -662,6 +662,10 @@ Wreturn-local-addr
- Common Var(warn_return_local_addr) Init(1) Warning
- Warn about returning a pointer/reference to a local or temporary variable.
-
-+Wpoison-system-directories
-+Common Var(flag_poison_system_directories) Init(1) Warning
-+Warn for -I and -L options using system directories if cross compiling
-+
- Wshadow
- Common Var(warn_shadow) Warning
- Warn when one variable shadows another. Same as -Wshadow=global.
-diff --git a/gcc/config.in b/gcc/config.in
-index bf2aa7b2e7d..b1203987e15 100644
---- a/gcc/config.in
-+++ b/gcc/config.in
-@@ -194,6 +194,12 @@
- #endif
-
-
-+/* Define to warn for use of native system header directories */
-+#ifndef USED_FOR_TARGET
-+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
-+#endif
-+
-+
- /* Define if you want all operations on RTL (the basic data structure of the
- optimizer and back end) to be checked for dynamic type safety at runtime.
- This is quite expensive. */
-diff --git a/gcc/configure b/gcc/configure
-index c823ffe6290..4898f04fa6b 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -949,6 +949,7 @@ with_system_zlib
- enable_maintainer_mode
- enable_link_mutex
- enable_version_specific_runtime_libs
-+enable_poison_system_directories
- enable_plugin
- enable_host_shared
- enable_libquadmath_support
-@@ -1691,6 +1692,8 @@ Optional Features:
- --enable-version-specific-runtime-libs
- specify that runtime libraries should be installed
- in a compiler-specific directory
-+ --enable-poison-system-directories
-+ warn for use of native system header directories
- --enable-plugin enable plugin support
- --enable-host-shared build host code as shared libraries
- --disable-libquadmath-support
-@@ -29347,6 +29350,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
- fi
-
-
-+# Check whether --enable-poison-system-directories was given.
-+if test "${enable_poison_system_directories+set}" = set; then :
-+ enableval=$enable_poison_system_directories;
-+else
-+ enable_poison_system_directories=no
-+fi
-+
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+
-+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
-+
-+fi
-+
- # Substitute configuration variables
-
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index acfe9797389..9dc1dc7fc96 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -6101,6 +6101,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
- [specify that runtime libraries should be
- installed in a compiler-specific directory])])
-
-+AC_ARG_ENABLE([poison-system-directories],
-+ AS_HELP_STRING([--enable-poison-system-directories],
-+ [warn for use of native system header directories]),,
-+ [enable_poison_system_directories=no])
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
-+ [1],
-+ [Define to warn for use of native system header directories])
-+fi
-+
- # Substitute configuration variables
- AC_SUBST(subdirs)
- AC_SUBST(srcdir)
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index 68a558e9992..060cd7169c6 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -298,6 +298,7 @@ Objective-C and Objective-C++ Dialects}.
- -Wpacked -Wpacked-bitfield-compat -Wpadded @gol
- -Wparentheses -Wno-pedantic-ms-format @gol
- -Wplacement-new -Wplacement-new=@var{n} @gol
-+-Wno-poison-system-directories @gol
- -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol
- -Wno-pragmas -Wredundant-decls -Wrestrict -Wno-return-local-addr @gol
- -Wreturn-type -Wsequence-point -Wshadow -Wno-shadow-ivar @gol
-@@ -5395,6 +5396,14 @@ made up of data only and thus requires no special treatment. But, for
- most targets, it is made up of code and thus requires the stack to be
- made executable in order for the program to work properly.
-
-+@item -Wno-poison-system-directories
-+@opindex Wno-poison-system-directories
-+Do not warn for @option{-I} or @option{-L} options using system
-+directories such as @file{/usr/include} when cross compiling. This
-+option is intended for use in chroot environments when such
-+directories contain the correct headers and libraries for the target
-+system rather than the host.
-+
- @item -Wfloat-equal
- @opindex Wfloat-equal
- @opindex Wno-float-equal
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index c48178f..f63d53d 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1029,6 +1029,8 @@ proper position among the other output files. */
- "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
- "%X %{o*} %{e*} %{N} %{n} %{r}\
- %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \
-+ %{Wno-poison-system-directories:--no-poison-system-directories} \
-+ %{Werror=poison-system-directories:--error-poison-system-directories} \
- %{static|no-pie:} %{L*} %(mfwrap) %(link_libgcc) " \
- VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \
- %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
-diff --git a/gcc/incpath.c b/gcc/incpath.c
-index 98fe5ec9ab3..f90e74dbd73 100644
---- a/gcc/incpath.c
-+++ b/gcc/incpath.c
-@@ -26,6 +26,7 @@
- #include "intl.h"
- #include "incpath.h"
- #include "cppdefault.h"
-+#include "diagnostic-core.h"
-
- /* Microsoft Windows does not natively support inodes.
- VMS has non-numeric inodes. */
-@@ -382,6 +383,24 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
- }
- fprintf (stderr, _("End of search list.\n"));
- }
-+
-+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
-+ if (flag_poison_system_directories)
-+ {
-+ struct cpp_dir *p;
-+
-+ for (p = heads[QUOTE]; p; p = p->next)
-+ {
-+ if ((!strncmp (p->name, "/usr/include", 12))
-+ || (!strncmp (p->name, "/usr/local/include", 18))
-+ || (!strncmp (p->name, "/usr/X11R6/include", 18)))
-+ warning (OPT_Wpoison_system_directories,
-+ "include location \"%s\" is unsafe for "
-+ "cross-compilation",
-+ p->name);
-+ }
-+ }
-+#endif
- }
-
- /* Use given -I paths for #include "..." but not #include <...>, and
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0010-gcc-poison-dir-extend.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0010-gcc-poison-dir-extend.patch
deleted file mode 100644
index 4e06aa2f6..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0010-gcc-poison-dir-extend.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From e74ef84ad609b3b6a5c37d207ffc3c6e70d1f025 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:00:34 +0400
-Subject: [PATCH 10/47] gcc-poison-dir-extend
-
-Add /sw/include and /opt/include based on the original
-zecke-no-host-includes.patch patch. The original patch checked for
-/usr/include, /sw/include and /opt/include and then triggered a failure and
-aborted.
-
-Instead, we add the two missing items to the current scan. If the user
-wants this to be a failure, they can add "-Werror=poison-system-directories".
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/incpath.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/incpath.c b/gcc/incpath.c
-index f90e74dbd73..c583ee5061d 100644
---- a/gcc/incpath.c
-+++ b/gcc/incpath.c
-@@ -393,7 +393,9 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
- {
- if ((!strncmp (p->name, "/usr/include", 12))
- || (!strncmp (p->name, "/usr/local/include", 18))
-- || (!strncmp (p->name, "/usr/X11R6/include", 18)))
-+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
-+ || (!strncmp (p->name, "/sw/include", 11))
-+ || (!strncmp (p->name, "/opt/include", 12)))
- warning (OPT_Wpoison_system_directories,
- "include location \"%s\" is unsafe for "
- "cross-compilation",
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0011-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0011-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
deleted file mode 100644
index b39ff1ec2..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0011-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From a41d3a53a4e313c20802330d6b5c75358a4ed882 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:08:31 +0400
-Subject: [PATCH 11/47] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
-
-Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
-
-This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
-
-Other changes I had to do include:
-
-- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
-
-- passing the right CFLAGS to configure scripts as exported environment variables
-
-I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
-
-Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
-
-Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- configure | 32 ++++++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-diff --git a/configure b/configure
-index b4760952085..72a8ba94c4e 100755
---- a/configure
-+++ b/configure
-@@ -6736,6 +6736,38 @@ fi
-
-
-
-+# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
-+# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
-+# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
-+# We want to ensure that TARGET libraries (which we know are built with
-+# gcc) are built with "-O2 -g", so include those options when setting
-+# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
-+if test "x$CFLAGS_FOR_TARGET" = x; then
-+ CFLAGS_FOR_TARGET=$CFLAGS
-+ case " $CFLAGS " in
-+ *" -O2 "*) ;;
-+ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
-+ esac
-+ case " $CFLAGS " in
-+ *" -g "* | *" -g3 "*) ;;
-+ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
-+ esac
-+fi
-+
-+
-+if test "x$CXXFLAGS_FOR_TARGET" = x; then
-+ CXXFLAGS_FOR_TARGET=$CXXFLAGS
-+ case " $CXXFLAGS " in
-+ *" -O2 "*) ;;
-+ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
-+ esac
-+ case " $CXXFLAGS " in
-+ *" -g "* | *" -g3 "*) ;;
-+ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
-+ esac
-+fi
-+
-+
- # Handle --with-headers=XXX. If the value is not "yes", the contents of
- # the named directory are copied to $(tooldir)/sys-include.
- if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0012-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0012-64-bit-multilib-hack.patch
deleted file mode 100644
index f3b39120b..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0012-64-bit-multilib-hack.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 3af9fbbd14e83242ac2acb54bbb4bb726845fd34 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:10:06 +0400
-Subject: [PATCH 12/47] 64-bit multilib hack.
-
-GCC has internal multilib handling code but it assumes a very specific rigid directory
-layout. The build system implementation of multilib layout is very generic and allows
-complete customisation of the library directories.
-
-This patch is a partial solution to allow any custom directories to be passed into gcc
-and handled correctly. It forces gcc to use the base_libdir (which is the current
-directory, "."). We need to do this for each multilib that is configured as we don't
-know which compiler options may be being passed into the compiler. Since we have a compiler
-per mulitlib at this point that isn't an issue.
-
-The one problem is the target compiler is only going to work for the default multlilib at
-this point. Ideally we'd figure out which multilibs were being enabled with which paths
-and be able to patch these entries with a complete set of correct paths but this we
-don't have such code at this point. This is something the target gcc recipe should do
-and override these platform defaults in its build config.
-
-RP 15/8/11
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/config/i386/t-linux64 | 6 ++----
- gcc/config/mips/t-linux64 | 10 +++-------
- gcc/config/rs6000/t-linux64 | 5 ++---
- 3 files changed, 7 insertions(+), 14 deletions(-)
-
-diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
-index e422c442dae..cc885e24457 100644
---- a/gcc/config/i386/t-linux64
-+++ b/gcc/config/i386/t-linux64
-@@ -32,7 +32,5 @@
- #
- comma=,
- MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
--MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
--MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
--MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
--MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
-+MULTILIB_DIRNAMES = . .
-+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
-index 100f9da5e14..601cdf08d05 100644
---- a/gcc/config/mips/t-linux64
-+++ b/gcc/config/mips/t-linux64
-@@ -17,10 +17,6 @@
- # <http://www.gnu.org/licenses/>.
-
- MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
--MULTILIB_DIRNAMES = n32 32 64
--MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
--MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
--MULTILIB_OSDIRNAMES = \
-- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
-- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
-- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
-+MULTILIB_DIRNAMES = . . .
-+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-+
-diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
-index 2830ed0d861..d057facd2fd 100644
---- a/gcc/config/rs6000/t-linux64
-+++ b/gcc/config/rs6000/t-linux64
-@@ -26,10 +26,9 @@
- # MULTILIB_OSDIRNAMES according to what is found on the target.
-
- MULTILIB_OPTIONS := m64/m32
--MULTILIB_DIRNAMES := 64 32
-+MULTILIB_DIRNAMES := . .
- MULTILIB_EXTRA_OPTS :=
--MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
--MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
-+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-
- rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
- $(COMPILE) $<
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0013-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0013-optional-libstdc.patch
deleted file mode 100644
index 3439bf67d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0013-optional-libstdc.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 26a58d05844274915d011edbf9330c6151687b22 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:12:56 +0400
-Subject: [PATCH 13/47] optional libstdc
-
-gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
-will not run correctly since by default the linker will try to link against libstdc++
-which shouldn't exist yet. We need an option to disable -lstdc++
-option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
-driver. This patch adds such an option which only disables the -lstdc++.
-
-A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
-do this officially, the likely answer is don't build libstdc++ separately.
-
-RP 29/6/10
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- gcc/c-family/c.opt | 4 ++++
- gcc/cp/g++spec.c | 1 +
- gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++-
- gcc/gcc.c | 1 +
- 4 files changed, 37 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
-index 9ad2f6e1fcc..c4ef7796282 100644
---- a/gcc/c-family/c.opt
-+++ b/gcc/c-family/c.opt
-@@ -1848,6 +1848,10 @@ nostdinc++
- C++ ObjC++
- Do not search standard system include directories for C++.
-
-+nostdlib++
-+Driver
-+Do not link standard C++ runtime library
-+
- o
- C ObjC C++ ObjC++ Joined Separate
- ; Documented in common.opt
-diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
-index ffcc87c79c9..28d8a9cf530 100644
---- a/gcc/cp/g++spec.c
-+++ b/gcc/cp/g++spec.c
-@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
- switch (decoded_options[i].opt_index)
- {
- case OPT_nostdlib:
-+ case OPT_nostdlib__:
- case OPT_nodefaultlibs:
- library = -1;
- break;
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index 060cd7169c6..8e2adc25644 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -211,6 +211,9 @@ in the following sections.
- -fno-weak -nostdinc++ @gol
- -fvisibility-inlines-hidden @gol
- -fvisibility-ms-compat @gol
-+-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
-+-fvtv-counts -fvtv-debug @gol
-+-nostdlib++ @gol
- -fext-numeric-literals @gol
- -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol
- -Wdelete-non-virtual-dtor -Wliteral-suffix -Wmultiple-inheritance @gol
-@@ -496,7 +499,7 @@ Objective-C and Objective-C++ Dialects}.
- -s -static -static-libgcc -static-libstdc++ @gol
- -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol
- -static-libmpx -static-libmpxwrappers @gol
---shared -shared-libgcc -symbolic @gol
-+-shared -shared-libgcc -symbolic -nostdlib++ @gol
- -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol
- -u @var{symbol} -z @var{keyword}}
-
-@@ -11606,6 +11609,33 @@ library subroutines.
- constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
- GNU Compiler Collection (GCC) Internals}.)
-
-+@item -nostdlib++
-+@opindex nostdlib++
-+Do not use the standard system C++ runtime libraries when linking.
-+Only the libraries you specify will be passed to the linker.
-+
-+@cindex @option{-lgcc}, use with @option{-nostdlib}
-+@cindex @option{-nostdlib} and unresolved references
-+@cindex unresolved references and @option{-nostdlib}
-+@cindex @option{-lgcc}, use with @option{-nodefaultlibs}
-+@cindex @option{-nodefaultlibs} and unresolved references
-+@cindex unresolved references and @option{-nodefaultlibs}
-+One of the standard libraries bypassed by @option{-nostdlib} and
-+@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
-+which GCC uses to overcome shortcomings of particular machines, or special
-+needs for some languages.
-+(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
-+Collection (GCC) Internals},
-+for more discussion of @file{libgcc.a}.)
-+In most cases, you need @file{libgcc.a} even when you want to avoid
-+other standard libraries. In other words, when you specify @option{-nostdlib}
-+or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
-+This ensures that you have no unresolved references to internal GCC
-+library subroutines.
-+(An example of such an internal subroutine is @code{__main}, used to ensure C++
-+constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
-+GNU Compiler Collection (GCC) Internals}.)
-+
- @item -pie
- @opindex pie
- Produce a position independent executable on targets that support it.
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 6315aa0dd16..a5fafbe5107 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1046,6 +1046,7 @@ proper position among the other output files. */
- %(mflib) " STACK_SPLIT_SPEC "\
- %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
- %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
-+ %{!nostdlib++:}\
- %{!nostdlib:%{!nostartfiles:%E}} %{T*} \n%(post_link) }}}}}}"
- #endif
-
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0014-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0014-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
deleted file mode 100644
index f92b5fbaa..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0014-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 716de5db6859fd1ea21078c94a41fac7a885b7e9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:14:20 +0400
-Subject: [PATCH 14/47] gcc: disable MASK_RELAX_PIC_CALLS bit
-
-The new feature added after 4.3.3
-"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
-will cause cc1plus eat up all the system memory when build webkit-gtk.
-The function mips_get_pic_call_symbol keeps on recursively calling itself.
-Disable this feature to walk aside the bug.
-
-Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- gcc/configure | 7 -------
- gcc/configure.ac | 7 -------
- 2 files changed, 14 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 4898f04fa6b..640e4643805 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -27303,13 +27303,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6;
- rm -f conftest.*
- fi
- fi
-- if test $gcc_cv_as_ld_jalr_reloc = yes; then
-- if test x$target_cpu_default = x; then
-- target_cpu_default=MASK_RELAX_PIC_CALLS
-- else
-- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
-- fi
-- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
- $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 9dc1dc7fc96..9a2dae55ba2 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4641,13 +4641,6 @@ x:
- rm -f conftest.*
- fi
- fi
-- if test $gcc_cv_as_ld_jalr_reloc = yes; then
-- if test x$target_cpu_default = x; then
-- target_cpu_default=MASK_RELAX_PIC_CALLS
-- else
-- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
-- fi
-- fi
- AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
-
- AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0015-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0015-COLLECT_GCC_OPTIONS.patch
deleted file mode 100644
index 6e62945e5..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0015-COLLECT_GCC_OPTIONS.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 04a7a672301bb07caea6a7cad8378f63f1fe3200 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:16:28 +0400
-Subject: [PATCH 15/47] COLLECT_GCC_OPTIONS
-
-This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
-invoke collect2.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/gcc.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index a5fafbe5107..05896e19926 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -4654,6 +4654,15 @@ set_collect_gcc_options (void)
- sizeof ("COLLECT_GCC_OPTIONS=") - 1);
-
- first_time = TRUE;
-+#ifdef HAVE_LD_SYSROOT
-+ if (target_system_root_changed && target_system_root)
-+ {
-+ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
-+ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
-+ obstack_grow (&collect_obstack, "'", 1);
-+ first_time = FALSE;
-+ }
-+#endif
- for (i = 0; (int) i < n_switches; i++)
- {
- const char *const *args;
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0016-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0016-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
deleted file mode 100644
index 1991251c2..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0016-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 47071cbd4f13ff5a4974f71f359a04afcfb125da Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:17:25 +0400
-Subject: [PATCH 16/47] Use the defaults.h in ${B} instead of ${S}, and t-oe in
- ${B}
-
-Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
-the source can be shared between gcc-cross-initial,
-gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
-While compiling gcc-crosssdk-initial-x86_64 on some host, there is
-occasionally failure that test the existance of default.h doesn't
-work, the reason is tm_include_list='** defaults.h' rather than
-tm_include_list='** ./defaults.h'
-
-So we add the test condition for this situation.
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc/Makefile.in | 2 +-
- gcc/configure | 4 ++--
- gcc/configure.ac | 4 ++--
- gcc/mkconfig.sh | 4 ++--
- 4 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 2411671cea3..7b590c9bbd3 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -532,7 +532,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
- TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
-
- xmake_file=@xmake_file@
--tmake_file=@tmake_file@
-+tmake_file=@tmake_file@ ./t-oe
- TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
- TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
- TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
-diff --git a/gcc/configure b/gcc/configure
-index 640e4643805..b5ac1552541 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -12150,8 +12150,8 @@ for f in $tm_file; do
- tm_include_list="${tm_include_list} $f"
- ;;
- defaults.h )
-- tm_file_list="${tm_file_list} \$(srcdir)/$f"
-- tm_include_list="${tm_include_list} $f"
-+ tm_file_list="${tm_file_list} ./$f"
-+ tm_include_list="${tm_include_list} ./$f"
- ;;
- * )
- tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 9a2dae55ba2..cb1479d1ef4 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1922,8 +1922,8 @@ for f in $tm_file; do
- tm_include_list="${tm_include_list} $f"
- ;;
- defaults.h )
-- tm_file_list="${tm_file_list} \$(srcdir)/$f"
-- tm_include_list="${tm_include_list} $f"
-+ tm_file_list="${tm_file_list} ./$f"
-+ tm_include_list="${tm_include_list} ./$f"
- ;;
- * )
- tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
-diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
-index 9fc7b5ca734..04abecfe648 100644
---- a/gcc/mkconfig.sh
-+++ b/gcc/mkconfig.sh
-@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
- if [ $# -ge 1 ]; then
- echo '#ifdef IN_GCC' >> ${output}T
- for file in "$@"; do
-- if test x"$file" = x"defaults.h"; then
-+ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then
- postpone_defaults_h="yes"
- else
- echo "# include \"$file\"" >> ${output}T
-@@ -109,7 +109,7 @@ esac
-
- # If we postponed including defaults.h, add the #include now.
- if test x"$postpone_defaults_h" = x"yes"; then
-- echo "# include \"defaults.h\"" >> ${output}T
-+ echo "# include \"./defaults.h\"" >> ${output}T
- fi
-
- # Add multiple inclusion protection guard, part two.
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0017-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0017-fortran-cross-compile-hack.patch
deleted file mode 100644
index e2830c59d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0017-fortran-cross-compile-hack.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 4fc35a2bb7666a7de35568eb5d47f0ce6acebe62 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:20:01 +0400
-Subject: [PATCH 17/47] fortran cross-compile hack.
-
-* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
-used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
-directory.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- libgfortran/configure | 2 +-
- libgfortran/configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libgfortran/configure b/libgfortran/configure
-index 81238fcb79c..7ded7abd456 100755
---- a/libgfortran/configure
-+++ b/libgfortran/configure
-@@ -12792,7 +12792,7 @@ esac
-
- # We need gfortran to compile parts of the library
- #AC_PROG_FC(gfortran)
--FC="$GFORTRAN"
-+#FC="$GFORTRAN"
- ac_ext=${ac_fc_srcext-f}
- ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
- ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
-diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
-index 37b12d2998f..63a4166ef62 100644
---- a/libgfortran/configure.ac
-+++ b/libgfortran/configure.ac
-@@ -243,7 +243,7 @@ AC_SUBST(enable_static)
-
- # We need gfortran to compile parts of the library
- #AC_PROG_FC(gfortran)
--FC="$GFORTRAN"
-+#FC="$GFORTRAN"
- AC_PROG_FC(gfortran)
-
- # extra LD Flags which are required for targets
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0018-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0018-cpp-honor-sysroot.patch
deleted file mode 100644
index 555907417..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0018-cpp-honor-sysroot.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 1c8a332469ca4bfefb10df70720e0dc83ff9a756 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:22:00 +0400
-Subject: [PATCH 18/47] cpp: honor sysroot.
-
-Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
-preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
-rather than the --sysroot option specified on the commandline. If access to that directory is
-permission denied (unreadable), gcc will error.
-
-This happens when ccache is in use due to the fact it uses preprocessed source files.
-
-The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
--isystem, -isysroot happen and the correct sysroot is used.
-
-[YOCTO #2074]
-
-RP 2012/04/13
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/cp/lang-specs.h | 2 +-
- gcc/gcc.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
-index 6b383e1d86d..c7c7d6a56ec 100644
---- a/gcc/cp/lang-specs.h
-+++ b/gcc/cp/lang-specs.h
-@@ -64,5 +64,5 @@ along with GCC; see the file COPYING3. If not see
- {".ii", "@c++-cpp-output", 0, 0, 0},
- {"@c++-cpp-output",
- "%{!M:%{!MM:%{!E:\
-- cc1plus -fpreprocessed %i %(cc1_options) %2\
-+ cc1plus -fpreprocessed %i %I %(cc1_options) %2\
- %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 05896e19926..c73d4023987 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1351,7 +1351,7 @@ static const struct compiler default_compilers[] =
- %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
- {".i", "@cpp-output", 0, 0, 0},
- {"@cpp-output",
-- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
- {".s", "@assembler", 0, 0, 0},
- {"@assembler",
- "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0019-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0019-MIPS64-Default-to-N64-ABI.patch
deleted file mode 100644
index 742a4012a..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0019-MIPS64-Default-to-N64-ABI.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0a3b3cc45ea7ba83b46df7464b41c377e3966d88 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:23:08 +0400
-Subject: [PATCH 19/47] MIPS64: Default to N64 ABI
-
-MIPS64 defaults to n32 ABI, this patch makes it
-so that it defaults to N64 ABI
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE config specific]
----
- gcc/config.gcc | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/gcc/config.gcc b/gcc/config.gcc
-index b8bb4d65825..5e45f4b5199 100644
---- a/gcc/config.gcc
-+++ b/gcc/config.gcc
-@@ -2084,29 +2084,29 @@ mips*-*-linux*) # Linux MIPS, either endian.
- default_mips_arch=mips32
- ;;
- mips64el-st-linux-gnu)
-- default_mips_abi=n32
-+ default_mips_abi=64
- tm_file="${tm_file} mips/st.h"
- tmake_file="${tmake_file} mips/t-st"
- enable_mips_multilibs="yes"
- ;;
- mips64octeon*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
- target_cpu_default=MASK_SOFT_FLOAT_ABI
- enable_mips_multilibs="yes"
- ;;
- mipsisa64r6*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- default_mips_arch=mips64r6
- enable_mips_multilibs="yes"
- ;;
- mipsisa64r2*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- default_mips_arch=mips64r2
- enable_mips_multilibs="yes"
- ;;
- mips64*-*-linux* | mipsisa64*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- enable_mips_multilibs="yes"
- ;;
- esac
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0020-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0020-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
deleted file mode 100644
index de7b4df57..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0020-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
+++ /dev/null
@@ -1,234 +0,0 @@
-From d6c983b685ee03e9cf21189108d31ed9f760ff3f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:24:50 +0400
-Subject: [PATCH 20/47] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
- relative to SYSTEMLIBS_DIR
-
-This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
-relative to SYSTEMLIBS_DIR which can be set in generated headers
-This breaks the assumption of hardcoded multilib in gcc
-Change is only for the supported architectures in OE including
-SH, sparc, alpha for possible future support (if any)
-
-Removes the do_headerfix task in metadata
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE configuration]
----
- gcc/config/alpha/linux-elf.h | 4 ++--
- gcc/config/arm/linux-eabi.h | 4 ++--
- gcc/config/arm/linux-elf.h | 2 +-
- gcc/config/i386/linux.h | 2 +-
- gcc/config/i386/linux64.h | 6 +++---
- gcc/config/linux.h | 8 ++++----
- gcc/config/mips/linux.h | 12 ++++++------
- gcc/config/rs6000/linux64.h | 16 ++++++----------
- gcc/config/sh/linux.h | 2 +-
- gcc/config/sparc/linux.h | 2 +-
- gcc/config/sparc/linux64.h | 4 ++--
- 11 files changed, 29 insertions(+), 33 deletions(-)
-
-diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
-index 2c39fbe601c..6d88e21abe2 100644
---- a/gcc/config/alpha/linux-elf.h
-+++ b/gcc/config/alpha/linux-elf.h
-@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
- #define EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
--#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
- #if DEFAULT_LIBC == LIBC_UCLIBC
- #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
- #elif DEFAULT_LIBC == LIBC_GLIBC
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index a08cfb34377..fbac9a9d994 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -62,8 +62,8 @@
- GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
-
- #undef GLIBC_DYNAMIC_LINKER
--#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
--#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
-+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
-+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
- #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
-
- #define GLIBC_DYNAMIC_LINKER \
-diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
-index 3d62367ae68..e8a16191849 100644
---- a/gcc/config/arm/linux-elf.h
-+++ b/gcc/config/arm/linux-elf.h
-@@ -60,7 +60,7 @@
-
- #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #define LINUX_TARGET_LINK_SPEC "%{h*} \
- %{static:-Bstatic} \
-diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
-index 59132124d6b..336d158629c 100644
---- a/gcc/config/i386/linux.h
-+++ b/gcc/config/i386/linux.h
-@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
-
- #define GNU_USER_LINK_EMULATION "elf_i386"
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef MUSL_DYNAMIC_LINKER
- #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
-diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
-index e65c404ff91..c34ded98481 100644
---- a/gcc/config/i386/linux64.h
-+++ b/gcc/config/i386/linux64.h
-@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
- #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
--#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index b3a9e85e77f..2e683d0c430 100644
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
-@@ -81,10 +81,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
- GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
- supporting both 32-bit and 64-bit compilation. */
--#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
- #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
- #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
- #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
-diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
-index 44132b8e44d..80505ad9f48 100644
---- a/gcc/config/mips/linux.h
-+++ b/gcc/config/mips/linux.h
-@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
- #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
-
- #define GLIBC_DYNAMIC_LINKER32 \
-- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
- #define GLIBC_DYNAMIC_LINKER64 \
-- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
- #define GLIBC_DYNAMIC_LINKERN32 \
-- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
-
- #undef UCLIBC_DYNAMIC_LINKER32
- #define UCLIBC_DYNAMIC_LINKER32 \
-- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
- #undef UCLIBC_DYNAMIC_LINKER64
- #define UCLIBC_DYNAMIC_LINKER64 \
-- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
- #define UCLIBC_DYNAMIC_LINKERN32 \
-- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 71e35b709ad..3b00ec0fcf0 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -412,16 +412,11 @@ extern int dot_symbols;
- #undef LINK_OS_DEFAULT_SPEC
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-
--#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
--
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
- #ifdef LINUX64_DEFAULT_ABI_ELFv2
--#define GLIBC_DYNAMIC_LINKER64 \
--"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
--":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
-+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
- #else
--#define GLIBC_DYNAMIC_LINKER64 \
--"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
--":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
-+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
- #endif
-
- #define MUSL_DYNAMIC_LINKER32 \
-@@ -429,8 +424,9 @@ extern int dot_symbols;
- #define MUSL_DYNAMIC_LINKER64 \
- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-
--#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
-+
- #if DEFAULT_LIBC == LIBC_UCLIBC
- #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
- "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
-diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
-index c30083423f2..196b82725f8 100644
---- a/gcc/config/sh/linux.h
-+++ b/gcc/config/sh/linux.h
-@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
- "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
- "%{mfdpic:-fdpic}.so.1"
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
-diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
-index ce084656fca..bed6300cb2a 100644
---- a/gcc/config/sparc/linux.h
-+++ b/gcc/config/sparc/linux.h
-@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef LINK_SPEC
- #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
-diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
-index 573ce8a9a4c..6749f6b5d9c 100644
---- a/gcc/config/sparc/linux64.h
-+++ b/gcc/config/sparc/linux64.h
-@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #ifdef SPARC_BI_ARCH
-
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0021-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0021-gcc-Fix-argument-list-too-long-error.patch
deleted file mode 100644
index 4e562144e..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0021-gcc-Fix-argument-list-too-long-error.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 80c24247fed52c1269791088090bc0fa85280983 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:26:37 +0400
-Subject: [PATCH 21/47] gcc: Fix argument list too long error.
-
-There would be an "Argument list too long" error when the
-build directory is longer than 200, this is caused by:
-
-headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
-
-The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
-it, use the $(sort list) of GNU make which can handle the too long list
-would fix the problem, the header would be short enough after sorted.
-The "tr ' ' '\012'" was used for translating the space to "\n", the
-$(sort list) doesn't need this.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 7b590c9bbd3..23cca7f0d5a 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -3459,7 +3459,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
- # We keep the directory structure for files in config or c-family and .def
- # files. All other files are flattened to a single directory.
- $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
-- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
-+ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
- for file in $$headers; do \
- if [ -f $$file ] ; then \
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0022-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0022-Disable-sdt.patch
deleted file mode 100644
index 871f195c9..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0022-Disable-sdt.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 3021fec485f44478a3d5fffb4adac13d831fcdc1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:28:10 +0400
-Subject: [PATCH 22/47] Disable sdt.
-
-We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
-It may or may not exist from preivous builds though. To be determinstic, disable
-sdt.h usage always. This avoids build failures if the header is removed after configure
-but before libgcc is compiled for example.
-
-RP 2012/8/7
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Disable sdt for libstdc++-v3.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Upstream-Status: Inappropriate [hack]
----
- gcc/configure | 12 ++++++------
- gcc/configure.ac | 18 +++++++++---------
- libstdc++-v3/configure | 6 +++---
- libstdc++-v3/configure.ac | 2 +-
- 4 files changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index b5ac1552541..08b2f63c7fa 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -28967,12 +28967,12 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
- $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
- have_sys_sdt_h=no
--if test -f $target_header_dir/sys/sdt.h; then
-- have_sys_sdt_h=yes
--
--$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
--
--fi
-+#if test -f $target_header_dir/sys/sdt.h; then
-+# have_sys_sdt_h=yes
-+#
-+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+#
-+#fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
- $as_echo "$have_sys_sdt_h" >&6; }
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index cb1479d1ef4..0581fe963dc 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5754,15 +5754,15 @@ fi
- AC_SUBST([enable_default_ssp])
-
- # Test for <sys/sdt.h> on the target.
--GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
--AC_MSG_CHECKING(sys/sdt.h in the target C library)
--have_sys_sdt_h=no
--if test -f $target_header_dir/sys/sdt.h; then
-- have_sys_sdt_h=yes
-- AC_DEFINE(HAVE_SYS_SDT_H, 1,
-- [Define if your target C library provides sys/sdt.h])
--fi
--AC_MSG_RESULT($have_sys_sdt_h)
-+#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
-+#AC_MSG_CHECKING(sys/sdt.h in the target C library)
-+#have_sys_sdt_h=no
-+#if test -f $target_header_dir/sys/sdt.h; then
-+# have_sys_sdt_h=yes
-+# AC_DEFINE(HAVE_SYS_SDT_H, 1,
-+# [Define if your target C library provides sys/sdt.h])
-+#fi
-+#AC_MSG_RESULT($have_sys_sdt_h)
-
- # Check if TFmode long double should be used by default or not.
- # Some glibc targets used DFmode long double, but with glibc 2.4
-diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
-index fb7e126c0b0..a18057feb88 100755
---- a/libstdc++-v3/configure
-+++ b/libstdc++-v3/configure
-@@ -21856,11 +21856,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-- if test $glibcxx_cv_sys_sdt_h = yes; then
-+# if test $glibcxx_cv_sys_sdt_h = yes; then
-
--$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-
-- fi
-+# fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
- $as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
-
-diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
-index 8e973503be0..a46d25e740d 100644
---- a/libstdc++-v3/configure.ac
-+++ b/libstdc++-v3/configure.ac
-@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
- GLIBCXX_CHECK_SC_NPROC_ONLN
- GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
- GLIBCXX_CHECK_SYSCTL_HW_NCPU
--GLIBCXX_CHECK_SDT_H
-+#GLIBCXX_CHECK_SDT_H
-
- # Check for available headers.
- AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0023-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0023-libtool.patch
deleted file mode 100644
index 27dfb1fdd..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0023-libtool.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e79a4f8169e836c8deabca5a45884cfe11d07847 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:29:11 +0400
-Subject: [PATCH 23/47] libtool
-
-libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
-when running on am x86_64 build host.
-
-This patch stops this speading to libdir in the libstdc++.la file within libtool.
-Arguably, it shouldn't be passing this into libtool in the first place but
-for now this resolves the nastiest problems this causes.
-
-func_normal_abspath would resolve an empty path to `pwd` so we need
-to filter the zero case.
-
-RP 2012/8/24
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- ltmain.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 9503ec85d70..0121fba707f 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -6359,6 +6359,10 @@ func_mode_link ()
- func_warning "ignoring multiple \`-rpath's for a libtool library"
-
- install_libdir="$1"
-+ if test -n "$install_libdir"; then
-+ func_normal_abspath "$install_libdir"
-+ install_libdir=$func_normal_abspath_result
-+ fi
-
- oldlibs=
- if test -z "$rpath"; then
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0024-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0024-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
deleted file mode 100644
index aa1e1bb8b..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0024-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 74d8dc48cb185e304c60067b4d8b50447ec328ec Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:30:32 +0400
-Subject: [PATCH 24/47] gcc: armv4: pass fix-v4bx to linker to support EABI.
-
-The LINK_SPEC for linux gets overwritten by linux-eabi.h which
-means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
-the option is not passed to linker when chosing march=armv4
-This patch redefines this in linux-eabi.h and reinserts it
-for eabi defaulting toolchains.
-
-We might want to send it upstream.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/config/arm/linux-eabi.h | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index fbac9a9d994..5a51a8a7095 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -88,10 +88,14 @@
- #define MUSL_DYNAMIC_LINKER \
- "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
-
-+/* For armv4 we pass --fix-v4bx to linker to support EABI */
-+#undef TARGET_FIX_V4BX_SPEC
-+#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
-+
- /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
- use the GNU/Linux version, not the generic BPABI version. */
- #undef LINK_SPEC
--#define LINK_SPEC EABI_LINK_SPEC \
-+#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \
- LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
- LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
-
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0025-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0025-Use-the-multilib-config-files-from-B-instead-of-usin.patch
deleted file mode 100644
index b23413231..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0025-Use-the-multilib-config-files-from-B-instead-of-usin.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From ac50dc3010a66220ad483c09efe270bb3f4c9424 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:33:04 +0400
-Subject: [PATCH 25/47] Use the multilib config files from ${B} instead of
- using the ones from ${S}
-
-Use the multilib config files from ${B} instead of using the ones from ${S}
-so that the source can be shared between gcc-cross-initial,
-gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- gcc/configure | 22 ++++++++++++++++++----
- gcc/configure.ac | 22 ++++++++++++++++++----
- 2 files changed, 36 insertions(+), 8 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 08b2f63c7fa..6ba391ed068 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -12130,10 +12130,20 @@ done
- tmake_file_=
- for f in ${tmake_file}
- do
-- if test -f ${srcdir}/config/$f
-- then
-- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-- fi
-+ case $f in
-+ */t-linux64 )
-+ if test -f ./config/$f
-+ then
-+ tmake_file_="${tmake_file_} ./config/$f"
-+ fi
-+ ;;
-+ * )
-+ if test -f ${srcdir}/config/$f
-+ then
-+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-+ fi
-+ ;;
-+ esac
- done
- tmake_file="${tmake_file_}"
-
-@@ -12144,6 +12154,10 @@ tm_file_list="options.h"
- tm_include_list="options.h insn-constants.h"
- for f in $tm_file; do
- case $f in
-+ */linux64.h )
-+ tm_file_list="${tm_file_list} ./config/$f"
-+ tm_include_list="${tm_include_list} ./config/$f"
-+ ;;
- ./* )
- f=`echo $f | sed 's/^..//'`
- tm_file_list="${tm_file_list} $f"
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 0581fe963dc..8551a412df3 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1902,10 +1902,20 @@ done
- tmake_file_=
- for f in ${tmake_file}
- do
-- if test -f ${srcdir}/config/$f
-- then
-- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-- fi
-+ case $f in
-+ */t-linux64 )
-+ if test -f ./config/$f
-+ then
-+ tmake_file_="${tmake_file_} ./config/$f"
-+ fi
-+ ;;
-+ * )
-+ if test -f ${srcdir}/config/$f
-+ then
-+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-+ fi
-+ ;;
-+ esac
- done
- tmake_file="${tmake_file_}"
-
-@@ -1916,6 +1926,10 @@ tm_file_list="options.h"
- tm_include_list="options.h insn-constants.h"
- for f in $tm_file; do
- case $f in
-+ */linux64.h )
-+ tm_file_list="${tm_file_list} ./config/$f"
-+ tm_include_list="${tm_include_list} ./config/$f"
-+ ;;
- ./* )
- f=`echo $f | sed 's/^..//'`
- tm_file_list="${tm_file_list} $f"
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0026-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0026-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
deleted file mode 100644
index fe2471347..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0026-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9fab47d8662986ad887d9eddc39fcbe25e576383 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 09:39:38 +0000
-Subject: [PATCH 26/47] Avoid using libdir from .la which usually points to a
- host path
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 0121fba707f..52bdbdb5f9c 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -5628,6 +5628,9 @@ func_mode_link ()
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
-+ # Instead of using libdir from .la which usually points to a host path,
-+ # use the path the .la is contained in.
-+ libdir="$abs_ladir"
- dir="$libdir"
- absdir="$libdir"
- fi
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0027-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0027-export-CPP.patch
deleted file mode 100644
index 4f9e1f0b2..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0027-export-CPP.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From fa6a46fdf73de7eacd289c084bbde6643b23f73b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 09:40:59 +0000
-Subject: [PATCH 27/47] export CPP
-
-The OE environment sets and exports CPP as being the target gcc. When
-building gcc-cross-canadian for a mingw targetted sdk, the following can be found
-in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
-
-configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
-configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5
-configure:3666: $? = 0
-configure:3698: result: no
-configure:3786: checking how to run the C preprocessor
-configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
-configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
-configure:3876: $? = 0
-
-Note this is a *build* target (in build-x86_64-linux) so it should be
-using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
-headers are very different, using the wrong cpp is a real problem. It is leaking
-into configure through the CPP variable. Ultimately this leads to build
-failures related to not being able to include a process.h file for pem-unix.c.
-
-The fix is to ensure we export a sane CPP value into the build
-environment when using build targets. We could define a CPP_FOR_BUILD value which may be
-the version which needs to be upstreamed but for now, this fix is good enough to
-avoid the problem.
-
-RP 22/08/2013
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.in b/Makefile.in
-index b824e0a0ca1..e34e9555388 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
- AR="$(AR_FOR_BUILD)"; export AR; \
- AS="$(AS_FOR_BUILD)"; export AS; \
- CC="$(CC_FOR_BUILD)"; export CC; \
-+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0028-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0028-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
deleted file mode 100644
index b903349d5..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0028-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 2c05b4072f982df8002d61327837e18a724e934f Mon Sep 17 00:00:00 2001
-From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
-Date: Wed, 5 Feb 2014 16:52:31 +0200
-Subject: [PATCH 28/47] Enable SPE & AltiVec generation on powepc*linux target
-
-When is configured with --target=powerpc-linux, the resulting GCC will
-not be able to generate code for SPE targets (e500v1/v2).
-GCC configured with --target=powerpc-linuxspe will not be able to
-generate AltiVec instructions (for e6500).
-This patch modifies the configured file such that SPE or AltiVec code
-can be generated when gcc is configured with --target=powerpc-linux.
-The ABI and speciffic instructions can be selected through the
-"-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
----
- gcc/config.gcc | 9 ++++++++-
- gcc/config/rs6000/linuxspe.h | 3 ---
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/config.gcc b/gcc/config.gcc
-index 5e45f4b5199..9b381dfd9af 100644
---- a/gcc/config.gcc
-+++ b/gcc/config.gcc
-@@ -2415,7 +2415,14 @@ powerpc-*-rtems*)
- tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
- ;;
- powerpc*-*-linux*)
-- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
-+ case ${target} in
-+ powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*)
-+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
-+ ;;
-+ *)
-+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h rs6000/linuxaltivec.h rs6000/linuxspe.h rs6000/e500.h"
-+ ;;
-+ esac
- extra_options="${extra_options} rs6000/sysv4.opt"
- tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
- extra_objs="$extra_objs rs6000-linux.o"
-diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h
-index 92efabfe664..6d486451a7e 100644
---- a/gcc/config/rs6000/linuxspe.h
-+++ b/gcc/config/rs6000/linuxspe.h
-@@ -27,6 +27,3 @@
- #undef TARGET_DEFAULT
- #define TARGET_DEFAULT MASK_STRICT_ALIGN
- #endif
--
--#undef ASM_DEFAULT_SPEC
--#define ASM_DEFAULT_SPEC "-mppc -mspe -me500"
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0029-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0029-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
deleted file mode 100644
index 7306a282b..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0029-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From ec0f843b86c0f76bc5ebb20fafbc4aae1be4db61 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 10:21:55 +0000
-Subject: [PATCH 29/47] Disable the MULTILIB_OSDIRNAMES and other multilib
- options.
-
-Hard coding the MULTILIB_OSDIRNAMES with ../lib64 is causing problems on
-systems where the libdir is NOT set to /lib64. This is allowed by the
-ABI, as
-long as the dynamic loader is present in /lib.
-
-We simply want to use the default rules in gcc to find and configure the
-normal libdir.
-
-Upstream-Status: Inappropriate[OE-Specific]
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/aarch64/t-aarch64-linux | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
-index ab064ab6f22..f4b1f98b216 100644
---- a/gcc/config/aarch64/t-aarch64-linux
-+++ b/gcc/config/aarch64/t-aarch64-linux
-@@ -21,8 +21,8 @@
- LIB1ASMSRC = aarch64/lib1funcs.asm
- LIB1ASMFUNCS = _aarch64_sync_cache_range
-
--AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
--MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
--MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-+#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-+#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
-+#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-
--MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
-+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0030-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0030-Ensure-target-gcc-headers-can-be-included.patch
deleted file mode 100644
index 568ba95ea..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0030-Ensure-target-gcc-headers-can-be-included.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From bf5836989e0ffc1c1df1369df06877e96c08df41 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 10:25:11 +0000
-Subject: [PATCH 30/47] Ensure target gcc headers can be included
-
-There are a few headers installed as part of the OpenEmbedded
-gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
-built for the target architecture, these are within the target
-sysroot and not cross/nativesdk; thus they weren't able to be
-found by gcc with the existing search paths. Add support for
-picking up these headers under the sysroot supplied on the gcc
-command line in order to resolve this.
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/Makefile.in | 2 ++
- gcc/cppdefault.c | 4 ++++
- gcc/defaults.h | 9 +++++++++
- gcc/gcc.c | 7 -------
- 4 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 23cca7f0d5a..95d21effad3 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -608,6 +608,7 @@ libexecdir = @libexecdir@
-
- # Directory in which the compiler finds libraries etc.
- libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
-+libsubdir_target = gcc/$(target_noncanonical)/$(version)
- # Directory in which the compiler finds executables
- libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
- # Directory in which all plugin resources are installed
-@@ -2791,6 +2792,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
-
- PREPROCESSOR_DEFINES = \
- -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
-+ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \
- -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
- -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
- -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
-diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index 10b96eca0a7..c8da0884872 100644
---- a/gcc/cppdefault.c
-+++ b/gcc/cppdefault.c
-@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[]
- /* This is the dir for gcc's private headers. */
- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
- #endif
-+#ifdef GCC_INCLUDE_SUBDIR_TARGET
-+ /* This is the dir for gcc's private headers under the specified sysroot. */
-+ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
-+#endif
- #ifdef LOCAL_INCLUDE_DIR
- /* /usr/local/include comes before the fixincluded header files. */
- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
-diff --git a/gcc/defaults.h b/gcc/defaults.h
-index 7ad92d920f8..39848cc9c0e 100644
---- a/gcc/defaults.h
-+++ b/gcc/defaults.h
-@@ -1475,4 +1475,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
- #endif
-
-+/* Default prefixes to attach to command names. */
-+
-+#ifndef STANDARD_STARTFILE_PREFIX_1
-+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
-+#endif
-+#ifndef STANDARD_STARTFILE_PREFIX_2
-+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
-+#endif
-+
- #endif /* ! GCC_DEFAULTS_H */
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index c73d4023987..b27245dbf77 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1472,13 +1472,6 @@ static const char *gcc_libexec_prefix;
-
- /* Default prefixes to attach to command names. */
-
--#ifndef STANDARD_STARTFILE_PREFIX_1
--#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
--#endif
--#ifndef STANDARD_STARTFILE_PREFIX_2
--#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
--#endif
--
- #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */
- #undef MD_EXEC_PREFIX
- #undef MD_STARTFILE_PREFIX
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0031-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0031-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
deleted file mode 100644
index 0184010f0..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0031-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From c7b4d957edda955fbe405fd5295846614529f517 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 11:17:19 +0000
-Subject: [PATCH 31/47] gcc 4.8+ won't build with --disable-dependency-tracking
-
-since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
-
-This patch ensures we only use those compiler options when its enabled.
-
-Upstream-Status: Submitted
-
-(Problem was already reported upstream, attached this patch there
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
-
-RP
-2012/09/22
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libatomic/Makefile.am | 3 ++-
- libatomic/Makefile.in | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
-index d731406fdbd..2fafc72d2e7 100644
---- a/libatomic/Makefile.am
-+++ b/libatomic/Makefile.am
-@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
-
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
-diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
-index f6eeab312ea..3f06a894058 100644
---- a/libatomic/Makefile.in
-+++ b/libatomic/Makefile.in
-@@ -331,7 +331,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
- PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0032-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0032-Don-t-search-host-directory-during-relink-if-inst_pr.patch
deleted file mode 100644
index e8905f525..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0032-Don-t-search-host-directory-during-relink-if-inst_pr.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 3be6b766a5881b0b187c3c3c68250a9e4f7c0fa3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 3 Mar 2015 08:21:19 +0000
-Subject: [PATCH 32/47] Don't search host directory during "relink" if
- $inst_prefix is provided
-
-http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 52bdbdb5f9c..82bcec39f05 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -6004,12 +6004,13 @@ func_mode_link ()
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
-+ # Default if $libdir is not relative to the prefix:
- add_dir="-L$libdir"
-- # Try looking first in the location we're being installed to.
-+
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
-- add_dir="$add_dir -L$inst_prefix_dir$libdir"
-+ add_dir="-L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0033-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0033-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
deleted file mode 100644
index c0b8df3e7..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0033-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6edcab9046b862cbb9b46892fc390ce69976539c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Apr 2015 23:15:27 -0700
-Subject: [PATCH 33/47] Use SYSTEMLIBS_DIR replacement instead of hardcoding
- base_libdir
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Inappropriate [OE-Specific]
-
- gcc/config/aarch64/aarch64-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index c45fc1d35d1..a7afe197266 100644
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
-@@ -21,7 +21,7 @@
- #ifndef GCC_AARCH64_LINUX_H
- #define GCC_AARCH64_LINUX_H
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef MUSL_DYNAMIC_LINKER
- #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0034-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0034-aarch64-Add-support-for-musl-ldso.patch
deleted file mode 100644
index 7d866d906..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0034-aarch64-Add-support-for-musl-ldso.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b140d6839cfba9cac892bc736d984540552d6a56 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Apr 2015 23:18:39 -0700
-Subject: [PATCH 34/47] aarch64: Add support for musl ldso
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Inappropriate [OE-Specific]
-
- gcc/config/aarch64/aarch64-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index a7afe197266..580c2c7ea15 100644
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
-@@ -24,7 +24,7 @@
- #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef MUSL_DYNAMIC_LINKER
--#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef ASAN_CC1_SPEC
- #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0035-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0035-libcc1-fix-libcc1-s-install-path-and-rpath.patch
deleted file mode 100644
index e2c1956d1..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0035-libcc1-fix-libcc1-s-install-path-and-rpath.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 63617f2da153db10fa2fe938cce31bee01d47fe8 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sun, 5 Jul 2015 20:25:18 -0700
-Subject: [PATCH 35/47] libcc1: fix libcc1's install path and rpath
-
-* Install libcc1.so and libcc1plugin.so into
- $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
- had done to lto-plugin.
-* Fix bad RPATH iussue:
- gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
- /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
- [rpaths]
-
-Upstream-Status: Inappropriate [OE configuration]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- libcc1/Makefile.am | 4 ++--
- libcc1/Makefile.in | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
-index 5e61a92a26b..e8b627f9cec 100644
---- a/libcc1/Makefile.am
-+++ b/libcc1/Makefile.am
-@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
- $(Wc)$(libiberty_normal)))
- libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
-
--plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
--cc1libdir = $(libdir)/$(libsuffix)
-+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
-+plugindir = $(cc1libdir)
-
- if ENABLE_PLUGIN
- plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
-diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
-index 54babb02a49..e51d87ffdce 100644
---- a/libcc1/Makefile.in
-+++ b/libcc1/Makefile.in
-@@ -303,8 +303,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
- $(Wc)$(libiberty_normal)))
-
- libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
--plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
--cc1libdir = $(libdir)/$(libsuffix)
-+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
-+plugindir = $(cc1libdir)
- @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
- @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
- BUILT_SOURCES = c-compiler-name.h cp-compiler-name.h
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0036-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0036-handle-sysroot-support-for-nativesdk-gcc.patch
deleted file mode 100644
index aa0b10827..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0036-handle-sysroot-support-for-nativesdk-gcc.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From ca14820ae834a62ef2b80b283e8f900714636272 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:39:54 +0000
-Subject: [PATCH 36/47] handle sysroot support for nativesdk-gcc
-
-Being able to build a nativesdk gcc is useful, particularly in cases
-where the host compiler may be of an incompatible version (or a 32
-bit compiler is needed).
-
-Sadly, building nativesdk-gcc is not straight forward. We install
-nativesdk-gcc into a relocatable location and this means that its
-library locations can change. "Normal" sysroot support doesn't help
-in this case since the values of paths like "libdir" change, not just
-base root directory of the system.
-
-In order to handle this we do two things:
-
-a) Add %r into spec file markup which can be used for injected paths
- such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
-b) Add other paths which need relocation into a .gccrelocprefix section
- which the relocation code will notice and adjust automatically.
-
-Upstream-Status: Inappropriate
-RP 2015/7/28
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++++-------------
- gcc/cppdefault.h | 3 ++-
- gcc/gcc.c | 20 ++++++++++++++------
- 3 files changed, 53 insertions(+), 20 deletions(-)
-
-diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index c8da0884872..43dc597a0c3 100644
---- a/gcc/cppdefault.c
-+++ b/gcc/cppdefault.c
-@@ -35,6 +35,30 @@
- # undef CROSS_INCLUDE_DIR
- #endif
-
-+static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
-+static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
-+static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
-+static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
-+static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
-+#ifdef LOCAL_INCLUDE_DIR
-+static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR;
-+#endif
-+#ifdef PREFIX_INCLUDE_DIR
-+static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR;
-+#endif
-+#ifdef FIXED_INCLUDE_DIR
-+static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR;
-+#endif
-+#ifdef CROSS_INCLUDE_DIR
-+static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR;
-+#endif
-+#ifdef TOOL_INCLUDE_DIR
-+static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR;
-+#endif
-+#ifdef NATIVE_SYSTEM_HEADER_DIR
-+static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR;
-+#endif
-+
- const struct default_include cpp_include_defaults[]
- #ifdef INCLUDE_DEFAULTS
- = INCLUDE_DEFAULTS;
-@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[]
- = {
- #ifdef GPLUSPLUS_INCLUDE_DIR
- /* Pick up GNU C++ generic include files. */
-- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
- #endif
- #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
- /* Pick up GNU C++ target-dependent include files. */
-- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
- #endif
- #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
- /* Pick up GNU C++ backward and deprecated include files. */
-- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
- #endif
- #ifdef GCC_INCLUDE_DIR
- /* This is the dir for gcc's private headers. */
-- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
-+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
- #endif
- #ifdef GCC_INCLUDE_SUBDIR_TARGET
- /* This is the dir for gcc's private headers under the specified sysroot. */
-- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
-+ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 },
- #endif
- #ifdef LOCAL_INCLUDE_DIR
- /* /usr/local/include comes before the fixincluded header files. */
-- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
-- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
-+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 },
-+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
- #endif
- #ifdef PREFIX_INCLUDE_DIR
-- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
-+ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 },
- #endif
- #ifdef FIXED_INCLUDE_DIR
- /* This is the dir for fixincludes. */
-- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
-+ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
- /* A multilib suffix needs adding if different multilibs use
- different headers. */
- #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
-@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
- #endif
- #ifdef CROSS_INCLUDE_DIR
- /* One place the target system's headers might be. */
-- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
-+ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
- #endif
- #ifdef TOOL_INCLUDE_DIR
- /* Another place the target system's headers might be. */
-- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 },
-+ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 },
- #endif
- #ifdef NATIVE_SYSTEM_HEADER_DIR
- /* /usr/include comes dead last. */
-- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
-- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
-+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
-+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
- #endif
- { 0, 0, 0, 0, 0, 0 }
- };
-diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
-index 17bbb0eaef7..a937ec1d187 100644
---- a/gcc/cppdefault.h
-+++ b/gcc/cppdefault.h
-@@ -33,7 +33,8 @@
-
- struct default_include
- {
-- const char *const fname; /* The name of the directory. */
-+ const char *fname; /* The name of the directory. */
-+
- const char *const component; /* The component containing the directory
- (see update_path in prefix.c) */
- const char cplusplus; /* Only look here if we're compiling C++. */
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index b27245dbf77..e015c77f15f 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -247,6 +247,8 @@ FILE *report_times_to_file = NULL;
- #endif
- static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
-
-+static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR;
-+
- /* Nonzero means pass the updated target_system_root to the compiler. */
-
- static int target_system_root_changed;
-@@ -518,6 +520,7 @@ or with constant text in a single argument.
- %G process LIBGCC_SPEC as a spec.
- %R Output the concatenation of target_system_root and
- target_sysroot_suffix.
-+ %r Output the base path target_relocatable_prefix
- %S process STARTFILE_SPEC as a spec. A capital S is actually used here.
- %E process ENDFILE_SPEC as a spec. A capital E is actually used here.
- %C process CPP_SPEC as a spec.
-@@ -1495,10 +1498,10 @@ static const char *gcc_libexec_prefix;
- gcc_exec_prefix is set because, in that case, we know where the
- compiler has been installed, and use paths relative to that
- location instead. */
--static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
--static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX;
--static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
--static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
-+static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
-+static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX;
-+static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX;
-+static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
-
- /* For native compilers, these are well-known paths containing
- components that may be provided by the system. For cross
-@@ -1506,9 +1509,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
- static const char *md_exec_prefix = MD_EXEC_PREFIX;
- static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
- static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
--static const char *const standard_startfile_prefix_1
-+static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix")))
- = STANDARD_STARTFILE_PREFIX_1;
--static const char *const standard_startfile_prefix_2
-+static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix")))
- = STANDARD_STARTFILE_PREFIX_2;
-
- /* A relative path to be used in finding the location of tools
-@@ -5826,6 +5829,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
- }
- break;
-
-+ case 'r':
-+ obstack_grow (&obstack, target_relocatable_prefix,
-+ strlen (target_relocatable_prefix));
-+ break;
-+
- case 'S':
- value = do_spec_1 (startfile_spec, 0, NULL);
- if (value != 0)
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0037-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0037-Search-target-sysroot-gcc-version-specific-dirs-with.patch
deleted file mode 100644
index 6c85a03f4..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0037-Search-target-sysroot-gcc-version-specific-dirs-with.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 16a326bcd126b395b29019072905bae7a5d47500 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:41:45 +0000
-Subject: [PATCH 37/47] Search target sysroot gcc version specific dirs with
- multilib.
-
-We install the gcc libraries (such as crtbegin.p) into
-<sysroot><libdir>/<target-sys>/5.2.0/
-which is a default search path for GCC (aka multi_suffix in the
-code below). <target-sys> is 'machine' in gcc's terminology. We use
-these directories so that multiple gcc versions could in theory
-co-exist on target.
-
-We only want to build one gcc-cross-canadian per arch and have this work
-for all multilibs. <target-sys> can be handled by mapping the multilib
-<target-sys> to the one used by gcc-cross-canadian, e.g.
-mips64-polkmllib32-linux
-is symlinked to by mips64-poky-linux.
-
-The default gcc search path in the target sysroot for a "lib64" mutlilib
-is:
-
-<sysroot>/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/../lib64/
-<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/../lib64/
-<sysroot>/lib32/
-<sysroot>/usr/lib32/
-
-which means that the lib32 crtbegin.o will be found and the lib64 ones
-will not which leads to compiler failures.
-
-This patch injects a multilib version of that path first so the lib64
-binaries can be found first. With this change the search path becomes:
-
-<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/../lib64/
-<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/../lib64/
-<sysroot>/lib32/
-<sysroot>/usr/lib32/
-
-Upstream-Status: Pending
-RP 2015/7/31
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
- 1 file changed, 28 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index e015c77f15f..84af5d5a2e1 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -2533,7 +2533,7 @@ for_each_path (const struct path_prefix *paths,
- if (path == NULL)
- {
- len = paths->max_len + extra_space + 1;
-- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
-+ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len);
- path = XNEWVEC (char, len);
- }
-
-@@ -2545,6 +2545,33 @@ for_each_path (const struct path_prefix *paths,
- /* Look first in MACHINE/VERSION subdirectory. */
- if (!skip_multi_dir)
- {
-+ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
-+ {
-+ const char *this_multi;
-+ size_t this_multi_len;
-+
-+ if (pl->os_multilib)
-+ {
-+ this_multi = multi_os_dir;
-+ this_multi_len = multi_os_dir_len;
-+ }
-+ else
-+ {
-+ this_multi = multi_dir;
-+ this_multi_len = multi_dir_len;
-+ }
-+
-+ /* Look in multilib MACHINE/VERSION subdirectory first */
-+ if (this_multi_len)
-+ {
-+ memcpy (path + len, this_multi, this_multi_len + 1);
-+ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1);
-+ ret = callback (path, callback_info);
-+ if (ret)
-+ break;
-+ }
-+ }
-+
- memcpy (path + len, multi_suffix, suffix_len + 1);
- ret = callback (path, callback_info);
- if (ret)
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0038-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0038-Fix-various-_FOR_BUILD-and-related-variables.patch
deleted file mode 100644
index a226d10d0..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0038-Fix-various-_FOR_BUILD-and-related-variables.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 6e7f526e71a76aac3d49ba8f1742fe1b359c1060 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:42:45 +0000
-Subject: [PATCH 38/47] Fix various _FOR_BUILD and related variables
-
-When doing a FOR_BUILD thing, you have to override CFLAGS with
-CFLAGS_FOR_BUILD. And if you use C++, you also have to override
-CXXFLAGS with CXXFLAGS_FOR_BUILD.
-Without this, when building for mingw, you end up trying to use
-the mingw headers for a host build.
-
-The same goes for other variables as well, such as CPPFLAGS,
-CPP, and GMPINC.
-
-Upstream-Status: Pending
-
-Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 6 ++++++
- Makefile.tpl | 5 +++++
- gcc/Makefile.in | 2 +-
- gcc/configure | 2 +-
- gcc/configure.ac | 2 +-
- 5 files changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index e34e9555388..a03740f3f9d 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
- CPP="$(CC_FOR_BUILD) -E"; export CPP; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
-@@ -169,6 +170,9 @@ BUILD_EXPORTS = \
- # built for the build system to override those in BASE_FLAGS_TO_PASS.
- EXTRA_BUILD_FLAGS = \
- CFLAGS="$(CFLAGS_FOR_BUILD)" \
-+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
-+ CPP="$(CC_FOR_BUILD) -E" \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"
-
- # This is the list of directories to built for the host system.
-@@ -186,6 +190,7 @@ HOST_SUBDIR = @host_subdir@
- HOST_EXPORTS = \
- $(BASE_EXPORTS) \
- CC="$(CC)"; export CC; \
-+ CPP="$(CC) -E"; export CPP; \
- ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-@@ -734,6 +739,7 @@ BASE_FLAGS_TO_PASS = \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
-+ "CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
- "EXPECT=$(EXPECT)" \
- "FLEX=$(FLEX)" \
- "INSTALL=$(INSTALL)" \
-diff --git a/Makefile.tpl b/Makefile.tpl
-index d0fa07005be..953376c658d 100644
---- a/Makefile.tpl
-+++ b/Makefile.tpl
-@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
- CC="$(CC_FOR_BUILD)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
-@@ -171,6 +172,9 @@ BUILD_EXPORTS = \
- # built for the build system to override those in BASE_FLAGS_TO_PASS.
- EXTRA_BUILD_FLAGS = \
- CFLAGS="$(CFLAGS_FOR_BUILD)" \
-+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
-+ CPP="$(CC_FOR_BUILD) -E" \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"
-
- # This is the list of directories to built for the host system.
-@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@
- HOST_EXPORTS = \
- $(BASE_EXPORTS) \
- CC="$(CC)"; export CC; \
-+ CPP="$(CC) -E"; export CPP; \
- ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 95d21effad3..dbe2bacde50 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -795,7 +795,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
- BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
- BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
- BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
-- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
-+ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
-
- # Actual name to use when installing a native compiler.
- GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
-diff --git a/gcc/configure b/gcc/configure
-index 6ba391ed068..72ca6e5c535 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -11789,7 +11789,7 @@ else
- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
-- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
-+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
- ${realsrcdir}/configure \
- --enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 8551a412df3..6eefb61dc2b 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1708,7 +1708,7 @@ else
- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
-- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
-+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
- ${realsrcdir}/configure \
- --enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0039-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0039-nios2-Define-MUSL_DYNAMIC_LINKER.patch
deleted file mode 100644
index a7aeccdf0..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0039-nios2-Define-MUSL_DYNAMIC_LINKER.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6d03ddfb7a092942be6b58b1830f6986d012d5e3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Feb 2016 10:26:10 -0800
-Subject: [PATCH 39/47] nios2: Define MUSL_DYNAMIC_LINKER
-
-Signed-off-by: Marek Vasut <marex@denx.de>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Inappropriate [OE-Specific]
-
- gcc/config/nios2/linux.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
-index 5177fa641a4..1b8accda6ee 100644
---- a/gcc/config/nios2/linux.h
-+++ b/gcc/config/nios2/linux.h
-@@ -30,6 +30,7 @@
- #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
-
- #undef LINK_SPEC
- #define LINK_SPEC LINK_SPEC_ENDIAN \
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
deleted file mode 100644
index 29b7ce72d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0040-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 210f6b3b82084cc756e02b8bc12f909a43b14ee8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 18:10:54 -0700
-Subject: [PATCH 40/49] Add ssp_nonshared to link commandline for musl targets
-
-when -fstack-protector options are enabled we need to
-link with ssp_shared on musl since it does not provide
-the __stack_chk_fail_local() so essentially it provides
-libssp but not libssp_nonshared something like
-TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED
- where-as for glibc the needed symbols
-are already present in libc_nonshared library therefore
-we do not need any library helper on glibc based systems
-but musl needs the libssp_noshared from gcc
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/linux.h | 7 +++++++
- gcc/config/rs6000/linux.h | 10 ++++++++++
- gcc/config/rs6000/linux64.h | 10 ++++++++++
- 3 files changed, 27 insertions(+)
-
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index 2e683d0c430..1b4df798671 100644
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
-@@ -182,6 +182,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
- { 0, 0, 0, 0, 0, 0 } \
- }
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+
- #endif
-
- #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
-diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
-index 684afd6c190..22cfa391b89 100644
---- a/gcc/config/rs6000/linux.h
-+++ b/gcc/config/rs6000/linux.h
-@@ -91,6 +91,16 @@
- " -m elf32ppclinux")
- #endif
-
-+/* link libssp_nonshared.a with musl */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+#endif
-+
- #undef LINK_OS_LINUX_SPEC
- #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 3b00ec0fcf0..8371f8d7b6b 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -465,6 +465,16 @@ extern int dot_symbols;
- " -m elf64ppc")
- #endif
-
-+/* link libssp_nonshared.a with musl */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+#endif
-+
- #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
- -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}} \
---
-2.13.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0041-gcc-libcpp-support-ffile-prefix-map-old-new.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0041-gcc-libcpp-support-ffile-prefix-map-old-new.patch
deleted file mode 100644
index 5260e363d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0041-gcc-libcpp-support-ffile-prefix-map-old-new.patch
+++ /dev/null
@@ -1,284 +0,0 @@
-From 4eadc99bdd0974761bf48f0fd32994dd9a3ffcfe Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 16 Mar 2016 02:27:43 -0400
-Subject: [PATCH 41/47] gcc/libcpp: support -ffile-prefix-map=<old>=<new>
-
-Similar -fdebug-prefix-map, add option -ffile-prefix-map to map one
-directory name (old) to another (new) in __FILE__, __BASE_FILE__ and
-__builtin_FILE ().
-
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70268
-
-Upstream-Status: Submitted [gcc-patches@gcc.gnu.org]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc/c-family/c-opts.c | 13 +++++++
- gcc/c-family/c.opt | 4 +++
- gcc/dwarf2out.c | 1 +
- gcc/gimplify.c | 2 ++
- libcpp/Makefile.in | 10 +++---
- libcpp/file-map.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++
- libcpp/include/file-map.h | 30 ++++++++++++++++
- libcpp/macro.c | 2 ++
- 8 files changed, 149 insertions(+), 5 deletions(-)
- create mode 100644 libcpp/file-map.c
- create mode 100644 libcpp/include/file-map.h
-
-diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
-index ea0e01b101c..a741c75a78f 100644
---- a/gcc/c-family/c-opts.c
-+++ b/gcc/c-family/c-opts.c
-@@ -39,6 +39,14 @@ along with GCC; see the file COPYING3. If not see
- #include "opts.h"
- #include "plugin.h" /* For PLUGIN_INCLUDE_FILE event. */
- #include "mkdeps.h"
-+#include "file-map.h"
-+#include "c-target.h"
-+#include "tm.h" /* For BYTES_BIG_ENDIAN,
-+ DOLLARS_IN_IDENTIFIERS,
-+ STDC_0_IN_SYSTEM_HEADERS,
-+ TARGET_FLT_EVAL_METHOD_NON_DEFAULT and
-+ TARGET_OPTF. */
-+#include "tm_p.h" /* For C_COMMON_OVERRIDE_OPTIONS. */
- #include "dumpfile.h"
-
- #ifndef DOLLARS_IN_IDENTIFIERS
-@@ -517,6 +525,11 @@ c_common_handle_option (size_t scode, const char *arg, int value,
- cpp_opts->narrow_charset = arg;
- break;
-
-+ case OPT_ffile_prefix_map_:
-+ if (add_file_prefix_map (arg) < 0)
-+ error ("invalid argument %qs to -ffile-prefix-map", arg);
-+ break;
-+
- case OPT_fwide_exec_charset_:
- cpp_opts->wide_charset = arg;
- break;
-diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
-index c4ef7796282..73333dfd57c 100644
---- a/gcc/c-family/c.opt
-+++ b/gcc/c-family/c.opt
-@@ -1372,6 +1372,10 @@ fexec-charset=
- C ObjC C++ ObjC++ Joined RejectNegative
- -fexec-charset=<cset> Convert all strings and character constants to character set <cset>.
-
-+ffile-prefix-map=
-+C ObjC C++ ObjC++ Joined RejectNegative
-+-ffile-prefix-map=<old=new> Map one directory name to another in __FILE__, __BASE_FILE__ and __builtin_FILE ()
-+
- fextended-identifiers
- C ObjC C++ ObjC++
- Permit universal character names (\\u and \\U) in identifiers.
-diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
-index 98c51576ec2..762f69ae88e 100644
---- a/gcc/dwarf2out.c
-+++ b/gcc/dwarf2out.c
-@@ -23421,6 +23421,7 @@ gen_producer_string (void)
- case OPT_fltrans_output_list_:
- case OPT_fresolution_:
- case OPT_fdebug_prefix_map_:
-+ case OPT_ffile_prefix_map_:
- /* Ignore these. */
- continue;
- default:
-diff --git a/gcc/gimplify.c b/gcc/gimplify.c
-index fd27eb1523f..5542b379f28 100644
---- a/gcc/gimplify.c
-+++ b/gcc/gimplify.c
-@@ -58,6 +58,8 @@ along with GCC; see the file COPYING3. If not see
- #include "gomp-constants.h"
- #include "tree-dump.h"
- #include "gimple-walk.h"
-+#include "file-map.h"
-+
- #include "langhooks-def.h" /* FIXME: for lhd_set_decl_assembler_name */
- #include "builtins.h"
- #include "asan.h"
-diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in
-index 0bd3787c25e..d3b52956b52 100644
---- a/libcpp/Makefile.in
-+++ b/libcpp/Makefile.in
-@@ -84,12 +84,12 @@ DEPMODE = $(CXXDEPMODE)
-
-
- libcpp_a_OBJS = charset.o directives.o directives-only.o errors.o \
-- expr.o files.o identifiers.o init.o lex.o line-map.o macro.o \
-- mkdeps.o pch.o symtab.o traditional.o
-+ expr.o file-map.o files.o identifiers.o init.o lex.o line-map.o \
-+ macro.o mkdeps.o pch.o symtab.o traditional.o
-
- libcpp_a_SOURCES = charset.c directives.c directives-only.c errors.c \
-- expr.c files.c identifiers.c init.c lex.c line-map.c macro.c \
-- mkdeps.c pch.c symtab.c traditional.c
-+ expr.c file-map.c files.c identifiers.c init.c lex.c line-map.c \
-+ macro.c mkdeps.c pch.c symtab.c traditional.c
-
- all: libcpp.a $(USED_CATALOGS)
-
-@@ -263,7 +263,7 @@ po/$(PACKAGE).pot: $(libcpp_a_SOURCES)
-
- TAGS_SOURCES = $(libcpp_a_SOURCES) internal.h ucnid.h \
- include/line-map.h include/symtab.h include/cpp-id-data.h \
-- include/cpplib.h include/mkdeps.h system.h
-+ include/cpplib.h include/mkdeps.h system.h include/file-map.h
-
- TAGS: $(TAGS_SOURCES)
- cd $(srcdir) && etags $(TAGS_SOURCES)
-diff --git a/libcpp/file-map.c b/libcpp/file-map.c
-new file mode 100644
-index 00000000000..18035ef6a72
---- /dev/null
-+++ b/libcpp/file-map.c
-@@ -0,0 +1,92 @@
-+/* Map one directory name to another in __FILE__, __BASE_FILE__
-+ and __builtin_FILE ().
-+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
-+
-+This program is free software; you can redistribute it and/or modify it
-+under the terms of the GNU General Public License as published by the
-+Free Software Foundation; either version 3, or (at your option) any
-+later version.
-+
-+This program is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with this program; see the file COPYING3. If not see
-+<http://www.gnu.org/licenses/>.
-+
-+ In other words, you are welcome to use, share and improve this program.
-+ You are forbidden to forbid anyone else to use, share and improve
-+ what you give them. Help stamp out software-hoarding! */
-+
-+#include "config.h"
-+#include "system.h"
-+#include "file-map.h"
-+
-+/* Structure recording the mapping from source file and directory
-+ names at compile time to __FILE__ */
-+typedef struct file_prefix_map
-+{
-+ const char *old_prefix;
-+ const char *new_prefix;
-+ size_t old_len;
-+ size_t new_len;
-+ struct file_prefix_map *next;
-+} file_prefix_map;
-+
-+/* Linked list of such structures. */
-+static file_prefix_map *file_prefix_maps;
-+
-+/* Record prefix mapping of __FILE__. ARG is the argument to
-+ -ffile-prefix-map and must be of the form OLD=NEW. */
-+int
-+add_file_prefix_map (const char *arg)
-+{
-+ file_prefix_map *map;
-+ const char *p;
-+
-+ p = strchr (arg, '=');
-+ if (!p)
-+ {
-+ fprintf(stderr, "invalid argument %qs to -ffile-prefix-map", arg);
-+ return -1;
-+ }
-+ map = XNEW (file_prefix_map);
-+ map->old_prefix = xstrndup (arg, p - arg);
-+ map->old_len = p - arg;
-+ p++;
-+ map->new_prefix = xstrdup (p);
-+ map->new_len = strlen (p);
-+ map->next = file_prefix_maps;
-+ file_prefix_maps = map;
-+
-+ return 0;
-+}
-+
-+/* Perform user-specified mapping of __FILE__ prefixes. Return
-+ the new name corresponding to filename. */
-+
-+const char *
-+remap_file_filename (const char *filename)
-+{
-+ file_prefix_map *map;
-+ char *s;
-+ const char *name;
-+ size_t name_len;
-+
-+ for (map = file_prefix_maps; map; map = map->next)
-+ if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
-+ break;
-+ if (!map)
-+ return filename;
-+ name = filename + map->old_len;
-+ name_len = strlen (name) + 1;
-+ s = (char *) alloca (name_len + map->new_len);
-+ memcpy (s, map->new_prefix, map->new_len);
-+ memcpy (s + map->new_len, name, name_len);
-+
-+ return xstrdup (s);
-+}
-+
-+
-diff --git a/libcpp/include/file-map.h b/libcpp/include/file-map.h
-new file mode 100644
-index 00000000000..87503152d27
---- /dev/null
-+++ b/libcpp/include/file-map.h
-@@ -0,0 +1,30 @@
-+/* Map one directory name to another in __FILE__, __BASE_FILE__
-+ and __builtin_FILE ().
-+ Copyright (C) 2001-2016 Free Software Foundation, Inc.
-+
-+This program is free software; you can redistribute it and/or modify it
-+under the terms of the GNU General Public License as published by the
-+Free Software Foundation; either version 3, or (at your option) any
-+later version.
-+
-+This program is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with this program; see the file COPYING3. If not see
-+<http://www.gnu.org/licenses/>.
-+
-+ In other words, you are welcome to use, share and improve this program.
-+ You are forbidden to forbid anyone else to use, share and improve
-+ what you give them. Help stamp out software-hoarding! */
-+
-+#ifndef LIBCPP_FILE_MAP_H
-+#define LIBCPP_FILE_MAP_H
-+
-+const char * remap_file_filename (const char *filename);
-+
-+int add_file_prefix_map (const char *arg);
-+
-+#endif /* !LIBCPP_FILE_MAP_H */
-diff --git a/libcpp/macro.c b/libcpp/macro.c
-index de18c2210cf..2748c70d520 100644
---- a/libcpp/macro.c
-+++ b/libcpp/macro.c
-@@ -26,6 +26,7 @@ along with this program; see the file COPYING3. If not see
- #include "system.h"
- #include "cpplib.h"
- #include "internal.h"
-+#include "file-map.h"
-
- typedef struct macro_arg macro_arg;
- /* This structure represents the tokens of a macro argument. These
-@@ -301,6 +302,7 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,
- if (!name)
- abort ();
- }
-+ name = remap_file_filename (name);
- len = strlen (name);
- buf = _cpp_unaligned_alloc (pfile, len * 2 + 3);
- result = buf;
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0042-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0042-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
deleted file mode 100644
index 524716790..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0042-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From ddddc7335539fb8a6d30beba21781762df159186 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 16 Mar 2016 05:39:59 -0400
-Subject: [PATCH 42/47] Reuse -fdebug-prefix-map to replace -ffile-prefix-map
-
-The oe-core may use external toolchain to compile,
-which may not support -ffile-prefix-map.
-
-Since we use -fdebug-prefix-map to do the same thing,
-so we could reuse it to replace -ffile-prefix-map.
-
-Upstream-Status: Inappropriate[oe-core specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc/opts-global.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gcc/opts-global.c b/gcc/opts-global.c
-index 50bad77c347..32b1d286721 100644
---- a/gcc/opts-global.c
-+++ b/gcc/opts-global.c
-@@ -31,6 +31,7 @@ along with GCC; see the file COPYING3. If not see
- #include "langhooks.h"
- #include "dbgcnt.h"
- #include "debug.h"
-+#include "file-map.h"
- #include "output.h"
- #include "plugin.h"
- #include "toplev.h"
-@@ -357,6 +358,9 @@ handle_common_deferred_options (void)
-
- case OPT_fdebug_prefix_map_:
- add_debug_prefix_map (opt->arg);
-+
-+ /* Reuse -fdebug-prefix-map to replace -ffile-prefix-map */
-+ add_file_prefix_map (opt->arg);
- break;
-
- case OPT_fdump_:
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0043-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0043-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
deleted file mode 100644
index 74a5c8644..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0043-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 5bc97be388485a5f8dd85db34372a1299bffd263 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 24 Mar 2016 11:23:14 -0400
-Subject: [PATCH 43/47] gcc/final.c: -fdebug-prefix-map support to remap
- sources with relative path
-
-PR other/70428
-* final.c (remap_debug_filename): Use lrealpath to translate
-relative path before remapping
-
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70428
-Upstream-Status: Submitted [gcc-patches@gcc.gnu.org]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc/final.c | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/final.c b/gcc/final.c
-index 820162b2d28..d74cb901abd 100644
---- a/gcc/final.c
-+++ b/gcc/final.c
-@@ -1559,16 +1559,25 @@ remap_debug_filename (const char *filename)
- const char *name;
- size_t name_len;
-
-+ /* Support to remap filename with relative path */
-+ char *realpath = lrealpath (filename);
-+ if (realpath == NULL)
-+ return filename;
-+
- for (map = debug_prefix_maps; map; map = map->next)
-- if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
-+ if (filename_ncmp (realpath, map->old_prefix, map->old_len) == 0)
- break;
- if (!map)
-- return filename;
-- name = filename + map->old_len;
-+ {
-+ free (realpath);
-+ return filename;
-+ }
-+ name = realpath + map->old_len;
- name_len = strlen (name) + 1;
- s = (char *) alloca (name_len + map->new_len);
- memcpy (s, map->new_prefix, map->new_len);
- memcpy (s + map->new_len, name, name_len);
-+ free (realpath);
- return ggc_strdup (s);
- }
-
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0044-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0044-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
deleted file mode 100644
index e39af9b1a..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0044-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 847aec764540636ec654fd7a012e271afa8d4e0f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Apr 2016 20:03:28 +0000
-Subject: [PATCH 44/47] libgcc: Add knob to use ldbl-128 on ppc
-
-musl does not support ldbl 128 so we can not assume
-that linux as a whole supports ldbl-128 bits, instead
-act upon configure option passed to gcc and assume no
-on musl and yes otherwise if no option is passed since
-default behaviour is to assume ldbl128 it does not
-change the defaults
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- libgcc/Makefile.in | 1 +
- libgcc/config/rs6000/t-linux | 5 ++++-
- libgcc/configure | 18 ++++++++++++++++++
- libgcc/configure.ac | 12 ++++++++++++
- 4 files changed, 35 insertions(+), 1 deletion(-)
- mode change 100644 => 100755 libgcc/configure
-
-diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
-index a1a392de88d..2fe6889a342 100644
---- a/libgcc/Makefile.in
-+++ b/libgcc/Makefile.in
-@@ -48,6 +48,7 @@ unwind_header = @unwind_header@
- md_unwind_header = @md_unwind_header@
- sfp_machine_header = @sfp_machine_header@
- thread_header = @thread_header@
-+with_ldbl128 = @with_ldbl128@
-
- host_noncanonical = @host_noncanonical@
- real_host_noncanonical = @real_host_noncanonical@
-diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
-index 4f6d4c4a4d2..c50dd94a2da 100644
---- a/libgcc/config/rs6000/t-linux
-+++ b/libgcc/config/rs6000/t-linux
-@@ -1,3 +1,6 @@
- SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
-
--HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
-+ifeq ($(with_ldbl128),yes)
-+HOST_LIBGCC2_CFLAGS += -mlong-double-128
-+endif
-+HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
-diff --git a/libgcc/configure b/libgcc/configure
-old mode 100644
-new mode 100755
-index 45c459788c3..e2d19b144b8
---- a/libgcc/configure
-+++ b/libgcc/configure
-@@ -618,6 +618,7 @@ build_vendor
- build_cpu
- build
- with_aix_soname
-+with_ldbl128
- enable_vtable_verify
- enable_shared
- libgcc_topdir
-@@ -667,6 +668,7 @@ with_cross_host
- with_ld
- enable_shared
- enable_vtable_verify
-+with_long_double_128
- with_aix_soname
- enable_version_specific_runtime_libs
- with_slibdir
-@@ -1324,6 +1326,7 @@ Optional Packages:
- --with-target-subdir=SUBDIR Configuring in a subdirectory for target
- --with-cross-host=HOST Configuring with a cross compiler
- --with-ld arrange to use the specified ld (full pathname)
-+ --with-long-double-128 use 128-bit long double by default
- --with-aix-soname=aix|svr4|both
- shared library versioning (aka "SONAME") variant to
- provide on AIX
-@@ -2208,6 +2211,21 @@ fi
-
-
-
-+# Check whether --with-long-double-128 was given.
-+if test "${with_long_double_128+set}" = set; then :
-+ withval=$with_long_double_128; with_ldbl128="$with_long_double_128"
-+else
-+ case "${host}" in
-+ power*-*-musl*)
-+ with_ldbl128="no";;
-+ *) with_ldbl128="yes";;
-+ esac
-+
-+fi
-+
-+
-+
-+
- # Check whether --with-aix-soname was given.
- if test "${with_aix_soname+set}" = set; then :
- withval=$with_aix_soname; case "${host}:${enable_shared}" in
-diff --git a/libgcc/configure.ac b/libgcc/configure.ac
-index af151473709..dada52416da 100644
---- a/libgcc/configure.ac
-+++ b/libgcc/configure.ac
-@@ -77,6 +77,18 @@ AC_ARG_ENABLE(vtable-verify,
- [enable_vtable_verify=no])
- AC_SUBST(enable_vtable_verify)
-
-+AC_ARG_WITH(long-double-128,
-+[AS_HELP_STRING([--with-long-double-128],
-+ [use 128-bit long double by default])],
-+ with_ldbl128="$with_long_double_128",
-+[case "${host}" in
-+ power*-*-musl*)
-+ with_ldbl128="no";;
-+ *) with_ldbl128="yes";;
-+ esac
-+])
-+AC_SUBST(with_ldbl128)
-+
- AC_ARG_WITH(aix-soname,
- [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
- [shared library versioning (aka "SONAME") variant to provide on AIX])],
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
deleted file mode 100644
index 3aa038c91..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0045-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 92beb883ab57a23a35ba76c496bc1f4cabb1690e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 4 May 2016 21:11:34 -0700
-Subject: [PATCH 45/47] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
-
-Upstream-Status: Pending
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libgcc/config/t-slibgcc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
-index 76be7710960..a1ee2ee26ed 100644
---- a/libgcc/config/t-slibgcc
-+++ b/libgcc/config/t-slibgcc
-@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
- $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
-
- SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-- $(SHLIB_LDFLAGS) \
-+ $(LDFLAGS) $(SHLIB_LDFLAGS) \
- -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
- $(SHLIB_OBJS) $(SHLIB_LC) && \
- rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0047-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0047-sync-gcc-stddef.h-with-musl.patch
deleted file mode 100644
index 65d22f169..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0047-sync-gcc-stddef.h-with-musl.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 9b951c8f6b0aaff7c16dc4db72b5e56ec73810bb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 3 Feb 2017 12:56:00 -0800
-Subject: [PATCH 47/47] sync gcc stddef.h with musl
-
-musl defines ptrdiff_t size_t and wchar_t
-so dont define them here if musl is definining them
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Inappropriate [OE-Specific]
-
- gcc/ginclude/stddef.h | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
-index 872f451cac9..7e90938387c 100644
---- a/gcc/ginclude/stddef.h
-+++ b/gcc/ginclude/stddef.h
-@@ -134,6 +134,7 @@ _TYPE_wchar_t;
- #ifndef ___int_ptrdiff_t_h
- #ifndef _GCC_PTRDIFF_T
- #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
-+#ifndef __DEFINED_ptrdiff_t /* musl */
- #define _PTRDIFF_T
- #define _T_PTRDIFF_
- #define _T_PTRDIFF
-@@ -143,10 +144,12 @@ _TYPE_wchar_t;
- #define ___int_ptrdiff_t_h
- #define _GCC_PTRDIFF_T
- #define _PTRDIFF_T_DECLARED
-+#define __DEFINED_ptrdiff_t /* musl */
- #ifndef __PTRDIFF_TYPE__
- #define __PTRDIFF_TYPE__ long int
- #endif
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+#endif /* __DEFINED_ptrdiff_t */
- #endif /* _PTRDIFF_T_DECLARED */
- #endif /* _GCC_PTRDIFF_T */
- #endif /* ___int_ptrdiff_t_h */
-@@ -184,6 +187,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #ifndef _GCC_SIZE_T
- #ifndef _SIZET_
- #ifndef __size_t
-+#ifndef __DEFINED_size_t /* musl */
- #define __size_t__ /* BeOS */
- #define __SIZE_T__ /* Cray Unicos/Mk */
- #define _SIZE_T
-@@ -200,6 +204,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #define ___int_size_t_h
- #define _GCC_SIZE_T
- #define _SIZET_
-+#define __DEFINED_size_t /* musl */
- #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
- || defined(__DragonFly__) \
- || defined(__FreeBSD_kernel__)
-@@ -235,6 +240,7 @@ typedef long ssize_t;
- #endif /* _SIZE_T */
- #endif /* __SIZE_T__ */
- #endif /* __size_t__ */
-+#endif /* __DEFINED_size_t */
- #undef __need_size_t
- #endif /* _STDDEF_H or __need_size_t. */
-
-@@ -264,6 +270,7 @@ typedef long ssize_t;
- #ifndef ___int_wchar_t_h
- #ifndef __INT_WCHAR_T_H
- #ifndef _GCC_WCHAR_T
-+#ifndef __DEFINED_wchar_t /* musl */
- #define __wchar_t__ /* BeOS */
- #define __WCHAR_T__ /* Cray Unicos/Mk */
- #define _WCHAR_T
-@@ -279,6 +286,7 @@ typedef long ssize_t;
- #define __INT_WCHAR_T_H
- #define _GCC_WCHAR_T
- #define _WCHAR_T_DECLARED
-+#define __DEFINED_wchar_t /* musl */
-
- /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
- instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
-@@ -344,6 +352,7 @@ typedef __WCHAR_TYPE__ wchar_t;
- #endif
- #endif /* __WCHAR_T__ */
- #endif /* __wchar_t__ */
-+#endif /* __DEFINED_wchar_t musl */
- #undef __need_wchar_t
- #endif /* _STDDEF_H or __need_wchar_t. */
-
---
-2.12.2
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0048-gcc-Enable-static-PIE.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0048-gcc-Enable-static-PIE.patch
deleted file mode 100644
index a96e91339..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0048-gcc-Enable-static-PIE.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 44ef80688b56beea85c0070840dea1e2a4e34aed Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 13 Jun 2017 12:12:52 -0700
-Subject: [PATCH 49/49] gcc: Enable static PIE
-
-Static PIE support in GCC
-see
-https://gcc.gnu.org/ml/gcc/2015-06/msg00008.html
-
-startfiles before patch:
- -static -> crt1.o crti.o crtbeginT.o
- -static -PIE -> crt1.o crti.o crtbeginT.o
-
-after patch:
- -static -> crt1.o crti.o crtbeginT.o
- -static -PIE -> rcrt1.o crti.o crtbeginS.o
-
-Upstream-Status: Pending
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
----
- gcc/config/gnu-user.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
-index de605b0..b035bbe 100644
---- a/gcc/config/gnu-user.h
-+++ b/gcc/config/gnu-user.h
-@@ -52,11 +52,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define GNU_USER_TARGET_STARTFILE_SPEC \
- "%{shared:; \
- pg|p|profile:gcrt1.o%s; \
-- static:crt1.o%s; \
-+ static: %{" PIE_SPEC ": rcrt1.o%s; :crt1.o%s}; \
- " PIE_SPEC ":Scrt1.o%s; \
- :crt1.o%s} \
- crti.o%s \
-- %{static:crtbeginT.o%s; \
-+ %{static: %{" PIE_SPEC ": crtbeginS.o%s; :crtbeginT.o%s}; \
- shared|" PIE_SPEC ":crtbeginS.o%s; \
- :crtbegin.o%s} \
- %{fvtable-verify=none:%s; \
-
-2.13.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch
deleted file mode 100644
index 7c53c95c3..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/0049-gcc-override-TARGET_LIBC_PROVIDES_SSP.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-From 9815bd97561c778ee0bc0c17f245e88e66570111 Mon Sep 17 00:00:00 2001
-From: sandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Wed, 1 Nov 2017 02:14:19 +0000
-Subject: [PATCH] 2017-10-31 Sandra Loosemore <sandra@codesourcery.com>
-
- gcc/
- * configure.ac (--enable-libssp): New.
- (gcc_cv_libc_provides_ssp): Check for explicit setting before
- trying to determine target-specific default. Adjust indentation.
- * configure: Regenerated.
- * doc/install.texi (Configuration): Expand --disable-libssp
- documentation.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254288 138bc75d-0d04-0410-961f-82ee72b054a4
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://patchwork.ozlabs.org/patch/823049/]
-
- gcc/ChangeLog | 9 +++++++++
- gcc/configure | 26 +++++++++++++++++++++++---
- gcc/configure.ac | 24 ++++++++++++++++++++----
- gcc/doc/install.texi | 3 ++-
- 4 files changed, 54 insertions(+), 8 deletions(-)
-
-Index: gcc-7.3.0/gcc/configure.ac
-===================================================================
---- gcc-7.3.0.orig/gcc/configure.ac
-+++ gcc-7.3.0/gcc/configure.ac
-@@ -5719,10 +5719,25 @@ if test x$gcc_cv_solaris_crts = xyes; th
- [Define if the system-provided CRTs are present on Solaris.])
- fi
-
-+AC_ARG_ENABLE(libssp,
-+[AS_HELP_STRING([--enable-libssp], [enable linking against libssp])],
-+[case "${enableval}" in
-+ yes|no)
-+ ;;
-+ *)
-+ AC_MSG_ERROR([unknown libssp setting $enableval])
-+ ;;
-+esac], [])
-+
- # Test for stack protector support in target C library.
- AC_CACHE_CHECK(__stack_chk_fail in target C library,
-- gcc_cv_libc_provides_ssp,
-- [gcc_cv_libc_provides_ssp=no
-+ gcc_cv_libc_provides_ssp,
-+ [gcc_cv_libc_provides_ssp=no
-+ if test "x$enable_libssp" = "xno"; then
-+ gcc_cv_libc_provides_ssp=yes
-+ elif test "x$enable_libssp" = "xyes"; then
-+ gcc_cv_libc_provides_ssp=no
-+ else
- case "$target" in
- *-*-musl*)
- # All versions of musl provide stack protector
-@@ -5759,8 +5774,9 @@ AC_CACHE_CHECK(__stack_chk_fail in targe
- AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
- [echo "no __stack_chk_fail on this target"])
- ;;
-- *) gcc_cv_libc_provides_ssp=no ;;
-- esac])
-+ *) gcc_cv_libc_provides_ssp=no ;;
-+ esac
-+ fi])
-
- if test x$gcc_cv_libc_provides_ssp = xyes; then
- AC_DEFINE(TARGET_LIBC_PROVIDES_SSP, 1,
-Index: gcc-7.3.0/gcc/doc/install.texi
-===================================================================
---- gcc-7.3.0.orig/gcc/doc/install.texi
-+++ gcc-7.3.0/gcc/doc/install.texi
-@@ -1658,7 +1658,8 @@ not be built.
-
- @item --disable-libssp
- Specify that the run-time libraries for stack smashing protection
--should not be built.
-+should not be built or linked against. On many targets library support
-+is provided by the C library instead.
-
- @item --disable-libquadmath
- Specify that the GCC quad-precision math library should not be built.
-Index: gcc-7.3.0/gcc/configure
-===================================================================
---- gcc-7.3.0.orig/gcc/configure
-+++ gcc-7.3.0/gcc/configure
-@@ -940,6 +940,7 @@ enable_fix_cortex_a53_843419
- with_glibc_version
- enable_gnu_unique_object
- enable_linker_build_id
-+enable_libssp
- enable_default_ssp
- with_long_double_128
- with_gc
-@@ -1679,6 +1680,7 @@ Optional Features:
- extension on glibc systems
- --enable-linker-build-id
- compiler will always pass --build-id to linker
-+ --enable-libssp enable linking against libssp
- --enable-default-ssp enable Stack Smashing Protection as default
- --enable-maintainer-mode
- enable make rules and dependencies not useful (and
-@@ -18450,7 +18452,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 18436 "configure"
-+#line 18455 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -18556,7 +18558,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 18542 "configure"
-+#line 18561 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -25234,6 +25236,7 @@ $as_echo "#define HAVE_AS_SPARC5_VIS4 1"
-
- fi
-
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for SPARC6 instructions" >&5
- $as_echo_n "checking assembler for SPARC6 instructions... " >&6; }
- if test "${gcc_cv_as_sparc_sparc6+set}" = set; then :
-@@ -25270,6 +25273,7 @@ $as_echo "#define HAVE_AS_SPARC6 1" >>co
-
- fi
-
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for LEON instructions" >&5
- $as_echo_n "checking assembler for LEON instructions... " >&6; }
- if test "${gcc_cv_as_sparc_leon+set}" = set; then :
-@@ -28947,6 +28951,18 @@ $as_echo "#define HAVE_SOLARIS_CRTS 1" >
-
- fi
-
-+# Check whether --enable-libssp was given.
-+if test "${enable_libssp+set}" = set; then :
-+ enableval=$enable_libssp; case "${enableval}" in
-+ yes|no)
-+ ;;
-+ *)
-+ as_fn_error "unknown libssp setting $enableval" "$LINENO" 5
-+ ;;
-+esac
-+fi
-+
-+
- # Test for stack protector support in target C library.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking __stack_chk_fail in target C library" >&5
- $as_echo_n "checking __stack_chk_fail in target C library... " >&6; }
-@@ -28954,6 +28970,11 @@ if test "${gcc_cv_libc_provides_ssp+set}
- $as_echo_n "(cached) " >&6
- else
- gcc_cv_libc_provides_ssp=no
-+ if test "x$enable_libssp" = "xno"; then
-+ gcc_cv_libc_provides_ssp=yes
-+ elif test "x$enable_libssp" = "xyes"; then
-+ gcc_cv_libc_provides_ssp=no
-+ else
- case "$target" in
- *-*-musl*)
- # All versions of musl provide stack protector
-@@ -29001,8 +29022,9 @@ else
- fi
-
- ;;
-- *) gcc_cv_libc_provides_ssp=no ;;
-+ *) gcc_cv_libc_provides_ssp=no ;;
- esac
-+ fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_libc_provides_ssp" >&5
- $as_echo "$gcc_cv_libc_provides_ssp" >&6; }
-@@ -29037,18 +29059,15 @@ fi
-
-
- # Test for <sys/sdt.h> on the target.
--
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
--$as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
--have_sys_sdt_h=no
-+#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
-+#AC_MSG_CHECKING(sys/sdt.h in the target C library)
-+#have_sys_sdt_h=no
- #if test -f $target_header_dir/sys/sdt.h; then
- # have_sys_sdt_h=yes
--#
--#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
--#
-+# AC_DEFINE(HAVE_SYS_SDT_H, 1,
-+# [Define if your target C library provides sys/sdt.h])
- #fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
--$as_echo "$have_sys_sdt_h" >&6; }
-+#AC_MSG_RESULT($have_sys_sdt_h)
-
- # Check if TFmode long double should be used by default or not.
- # Some glibc targets used DFmode long double, but with glibc 2.4
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/fix-segmentation-fault-precompiled-hdr.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/fix-segmentation-fault-precompiled-hdr.patch
deleted file mode 100644
index c0adef6f2..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/fix-segmentation-fault-precompiled-hdr.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-
-Prevent a segmentation fault which occurs when using incorrect
-structure trying to access name of some named operators, such as
-CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in
-those cases, as is may not be initialized at all.
-
-
-[YOCTO #11738]
-
-Upstream-Status: Pending
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
-diff --git a/libcpp/lex.c b/libcpp/lex.c
---- a/libcpp/lex.c
-+++ b/libcpp/lex.c
-@@ -3229,11 +3229,27 @@
- spell_ident:
- case SPELL_IDENT:
- if (forstring)
-- {
-- memcpy (buffer, NODE_NAME (token->val.node.spelling),
-- NODE_LEN (token->val.node.spelling));
-- buffer += NODE_LEN (token->val.node.spelling);
-- }
-+ {
-+ if (token->type == CPP_NAME)
-+ {
-+ memcpy (buffer, NODE_NAME (token->val.node.spelling),
-+ NODE_LEN (token->val.node.spelling));
-+ buffer += NODE_LEN (token->val.node.spelling);
-+ break;
-+ }
-+ /* NAMED_OP, cannot use node.spelling */
-+ if (token->flags & NAMED_OP)
-+ {
-+ const char *str = cpp_named_operator2name (token->type);
-+ if (str)
-+ {
-+ size_t len = strlen(str);
-+ memcpy(buffer, str, len);
-+ buffer += len;
-+ }
-+ break;
-+ }
-+ }
- else
- buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
- break;
diff --git a/poky/meta/recipes-devtools/gcc/gcc-7.3/no-sse-fix-test-case-failures.patch b/poky/meta/recipes-devtools/gcc/gcc-7.3/no-sse-fix-test-case-failures.patch
deleted file mode 100644
index cb87c5ab7..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-7.3/no-sse-fix-test-case-failures.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-From f22830da2ba64577deb6f717d05d86c03dd2e50d Mon Sep 17 00:00:00 2001
-From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>
-Date: Wed, 6 Dec 2017 22:52:26 -0800
-Subject: [PATCH] Fix for testsuite failure
-
-2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com>
-
- * gcc.dg/pr56275.c: If SSE is disabled, ensure that
- "-mfpmath" is not set to use SSE. Set "-mfpmath=387".
- * gcc.dg/pr68306.c: Likewise
- * gcc.dg/pr68306-2.c: Likewise
- * gcc.dg/pr68306-3.c: Likewise
- * gcc.dg/pr69634.c: Likewise
- * gcc.target/i386/amd64-abi-1.c: Likewise
- * gcc.target/i386/funcspec-6.c: Likewise
- * gcc.target/i386/interrupt-387-err-1.c: Likewise
- * gcc.target/i386/isa-14.c: Likewise
- * gcc.target/i386/pr44948-2b.c: Likewise
- * gcc.target/i386/pr53425-1.c: Likewise
- * gcc.target/i386/pr53425-2.c: Likewise
- * gcc.target/i386/pr55247.c: Likewise
- * gcc.target/i386/pr59644.c: Likewise
- * gcc.target/i386/pr62120.c: Likewise
- * gcc.target/i386/pr70467-1.c: Likewise
- * gcc.target/i386/warn-vect-op-1.c: Likewise
-
-If -Wall, -Werror are used during compilation various test cases fail
-to compile.
-
-If SSE is disabled, be sure to -mfpmath=387 to resolve this.
-
-This patch removes the changes to Changelog from the original patch.
-This will help us avoid conflicts.
-
-Upstream-Status: Pending
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- gcc/testsuite/ChangeLog | 21 +++++++++++++++++++++
- gcc/testsuite/gcc.dg/pr56275.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306-2.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306-3.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306.c | 2 +-
- gcc/testsuite/gcc.dg/pr69634.c | 2 +-
- .../gcc/testsuite/gcc.target/i386/amd64-abi-1.c | 2 +-
- .../gcc/testsuite/gcc.target/i386/funcspec-6.c | 1 +
- .../testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/isa-14.c | 2 +-
- .../gcc/testsuite/gcc.target/i386/pr44948-2b.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr53425-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr53425-2.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr55247.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr59644.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr62120.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr70467-1.c | 2 +-
- .../gcc/testsuite/gcc.target/i386/warn-vect-op-1.c | 2 +-
- 18 files changed, 38 insertions(+), 16 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c
-index b901bb2..a4f6c95 100644
---- a/gcc/testsuite/gcc.dg/pr56275.c
-+++ b/gcc/testsuite/gcc.dg/pr56275.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O2" } */
--/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
-+/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
-
- typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long))));
-
-diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c
-index 4672ebe..2a368c4 100644
---- a/gcc/testsuite/gcc.dg/pr68306-2.c
-+++ b/gcc/testsuite/gcc.dg/pr68306-2.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
-
- struct {
- int tz_minuteswest;
-diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c
-index f5a8c10..df3390c 100644
---- a/gcc/testsuite/gcc.dg/pr68306-3.c
-+++ b/gcc/testsuite/gcc.dg/pr68306-3.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
- /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */
-
- extern void fn2();
-diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c
-index 54e5b40..0813389 100644
---- a/gcc/testsuite/gcc.dg/pr68306.c
-+++ b/gcc/testsuite/gcc.dg/pr68306.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
-
- enum powerpc_pmc_type { PPC_PMC_IBM };
- struct {
-diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c
-index 60a5614..bcc23f9 100644
---- a/gcc/testsuite/gcc.dg/pr69634.c
-+++ b/gcc/testsuite/gcc.dg/pr69634.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */
--/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
- /* { dg-require-effective-target scheduling } */
-
- typedef unsigned short u16;
-diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-index 69fde57..7f1f1c0 100644
---- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-mno-sse" } */
-+/* { dg-options "-mno-sse -mfpmath=387" } */
- /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
-
- double foo(void) { return 0; } /* { dg-error "SSE disabled" } */
-diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c
-index ea896b7..bf15569 100644
---- a/gcc/testsuite/gcc.target/i386/funcspec-6.c
-+++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c
-@@ -1,6 +1,7 @@
- /* Test whether all of the 64-bit function specific options are accepted
- without error. */
- /* { dg-do compile { target { ! ia32 } } } */
-+/* { dg-additional-options "-mfpmath=387" } */
-
- #include "funcspec-56.inc"
-
-diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-index 3fbdc88..6b4d9d1 100644
---- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-+++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */
-+/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */
-
- typedef unsigned int uword_t __attribute__ ((mode (__word__)));
-
-diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c
-index 5d49e6e..1de2db9 100644
---- a/gcc/testsuite/gcc.target/i386/isa-14.c
-+++ b/gcc/testsuite/gcc.target/i386/isa-14.c
-@@ -1,5 +1,5 @@
- /* { dg-do run } */
--/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */
-+/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */
-
- extern void abort (void);
-
-diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-index fa1769b..f79fb12 100644
---- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-+++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */
-+/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */
-
- struct A
- {
-diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c
-index 2e89ff7..6339bf6 100644
---- a/gcc/testsuite/gcc.target/i386/pr53425-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c
-@@ -1,6 +1,6 @@
- /* PR target/53425 */
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
- /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
-
- typedef double __v2df __attribute__ ((__vector_size__ (16)));
-diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c
-index 61f6283..2c5a55f 100644
---- a/gcc/testsuite/gcc.target/i386/pr53425-2.c
-+++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c
-@@ -1,6 +1,6 @@
- /* PR target/53425 */
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
- /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
-
- typedef float __v2sf __attribute__ ((__vector_size__ (8)));
-diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c
-index 23366d0..9810e3a 100644
---- a/gcc/testsuite/gcc.target/i386/pr55247.c
-+++ b/gcc/testsuite/gcc.target/i386/pr55247.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile { target { ! ia32 } } } */
- /* { dg-require-effective-target maybe_x32 } */
--/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */
-+/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */
-
- typedef unsigned int uint32_t;
- typedef uint32_t Elf32_Word;
-diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c
-index 96006b3..4287e45 100644
---- a/gcc/testsuite/gcc.target/i386/pr59644.c
-+++ b/gcc/testsuite/gcc.target/i386/pr59644.c
-@@ -1,6 +1,6 @@
- /* PR target/59644 */
- /* { dg-do run { target lp64 } } */
--/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */
-+/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */
-
- /* This test uses __builtin_trap () instead of e.g. abort,
- because due to -mpreferred-stack-boundary=3 it should not call
-diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c
-index bfb8c47..ed04cf1 100644
---- a/gcc/testsuite/gcc.target/i386/pr62120.c
-+++ b/gcc/testsuite/gcc.target/i386/pr62120.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-mno-sse" } */
-+/* { dg-options "-mno-sse -mfpmath=387" } */
-
- void foo ()
- {
-diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c
-index 4e112c8..bcfb396 100644
---- a/gcc/testsuite/gcc.target/i386/pr70467-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c
-@@ -1,6 +1,6 @@
- /* PR rtl-optimization/70467 */
- /* { dg-do compile } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
-
- void foo (unsigned long long *);
-
-diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-index 6cda153..26e37f5 100644
---- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-+++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-mno-sse -Wvector-operation-performance" } */
-+/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" } */
- #define vector(elcount, type) \
- __attribute__((vector_size((elcount)*sizeof(type)))) type
-
---
-1.8.5.6
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2.inc b/poky/meta/recipes-devtools/gcc/gcc-8.2.inc
deleted file mode 100644
index 866a77558..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2.inc
+++ /dev/null
@@ -1,127 +0,0 @@
-require gcc-common.inc
-
-# Third digit in PV should be incremented after a minor release
-
-PV = "8.2.0"
-
-# BINV should be incremented to a revision after a minor gcc release
-
-BINV = "8.2.0"
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-8.2:${FILE_DIRNAME}/gcc-8.2/backport:"
-
-DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
-NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
-
-LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
-
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
-"
-
-#RELEASE = "8.0.1-RC-20180427"
-BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
-#SRCREV = "f7cf798b73fd1a07098f9a490deec1e2a36e0bed"
-#BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
-#BASEURI ?= "http://mirrors.concertpass.com/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz"
-
-SRC_URI = "\
- ${BASEURI} \
- file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
- file://0003-gcc-poison-system-directories.patch \
- file://0005-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
- file://0006-64-bit-multilib-hack.patch \
- file://0007-optional-libstdc.patch \
- file://0008-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \
- file://0009-COLLECT_GCC_OPTIONS.patch \
- file://0010-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
- file://0011-fortran-cross-compile-hack.patch \
- file://0012-cpp-honor-sysroot.patch \
- file://0013-MIPS64-Default-to-N64-ABI.patch \
- file://0014-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
- file://0015-gcc-Fix-argument-list-too-long-error.patch \
- file://0016-Disable-sdt.patch \
- file://0017-libtool.patch \
- file://0018-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
- file://0019-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
- file://0020-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
- file://0021-export-CPP.patch \
- file://0022-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch \
- file://0023-Ensure-target-gcc-headers-can-be-included.patch \
- file://0024-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
- file://0025-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
- file://0026-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
- file://0027-aarch64-Add-support-for-musl-ldso.patch \
- file://0028-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
- file://0029-handle-sysroot-support-for-nativesdk-gcc.patch \
- file://0030-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
- file://0031-Fix-various-_FOR_BUILD-and-related-variables.patch \
- file://0032-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
- file://0033-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
- file://0034-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
- file://0035-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
- file://0036-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
- file://0037-sync-gcc-stddef.h-with-musl.patch \
- file://0038-fix-segmentation-fault-in-precompiled-header-generat.patch \
- file://0039-Fix-for-testsuite-failure.patch \
- file://0040-Re-introduce-spe-commandline-options.patch \
- file://0041-ARC-fix-spec-gen.patch \
- ${BACKPORTS} \
-"
-BACKPORTS = "\
-"
-SRC_URI[md5sum] = "4ab282f414676496483b3e1793d07862"
-SRC_URI[sha256sum] = "196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080"
-
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
-#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
-#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${RELEASE}"
-B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
-
-# Language Overrides
-FORTRAN = ""
-JAVA = ""
-
-LTO = "--enable-lto"
-SSP ?= "--disable-libssp"
-SSP_mingw32 = "--enable-libssp"
-
-EXTRA_OECONF_BASE = "\
- ${LTO} \
- ${SSP} \
- --enable-libitm \
- --disable-bootstrap \
- --disable-libmudflap \
- --with-system-zlib \
- ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
- --enable-linker-build-id \
- --with-ppl=no \
- --with-cloog=no \
- --enable-checking=release \
- --enable-cheaders=c_global \
- --without-isl \
-"
-
-EXTRA_OECONF_INITIAL = "\
- --disable-libmudflap \
- --disable-libgomp \
- --disable-libitm \
- --disable-libquadmath \
- --with-system-zlib \
- --disable-lto \
- --disable-plugin \
- --enable-linker-build-id \
- --enable-decimal-float=no \
- --without-isl \
- --disable-libssp \
-"
-
-EXTRA_OECONF_PATHS = "\
- --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
- --with-sysroot=/not/exist \
- --with-build-sysroot=${STAGING_DIR_TARGET} \
-"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
deleted file mode 100644
index 423fe28e1..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From b752fb2b6d6f6da68da5386b96abf0d74cd4bbe6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:37:11 +0400
-Subject: [PATCH 01/39] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- configure | 2 +-
- configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index 69c99e99cca..517fb70192e 100755
---- a/configure
-+++ b/configure
-@@ -7511,7 +7511,7 @@ fi
- # for target_alias and gcc doesn't manage it consistently.
- target_configargs="--cache-file=./config.cache ${target_configargs}"
-
--FLAGS_FOR_TARGET=
-+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
- case " $target_configdirs " in
- *" newlib "*)
- case " $target_configargs " in
-diff --git a/configure.ac b/configure.ac
-index a1edc369a27..f8c254f1fac 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3100,7 +3100,7 @@ fi
- # for target_alias and gcc doesn't manage it consistently.
- target_configargs="--cache-file=./config.cache ${target_configargs}"
-
--FLAGS_FOR_TARGET=
-+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
- case " $target_configdirs " in
- *" newlib "*)
- case " $target_configargs " in
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0003-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0003-gcc-poison-system-directories.patch
deleted file mode 100644
index 05138976c..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0003-gcc-poison-system-directories.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 48c670d2678e0323d88eb72205e039f393cabe05 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:59:00 +0400
-Subject: [PATCH 03/39] gcc: poison-system-directories
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [distribution: codesourcery]
----
- gcc/common.opt | 4 ++++
- gcc/config.in | 6 ++++++
- gcc/configure | 16 ++++++++++++++++
- gcc/configure.ac | 10 ++++++++++
- gcc/doc/invoke.texi | 9 +++++++++
- gcc/gcc.c | 2 ++
- gcc/incpath.c | 19 +++++++++++++++++++
- 7 files changed, 66 insertions(+)
-
-diff --git a/gcc/common.opt b/gcc/common.opt
-index d6ef85928f3..7b29efe3882 100644
---- a/gcc/common.opt
-+++ b/gcc/common.opt
-@@ -679,6 +679,10 @@ Wreturn-local-addr
- Common Var(warn_return_local_addr) Init(1) Warning
- Warn about returning a pointer/reference to a local or temporary variable.
-
-+Wpoison-system-directories
-+Common Var(flag_poison_system_directories) Init(1) Warning
-+Warn for -I and -L options using system directories if cross compiling
-+
- Wshadow
- Common Var(warn_shadow) Warning
- Warn when one variable shadows another. Same as -Wshadow=global.
-diff --git a/gcc/config.in b/gcc/config.in
-index 5bccb408016..1c784a8276b 100644
---- a/gcc/config.in
-+++ b/gcc/config.in
-@@ -194,6 +194,12 @@
- #endif
-
-
-+/* Define to warn for use of native system header directories */
-+#ifndef USED_FOR_TARGET
-+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
-+#endif
-+
-+
- /* Define if you want all operations on RTL (the basic data structure of the
- optimizer and back end) to be checked for dynamic type safety at runtime.
- This is quite expensive. */
-diff --git a/gcc/configure b/gcc/configure
-index 5c345ce0fd7..cafd05fd150 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -953,6 +953,7 @@ with_system_zlib
- enable_maintainer_mode
- enable_link_mutex
- enable_version_specific_runtime_libs
-+enable_poison_system_directories
- enable_plugin
- enable_host_shared
- enable_libquadmath_support
-@@ -1696,6 +1697,8 @@ Optional Features:
- --enable-version-specific-runtime-libs
- specify that runtime libraries should be installed
- in a compiler-specific directory
-+ --enable-poison-system-directories
-+ warn for use of native system header directories
- --enable-plugin enable plugin support
- --enable-host-shared build host code as shared libraries
- --disable-libquadmath-support
-@@ -29715,6 +29718,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
- fi
-
-
-+# Check whether --enable-poison-system-directories was given.
-+if test "${enable_poison_system_directories+set}" = set; then :
-+ enableval=$enable_poison_system_directories;
-+else
-+ enable_poison_system_directories=no
-+fi
-+
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+
-+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
-+
-+fi
-+
- # Substitute configuration variables
-
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 65dbf1f2f80..dd5b38195ce 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -6341,6 +6341,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
- [specify that runtime libraries should be
- installed in a compiler-specific directory])])
-
-+AC_ARG_ENABLE([poison-system-directories],
-+ AS_HELP_STRING([--enable-poison-system-directories],
-+ [warn for use of native system header directories]),,
-+ [enable_poison_system_directories=no])
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
-+ [1],
-+ [Define to warn for use of native system header directories])
-+fi
-+
- # Substitute configuration variables
- AC_SUBST(subdirs)
- AC_SUBST(srcdir)
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index 255149fcfb8..cb71b60fe3c 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -303,6 +303,7 @@ Objective-C and Objective-C++ Dialects}.
- -Wpacked -Wpacked-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
- -Wparentheses -Wno-pedantic-ms-format @gol
- -Wplacement-new -Wplacement-new=@var{n} @gol
-+-Wno-poison-system-directories @gol
- -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol
- -Wno-pragmas -Wredundant-decls -Wrestrict -Wno-return-local-addr @gol
- -Wreturn-type -Wsequence-point -Wshadow -Wno-shadow-ivar @gol
-@@ -5712,6 +5713,14 @@ made up of data only and thus requires no special treatment. But, for
- most targets, it is made up of code and thus requires the stack to be
- made executable in order for the program to work properly.
-
-+@item -Wno-poison-system-directories
-+@opindex Wno-poison-system-directories
-+Do not warn for @option{-I} or @option{-L} options using system
-+directories such as @file{/usr/include} when cross compiling. This
-+option is intended for use in chroot environments when such
-+directories contain the correct headers and libraries for the target
-+system rather than the host.
-+
- @item -Wfloat-equal
- @opindex Wfloat-equal
- @opindex Wno-float-equal
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index a716f708259..02b3cd39fc2 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1037,6 +1037,8 @@ proper position among the other output files. */
- "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
- "%X %{o*} %{e*} %{N} %{n} %{r}\
- %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \
-+ %{Wno-poison-system-directories:--no-poison-system-directories} \
-+ %{Werror=poison-system-directories:--error-poison-system-directories} \
- %{static|no-pie|static-pie:} %{L*} %(mfwrap) %(link_libgcc) " \
- VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \
- %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
-diff --git a/gcc/incpath.c b/gcc/incpath.c
-index b11c6a57939..e3b7a21966f 100644
---- a/gcc/incpath.c
-+++ b/gcc/incpath.c
-@@ -26,6 +26,7 @@
- #include "intl.h"
- #include "incpath.h"
- #include "cppdefault.h"
-+#include "diagnostic-core.h"
-
- /* Microsoft Windows does not natively support inodes.
- VMS has non-numeric inodes. */
-@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
- }
- fprintf (stderr, _("End of search list.\n"));
- }
-+
-+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
-+ if (flag_poison_system_directories)
-+ {
-+ struct cpp_dir *p;
-+
-+ for (p = heads[INC_QUOTE]; p; p = p->next)
-+ {
-+ if ((!strncmp (p->name, "/usr/include", 12))
-+ || (!strncmp (p->name, "/usr/local/include", 18))
-+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
-+ || (!strncmp (p->name, "/sw/include", 11))
-+ || (!strncmp (p->name, "/opt/include", 12)))
-+ warning (OPT_Wpoison_system_directories,
-+ "include location \"%s\" is unsafe for "
-+ "cross-compilation",
-+ p->name);
-+ }
-+ }
-+#endif
- }
-
- /* Use given -I paths for #include "..." but not #include <...>, and
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0005-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0005-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
deleted file mode 100644
index 8b1b9769a..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0005-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From ae3fe6e5e50937de6e4223ca90810187372a8cf5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:08:31 +0400
-Subject: [PATCH 05/39] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
-
-Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
-
-This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
-
-Other changes I had to do include:
-
-- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
-
-- passing the right CFLAGS to configure scripts as exported environment variables
-
-I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
-
-Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
-
-Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- configure | 32 ++++++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-diff --git a/configure b/configure
-index 517fb70192e..acd2b97df40 100755
---- a/configure
-+++ b/configure
-@@ -6772,6 +6772,38 @@ fi
-
-
-
-+# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
-+# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
-+# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
-+# We want to ensure that TARGET libraries (which we know are built with
-+# gcc) are built with "-O2 -g", so include those options when setting
-+# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
-+if test "x$CFLAGS_FOR_TARGET" = x; then
-+ CFLAGS_FOR_TARGET=$CFLAGS
-+ case " $CFLAGS " in
-+ *" -O2 "*) ;;
-+ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
-+ esac
-+ case " $CFLAGS " in
-+ *" -g "* | *" -g3 "*) ;;
-+ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
-+ esac
-+fi
-+
-+
-+if test "x$CXXFLAGS_FOR_TARGET" = x; then
-+ CXXFLAGS_FOR_TARGET=$CXXFLAGS
-+ case " $CXXFLAGS " in
-+ *" -O2 "*) ;;
-+ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
-+ esac
-+ case " $CXXFLAGS " in
-+ *" -g "* | *" -g3 "*) ;;
-+ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
-+ esac
-+fi
-+
-+
- # Handle --with-headers=XXX. If the value is not "yes", the contents of
- # the named directory are copied to $(tooldir)/sys-include.
- if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0006-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0006-64-bit-multilib-hack.patch
deleted file mode 100644
index 0dce95c89..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0006-64-bit-multilib-hack.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 89af3b7399313b337f06c19cc2d787aa16d27711 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:10:06 +0400
-Subject: [PATCH 06/39] 64-bit multilib hack.
-
-GCC has internal multilib handling code but it assumes a very specific rigid directory
-layout. The build system implementation of multilib layout is very generic and allows
-complete customisation of the library directories.
-
-This patch is a partial solution to allow any custom directories to be passed into gcc
-and handled correctly. It forces gcc to use the base_libdir (which is the current
-directory, "."). We need to do this for each multilib that is configured as we don't
-know which compiler options may be being passed into the compiler. Since we have a compiler
-per mulitlib at this point that isn't an issue.
-
-The one problem is the target compiler is only going to work for the default multlilib at
-this point. Ideally we'd figure out which multilibs were being enabled with which paths
-and be able to patch these entries with a complete set of correct paths but this we
-don't have such code at this point. This is something the target gcc recipe should do
-and override these platform defaults in its build config.
-
-RP 15/8/11
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/config/i386/t-linux64 | 6 ++----
- gcc/config/mips/t-linux64 | 10 +++-------
- gcc/config/rs6000/t-linux64 | 5 ++---
- 3 files changed, 7 insertions(+), 14 deletions(-)
-
-diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
-index 8ea0faff369..266c6008004 100644
---- a/gcc/config/i386/t-linux64
-+++ b/gcc/config/i386/t-linux64
-@@ -32,7 +32,5 @@
- #
- comma=,
- MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
--MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
--MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
--MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
--MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
-+MULTILIB_DIRNAMES = . .
-+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
-index c017b7d04c5..126892cf40b 100644
---- a/gcc/config/mips/t-linux64
-+++ b/gcc/config/mips/t-linux64
-@@ -17,10 +17,6 @@
- # <http://www.gnu.org/licenses/>.
-
- MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
--MULTILIB_DIRNAMES = n32 32 64
--MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
--MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
--MULTILIB_OSDIRNAMES = \
-- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
-- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
-- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
-+MULTILIB_DIRNAMES = . . .
-+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-+
-diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
-index 0faa2a02df4..13fd8ca971e 100644
---- a/gcc/config/rs6000/t-linux64
-+++ b/gcc/config/rs6000/t-linux64
-@@ -26,10 +26,9 @@
- # MULTILIB_OSDIRNAMES according to what is found on the target.
-
- MULTILIB_OPTIONS := m64/m32
--MULTILIB_DIRNAMES := 64 32
-+MULTILIB_DIRNAMES := . .
- MULTILIB_EXTRA_OPTS :=
--MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
--MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
-+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-
- rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
- $(COMPILE) $<
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0007-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0007-optional-libstdc.patch
deleted file mode 100644
index 721ea03fa..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0007-optional-libstdc.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From fb7df63e9548c29b70601d642a1850fc455f8565 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:12:56 +0400
-Subject: [PATCH 07/39] optional libstdc
-
-gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
-will not run correctly since by default the linker will try to link against libstdc++
-which shouldn't exist yet. We need an option to disable -lstdc++
-option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
-driver. This patch adds such an option which only disables the -lstdc++.
-
-A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
-do this officially, the likely answer is don't build libstdc++ separately.
-
-RP 29/6/10
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- gcc/c-family/c.opt | 4 ++++
- gcc/cp/g++spec.c | 1 +
- gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++-
- gcc/gcc.c | 1 +
- 4 files changed, 37 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
-index 5013501b232..6312f2c8f90 100644
---- a/gcc/c-family/c.opt
-+++ b/gcc/c-family/c.opt
-@@ -1900,6 +1900,10 @@ nostdinc++
- C++ ObjC++
- Do not search standard system include directories for C++.
-
-+nostdlib++
-+Driver
-+Do not link standard C++ runtime library
-+
- o
- C ObjC C++ ObjC++ Joined Separate
- ; Documented in common.opt
-diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
-index 443a1746da3..e9b51be62ef 100644
---- a/gcc/cp/g++spec.c
-+++ b/gcc/cp/g++spec.c
-@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
- switch (decoded_options[i].opt_index)
- {
- case OPT_nostdlib:
-+ case OPT_nostdlib__:
- case OPT_nodefaultlibs:
- library = -1;
- break;
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index cb71b60fe3c..b0d481e3a30 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -211,6 +211,9 @@ in the following sections.
- -fno-weak -nostdinc++ @gol
- -fvisibility-inlines-hidden @gol
- -fvisibility-ms-compat @gol
-+-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
-+-fvtv-counts -fvtv-debug @gol
-+-nostdlib++ @gol
- -fext-numeric-literals @gol
- -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol
- -Wdelete-non-virtual-dtor -Wliteral-suffix -Wmultiple-inheritance @gol
-@@ -509,7 +512,7 @@ Objective-C and Objective-C++ Dialects}.
- -s -static -static-pie -static-libgcc -static-libstdc++ @gol
- -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol
- -static-libmpx -static-libmpxwrappers @gol
---shared -shared-libgcc -symbolic @gol
-+-shared -shared-libgcc -symbolic -nostdlib++ @gol
- -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol
- -u @var{symbol} -z @var{keyword}}
-
-@@ -12331,6 +12334,33 @@ library subroutines.
- constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
- GNU Compiler Collection (GCC) Internals}.)
-
-+@item -nostdlib++
-+@opindex nostdlib++
-+Do not use the standard system C++ runtime libraries when linking.
-+Only the libraries you specify will be passed to the linker.
-+
-+@cindex @option{-lgcc}, use with @option{-nostdlib}
-+@cindex @option{-nostdlib} and unresolved references
-+@cindex unresolved references and @option{-nostdlib}
-+@cindex @option{-lgcc}, use with @option{-nodefaultlibs}
-+@cindex @option{-nodefaultlibs} and unresolved references
-+@cindex unresolved references and @option{-nodefaultlibs}
-+One of the standard libraries bypassed by @option{-nostdlib} and
-+@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
-+which GCC uses to overcome shortcomings of particular machines, or special
-+needs for some languages.
-+(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
-+Collection (GCC) Internals},
-+for more discussion of @file{libgcc.a}.)
-+In most cases, you need @file{libgcc.a} even when you want to avoid
-+other standard libraries. In other words, when you specify @option{-nostdlib}
-+or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
-+This ensures that you have no unresolved references to internal GCC
-+library subroutines.
-+(An example of such an internal subroutine is @code{__main}, used to ensure C++
-+constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
-+GNU Compiler Collection (GCC) Internals}.)
-+
- @item -pie
- @opindex pie
- Produce a dynamically linked position independent executable on targets
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 02b3cd39fc2..8cd27a5dad5 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1047,6 +1047,7 @@ proper position among the other output files. */
- %(mflib) " STACK_SPLIT_SPEC "\
- %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
- %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
-+ %{!nostdlib++:}\
- %{!nostdlib:%{!nostartfiles:%E}} %{T*} \n%(post_link) }}}}}}"
- #endif
-
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0008-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0008-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
deleted file mode 100644
index a76b7f735..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0008-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 11eb97efccb90b830c84ed077a25b1a15ad3335b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:14:20 +0400
-Subject: [PATCH 08/39] gcc: disable MASK_RELAX_PIC_CALLS bit
-
-The new feature added after 4.3.3
-"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
-will cause cc1plus eat up all the system memory when build webkit-gtk.
-The function mips_get_pic_call_symbol keeps on recursively calling itself.
-Disable this feature to walk aside the bug.
-
-Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- gcc/configure | 7 -------
- gcc/configure.ac | 7 -------
- 2 files changed, 14 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index cafd05fd150..19ba051d673 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -27553,13 +27553,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6;
- rm -f conftest.*
- fi
- fi
-- if test $gcc_cv_as_ld_jalr_reloc = yes; then
-- if test x$target_cpu_default = x; then
-- target_cpu_default=MASK_RELAX_PIC_CALLS
-- else
-- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
-- fi
-- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
- $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index dd5b38195ce..066dfe19bb6 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4798,13 +4798,6 @@ x:
- rm -f conftest.*
- fi
- fi
-- if test $gcc_cv_as_ld_jalr_reloc = yes; then
-- if test x$target_cpu_default = x; then
-- target_cpu_default=MASK_RELAX_PIC_CALLS
-- else
-- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
-- fi
-- fi
- AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
-
- AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0009-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0009-COLLECT_GCC_OPTIONS.patch
deleted file mode 100644
index 3abece0da..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0009-COLLECT_GCC_OPTIONS.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e19d25847f08eeb5ef26a031fa5eff732bfd0d43 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:16:28 +0400
-Subject: [PATCH 09/39] COLLECT_GCC_OPTIONS
-
-This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
-invoke collect2.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/gcc.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 8cd27a5dad5..d355d65583a 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -4677,6 +4677,15 @@ set_collect_gcc_options (void)
- sizeof ("COLLECT_GCC_OPTIONS=") - 1);
-
- first_time = TRUE;
-+#ifdef HAVE_LD_SYSROOT
-+ if (target_system_root_changed && target_system_root)
-+ {
-+ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
-+ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
-+ obstack_grow (&collect_obstack, "'", 1);
-+ first_time = FALSE;
-+ }
-+#endif
- for (i = 0; (int) i < n_switches; i++)
- {
- const char *const *args;
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0010-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0010-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
deleted file mode 100644
index 5785b5893..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0010-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 265cb883c310f3bb7e49fd13b81362476fbeb6c1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:17:25 +0400
-Subject: [PATCH 10/39] Use the defaults.h in ${B} instead of ${S}, and t-oe in
- ${B}
-
-Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
-the source can be shared between gcc-cross-initial,
-gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
-While compiling gcc-crosssdk-initial-x86_64 on some host, there is
-occasionally failure that test the existance of default.h doesn't
-work, the reason is tm_include_list='** defaults.h' rather than
-tm_include_list='** ./defaults.h'
-
-So we add the test condition for this situation.
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc/Makefile.in | 2 +-
- gcc/configure | 4 ++--
- gcc/configure.ac | 4 ++--
- gcc/mkconfig.sh | 4 ++--
- 4 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 20bee0494b1..1367136bfac 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -538,7 +538,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
- TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
-
- xmake_file=@xmake_file@
--tmake_file=@tmake_file@
-+tmake_file=@tmake_file@ ./t-oe
- TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
- TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
- TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
-diff --git a/gcc/configure b/gcc/configure
-index 19ba051d673..a575839c1b2 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -12158,8 +12158,8 @@ for f in $tm_file; do
- tm_include_list="${tm_include_list} $f"
- ;;
- defaults.h )
-- tm_file_list="${tm_file_list} \$(srcdir)/$f"
-- tm_include_list="${tm_include_list} $f"
-+ tm_file_list="${tm_file_list} ./$f"
-+ tm_include_list="${tm_include_list} ./$f"
- ;;
- * )
- tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 066dfe19bb6..676116a6d96 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1922,8 +1922,8 @@ for f in $tm_file; do
- tm_include_list="${tm_include_list} $f"
- ;;
- defaults.h )
-- tm_file_list="${tm_file_list} \$(srcdir)/$f"
-- tm_include_list="${tm_include_list} $f"
-+ tm_file_list="${tm_file_list} ./$f"
-+ tm_include_list="${tm_include_list} ./$f"
- ;;
- * )
- tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
-diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
-index 0f75c863c0b..68d8d6613cf 100644
---- a/gcc/mkconfig.sh
-+++ b/gcc/mkconfig.sh
-@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
- if [ $# -ge 1 ]; then
- echo '#ifdef IN_GCC' >> ${output}T
- for file in "$@"; do
-- if test x"$file" = x"defaults.h"; then
-+ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then
- postpone_defaults_h="yes"
- else
- echo "# include \"$file\"" >> ${output}T
-@@ -106,7 +106,7 @@ esac
-
- # If we postponed including defaults.h, add the #include now.
- if test x"$postpone_defaults_h" = x"yes"; then
-- echo "# include \"defaults.h\"" >> ${output}T
-+ echo "# include \"./defaults.h\"" >> ${output}T
- fi
-
- # Add multiple inclusion protection guard, part two.
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0011-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0011-fortran-cross-compile-hack.patch
deleted file mode 100644
index fe0fb7d53..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0011-fortran-cross-compile-hack.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 71cba188d47b6ae9d9b87261eb4bc9eb68ae355d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:20:01 +0400
-Subject: [PATCH 11/39] fortran cross-compile hack.
-
-* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
-used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
-directory.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- libgfortran/configure | 2 +-
- libgfortran/configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libgfortran/configure b/libgfortran/configure
-index 91fce8fecd0..6747f86eb98 100755
---- a/libgfortran/configure
-+++ b/libgfortran/configure
-@@ -12883,7 +12883,7 @@ esac
-
- # We need gfortran to compile parts of the library
- #AC_PROG_FC(gfortran)
--FC="$GFORTRAN"
-+#FC="$GFORTRAN"
- ac_ext=${ac_fc_srcext-f}
- ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
- ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
-diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
-index bf6d3634dda..9dbe43cc616 100644
---- a/libgfortran/configure.ac
-+++ b/libgfortran/configure.ac
-@@ -250,7 +250,7 @@ AC_SUBST(enable_static)
-
- # We need gfortran to compile parts of the library
- #AC_PROG_FC(gfortran)
--FC="$GFORTRAN"
-+#FC="$GFORTRAN"
- AC_PROG_FC(gfortran)
-
- # extra LD Flags which are required for targets
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0012-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0012-cpp-honor-sysroot.patch
deleted file mode 100644
index 961f96f11..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0012-cpp-honor-sysroot.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From b3e8e7e8ae106e3207e9edc3d23dcce1464b755f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:22:00 +0400
-Subject: [PATCH 12/39] cpp: honor sysroot.
-
-Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
-preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
-rather than the --sysroot option specified on the commandline. If access to that directory is
-permission denied (unreadable), gcc will error.
-
-This happens when ccache is in use due to the fact it uses preprocessed source files.
-
-The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
--isystem, -isysroot happen and the correct sysroot is used.
-
-[YOCTO #2074]
-
-RP 2012/04/13
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/cp/lang-specs.h | 2 +-
- gcc/gcc.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
-index f0802b8915c..f324d299849 100644
---- a/gcc/cp/lang-specs.h
-+++ b/gcc/cp/lang-specs.h
-@@ -64,5 +64,5 @@ along with GCC; see the file COPYING3. If not see
- {".ii", "@c++-cpp-output", 0, 0, 0},
- {"@c++-cpp-output",
- "%{!M:%{!MM:%{!E:\
-- cc1plus -fpreprocessed %i %(cc1_options) %2\
-+ cc1plus -fpreprocessed %i %I %(cc1_options) %2\
- %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index d355d65583a..570cdc00034 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1343,7 +1343,7 @@ static const struct compiler default_compilers[] =
- %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
- {".i", "@cpp-output", 0, 0, 0},
- {"@cpp-output",
-- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
- {".s", "@assembler", 0, 0, 0},
- {"@assembler",
- "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0013-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0013-MIPS64-Default-to-N64-ABI.patch
deleted file mode 100644
index 8ef8806b2..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0013-MIPS64-Default-to-N64-ABI.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0f3629978cd7c98614e87d4fd190b89864221631 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:23:08 +0400
-Subject: [PATCH 13/39] MIPS64: Default to N64 ABI
-
-MIPS64 defaults to n32 ABI, this patch makes it
-so that it defaults to N64 ABI
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE config specific]
----
- gcc/config.gcc | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/gcc/config.gcc b/gcc/config.gcc
-index 8741dd1e3b2..2ffcb39d85f 100644
---- a/gcc/config.gcc
-+++ b/gcc/config.gcc
-@@ -2137,29 +2137,29 @@ mips*-*-linux*) # Linux MIPS, either endian.
- default_mips_arch=mips32
- ;;
- mips64el-st-linux-gnu)
-- default_mips_abi=n32
-+ default_mips_abi=64
- tm_file="${tm_file} mips/st.h"
- tmake_file="${tmake_file} mips/t-st"
- enable_mips_multilibs="yes"
- ;;
- mips64octeon*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
- target_cpu_default=MASK_SOFT_FLOAT_ABI
- enable_mips_multilibs="yes"
- ;;
- mipsisa64r6*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- default_mips_arch=mips64r6
- enable_mips_multilibs="yes"
- ;;
- mipsisa64r2*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- default_mips_arch=mips64r2
- enable_mips_multilibs="yes"
- ;;
- mips64*-*-linux* | mipsisa64*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- enable_mips_multilibs="yes"
- ;;
- esac
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0014-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0014-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
deleted file mode 100644
index 043bb9dd2..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0014-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-From 53f1c382b1366c5621c8edead9c766950c290fd9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:24:50 +0400
-Subject: [PATCH 14/39] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
- relative to SYSTEMLIBS_DIR
-
-This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
-relative to SYSTEMLIBS_DIR which can be set in generated headers
-This breaks the assumption of hardcoded multilib in gcc
-Change is only for the supported architectures in OE including
-SH, sparc, alpha for possible future support (if any)
-
-Removes the do_headerfix task in metadata
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE configuration]
----
- gcc/config/alpha/linux-elf.h | 4 ++--
- gcc/config/arm/linux-eabi.h | 4 ++--
- gcc/config/arm/linux-elf.h | 2 +-
- gcc/config/i386/linux.h | 2 +-
- gcc/config/i386/linux64.h | 6 +++---
- gcc/config/linux.h | 8 ++++----
- gcc/config/mips/linux.h | 12 ++++++------
- gcc/config/riscv/linux.h | 2 +-
- gcc/config/rs6000/linux64.h | 16 ++++++----------
- gcc/config/sh/linux.h | 2 +-
- gcc/config/sparc/linux.h | 2 +-
- gcc/config/sparc/linux64.h | 4 ++--
- 12 files changed, 30 insertions(+), 34 deletions(-)
-
-diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
-index 36b74dc1993..02373578af8 100644
---- a/gcc/config/alpha/linux-elf.h
-+++ b/gcc/config/alpha/linux-elf.h
-@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
- #define EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
--#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
- #if DEFAULT_LIBC == LIBC_UCLIBC
- #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
- #elif DEFAULT_LIBC == LIBC_GLIBC
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index 8585fde3d41..b3af68cac57 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -62,8 +62,8 @@
- GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
-
- #undef GLIBC_DYNAMIC_LINKER
--#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
--#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
-+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
-+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
- #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
-
- #define GLIBC_DYNAMIC_LINKER \
-diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
-index cfcd9cb1a5c..a798e987ecb 100644
---- a/gcc/config/arm/linux-elf.h
-+++ b/gcc/config/arm/linux-elf.h
-@@ -60,7 +60,7 @@
-
- #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #define LINUX_TARGET_LINK_SPEC "%{h*} \
- %{static:-Bstatic} \
-diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
-index 69f97f15b0d..71bc31d9231 100644
---- a/gcc/config/i386/linux.h
-+++ b/gcc/config/i386/linux.h
-@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
-
- #define GNU_USER_LINK_EMULATION "elf_i386"
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef MUSL_DYNAMIC_LINKER
- #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
-diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
-index f2d913e30ac..8725f33d8a5 100644
---- a/gcc/config/i386/linux64.h
-+++ b/gcc/config/i386/linux64.h
-@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
- #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
--#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index 2ea4ff92c1d..487b0c0923b 100644
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
-@@ -81,10 +81,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
- GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
- supporting both 32-bit and 64-bit compilation. */
--#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
- #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
- #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
- #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
-diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
-index 2dfd0c18b90..12057c51b5e 100644
---- a/gcc/config/mips/linux.h
-+++ b/gcc/config/mips/linux.h
-@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
- #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
-
- #define GLIBC_DYNAMIC_LINKER32 \
-- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
- #define GLIBC_DYNAMIC_LINKER64 \
-- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
- #define GLIBC_DYNAMIC_LINKERN32 \
-- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
-
- #undef UCLIBC_DYNAMIC_LINKER32
- #define UCLIBC_DYNAMIC_LINKER32 \
-- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
- #undef UCLIBC_DYNAMIC_LINKER64
- #define UCLIBC_DYNAMIC_LINKER64 \
-- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
- #define UCLIBC_DYNAMIC_LINKERN32 \
-- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 \
-diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
-index aa8a28d5d..ebf9551c9 100644
---- a/gcc/config/riscv/linux.h
-+++ b/gcc/config/riscv/linux.h
-@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.
- GNU_USER_TARGET_OS_CPP_BUILTINS(); \
- } while (0)
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
-
- #define MUSL_ABI_SUFFIX \
- "%{mabi=ilp32:-sf}" \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 90fe6566255..55695dadd91 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -420,16 +420,11 @@ extern int dot_symbols;
- #undef LINK_OS_DEFAULT_SPEC
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-
--#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
--
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
- #ifdef LINUX64_DEFAULT_ABI_ELFv2
--#define GLIBC_DYNAMIC_LINKER64 \
--"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
--":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
-+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
- #else
--#define GLIBC_DYNAMIC_LINKER64 \
--"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
--":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
-+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
- #endif
-
- #define MUSL_DYNAMIC_LINKER32 \
-@@ -437,8 +432,9 @@ extern int dot_symbols;
- #define MUSL_DYNAMIC_LINKER64 \
- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-
--#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
-+
- #if DEFAULT_LIBC == LIBC_UCLIBC
- #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
- "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
-diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
-index 6d2ccd012ba..ec78a89ce15 100644
---- a/gcc/config/sh/linux.h
-+++ b/gcc/config/sh/linux.h
-@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
- "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
- "%{mfdpic:-fdpic}.so.1"
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
-diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
-index 9fb03af0fe9..401fddbbb22 100644
---- a/gcc/config/sparc/linux.h
-+++ b/gcc/config/sparc/linux.h
-@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef LINK_SPEC
- #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
-diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
-index c1fe42165b7..26a79bfa2e3 100644
---- a/gcc/config/sparc/linux64.h
-+++ b/gcc/config/sparc/linux64.h
-@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #ifdef SPARC_BI_ARCH
-
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0015-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0015-gcc-Fix-argument-list-too-long-error.patch
deleted file mode 100644
index 4bff84285..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0015-gcc-Fix-argument-list-too-long-error.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 2e75a14cd60227e036790184f0eb400abc3c870b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:26:37 +0400
-Subject: [PATCH 15/39] gcc: Fix argument list too long error.
-
-There would be an "Argument list too long" error when the
-build directory is longer than 200, this is caused by:
-
-headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
-
-The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
-it, use the $(sort list) of GNU make which can handle the too long list
-would fix the problem, the header would be short enough after sorted.
-The "tr ' ' '\012'" was used for translating the space to "\n", the
-$(sort list) doesn't need this.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 1367136bfac..71a8275c39f 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -3538,7 +3538,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
- # We keep the directory structure for files in config or c-family and .def
- # files. All other files are flattened to a single directory.
- $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
-- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
-+ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
- for file in $$headers; do \
- if [ -f $$file ] ; then \
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0016-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0016-Disable-sdt.patch
deleted file mode 100644
index 819754620..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0016-Disable-sdt.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 423d87ac47d21e399d759d7ff3b638f0c721a7df Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:28:10 +0400
-Subject: [PATCH 16/39] Disable sdt.
-
-We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
-It may or may not exist from preivous builds though. To be determinstic, disable
-sdt.h usage always. This avoids build failures if the header is removed after configure
-but before libgcc is compiled for example.
-
-RP 2012/8/7
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Disable sdt for libstdc++-v3.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Upstream-Status: Inappropriate [hack]
----
- gcc/configure | 12 ++++++------
- gcc/configure.ac | 18 +++++++++---------
- libstdc++-v3/configure | 6 +++---
- libstdc++-v3/configure.ac | 2 +-
- 4 files changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index a575839c1b2..872338f29b6 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -29296,12 +29296,12 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
- $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
- have_sys_sdt_h=no
--if test -f $target_header_dir/sys/sdt.h; then
-- have_sys_sdt_h=yes
--
--$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
--
--fi
-+#if test -f $target_header_dir/sys/sdt.h; then
-+# have_sys_sdt_h=yes
-+#
-+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+#
-+#fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
- $as_echo "$have_sys_sdt_h" >&6; }
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 676116a6d96..55046e68926 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5957,15 +5957,15 @@ fi
- AC_SUBST([enable_default_ssp])
-
- # Test for <sys/sdt.h> on the target.
--GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
--AC_MSG_CHECKING(sys/sdt.h in the target C library)
--have_sys_sdt_h=no
--if test -f $target_header_dir/sys/sdt.h; then
-- have_sys_sdt_h=yes
-- AC_DEFINE(HAVE_SYS_SDT_H, 1,
-- [Define if your target C library provides sys/sdt.h])
--fi
--AC_MSG_RESULT($have_sys_sdt_h)
-+#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
-+#AC_MSG_CHECKING(sys/sdt.h in the target C library)
-+#have_sys_sdt_h=no
-+#if test -f $target_header_dir/sys/sdt.h; then
-+# have_sys_sdt_h=yes
-+# AC_DEFINE(HAVE_SYS_SDT_H, 1,
-+# [Define if your target C library provides sys/sdt.h])
-+#fi
-+#AC_MSG_RESULT($have_sys_sdt_h)
-
- # Check if TFmode long double should be used by default or not.
- # Some glibc targets used DFmode long double, but with glibc 2.4
-diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
-index c9dbaa139d5..c64a77d152b 100755
---- a/libstdc++-v3/configure
-+++ b/libstdc++-v3/configure
-@@ -21786,11 +21786,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-- if test $glibcxx_cv_sys_sdt_h = yes; then
-+# if test $glibcxx_cv_sys_sdt_h = yes; then
-
--$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-
-- fi
-+# fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
- $as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
-
-diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
-index 0ef96270c9c..afe55a1b215 100644
---- a/libstdc++-v3/configure.ac
-+++ b/libstdc++-v3/configure.ac
-@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
- GLIBCXX_CHECK_SC_NPROC_ONLN
- GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
- GLIBCXX_CHECK_SYSCTL_HW_NCPU
--GLIBCXX_CHECK_SDT_H
-+#GLIBCXX_CHECK_SDT_H
-
- # Check for available headers.
- AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0017-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0017-libtool.patch
deleted file mode 100644
index 0caa1ce16..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0017-libtool.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From c8b11e96b11910b2d4df6ae8104466e3303d933f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:29:11 +0400
-Subject: [PATCH 17/39] libtool
-
-libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
-when running on am x86_64 build host.
-
-This patch stops this speading to libdir in the libstdc++.la file within libtool.
-Arguably, it shouldn't be passing this into libtool in the first place but
-for now this resolves the nastiest problems this causes.
-
-func_normal_abspath would resolve an empty path to `pwd` so we need
-to filter the zero case.
-
-RP 2012/8/24
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- ltmain.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 9503ec85d70..0121fba707f 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -6359,6 +6359,10 @@ func_mode_link ()
- func_warning "ignoring multiple \`-rpath's for a libtool library"
-
- install_libdir="$1"
-+ if test -n "$install_libdir"; then
-+ func_normal_abspath "$install_libdir"
-+ install_libdir=$func_normal_abspath_result
-+ fi
-
- oldlibs=
- if test -z "$rpath"; then
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0018-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0018-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
deleted file mode 100644
index 643cc671b..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0018-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 7dbba844a59bdf6e7d724f8bfa7927246cb7af8f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:30:32 +0400
-Subject: [PATCH 18/39] gcc: armv4: pass fix-v4bx to linker to support EABI.
-
-The LINK_SPEC for linux gets overwritten by linux-eabi.h which
-means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
-the option is not passed to linker when chosing march=armv4
-This patch redefines this in linux-eabi.h and reinserts it
-for eabi defaulting toolchains.
-
-We might want to send it upstream.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/config/arm/linux-eabi.h | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index b3af68cac57..330b6e13c5f 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -88,10 +88,14 @@
- #define MUSL_DYNAMIC_LINKER \
- "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
-
-+/* For armv4 we pass --fix-v4bx to linker to support EABI */
-+#undef TARGET_FIX_V4BX_SPEC
-+#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
-+
- /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
- use the GNU/Linux version, not the generic BPABI version. */
- #undef LINK_SPEC
--#define LINK_SPEC EABI_LINK_SPEC \
-+#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \
- LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
- LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
-
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0019-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0019-Use-the-multilib-config-files-from-B-instead-of-usin.patch
deleted file mode 100644
index 084918652..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0019-Use-the-multilib-config-files-from-B-instead-of-usin.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 117140acd3c383f620ff75894276001c7405dcce Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:33:04 +0400
-Subject: [PATCH 19/39] Use the multilib config files from ${B} instead of
- using the ones from ${S}
-
-Use the multilib config files from ${B} instead of using the ones from ${S}
-so that the source can be shared between gcc-cross-initial,
-gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- gcc/configure | 22 ++++++++++++++++++----
- gcc/configure.ac | 22 ++++++++++++++++++----
- 2 files changed, 36 insertions(+), 8 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 872338f29b6..cfcadc93a01 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -12138,10 +12138,20 @@ done
- tmake_file_=
- for f in ${tmake_file}
- do
-- if test -f ${srcdir}/config/$f
-- then
-- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-- fi
-+ case $f in
-+ */t-linux64 )
-+ if test -f ./config/$f
-+ then
-+ tmake_file_="${tmake_file_} ./config/$f"
-+ fi
-+ ;;
-+ * )
-+ if test -f ${srcdir}/config/$f
-+ then
-+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-+ fi
-+ ;;
-+ esac
- done
- tmake_file="${tmake_file_}"
-
-@@ -12152,6 +12162,10 @@ tm_file_list="options.h"
- tm_include_list="options.h insn-constants.h"
- for f in $tm_file; do
- case $f in
-+ */linux64.h )
-+ tm_file_list="${tm_file_list} ./config/$f"
-+ tm_include_list="${tm_include_list} ./config/$f"
-+ ;;
- ./* )
- f=`echo $f | sed 's/^..//'`
- tm_file_list="${tm_file_list} $f"
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 55046e68926..44b90478f55 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1902,10 +1902,20 @@ done
- tmake_file_=
- for f in ${tmake_file}
- do
-- if test -f ${srcdir}/config/$f
-- then
-- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-- fi
-+ case $f in
-+ */t-linux64 )
-+ if test -f ./config/$f
-+ then
-+ tmake_file_="${tmake_file_} ./config/$f"
-+ fi
-+ ;;
-+ * )
-+ if test -f ${srcdir}/config/$f
-+ then
-+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-+ fi
-+ ;;
-+ esac
- done
- tmake_file="${tmake_file_}"
-
-@@ -1916,6 +1926,10 @@ tm_file_list="options.h"
- tm_include_list="options.h insn-constants.h"
- for f in $tm_file; do
- case $f in
-+ */linux64.h )
-+ tm_file_list="${tm_file_list} ./config/$f"
-+ tm_include_list="${tm_include_list} ./config/$f"
-+ ;;
- ./* )
- f=`echo $f | sed 's/^..//'`
- tm_file_list="${tm_file_list} $f"
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0020-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0020-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
deleted file mode 100644
index 911fe8521..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0020-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a7266111a5ba2d146c979e86ff84f6b807ca5fdc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 09:39:38 +0000
-Subject: [PATCH 20/39] Avoid using libdir from .la which usually points to a
- host path
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 0121fba707f..52bdbdb5f9c 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -5628,6 +5628,9 @@ func_mode_link ()
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
-+ # Instead of using libdir from .la which usually points to a host path,
-+ # use the path the .la is contained in.
-+ libdir="$abs_ladir"
- dir="$libdir"
- absdir="$libdir"
- fi
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0021-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0021-export-CPP.patch
deleted file mode 100644
index 2e6b41106..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0021-export-CPP.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From c8599fc3b5781b319707c9c0f1b0a1ef7cddb027 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 09:40:59 +0000
-Subject: [PATCH 21/39] export CPP
-
-The OE environment sets and exports CPP as being the target gcc. When
-building gcc-cross-canadian for a mingw targetted sdk, the following can be found
-in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
-
-configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
-configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5
-configure:3666: $? = 0
-configure:3698: result: no
-configure:3786: checking how to run the C preprocessor
-configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
-configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
-configure:3876: $? = 0
-
-Note this is a *build* target (in build-x86_64-linux) so it should be
-using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
-headers are very different, using the wrong cpp is a real problem. It is leaking
-into configure through the CPP variable. Ultimately this leads to build
-failures related to not being able to include a process.h file for pem-unix.c.
-
-The fix is to ensure we export a sane CPP value into the build
-environment when using build targets. We could define a CPP_FOR_BUILD value which may be
-the version which needs to be upstreamed but for now, this fix is good enough to
-avoid the problem.
-
-RP 22/08/2013
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.in b/Makefile.in
-index 2bf83b72265..1af45580086 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
- AR="$(AR_FOR_BUILD)"; export AR; \
- AS="$(AS_FOR_BUILD)"; export AS; \
- CC="$(CC_FOR_BUILD)"; export CC; \
-+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0022-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0022-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
deleted file mode 100644
index 17c581f11..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0022-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 5e2ee46c720b6ce03a18da70dd4e0917c258ab0b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 10:21:55 +0000
-Subject: [PATCH 22/39] Disable the MULTILIB_OSDIRNAMES and other multilib
- options.
-
-Hard coding the MULTILIB_OSDIRNAMES with ../lib64 is causing problems on
-systems where the libdir is NOT set to /lib64. This is allowed by the
-ABI, as
-long as the dynamic loader is present in /lib.
-
-We simply want to use the default rules in gcc to find and configure the
-normal libdir.
-
-Upstream-Status: Inappropriate[OE-Specific]
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/aarch64/t-aarch64-linux | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
-index b9897785a89..7d06f0d0edb 100644
---- a/gcc/config/aarch64/t-aarch64-linux
-+++ b/gcc/config/aarch64/t-aarch64-linux
-@@ -21,8 +21,8 @@
- LIB1ASMSRC = aarch64/lib1funcs.asm
- LIB1ASMFUNCS = _aarch64_sync_cache_range
-
--AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
--MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
--MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-+#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-+#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
-+#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-
--MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
-+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0023-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0023-Ensure-target-gcc-headers-can-be-included.patch
deleted file mode 100644
index 4d4da1a52..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0023-Ensure-target-gcc-headers-can-be-included.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 73766424a2f71b1810fb8afdd863028855d87e5a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 10:25:11 +0000
-Subject: [PATCH 23/39] Ensure target gcc headers can be included
-
-There are a few headers installed as part of the OpenEmbedded
-gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
-built for the target architecture, these are within the target
-sysroot and not cross/nativesdk; thus they weren't able to be
-found by gcc with the existing search paths. Add support for
-picking up these headers under the sysroot supplied on the gcc
-command line in order to resolve this.
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/Makefile.in | 2 ++
- gcc/cppdefault.c | 4 ++++
- gcc/defaults.h | 9 +++++++++
- gcc/gcc.c | 7 -------
- 4 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 71a8275c39f..5ae693fb06c 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -614,6 +614,7 @@ libexecdir = @libexecdir@
-
- # Directory in which the compiler finds libraries etc.
- libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
-+libsubdir_target = gcc/$(target_noncanonical)/$(version)
- # Directory in which the compiler finds executables
- libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
- # Directory in which all plugin resources are installed
-@@ -2870,6 +2871,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
-
- PREPROCESSOR_DEFINES = \
- -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
-+ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \
- -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
- -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
- -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
-diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index b36a979d5ba..e2e187dedaf 100644
---- a/gcc/cppdefault.c
-+++ b/gcc/cppdefault.c
-@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[]
- /* This is the dir for gcc's private headers. */
- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
- #endif
-+#ifdef GCC_INCLUDE_SUBDIR_TARGET
-+ /* This is the dir for gcc's private headers under the specified sysroot. */
-+ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
-+#endif
- #ifdef LOCAL_INCLUDE_DIR
- /* /usr/local/include comes before the fixincluded header files. */
- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
-diff --git a/gcc/defaults.h b/gcc/defaults.h
-index 78a08a33f12..c8851277674 100644
---- a/gcc/defaults.h
-+++ b/gcc/defaults.h
-@@ -1451,4 +1451,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
- #endif
-
-+/* Default prefixes to attach to command names. */
-+
-+#ifndef STANDARD_STARTFILE_PREFIX_1
-+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
-+#endif
-+#ifndef STANDARD_STARTFILE_PREFIX_2
-+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
-+#endif
-+
- #endif /* ! GCC_DEFAULTS_H */
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 570cdc00034..3fb64d453f1 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1464,13 +1464,6 @@ static const char *gcc_libexec_prefix;
-
- /* Default prefixes to attach to command names. */
-
--#ifndef STANDARD_STARTFILE_PREFIX_1
--#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
--#endif
--#ifndef STANDARD_STARTFILE_PREFIX_2
--#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
--#endif
--
- #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */
- #undef MD_EXEC_PREFIX
- #undef MD_STARTFILE_PREFIX
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0024-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0024-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
deleted file mode 100644
index 67b47f4ec..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0024-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 57beef69396f6c187014b8e61cdc966218479d07 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 11:17:19 +0000
-Subject: [PATCH 24/39] gcc 4.8+ won't build with --disable-dependency-tracking
-
-since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
-
-This patch ensures we only use those compiler options when its enabled.
-
-Upstream-Status: Submitted
-
-(Problem was already reported upstream, attached this patch there
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
-
-RP
-2012/09/22
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libatomic/Makefile.am | 3 ++-
- libatomic/Makefile.in | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
-index 803b292cce5..b47842eb590 100644
---- a/libatomic/Makefile.am
-+++ b/libatomic/Makefile.am
-@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
-
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
-diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
-index c8f38be5835..4fab7cec3ea 100644
---- a/libatomic/Makefile.in
-+++ b/libatomic/Makefile.in
-@@ -335,7 +335,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
- PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0025-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0025-Don-t-search-host-directory-during-relink-if-inst_pr.patch
deleted file mode 100644
index d8b35bbbe..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0025-Don-t-search-host-directory-during-relink-if-inst_pr.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From fd96c9b35c592f1bdd32bc5ae669157473e44063 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 3 Mar 2015 08:21:19 +0000
-Subject: [PATCH 25/39] Don't search host directory during "relink" if
- $inst_prefix is provided
-
-http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 52bdbdb5f9c..82bcec39f05 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -6004,12 +6004,13 @@ func_mode_link ()
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
-+ # Default if $libdir is not relative to the prefix:
- add_dir="-L$libdir"
-- # Try looking first in the location we're being installed to.
-+
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
-- add_dir="$add_dir -L$inst_prefix_dir$libdir"
-+ add_dir="-L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0026-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0026-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
deleted file mode 100644
index d3ab5aa9c..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0026-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c2e400afe8c514357859fca88af4d3e1fcbfe2ff Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Apr 2015 23:15:27 -0700
-Subject: [PATCH 26/39] Use SYSTEMLIBS_DIR replacement instead of hardcoding
- base_libdir
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- gcc/config/aarch64/aarch64-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index bf1327e98cc..64436183bc8 100644
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
-@@ -21,7 +21,7 @@
- #ifndef GCC_AARCH64_LINUX_H
- #define GCC_AARCH64_LINUX_H
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef MUSL_DYNAMIC_LINKER
- #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0027-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0027-aarch64-Add-support-for-musl-ldso.patch
deleted file mode 100644
index 9e5ce8a60..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0027-aarch64-Add-support-for-musl-ldso.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a2cc175769fd8255750eaecae64e3d1f9c38d48f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Apr 2015 23:18:39 -0700
-Subject: [PATCH 27/39] aarch64: Add support for musl ldso
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- gcc/config/aarch64/aarch64-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index 64436183bc8..ba156676026 100644
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
-@@ -24,7 +24,7 @@
- #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef MUSL_DYNAMIC_LINKER
--#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef ASAN_CC1_SPEC
- #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0028-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0028-libcc1-fix-libcc1-s-install-path-and-rpath.patch
deleted file mode 100644
index 2673f4e36..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0028-libcc1-fix-libcc1-s-install-path-and-rpath.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From a8a8a02788ff98f253ce0b33adcb0e661d24b1e3 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sun, 5 Jul 2015 20:25:18 -0700
-Subject: [PATCH 28/39] libcc1: fix libcc1's install path and rpath
-
-* Install libcc1.so and libcc1plugin.so into
- $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
- had done to lto-plugin.
-* Fix bad RPATH iussue:
- gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
- /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
- [rpaths]
-
-Upstream-Status: Inappropriate [OE configuration]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- libcc1/Makefile.am | 4 ++--
- libcc1/Makefile.in | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
-index 6ecb66b4365..634cce3c2a9 100644
---- a/libcc1/Makefile.am
-+++ b/libcc1/Makefile.am
-@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
- $(Wc)$(libiberty_normal)))
- libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
-
--plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
--cc1libdir = $(libdir)/$(libsuffix)
-+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
-+plugindir = $(cc1libdir)
-
- if ENABLE_PLUGIN
- plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
-diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
-index 47be10025ad..8d5481d87bd 100644
---- a/libcc1/Makefile.in
-+++ b/libcc1/Makefile.in
-@@ -303,8 +303,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
- $(Wc)$(libiberty_normal)))
-
- libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
--plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
--cc1libdir = $(libdir)/$(libsuffix)
-+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
-+plugindir = $(cc1libdir)
- @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
- @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
- shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0029-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0029-handle-sysroot-support-for-nativesdk-gcc.patch
deleted file mode 100644
index 727bb0da3..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0029-handle-sysroot-support-for-nativesdk-gcc.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From 3bb74495e45e0e798daae5556497e688b8fc4eef Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:39:54 +0000
-Subject: [PATCH 29/39] handle sysroot support for nativesdk-gcc
-
-Being able to build a nativesdk gcc is useful, particularly in cases
-where the host compiler may be of an incompatible version (or a 32
-bit compiler is needed).
-
-Sadly, building nativesdk-gcc is not straight forward. We install
-nativesdk-gcc into a relocatable location and this means that its
-library locations can change. "Normal" sysroot support doesn't help
-in this case since the values of paths like "libdir" change, not just
-base root directory of the system.
-
-In order to handle this we do two things:
-
-a) Add %r into spec file markup which can be used for injected paths
- such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
-b) Add other paths which need relocation into a .gccrelocprefix section
- which the relocation code will notice and adjust automatically.
-
-Upstream-Status: Inappropriate
-RP 2015/7/28
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++-------------
- gcc/cppdefault.h | 3 ++-
- gcc/gcc.c | 20 +++++++++++++------
- 3 files changed, 53 insertions(+), 20 deletions(-)
-
-diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index e2e187dedaf..2faba2b1d63 100644
---- a/gcc/cppdefault.c
-+++ b/gcc/cppdefault.c
-@@ -35,6 +35,30 @@
- # undef CROSS_INCLUDE_DIR
- #endif
-
-+static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
-+static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
-+static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
-+static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
-+static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
-+#ifdef LOCAL_INCLUDE_DIR
-+static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR;
-+#endif
-+#ifdef PREFIX_INCLUDE_DIR
-+static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR;
-+#endif
-+#ifdef FIXED_INCLUDE_DIR
-+static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR;
-+#endif
-+#ifdef CROSS_INCLUDE_DIR
-+static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR;
-+#endif
-+#ifdef TOOL_INCLUDE_DIR
-+static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR;
-+#endif
-+#ifdef NATIVE_SYSTEM_HEADER_DIR
-+static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR;
-+#endif
-+
- const struct default_include cpp_include_defaults[]
- #ifdef INCLUDE_DEFAULTS
- = INCLUDE_DEFAULTS;
-@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[]
- = {
- #ifdef GPLUSPLUS_INCLUDE_DIR
- /* Pick up GNU C++ generic include files. */
-- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
- #endif
- #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
- /* Pick up GNU C++ target-dependent include files. */
-- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
- #endif
- #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
- /* Pick up GNU C++ backward and deprecated include files. */
-- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
- #endif
- #ifdef GCC_INCLUDE_DIR
- /* This is the dir for gcc's private headers. */
-- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
-+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
- #endif
- #ifdef GCC_INCLUDE_SUBDIR_TARGET
- /* This is the dir for gcc's private headers under the specified sysroot. */
-- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
-+ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 },
- #endif
- #ifdef LOCAL_INCLUDE_DIR
- /* /usr/local/include comes before the fixincluded header files. */
-- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
-- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
-+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 },
-+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
- #endif
- #ifdef PREFIX_INCLUDE_DIR
-- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
-+ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 },
- #endif
- #ifdef FIXED_INCLUDE_DIR
- /* This is the dir for fixincludes. */
-- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
-+ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
- /* A multilib suffix needs adding if different multilibs use
- different headers. */
- #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
-@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
- #endif
- #ifdef CROSS_INCLUDE_DIR
- /* One place the target system's headers might be. */
-- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
-+ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
- #endif
- #ifdef TOOL_INCLUDE_DIR
- /* Another place the target system's headers might be. */
-- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 },
-+ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 },
- #endif
- #ifdef NATIVE_SYSTEM_HEADER_DIR
- /* /usr/include comes dead last. */
-- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
-- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
-+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
-+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
- #endif
- { 0, 0, 0, 0, 0, 0 }
- };
-diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
-index 4a0186d1cf2..29e5d9da0dc 100644
---- a/gcc/cppdefault.h
-+++ b/gcc/cppdefault.h
-@@ -33,7 +33,8 @@
-
- struct default_include
- {
-- const char *const fname; /* The name of the directory. */
-+ const char *fname; /* The name of the directory. */
-+
- const char *const component; /* The component containing the directory
- (see update_path in prefix.c) */
- const char cplusplus; /* Only look here if we're compiling C++. */
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 3fb64d453f1..cd0c7fbe961 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -248,6 +248,8 @@ FILE *report_times_to_file = NULL;
- #endif
- static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
-
-+static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR;
-+
- /* Nonzero means pass the updated target_system_root to the compiler. */
-
- static int target_system_root_changed;
-@@ -519,6 +521,7 @@ or with constant text in a single argument.
- %G process LIBGCC_SPEC as a spec.
- %R Output the concatenation of target_system_root and
- target_sysroot_suffix.
-+ %r Output the base path target_relocatable_prefix
- %S process STARTFILE_SPEC as a spec. A capital S is actually used here.
- %E process ENDFILE_SPEC as a spec. A capital E is actually used here.
- %C process CPP_SPEC as a spec.
-@@ -1487,10 +1490,10 @@ static const char *gcc_libexec_prefix;
- gcc_exec_prefix is set because, in that case, we know where the
- compiler has been installed, and use paths relative to that
- location instead. */
--static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
--static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX;
--static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
--static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
-+static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
-+static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX;
-+static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX;
-+static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
-
- /* For native compilers, these are well-known paths containing
- components that may be provided by the system. For cross
-@@ -1498,9 +1501,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
- static const char *md_exec_prefix = MD_EXEC_PREFIX;
- static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
- static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
--static const char *const standard_startfile_prefix_1
-+static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix")))
- = STANDARD_STARTFILE_PREFIX_1;
--static const char *const standard_startfile_prefix_2
-+static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix")))
- = STANDARD_STARTFILE_PREFIX_2;
-
- /* A relative path to be used in finding the location of tools
-@@ -5849,6 +5852,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
- }
- break;
-
-+ case 'r':
-+ obstack_grow (&obstack, target_relocatable_prefix,
-+ strlen (target_relocatable_prefix));
-+ break;
-+
- case 'S':
- value = do_spec_1 (startfile_spec, 0, NULL);
- if (value != 0)
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0030-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0030-Search-target-sysroot-gcc-version-specific-dirs-with.patch
deleted file mode 100644
index 33566dffa..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0030-Search-target-sysroot-gcc-version-specific-dirs-with.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From f5cc8cd0c44092dc487106ade27e011c1f584ada Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:41:45 +0000
-Subject: [PATCH 30/39] Search target sysroot gcc version specific dirs with
- multilib.
-
-We install the gcc libraries (such as crtbegin.p) into
-<sysroot><libdir>/<target-sys>/5.2.0/
-which is a default search path for GCC (aka multi_suffix in the
-code below). <target-sys> is 'machine' in gcc's terminology. We use
-these directories so that multiple gcc versions could in theory
-co-exist on target.
-
-We only want to build one gcc-cross-canadian per arch and have this work
-for all multilibs. <target-sys> can be handled by mapping the multilib
-<target-sys> to the one used by gcc-cross-canadian, e.g.
-mips64-polkmllib32-linux
-is symlinked to by mips64-poky-linux.
-
-The default gcc search path in the target sysroot for a "lib64" mutlilib
-is:
-
-<sysroot>/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/../lib64/
-<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/../lib64/
-<sysroot>/lib32/
-<sysroot>/usr/lib32/
-
-which means that the lib32 crtbegin.o will be found and the lib64 ones
-will not which leads to compiler failures.
-
-This patch injects a multilib version of that path first so the lib64
-binaries can be found first. With this change the search path becomes:
-
-<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/../lib64/
-<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/../lib64/
-<sysroot>/lib32/
-<sysroot>/usr/lib32/
-
-Upstream-Status: Pending
-RP 2015/7/31
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
- 1 file changed, 28 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index cd0c7fbe961..f6f3aa077c8 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -2527,7 +2527,7 @@ for_each_path (const struct path_prefix *paths,
- if (path == NULL)
- {
- len = paths->max_len + extra_space + 1;
-- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
-+ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len);
- path = XNEWVEC (char, len);
- }
-
-@@ -2539,6 +2539,33 @@ for_each_path (const struct path_prefix *paths,
- /* Look first in MACHINE/VERSION subdirectory. */
- if (!skip_multi_dir)
- {
-+ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
-+ {
-+ const char *this_multi;
-+ size_t this_multi_len;
-+
-+ if (pl->os_multilib)
-+ {
-+ this_multi = multi_os_dir;
-+ this_multi_len = multi_os_dir_len;
-+ }
-+ else
-+ {
-+ this_multi = multi_dir;
-+ this_multi_len = multi_dir_len;
-+ }
-+
-+ /* Look in multilib MACHINE/VERSION subdirectory first */
-+ if (this_multi_len)
-+ {
-+ memcpy (path + len, this_multi, this_multi_len + 1);
-+ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1);
-+ ret = callback (path, callback_info);
-+ if (ret)
-+ break;
-+ }
-+ }
-+
- memcpy (path + len, multi_suffix, suffix_len + 1);
- ret = callback (path, callback_info);
- if (ret)
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0031-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0031-Fix-various-_FOR_BUILD-and-related-variables.patch
deleted file mode 100644
index dabc00596..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0031-Fix-various-_FOR_BUILD-and-related-variables.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 93b4e1d3a0f8417118d1c48fcd1ce51996e1420b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:42:45 +0000
-Subject: [PATCH 31/39] Fix various _FOR_BUILD and related variables
-
-When doing a FOR_BUILD thing, you have to override CFLAGS with
-CFLAGS_FOR_BUILD. And if you use C++, you also have to override
-CXXFLAGS with CXXFLAGS_FOR_BUILD.
-Without this, when building for mingw, you end up trying to use
-the mingw headers for a host build.
-
-The same goes for other variables as well, such as CPPFLAGS,
-CPP, and GMPINC.
-
-Upstream-Status: Pending
-
-Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 6 ++++++
- Makefile.tpl | 5 +++++
- gcc/Makefile.in | 2 +-
- gcc/configure | 2 +-
- gcc/configure.ac | 2 +-
- 5 files changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 1af45580086..8966453c32c 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
- CPP="$(CC_FOR_BUILD) -E"; export CPP; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
-@@ -169,6 +170,9 @@ BUILD_EXPORTS = \
- # built for the build system to override those in BASE_FLAGS_TO_PASS.
- EXTRA_BUILD_FLAGS = \
- CFLAGS="$(CFLAGS_FOR_BUILD)" \
-+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
-+ CPP="$(CC_FOR_BUILD) -E" \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"
-
- # This is the list of directories to built for the host system.
-@@ -186,6 +190,7 @@ HOST_SUBDIR = @host_subdir@
- HOST_EXPORTS = \
- $(BASE_EXPORTS) \
- CC="$(CC)"; export CC; \
-+ CPP="$(CC) -E"; export CPP; \
- ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-@@ -753,6 +758,7 @@ BASE_FLAGS_TO_PASS = \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
-+ "CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
- "EXPECT=$(EXPECT)" \
- "FLEX=$(FLEX)" \
- "INSTALL=$(INSTALL)" \
-diff --git a/Makefile.tpl b/Makefile.tpl
-index abd2bc2fb89..5822b260404 100644
---- a/Makefile.tpl
-+++ b/Makefile.tpl
-@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
- CC="$(CC_FOR_BUILD)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
-@@ -171,6 +172,9 @@ BUILD_EXPORTS = \
- # built for the build system to override those in BASE_FLAGS_TO_PASS.
- EXTRA_BUILD_FLAGS = \
- CFLAGS="$(CFLAGS_FOR_BUILD)" \
-+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
-+ CPP="$(CC_FOR_BUILD) -E" \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"
-
- # This is the list of directories to built for the host system.
-@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@
- HOST_EXPORTS = \
- $(BASE_EXPORTS) \
- CC="$(CC)"; export CC; \
-+ CPP="$(CC) -E"; export CPP; \
- ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 5ae693fb06c..02ee0aa72f4 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -801,7 +801,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
- BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
- BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
- BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
-- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
-+ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
-
- # Actual name to use when installing a native compiler.
- GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
-diff --git a/gcc/configure b/gcc/configure
-index cfcadc93a01..2f6b4f72ef3 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -11797,7 +11797,7 @@ else
- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
-- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
-+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
- ${realsrcdir}/configure \
- --enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 44b90478f55..9f8a51fc9bd 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1708,7 +1708,7 @@ else
- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
-- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
-+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
- ${realsrcdir}/configure \
- --enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0032-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0032-nios2-Define-MUSL_DYNAMIC_LINKER.patch
deleted file mode 100644
index 6dd9d5423..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0032-nios2-Define-MUSL_DYNAMIC_LINKER.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 99f3e3b427996ac579d95e68440a0bd7af7ef0fc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Feb 2016 10:26:10 -0800
-Subject: [PATCH 32/39] nios2: Define MUSL_DYNAMIC_LINKER
-
-Signed-off-by: Marek Vasut <marex@denx.de>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- gcc/config/nios2/linux.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
-index 4729105626d..36181eb7b85 100644
---- a/gcc/config/nios2/linux.h
-+++ b/gcc/config/nios2/linux.h
-@@ -30,6 +30,7 @@
- #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
-
- #undef LINK_SPEC
- #define LINK_SPEC LINK_SPEC_ENDIAN \
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0033-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0033-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
deleted file mode 100644
index 05a6b0a1d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0033-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 84b55ab2f68710a583d4ec810ea8b3b68576f8aa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 18:10:54 -0700
-Subject: [PATCH 33/39] Add ssp_nonshared to link commandline for musl targets
-
-when -fstack-protector options are enabled we need to
-link with ssp_shared on musl since it does not provide
-the __stack_chk_fail_local() so essentially it provides
-libssp but not libssp_nonshared something like
-TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED
- where-as for glibc the needed symbols
-are already present in libc_nonshared library therefore
-we do not need any library helper on glibc based systems
-but musl needs the libssp_noshared from gcc
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/linux.h | 7 +++++++
- gcc/config/rs6000/linux.h | 10 ++++++++++
- gcc/config/rs6000/linux64.h | 10 ++++++++++
- 3 files changed, 27 insertions(+)
-
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index 487b0c0923b..4769d089538 100644
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
-@@ -182,6 +182,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
- { 0, 0, 0, 0, 0, 0 } \
- }
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+
- #endif
-
- #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
-diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
-index 01b40c762f6..e7c5e92215c 100644
---- a/gcc/config/rs6000/linux.h
-+++ b/gcc/config/rs6000/linux.h
-@@ -92,6 +92,16 @@
- " -m elf32ppclinux")
- #endif
-
-+/* link libssp_nonshared.a with musl */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+#endif
-+
- #undef LINK_OS_LINUX_SPEC
- #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
- %{!static-pie: \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 55695dadd91..60f1ee24985 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -473,6 +473,16 @@ extern int dot_symbols;
- " -m elf64ppc")
- #endif
-
-+/* link libssp_nonshared.a with musl */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+#endif
-+
- #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
- %{!static-pie: \
- %{rdynamic:-export-dynamic} \
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0034-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0034-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
deleted file mode 100644
index 7a69ea280..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0034-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From faf35e26740461fe1a1da5433d5a0169a663e3b5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Apr 2016 20:03:28 +0000
-Subject: [PATCH 34/39] libgcc: Add knob to use ldbl-128 on ppc
-
-musl does not support ldbl 128 so we can not assume
-that linux as a whole supports ldbl-128 bits, instead
-act upon configure option passed to gcc and assume no
-on musl and yes otherwise if no option is passed since
-default behaviour is to assume ldbl128 it does not
-change the defaults
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- libgcc/Makefile.in | 1 +
- libgcc/config/rs6000/t-linux | 5 ++++-
- libgcc/configure | 18 ++++++++++++++++++
- libgcc/configure.ac | 12 ++++++++++++
- 4 files changed, 35 insertions(+), 1 deletion(-)
- mode change 100644 => 100755 libgcc/configure
-
-diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
-index dd8cee99fd3..b5f478af382 100644
---- a/libgcc/Makefile.in
-+++ b/libgcc/Makefile.in
-@@ -48,6 +48,7 @@ unwind_header = @unwind_header@
- md_unwind_header = @md_unwind_header@
- sfp_machine_header = @sfp_machine_header@
- thread_header = @thread_header@
-+with_ldbl128 = @with_ldbl128@
-
- host_noncanonical = @host_noncanonical@
- real_host_noncanonical = @real_host_noncanonical@
-diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
-index 4f6d4c4a4d2..c50dd94a2da 100644
---- a/libgcc/config/rs6000/t-linux
-+++ b/libgcc/config/rs6000/t-linux
-@@ -1,3 +1,6 @@
- SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
-
--HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
-+ifeq ($(with_ldbl128),yes)
-+HOST_LIBGCC2_CFLAGS += -mlong-double-128
-+endif
-+HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
-diff --git a/libgcc/configure b/libgcc/configure
-old mode 100644
-new mode 100755
-index b2f3f870844..ed806587c17
---- a/libgcc/configure
-+++ b/libgcc/configure
-@@ -619,6 +619,7 @@ build_vendor
- build_cpu
- build
- with_aix_soname
-+with_ldbl128
- enable_vtable_verify
- enable_shared
- libgcc_topdir
-@@ -668,6 +669,7 @@ with_cross_host
- with_ld
- enable_shared
- enable_vtable_verify
-+with_long_double_128
- with_aix_soname
- enable_version_specific_runtime_libs
- with_slibdir
-@@ -1329,6 +1331,7 @@ Optional Packages:
- --with-target-subdir=SUBDIR Configuring in a subdirectory for target
- --with-cross-host=HOST Configuring with a cross compiler
- --with-ld arrange to use the specified ld (full pathname)
-+ --with-long-double-128 use 128-bit long double by default
- --with-aix-soname=aix|svr4|both
- shared library versioning (aka "SONAME") variant to
- provide on AIX
-@@ -2213,6 +2216,21 @@ fi
-
-
-
-+# Check whether --with-long-double-128 was given.
-+if test "${with_long_double_128+set}" = set; then :
-+ withval=$with_long_double_128; with_ldbl128="$with_long_double_128"
-+else
-+ case "${host}" in
-+ power*-*-musl*)
-+ with_ldbl128="no";;
-+ *) with_ldbl128="yes";;
-+ esac
-+
-+fi
-+
-+
-+
-+
- # Check whether --with-aix-soname was given.
- if test "${with_aix_soname+set}" = set; then :
- withval=$with_aix_soname; case "${host}:${enable_shared}" in
-diff --git a/libgcc/configure.ac b/libgcc/configure.ac
-index b59aa746afc..42220a263c5 100644
---- a/libgcc/configure.ac
-+++ b/libgcc/configure.ac
-@@ -78,6 +78,18 @@ AC_ARG_ENABLE(vtable-verify,
- [enable_vtable_verify=no])
- AC_SUBST(enable_vtable_verify)
-
-+AC_ARG_WITH(long-double-128,
-+[AS_HELP_STRING([--with-long-double-128],
-+ [use 128-bit long double by default])],
-+ with_ldbl128="$with_long_double_128",
-+[case "${host}" in
-+ power*-*-musl*)
-+ with_ldbl128="no";;
-+ *) with_ldbl128="yes";;
-+ esac
-+])
-+AC_SUBST(with_ldbl128)
-+
- AC_ARG_WITH(aix-soname,
- [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
- [shared library versioning (aka "SONAME") variant to provide on AIX])],
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0035-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0035-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
deleted file mode 100644
index 5e416e010..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0035-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 775c7fafcbfebed2d4bd8a6a011f18f70f3b59d3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 4 May 2016 21:11:34 -0700
-Subject: [PATCH 35/39] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
-
-Upstream-Status: Pending
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libgcc/config/t-slibgcc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
-index 7e60b621a2d..ea22ede3361 100644
---- a/libgcc/config/t-slibgcc
-+++ b/libgcc/config/t-slibgcc
-@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
- $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
-
- SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-- $(SHLIB_LDFLAGS) \
-+ $(LDFLAGS) $(SHLIB_LDFLAGS) \
- -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
- $(SHLIB_OBJS) $(SHLIB_LC) && \
- rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0036-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0036-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
deleted file mode 100644
index 8def33a17..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0036-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From b7faeed60261d7b75f2db3823926de1650ef64bc Mon Sep 17 00:00:00 2001
-From: Szabolcs Nagy <nsz@port70.net>
-Date: Sat, 24 Oct 2015 20:09:53 +0000
-Subject: [PATCH 36/39] libgcc_s: Use alias for __cpu_indicator_init instead of
- symver
-
-Adapter from
-
-https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html
-
-This fix was debated but hasnt been applied gcc upstream since
-they expect musl to support '@' in symbol versioning which is
-a sun/gnu versioning extention. This patch however avoids the
-need for the '@' symbols at all
-
-libgcc/Changelog:
-
-2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add.
- (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove.
-
- * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER.
-
-gcc/Changelog:
-
-2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init
- call __cpu_indicator_init_local instead of __cpu_indicator_init.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- gcc/config/i386/i386.c | 4 ++--
- libgcc/config/i386/cpuinfo.c | 6 +++---
- libgcc/config/i386/t-linux | 2 +-
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
-index 6a2141e48db..455fccbdd50 100644
---- a/gcc/config/i386/i386.c
-+++ b/gcc/config/i386/i386.c
-@@ -36490,10 +36490,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
- {
- case IX86_BUILTIN_CPU_INIT:
- {
-- /* Make it call __cpu_indicator_init in libgcc. */
-+ /* Make it call __cpu_indicator_init_local in libgcc.a. */
- tree call_expr, fndecl, type;
- type = build_function_type_list (integer_type_node, NULL_TREE);
-- fndecl = build_fn_decl ("__cpu_indicator_init", type);
-+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
- call_expr = build_call_expr (fndecl, 0);
- return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
- }
-diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
-index 86953db2743..e0476272810 100644
---- a/libgcc/config/i386/cpuinfo.c
-+++ b/libgcc/config/i386/cpuinfo.c
-@@ -482,7 +482,7 @@ __cpu_indicator_init (void)
- return 0;
- }
-
--#if defined SHARED && defined USE_ELF_SYMVER
--__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
--__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
-+#ifndef SHARED
-+int __cpu_indicator_init_local (void)
-+ __attribute__ ((weak, alias ("__cpu_indicator_init")));
- #endif
-diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
-index 8506a635790..564296f788e 100644
---- a/libgcc/config/i386/t-linux
-+++ b/libgcc/config/i386/t-linux
-@@ -3,5 +3,5 @@
- # t-slibgcc-elf-ver and t-linux
- SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
-
--HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
-+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
- CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0037-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0037-sync-gcc-stddef.h-with-musl.patch
deleted file mode 100644
index f8a7f41ab..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0037-sync-gcc-stddef.h-with-musl.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 602abaab15ffb60bf1797187a71b485042c56360 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 3 Feb 2017 12:56:00 -0800
-Subject: [PATCH 37/39] sync gcc stddef.h with musl
-
-musl defines ptrdiff_t size_t and wchar_t
-so dont define them here if musl is definining them
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- gcc/ginclude/stddef.h | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
-index 31b96a7e5e1..438a3ce7c56 100644
---- a/gcc/ginclude/stddef.h
-+++ b/gcc/ginclude/stddef.h
-@@ -134,6 +134,7 @@ _TYPE_wchar_t;
- #ifndef ___int_ptrdiff_t_h
- #ifndef _GCC_PTRDIFF_T
- #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
-+#ifndef __DEFINED_ptrdiff_t /* musl */
- #define _PTRDIFF_T
- #define _T_PTRDIFF_
- #define _T_PTRDIFF
-@@ -143,10 +144,12 @@ _TYPE_wchar_t;
- #define ___int_ptrdiff_t_h
- #define _GCC_PTRDIFF_T
- #define _PTRDIFF_T_DECLARED
-+#define __DEFINED_ptrdiff_t /* musl */
- #ifndef __PTRDIFF_TYPE__
- #define __PTRDIFF_TYPE__ long int
- #endif
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+#endif /* __DEFINED_ptrdiff_t */
- #endif /* _PTRDIFF_T_DECLARED */
- #endif /* _GCC_PTRDIFF_T */
- #endif /* ___int_ptrdiff_t_h */
-@@ -184,6 +187,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #ifndef _GCC_SIZE_T
- #ifndef _SIZET_
- #ifndef __size_t
-+#ifndef __DEFINED_size_t /* musl */
- #define __size_t__ /* BeOS */
- #define __SIZE_T__ /* Cray Unicos/Mk */
- #define _SIZE_T
-@@ -200,6 +204,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #define ___int_size_t_h
- #define _GCC_SIZE_T
- #define _SIZET_
-+#define __DEFINED_size_t /* musl */
- #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
- || defined(__DragonFly__) \
- || defined(__FreeBSD_kernel__)
-@@ -235,6 +240,7 @@ typedef long ssize_t;
- #endif /* _SIZE_T */
- #endif /* __SIZE_T__ */
- #endif /* __size_t__ */
-+#endif /* __DEFINED_size_t */
- #undef __need_size_t
- #endif /* _STDDEF_H or __need_size_t. */
-
-@@ -264,6 +270,7 @@ typedef long ssize_t;
- #ifndef ___int_wchar_t_h
- #ifndef __INT_WCHAR_T_H
- #ifndef _GCC_WCHAR_T
-+#ifndef __DEFINED_wchar_t /* musl */
- #define __wchar_t__ /* BeOS */
- #define __WCHAR_T__ /* Cray Unicos/Mk */
- #define _WCHAR_T
-@@ -279,6 +286,7 @@ typedef long ssize_t;
- #define __INT_WCHAR_T_H
- #define _GCC_WCHAR_T
- #define _WCHAR_T_DECLARED
-+#define __DEFINED_wchar_t /* musl */
-
- /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
- instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
-@@ -344,6 +352,7 @@ typedef __WCHAR_TYPE__ wchar_t;
- #endif
- #endif /* __WCHAR_T__ */
- #endif /* __wchar_t__ */
-+#endif /* __DEFINED_wchar_t musl */
- #undef __need_wchar_t
- #endif /* _STDDEF_H or __need_wchar_t. */
-
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0038-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0038-fix-segmentation-fault-in-precompiled-header-generat.patch
deleted file mode 100644
index 224d2ae6d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0038-fix-segmentation-fault-in-precompiled-header-generat.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 00694849632dee23741925c6104df134f6bff747 Mon Sep 17 00:00:00 2001
-From: Juro Bystricky <juro.bystricky@intel.com>
-Date: Mon, 19 Mar 2018 22:31:20 -0700
-Subject: [PATCH 38/39] fix segmentation fault in precompiled header generation
-
-Prevent a segmentation fault which occurs when using incorrect
-structure trying to access name of some named operators, such as
-CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in
-those cases, as is may not be initialized at all.
-
-[YOCTO #11738]
-
-Upstream-Status: Pending
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libcpp/lex.c | 26 +++++++++++++++++++++-----
- 1 file changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/libcpp/lex.c b/libcpp/lex.c
-index 37c365a3560..63480048db6 100644
---- a/libcpp/lex.c
-+++ b/libcpp/lex.c
-@@ -3279,11 +3279,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
- spell_ident:
- case SPELL_IDENT:
- if (forstring)
-- {
-- memcpy (buffer, NODE_NAME (token->val.node.spelling),
-- NODE_LEN (token->val.node.spelling));
-- buffer += NODE_LEN (token->val.node.spelling);
-- }
-+ {
-+ if (token->type == CPP_NAME)
-+ {
-+ memcpy (buffer, NODE_NAME (token->val.node.spelling),
-+ NODE_LEN (token->val.node.spelling));
-+ buffer += NODE_LEN (token->val.node.spelling);
-+ break;
-+ }
-+ /* NAMED_OP, cannot use node.spelling */
-+ if (token->flags & NAMED_OP)
-+ {
-+ const char *str = cpp_named_operator2name (token->type);
-+ if (str)
-+ {
-+ size_t len = strlen(str);
-+ memcpy(buffer, str, len);
-+ buffer += len;
-+ }
-+ break;
-+ }
-+ }
- else
- buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
- break;
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0039-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0039-Fix-for-testsuite-failure.patch
deleted file mode 100644
index f35163099..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0039-Fix-for-testsuite-failure.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From d151a62c252749643c850a08d1335321e5b75d42 Mon Sep 17 00:00:00 2001
-From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>
-Date: Wed, 6 Dec 2017 22:52:26 -0800
-Subject: [PATCH 39/39] Fix for testsuite failure
-
-2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com>
-
- * gcc.dg/pr56275.c: If SSE is disabled, ensure that
- "-mfpmath" is not set to use SSE. Set "-mfpmath=387".
- * gcc.dg/pr68306.c: Likewise
- * gcc.dg/pr68306-2.c: Likewise
- * gcc.dg/pr68306-3.c: Likewise
- * gcc.dg/pr69634.c: Likewise
- * gcc.target/i386/amd64-abi-1.c: Likewise
- * gcc.target/i386/funcspec-6.c: Likewise
- * gcc.target/i386/interrupt-387-err-1.c: Likewise
- * gcc.target/i386/isa-14.c: Likewise
- * gcc.target/i386/pr44948-2b.c: Likewise
- * gcc.target/i386/pr53425-1.c: Likewise
- * gcc.target/i386/pr53425-2.c: Likewise
- * gcc.target/i386/pr55247.c: Likewise
- * gcc.target/i386/pr59644.c: Likewise
- * gcc.target/i386/pr62120.c: Likewise
- * gcc.target/i386/pr70467-1.c: Likewise
- * gcc.target/i386/warn-vect-op-1.c: Likewise
-
-If -Wall, -Werror are used during compilation various test cases fail
-to compile.
-
-If SSE is disabled, be sure to -mfpmath=387 to resolve this.
-
-This patch removes the changes to Changelog from the original patch.
-This will help us avoid conflicts.
-
-Upstream-Status: Pending
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- gcc/testsuite/gcc.dg/pr56275.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306-2.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306-3.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306.c | 2 +-
- gcc/testsuite/gcc.dg/pr69634.c | 2 +-
- gcc/testsuite/gcc.target/i386/amd64-abi-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/funcspec-6.c | 1 +
- gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/isa-14.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr44948-2b.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr53425-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr53425-2.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr55247.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr59644.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr62120.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr70467-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/warn-vect-op-1.c | 2 +-
- 17 files changed, 17 insertions(+), 16 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c
-index b901bb2b199..a4f6c95e1a1 100644
---- a/gcc/testsuite/gcc.dg/pr56275.c
-+++ b/gcc/testsuite/gcc.dg/pr56275.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O2" } */
--/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
-+/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
-
- typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long))));
-
-diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c
-index 4672ebe7987..2a368c484b6 100644
---- a/gcc/testsuite/gcc.dg/pr68306-2.c
-+++ b/gcc/testsuite/gcc.dg/pr68306-2.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
-
- struct {
- int tz_minuteswest;
-diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c
-index f5a8c102cf8..df3390c64c2 100644
---- a/gcc/testsuite/gcc.dg/pr68306-3.c
-+++ b/gcc/testsuite/gcc.dg/pr68306-3.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
- /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */
-
- extern void fn2();
-diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c
-index 54e5b40f221..0813389e2c1 100644
---- a/gcc/testsuite/gcc.dg/pr68306.c
-+++ b/gcc/testsuite/gcc.dg/pr68306.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
-
- enum powerpc_pmc_type { PPC_PMC_IBM };
- struct {
-diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c
-index 60a56149463..bcc23f9ccd6 100644
---- a/gcc/testsuite/gcc.dg/pr69634.c
-+++ b/gcc/testsuite/gcc.dg/pr69634.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */
--/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
- /* { dg-require-effective-target scheduling } */
-
- typedef unsigned short u16;
-diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-index 69fde57bf06..7f1f1c03edf 100644
---- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-mno-sse" } */
-+/* { dg-options "-mno-sse -mfpmath=387" } */
- /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
-
- double foo(void) { return 0; } /* { dg-error "SSE disabled" } */
-diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c
-index ea896b7ebfd..bf15569b826 100644
---- a/gcc/testsuite/gcc.target/i386/funcspec-6.c
-+++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c
-@@ -1,6 +1,7 @@
- /* Test whether all of the 64-bit function specific options are accepted
- without error. */
- /* { dg-do compile { target { ! ia32 } } } */
-+/* { dg-additional-options "-mfpmath=387" } */
-
- #include "funcspec-56.inc"
-
-diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-index 3fbdc881dda..6b4d9d1252a 100644
---- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-+++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */
-+/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */
-
- typedef unsigned int uword_t __attribute__ ((mode (__word__)));
-
-diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c
-index 5d49e6e77fe..1de2db92bdd 100644
---- a/gcc/testsuite/gcc.target/i386/isa-14.c
-+++ b/gcc/testsuite/gcc.target/i386/isa-14.c
-@@ -1,5 +1,5 @@
- /* { dg-do run } */
--/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */
-+/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */
-
- extern void abort (void);
-
-diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-index fa1769b62fb..f79fb12726f 100644
---- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-+++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */
-+/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */
-
- struct A
- {
-diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c
-index 2e89ff7d81d..6339bf6b736 100644
---- a/gcc/testsuite/gcc.target/i386/pr53425-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c
-@@ -1,6 +1,6 @@
- /* PR target/53425 */
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
- /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
-
- typedef double __v2df __attribute__ ((__vector_size__ (16)));
-diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c
-index 61f6283dbe9..2c5a55f0ac3 100644
---- a/gcc/testsuite/gcc.target/i386/pr53425-2.c
-+++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c
-@@ -1,6 +1,6 @@
- /* PR target/53425 */
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
- /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
-
- typedef float __v2sf __attribute__ ((__vector_size__ (8)));
-diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c
-index 23366d0909d..9810e3abb76 100644
---- a/gcc/testsuite/gcc.target/i386/pr55247.c
-+++ b/gcc/testsuite/gcc.target/i386/pr55247.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile { target { ! ia32 } } } */
- /* { dg-require-effective-target maybe_x32 } */
--/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */
-+/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */
-
- typedef unsigned int uint32_t;
- typedef uint32_t Elf32_Word;
-diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c
-index 96006b3e338..4287e4538bf 100644
---- a/gcc/testsuite/gcc.target/i386/pr59644.c
-+++ b/gcc/testsuite/gcc.target/i386/pr59644.c
-@@ -1,6 +1,6 @@
- /* PR target/59644 */
- /* { dg-do run { target lp64 } } */
--/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */
-+/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */
-
- /* This test uses __builtin_trap () instead of e.g. abort,
- because due to -mpreferred-stack-boundary=3 it should not call
-diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c
-index bfb8c4703eb..ed04cf181f3 100644
---- a/gcc/testsuite/gcc.target/i386/pr62120.c
-+++ b/gcc/testsuite/gcc.target/i386/pr62120.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-mno-sse" } */
-+/* { dg-options "-mno-sse -mfpmath=387" } */
-
- void foo ()
- {
-diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c
-index 4e112c88d07..bcfb396a68d 100644
---- a/gcc/testsuite/gcc.target/i386/pr70467-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c
-@@ -1,6 +1,6 @@
- /* PR rtl-optimization/70467 */
- /* { dg-do compile } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
-
- void foo (unsigned long long *);
-
-diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-index 6cda1534311..26e37f5b8ba 100644
---- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-+++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-mno-sse -Wvector-operation-performance" } */
-+/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" } */
- #define vector(elcount, type) \
- __attribute__((vector_size((elcount)*sizeof(type)))) type
-
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0040-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0040-Re-introduce-spe-commandline-options.patch
deleted file mode 100644
index 8afa0102d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0040-Re-introduce-spe-commandline-options.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 8fb8f773e117ee70be00bb0da5f343fe110da5c4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 6 Jun 2018 12:10:22 -0700
-Subject: [PATCH 40/40] Re-introduce spe commandline options
-
-This should ensure that we keep accepting
-spe options
-
-Upstream-Status: Inappropriate [SPE port is removed from rs600 port]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/rs6000/rs6000.opt | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
-index ace8a477550..d6a8f825d88 100644
---- a/gcc/config/rs6000/rs6000.opt
-+++ b/gcc/config/rs6000/rs6000.opt
-@@ -365,6 +365,18 @@ mdebug=
- Target RejectNegative Joined
- -mdebug= Enable debug output.
-
-+mspe
-+Target Var(rs6000_spe) Save
-+Generate SPE SIMD instructions on E500.
-+
-+mabi=spe
-+Target RejectNegative Var(rs6000_spe_abi) Save
-+Use the SPE ABI extensions.
-+
-+mabi=no-spe
-+Target RejectNegative Var(rs6000_spe_abi, 0)
-+Do not use the SPE ABI extensions.
-+
- mabi=altivec
- Target RejectNegative Var(rs6000_altivec_abi) Save
- Use the AltiVec ABI extensions.
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch b/poky/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
deleted file mode 100644
index cbd5e41ab..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 892142379c6b99fe8c3ebdfe0b79e2a435228c1d Mon Sep 17 00:00:00 2001
-From: claziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Mon, 17 Sep 2018 08:52:10 +0000
-Subject: [PATCH] [ARC] Update LINK_EH_SPEC linker spec.
-
-With no trailing space in LINK_EH_SPEC linker spec gets generated as:
------------------------->8---------------------
-%{!r:--build-id} --eh-frame-hdr%{h*} ...
------------------------->8---------------------
-
-or even worse if hash style is added:
------------------------->8---------------------
-%{!r:--build-id} --eh-frame-hdr--hash-style=sysv %{h*} ...
------------------------->8---------------------
-
-Now if that spec is really used by LD then it fails inevitably
-saying that it doesn't know option "--eh-frame-hdr--hash-style=sysv".
-
-2018-09-17 Alexey Brodkin <abrodkin@synopsys.com>
-
- * config/arc/linux.h (LINK_EH_SPEC): Add missing space.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264361 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
-
-Upstream-Status: Backport[https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=892142379c6b]
----
- gcc/config/arc/linux.h | 2 +-
- 1 files changed, 1 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/config/arc/linux.h b/gcc/config/arc/linux.h
-index 96d548eae341..62ebe4de0fc7 100644
---- a/gcc/config/arc/linux.h
-+++ b/gcc/config/arc/linux.h
-@@ -98,7 +98,7 @@ along with GCC; see the file COPYING3. If not see
- Signalize that because we have fde-glibc, we don't need all C shared libs
- linked against -lgcc_s. */
- #undef LINK_EH_SPEC
--#define LINK_EH_SPEC "--eh-frame-hdr"
-+#define LINK_EH_SPEC "--eh-frame-hdr "
- #endif
-
- #undef SUBTARGET_CPP_SPEC
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
new file mode 100644
index 000000000..f7bf257fa
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
@@ -0,0 +1,111 @@
+require gcc-common.inc
+
+# Third digit in PV should be incremented after a minor release
+
+PV = "8.3.0"
+
+# BINV should be incremented to a revision after a minor gcc release
+
+BINV = "8.3.0"
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-8.3:"
+
+DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
+NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
+
+LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
+
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
+"
+
+#RELEASE = "8.0.1-RC-20180427"
+BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
+#SRCREV = "f7cf798b73fd1a07098f9a490deec1e2a36e0bed"
+#BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
+#BASEURI ?= "http://mirrors.concertpass.com/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz"
+
+SRC_URI = "\
+ ${BASEURI} \
+ file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
+ file://0002-gcc-poison-system-directories.patch \
+ file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
+ file://0004-64-bit-multilib-hack.patch \
+ file://0005-optional-libstdc.patch \
+ file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \
+ file://0007-COLLECT_GCC_OPTIONS.patch \
+ file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
+ file://0009-fortran-cross-compile-hack.patch \
+ file://0010-cpp-honor-sysroot.patch \
+ file://0011-MIPS64-Default-to-N64-ABI.patch \
+ file://0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
+ file://0013-gcc-Fix-argument-list-too-long-error.patch \
+ file://0014-Disable-sdt.patch \
+ file://0015-libtool.patch \
+ file://0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
+ file://0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
+ file://0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
+ file://0019-export-CPP.patch \
+ file://0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch \
+ file://0021-Ensure-target-gcc-headers-can-be-included.patch \
+ file://0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
+ file://0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
+ file://0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
+ file://0025-aarch64-Add-support-for-musl-ldso.patch \
+ file://0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
+ file://0027-handle-sysroot-support-for-nativesdk-gcc.patch \
+ file://0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
+ file://0029-Fix-various-_FOR_BUILD-and-related-variables.patch \
+ file://0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
+ file://0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
+ file://0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
+ file://0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
+ file://0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
+ file://0035-sync-gcc-stddef.h-with-musl.patch \
+ file://0036-fix-segmentation-fault-in-precompiled-header-generat.patch \
+ file://0037-Fix-for-testsuite-failure.patch \
+ file://0038-Re-introduce-spe-commandline-options.patch \
+ file://0039-riscv-Disable-multilib-for-OE.patch \
+ file://0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch \
+"
+SRC_URI[md5sum] = "65b210b4bfe7e060051f799e0f994896"
+SRC_URI[sha256sum] = "64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c"
+
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
+#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
+#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${RELEASE}"
+B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
+
+# Language Overrides
+FORTRAN = ""
+JAVA = ""
+
+LTO = "--enable-lto"
+SSP ?= "--disable-libssp"
+SSP_mingw32 = "--enable-libssp"
+
+EXTRA_OECONF_BASE = "\
+ ${LTO} \
+ ${SSP} \
+ --enable-libitm \
+ --disable-bootstrap \
+ --disable-libmudflap \
+ --with-system-zlib \
+ ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
+ --enable-linker-build-id \
+ --with-ppl=no \
+ --with-cloog=no \
+ --enable-checking=release \
+ --enable-cheaders=c_global \
+ --without-isl \
+"
+
+EXTRA_OECONF_PATHS = "\
+ --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
+ --with-sysroot=/not/exist \
+ --with-build-sysroot=${STAGING_DIR_TARGET} \
+"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644
index 000000000..4ad79e44b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -0,0 +1,42 @@
+From d7b284a9bede9d5059ad7e95a867254bf913c638 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:37:11 +0400
+Subject: [PATCH 01/40] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ configure | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 0601395512f..8c5b1e9d561 100755
+--- a/configure
++++ b/configure
+@@ -7507,7 +7507,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+diff --git a/configure.ac b/configure.ac
+index c3433336523..69c31c65ad7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3096,7 +3096,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch
new file mode 100644
index 000000000..e7ff12466
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch
@@ -0,0 +1,203 @@
+From 95ec476dd7726cc9c1bfd6fb23ba3aea8bbf61a4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:59:00 +0400
+Subject: [PATCH 02/40] gcc: poison-system-directories
+
+Add /sw/include and /opt/include based on the original
+zecke-no-host-includes.patch patch. The original patch checked for
+/usr/include, /sw/include and /opt/include and then triggered a failure and
+aborted.
+
+Instead, we add the two missing items to the current scan. If the user
+wants this to be a failure, they can add "-Werror=poison-system-directories".
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/common.opt | 4 ++++
+ gcc/config.in | 6 ++++++
+ gcc/configure | 16 ++++++++++++++++
+ gcc/configure.ac | 10 ++++++++++
+ gcc/doc/invoke.texi | 9 +++++++++
+ gcc/gcc.c | 2 ++
+ gcc/incpath.c | 21 +++++++++++++++++++++
+ 7 files changed, 68 insertions(+)
+
+diff --git a/gcc/common.opt b/gcc/common.opt
+index b52ef0b38c8..0de3f0924cd 100644
+--- a/gcc/common.opt
++++ b/gcc/common.opt
+@@ -679,6 +679,10 @@ Wreturn-local-addr
+ Common Var(warn_return_local_addr) Init(1) Warning
+ Warn about returning a pointer/reference to a local or temporary variable.
+
++Wpoison-system-directories
++Common Var(flag_poison_system_directories) Init(1) Warning
++Warn for -I and -L options using system directories if cross compiling
++
+ Wshadow
+ Common Var(warn_shadow) Warning
+ Warn when one variable shadows another. Same as -Wshadow=global.
+diff --git a/gcc/config.in b/gcc/config.in
+index 5bccb408016..1c784a8276b 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -194,6 +194,12 @@
+ #endif
+
+
++/* Define to warn for use of native system header directories */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_POISON_SYSTEM_DIRECTORIES
++#endif
++
++
+ /* Define if you want all operations on RTL (the basic data structure of the
+ optimizer and back end) to be checked for dynamic type safety at runtime.
+ This is quite expensive. */
+diff --git a/gcc/configure b/gcc/configure
+index 6121e163259..3901722400c 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -953,6 +953,7 @@ with_system_zlib
+ enable_maintainer_mode
+ enable_link_mutex
+ enable_version_specific_runtime_libs
++enable_poison_system_directories
+ enable_plugin
+ enable_host_shared
+ enable_libquadmath_support
+@@ -1696,6 +1697,8 @@ Optional Features:
+ --enable-version-specific-runtime-libs
+ specify that runtime libraries should be installed
+ in a compiler-specific directory
++ --enable-poison-system-directories
++ warn for use of native system header directories
+ --enable-plugin enable plugin support
+ --enable-host-shared build host code as shared libraries
+ --disable-libquadmath-support
+@@ -29701,6 +29704,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
+ fi
+
+
++# Check whether --enable-poison-system-directories was given.
++if test "${enable_poison_system_directories+set}" = set; then :
++ enableval=$enable_poison_system_directories;
++else
++ enable_poison_system_directories=no
++fi
++
++if test "x${enable_poison_system_directories}" = "xyes"; then
++
++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++
++fi
++
+ # Substitute configuration variables
+
+
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index b066cc609e1..1b1362f70fe 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -6327,6 +6327,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
+ [specify that runtime libraries should be
+ installed in a compiler-specific directory])])
+
++AC_ARG_ENABLE([poison-system-directories],
++ AS_HELP_STRING([--enable-poison-system-directories],
++ [warn for use of native system header directories]),,
++ [enable_poison_system_directories=no])
++if test "x${enable_poison_system_directories}" = "xyes"; then
++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
++ [1],
++ [Define to warn for use of native system header directories])
++fi
++
+ # Substitute configuration variables
+ AC_SUBST(subdirs)
+ AC_SUBST(srcdir)
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index e5c4e8125aa..fb228631a42 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -304,6 +304,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wpacked -Wpacked-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
+ -Wparentheses -Wno-pedantic-ms-format @gol
+ -Wplacement-new -Wplacement-new=@var{n} @gol
++-Wno-poison-system-directories @gol
+ -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol
+ -Wno-pragmas -Wredundant-decls -Wrestrict -Wno-return-local-addr @gol
+ -Wreturn-type -Wsequence-point -Wshadow -Wno-shadow-ivar @gol
+@@ -5743,6 +5744,14 @@ made up of data only and thus requires no special treatment. But, for
+ most targets, it is made up of code and thus requires the stack to be
+ made executable in order for the program to work properly.
+
++@item -Wno-poison-system-directories
++@opindex Wno-poison-system-directories
++Do not warn for @option{-I} or @option{-L} options using system
++directories such as @file{/usr/include} when cross compiling. This
++option is intended for use in chroot environments when such
++directories contain the correct headers and libraries for the target
++system rather than the host.
++
+ @item -Wfloat-equal
+ @opindex Wfloat-equal
+ @opindex Wno-float-equal
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index a716f708259..02b3cd39fc2 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1037,6 +1037,8 @@ proper position among the other output files. */
+ "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+ "%X %{o*} %{e*} %{N} %{n} %{r}\
+ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \
++ %{Wno-poison-system-directories:--no-poison-system-directories} \
++ %{Werror=poison-system-directories:--error-poison-system-directories} \
+ %{static|no-pie|static-pie:} %{L*} %(mfwrap) %(link_libgcc) " \
+ VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \
+ %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
+diff --git a/gcc/incpath.c b/gcc/incpath.c
+index b11c6a57939..9a457e02dd3 100644
+--- a/gcc/incpath.c
++++ b/gcc/incpath.c
+@@ -26,6 +26,7 @@
+ #include "intl.h"
+ #include "incpath.h"
+ #include "cppdefault.h"
++#include "diagnostic-core.h"
+
+ /* Microsoft Windows does not natively support inodes.
+ VMS has non-numeric inodes. */
+@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
+ }
+ fprintf (stderr, _("End of search list.\n"));
+ }
++
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++ if (flag_poison_system_directories)
++ {
++ struct cpp_dir *p;
++
++ for (p = heads[INC_QUOTE]; p; p = p->next)
++ {
++ if ((!strncmp (p->name, "/usr/include", 12))
++ || (!strncmp (p->name, "/usr/local/include", 18))
++ || (!strncmp (p->name, "/usr/X11R6/include", 18))
++ || (!strncmp (p->name, "/sw/include", 11))
++ || (!strncmp (p->name, "/opt/include", 12)))
++ warning (OPT_Wpoison_system_directories,
++ "include location \"%s\" is unsafe for "
++ "cross-compilation",
++ p->name);
++ }
++ }
++#endif
+ }
+
+ /* Use given -I paths for #include "..." but not #include <...>, and
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
new file mode 100644
index 000000000..e62deb2e4
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
@@ -0,0 +1,73 @@
+From 6640d7e39b13d1ef26d249153ab15d510fda3566 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:08:31 +0400
+Subject: [PATCH 03/40] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
+
+Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
+
+This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
+
+Other changes I had to do include:
+
+- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
+
+- passing the right CFLAGS to configure scripts as exported environment variables
+
+I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
+
+Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
+
+Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ configure | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/configure b/configure
+index 8c5b1e9d561..2d1fc6b94d9 100755
+--- a/configure
++++ b/configure
+@@ -6768,6 +6768,38 @@ fi
+
+
+
++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
++# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
++# We want to ensure that TARGET libraries (which we know are built with
++# gcc) are built with "-O2 -g", so include those options when setting
++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
++if test "x$CFLAGS_FOR_TARGET" = x; then
++ CFLAGS_FOR_TARGET=$CFLAGS
++ case " $CFLAGS " in
++ *" -O2 "*) ;;
++ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
++ esac
++ case " $CFLAGS " in
++ *" -g "* | *" -g3 "*) ;;
++ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
++ esac
++fi
++
++
++if test "x$CXXFLAGS_FOR_TARGET" = x; then
++ CXXFLAGS_FOR_TARGET=$CXXFLAGS
++ case " $CXXFLAGS " in
++ *" -O2 "*) ;;
++ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
++ esac
++ case " $CXXFLAGS " in
++ *" -g "* | *" -g3 "*) ;;
++ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
++ esac
++fi
++
++
+ # Handle --with-headers=XXX. If the value is not "yes", the contents of
+ # the named directory are copied to $(tooldir)/sys-include.
+ if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch
new file mode 100644
index 000000000..371d87759
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch
@@ -0,0 +1,85 @@
+From 1e649d81ca662c4cdf73882ebb8a11f0f19f5baf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:10:06 +0400
+Subject: [PATCH 04/40] 64-bit multilib hack.
+
+GCC has internal multilib handling code but it assumes a very specific rigid directory
+layout. The build system implementation of multilib layout is very generic and allows
+complete customisation of the library directories.
+
+This patch is a partial solution to allow any custom directories to be passed into gcc
+and handled correctly. It forces gcc to use the base_libdir (which is the current
+directory, "."). We need to do this for each multilib that is configured as we don't
+know which compiler options may be being passed into the compiler. Since we have a compiler
+per mulitlib at this point that isn't an issue.
+
+The one problem is the target compiler is only going to work for the default multlilib at
+this point. Ideally we'd figure out which multilibs were being enabled with which paths
+and be able to patch these entries with a complete set of correct paths but this we
+don't have such code at this point. This is something the target gcc recipe should do
+and override these platform defaults in its build config.
+
+RP 15/8/11
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/config/i386/t-linux64 | 6 ++----
+ gcc/config/mips/t-linux64 | 10 +++-------
+ gcc/config/rs6000/t-linux64 | 5 ++---
+ 3 files changed, 7 insertions(+), 14 deletions(-)
+
+diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
+index 8ea0faff369..266c6008004 100644
+--- a/gcc/config/i386/t-linux64
++++ b/gcc/config/i386/t-linux64
+@@ -32,7 +32,5 @@
+ #
+ comma=,
+ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+-MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+-MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++MULTILIB_DIRNAMES = . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
+index c017b7d04c5..126892cf40b 100644
+--- a/gcc/config/mips/t-linux64
++++ b/gcc/config/mips/t-linux64
+@@ -17,10 +17,6 @@
+ # <http://www.gnu.org/licenses/>.
+
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+-MULTILIB_DIRNAMES = n32 32 64
+-MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+-MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+-MULTILIB_OSDIRNAMES = \
+- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++MULTILIB_DIRNAMES = . . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
++
+diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
+index 0faa2a02df4..13fd8ca971e 100644
+--- a/gcc/config/rs6000/t-linux64
++++ b/gcc/config/rs6000/t-linux64
+@@ -26,10 +26,9 @@
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+
+ MULTILIB_OPTIONS := m64/m32
+-MULTILIB_DIRNAMES := 64 32
++MULTILIB_DIRNAMES := . .
+ MULTILIB_EXTRA_OPTS :=
+-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+
+ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+ $(COMPILE) $<
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch
new file mode 100644
index 000000000..f9cf6c208
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch
@@ -0,0 +1,125 @@
+From b486380dcc4758e856ab6d847eb358d05bd79d64 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:12:56 +0400
+Subject: [PATCH 05/40] optional libstdc
+
+gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
+will not run correctly since by default the linker will try to link against libstdc++
+which shouldn't exist yet. We need an option to disable -lstdc++
+option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
+driver. This patch adds such an option which only disables the -lstdc++.
+
+A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
+do this officially, the likely answer is don't build libstdc++ separately.
+
+RP 29/6/10
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ gcc/c-family/c.opt | 4 ++++
+ gcc/cp/g++spec.c | 1 +
+ gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++-
+ gcc/gcc.c | 1 +
+ 4 files changed, 37 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
+index f591b39be5a..2955fcea867 100644
+--- a/gcc/c-family/c.opt
++++ b/gcc/c-family/c.opt
+@@ -1901,6 +1901,10 @@ nostdinc++
+ C++ ObjC++
+ Do not search standard system include directories for C++.
+
++nostdlib++
++Driver
++Do not link standard C++ runtime library
++
+ o
+ C ObjC C++ ObjC++ Joined Separate
+ ; Documented in common.opt
+diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
+index 443a1746da3..e9b51be62ef 100644
+--- a/gcc/cp/g++spec.c
++++ b/gcc/cp/g++spec.c
+@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
+ switch (decoded_options[i].opt_index)
+ {
+ case OPT_nostdlib:
++ case OPT_nostdlib__:
+ case OPT_nodefaultlibs:
+ library = -1;
+ break;
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index fb228631a42..310ba8109ed 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -212,6 +212,9 @@ in the following sections.
+ -fno-weak -nostdinc++ @gol
+ -fvisibility-inlines-hidden @gol
+ -fvisibility-ms-compat @gol
++-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
++-fvtv-counts -fvtv-debug @gol
++-nostdlib++ @gol
+ -fext-numeric-literals @gol
+ -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol
+ -Wdelete-non-virtual-dtor -Wliteral-suffix -Wmultiple-inheritance @gol
+@@ -510,7 +513,7 @@ Objective-C and Objective-C++ Dialects}.
+ -s -static -static-pie -static-libgcc -static-libstdc++ @gol
+ -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol
+ -static-libmpx -static-libmpxwrappers @gol
+--shared -shared-libgcc -symbolic @gol
++-shared -shared-libgcc -symbolic -nostdlib++ @gol
+ -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol
+ -u @var{symbol} -z @var{keyword}}
+
+@@ -12359,6 +12362,33 @@ library subroutines.
+ constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
+ GNU Compiler Collection (GCC) Internals}.)
+
++@item -nostdlib++
++@opindex nostdlib++
++Do not use the standard system C++ runtime libraries when linking.
++Only the libraries you specify will be passed to the linker.
++
++@cindex @option{-lgcc}, use with @option{-nostdlib}
++@cindex @option{-nostdlib} and unresolved references
++@cindex unresolved references and @option{-nostdlib}
++@cindex @option{-lgcc}, use with @option{-nodefaultlibs}
++@cindex @option{-nodefaultlibs} and unresolved references
++@cindex unresolved references and @option{-nodefaultlibs}
++One of the standard libraries bypassed by @option{-nostdlib} and
++@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
++which GCC uses to overcome shortcomings of particular machines, or special
++needs for some languages.
++(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
++Collection (GCC) Internals},
++for more discussion of @file{libgcc.a}.)
++In most cases, you need @file{libgcc.a} even when you want to avoid
++other standard libraries. In other words, when you specify @option{-nostdlib}
++or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
++This ensures that you have no unresolved references to internal GCC
++library subroutines.
++(An example of such an internal subroutine is @code{__main}, used to ensure C++
++constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
++GNU Compiler Collection (GCC) Internals}.)
++
+ @item -pie
+ @opindex pie
+ Produce a dynamically linked position independent executable on targets
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 02b3cd39fc2..8cd27a5dad5 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1047,6 +1047,7 @@ proper position among the other output files. */
+ %(mflib) " STACK_SPLIT_SPEC "\
+ %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
+ %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
++ %{!nostdlib++:}\
+ %{!nostdlib:%{!nostartfiles:%E}} %{T*} \n%(post_link) }}}}}}"
+ #endif
+
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
new file mode 100644
index 000000000..0cea228c8
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
@@ -0,0 +1,59 @@
+From 1dba090a11c40b0926f9707a543d658c95e1f156 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:14:20 +0400
+Subject: [PATCH 06/40] gcc: disable MASK_RELAX_PIC_CALLS bit
+
+The new feature added after 4.3.3
+"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
+will cause cc1plus eat up all the system memory when build webkit-gtk.
+The function mips_get_pic_call_symbol keeps on recursively calling itself.
+Disable this feature to walk aside the bug.
+
+Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [configuration]
+---
+ gcc/configure | 7 -------
+ gcc/configure.ac | 7 -------
+ 2 files changed, 14 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 3901722400c..0c9b8ac5f55 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -27553,13 +27553,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6;
+ rm -f conftest.*
+ fi
+ fi
+- if test $gcc_cv_as_ld_jalr_reloc = yes; then
+- if test x$target_cpu_default = x; then
+- target_cpu_default=MASK_RELAX_PIC_CALLS
+- else
+- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
+- fi
+- fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
+ $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
+
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 1b1362f70fe..53840363115 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -4798,13 +4798,6 @@ x:
+ rm -f conftest.*
+ fi
+ fi
+- if test $gcc_cv_as_ld_jalr_reloc = yes; then
+- if test x$target_cpu_default = x; then
+- target_cpu_default=MASK_RELAX_PIC_CALLS
+- else
+- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
+- fi
+- fi
+ AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
+
+ AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch
new file mode 100644
index 000000000..8c7e72e1b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch
@@ -0,0 +1,38 @@
+From 209e46f45382088caab54425b92b5dfc43ebb4fc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:16:28 +0400
+Subject: [PATCH 07/40] COLLECT_GCC_OPTIONS
+
+This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
+invoke collect2.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/gcc.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 8cd27a5dad5..d355d65583a 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -4677,6 +4677,15 @@ set_collect_gcc_options (void)
+ sizeof ("COLLECT_GCC_OPTIONS=") - 1);
+
+ first_time = TRUE;
++#ifdef HAVE_LD_SYSROOT
++ if (target_system_root_changed && target_system_root)
++ {
++ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
++ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
++ obstack_grow (&collect_obstack, "'", 1);
++ first_time = FALSE;
++ }
++#endif
+ for (i = 0; (int) i < n_switches; i++)
+ {
+ const char *const *args;
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
new file mode 100644
index 000000000..f9632afec
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
@@ -0,0 +1,96 @@
+From 3bcbdf5ade54a72820ad7798119d0bbad4baf6ec Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:17:25 +0400
+Subject: [PATCH 08/40] Use the defaults.h in ${B} instead of ${S}, and t-oe in
+ ${B}
+
+Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
+the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+While compiling gcc-crosssdk-initial-x86_64 on some host, there is
+occasionally failure that test the existance of default.h doesn't
+work, the reason is tm_include_list='** defaults.h' rather than
+tm_include_list='** ./defaults.h'
+
+So we add the test condition for this situation.
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gcc/Makefile.in | 2 +-
+ gcc/configure | 4 ++--
+ gcc/configure.ac | 4 ++--
+ gcc/mkconfig.sh | 4 ++--
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 20bee0494b1..1367136bfac 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -538,7 +538,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
+ TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
+
+ xmake_file=@xmake_file@
+-tmake_file=@tmake_file@
++tmake_file=@tmake_file@ ./t-oe
+ TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
+ TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
+ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
+diff --git a/gcc/configure b/gcc/configure
+index 0c9b8ac5f55..134c2c2f156 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12158,8 +12158,8 @@ for f in $tm_file; do
+ tm_include_list="${tm_include_list} $f"
+ ;;
+ defaults.h )
+- tm_file_list="${tm_file_list} \$(srcdir)/$f"
+- tm_include_list="${tm_include_list} $f"
++ tm_file_list="${tm_file_list} ./$f"
++ tm_include_list="${tm_include_list} ./$f"
+ ;;
+ * )
+ tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 53840363115..0c3c82e4ff7 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1922,8 +1922,8 @@ for f in $tm_file; do
+ tm_include_list="${tm_include_list} $f"
+ ;;
+ defaults.h )
+- tm_file_list="${tm_file_list} \$(srcdir)/$f"
+- tm_include_list="${tm_include_list} $f"
++ tm_file_list="${tm_file_list} ./$f"
++ tm_include_list="${tm_include_list} ./$f"
+ ;;
+ * )
+ tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
+index 0f75c863c0b..68d8d6613cf 100644
+--- a/gcc/mkconfig.sh
++++ b/gcc/mkconfig.sh
+@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
+ if [ $# -ge 1 ]; then
+ echo '#ifdef IN_GCC' >> ${output}T
+ for file in "$@"; do
+- if test x"$file" = x"defaults.h"; then
++ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then
+ postpone_defaults_h="yes"
+ else
+ echo "# include \"$file\"" >> ${output}T
+@@ -106,7 +106,7 @@ esac
+
+ # If we postponed including defaults.h, add the #include now.
+ if test x"$postpone_defaults_h" = x"yes"; then
+- echo "# include \"defaults.h\"" >> ${output}T
++ echo "# include \"./defaults.h\"" >> ${output}T
+ fi
+
+ # Add multiple inclusion protection guard, part two.
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch
new file mode 100644
index 000000000..50d895bfd
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch
@@ -0,0 +1,46 @@
+From e654573352d28f160f379ee77e4067cf108714d0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:20:01 +0400
+Subject: [PATCH 09/40] fortran cross-compile hack.
+
+* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
+used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
+directory.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ libgfortran/configure | 2 +-
+ libgfortran/configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libgfortran/configure b/libgfortran/configure
+index 91fce8fecd0..6747f86eb98 100755
+--- a/libgfortran/configure
++++ b/libgfortran/configure
+@@ -12883,7 +12883,7 @@ esac
+
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ ac_ext=${ac_fc_srcext-f}
+ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
+index bf6d3634dda..9dbe43cc616 100644
+--- a/libgfortran/configure.ac
++++ b/libgfortran/configure.ac
+@@ -250,7 +250,7 @@ AC_SUBST(enable_static)
+
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ AC_PROG_FC(gfortran)
+
+ # extra LD Flags which are required for targets
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch
new file mode 100644
index 000000000..037eacf43
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch
@@ -0,0 +1,54 @@
+From 2ae7af4eb70eff6aeda1fe96333ff50cfaa9d906 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:22:00 +0400
+Subject: [PATCH 10/40] cpp: honor sysroot.
+
+Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
+preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
+rather than the --sysroot option specified on the commandline. If access to that directory is
+permission denied (unreadable), gcc will error.
+
+This happens when ccache is in use due to the fact it uses preprocessed source files.
+
+The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
+-isystem, -isysroot happen and the correct sysroot is used.
+
+[YOCTO #2074]
+
+RP 2012/04/13
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/cp/lang-specs.h | 2 +-
+ gcc/gcc.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
+index f0802b8915c..f324d299849 100644
+--- a/gcc/cp/lang-specs.h
++++ b/gcc/cp/lang-specs.h
+@@ -64,5 +64,5 @@ along with GCC; see the file COPYING3. If not see
+ {".ii", "@c++-cpp-output", 0, 0, 0},
+ {"@c++-cpp-output",
+ "%{!M:%{!MM:%{!E:\
+- cc1plus -fpreprocessed %i %(cc1_options) %2\
++ cc1plus -fpreprocessed %i %I %(cc1_options) %2\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index d355d65583a..570cdc00034 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1343,7 +1343,7 @@ static const struct compiler default_compilers[] =
+ %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
+ {".i", "@cpp-output", 0, 0, 0},
+ {"@cpp-output",
+- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
++ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {".s", "@assembler", 0, 0, 0},
+ {"@assembler",
+ "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch
new file mode 100644
index 000000000..c863cff93
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch
@@ -0,0 +1,57 @@
+From 1e1ea0eb55a594ac4cd7b838f74dec7405aae02b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:23:08 +0400
+Subject: [PATCH 11/40] MIPS64: Default to N64 ABI
+
+MIPS64 defaults to n32 ABI, this patch makes it
+so that it defaults to N64 ABI
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [OE config specific]
+---
+ gcc/config.gcc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 7af8e028104..fc7c91246ed 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -2143,29 +2143,29 @@ mips*-*-linux*) # Linux MIPS, either endian.
+ default_mips_arch=mips32
+ ;;
+ mips64el-st-linux-gnu)
+- default_mips_abi=n32
++ default_mips_abi=64
+ tm_file="${tm_file} mips/st.h"
+ tmake_file="${tmake_file} mips/t-st"
+ enable_mips_multilibs="yes"
+ ;;
+ mips64octeon*-*-linux*)
+- default_mips_abi=n32
++ default_mips_abi=64
+ tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
+ target_cpu_default=MASK_SOFT_FLOAT_ABI
+ enable_mips_multilibs="yes"
+ ;;
+ mipsisa64r6*-*-linux*)
+- default_mips_abi=n32
++ default_mips_abi=64
+ default_mips_arch=mips64r6
+ enable_mips_multilibs="yes"
+ ;;
+ mipsisa64r2*-*-linux*)
+- default_mips_abi=n32
++ default_mips_abi=64
+ default_mips_arch=mips64r2
+ enable_mips_multilibs="yes"
+ ;;
+ mips64*-*-linux* | mipsisa64*-*-linux*)
+- default_mips_abi=n32
++ default_mips_abi=64
+ enable_mips_multilibs="yes"
+ ;;
+ esac
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
new file mode 100644
index 000000000..d3be10f20
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -0,0 +1,248 @@
+From 6f8649936df3677109b8396f563c716ae8b237fe Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:24:50 +0400
+Subject: [PATCH 12/40] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
+ relative to SYSTEMLIBS_DIR
+
+This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
+relative to SYSTEMLIBS_DIR which can be set in generated headers
+This breaks the assumption of hardcoded multilib in gcc
+Change is only for the supported architectures in OE including
+SH, sparc, alpha for possible future support (if any)
+
+Removes the do_headerfix task in metadata
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [OE configuration]
+---
+ gcc/config/alpha/linux-elf.h | 4 ++--
+ gcc/config/arm/linux-eabi.h | 4 ++--
+ gcc/config/arm/linux-elf.h | 2 +-
+ gcc/config/i386/linux.h | 2 +-
+ gcc/config/i386/linux64.h | 6 +++---
+ gcc/config/linux.h | 8 ++++----
+ gcc/config/mips/linux.h | 12 ++++++------
+ gcc/config/riscv/linux.h | 2 +-
+ gcc/config/rs6000/linux64.h | 16 ++++++----------
+ gcc/config/sh/linux.h | 2 +-
+ gcc/config/sparc/linux.h | 2 +-
+ gcc/config/sparc/linux64.h | 4 ++--
+ 12 files changed, 30 insertions(+), 34 deletions(-)
+
+diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
+index 36b74dc1993..02373578af8 100644
+--- a/gcc/config/alpha/linux-elf.h
++++ b/gcc/config/alpha/linux-elf.h
+@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
+ #define EXTRA_SPECS \
+ { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+ #elif DEFAULT_LIBC == LIBC_GLIBC
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index 8585fde3d41..b3af68cac57 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -62,8 +62,8 @@
+ GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
+
+ #undef GLIBC_DYNAMIC_LINKER
+-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
+-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
+ #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
+
+ #define GLIBC_DYNAMIC_LINKER \
+diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
+index cfcd9cb1a5c..a798e987ecb 100644
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
+@@ -60,7 +60,7 @@
+
+ #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #define LINUX_TARGET_LINK_SPEC "%{h*} \
+ %{static:-Bstatic} \
+diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
+index 69f97f15b0d..71bc31d9231 100644
+--- a/gcc/config/i386/linux.h
++++ b/gcc/config/i386/linux.h
+@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
+
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
+diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+index f2d913e30ac..8725f33d8a5 100644
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
+@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
+
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index 2ea4ff92c1d..487b0c0923b 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -81,10 +81,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
+ GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
+ supporting both 32-bit and 64-bit compilation. */
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
+diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
+index 2dfd0c18b90..12057c51b5e 100644
+--- a/gcc/config/mips/linux.h
++++ b/gcc/config/mips/linux.h
+@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
+ #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
+
+ #define GLIBC_DYNAMIC_LINKER32 \
+- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ #define GLIBC_DYNAMIC_LINKER64 \
+- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ #define GLIBC_DYNAMIC_LINKERN32 \
+- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+
+ #undef UCLIBC_DYNAMIC_LINKER32
+ #define UCLIBC_DYNAMIC_LINKER32 \
+- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
+ #undef UCLIBC_DYNAMIC_LINKER64
+ #define UCLIBC_DYNAMIC_LINKER64 \
+- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
+ #define UCLIBC_DYNAMIC_LINKERN32 \
+- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
+
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 \
+diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
+index aa8a28d5d31..ebf9551c955 100644
+--- a/gcc/config/riscv/linux.h
++++ b/gcc/config/riscv/linux.h
+@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
+ GNU_USER_TARGET_OS_CPP_BUILTINS(); \
+ } while (0)
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
+
+ #define MUSL_ABI_SUFFIX \
+ "%{mabi=ilp32:-sf}" \
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index 44eab40a234..54aa8d957e7 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -413,16 +413,11 @@ extern int dot_symbols;
+ #undef LINK_OS_DEFAULT_SPEC
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+
+-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+-
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
+ #ifdef LINUX64_DEFAULT_ABI_ELFv2
+-#define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
+ #else
+-#define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
+ #endif
+
+ #define MUSL_DYNAMIC_LINKER32 \
+@@ -430,8 +425,9 @@ extern int dot_symbols;
+ #define MUSL_DYNAMIC_LINKER64 \
+ "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
++
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
+ "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
+diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
+index 6d2ccd012ba..ec78a89ce15 100644
+--- a/gcc/config/sh/linux.h
++++ b/gcc/config/sh/linux.h
+@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
+ "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
+ "%{mfdpic:-fdpic}.so.1"
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
+diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
+index 9fb03af0fe9..401fddbbb22 100644
+--- a/gcc/config/sparc/linux.h
++++ b/gcc/config/sparc/linux.h
+@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
+index c1fe42165b7..26a79bfa2e3 100644
+--- a/gcc/config/sparc/linux64.h
++++ b/gcc/config/sparc/linux64.h
+@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #ifdef SPARC_BI_ARCH
+
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch
new file mode 100644
index 000000000..e9d2cac22
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch
@@ -0,0 +1,40 @@
+From 9e815965fbaa90134be0e777cfc2fbcfab16b674 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:26:37 +0400
+Subject: [PATCH 13/40] gcc: Fix argument list too long error.
+
+There would be an "Argument list too long" error when the
+build directory is longer than 200, this is caused by:
+
+headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
+
+The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
+it, use the $(sort list) of GNU make which can handle the too long list
+would fix the problem, the header would be short enough after sorted.
+The "tr ' ' '\012'" was used for translating the space to "\n", the
+$(sort list) doesn't need this.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 1367136bfac..71a8275c39f 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -3538,7 +3538,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
+ # We keep the directory structure for files in config or c-family and .def
+ # files. All other files are flattened to a single directory.
+ $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
+- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
++ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
+ for file in $$headers; do \
+ if [ -f $$file ] ; then \
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch
new file mode 100644
index 000000000..2bc44515c
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch
@@ -0,0 +1,113 @@
+From 00c7a7fdd4b4aad9e57d8b541de17ad209b6cd06 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:28:10 +0400
+Subject: [PATCH 14/40] Disable sdt.
+
+We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
+It may or may not exist from preivous builds though. To be determinstic, disable
+sdt.h usage always. This avoids build failures if the header is removed after configure
+but before libgcc is compiled for example.
+
+RP 2012/8/7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Disable sdt for libstdc++-v3.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
+Upstream-Status: Inappropriate [hack]
+---
+ gcc/configure | 12 ++++++------
+ gcc/configure.ac | 18 +++++++++---------
+ libstdc++-v3/configure | 6 +++---
+ libstdc++-v3/configure.ac | 2 +-
+ 4 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 134c2c2f156..5111ec0aabb 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -29282,12 +29282,12 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
+ $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
+ have_sys_sdt_h=no
+-if test -f $target_header_dir/sys/sdt.h; then
+- have_sys_sdt_h=yes
+-
+-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+-
+-fi
++#if test -f $target_header_dir/sys/sdt.h; then
++# have_sys_sdt_h=yes
++#
++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++#
++#fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
+ $as_echo "$have_sys_sdt_h" >&6; }
+
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 0c3c82e4ff7..3e09af916fd 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5943,15 +5943,15 @@ fi
+ AC_SUBST([enable_default_ssp])
+
+ # Test for <sys/sdt.h> on the target.
+-GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
+-AC_MSG_CHECKING(sys/sdt.h in the target C library)
+-have_sys_sdt_h=no
+-if test -f $target_header_dir/sys/sdt.h; then
+- have_sys_sdt_h=yes
+- AC_DEFINE(HAVE_SYS_SDT_H, 1,
+- [Define if your target C library provides sys/sdt.h])
+-fi
+-AC_MSG_RESULT($have_sys_sdt_h)
++#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
++#AC_MSG_CHECKING(sys/sdt.h in the target C library)
++#have_sys_sdt_h=no
++#if test -f $target_header_dir/sys/sdt.h; then
++# have_sys_sdt_h=yes
++# AC_DEFINE(HAVE_SYS_SDT_H, 1,
++# [Define if your target C library provides sys/sdt.h])
++#fi
++#AC_MSG_RESULT($have_sys_sdt_h)
+
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index 5535bfa2b5a..13d793f5059 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -21786,11 +21786,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+- if test $glibcxx_cv_sys_sdt_h = yes; then
++# if test $glibcxx_cv_sys_sdt_h = yes; then
+
+-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+
+- fi
++# fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
+ $as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
+
+diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
+index 0ef96270c9c..afe55a1b215 100644
+--- a/libstdc++-v3/configure.ac
++++ b/libstdc++-v3/configure.ac
+@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
+ GLIBCXX_CHECK_SC_NPROC_ONLN
+ GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
+ GLIBCXX_CHECK_SYSCTL_HW_NCPU
+-GLIBCXX_CHECK_SDT_H
++#GLIBCXX_CHECK_SDT_H
+
+ # Check for available headers.
+ AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch
new file mode 100644
index 000000000..750f8a244
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch
@@ -0,0 +1,42 @@
+From 80f2b01b3f917cea08294328c8bbc51dadece4af Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:29:11 +0400
+Subject: [PATCH 15/40] libtool
+
+libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
+when running on am x86_64 build host.
+
+This patch stops this speading to libdir in the libstdc++.la file within libtool.
+Arguably, it shouldn't be passing this into libtool in the first place but
+for now this resolves the nastiest problems this causes.
+
+func_normal_abspath would resolve an empty path to `pwd` so we need
+to filter the zero case.
+
+RP 2012/8/24
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ ltmain.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 9503ec85d70..0121fba707f 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6359,6 +6359,10 @@ func_mode_link ()
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
++ if test -n "$install_libdir"; then
++ func_normal_abspath "$install_libdir"
++ install_libdir=$func_normal_abspath_result
++ fi
+
+ oldlibs=
+ if test -z "$rpath"; then
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
new file mode 100644
index 000000000..9b1b4d4df
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
@@ -0,0 +1,43 @@
+From a66ec1e382bf869749588f072a4a7c09039f2b3a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:30:32 +0400
+Subject: [PATCH 16/40] gcc: armv4: pass fix-v4bx to linker to support EABI.
+
+The LINK_SPEC for linux gets overwritten by linux-eabi.h which
+means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
+the option is not passed to linker when chosing march=armv4
+This patch redefines this in linux-eabi.h and reinserts it
+for eabi defaulting toolchains.
+
+We might want to send it upstream.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/config/arm/linux-eabi.h | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index b3af68cac57..330b6e13c5f 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -88,10 +88,14 @@
+ #define MUSL_DYNAMIC_LINKER \
+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
+
++/* For armv4 we pass --fix-v4bx to linker to support EABI */
++#undef TARGET_FIX_V4BX_SPEC
++#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
++
+ /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
+ use the GNU/Linux version, not the generic BPABI version. */
+ #undef LINK_SPEC
+-#define LINK_SPEC EABI_LINK_SPEC \
++#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \
+ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
+ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
+
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
new file mode 100644
index 000000000..382fecdbc
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
@@ -0,0 +1,102 @@
+From 624db734f656ad8cdf8b3cf3fc8e860b70c6c251 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:33:04 +0400
+Subject: [PATCH 17/40] Use the multilib config files from ${B} instead of
+ using the ones from ${S}
+
+Use the multilib config files from ${B} instead of using the ones from ${S}
+so that the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+
+Upstream-Status: Inappropriate [configuration]
+---
+ gcc/configure | 22 ++++++++++++++++++----
+ gcc/configure.ac | 22 ++++++++++++++++++----
+ 2 files changed, 36 insertions(+), 8 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 5111ec0aabb..3d9dcbdc93d 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12138,10 +12138,20 @@ done
+ tmake_file_=
+ for f in ${tmake_file}
+ do
+- if test -f ${srcdir}/config/$f
+- then
+- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+- fi
++ case $f in
++ */t-linux64 )
++ if test -f ./config/$f
++ then
++ tmake_file_="${tmake_file_} ./config/$f"
++ fi
++ ;;
++ * )
++ if test -f ${srcdir}/config/$f
++ then
++ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
++ fi
++ ;;
++ esac
+ done
+ tmake_file="${tmake_file_}"
+
+@@ -12152,6 +12162,10 @@ tm_file_list="options.h"
+ tm_include_list="options.h insn-constants.h"
+ for f in $tm_file; do
+ case $f in
++ */linux64.h )
++ tm_file_list="${tm_file_list} ./config/$f"
++ tm_include_list="${tm_include_list} ./config/$f"
++ ;;
+ ./* )
+ f=`echo $f | sed 's/^..//'`
+ tm_file_list="${tm_file_list} $f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 3e09af916fd..e09c840b605 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1902,10 +1902,20 @@ done
+ tmake_file_=
+ for f in ${tmake_file}
+ do
+- if test -f ${srcdir}/config/$f
+- then
+- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+- fi
++ case $f in
++ */t-linux64 )
++ if test -f ./config/$f
++ then
++ tmake_file_="${tmake_file_} ./config/$f"
++ fi
++ ;;
++ * )
++ if test -f ${srcdir}/config/$f
++ then
++ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
++ fi
++ ;;
++ esac
+ done
+ tmake_file="${tmake_file_}"
+
+@@ -1916,6 +1926,10 @@ tm_file_list="options.h"
+ tm_include_list="options.h insn-constants.h"
+ for f in $tm_file; do
+ case $f in
++ */linux64.h )
++ tm_file_list="${tm_file_list} ./config/$f"
++ tm_include_list="${tm_include_list} ./config/$f"
++ ;;
+ ./* )
+ f=`echo $f | sed 's/^..//'`
+ tm_file_list="${tm_file_list} $f"
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
new file mode 100644
index 000000000..20e77d6ea
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
@@ -0,0 +1,31 @@
+From 27cca95dcfeead8c52d292c4824ee96f178d6183 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 09:39:38 +0000
+Subject: [PATCH 18/40] Avoid using libdir from .la which usually points to a
+ host path
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 0121fba707f..52bdbdb5f9c 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -5628,6 +5628,9 @@ func_mode_link ()
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
++ # Instead of using libdir from .la which usually points to a host path,
++ # use the path the .la is contained in.
++ libdir="$abs_ladir"
+ dir="$libdir"
+ absdir="$libdir"
+ fi
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch
new file mode 100644
index 000000000..140c67a48
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch
@@ -0,0 +1,53 @@
+From a2936382da81aefa9b69c1fc625f6c706b7ea1d8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 09:40:59 +0000
+Subject: [PATCH 19/40] export CPP
+
+The OE environment sets and exports CPP as being the target gcc. When
+building gcc-cross-canadian for a mingw targetted sdk, the following can be found
+in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
+
+configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
+configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5
+configure:3666: $? = 0
+configure:3698: result: no
+configure:3786: checking how to run the C preprocessor
+configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
+configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
+configure:3876: $? = 0
+
+Note this is a *build* target (in build-x86_64-linux) so it should be
+using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
+headers are very different, using the wrong cpp is a real problem. It is leaking
+into configure through the CPP variable. Ultimately this leads to build
+failures related to not being able to include a process.h file for pem-unix.c.
+
+The fix is to ensure we export a sane CPP value into the build
+environment when using build targets. We could define a CPP_FOR_BUILD value which may be
+the version which needs to be upstreamed but for now, this fix is good enough to
+avoid the problem.
+
+RP 22/08/2013
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.in b/Makefile.in
+index 38774f542a6..b426d4f9350 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
+ AR="$(AR_FOR_BUILD)"; export AR; \
+ AS="$(AS_FOR_BUILD)"; export AS; \
+ CC="$(CC_FOR_BUILD)"; export CC; \
++ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
new file mode 100644
index 000000000..b22557eaf
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
@@ -0,0 +1,42 @@
+From d4326ab74a362b0fc83ed866f82c359389a36adc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 10:21:55 +0000
+Subject: [PATCH 20/40] Disable the MULTILIB_OSDIRNAMES and other multilib
+ options.
+
+Hard coding the MULTILIB_OSDIRNAMES with ../lib64 is causing problems on
+systems where the libdir is NOT set to /lib64. This is allowed by the
+ABI, as
+long as the dynamic loader is present in /lib.
+
+We simply want to use the default rules in gcc to find and configure the
+normal libdir.
+
+Upstream-Status: Inappropriate[OE-Specific]
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/aarch64/t-aarch64-linux | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
+index b9897785a89..7d06f0d0edb 100644
+--- a/gcc/config/aarch64/t-aarch64-linux
++++ b/gcc/config/aarch64/t-aarch64-linux
+@@ -21,8 +21,8 @@
+ LIB1ASMSRC = aarch64/lib1funcs.asm
+ LIB1ASMFUNCS = _aarch64_sync_cache_range
+
+-AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
+-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+-MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
++#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
++#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
++#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
+
+-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
++#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch
new file mode 100644
index 000000000..60d72699d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch
@@ -0,0 +1,98 @@
+From 476eda9054df443d094273c8b61fce63d940adfc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 10:25:11 +0000
+Subject: [PATCH 21/40] Ensure target gcc headers can be included
+
+There are a few headers installed as part of the OpenEmbedded
+gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
+built for the target architecture, these are within the target
+sysroot and not cross/nativesdk; thus they weren't able to be
+found by gcc with the existing search paths. Add support for
+picking up these headers under the sysroot supplied on the gcc
+command line in order to resolve this.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/Makefile.in | 2 ++
+ gcc/cppdefault.c | 4 ++++
+ gcc/defaults.h | 9 +++++++++
+ gcc/gcc.c | 7 -------
+ 4 files changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 71a8275c39f..5ae693fb06c 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -614,6 +614,7 @@ libexecdir = @libexecdir@
+
+ # Directory in which the compiler finds libraries etc.
+ libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
++libsubdir_target = gcc/$(target_noncanonical)/$(version)
+ # Directory in which the compiler finds executables
+ libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
+ # Directory in which all plugin resources are installed
+@@ -2870,6 +2871,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
+
+ PREPROCESSOR_DEFINES = \
+ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
++ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \
+ -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
+ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
+ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index b36a979d5ba..e2e187dedaf 100644
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[]
+ /* This is the dir for gcc's private headers. */
+ { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
+ #endif
++#ifdef GCC_INCLUDE_SUBDIR_TARGET
++ /* This is the dir for gcc's private headers under the specified sysroot. */
++ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
++#endif
+ #ifdef LOCAL_INCLUDE_DIR
+ /* /usr/local/include comes before the fixincluded header files. */
+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
+diff --git a/gcc/defaults.h b/gcc/defaults.h
+index 9035b333be8..5982bbda61d 100644
+--- a/gcc/defaults.h
++++ b/gcc/defaults.h
+@@ -1455,4 +1455,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
+ #endif
+
++/* Default prefixes to attach to command names. */
++
++#ifndef STANDARD_STARTFILE_PREFIX_1
++#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
++#endif
++#ifndef STANDARD_STARTFILE_PREFIX_2
++#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
++#endif
++
+ #endif /* ! GCC_DEFAULTS_H */
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 570cdc00034..3fb64d453f1 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1464,13 +1464,6 @@ static const char *gcc_libexec_prefix;
+
+ /* Default prefixes to attach to command names. */
+
+-#ifndef STANDARD_STARTFILE_PREFIX_1
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
+-#endif
+-#ifndef STANDARD_STARTFILE_PREFIX_2
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
+-#endif
+-
+ #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */
+ #undef MD_EXEC_PREFIX
+ #undef MD_STARTFILE_PREFIX
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
new file mode 100644
index 000000000..6f0d3f11d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
@@ -0,0 +1,54 @@
+From bc192f0a07ad819dee93446c5ef6895d9550d92d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 11:17:19 +0000
+Subject: [PATCH 22/40] gcc 4.8+ won't build with --disable-dependency-tracking
+
+since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
+
+This patch ensures we only use those compiler options when its enabled.
+
+Upstream-Status: Submitted
+
+(Problem was already reported upstream, attached this patch there
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
+
+RP
+2012/09/22
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libatomic/Makefile.am | 3 ++-
+ libatomic/Makefile.in | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
+index 803b292cce5..b47842eb590 100644
+--- a/libatomic/Makefile.am
++++ b/libatomic/Makefile.am
+@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT))
+ IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
+ IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
+
+-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_FALSE@M_DEPS =
+ M_SIZE = -DN=$(PAT_N)
+ M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
+ M_FILE = $(PAT_BASE)_n.c
+diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
+index c8f38be5835..4fab7cec3ea 100644
+--- a/libatomic/Makefile.in
++++ b/libatomic/Makefile.in
+@@ -335,7 +335,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
+ PAT_S = $(word 3,$(PAT_SPLIT))
+ IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
+ IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
+-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_FALSE@M_DEPS =
+ M_SIZE = -DN=$(PAT_N)
+ M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
+ M_FILE = $(PAT_BASE)_n.c
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch
new file mode 100644
index 000000000..fe3f3436f
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch
@@ -0,0 +1,38 @@
+From 0409d2dd7322ecbed731cbe29b034fea43c5dddc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Mar 2015 08:21:19 +0000
+Subject: [PATCH 23/40] Don't search host directory during "relink" if
+ $inst_prefix is provided
+
+http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
+
+Upstream-Status: Submitted
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 52bdbdb5f9c..82bcec39f05 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6004,12 +6004,13 @@ func_mode_link ()
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
++ # Default if $libdir is not relative to the prefix:
+ add_dir="-L$libdir"
+- # Try looking first in the location we're being installed to.
++
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+- add_dir="$add_dir -L$inst_prefix_dir$libdir"
++ add_dir="-L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
new file mode 100644
index 000000000..c388a0ad0
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
@@ -0,0 +1,28 @@
+From 56e2e1fc2a27c4a5cc9b471d5d0af90bcb871bfa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2015 23:15:27 -0700
+Subject: [PATCH 24/40] Use SYSTEMLIBS_DIR replacement instead of hardcoding base_libdir
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index bf1327e98cc..64436183bc8 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -21,7 +21,7 @@
+ #ifndef GCC_AARCH64_LINUX_H
+ #define GCC_AARCH64_LINUX_H
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch
new file mode 100644
index 000000000..03f9725b8
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch
@@ -0,0 +1,28 @@
+From b142e77e44e1acece6da54ccdc24c4da89cf4b99 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2015 23:18:39 -0700
+Subject: [PATCH 25/40] aarch64: Add support for musl ldso
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index 64436183bc8..ba156676026 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -24,7 +24,7 @@
+ #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+
+ #undef MUSL_DYNAMIC_LINKER
+-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
++#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+
+ #undef ASAN_CC1_SPEC
+ #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch
new file mode 100644
index 000000000..859173896
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch
@@ -0,0 +1,54 @@
+From 3d4e53fc7cd71ce1181af8a5e9655398857af741 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sun, 5 Jul 2015 20:25:18 -0700
+Subject: [PATCH 26/40] libcc1: fix libcc1's install path and rpath
+
+* Install libcc1.so and libcc1plugin.so into
+ $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
+ had done to lto-plugin.
+* Fix bad RPATH iussue:
+ gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
+ /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
+ [rpaths]
+
+Upstream-Status: Inappropriate [OE configuration]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ libcc1/Makefile.am | 4 ++--
+ libcc1/Makefile.in | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
+index 6ecb66b4365..634cce3c2a9 100644
+--- a/libcc1/Makefile.am
++++ b/libcc1/Makefile.am
+@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ $(Wc)$(libiberty_normal)))
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+
+ if ENABLE_PLUGIN
+ plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
+diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
+index 47be10025ad..8d5481d87bd 100644
+--- a/libcc1/Makefile.in
++++ b/libcc1/Makefile.in
+@@ -303,8 +303,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ $(Wc)$(libiberty_normal)))
+
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+ @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
+ @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
+ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch
new file mode 100644
index 000000000..4b955de8a
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch
@@ -0,0 +1,213 @@
+From c033c1df11b692213d03db91d6cc145b4adedfac Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:39:54 +0000
+Subject: [PATCH 27/40] handle sysroot support for nativesdk-gcc
+
+Being able to build a nativesdk gcc is useful, particularly in cases
+where the host compiler may be of an incompatible version (or a 32
+bit compiler is needed).
+
+Sadly, building nativesdk-gcc is not straight forward. We install
+nativesdk-gcc into a relocatable location and this means that its
+library locations can change. "Normal" sysroot support doesn't help
+in this case since the values of paths like "libdir" change, not just
+base root directory of the system.
+
+In order to handle this we do two things:
+
+a) Add %r into spec file markup which can be used for injected paths
+ such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
+b) Add other paths which need relocation into a .gccrelocprefix section
+ which the relocation code will notice and adjust automatically.
+
+Upstream-Status: Inappropriate
+RP 2015/7/28
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++-------------
+ gcc/cppdefault.h | 3 ++-
+ gcc/gcc.c | 20 +++++++++++++------
+ 3 files changed, 53 insertions(+), 20 deletions(-)
+
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index e2e187dedaf..2faba2b1d63 100644
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -35,6 +35,30 @@
+ # undef CROSS_INCLUDE_DIR
+ #endif
+
++static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
++static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
++static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
++static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
++static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
++#ifdef LOCAL_INCLUDE_DIR
++static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR;
++#endif
++#ifdef PREFIX_INCLUDE_DIR
++static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR;
++#endif
++#ifdef FIXED_INCLUDE_DIR
++static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR;
++#endif
++#ifdef CROSS_INCLUDE_DIR
++static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR;
++#endif
++#ifdef TOOL_INCLUDE_DIR
++static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR;
++#endif
++#ifdef NATIVE_SYSTEM_HEADER_DIR
++static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR;
++#endif
++
+ const struct default_include cpp_include_defaults[]
+ #ifdef INCLUDE_DEFAULTS
+ = INCLUDE_DEFAULTS;
+@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[]
+ = {
+ #ifdef GPLUSPLUS_INCLUDE_DIR
+ /* Pick up GNU C++ generic include files. */
+- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
++ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1,
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+ #endif
+ #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
+ /* Pick up GNU C++ target-dependent include files. */
+- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
++ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1,
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
+ #endif
+ #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
+ /* Pick up GNU C++ backward and deprecated include files. */
+- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
++ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1,
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+ #endif
+ #ifdef GCC_INCLUDE_DIR
+ /* This is the dir for gcc's private headers. */
+- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
++ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
+ #endif
+ #ifdef GCC_INCLUDE_SUBDIR_TARGET
+ /* This is the dir for gcc's private headers under the specified sysroot. */
+- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
++ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 },
+ #endif
+ #ifdef LOCAL_INCLUDE_DIR
+ /* /usr/local/include comes before the fixincluded header files. */
+- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
+- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 },
++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
+ #endif
+ #ifdef PREFIX_INCLUDE_DIR
+- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
++ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 },
+ #endif
+ #ifdef FIXED_INCLUDE_DIR
+ /* This is the dir for fixincludes. */
+- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
++ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
+ /* A multilib suffix needs adding if different multilibs use
+ different headers. */
+ #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
+@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
+ #endif
+ #ifdef CROSS_INCLUDE_DIR
+ /* One place the target system's headers might be. */
+- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
++ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
+ #endif
+ #ifdef TOOL_INCLUDE_DIR
+ /* Another place the target system's headers might be. */
+- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 },
++ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 },
+ #endif
+ #ifdef NATIVE_SYSTEM_HEADER_DIR
+ /* /usr/include comes dead last. */
+- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
+- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
++ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
++ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
+ #endif
+ { 0, 0, 0, 0, 0, 0 }
+ };
+diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
+index 4a0186d1cf2..29e5d9da0dc 100644
+--- a/gcc/cppdefault.h
++++ b/gcc/cppdefault.h
+@@ -33,7 +33,8 @@
+
+ struct default_include
+ {
+- const char *const fname; /* The name of the directory. */
++ const char *fname; /* The name of the directory. */
++
+ const char *const component; /* The component containing the directory
+ (see update_path in prefix.c) */
+ const char cplusplus; /* Only look here if we're compiling C++. */
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 3fb64d453f1..cd0c7fbe961 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -248,6 +248,8 @@ FILE *report_times_to_file = NULL;
+ #endif
+ static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
+
++static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR;
++
+ /* Nonzero means pass the updated target_system_root to the compiler. */
+
+ static int target_system_root_changed;
+@@ -519,6 +521,7 @@ or with constant text in a single argument.
+ %G process LIBGCC_SPEC as a spec.
+ %R Output the concatenation of target_system_root and
+ target_sysroot_suffix.
++ %r Output the base path target_relocatable_prefix
+ %S process STARTFILE_SPEC as a spec. A capital S is actually used here.
+ %E process ENDFILE_SPEC as a spec. A capital E is actually used here.
+ %C process CPP_SPEC as a spec.
+@@ -1487,10 +1490,10 @@ static const char *gcc_libexec_prefix;
+ gcc_exec_prefix is set because, in that case, we know where the
+ compiler has been installed, and use paths relative to that
+ location instead. */
+-static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
+-static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX;
+-static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
+-static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
++static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
++static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX;
++static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX;
++static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+
+ /* For native compilers, these are well-known paths containing
+ components that may be provided by the system. For cross
+@@ -1498,9 +1501,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+ static const char *md_exec_prefix = MD_EXEC_PREFIX;
+ static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
+ static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
+-static const char *const standard_startfile_prefix_1
++static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix")))
+ = STANDARD_STARTFILE_PREFIX_1;
+-static const char *const standard_startfile_prefix_2
++static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix")))
+ = STANDARD_STARTFILE_PREFIX_2;
+
+ /* A relative path to be used in finding the location of tools
+@@ -5849,6 +5852,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
+ }
+ break;
+
++ case 'r':
++ obstack_grow (&obstack, target_relocatable_prefix,
++ strlen (target_relocatable_prefix));
++ break;
++
+ case 'S':
+ value = do_spec_1 (startfile_spec, 0, NULL);
+ if (value != 0)
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch
new file mode 100644
index 000000000..1b25d7808
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch
@@ -0,0 +1,102 @@
+From 62240d4c725ea0b43abfb901ddad90e83e29a25c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:41:45 +0000
+Subject: [PATCH 28/40] Search target sysroot gcc version specific dirs with
+ multilib.
+
+We install the gcc libraries (such as crtbegin.p) into
+<sysroot><libdir>/<target-sys>/5.2.0/
+which is a default search path for GCC (aka multi_suffix in the
+code below). <target-sys> is 'machine' in gcc's terminology. We use
+these directories so that multiple gcc versions could in theory
+co-exist on target.
+
+We only want to build one gcc-cross-canadian per arch and have this work
+for all multilibs. <target-sys> can be handled by mapping the multilib
+<target-sys> to the one used by gcc-cross-canadian, e.g.
+mips64-polkmllib32-linux
+is symlinked to by mips64-poky-linux.
+
+The default gcc search path in the target sysroot for a "lib64" mutlilib
+is:
+
+<sysroot>/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/../lib64/
+<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/../lib64/
+<sysroot>/lib32/
+<sysroot>/usr/lib32/
+
+which means that the lib32 crtbegin.o will be found and the lib64 ones
+will not which leads to compiler failures.
+
+This patch injects a multilib version of that path first so the lib64
+binaries can be found first. With this change the search path becomes:
+
+<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/../lib64/
+<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/../lib64/
+<sysroot>/lib32/
+<sysroot>/usr/lib32/
+
+Upstream-Status: Pending
+RP 2015/7/31
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
+ 1 file changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index cd0c7fbe961..f6f3aa077c8 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -2527,7 +2527,7 @@ for_each_path (const struct path_prefix *paths,
+ if (path == NULL)
+ {
+ len = paths->max_len + extra_space + 1;
+- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
++ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len);
+ path = XNEWVEC (char, len);
+ }
+
+@@ -2539,6 +2539,33 @@ for_each_path (const struct path_prefix *paths,
+ /* Look first in MACHINE/VERSION subdirectory. */
+ if (!skip_multi_dir)
+ {
++ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
++ {
++ const char *this_multi;
++ size_t this_multi_len;
++
++ if (pl->os_multilib)
++ {
++ this_multi = multi_os_dir;
++ this_multi_len = multi_os_dir_len;
++ }
++ else
++ {
++ this_multi = multi_dir;
++ this_multi_len = multi_dir_len;
++ }
++
++ /* Look in multilib MACHINE/VERSION subdirectory first */
++ if (this_multi_len)
++ {
++ memcpy (path + len, this_multi, this_multi_len + 1);
++ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1);
++ ret = callback (path, callback_info);
++ if (ret)
++ break;
++ }
++ }
++
+ memcpy (path + len, multi_suffix, suffix_len + 1);
+ ret = callback (path, callback_info);
+ if (ret)
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch
new file mode 100644
index 000000000..0c8bdb17d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch
@@ -0,0 +1,137 @@
+From 1377c738e31a1e1599cfab189485a9459f803e79 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:42:45 +0000
+Subject: [PATCH 29/40] Fix various _FOR_BUILD and related variables
+
+When doing a FOR_BUILD thing, you have to override CFLAGS with
+CFLAGS_FOR_BUILD. And if you use C++, you also have to override
+CXXFLAGS with CXXFLAGS_FOR_BUILD.
+Without this, when building for mingw, you end up trying to use
+the mingw headers for a host build.
+
+The same goes for other variables as well, such as CPPFLAGS,
+CPP, and GMPINC.
+
+Upstream-Status: Pending
+
+Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 6 ++++++
+ Makefile.tpl | 5 +++++
+ gcc/Makefile.in | 2 +-
+ gcc/configure | 2 +-
+ gcc/configure.ac | 2 +-
+ 5 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b426d4f9350..a2af9905cce 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+@@ -169,6 +170,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ CFLAGS="$(CFLAGS_FOR_BUILD)" \
++ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++ CPP="$(CC_FOR_BUILD) -E" \
++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+
+ # This is the list of directories to built for the host system.
+@@ -186,6 +190,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ $(BASE_EXPORTS) \
+ CC="$(CC)"; export CC; \
++ CPP="$(CC) -E"; export CPP; \
+ ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+@@ -743,6 +748,7 @@ BASE_FLAGS_TO_PASS = \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
++ "CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
+ "EXPECT=$(EXPECT)" \
+ "FLEX=$(FLEX)" \
+ "INSTALL=$(INSTALL)" \
+diff --git a/Makefile.tpl b/Makefile.tpl
+index 1f23b79b4b2..6c5652e811d 100644
+--- a/Makefile.tpl
++++ b/Makefile.tpl
+@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
+ CC="$(CC_FOR_BUILD)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+@@ -171,6 +172,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ CFLAGS="$(CFLAGS_FOR_BUILD)" \
++ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++ CPP="$(CC_FOR_BUILD) -E" \
++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+
+ # This is the list of directories to built for the host system.
+@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ $(BASE_EXPORTS) \
+ CC="$(CC)"; export CC; \
++ CPP="$(CC) -E"; export CPP; \
+ ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 5ae693fb06c..02ee0aa72f4 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -801,7 +801,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
+ BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
+ BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
+ BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
++ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
+
+ # Actual name to use when installing a native compiler.
+ GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
+diff --git a/gcc/configure b/gcc/configure
+index 3d9dcbdc93d..aa127a4f6a4 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -11797,7 +11797,7 @@ else
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ ${realsrcdir}/configure \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index e09c840b605..18bf53c7e0a 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1708,7 +1708,7 @@ else
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ ${realsrcdir}/configure \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch
new file mode 100644
index 000000000..04e126c5c
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch
@@ -0,0 +1,28 @@
+From 75da3cc9ca2d3de8c2062f23bf4f72415741ef83 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 2 Feb 2016 10:26:10 -0800
+Subject: [PATCH 30/40] nios2: Define MUSL_DYNAMIC_LINKER
+
+Upstream-Status: Pending
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/nios2/linux.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
+index 4729105626d..36181eb7b85 100644
+--- a/gcc/config/nios2/linux.h
++++ b/gcc/config/nios2/linux.h
+@@ -30,6 +30,7 @@
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC LINK_SPEC_ENDIAN \
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
new file mode 100644
index 000000000..002cf2bec
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
@@ -0,0 +1,87 @@
+From f715aeef294b85fa593ef69e6d0114cc7b15312b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 18:10:54 -0700
+Subject: [PATCH 31/40] Add ssp_nonshared to link commandline for musl targets
+
+when -fstack-protector options are enabled we need to
+link with ssp_shared on musl since it does not provide
+the __stack_chk_fail_local() so essentially it provides
+libssp but not libssp_nonshared something like
+TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED
+ where-as for glibc the needed symbols
+are already present in libc_nonshared library therefore
+we do not need any library helper on glibc based systems
+but musl needs the libssp_noshared from gcc
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/linux.h | 7 +++++++
+ gcc/config/rs6000/linux.h | 10 ++++++++++
+ gcc/config/rs6000/linux64.h | 10 ++++++++++
+ 3 files changed, 27 insertions(+)
+
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index 487b0c0923b..4769d089538 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -182,6 +182,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
+ { 0, 0, 0, 0, 0, 0 } \
+ }
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++ "|fstack-protector-strong|fstack-protector-explicit" \
++ ":-lssp_nonshared}"
++#endif
++
+ #endif
+
+ #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
+diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
+index 01b40c762f6..e7c5e92215c 100644
+--- a/gcc/config/rs6000/linux.h
++++ b/gcc/config/rs6000/linux.h
+@@ -92,6 +92,16 @@
+ " -m elf32ppclinux")
+ #endif
+
++/* link libssp_nonshared.a with musl */
++#if DEFAULT_LIBC == LIBC_MUSL
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++ "|fstack-protector-strong|fstack-protector-explicit" \
++ ":-lssp_nonshared}"
++#endif
++#endif
++
+ #undef LINK_OS_LINUX_SPEC
+ #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
+ %{!static-pie: \
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index 54aa8d957e7..619e113e2b8 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -466,6 +466,16 @@ extern int dot_symbols;
+ " -m elf64ppc")
+ #endif
+
++/* link libssp_nonshared.a with musl */
++#if DEFAULT_LIBC == LIBC_MUSL
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++ "|fstack-protector-strong|fstack-protector-explicit" \
++ ":-lssp_nonshared}"
++#endif
++#endif
++
+ #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
+ %{!static-pie: \
+ %{rdynamic:-export-dynamic} \
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
new file mode 100644
index 000000000..025caba31
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
@@ -0,0 +1,125 @@
+From 6dfbca78b8d253aecf9cbb5e68e04b8dd3d6a543 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Apr 2016 20:03:28 +0000
+Subject: [PATCH 32/40] libgcc: Add knob to use ldbl-128 on ppc
+
+musl does not support ldbl 128 so we can not assume
+that linux as a whole supports ldbl-128 bits, instead
+act upon configure option passed to gcc and assume no
+on musl and yes otherwise if no option is passed since
+default behaviour is to assume ldbl128 it does not
+change the defaults
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgcc/Makefile.in | 1 +
+ libgcc/config/rs6000/t-linux | 5 ++++-
+ libgcc/configure | 18 ++++++++++++++++++
+ libgcc/configure.ac | 12 ++++++++++++
+ 4 files changed, 35 insertions(+), 1 deletion(-)
+ mode change 100644 => 100755 libgcc/configure
+
+diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
+index dd8cee99fd3..b5f478af382 100644
+--- a/libgcc/Makefile.in
++++ b/libgcc/Makefile.in
+@@ -48,6 +48,7 @@ unwind_header = @unwind_header@
+ md_unwind_header = @md_unwind_header@
+ sfp_machine_header = @sfp_machine_header@
+ thread_header = @thread_header@
++with_ldbl128 = @with_ldbl128@
+
+ host_noncanonical = @host_noncanonical@
+ real_host_noncanonical = @real_host_noncanonical@
+diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
+index 4f6d4c4a4d2..c50dd94a2da 100644
+--- a/libgcc/config/rs6000/t-linux
++++ b/libgcc/config/rs6000/t-linux
+@@ -1,3 +1,6 @@
+ SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
+
+-HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
++ifeq ($(with_ldbl128),yes)
++HOST_LIBGCC2_CFLAGS += -mlong-double-128
++endif
++HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
+diff --git a/libgcc/configure b/libgcc/configure
+old mode 100644
+new mode 100755
+index b2f3f870844..ed806587c17
+--- a/libgcc/configure
++++ b/libgcc/configure
+@@ -619,6 +619,7 @@ build_vendor
+ build_cpu
+ build
+ with_aix_soname
++with_ldbl128
+ enable_vtable_verify
+ enable_shared
+ libgcc_topdir
+@@ -668,6 +669,7 @@ with_cross_host
+ with_ld
+ enable_shared
+ enable_vtable_verify
++with_long_double_128
+ with_aix_soname
+ enable_version_specific_runtime_libs
+ with_slibdir
+@@ -1329,6 +1331,7 @@ Optional Packages:
+ --with-target-subdir=SUBDIR Configuring in a subdirectory for target
+ --with-cross-host=HOST Configuring with a cross compiler
+ --with-ld arrange to use the specified ld (full pathname)
++ --with-long-double-128 use 128-bit long double by default
+ --with-aix-soname=aix|svr4|both
+ shared library versioning (aka "SONAME") variant to
+ provide on AIX
+@@ -2213,6 +2216,21 @@ fi
+
+
+
++# Check whether --with-long-double-128 was given.
++if test "${with_long_double_128+set}" = set; then :
++ withval=$with_long_double_128; with_ldbl128="$with_long_double_128"
++else
++ case "${host}" in
++ power*-*-musl*)
++ with_ldbl128="no";;
++ *) with_ldbl128="yes";;
++ esac
++
++fi
++
++
++
++
+ # Check whether --with-aix-soname was given.
+ if test "${with_aix_soname+set}" = set; then :
+ withval=$with_aix_soname; case "${host}:${enable_shared}" in
+diff --git a/libgcc/configure.ac b/libgcc/configure.ac
+index b59aa746afc..42220a263c5 100644
+--- a/libgcc/configure.ac
++++ b/libgcc/configure.ac
+@@ -78,6 +78,18 @@ AC_ARG_ENABLE(vtable-verify,
+ [enable_vtable_verify=no])
+ AC_SUBST(enable_vtable_verify)
+
++AC_ARG_WITH(long-double-128,
++[AS_HELP_STRING([--with-long-double-128],
++ [use 128-bit long double by default])],
++ with_ldbl128="$with_long_double_128",
++[case "${host}" in
++ power*-*-musl*)
++ with_ldbl128="no";;
++ *) with_ldbl128="yes";;
++ esac
++])
++AC_SUBST(with_ldbl128)
++
+ AC_ARG_WITH(aix-soname,
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+ [shared library versioning (aka "SONAME") variant to provide on AIX])],
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
new file mode 100644
index 000000000..343f7aad1
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
@@ -0,0 +1,29 @@
+From 7e55147e8e609ace6f9eecd86a956636687671f0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 4 May 2016 21:11:34 -0700
+Subject: [PATCH 33/40] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
+
+Upstream-Status: Pending
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgcc/config/t-slibgcc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
+index 7e60b621a2d..ea22ede3361 100644
+--- a/libgcc/config/t-slibgcc
++++ b/libgcc/config/t-slibgcc
+@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
+ $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+
+ SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+- $(SHLIB_LDFLAGS) \
++ $(LDFLAGS) $(SHLIB_LDFLAGS) \
+ -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
+ $(SHLIB_OBJS) $(SHLIB_LC) && \
+ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
new file mode 100644
index 000000000..92224cc56
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
@@ -0,0 +1,85 @@
+From 46ca51dd413330bb8425b06283e7667bfb507c3d Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <nsz@port70.net>
+Date: Sat, 24 Oct 2015 20:09:53 +0000
+Subject: [PATCH 34/40] libgcc_s: Use alias for __cpu_indicator_init instead of symver
+
+Adapter from
+
+https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html
+
+This fix was debated but hasnt been applied gcc upstream since
+they expect musl to support '@' in symbol versioning which is
+a sun/gnu versioning extention. This patch however avoids the
+need for the '@' symbols at all
+
+libgcc/Changelog:
+
+2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add.
+ (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove.
+
+ * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER.
+
+gcc/Changelog:
+
+2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init
+ call __cpu_indicator_init_local instead of __cpu_indicator_init.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/i386/i386.c | 4 ++--
+ libgcc/config/i386/cpuinfo.c | 6 +++---
+ libgcc/config/i386/t-linux | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index a88a29b51e6..6f3f5187970 100644
+--- a/gcc/config/i386/i386.c
++++ b/gcc/config/i386/i386.c
+@@ -36555,10 +36555,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
+ {
+ case IX86_BUILTIN_CPU_INIT:
+ {
+- /* Make it call __cpu_indicator_init in libgcc. */
++ /* Make it call __cpu_indicator_init_local in libgcc.a. */
+ tree call_expr, fndecl, type;
+ type = build_function_type_list (integer_type_node, NULL_TREE);
+- fndecl = build_fn_decl ("__cpu_indicator_init", type);
++ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
+ call_expr = build_call_expr (fndecl, 0);
+ return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
+ }
+diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
+index d1853d5515b..864150c9249 100644
+--- a/libgcc/config/i386/cpuinfo.c
++++ b/libgcc/config/i386/cpuinfo.c
+@@ -485,7 +485,7 @@ __cpu_indicator_init (void)
+ return 0;
+ }
+
+-#if defined SHARED && defined USE_ELF_SYMVER
+-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
+-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
++#ifndef SHARED
++int __cpu_indicator_init_local (void)
++ __attribute__ ((weak, alias ("__cpu_indicator_init")));
+ #endif
+diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
+index 8506a635790..564296f788e 100644
+--- a/libgcc/config/i386/t-linux
++++ b/libgcc/config/i386/t-linux
+@@ -3,5 +3,5 @@
+ # t-slibgcc-elf-ver and t-linux
+ SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
+
+-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
++HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
+ CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch
new file mode 100644
index 000000000..6ecd6e972
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch
@@ -0,0 +1,91 @@
+From 38d401fb6ab555d09f4a9a677721dde0743876e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 3 Feb 2017 12:56:00 -0800
+Subject: [PATCH 35/40] sync gcc stddef.h with musl
+
+musl defines ptrdiff_t size_t and wchar_t
+so dont define them here if musl is definining them
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/ginclude/stddef.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
+index 31b96a7e5e1..438a3ce7c56 100644
+--- a/gcc/ginclude/stddef.h
++++ b/gcc/ginclude/stddef.h
+@@ -134,6 +134,7 @@ _TYPE_wchar_t;
+ #ifndef ___int_ptrdiff_t_h
+ #ifndef _GCC_PTRDIFF_T
+ #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
++#ifndef __DEFINED_ptrdiff_t /* musl */
+ #define _PTRDIFF_T
+ #define _T_PTRDIFF_
+ #define _T_PTRDIFF
+@@ -143,10 +144,12 @@ _TYPE_wchar_t;
+ #define ___int_ptrdiff_t_h
+ #define _GCC_PTRDIFF_T
+ #define _PTRDIFF_T_DECLARED
++#define __DEFINED_ptrdiff_t /* musl */
+ #ifndef __PTRDIFF_TYPE__
+ #define __PTRDIFF_TYPE__ long int
+ #endif
+ typedef __PTRDIFF_TYPE__ ptrdiff_t;
++#endif /* __DEFINED_ptrdiff_t */
+ #endif /* _PTRDIFF_T_DECLARED */
+ #endif /* _GCC_PTRDIFF_T */
+ #endif /* ___int_ptrdiff_t_h */
+@@ -184,6 +187,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
+ #ifndef _GCC_SIZE_T
+ #ifndef _SIZET_
+ #ifndef __size_t
++#ifndef __DEFINED_size_t /* musl */
+ #define __size_t__ /* BeOS */
+ #define __SIZE_T__ /* Cray Unicos/Mk */
+ #define _SIZE_T
+@@ -200,6 +204,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
+ #define ___int_size_t_h
+ #define _GCC_SIZE_T
+ #define _SIZET_
++#define __DEFINED_size_t /* musl */
+ #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
+ || defined(__DragonFly__) \
+ || defined(__FreeBSD_kernel__)
+@@ -235,6 +240,7 @@ typedef long ssize_t;
+ #endif /* _SIZE_T */
+ #endif /* __SIZE_T__ */
+ #endif /* __size_t__ */
++#endif /* __DEFINED_size_t */
+ #undef __need_size_t
+ #endif /* _STDDEF_H or __need_size_t. */
+
+@@ -264,6 +270,7 @@ typedef long ssize_t;
+ #ifndef ___int_wchar_t_h
+ #ifndef __INT_WCHAR_T_H
+ #ifndef _GCC_WCHAR_T
++#ifndef __DEFINED_wchar_t /* musl */
+ #define __wchar_t__ /* BeOS */
+ #define __WCHAR_T__ /* Cray Unicos/Mk */
+ #define _WCHAR_T
+@@ -279,6 +286,7 @@ typedef long ssize_t;
+ #define __INT_WCHAR_T_H
+ #define _GCC_WCHAR_T
+ #define _WCHAR_T_DECLARED
++#define __DEFINED_wchar_t /* musl */
+
+ /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
+ instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
+@@ -344,6 +352,7 @@ typedef __WCHAR_TYPE__ wchar_t;
+ #endif
+ #endif /* __WCHAR_T__ */
+ #endif /* __wchar_t__ */
++#endif /* __DEFINED_wchar_t musl */
+ #undef __need_wchar_t
+ #endif /* _STDDEF_H or __need_wchar_t. */
+
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch
new file mode 100644
index 000000000..c4ce5db55
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch
@@ -0,0 +1,60 @@
+From a9bb29a4e9b478f9b126e483467ce9031c33fe4f Mon Sep 17 00:00:00 2001
+From: Juro Bystricky <juro.bystricky@intel.com>
+Date: Mon, 19 Mar 2018 22:31:20 -0700
+Subject: [PATCH 36/40] fix segmentation fault in precompiled header generation
+
+Prevent a segmentation fault which occurs when using incorrect
+structure trying to access name of some named operators, such as
+CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in
+those cases, as is may not be initialized at all.
+
+[YOCTO #11738]
+
+Upstream-Status: Pending
+
+Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libcpp/lex.c | 26 +++++++++++++++++++++-----
+ 1 file changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/libcpp/lex.c b/libcpp/lex.c
+index 37c365a3560..63480048db6 100644
+--- a/libcpp/lex.c
++++ b/libcpp/lex.c
+@@ -3279,11 +3279,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
+ spell_ident:
+ case SPELL_IDENT:
+ if (forstring)
+- {
+- memcpy (buffer, NODE_NAME (token->val.node.spelling),
+- NODE_LEN (token->val.node.spelling));
+- buffer += NODE_LEN (token->val.node.spelling);
+- }
++ {
++ if (token->type == CPP_NAME)
++ {
++ memcpy (buffer, NODE_NAME (token->val.node.spelling),
++ NODE_LEN (token->val.node.spelling));
++ buffer += NODE_LEN (token->val.node.spelling);
++ break;
++ }
++ /* NAMED_OP, cannot use node.spelling */
++ if (token->flags & NAMED_OP)
++ {
++ const char *str = cpp_named_operator2name (token->type);
++ if (str)
++ {
++ size_t len = strlen(str);
++ memcpy(buffer, str, len);
++ buffer += len;
++ }
++ break;
++ }
++ }
+ else
+ buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
+ break;
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch
new file mode 100644
index 000000000..70999dd45
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch
@@ -0,0 +1,258 @@
+From 1e5c1ef34d92b4157e1a24ca743d45f3a7375a5e Mon Sep 17 00:00:00 2001
+From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>
+Date: Wed, 6 Dec 2017 22:52:26 -0800
+Subject: [PATCH 37/40] Fix for testsuite failure
+
+2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com>
+
+ * gcc.dg/pr56275.c: If SSE is disabled, ensure that
+ "-mfpmath" is not set to use SSE. Set "-mfpmath=387".
+ * gcc.dg/pr68306.c: Likewise
+ * gcc.dg/pr68306-2.c: Likewise
+ * gcc.dg/pr68306-3.c: Likewise
+ * gcc.dg/pr69634.c: Likewise
+ * gcc.target/i386/amd64-abi-1.c: Likewise
+ * gcc.target/i386/funcspec-6.c: Likewise
+ * gcc.target/i386/interrupt-387-err-1.c: Likewise
+ * gcc.target/i386/isa-14.c: Likewise
+ * gcc.target/i386/pr44948-2b.c: Likewise
+ * gcc.target/i386/pr53425-1.c: Likewise
+ * gcc.target/i386/pr53425-2.c: Likewise
+ * gcc.target/i386/pr55247.c: Likewise
+ * gcc.target/i386/pr59644.c: Likewise
+ * gcc.target/i386/pr62120.c: Likewise
+ * gcc.target/i386/pr70467-1.c: Likewise
+ * gcc.target/i386/warn-vect-op-1.c: Likewise
+
+If -Wall, -Werror are used during compilation various test cases fail
+to compile.
+
+If SSE is disabled, be sure to -mfpmath=387 to resolve this.
+
+This patch removes the changes to Changelog from the original patch.
+This will help us avoid conflicts.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+---
+ gcc/testsuite/gcc.dg/pr56275.c | 2 +-
+ gcc/testsuite/gcc.dg/pr68306-2.c | 2 +-
+ gcc/testsuite/gcc.dg/pr68306-3.c | 2 +-
+ gcc/testsuite/gcc.dg/pr68306.c | 2 +-
+ gcc/testsuite/gcc.dg/pr69634.c | 2 +-
+ gcc/testsuite/gcc.target/i386/amd64-abi-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/funcspec-6.c | 1 +
+ gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/isa-14.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr44948-2b.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr53425-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr53425-2.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr55247.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr59644.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr62120.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr70467-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/warn-vect-op-1.c | 2 +-
+ 17 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c
+index b901bb2b199..a4f6c95e1a1 100644
+--- a/gcc/testsuite/gcc.dg/pr56275.c
++++ b/gcc/testsuite/gcc.dg/pr56275.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+-/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
+
+ typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long))));
+
+diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c
+index 4672ebe7987..2a368c484b6 100644
+--- a/gcc/testsuite/gcc.dg/pr68306-2.c
++++ b/gcc/testsuite/gcc.dg/pr68306-2.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+
+ struct {
+ int tz_minuteswest;
+diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c
+index f5a8c102cf8..df3390c64c2 100644
+--- a/gcc/testsuite/gcc.dg/pr68306-3.c
++++ b/gcc/testsuite/gcc.dg/pr68306-3.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+ /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */
+
+ extern void fn2();
+diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c
+index 54e5b40f221..0813389e2c1 100644
+--- a/gcc/testsuite/gcc.dg/pr68306.c
++++ b/gcc/testsuite/gcc.dg/pr68306.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+
+ enum powerpc_pmc_type { PPC_PMC_IBM };
+ struct {
+diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c
+index 60a56149463..bcc23f9ccd6 100644
+--- a/gcc/testsuite/gcc.dg/pr69634.c
++++ b/gcc/testsuite/gcc.dg/pr69634.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */
+-/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+ /* { dg-require-effective-target scheduling } */
+
+ typedef unsigned short u16;
+diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
+index 69fde57bf06..7f1f1c03edf 100644
+--- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-mno-sse" } */
++/* { dg-options "-mno-sse -mfpmath=387" } */
+ /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
+
+ double foo(void) { return 0; } /* { dg-error "SSE disabled" } */
+diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c
+index ea896b7ebfd..bf15569b826 100644
+--- a/gcc/testsuite/gcc.target/i386/funcspec-6.c
++++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c
+@@ -1,6 +1,7 @@
+ /* Test whether all of the 64-bit function specific options are accepted
+ without error. */
+ /* { dg-do compile { target { ! ia32 } } } */
++/* { dg-additional-options "-mfpmath=387" } */
+
+ #include "funcspec-56.inc"
+
+diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
+index 3fbdc881dda..6b4d9d1252a 100644
+--- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
++++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */
++/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */
+
+ typedef unsigned int uword_t __attribute__ ((mode (__word__)));
+
+diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c
+index 5d49e6e77fe..1de2db92bdd 100644
+--- a/gcc/testsuite/gcc.target/i386/isa-14.c
++++ b/gcc/testsuite/gcc.target/i386/isa-14.c
+@@ -1,5 +1,5 @@
+ /* { dg-do run } */
+-/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */
++/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */
+
+ extern void abort (void);
+
+diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
+index fa1769b62fb..f79fb12726f 100644
+--- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c
++++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */
++/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */
+
+ struct A
+ {
+diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c
+index 2e89ff7d81d..6339bf6b736 100644
+--- a/gcc/testsuite/gcc.target/i386/pr53425-1.c
++++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c
+@@ -1,6 +1,6 @@
+ /* PR target/53425 */
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+ /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
+
+ typedef double __v2df __attribute__ ((__vector_size__ (16)));
+diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c
+index 61f6283dbe9..2c5a55f0ac3 100644
+--- a/gcc/testsuite/gcc.target/i386/pr53425-2.c
++++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c
+@@ -1,6 +1,6 @@
+ /* PR target/53425 */
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+ /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
+
+ typedef float __v2sf __attribute__ ((__vector_size__ (8)));
+diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c
+index 23366d0909d..9810e3abb76 100644
+--- a/gcc/testsuite/gcc.target/i386/pr55247.c
++++ b/gcc/testsuite/gcc.target/i386/pr55247.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-require-effective-target maybe_x32 } */
+-/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */
++/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */
+
+ typedef unsigned int uint32_t;
+ typedef uint32_t Elf32_Word;
+diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c
+index 96006b3e338..4287e4538bf 100644
+--- a/gcc/testsuite/gcc.target/i386/pr59644.c
++++ b/gcc/testsuite/gcc.target/i386/pr59644.c
+@@ -1,6 +1,6 @@
+ /* PR target/59644 */
+ /* { dg-do run { target lp64 } } */
+-/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */
++/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */
+
+ /* This test uses __builtin_trap () instead of e.g. abort,
+ because due to -mpreferred-stack-boundary=3 it should not call
+diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c
+index bfb8c4703eb..ed04cf181f3 100644
+--- a/gcc/testsuite/gcc.target/i386/pr62120.c
++++ b/gcc/testsuite/gcc.target/i386/pr62120.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-mno-sse" } */
++/* { dg-options "-mno-sse -mfpmath=387" } */
+
+ void foo ()
+ {
+diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c
+index 4e112c88d07..bcfb396a68d 100644
+--- a/gcc/testsuite/gcc.target/i386/pr70467-1.c
++++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c
+@@ -1,6 +1,6 @@
+ /* PR rtl-optimization/70467 */
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+
+ void foo (unsigned long long *);
+
+diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
+index 6cda1534311..26e37f5b8ba 100644
+--- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
++++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-mno-sse -Wvector-operation-performance" } */
++/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" } */
+ #define vector(elcount, type) \
+ __attribute__((vector_size((elcount)*sizeof(type)))) type
+
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch
new file mode 100644
index 000000000..8de8892b8
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch
@@ -0,0 +1,41 @@
+From f0bea96434ac478c3cff8c29dd97cccfac5b35e3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 6 Jun 2018 12:10:22 -0700
+Subject: [PATCH 38/40] Re-introduce spe commandline options
+
+This should ensure that we keep accepting
+spe options
+
+Upstream-Status: Inappropriate [SPE port is removed from rs600 port]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/rs6000/rs6000.opt | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
+index ace8a477550..d6a8f825d88 100644
+--- a/gcc/config/rs6000/rs6000.opt
++++ b/gcc/config/rs6000/rs6000.opt
+@@ -365,6 +365,18 @@ mdebug=
+ Target RejectNegative Joined
+ -mdebug= Enable debug output.
+
++mspe
++Target Var(rs6000_spe) Save
++Generate SPE SIMD instructions on E500.
++
++mabi=spe
++Target RejectNegative Var(rs6000_spe_abi) Save
++Use the SPE ABI extensions.
++
++mabi=no-spe
++Target RejectNegative Var(rs6000_spe_abi, 0)
++Do not use the SPE ABI extensions.
++
+ mabi=altivec
+ Target RejectNegative Var(rs6000_altivec_abi) Save
+ Use the AltiVec ABI extensions.
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch
new file mode 100644
index 000000000..f7b222e81
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch
@@ -0,0 +1,27 @@
+From 24f74444c00c6c9bf076fb002614ebf6dec31f1a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 28 Dec 2018 09:59:53 -0800
+Subject: [PATCH 39/40] riscv: Disable multilib for OE
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/riscv/t-linux | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
+index 216d2776a18..e4d817621fc 100644
+--- a/gcc/config/riscv/t-linux
++++ b/gcc/config/riscv/t-linux
+@@ -1,3 +1,5 @@
+ # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
+-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
+-MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
++MULTILIB_DIRNAMES := . .
++#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch
new file mode 100644
index 000000000..9fba16377
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch
@@ -0,0 +1,31 @@
+From 4bd0a3866f302725cb4eddcaddaeece64900c42f Mon Sep 17 00:00:00 2001
+From: Serhey Popovych <serhe.popovych@gmail.com>
+Date: Tue, 11 Dec 2018 02:30:50 -0500
+Subject: [PATCH 40/40] powerpc/powerpc64: Add support for musl ldso
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
+---
+ gcc/config/rs6000/linux64.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index 619e113e2b8..ee8b44f9374 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -421,9 +421,9 @@ extern int dot_symbols;
+ #endif
+
+ #define MUSL_DYNAMIC_LINKER32 \
+- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+ #define MUSL_DYNAMIC_LINKER64 \
+- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++ SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+
+ #define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-common.inc b/poky/meta/recipes-devtools/gcc/gcc-common.inc
index 00fec0bb6..96334e54b 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-common.inc
@@ -10,12 +10,11 @@ CVE_PRODUCT = "gcc"
inherit autotools gettext texinfo
BPN = "gcc"
-COMPILERINITIAL = ""
-COMPILERDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}gcc${COMPILERINITIAL}:do_gcc_stash_builddir"
-COMPILERDEP_class-nativesdk = "virtual/${TARGET_PREFIX}gcc${COMPILERINITIAL}-crosssdk:do_gcc_stash_builddir"
+COMPILERDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}gcc:do_gcc_stash_builddir"
+COMPILERDEP_class-nativesdk = "virtual/${TARGET_PREFIX}gcc-crosssdk:do_gcc_stash_builddir"
python extract_stashed_builddir () {
- src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}")
+ src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}")
dest = d.getVar("B")
oe.path.copyhardlinktree(src, dest)
staging_processfixme([src + "/fixmepath"], dest, dest, dest, d)
@@ -38,7 +37,7 @@ def get_gcc_mips_plt_setting(bb, d):
return ""
def get_gcc_ppc_plt_settings(bb, d):
- if d.getVar('TRANSLATED_TARGET_ARCH') in [ 'powerpc' ] and not bb.utils.contains('DISTRO_FEATURES', 'bssplt', True, False, d):
+ if d.getVar('TRANSLATED_TARGET_ARCH') in [ 'powerpc', 'powerpc64' ] and not bb.utils.contains('DISTRO_FEATURES', 'bssplt', True, False, d):
return "--enable-secureplt"
return ""
diff --git a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
index e2ce234aa..375c5e90c 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -17,7 +17,6 @@ LANGUAGES ?= "c,c++${FORTRAN}${JAVA}"
EXTRA_OECONF_BASE ?= ""
EXTRA_OECONF_PATHS ?= ""
-EXTRA_OECONF_INITIAL ?= ""
GCCMULTILIB ?= "--disable-multilib"
GCCTHREADS ?= "posix"
@@ -47,6 +46,10 @@ EXTRA_OECONF = "\
${@get_gcc_multiarch_setting(bb, d)} \
"
+# glibc version is a minimum controlling whether features are enabled.
+# Doesn't need to track glibc exactly
+EXTRA_OECONF_append_libc-glibc = " --with-glibc-version=2.28 "
+
# Set this here since GCC configure won't auto-detect and enable
# initfini-arry when cross compiling.
EXTRA_OECONF_append = " --enable-initfini-array"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 2f32d3407..e7c08d3a6 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -3,7 +3,7 @@ inherit cross-canadian
SUMMARY = "GNU cc and gcc C compilers (cross-canadian for ${TARGET_ARCH} target)"
PN = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${HOST_PREFIX}gcc-crosssdk virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-${HOST_PREFIX}libc-for-gcc nativesdk-gettext flex-native"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${HOST_PREFIX}gcc-crosssdk virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-libc nativesdk-gettext flex-native virtual/libc"
GCCMULTILIB = "--enable-multilib"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.2.bb
deleted file mode 100644
index bf53c5cd7..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.2.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-cross-canadian.inc
-
-
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb
index bf53c5cd7..bf53c5cd7 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_7.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-initial.inc
deleted file mode 100644
index 892b1dbf2..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-initial.inc
+++ /dev/null
@@ -1,89 +0,0 @@
-DEPENDS = "virtual/${TARGET_PREFIX}binutils ${NATIVEDEPS}"
-PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
-PACKAGES = ""
-
-INHIBIT_AUTOTOOLS_DEPS = "1"
-INHIBIT_DEFAULT_DEPS = "1"
-
-# We still need gnu-config-native
-DEPENDS_prepend = "gnu-config-native autoconf-native "
-
-PN = "gcc-cross-initial-${TARGET_ARCH}"
-
-CROSS_TARGET_SYS_DIR_append = ".${PN}"
-
-# This is intended to be a -very- basic config
-# sysroot is needed in case we use libc-initial
-EXTRA_OECONF = "\
- --with-newlib \
- --without-headers \
- --disable-shared \
- --disable-threads \
- --disable-multilib \
- --disable-__cxa_atexit \
- --enable-languages=c \
- --program-prefix=${TARGET_PREFIX} \
- --with-sysroot=/not/exist \
- --with-build-sysroot=${STAGING_DIR_TARGET} \
- ${EXTRA_OECONF_INITIAL} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)} \
- ${EXTRA_OECONF_GCC_FLOAT} \
- ${@get_gcc_ppc_plt_settings(bb, d)} \
-"
-
-EXTRA_OECONF += "--with-native-system-header-dir=${SYSTEMHEADERS}"
-
-do_compile () {
- oe_runmake all-gcc configure-target-libgcc
- (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h)
-}
-
-do_install () {
- ( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h-forbuild install-unwind_h)
- oe_runmake 'DESTDIR=${D}' install-gcc
-
- # We don't really need this (here shares/ contains man/, info/, locale/).
- rm -rf ${D}${datadir}/
-
- # We use libiberty from binutils
- find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
- find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
-
- # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
- # found. These need to be relative paths so they work in different locations.
- dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
- install -d $dest
- useld=${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '.bfd', '', d)}
- ln -sf ${BINRELPATH}/${TARGET_PREFIX}ld${useld} ${dest}ld
- for t in ar as nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
- ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t
- done
- # fixed limits.h infact includes the so called real limits.h
- # which should come from libc but when we build libc-initial
- # then bunch of configure tests include fixed limits.h which in turn
- # includes real limits.h but this real limits.h is not staged yet
- # so we overwirte the generated include-fixed/limits.h for gcc-cross-initial
- # to get rid references to real limits.h
- cp gcc/include-fixed/limits.h ${D}${gcclibdir}/${TARGET_SYS}/${BINV}/include/limits.h
-}
-#
-# Override the default sysroot staging copy since this won't look like a target system
-#
-sysroot_stage_all() {
- sysroot_stage_dir ${D} ${SYSROOT_DESTDIR}
- install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/
- install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/
- mv ${SYSROOT_DESTDIR}${target_base_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ || true
- mv ${SYSROOT_DESTDIR}${target_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ || true
-}
-
-do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST}/"
-do_populate_sysroot[sstate-outputdirs] = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/${PN}"
-
-inherit nopackages
-
-COMPILERINITIAL = "-initial"
-
-
-# We really only want this built by things that need it, not any recrdeptask
-deltask do_build
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-initial_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-initial_7.3.bb
deleted file mode 100644
index 4c73e5ce6..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-initial_7.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-devtools/gcc/gcc-cross_${PV}.bb
-require gcc-cross-initial.inc
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-initial_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-initial_8.2.bb
deleted file mode 100644
index 4c73e5ce6..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-initial_8.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-devtools/gcc/gcc-cross_${PV}.bb
-require gcc-cross-initial.inc
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
index 89b19684b..6222c2e8c 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -2,7 +2,7 @@ inherit cross
INHIBIT_DEFAULT_DEPS = "1"
EXTRADEPENDS = ""
-DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc ${EXTRADEPENDS} ${NATIVEDEPS}"
+DEPENDS = "virtual/${TARGET_PREFIX}binutils ${EXTRADEPENDS} ${NATIVEDEPS}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
python () {
if d.getVar("TARGET_OS").startswith("linux"):
@@ -31,7 +31,6 @@ EXTRA_OECONF += "\
--with-system-zlib \
"
-DEPENDS_remove_libc-baremetal := "virtual/${TARGET_PREFIX}libc-for-gcc"
EXTRA_OECONF_append_libc-baremetal = " --without-headers"
EXTRA_OECONF_remove_libc-baremetal = "--enable-threads=posix"
EXTRA_OECONF_remove_libc-newlib = "--enable-threads=posix"
@@ -44,6 +43,12 @@ EXTRA_OECONF_PATHS = "\
ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}"
+
+do_configure_prepend () {
+ install -d ${RECIPE_SYSROOT}${target_includedir}
+ touch ${RECIPE_SYSROOT}${target_includedir}/limits.h
+}
+
do_compile () {
export CC="${BUILD_CC}"
export AR_FOR_TARGET="${TARGET_SYS}-ar"
@@ -209,8 +214,8 @@ do_gcc_stash_builddir () {
addtask do_gcc_stash_builddir after do_compile before do_install
SSTATETASKS += "do_gcc_stash_builddir"
do_gcc_stash_builddir[sstate-inputdirs] = "${BUILDDIRSTASH}"
-do_gcc_stash_builddir[sstate-outputdirs] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}"
-do_gcc_stash_builddir[sstate-fixmedir] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}"
+do_gcc_stash_builddir[sstate-outputdirs] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}"
+do_gcc_stash_builddir[sstate-fixmedir] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}"
python do_gcc_stash_builddir_setscene () {
sstate_setscene(d)
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_8.2.bb
deleted file mode 100644
index b43cca0c5..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-cross_8.2.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-cross.inc
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb
index b43cca0c5..b43cca0c5 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross_7.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial.inc b/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial.inc
deleted file mode 100644
index 08eda5d4c..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit crosssdk
-
-PN = "gcc-crosssdk-initial-${SDK_SYS}"
-
-SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
-SYSTEMLIBS = "${SDKPATHNATIVE}${base_libdir_nativesdk}/"
-SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
-
-DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native ${NATIVEDEPS}"
-PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial-crosssdk"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_7.3.bb
deleted file mode 100644
index fd90e1140..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_7.3.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require recipes-devtools/gcc/gcc-cross-initial_${PV}.bb
-require gcc-crosssdk-initial.inc
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_8.2.bb
deleted file mode 100644
index fd90e1140..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_8.2.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require recipes-devtools/gcc/gcc-cross-initial_${PV}.bb
-require gcc-crosssdk-initial.inc
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc b/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
index cda292779..bd2e71d63 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
@@ -8,5 +8,5 @@ SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
GCCMULTILIB = "--disable-multilib"
-DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk virtual/nativesdk-${TARGET_PREFIX}libc-for-gcc gettext-native ${NATIVEDEPS}"
+DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native ${NATIVEDEPS}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.2.bb
deleted file mode 100644
index 40a6c4fef..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-devtools/gcc/gcc-cross_${PV}.bb
-require gcc-crosssdk.inc
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb
index 40a6c4fef..40a6c4fef 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_7.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
index 9e7e7c5b3..3d03d8e57 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -15,6 +15,7 @@ EXTRA_OECONF_PATHS = "\
"
EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
+EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
RUNTIMELIBITM = "libitm"
RUNTIMELIBITM_arc = ""
@@ -29,9 +30,6 @@ RUNTIMELIBSSP_mingw32 ?= "libssp"
RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \
"
-RUNTIMETARGET_append_x86 = " libmpx"
-RUNTIMETARGET_append_x86-64 = " libmpx"
-RUNTIMETARGET_remove_libc-musl = "libmpx"
# libiberty
# libmudflap
@@ -128,7 +126,7 @@ do_install_append_class-target () {
}
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc virtual/${MLPREFIX}libc"
PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs"
BBCLASSEXTEND = "nativesdk"
@@ -160,18 +158,6 @@ PACKAGES = "\
libitm-dev \
libitm-staticdev \
"
-PACKAGES_append_x86 = "\
- libmpx \
- libmpx-dev \
- libmpx-staticdev \
-"
-
-PACKAGES_append_x86-64 = "\
- libmpx \
- libmpx-dev \
- libmpx-staticdev \
-"
-
# The base package doesn't exist, so we clear the recommends.
RRECOMMENDS_${PN}-dbg = ""
@@ -274,21 +260,3 @@ FILES_libitm-dev = "\
SUMMARY_libitm-dev = "GNU transactional memory support library - development files"
FILES_libitm-staticdev = "${libdir}/libitm.a"
SUMMARY_libitm-staticdev = "GNU transactional memory support library - static development files"
-
-
-FILES_libmpx = "${libdir}/libmpx.so.* ${libdir}/libmpxwrappers.so.*"
-SUMMARY_libmpx = "Intel Memory Protection Extension library"
-FILES_libmpx-dev = "\
- ${libdir}/libmpxwrappers.so \
- ${libdir}/libmpxwrappers.la \
- ${libdir}/libmpx.so \
- ${libdir}/libmpx.la \
- ${libdir}/libmpx.spec \
-"
-SUMMARY_libmpx-dev = "Intel Memory Protection Extension library - development files"
-FILES_libmpx-staticdev = "${libdir}/libmpx.a ${libdir}/libmpxwrappers.a"
-SUMMARY_libmpx-staticdev = "Intel Memory Protection Extension library - static development files"
-
-do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
-do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
-do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_7.3.bb
deleted file mode 100644
index 8f31e7792..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime_7.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-runtime.inc
-
-FILES_libgomp-dev += "\
- ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \
-"
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb
index a1c7a76d0..a1c7a76d0 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime_8.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_7.3.bb
deleted file mode 100644
index 601f66602..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_7.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-sanitizers.inc
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb
index f3c705811..f3c705811 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc-source_8.2.bb
deleted file mode 100644
index b890fa33e..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-source_8.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require recipes-devtools/gcc/gcc-source.inc
-
-EXCLUDE_FROM_WORLD = "1"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb
index b890fa33e..b890fa33e 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-source_7.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-target.inc b/poky/meta/recipes-devtools/gcc/gcc-target.inc
index bc2236fed..627005964 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-target.inc
@@ -20,6 +20,7 @@ ARMFPARCHEXT ?= ""
EXTRA_OECONF_append_armv6 = " --with-arch=armv6${ARMFPARCHEXT}"
EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a${ARMFPARCHEXT}"
EXTRA_OECONF_append_armv7ve = " --with-arch=armv7ve${ARMFPARCHEXT}"
+EXTRA_OECONF_append_arc = " --with-cpu=${TUNE_PKGARCH}"
# libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is
# set in subdir gcc, so subdir libcc1 can't use it, export it here to
diff --git a/poky/meta/recipes-devtools/gcc/gcc_7.3.bb b/poky/meta/recipes-devtools/gcc/gcc_7.3.bb
deleted file mode 100644
index ab208e702..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc_7.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-target.inc
-
-# Building with thumb enabled on armv4t armv5t fails with
-# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs
-# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-devtools/gcc/gcc_8.2.bb b/poky/meta/recipes-devtools/gcc/gcc_8.3.bb
index 7d9359058..7d9359058 100644
--- a/poky/meta/recipes-devtools/gcc/gcc_8.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial.inc b/poky/meta/recipes-devtools/gcc/libgcc-initial.inc
index 950ad861e..06bf224f7 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc-initial.inc
+++ b/poky/meta/recipes-devtools/gcc/libgcc-initial.inc
@@ -1,20 +1,58 @@
+#
+# Notes on the way the OE cross toolchain now works
+#
+# We need a libgcc to build glibc. Tranditionally we therefore built
+# a non-threaded and non-shared compiler (gcc-cross-initial), then use
+# that to build libgcc-initial which is used to build glibc which we can
+# then build gcc-cross and libgcc against.
+#
+# We were able to drop the glibc dependency from gcc-cross, with two tweaks:
+
+# a) specify the minimum glibc version to support in a configure option
+# b) create a dummy limits.h file so that later when glibc creates one,
+# the headers structure has support for it. We can do this with a simple
+# empty file
+#
+# Once gcc-cross is libc independent, we can use it to build both
+# libgcc-initial and then later libgcc.
+#
+# libgcc-initial is tricky as we need to imitate the non-threaded and
+# non-shared case. We can do that by hacking the threading mode back to
+# "single" even if gcc reports "posix" and disable libc presence for the
+# libgcc-intial build. We have to create the dummy limits.h to avoid
+# compiler errors from a missing header.
+#
+# glibc will fail to link with libgcc-initial due to a missing "exception
+# handler" capable libgcc (libgcc_eh.a). Since we know glibc doesn't need
+# any exception handler, we can safely symlink to libgcc.a.
+#
+
require libgcc-common.inc
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc"
LICENSE = "GPL-3.0-with-GCC-exception"
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
-
PACKAGES = ""
EXTRA_OECONF += "--disable-shared"
-COMPILERINITIAL = "-initial"
-
inherit nopackages
# We really only want this built by things that need it, not any recrdeptask
deltask do_build
+
+do_configure_prepend () {
+ install -d ${STAGING_INCDIR}
+ touch ${STAGING_INCDIR}/limits.h
+ sed -i -e 's#INHIBIT_LIBC_CFLAGS =.*#INHIBIT_LIBC_CFLAGS = -Dinhibit_libc#' ${B}/gcc/libgcc.mvars
+ sed -i -e 's#inhibit_libc = false#inhibit_libc = true#' ${B}/gcc/Makefile
+}
+
+do_configure_append () {
+ sed -i -e 's#thread_header = .*#thread_header = gthr-single.h#' ${B}/${BPN}/Makefile
+}
+
+do_install_append () {
+ ln -s libgcc.a ${D}${libdir}/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_7.3.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_7.3.bb
deleted file mode 100644
index 19f253fce..000000000
--- a/poky/meta/recipes-devtools/gcc/libgcc-initial_7.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require libgcc-initial.inc
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_8.2.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb
index 0c698c26e..0c698c26e 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc-initial_8.2.bb
+++ b/poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc.inc b/poky/meta/recipes-devtools/gcc/libgcc.inc
index 5f1dff609..e4e0c4800 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc.inc
+++ b/poky/meta/recipes-devtools/gcc/libgcc.inc
@@ -1,6 +1,6 @@
require libgcc-common.inc
-DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ virtual/${MLPREFIX}libc"
do_install_append_class-target () {
if [ "${TCLIBC}" != "glibc" ]; then
diff --git a/poky/meta/recipes-devtools/gcc/libgcc_7.3.bb b/poky/meta/recipes-devtools/gcc/libgcc_7.3.bb
deleted file mode 100644
index a5152f28e..000000000
--- a/poky/meta/recipes-devtools/gcc/libgcc_7.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require libgcc.inc
diff --git a/poky/meta/recipes-devtools/gcc/libgcc_8.2.bb b/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb
index ea210a113..ea210a113 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc_8.2.bb
+++ b/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran.inc b/poky/meta/recipes-devtools/gcc/libgfortran.inc
index 05237647d..4b7b7b2ac 100644
--- a/poky/meta/recipes-devtools/gcc/libgfortran.inc
+++ b/poky/meta/recipes-devtools/gcc/libgfortran.inc
@@ -53,6 +53,11 @@ PACKAGES = "\
libgfortran-dev \
libgfortran-staticdev \
"
+
+LICENSE_${PN} = "GPL-3.0-with-GCC-exception"
+LICENSE_${PN}-dev = "GPL-3.0-with-GCC-exception"
+LICENSE_${PN}-dbg = "GPL-3.0-with-GCC-exception"
+
FILES_${PN} = "${libdir}/libgfortran.so.*"
FILES_${PN}-dev = "\
${libdir}/libgfortran*.so \
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_8.2.bb b/poky/meta/recipes-devtools/gcc/libgfortran_8.2.bb
deleted file mode 100644
index 71dd8b4bd..000000000
--- a/poky/meta/recipes-devtools/gcc/libgfortran_8.2.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require libgfortran.inc
-
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_7.3.bb b/poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb
index 71dd8b4bd..71dd8b4bd 100644
--- a/poky/meta/recipes-devtools/gcc/libgfortran_7.3.bb
+++ b/poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc b/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc
new file mode 100644
index 000000000..1fc1ec0da
--- /dev/null
+++ b/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc
@@ -0,0 +1,23 @@
+LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674"
+
+SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
+ file://0002-make-man-install-relative-to-DESTDIR.patch \
+ file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
+ file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
+ file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \
+ file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \
+ file://0007-use-asm-sgidefs.h.patch \
+ file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \
+ file://0009-Change-order-of-CFLAGS.patch \
+ file://0010-resolve-restrict-keyword-conflict.patch \
+ file://0011-Fix-invalid-sigprocmask-call.patch \
+ file://gdbserver-ctrl-c-handling.patch \
+ file://0001-Fix-build-with-latest-GCC-9.0-tree.patch \
+"
+SRC_URI[md5sum] = "f8b2562e830a4098dd5b5ea9e9296c70"
+SRC_URI[sha256sum] = "0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202"
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.2.inc b/poky/meta/recipes-devtools/gdb/gdb-8.2.inc
deleted file mode 100644
index 7e0809de7..000000000
--- a/poky/meta/recipes-devtools/gdb/gdb-8.2.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674"
-
-SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
- file://0002-make-man-install-relative-to-DESTDIR.patch \
- file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
- file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
- file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \
- file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \
- file://0007-use-asm-sgidefs.h.patch \
- file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \
- file://0009-Change-order-of-CFLAGS.patch \
- file://0010-resolve-restrict-keyword-conflict.patch \
- file://0011-Fix-invalid-sigprocmask-call.patch \
- file://gdbserver-ctrl-c-handling.patch \
-"
-SRC_URI[md5sum] = "b5a49dbff00d9a87fbe114d14b3101c0"
-SRC_URI[sha256sum] = "c3a441a29c7c89720b734e5a9c6289c0a06be7e0c76ef538f7bbcef389347c39"
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb-common.inc b/poky/meta/recipes-devtools/gdb/gdb-common.inc
index fa64939f2..08f615add 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-common.inc
@@ -4,11 +4,10 @@ SECTION = "devel"
DEPENDS = "expat zlib ncurses virtual/libiconv ${LTTNGUST} bison-native"
LTTNGUST = "lttng-ust"
+LTTNGUST_arc = ""
LTTNGUST_aarch64 = ""
-LTTNGUST_riscv64 = ""
LTTNGUST_mipsarch = ""
LTTNGUST_sh4 = ""
-LTTNGUST_libc-musl = ""
inherit autotools texinfo
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
index 4fc6747d9..475e4f08e 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
@@ -6,7 +6,7 @@ PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
BPN = "gdb"
DEPENDS = "nativesdk-ncurses nativesdk-expat nativesdk-gettext \
- virtual/${HOST_PREFIX}gcc-crosssdk virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-${HOST_PREFIX}libc-for-gcc"
+ virtual/${HOST_PREFIX}gcc-crosssdk virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-libc"
GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb
index 301035940..301035940 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb
index 50cf159fd..50cf159fd 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch
new file mode 100644
index 000000000..2a962929d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch
@@ -0,0 +1,50 @@
+From 7406a50077773e78282a495cb32ef5b8179f6a33 Mon Sep 17 00:00:00 2001
+From: Dimitar Dimitrov <dimitar@dinux.eu>
+Date: Mon, 17 Dec 2018 21:30:52 +0200
+Subject: [PATCH] Fix build with latest GCC 9.0 tree
+
+A recent patch [1] to fix a GCC PR [2] actually broke the GDB build.
+To fix, remove the stack pointer clobber. GCC will ignore the clobber
+marker, and will not save or restore the stack pointer.
+
+I ran "make check-gdb" on x86_64 to ensure there are no regressions.
+
+gdb/ChangeLog:
+
+2018-12-17 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ * nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove sp clobbers.
+
+[1] https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00532.html
+[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
+
+Upstream-Status: Backport
+Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
+---
+ gdb/ChangeLog | 5 +++++
+ gdb/nat/linux-ptrace.c | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
+index d4c1b8f9fd..187cfeb9bc 100644
+--- a/gdb/nat/linux-ptrace.c
++++ b/gdb/nat/linux-ptrace.c
+@@ -161,14 +161,14 @@ linux_ptrace_test_ret_to_nx (void)
+ ".globl linux_ptrace_test_ret_to_nx_instr;"
+ "linux_ptrace_test_ret_to_nx_instr:"
+ "ret"
+- : : "r" (return_address) : "%esp", "memory");
++ : : "r" (return_address) : "memory");
+ #elif defined __x86_64__
+ asm volatile ("pushq %0;"
+ ".globl linux_ptrace_test_ret_to_nx_instr;"
+ "linux_ptrace_test_ret_to_nx_instr:"
+ "ret"
+ : : "r" ((uint64_t) (uintptr_t) return_address)
+- : "%rsp", "memory");
++ : "memory");
+ #else
+ # error "!__i386__ && !__x86_64__"
+ #endif
+--
+2.20.1
diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.2.bb b/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb
index c6eac84dd..c6eac84dd 100644
--- a/poky/meta/recipes-devtools/gdb/gdb_8.2.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb
diff --git a/poky/meta/recipes-devtools/git/git_2.18.1.bb b/poky/meta/recipes-devtools/git/git_2.18.1.bb
deleted file mode 100644
index b2960c0ef..000000000
--- a/poky/meta/recipes-devtools/git/git_2.18.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require git.inc
-
-EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
- ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
- "
-EXTRA_OEMAKE += "NO_GETTEXT=1"
-
-SRC_URI[tarball.md5sum] = "9b62c267d878f6cb02f8abc59a99525d"
-SRC_URI[tarball.sha256sum] = "5c710c866d8c9ba3b3e062755e0e9d0ef4f665752bd64810e3eb9f1b0f0eb076"
-SRC_URI[manpages.md5sum] = "ef32a459a4a08a3b8e837a31c925c848"
-SRC_URI[manpages.sha256sum] = "d05bfab2dc45de4f6e7d61ca173071d6902905a4963f7ac3cbca608c0d4592c9"
diff --git a/poky/meta/recipes-devtools/git/git_2.20.1.bb b/poky/meta/recipes-devtools/git/git_2.20.1.bb
new file mode 100644
index 000000000..877fb05e5
--- /dev/null
+++ b/poky/meta/recipes-devtools/git/git_2.20.1.bb
@@ -0,0 +1,11 @@
+require git.inc
+
+EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
+ ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
+ "
+EXTRA_OEMAKE += "NO_GETTEXT=1"
+
+SRC_URI[tarball.md5sum] = "7a7769e5c957364ed0aed89e6e67c254"
+SRC_URI[tarball.sha256sum] = "edc3bc1495b69179ba4e272e97eff93334a20decb1d8db6ec3c19c16417738fd"
+SRC_URI[manpages.md5sum] = "78c6e54a61a167dab5e8ae07036293ab"
+SRC_URI[manpages.sha256sum] = "e9c123463abd05e142defe44a8060ce6e9853dfd8c83b2542e38b7deac4e6d4c"
diff --git a/poky/meta/recipes-devtools/glide/glide_0.13.2.bb b/poky/meta/recipes-devtools/glide/glide_0.13.2.bb
index 3a32fa1af..7faaf4a38 100644
--- a/poky/meta/recipes-devtools/glide/glide_0.13.2.bb
+++ b/poky/meta/recipes-devtools/glide/glide_0.13.2.bb
@@ -33,3 +33,6 @@ INSANE_SKIP_${PN} += "textrel"
# ELF binary '/work/aarch64-oe-linux/glide/0.13.1-r0/packages-split/glide-ptest/usr/lib/glide/ptest/github.com/Masterminds/glide/action/action.test' has relocations in .text
# ELF binary '/work/aarch64-oe-linux/glide/0.13.1-r0/packages-split/glide-ptest/usr/lib/glide/ptest/github.com/Masterminds/glide/cache/cache.test' has relocations in .text [textrel]
INSANE_SKIP_${PN}-ptest += "textrel"
+
+# fails to run task compile_ptest_base on mips
+PTEST_ENABLED_mipsarch = "0"
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 4745f19ce..e597ebedb 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -8,8 +8,8 @@ DEPENDS_class-native = "hostperl-runtime-native"
INHIBIT_DEFAULT_DEPS = "1"
-SRCREV = "30d53fc428ea42af9d6f4d355db0022e3918a824"
-PV = "20180713+git${SRCPV}"
+SRCREV = "058639be227bbe8f03cc39f79f7ce84918012143"
+PV = "20181128+git${SRCPV}"
SRC_URI = "git://git.savannah.gnu.org/config.git \
file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/go/go-1.11.inc b/poky/meta/recipes-devtools/go/go-1.11.inc
index d626514ae..d03e26cea 100644
--- a/poky/meta/recipes-devtools/go/go-1.11.inc
+++ b/poky/meta/recipes-devtools/go/go-1.11.inc
@@ -1,7 +1,7 @@
require go-common.inc
GO_BASEVERSION = "1.11"
-GO_MINOR = ".1"
+GO_MINOR = ".4"
PV .= "${GO_MINOR}"
FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
@@ -17,8 +17,7 @@ SRC_URI += "\
file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
"
-
SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"
-SRC_URI[main.md5sum] = "eb9e9792247143705a7aacea9398cde0"
-SRC_URI[main.sha256sum] = "558f8c169ae215e25b81421596e8de7572bd3ba824b79add22fba6e284db1117"
+SRC_URI[main.md5sum] = "a77697673215be465d1b583680ef2318"
+SRC_URI[main.sha256sum] = "4cfd42720a6b1e79a8024895fa6607b69972e8e32446df76d6ce79801bbadb15"
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch
index f317e48a3..29ef947ab 100644
--- a/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch
+++ b/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch
@@ -65,8 +65,8 @@ Index: go/src/cmd/go/internal/work/exec.go
===================================================================
--- go.orig/src/cmd/go/internal/work/exec.go
+++ go/src/cmd/go/internal/work/exec.go
-@@ -440,6 +440,23 @@ func (b *Builder) build(a *Action) (err
- return fmt.Errorf("module requires Go %s", p.Module.GoVersion)
+@@ -436,6 +436,23 @@ func (b *Builder) build(a *Action) (err
+ return fmt.Errorf("missing or invalid binary-only package; expected file %q", a.Package.Target)
}
+ if goRootPrecious && (a.Package.Standard || a.Package.Goroot) {
@@ -89,7 +89,7 @@ Index: go/src/cmd/go/internal/work/exec.go
if err := b.Mkdir(a.Objdir); err != nil {
return err
}
-@@ -1435,6 +1452,14 @@ func BuildInstallFunc(b *Builder, a *Act
+@@ -1438,6 +1455,14 @@ func BuildInstallFunc(b *Builder, a *Act
return nil
}
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch
index b6ab50433..225cf439c 100644
--- a/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch
+++ b/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch
@@ -18,11 +18,11 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
src/cmd/go/internal/work/build.go | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
-diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
-index 145b875..595d703 100644
---- a/src/cmd/go/internal/work/build.go
-+++ b/src/cmd/go/internal/work/build.go
-@@ -218,7 +218,11 @@ func AddBuildFlags(cmd *base.Command) {
+Index: go/src/cmd/go/internal/work/build.go
+===================================================================
+--- go.orig/src/cmd/go/internal/work/build.go
++++ go/src/cmd/go/internal/work/build.go
+@@ -223,7 +223,11 @@ func AddBuildFlags(cmd *base.Command) {
cmd.Flag.Var(&load.BuildAsmflags, "asmflags", "")
cmd.Flag.Var(buildCompiler{}, "compiler", "")
@@ -35,6 +35,3 @@ index 145b875..595d703 100644
cmd.Flag.Var(&load.BuildGcflags, "gcflags", "")
cmd.Flag.Var(&load.BuildGccgoflags, "gccgoflags", "")
cmd.Flag.StringVar(&cfg.BuildMod, "mod", "", "")
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.12.inc b/poky/meta/recipes-devtools/go/go-1.12.inc
new file mode 100644
index 000000000..0cf0a63ff
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12.inc
@@ -0,0 +1,23 @@
+require go-common.inc
+
+GO_BASEVERSION = "1.12"
+GO_MINOR = ".1"
+PV .= "${GO_MINOR}"
+FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
+
+SRC_URI += "\
+ file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \
+ file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \
+ file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \
+ file://0004-ld-add-soname-to-shareable-objects.patch \
+ file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \
+ file://0006-cmd-dist-separate-host-and-target-builds.patch \
+ file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
+ file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
+"
+SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"
+
+SRC_URI[main.md5sum] = "09fe592343465560b4b8431d870b3df3"
+SRC_URI[main.sha256sum] = "0be127684df4b842a64e58093154f9d15422f1405f1fcff4b2c36ffc6a15818a"
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0001-allow-CC-and-CXX-to-have-multiple-words.patch b/poky/meta/recipes-devtools/go/go-1.12/0001-allow-CC-and-CXX-to-have-multiple-words.patch
new file mode 100644
index 000000000..4442858c8
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0001-allow-CC-and-CXX-to-have-multiple-words.patch
@@ -0,0 +1,31 @@
+From 7cc519aa5f84cf8fc7ac8c10fc69aa8040330ea0 Mon Sep 17 00:00:00 2001
+From: Matt Madison <matt@madison.systems>
+Date: Mon, 19 Feb 2018 08:49:33 -0800
+Subject: [PATCH] allow CC and CXX to have multiple words
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Matt Madison <matt@madison.systems>
+
+---
+ src/cmd/go/internal/envcmd/env.go | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
+index afadbad..cedbfbf 100644
+--- a/src/cmd/go/internal/envcmd/env.go
++++ b/src/cmd/go/internal/envcmd/env.go
+@@ -85,11 +85,11 @@ func MkEnv() []cfg.EnvVar {
+
+ cc := cfg.DefaultCC(cfg.Goos, cfg.Goarch)
+ if env := strings.Fields(os.Getenv("CC")); len(env) > 0 {
+- cc = env[0]
++ cc = strings.Join(env, " ")
+ }
+ cxx := cfg.DefaultCXX(cfg.Goos, cfg.Goarch)
+ if env := strings.Fields(os.Getenv("CXX")); len(env) > 0 {
+- cxx = env[0]
++ cxx = strings.Join(env, " ")
+ }
+ env = append(env, cfg.EnvVar{Name: "CC", Value: cc})
+ env = append(env, cfg.EnvVar{Name: "CXX", Value: cxx})
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go-1.12/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
new file mode 100644
index 000000000..66b856187
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
@@ -0,0 +1,218 @@
+From 47db69e20ed66fb62b01affd83d829654b829893 Mon Sep 17 00:00:00 2001
+From: Matt Madison <matt@madison.systems>
+Date: Mon, 19 Feb 2018 08:50:59 -0800
+Subject: [PATCH] cmd/go: make content-based hash generation less pedantic
+
+Go 1.10's build tool now uses content-based hashes to
+determine when something should be built or re-built.
+This same mechanism is used to maintain a built-artifact
+cache for speeding up builds.
+
+However, the hashes it generates include information that
+doesn't work well with OE, nor with using a shared runtime
+library.
+
+First, it embeds path names to source files, unless
+building within GOROOT. This prevents the building
+of a package in GOPATH for later staging into GOROOT.
+
+This patch adds support for the environment variable
+GOPATH_OMIT_IN_ACTIONID. If present, path name
+embedding is disabled.
+
+Second, if cgo is enabled, the build ID for cgo-related
+packages will include the current value of the environment
+variables for invoking the compiler (CC, CXX, FC) and
+any CGO_xxFLAGS variables. Only if the settings used
+during a compilation exactly match, character for character,
+the values used for compiling runtime/cgo or any other
+cgo-enabled package being imported, will the tool
+decide that the imported package is up-to-date.
+
+This is done to help ensure correctness, but is overly
+simplistic and effectively prevents the reuse of built
+artifacts that use cgo (or shared runtime, which includes
+runtime/cgo).
+
+This patch filters out all compiler flags except those
+beginning with '-m'. The default behavior can be restored
+by setting the CGO_PEDANTIC environment variable.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Matt Madison <matt@madison.systems>
+
+---
+ src/cmd/go/internal/envcmd/env.go | 2 +-
+ src/cmd/go/internal/work/exec.go | 63 ++++++++++++++++++++++---------
+ 2 files changed, 46 insertions(+), 19 deletions(-)
+
+diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
+index cedbfbf..5763a0d 100644
+--- a/src/cmd/go/internal/envcmd/env.go
++++ b/src/cmd/go/internal/envcmd/env.go
+@@ -128,7 +128,7 @@ func ExtraEnvVars() []cfg.EnvVar {
+ func ExtraEnvVarsCostly() []cfg.EnvVar {
+ var b work.Builder
+ b.Init()
+- cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{})
++ cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{}, false)
+ if err != nil {
+ // Should not happen - b.CFlags was given an empty package.
+ fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
+diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
+index 12e1527..e41bfac 100644
+--- a/src/cmd/go/internal/work/exec.go
++++ b/src/cmd/go/internal/work/exec.go
+@@ -174,6 +174,8 @@ func (b *Builder) Do(root *Action) {
+ wg.Wait()
+ }
+
++var omitGopath = os.Getenv("GOPATH_OMIT_IN_ACTIONID") != ""
++
+ // buildActionID computes the action ID for a build action.
+ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ p := a.Package
+@@ -190,7 +192,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ // but it does not hide the exact value of $GOPATH.
+ // Include the full dir in that case.
+ // Assume b.WorkDir is being trimmed properly.
+- if !p.Goroot && !strings.HasPrefix(p.Dir, b.WorkDir) {
++ if !p.Goroot && !omitGopath && !strings.HasPrefix(p.Dir, b.WorkDir) {
+ fmt.Fprintf(h, "dir %s\n", p.Dir)
+ }
+ fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
+@@ -201,13 +203,13 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ }
+ if len(p.CgoFiles)+len(p.SwigFiles) > 0 {
+ fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
+- cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p)
+- fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(), cppflags, cflags, ldflags)
++ cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p, true)
++ fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(true), cppflags, cflags, ldflags)
+ if len(p.CXXFiles)+len(p.SwigFiles) > 0 {
+- fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(), cxxflags)
++ fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(true), cxxflags)
+ }
+ if len(p.FFiles) > 0 {
+- fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(), fflags)
++ fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(true), fflags)
+ }
+ // TODO(rsc): Should we include the SWIG version or Fortran/GCC/G++/Objective-C compiler versions?
+ }
+@@ -2096,33 +2098,33 @@ var (
+ // gccCmd returns a gcc command line prefix
+ // defaultCC is defined in zdefaultcc.go, written by cmd/dist.
+ func (b *Builder) GccCmd(incdir, workdir string) []string {
+- return b.compilerCmd(b.ccExe(), incdir, workdir)
++ return b.compilerCmd(b.ccExe(false), incdir, workdir)
+ }
+
+ // gxxCmd returns a g++ command line prefix
+ // defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
+ func (b *Builder) GxxCmd(incdir, workdir string) []string {
+- return b.compilerCmd(b.cxxExe(), incdir, workdir)
++ return b.compilerCmd(b.cxxExe(false), incdir, workdir)
+ }
+
+ // gfortranCmd returns a gfortran command line prefix.
+ func (b *Builder) gfortranCmd(incdir, workdir string) []string {
+- return b.compilerCmd(b.fcExe(), incdir, workdir)
++ return b.compilerCmd(b.fcExe(false), incdir, workdir)
+ }
+
+ // ccExe returns the CC compiler setting without all the extra flags we add implicitly.
+-func (b *Builder) ccExe() []string {
+- return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch))
++func (b *Builder) ccExe(filtered bool) []string {
++ return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch), filtered)
+ }
+
+ // cxxExe returns the CXX compiler setting without all the extra flags we add implicitly.
+-func (b *Builder) cxxExe() []string {
+- return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch))
++func (b *Builder) cxxExe(filtered bool) []string {
++ return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch), filtered)
+ }
+
+ // fcExe returns the FC compiler setting without all the extra flags we add implicitly.
+-func (b *Builder) fcExe() []string {
+- return b.compilerExe(os.Getenv("FC"), "gfortran")
++func (b *Builder) fcExe(filtered bool) []string {
++ return b.compilerExe(os.Getenv("FC"), "gfortran", filtered)
+ }
+
+ // compilerExe returns the compiler to use given an
+@@ -2131,11 +2133,14 @@ func (b *Builder) fcExe() []string {
+ // of the compiler but can have additional arguments if they
+ // were present in the environment value.
+ // For example if CC="gcc -DGOPHER" then the result is ["gcc", "-DGOPHER"].
+-func (b *Builder) compilerExe(envValue string, def string) []string {
++func (b *Builder) compilerExe(envValue string, def string, filtered bool) []string {
+ compiler := strings.Fields(envValue)
+ if len(compiler) == 0 {
+ compiler = []string{def}
+ }
++ if filtered {
++ return append(compiler[0:1], filterCompilerFlags(compiler[1:])...)
++ }
+ return compiler
+ }
+
+@@ -2285,8 +2290,23 @@ func envList(key, def string) []string {
+ return strings.Fields(v)
+ }
+
++var filterFlags = os.Getenv("CGO_PEDANTIC") == ""
++
++func filterCompilerFlags(flags []string) []string {
++ var newflags []string
++ if !filterFlags {
++ return flags
++ }
++ for _, flag := range flags {
++ if strings.HasPrefix(flag, "-m") {
++ newflags = append(newflags, flag)
++ }
++ }
++ return newflags
++}
++
+ // CFlags returns the flags to use when invoking the C, C++ or Fortran compilers, or cgo.
+-func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) {
++func (b *Builder) CFlags(p *load.Package, filtered bool) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) {
+ defaults := "-g -O2"
+
+ if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
+@@ -2304,6 +2324,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
+ if ldflags, err = buildFlags("LDFLAGS", defaults, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
+ return
+ }
++ if filtered {
++ cppflags = filterCompilerFlags(cppflags)
++ cflags = filterCompilerFlags(cflags)
++ cxxflags = filterCompilerFlags(cxxflags)
++ fflags = filterCompilerFlags(fflags)
++ ldflags = filterCompilerFlags(ldflags)
++ }
+
+ return
+ }
+@@ -2319,7 +2346,7 @@ var cgoRe = regexp.MustCompile(`[/\\:]`)
+
+ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) {
+ p := a.Package
+- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p)
++ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p, false)
+ if err != nil {
+ return nil, nil, err
+ }
+@@ -2679,7 +2706,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) {
+
+ // Run SWIG on one SWIG input file.
+ func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) {
+- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p)
++ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p, false)
+ if err != nil {
+ return "", "", err
+ }
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch b/poky/meta/recipes-devtools/go/go-1.12/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
new file mode 100644
index 000000000..b6ca40ede
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
@@ -0,0 +1,48 @@
+From 5c32c38bf19b24f0aadd78012d17ff5caa82151e Mon Sep 17 00:00:00 2001
+From: Matt Madison <matt@madison.systems>
+Date: Sat, 17 Feb 2018 05:24:20 -0800
+Subject: [PATCH] allow GOTOOLDIR to be overridden in the environment
+
+to allow for split host/target build roots
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Matt Madison <matt@madison.systems>
+
+---
+ src/cmd/dist/build.go | 4 +++-
+ src/cmd/go/internal/cfg/cfg.go | 7 +++++--
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+Index: go/src/cmd/dist/build.go
+===================================================================
+--- go.orig/src/cmd/dist/build.go
++++ go/src/cmd/dist/build.go
+@@ -228,7 +228,9 @@ func xinit() {
+ workdir = xworkdir()
+ xatexit(rmworkdir)
+
+- tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
++ if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
++ tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
++ }
+ }
+
+ // compilerEnv returns a map from "goos/goarch" to the
+Index: go/src/cmd/go/internal/cfg/cfg.go
+===================================================================
+--- go.orig/src/cmd/go/internal/cfg/cfg.go
++++ go/src/cmd/go/internal/cfg/cfg.go
+@@ -116,7 +116,11 @@ func init() {
+ // variables. This matches the initialization of ToolDir in
+ // go/build, except for using GOROOT rather than
+ // runtime.GOROOT.
+- build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
++ if s := os.Getenv("GOTOOLDIR"); s != "" {
++ build.ToolDir = filepath.Clean(s)
++ } else {
++ build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
++ }
+ }
+ }
+
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0004-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go-1.12/0004-ld-add-soname-to-shareable-objects.patch
new file mode 100644
index 000000000..004a33a02
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0004-ld-add-soname-to-shareable-objects.patch
@@ -0,0 +1,45 @@
+From 55eb8c95a89f32aec16b7764e78e8cf75169dc81 Mon Sep 17 00:00:00 2001
+From: Matt Madison <matt@madison.systems>
+Date: Sat, 17 Feb 2018 06:26:10 -0800
+Subject: [PATCH] ld: add soname to shareable objects
+
+so that OE's shared library dependency handling
+can find them.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Matt Madison <matt@madison.systems>
+
+---
+ src/cmd/link/internal/ld/lib.go | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
+index 220aab3..703925f 100644
+--- a/src/cmd/link/internal/ld/lib.go
++++ b/src/cmd/link/internal/ld/lib.go
+@@ -1135,6 +1135,7 @@ func (ctxt *Link) hostlink() {
+ argv = append(argv, "-Wl,-z,relro")
+ }
+ argv = append(argv, "-shared")
++ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
+ if ctxt.HeadType != objabi.Hwindows {
+ // Pass -z nodelete to mark the shared library as
+ // non-closeable: a dlclose will do nothing.
+@@ -1146,6 +1147,8 @@ func (ctxt *Link) hostlink() {
+ argv = append(argv, "-Wl,-z,relro")
+ }
+ argv = append(argv, "-shared")
++ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
++
+ case BuildModePlugin:
+ if ctxt.HeadType == objabi.Hdarwin {
+ argv = append(argv, "-dynamiclib")
+@@ -1154,6 +1157,7 @@ func (ctxt *Link) hostlink() {
+ argv = append(argv, "-Wl,-z,relro")
+ }
+ argv = append(argv, "-shared")
++ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
+ }
+ }
+
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go-1.12/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
new file mode 100644
index 000000000..ace8de9ea
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
@@ -0,0 +1,37 @@
+From 1bf15aa8fb773604b2524cfdab493fa4d8fa9285 Mon Sep 17 00:00:00 2001
+From: Matt Madison <matt@madison.systems>
+Date: Sat, 17 Feb 2018 06:32:45 -0800
+Subject: [PATCH] make.bash: override CC when building dist and go_bootstrap
+
+for handling OE cross-canadian builds.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Matt Madison <matt@madison.systems>
+
+---
+ src/make.bash | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/make.bash b/src/make.bash
+index 78882d9..25943d0 100755
+--- a/src/make.bash
++++ b/src/make.bash
+@@ -163,7 +163,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
+ exit 1
+ fi
+ rm -f cmd/dist/dist
+-GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
++CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
+
+ # -e doesn't propagate out of eval, so check success by hand.
+ eval $(./cmd/dist/dist env -p || echo FAIL=true)
+@@ -194,7 +194,7 @@ fi
+ # Run dist bootstrap to complete make.bash.
+ # Bootstrap installs a proper cmd/dist, built with the new toolchain.
+ # Throw ours, built with Go 1.4, away after bootstrap.
+-./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@"
++CC="${BUILD_CC:-${CC}}" ./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@"
+ rm -f ./cmd/dist/dist
+
+ # DO NOT ADD ANY NEW CODE HERE.
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.12/0006-cmd-dist-separate-host-and-target-builds.patch
new file mode 100644
index 000000000..0c0d5da80
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0006-cmd-dist-separate-host-and-target-builds.patch
@@ -0,0 +1,282 @@
+From fe0fcaf43ef3aab81541dad2a71b46254dc4cf6a Mon Sep 17 00:00:00 2001
+From: Matt Madison <matt@madison.systems>
+Date: Sat, 17 Feb 2018 10:03:48 -0800
+Subject: [PATCH] cmd/dist: separate host and target builds
+
+Change the dist tool to allow for OE-style cross-
+and cross-canadian builds:
+
+ - command flags --host-only and --target only are added;
+ if one is present, the other changes mentioned below
+ take effect, and arguments may also be specified on
+ the command line to enumerate the package(s) to be
+ built.
+
+ - for OE cross builds, go_bootstrap is always built for
+ the current build host, and is moved, along with the supporting
+ toolchain (asm, compile, etc.) to a separate 'native_native'
+ directory under GOROOT/pkg/tool.
+
+ - go_bootstrap is not automatically removed after the build,
+ so it can be reused later (e.g., building both static and
+ shared runtime).
+
+Note that for --host-only builds, it would be nice to specify
+just the "cmd" package to build only the go commands/tools,
+the staleness checks in the dist tool will fail if the "std"
+library has not also been built. So host-only builds have to
+build everything anyway.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Matt Madison <matt@madison.systems>
+
+more dist cleanup
+
+---
+ src/cmd/dist/build.go | 153 ++++++++++++++++++++++++++++++------------
+ 1 file changed, 111 insertions(+), 42 deletions(-)
+
+Index: go/src/cmd/dist/build.go
+===================================================================
+--- go.orig/src/cmd/dist/build.go
++++ go/src/cmd/dist/build.go
+@@ -39,6 +39,7 @@ var (
+ goldflags string
+ workdir string
+ tooldir string
++ build_tooldir string
+ oldgoos string
+ oldgoarch string
+ exe string
+@@ -50,6 +51,7 @@ var (
+
+ rebuildall bool
+ defaultclang bool
++ crossBuild bool
+
+ vflag int // verbosity
+ )
+@@ -231,6 +233,8 @@ func xinit() {
+ if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
+ tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
+ }
++ build_tooldir = pathf("%s/pkg/tool/native_native", goroot)
++
+ }
+
+ // compilerEnv returns a map from "goos/goarch" to the
+@@ -260,7 +264,6 @@ func compilerEnv(envName, def string) ma
+ if gohostos != goos || gohostarch != goarch {
+ m[gohostos+"/"+gohostarch] = m[""]
+ }
+- m[""] = env
+ }
+
+ for _, goos := range okgoos {
+@@ -487,8 +490,10 @@ func setup() {
+ // We keep it in pkg/, just like the object directory above.
+ if rebuildall {
+ xremoveall(tooldir)
++ xremoveall(build_tooldir)
+ }
+ xmkdirall(tooldir)
++ xmkdirall(build_tooldir)
+
+ // Remove tool binaries from before the tool/gohostos_gohostarch
+ xremoveall(pathf("%s/bin/tool", goroot))
+@@ -1155,11 +1160,29 @@ func cmdbootstrap() {
+
+ var noBanner bool
+ var debug bool
++ var hostOnly bool
++ var targetOnly bool
++ var toBuild = []string { "std", "cmd" }
++
+ flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all")
+ flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process")
+ flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner")
++ flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target")
++ flag.BoolVar(&targetOnly, "target-only", targetOnly, "build only target binaries, not host")
+
+- xflagparse(0)
++ xflagparse(-1)
++
++ if (hostOnly && targetOnly) {
++ fatalf("specify only one of --host-only or --target-only\n")
++ }
++ crossBuild = hostOnly || targetOnly
++ if flag.NArg() > 0 {
++ if crossBuild {
++ toBuild = flag.Args()
++ } else {
++ fatalf("package names not permitted without --host-only or --target-only\n")
++ }
++ }
+
+ if debug {
+ // cmd/buildid is used in debug mode.
+@@ -1207,8 +1230,13 @@ func cmdbootstrap() {
+ xprintf("\n")
+ }
+
+- gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
+- goldflags = os.Getenv("GO_LDFLAGS")
++ // For split host/target cross/cross-canadian builds, we don't
++ // want to be setting these flags until after we have compiled
++ // the toolchain that runs on the build host.
++ if ! crossBuild {
++ gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
++ goldflags = os.Getenv("GO_LDFLAGS")
++ }
+ goBootstrap := pathf("%s/go_bootstrap", tooldir)
+ cmdGo := pathf("%s/go", gobin)
+ if debug {
+@@ -1237,7 +1265,11 @@ func cmdbootstrap() {
+ xprintf("\n")
+ }
+ xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
+- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
++ if crossBuild {
++ os.Setenv("CC", defaultcc[""])
++ } else {
++ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
++ }
+ goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...)
+ if debug {
+ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
+@@ -1274,50 +1306,84 @@ func cmdbootstrap() {
+ }
+ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
+
+- if goos == oldgoos && goarch == oldgoarch {
+- // Common case - not setting up for cross-compilation.
+- timelog("build", "toolchain")
+- if vflag > 0 {
+- xprintf("\n")
++ if crossBuild {
++ gogcflags = os.Getenv("GO_GCFLAGS")
++ goldflags = os.Getenv("GO_LDFLAGS")
++ tool_files, _ := filepath.Glob(pathf("%s/*", tooldir))
++ for _, f := range tool_files {
++ copyfile(pathf("%s/%s", build_tooldir, filepath.Base(f)), f, writeExec)
++ xremove(f)
++ }
++ os.Setenv("GOTOOLDIR", build_tooldir)
++ goBootstrap = pathf("%s/go_bootstrap", build_tooldir)
++ if hostOnly {
++ timelog("build", "host toolchain")
++ if vflag > 0 {
++ xprintf("\n")
++ }
++ xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
++ goInstall(goBootstrap, toBuild...)
++ checkNotStale(goBootstrap, toBuild...)
++ // Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary
++
++ timelog("build", "target toolchain")
++ if vflag > 0 {
++ xprintf("\n")
++ }
++ } else if targetOnly {
++ goos = oldgoos
++ goarch = oldgoarch
++ os.Setenv("GOOS", goos)
++ os.Setenv("GOARCH", goarch)
++ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
++ xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
++ goInstall(goBootstrap, toBuild...)
++ checkNotStale(goBootstrap, toBuild...)
++ // Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary
+ }
+- xprintf("Building packages and commands for %s/%s.\n", goos, goarch)
+ } else {
+- // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH.
+- // Finish GOHOSTOS/GOHOSTARCH installation and then
+- // run GOOS/GOARCH installation.
+- timelog("build", "host toolchain")
+- if vflag > 0 {
+- xprintf("\n")
++
++ if goos == oldgoos && goarch == oldgoarch {
++ // Common case - not setting up for cross-compilation.
++ timelog("build", "toolchain")
++ if vflag > 0 {
++ xprintf("\n")
++ }
++ xprintf("Building packages and commands for %s/%s.\n", goos, goarch)
++ } else {
++ // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH.
++ // Finish GOHOSTOS/GOHOSTARCH installation and then
++ // run GOOS/GOARCH installation.
++ timelog("build", "host toolchain")
++ if vflag > 0 {
++ xprintf("\n")
++ }
++ xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
++ goInstall(goBootstrap, "std", "cmd")
++ checkNotStale(goBootstrap, "std", "cmd")
++ checkNotStale(cmdGo, "std", "cmd")
++
++ timelog("build", "target toolchain")
++ if vflag > 0 {
++ xprintf("\n")
++ }
++ goos = oldgoos
++ goarch = oldgoarch
++ os.Setenv("GOOS", goos)
++ os.Setenv("GOARCH", goarch)
++ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
++ xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
+ }
+- xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
+ goInstall(goBootstrap, "std", "cmd")
+ checkNotStale(goBootstrap, "std", "cmd")
+ checkNotStale(cmdGo, "std", "cmd")
+
+- timelog("build", "target toolchain")
+- if vflag > 0 {
+- xprintf("\n")
+- }
+- goos = oldgoos
+- goarch = oldgoarch
+- os.Setenv("GOOS", goos)
+- os.Setenv("GOARCH", goarch)
+- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
+- xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
+- }
+- targets := []string{"std", "cmd"}
+- if goos == "js" && goarch == "wasm" {
+- // Skip the cmd tools for js/wasm. They're not usable.
+- targets = targets[:1]
+- }
+- goInstall(goBootstrap, targets...)
+- checkNotStale(goBootstrap, targets...)
+- checkNotStale(cmdGo, targets...)
+- if debug {
+- run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
+- run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
+- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
+- copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
++ if debug {
++ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
++ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
++ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
++ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
++ }
+ }
+
+ // Check that there are no new files in $GOROOT/bin other than
+@@ -1335,7 +1401,11 @@ func cmdbootstrap() {
+ }
+
+ // Remove go_bootstrap now that we're done.
+- xremove(pathf("%s/go_bootstrap", tooldir))
++ // Except that for split host/target cross-builds, we need to
++ // keep it.
++ if ! crossBuild {
++ xremove(pathf("%s/go_bootstrap", tooldir))
++ }
+
+ // Print trailing banner unless instructed otherwise.
+ if !noBanner {
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0007-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.12/0007-cmd-go-make-GOROOT-precious-by-default.patch
new file mode 100644
index 000000000..29ef947ab
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0007-cmd-go-make-GOROOT-precious-by-default.patch
@@ -0,0 +1,106 @@
+From 7cc60b3887be2d5674b9f5d422d022976cf205e5 Mon Sep 17 00:00:00 2001
+From: Matt Madison <matt@madison.systems>
+Date: Fri, 2 Mar 2018 06:00:20 -0800
+Subject: [PATCH] cmd/go: make GOROOT precious by default
+
+The go build tool normally rebuilds whatever it detects is
+stale. This can be a problem when GOROOT is intended to
+be read-only and the go runtime has been built as a shared
+library, since we don't want every application to be rebuilding
+the shared runtime - particularly in cross-build/packaging
+setups, since that would lead to 'abi mismatch' runtime errors.
+
+This patch prevents the install and linkshared actions from
+installing to GOROOT unless overridden with the GOROOT_OVERRIDE
+environment variable.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Matt Madison <matt@madison.systems>
+
+---
+ src/cmd/go/internal/work/action.go | 3 +++
+ src/cmd/go/internal/work/build.go | 5 +++++
+ src/cmd/go/internal/work/exec.go | 25 +++++++++++++++++++++++++
+ 3 files changed, 33 insertions(+)
+
+Index: go/src/cmd/go/internal/work/action.go
+===================================================================
+--- go.orig/src/cmd/go/internal/work/action.go
++++ go/src/cmd/go/internal/work/action.go
+@@ -600,6 +600,9 @@ func (b *Builder) addTransitiveLinkDeps(
+ if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
+ continue
+ }
++ if goRootPrecious && (p1.Standard || p1.Goroot) {
++ continue
++ }
+ haveShlib[filepath.Base(p1.Shlib)] = true
+ // TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild,
+ // we'll end up building an overall library or executable that depends at runtime
+Index: go/src/cmd/go/internal/work/build.go
+===================================================================
+--- go.orig/src/cmd/go/internal/work/build.go
++++ go/src/cmd/go/internal/work/build.go
+@@ -147,6 +147,7 @@ See also: go install, go get, go clean.
+ }
+
+ const concurrentGCBackendCompilationEnabledByDefault = true
++var goRootPrecious bool = true
+
+ func init() {
+ // break init cycle
+@@ -160,6 +161,10 @@ func init() {
+
+ AddBuildFlags(CmdBuild)
+ AddBuildFlags(CmdInstall)
++
++ if x := os.Getenv("GOROOT_OVERRIDE"); x != "" {
++ goRootPrecious = false
++ }
+ }
+
+ // Note that flags consulted by other parts of the code
+Index: go/src/cmd/go/internal/work/exec.go
+===================================================================
+--- go.orig/src/cmd/go/internal/work/exec.go
++++ go/src/cmd/go/internal/work/exec.go
+@@ -436,6 +436,23 @@ func (b *Builder) build(a *Action) (err
+ return fmt.Errorf("missing or invalid binary-only package; expected file %q", a.Package.Target)
+ }
+
++ if goRootPrecious && (a.Package.Standard || a.Package.Goroot) {
++ _, err := os.Stat(a.Package.Target)
++ if err == nil {
++ a.built = a.Package.Target
++ a.Target = a.Package.Target
++ a.buildID = b.fileHash(a.Package.Target)
++ a.Package.Stale = false
++ a.Package.StaleReason = "GOROOT-resident package"
++ return nil
++ }
++ a.Package.Stale = true
++ a.Package.StaleReason = "missing or invalid GOROOT-resident package"
++ if b.IsCmdList {
++ return nil
++ }
++ }
++
+ if err := b.Mkdir(a.Objdir); err != nil {
+ return err
+ }
+@@ -1438,6 +1455,14 @@ func BuildInstallFunc(b *Builder, a *Act
+ return nil
+ }
+
++ if goRootPrecious && a.Package != nil {
++ p := a.Package
++ if p.Standard || p.Goroot {
++ err := fmt.Errorf("attempting to install package %s into read-only GOROOT", p.ImportPath)
++ return err
++ }
++ }
++
+ if err := b.Mkdir(a.Objdir); err != nil {
+ return err
+ }
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0008-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.12/0008-use-GOBUILDMODE-to-set-buildmode.patch
new file mode 100644
index 000000000..225cf439c
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0008-use-GOBUILDMODE-to-set-buildmode.patch
@@ -0,0 +1,37 @@
+From 0e0c247f0caec23528889ff09d98348cba9028f1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 26 Oct 2018 15:02:32 +0800
+Subject: [PATCH] use GOBUILDMODE to set buildmode
+
+While building go itself, the go build system does not support
+to set `-buildmode=pie' from environment.
+
+Add GOBUILDMODE to support it which make PIE executables the default
+build mode, as PIE executables are required as of Yocto
+
+Refers: https://groups.google.com/forum/#!topic/golang-dev/gRCe5URKewI
+Upstream-Status: Denied [upstream choose antoher solution: `17a256b
+cmd/go: -buildmode=pie for android/arm']
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/cmd/go/internal/work/build.go | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+Index: go/src/cmd/go/internal/work/build.go
+===================================================================
+--- go.orig/src/cmd/go/internal/work/build.go
++++ go/src/cmd/go/internal/work/build.go
+@@ -223,7 +223,11 @@ func AddBuildFlags(cmd *base.Command) {
+
+ cmd.Flag.Var(&load.BuildAsmflags, "asmflags", "")
+ cmd.Flag.Var(buildCompiler{}, "compiler", "")
+- cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
++ if bm := os.Getenv("GOBUILDMODE"); bm != "" {
++ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", bm, "")
++ } else {
++ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
++ }
+ cmd.Flag.Var(&load.BuildGcflags, "gcflags", "")
+ cmd.Flag.Var(&load.BuildGccgoflags, "gccgoflags", "")
+ cmd.Flag.StringVar(&cfg.BuildMod, "mod", "", "")
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0009-ld-replace-glibc-dynamic-linker-with-musl.patch b/poky/meta/recipes-devtools/go/go-1.12/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
new file mode 100644
index 000000000..840cf4bbd
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-1.12/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
@@ -0,0 +1,112 @@
+From 35ea4be34e94912b00837e0f7c7385f2e98fe769 Mon Sep 17 00:00:00 2001
+From: Matt Madison <matt@madison.systems>
+Date: Sun, 18 Feb 2018 08:24:05 -0800
+Subject: [PATCH] ld: replace glibc dynamic linker with musl
+
+Rework of patch by Khem Raj <raj.khem@gmail.com>
+for go 1.10. Should be applied conditionally on
+musl being the system C library.
+
+Upstream-Status: Inappropriate [Real fix should be portable across libcs]
+
+Signed-off-by: Matt Madison <matt@madison.systems>
+
+---
+ src/cmd/link/internal/amd64/obj.go | 2 +-
+ src/cmd/link/internal/arm/obj.go | 2 +-
+ src/cmd/link/internal/arm64/obj.go | 2 +-
+ src/cmd/link/internal/mips/obj.go | 2 +-
+ src/cmd/link/internal/mips64/obj.go | 2 +-
+ src/cmd/link/internal/ppc64/obj.go | 2 +-
+ src/cmd/link/internal/s390x/obj.go | 2 +-
+ src/cmd/link/internal/x86/obj.go | 2 +-
+ 8 files changed, 8 insertions(+), 8 deletions(-)
+
+--- a/src/cmd/link/internal/amd64/obj.go
++++ b/src/cmd/link/internal/amd64/obj.go
+@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ PEreloc1: pereloc1,
+ TLSIEtoLE: tlsIEtoLE,
+
+- Linuxdynld: "/lib64/ld-linux-x86-64.so.2",
++ Linuxdynld: "/lib64/ld-musl-x86-64.so.1",
+ Freebsddynld: "/libexec/ld-elf.so.1",
+ Openbsddynld: "/usr/libexec/ld.so",
+ Netbsddynld: "/libexec/ld.elf_so",
+--- a/src/cmd/link/internal/arm/obj.go
++++ b/src/cmd/link/internal/arm/obj.go
+@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ Machoreloc1: machoreloc1,
+ PEreloc1: pereloc1,
+
+- Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI
++ Linuxdynld: "/lib/ld-musl-armhf.so.1",
+ Freebsddynld: "/usr/libexec/ld-elf.so.1",
+ Openbsddynld: "/usr/libexec/ld.so",
+ Netbsddynld: "/libexec/ld.elf_so",
+--- a/src/cmd/link/internal/arm64/obj.go
++++ b/src/cmd/link/internal/arm64/obj.go
+@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ Gentext: gentext,
+ Machoreloc1: machoreloc1,
+
+- Linuxdynld: "/lib/ld-linux-aarch64.so.1",
++ Linuxdynld: "/lib/ld-musl-aarch64.so.1",
+
+ Freebsddynld: "XXX",
+ Openbsddynld: "XXX",
+--- a/src/cmd/link/internal/mips/obj.go
++++ b/src/cmd/link/internal/mips/obj.go
+@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ Gentext: gentext,
+ Machoreloc1: machoreloc1,
+
+- Linuxdynld: "/lib/ld.so.1",
++ Linuxdynld: "/lib/ld-musl-mipsle.so.1",
+
+ Freebsddynld: "XXX",
+ Openbsddynld: "XXX",
+--- a/src/cmd/link/internal/mips64/obj.go
++++ b/src/cmd/link/internal/mips64/obj.go
+@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ Gentext: gentext,
+ Machoreloc1: machoreloc1,
+
+- Linuxdynld: "/lib64/ld64.so.1",
++ Linuxdynld: "/lib64/ld-musl-mips64le.so.1",
+ Freebsddynld: "XXX",
+ Openbsddynld: "XXX",
+ Netbsddynld: "XXX",
+--- a/src/cmd/link/internal/ppc64/obj.go
++++ b/src/cmd/link/internal/ppc64/obj.go
+@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ Machoreloc1: machoreloc1,
+
+ // TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
+- Linuxdynld: "/lib64/ld64.so.1",
++ Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1",
+
+ Freebsddynld: "XXX",
+ Openbsddynld: "XXX",
+--- a/src/cmd/link/internal/s390x/obj.go
++++ b/src/cmd/link/internal/s390x/obj.go
+@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ Gentext: gentext,
+ Machoreloc1: machoreloc1,
+
+- Linuxdynld: "/lib64/ld64.so.1",
++ Linuxdynld: "/lib64/ld-musl-s390x.so.1",
+
+ // not relevant for s390x
+ Freebsddynld: "XXX",
+--- a/src/cmd/link/internal/x86/obj.go
++++ b/src/cmd/link/internal/x86/obj.go
+@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ Machoreloc1: machoreloc1,
+ PEreloc1: pereloc1,
+
+- Linuxdynld: "/lib/ld-linux.so.2",
++ Linuxdynld: "/lib/ld-musl-i386.so.1",
+ Freebsddynld: "/usr/libexec/ld-elf.so.1",
+ Openbsddynld: "/usr/libexec/ld.so",
+ Netbsddynld: "/usr/libexec/ld.elf_so",
diff --git a/poky/meta/recipes-devtools/go/go-1.9.inc b/poky/meta/recipes-devtools/go/go-1.9.inc
deleted file mode 100644
index ba1eaa051..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-require go-common.inc
-
-GO_BASEVERSION = "1.9"
-GO_MINOR = ".7"
-PV .= "${GO_MINOR}"
-
-FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
-
-SRC_URI += "\
- file://0001-make.bash-quote-CC_FOR_TARGET.patch \
- file://0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch \
- file://0003-make.bash-better-separate-host-and-target-builds.patch \
- file://0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch \
- file://0005-cmd-go-make-GOROOT-precious-by-default.patch \
- file://0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch \
- file://0007-ld-add-soname-to-shareable-objects.patch \
- file://0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch \
- file://0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch \
- file://0010-make.bash-override-CC-when-building-dist-and-go_boot.patch \
- file://0011-use-GOBUILDMODE-to-set-buildmode.patch \
-"
-SRC_URI_append_libc-musl = " file://set-external-linker.patch"
-
-SRC_URI[main.md5sum] = "3c2cf876ed6612a022574a565206c6ea"
-SRC_URI[main.sha256sum] = "582814fa45e8ecb0859a208e517b48aa0ad951e3b36c7fff203d834e0ef27722"
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0001-make.bash-quote-CC_FOR_TARGET.patch b/poky/meta/recipes-devtools/go/go-1.9/0001-make.bash-quote-CC_FOR_TARGET.patch
deleted file mode 100644
index 7800975e4..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0001-make.bash-quote-CC_FOR_TARGET.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d24734ad44006791fd48fc45ea34fe608ff672fb Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Wed, 13 Sep 2017 08:04:23 -0700
-Subject: [PATCH 1/7] make.bash: quote CC_FOR_TARGET
-
-For OE cross-builds, $CC_FOR_TARGET has more than
-one word and needs to be quoted.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/make.bash | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/make.bash b/src/make.bash
-index 71e7531..dcf3256 100755
---- a/src/make.bash
-+++ b/src/make.bash
-@@ -175,7 +175,7 @@ echo "##### Building packages and commands for $GOOS/$GOARCH."
-
- old_bin_files=$(cd $GOROOT/bin && echo *)
-
--CC=$CC_FOR_TARGET "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
-+CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
-
- # Check that there are no new files in $GOROOT/bin other than go and gofmt
- # and $GOOS_$GOARCH (a directory used when cross-compiling).
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch b/poky/meta/recipes-devtools/go/go-1.9/0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch
deleted file mode 100644
index a4e42261c..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0002-cmd-go-fix-CC-and-CXX-environment-variable-construct.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From a7170d32a13aead608abd18996f6dab2e2a631b5 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Wed, 13 Sep 2017 08:06:37 -0700
-Subject: [PATCH 2/7] cmd/go: fix CC and CXX environment variable construction
-
-For OE cross-builds, CC and CXX have multiple words, and
-we need their complete definitions when setting up the
-environment during Go builds.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/cmd/go/internal/envcmd/env.go | 4 ++--
- src/cmd/go/internal/work/build.go | 12 ++++++++++++
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index 43d4334..529d21d 100644
---- a/src/cmd/go/internal/envcmd/env.go
-+++ b/src/cmd/go/internal/envcmd/env.go
-@@ -74,10 +74,10 @@ func MkEnv() []cfg.EnvVar {
- }
-
- cmd := b.GccCmd(".")
-- env = append(env, cfg.EnvVar{Name: "CC", Value: cmd[0]})
-+ env = append(env, cfg.EnvVar{Name: "CC", Value: strings.Join(b.GccCmdForReal(), " ")})
- env = append(env, cfg.EnvVar{Name: "GOGCCFLAGS", Value: strings.Join(cmd[3:], " ")})
- cmd = b.GxxCmd(".")
-- env = append(env, cfg.EnvVar{Name: "CXX", Value: cmd[0]})
-+ env = append(env, cfg.EnvVar{Name: "CXX", Value: strings.Join(b.GxxCmdForReal(), " ")})
-
- if cfg.BuildContext.CgoEnabled {
- env = append(env, cfg.EnvVar{Name: "CGO_ENABLED", Value: "1"})
-diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
-index 7d667ff..85df0b3 100644
---- a/src/cmd/go/internal/work/build.go
-+++ b/src/cmd/go/internal/work/build.go
-@@ -3127,12 +3127,24 @@ func (b *Builder) GccCmd(objdir string) []string {
- return b.ccompilerCmd("CC", cfg.DefaultCC, objdir)
- }
-
-+// gccCmd returns a gcc command line prefix
-+// defaultCC is defined in zdefaultcc.go, written by cmd/dist.
-+func (b *Builder) GccCmdForReal() []string {
-+ return envList("CC", cfg.DefaultCC)
-+}
-+
- // gxxCmd returns a g++ command line prefix
- // defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
- func (b *Builder) GxxCmd(objdir string) []string {
- return b.ccompilerCmd("CXX", cfg.DefaultCXX, objdir)
- }
-
-+// gxxCmd returns a g++ command line prefix
-+// defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
-+func (b *Builder) GxxCmdForReal() []string {
-+ return envList("CXX", cfg.DefaultCXX)
-+}
-+
- // gfortranCmd returns a gfortran command line prefix.
- func (b *Builder) gfortranCmd(objdir string) []string {
- return b.ccompilerCmd("FC", "gfortran", objdir)
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0003-make.bash-better-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.9/0003-make.bash-better-separate-host-and-target-builds.patch
deleted file mode 100644
index ffd9f2359..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0003-make.bash-better-separate-host-and-target-builds.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 31e88f06af7ab787d8fe0c1ca625193e1799e167 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Wed, 13 Sep 2017 08:12:04 -0700
-Subject: [PATCH 3/7] make.bash: better separate host and target builds
-
-Fore OE cross-builds, the simple checks in make.bash are
-insufficient for distinguishing host and target build
-environments, so add some options for telling the
-script which parts are being built.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/make.bash | 51 ++++++++++++++++++++++++++++-----------------------
- 1 file changed, 28 insertions(+), 23 deletions(-)
-
-diff --git a/src/make.bash b/src/make.bash
-index dcf3256..9553623 100755
---- a/src/make.bash
-+++ b/src/make.bash
-@@ -156,13 +156,22 @@ if [ "$1" = "--no-clean" ]; then
- buildall=""
- shift
- fi
--./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
-+do_host_build="yes"
-+do_target_build="yes"
-+if [ "$1" = "--target-only" ]; then
-+ do_host_build="no"
-+ shift
-+elif [ "$1" = "--host-only" ]; then
-+ do_target_build="no"
-+ shift
-+fi
-
--# Delay move of dist tool to now, because bootstrap may clear tool directory.
--mv cmd/dist/dist "$GOTOOLDIR"/dist
--echo
-+if [ "$do_host_build" = "yes" ]; then
-+ ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
-+ # Delay move of dist tool to now, because bootstrap may clear tool directory.
-+ mv cmd/dist/dist "$GOTOOLDIR"/dist
-+ echo
-
--if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then
- echo "##### Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
- # CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
- # use the host compiler, CC, from `cmd/dist/dist env` instead.
-@@ -171,24 +180,20 @@ if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then
- echo
- fi
-
--echo "##### Building packages and commands for $GOOS/$GOARCH."
--
--old_bin_files=$(cd $GOROOT/bin && echo *)
--
--CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
--
--# Check that there are no new files in $GOROOT/bin other than go and gofmt
--# and $GOOS_$GOARCH (a directory used when cross-compiling).
--(cd $GOROOT/bin && for f in *; do
-- if ! expr " $old_bin_files go gofmt ${GOOS}_${GOARCH} " : ".* $f " >/dev/null 2>/dev/null; then
-- echo 1>&2 "ERROR: unexpected new file in $GOROOT/bin: $f"
-- exit 1
-- fi
--done)
--
--echo
--
--rm -f "$GOTOOLDIR"/go_bootstrap
-+if [ "$do_target_build" = "yes" ]; then
-+ GO_INSTALL="${GO_TARGET_INSTALL:-std cmd}"
-+ echo "##### Building packages and commands for $GOOS/$GOARCH."
-+ if [ "$GOHOSTOS" = "$GOOS" -a "$GOHOSTARCH" = "$GOARCH" -a "$do_host_build" = "yes" ]; then
-+ rm -rf ./host-tools
-+ mkdir ./host-tools
-+ mv "$GOTOOLDIR"/* ./host-tools
-+ GOTOOLDIR="$PWD/host-tools"
-+ fi
-+ GOTOOLDIR="$GOTOOLDIR" CC="$CC_FOR_TARGET" "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v ${GO_INSTALL}
-+ echo
-+
-+ rm -f "$GOTOOLDIR"/go_bootstrap
-+fi
-
- if [ "$1" != "--no-banner" ]; then
- "$GOTOOLDIR"/dist banner
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch b/poky/meta/recipes-devtools/go/go-1.9/0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
deleted file mode 100644
index 180b06a4d..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0004-cmd-go-allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 1369178b497b12088ec4c2794606cc9f14cc327c Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Wed, 13 Sep 2017 08:15:03 -0700
-Subject: [PATCH 4/7] cmd/go: allow GOTOOLDIR to be overridden in the
- environment
-
-For OE cross-builds, host-side tools reside in the native
-GOROOT, not the target GOROOT. Allow GOTOOLDIR to be set
-in the environment to allow that split, rather than always
-computing GOTOOLDIR relative to the GOROOT setting.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/cmd/go/internal/cfg/cfg.go | 7 ++++++-
- src/cmd/go/internal/work/build.go | 2 +-
- src/go/build/build.go | 2 +-
- 3 files changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
-index b3ad1ce..c1dc974 100644
---- a/src/cmd/go/internal/cfg/cfg.go
-+++ b/src/cmd/go/internal/cfg/cfg.go
-@@ -91,7 +91,12 @@ func init() {
- // as the tool directory does not move based on environment variables.
- // This matches the initialization of ToolDir in go/build,
- // except for using GOROOT rather than runtime.GOROOT().
-- build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+ s := os.Getenv("GOTOOLDIR")
-+ if s == "" {
-+ build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+ } else {
-+ build.ToolDir = s
-+ }
- }
-
- func findGOROOT() string {
-diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
-index 85df0b3..7b9a69e 100644
---- a/src/cmd/go/internal/work/build.go
-+++ b/src/cmd/go/internal/work/build.go
-@@ -1337,7 +1337,7 @@ func (b *Builder) build(a *Action) (err error) {
- }
-
- var cgoExe string
-- if a.cgo != nil && a.cgo.Target != "" {
-+ if a.cgo != nil && a.cgo.Target != "" && os.Getenv("GOTOOLDIR") == "" {
- cgoExe = a.cgo.Target
- } else {
- cgoExe = base.Tool("cgo")
-diff --git a/src/go/build/build.go b/src/go/build/build.go
-index fd89871..e16145b 100644
---- a/src/go/build/build.go
-+++ b/src/go/build/build.go
-@@ -1588,7 +1588,7 @@ func init() {
- }
-
- // ToolDir is the directory containing build tools.
--var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+var ToolDir = envOr("GOTOOLDIR", filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH))
-
- // IsLocalImport reports whether the import path is
- // a local import path, like ".", "..", "./foo", or "../foo".
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0005-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.9/0005-cmd-go-make-GOROOT-precious-by-default.patch
deleted file mode 100644
index 6e93bcb6c..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0005-cmd-go-make-GOROOT-precious-by-default.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 44f961975dac6cf464a77b5f6dd0c47cc192c4fd Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Wed, 13 Sep 2017 08:19:52 -0700
-Subject: [PATCH 5/7] cmd/go: make GOROOT precious by default
-
-For OE builds, we never want packages that have
-already been installed into the build root to be
-modified, so prevent the go build tool from checking
-if they should be rebuilt.
-
-Also add an environment variable to override this
-behavior, just for building the Go runtime.
-
-Upstream-Status: Pending
-
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/cmd/go/internal/load/pkg.go | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
-index 60de666..2660d3f 100644
---- a/src/cmd/go/internal/load/pkg.go
-+++ b/src/cmd/go/internal/load/pkg.go
-@@ -1530,6 +1530,13 @@ func isStale(p *Package) (bool, string) {
- return true, "build ID mismatch"
- }
-
-+ // For OE builds, make anything in GOROOT non-stale,
-+ // to prevent a package build from overwriting the
-+ // build root.
-+ if p.Goroot && os.Getenv("GOROOT_OVERRIDE") != "1" {
-+ return false, "GOROOT-resident packages do not get rebuilt"
-+ }
-+
- // Package is stale if a dependency is.
- for _, p1 := range p.Internal.Deps {
- if p1.Stale {
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch b/poky/meta/recipes-devtools/go/go-1.9/0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch
deleted file mode 100644
index f0f564044..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0006-make.bash-add-GOTOOLDIR_BOOTSTRAP-environment-variab.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From aae74d1045ca03306ba4159206ee3bac72bcdfbb Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Wed, 13 Sep 2017 08:23:23 -0700
-Subject: [PATCH 6/7] make.bash: add GOTOOLDIR_BOOTSTRAP environment variable
-
-For cross-canadian builds, we need to use the native
-GOTOOLDIR during the bootstrap phase, so provide a way
-to pass that setting into the build script.
-
-Upstream-Status: Pending
-
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/make.bash | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/make.bash b/src/make.bash
-index 9553623..2e6fb05 100755
---- a/src/make.bash
-+++ b/src/make.bash
-@@ -172,10 +172,11 @@ if [ "$do_host_build" = "yes" ]; then
- mv cmd/dist/dist "$GOTOOLDIR"/dist
- echo
-
-+ GOTOOLDIR_BOOTSTRAP="${GOTOOLDIR_BOOTSTRAP:-$GOTOOLDIR}"
- echo "##### Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
- # CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
- # use the host compiler, CC, from `cmd/dist/dist env` instead.
-- CC=$CC GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH \
-+ CC=$CC GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH GOTOOLDIR="$GOTOOLDIR_BOOTSTRAP" \
- "$GOTOOLDIR"/go_bootstrap install -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
- echo
- fi
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0007-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go-1.9/0007-ld-add-soname-to-shareable-objects.patch
deleted file mode 100644
index 6459782d8..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0007-ld-add-soname-to-shareable-objects.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From e957c3458d53e37bf416f51d2f8bf54c195e50f5 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Wed, 13 Sep 2017 08:27:02 -0700
-Subject: [PATCH 7/7] ld: add soname to shareable objects
-
-Shared library handling in OE depends on the inclusion
-of an soname header, so update the go linker to add that
-header for both internal and external linking.
-
-Upstream-Status: Pending
-
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/cmd/link/internal/ld/lib.go | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
-index 0234105..0b9e2d0 100644
---- a/src/cmd/link/internal/ld/lib.go
-+++ b/src/cmd/link/internal/ld/lib.go
-@@ -1124,12 +1124,14 @@ func (l *Link) hostlink() {
- // Pass -z nodelete to mark the shared library as
- // non-closeable: a dlclose will do nothing.
- argv = append(argv, "-shared", "-Wl,-z,nodelete")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
- }
- case BuildmodeShared:
- if UseRelro() {
- argv = append(argv, "-Wl,-z,relro")
- }
- argv = append(argv, "-shared")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
- case BuildmodePlugin:
- if Headtype == objabi.Hdarwin {
- argv = append(argv, "-dynamiclib")
-@@ -1138,6 +1140,7 @@ func (l *Link) hostlink() {
- argv = append(argv, "-Wl,-z,relro")
- }
- argv = append(argv, "-shared")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
- }
- }
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch b/poky/meta/recipes-devtools/go/go-1.9/0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch
deleted file mode 100644
index 0977c7835..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 03e6c339d4fb712fbb8c4ca6ef2fc7100dcdb3d7 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Thu, 14 Sep 2017 05:38:10 -0700
-Subject: [PATCH 8/8] make.bash: add GOHOSTxx indirection for cross-canadian
- builds
-
-Add environment variables for specifying the host OS/arch
-that we are building the compiler for, so it can differ from
-the build host OS/arch.
-
-Upstream-Status: Pending
-
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/make.bash | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/make.bash b/src/make.bash
-index 2e6fb05..0bdadc6 100755
---- a/src/make.bash
-+++ b/src/make.bash
-@@ -173,6 +173,8 @@ if [ "$do_host_build" = "yes" ]; then
- echo
-
- GOTOOLDIR_BOOTSTRAP="${GOTOOLDIR_BOOTSTRAP:-$GOTOOLDIR}"
-+ GOHOSTOS="${GOHOSTOS_CROSS:-$GOHOSTOS}"
-+ GOHOSTARCH="${GOHOSTARCH_CROSS:-$GOHOSTARCH}"
- echo "##### Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH."
- # CC_FOR_TARGET is recorded as the default compiler for the go tool. When building for the host, however,
- # use the host compiler, CC, from `cmd/dist/dist env` instead.
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch b/poky/meta/recipes-devtools/go/go-1.9/0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch
deleted file mode 100644
index aa5fcfdd2..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From aae44527c8065d54f6acaf87c82cba1ac96fae59 Mon Sep 17 00:00:00 2001
-From: Ian Lance Taylor <iant@golang.org>
-Date: Fri, 18 Aug 2017 17:46:03 -0700
-Subject: [PATCH] cmd/go: -buildmode=pie forces external linking mode on all
- systems
-
-The go tool assumed that -buildmode=pie implied internal linking on
-linux-amd64. However, that was changed by CL 36417 for issue #18968.
-
-Fixes #21452
-
-Change-Id: I8ed13aea52959cc5c53223f4c41ba35329445545
-Reviewed-on: https://go-review.googlesource.com/57231
-Run-TryBot: Ian Lance Taylor <iant@golang.org>
-TryBot-Result: Gobot Gobot <gobot@golang.org>
-Reviewed-by: Avelino <t@avelino.xxx>
-Reviewed-by: Rob Pike <r@golang.org>
----
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- src/cmd/go/internal/load/pkg.go | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
-index 2660d3f..d40773b 100644
---- a/src/cmd/go/internal/load/pkg.go
-+++ b/src/cmd/go/internal/load/pkg.go
-@@ -954,11 +954,12 @@ func (p *Package) load(stk *ImportStack, bp *build.Package, err error) *Package
-
- if cfg.BuildContext.CgoEnabled && p.Name == "main" && !p.Goroot {
- // Currently build modes c-shared, pie (on systems that do not
-- // support PIE with internal linking mode), plugin, and
-- // -linkshared force external linking mode, as of course does
-+ // support PIE with internal linking mode (currently all
-+ // systems: issue #18968)), plugin, and -linkshared force
-+ // external linking mode, as of course does
- // -ldflags=-linkmode=external. External linking mode forces
- // an import of runtime/cgo.
-- pieCgo := cfg.BuildBuildmode == "pie" && (cfg.BuildContext.GOOS != "linux" || cfg.BuildContext.GOARCH != "amd64")
-+ pieCgo := cfg.BuildBuildmode == "pie"
- linkmodeExternal := false
- for i, a := range cfg.BuildLdflags {
- if a == "-linkmode=external" {
---
-2.14.1
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch
deleted file mode 100644
index 83fd78c3d..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 21d83dd9499e5be30eea28dd7034d1ea2a01c838 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Tue, 14 Nov 2017 07:38:42 -0800
-Subject: [PATCH 10/10] make.bash: override CC when building dist and
- go_bootstrap
-
-For cross-canadian builds, dist and go_bootstrap
-run on the build host, so CC needs to point to the
-build host's C compiler. Add a BUILD_CC environment
-for this, falling back to $CC if not present.
-
-Upstream-Status: Pending
-
-Signed-off-by: Matt Madison <matt@madison.systems>
----
- src/make.bash | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/make.bash b/src/make.bash
-index 0bdadc6..f199349 100755
---- a/src/make.bash
-+++ b/src/make.bash
-@@ -131,7 +131,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
- exit 1
- fi
- rm -f cmd/dist/dist
--GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-+CC=${BUILD_CC:-${CC}} GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-
- # -e doesn't propagate out of eval, so check success by hand.
- eval $(./cmd/dist/dist env -p || echo FAIL=true)
-@@ -167,7 +167,7 @@ elif [ "$1" = "--host-only" ]; then
- fi
-
- if [ "$do_host_build" = "yes" ]; then
-- ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
-+ CC=${BUILD_CC:-${CC}} ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
- # Delay move of dist tool to now, because bootstrap may clear tool directory.
- mv cmd/dist/dist "$GOTOOLDIR"/dist
- echo
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/0011-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.9/0011-use-GOBUILDMODE-to-set-buildmode.patch
deleted file mode 100644
index da93dc5c1..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/0011-use-GOBUILDMODE-to-set-buildmode.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From b928fafab1d9425aae9341806bd2f6178ba1da1f Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 26 Oct 2018 16:32:50 +0800
-Subject: [PATCH] use GOBUILDMODE to set buildmode
-
-While building go itself, the go build system does not support
-to set `-buildmode=pie' from environment.
-
-Add GOBUILDMODE to support it which make PIE executables the default
-build mode, as PIE executables are required as of Yocto
-
-Refers: https://groups.google.com/forum/#!topic/golang-dev/gRCe5URKewI
-Upstream-Status: Denied [upstream choose antoher solution: `17a256b
-cmd/go: -buildmode=pie for android/arm']
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/cmd/go/internal/work/build.go | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
-index b276de5..1683e7e 100644
---- a/src/cmd/go/internal/work/build.go
-+++ b/src/cmd/go/internal/work/build.go
-@@ -211,7 +211,11 @@ func AddBuildFlags(cmd *base.Command) {
-
- cmd.Flag.Var((*base.StringsFlag)(&buildAsmflags), "asmflags", "")
- cmd.Flag.Var(buildCompiler{}, "compiler", "")
-- cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
-+ if bm := os.Getenv("GOBUILDMODE"); bm != "" {
-+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", bm, "")
-+ } else {
-+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
-+ }
- cmd.Flag.Var((*base.StringsFlag)(&buildGcflags), "gcflags", "")
- cmd.Flag.Var((*base.StringsFlag)(&buildGccgoflags), "gccgoflags", "")
- cmd.Flag.StringVar(&cfg.BuildContext.InstallSuffix, "installsuffix", "", "")
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/go/go-1.9/set-external-linker.patch b/poky/meta/recipes-devtools/go/go-1.9/set-external-linker.patch
deleted file mode 100644
index d6bd7fa39..000000000
--- a/poky/meta/recipes-devtools/go/go-1.9/set-external-linker.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-Change the dynamic linker hardcoding to use musl when not using glibc
-this should be applied conditional to musl being the system C library
-
-Upstream-Status: Inappropriate [Real Fix should be portable across libcs]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: go/src/cmd/link/internal/amd64/obj.go
-===================================================================
---- go.orig/src/cmd/link/internal/amd64/obj.go
-+++ go/src/cmd/link/internal/amd64/obj.go
-@@ -67,7 +67,7 @@ func Init() {
- ld.Thearch.Append64 = ld.Append64l
- ld.Thearch.TLSIEtoLE = tlsIEtoLE
-
-- ld.Thearch.Linuxdynld = "/lib64/ld-linux-x86-64.so.2"
-+ ld.Thearch.Linuxdynld = "/lib/ld-musl-x86_64.so.1"
- ld.Thearch.Freebsddynld = "/libexec/ld-elf.so.1"
- ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
- ld.Thearch.Netbsddynld = "/libexec/ld.elf_so"
-Index: go/src/cmd/link/internal/arm/obj.go
-===================================================================
---- go.orig/src/cmd/link/internal/arm/obj.go
-+++ go/src/cmd/link/internal/arm/obj.go
-@@ -63,7 +63,7 @@ func Init() {
- ld.Thearch.Append32 = ld.Append32l
- ld.Thearch.Append64 = ld.Append64l
-
-- ld.Thearch.Linuxdynld = "/lib/ld-linux.so.3" // 2 for OABI, 3 for EABI
-+ ld.Thearch.Linuxdynld = "/lib/ld-musl-armhf.so.1"
- ld.Thearch.Freebsddynld = "/usr/libexec/ld-elf.so.1"
- ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
- ld.Thearch.Netbsddynld = "/libexec/ld.elf_so"
-Index: go/src/cmd/link/internal/arm64/obj.go
-===================================================================
---- go.orig/src/cmd/link/internal/arm64/obj.go
-+++ go/src/cmd/link/internal/arm64/obj.go
-@@ -62,7 +62,7 @@ func Init() {
- ld.Thearch.Append32 = ld.Append32l
- ld.Thearch.Append64 = ld.Append64l
-
-- ld.Thearch.Linuxdynld = "/lib/ld-linux-aarch64.so.1"
-+ ld.Thearch.Linuxdynld = "/lib/ld-musl-aarch64.so.1"
-
- ld.Thearch.Freebsddynld = "XXX"
- ld.Thearch.Openbsddynld = "XXX"
-Index: go/src/cmd/link/internal/mips/obj.go
-===================================================================
---- go.orig/src/cmd/link/internal/mips/obj.go
-+++ go/src/cmd/link/internal/mips/obj.go
-@@ -77,7 +77,7 @@ func Init() {
- ld.Thearch.Append64 = ld.Append64b
- }
-
-- ld.Thearch.Linuxdynld = "/lib/ld.so.1"
-+ ld.Thearch.Linuxdynld = "/lib/ld-musl-mipsle.so.1"
-
- ld.Thearch.Freebsddynld = "XXX"
- ld.Thearch.Openbsddynld = "XXX"
-Index: go/src/cmd/link/internal/mips64/obj.go
-===================================================================
---- go.orig/src/cmd/link/internal/mips64/obj.go
-+++ go/src/cmd/link/internal/mips64/obj.go
-@@ -75,7 +75,7 @@ func Init() {
- ld.Thearch.Append64 = ld.Append64b
- }
-
-- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
-+ ld.Thearch.Linuxdynld = "/lib64/ld-musl-mips64le.so.1"
-
- ld.Thearch.Freebsddynld = "XXX"
- ld.Thearch.Openbsddynld = "XXX"
-Index: go/src/cmd/link/internal/ppc64/obj.go
-===================================================================
---- go.orig/src/cmd/link/internal/ppc64/obj.go
-+++ go/src/cmd/link/internal/ppc64/obj.go
-@@ -77,7 +77,7 @@ func Init() {
- }
-
- // TODO(austin): ABI v1 uses /usr/lib/ld.so.1
-- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
-+ ld.Thearch.Linuxdynld = "/lib/ld-musl-powerpc64le.so.1"
-
- ld.Thearch.Freebsddynld = "XXX"
- ld.Thearch.Openbsddynld = "XXX"
-Index: go/src/cmd/link/internal/s390x/obj.go
-===================================================================
---- go.orig/src/cmd/link/internal/s390x/obj.go
-+++ go/src/cmd/link/internal/s390x/obj.go
-@@ -62,7 +62,7 @@ func Init() {
- ld.Thearch.Append32 = ld.Append32b
- ld.Thearch.Append64 = ld.Append64b
-
-- ld.Thearch.Linuxdynld = "/lib64/ld64.so.1"
-+ ld.Thearch.Linuxdynld = "/lib/ld-musl-s390x.so.1"
-
- // not relevant for s390x
- ld.Thearch.Freebsddynld = "XXX"
-Index: go/src/cmd/link/internal/x86/obj.go
-===================================================================
---- go.orig/src/cmd/link/internal/x86/obj.go
-+++ go/src/cmd/link/internal/x86/obj.go
-@@ -63,7 +63,7 @@ func Init() {
- ld.Thearch.Append32 = ld.Append32l
- ld.Thearch.Append64 = ld.Append64l
-
-- ld.Thearch.Linuxdynld = "/lib/ld-linux.so.2"
-+ ld.Thearch.Linuxdynld = "/lib/ld-musl-i386.so.1"
- ld.Thearch.Freebsddynld = "/usr/libexec/ld-elf.so.1"
- ld.Thearch.Openbsddynld = "/usr/libexec/ld.so"
- ld.Thearch.Netbsddynld = "/usr/libexec/ld.elf_so"
diff --git a/poky/meta/recipes-devtools/go/go-common.inc b/poky/meta/recipes-devtools/go/go-common.inc
index 11d55c4d3..93a3d3b5f 100644
--- a/poky/meta/recipes-devtools/go/go-common.inc
+++ b/poky/meta/recipes-devtools/go/go-common.inc
@@ -25,7 +25,6 @@ SSTATE_SCAN_CMD = "true"
export GOROOT_OVERRIDE = "1"
export GOTMPDIR ?= "${WORKDIR}/go-tmp"
GOTMPDIR[vardepvalue] = ""
-export GOCACHE = "off"
export CGO_ENABLED = "1"
do_compile_prepend() {
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian.inc b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
index ea68b8875..945d0f9d1 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
@@ -1,10 +1,18 @@
inherit cross-canadian
DEPENDS = "go-native virtual/${HOST_PREFIX}go-crosssdk virtual/nativesdk-${HOST_PREFIX}go-runtime \
- virtual/${HOST_PREFIX}gcc-crosssdk virtual/nativesdk-${HOST_PREFIX}libc-for-gcc \
+ virtual/${HOST_PREFIX}gcc-crosssdk virtual/nativesdk-libc \
virtual/nativesdk-${HOST_PREFIX}compilerlibs"
PN = "go-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+# it uses gcc on build machine during go-cross-canadian bootstrap, but
+# the gcc version may be old and not support option '-fmacro-prefix-map'
+# which is one of default values of DEBUG_PREFIX_MAP
+DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${STAGING_DIR_HOST}= \
+ -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
+ "
+
export GOHOSTOS = "${BUILD_GOOS}"
export GOHOSTARCH = "${BUILD_GOARCH}"
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.12.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.12.bb
new file mode 100644
index 000000000..7ac9449e4
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.12.bb
@@ -0,0 +1,2 @@
+require go-cross-canadian.inc
+require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.9.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.9.bb
deleted file mode 100644
index 367a96705..000000000
--- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.9.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require go-cross-canadian.inc
-require go-${PV}.inc
-
-export GOHOSTOS_CROSS = "${HOST_GOOS}"
-export GOHOSTARCH_CROSS = "${HOST_GOARCH}"
-export CC_FOR_TARGET = "${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
-export CXX_FOR_TARGET = "${HOST_PREFIX}g++ --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
-
-do_compile_prepend() {
- export GOBIN="${B}/bin"
- export TMPDIR="$GOTMPDIR"
-}
diff --git a/poky/meta/recipes-devtools/go/go-cross.inc b/poky/meta/recipes-devtools/go/go-cross.inc
index 6d9aa5c2d..29ce7f6e8 100644
--- a/poky/meta/recipes-devtools/go/go-cross.inc
+++ b/poky/meta/recipes-devtools/go/go-cross.inc
@@ -14,7 +14,6 @@ export GO386 = "${TARGET_GO386}"
export GOMIPS = "${TARGET_GOMIPS}"
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
export GOROOT_FINAL = "${libdir}/go"
-export GOCACHE = "off"
CC = "${@d.getVar('BUILD_CC').strip()}"
do_configure[noexec] = "1"
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.12.bb b/poky/meta/recipes-devtools/go/go-cross_1.12.bb
new file mode 100644
index 000000000..80b5a03f6
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-cross_1.12.bb
@@ -0,0 +1,2 @@
+require go-cross.inc
+require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.9.bb b/poky/meta/recipes-devtools/go/go-cross_1.9.bb
deleted file mode 100644
index 4739c7d5c..000000000
--- a/poky/meta/recipes-devtools/go/go-cross_1.9.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require go-cross.inc
-require go-${PV}.inc
-
-export CC_FOR_TARGET = "${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
-export CXX_FOR_TARGET = "${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
-
-do_compile_prepend() {
- export GOBIN="${B}/bin"
- export TMPDIR="$GOTMPDIR"
-}
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk.inc b/poky/meta/recipes-devtools/go/go-crosssdk.inc
index 4391b3242..94f6fb8eb 100644
--- a/poky/meta/recipes-devtools/go/go-crosssdk.inc
+++ b/poky/meta/recipes-devtools/go/go-crosssdk.inc
@@ -1,7 +1,7 @@
inherit crosssdk
DEPENDS = "go-native virtual/${TARGET_PREFIX}gcc-crosssdk virtual/nativesdk-${TARGET_PREFIX}compilerlibs virtual/${TARGET_PREFIX}binutils-crosssdk"
-PN = "go-crosssdk-${TARGET_ARCH}"
+PN = "go-crosssdk-${SDK_SYS}"
PROVIDES = "virtual/${TARGET_PREFIX}go-crosssdk"
export GOHOSTOS = "${BUILD_GOOS}"
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.12.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.12.bb
new file mode 100644
index 000000000..1857c8a57
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.12.bb
@@ -0,0 +1,2 @@
+require go-crosssdk.inc
+require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.9.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.9.bb
deleted file mode 100644
index 3ac629bd4..000000000
--- a/poky/meta/recipes-devtools/go/go-crosssdk_1.9.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require go-crosssdk.inc
-require go-${PV}.inc
-
-export CC_FOR_TARGET = "${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
-export CXX_FOR_TARGET = "${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
-export GO_INSTALL = "cmd"
-
-do_compile_prepend() {
- export GOBIN="${B}/bin"
- export TMPDIR="$GOTMPDIR"
-}
diff --git a/poky/meta/recipes-devtools/go/go-native_1.12.bb b/poky/meta/recipes-devtools/go/go-native_1.12.bb
new file mode 100644
index 000000000..bbf3c0dd7
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-native_1.12.bb
@@ -0,0 +1,2 @@
+require ${PN}.inc
+require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-native_1.9.bb b/poky/meta/recipes-devtools/go/go-native_1.9.bb
deleted file mode 100644
index 8621e1df3..000000000
--- a/poky/meta/recipes-devtools/go/go-native_1.9.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require ${PN}.inc
-require go-${PV}.inc
-
-GOMAKEARGS = "--host-only --no-banner"
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.12.bb b/poky/meta/recipes-devtools/go/go-runtime_1.12.bb
new file mode 100644
index 000000000..43b68b4e4
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-runtime_1.12.bb
@@ -0,0 +1,2 @@
+require go-${PV}.inc
+require go-runtime.inc
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.9.bb b/poky/meta/recipes-devtools/go/go-runtime_1.9.bb
deleted file mode 100644
index d5279ea89..000000000
--- a/poky/meta/recipes-devtools/go/go-runtime_1.9.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-require go-${PV}.inc
-require go-runtime.inc
-
-export GO_TARGET_INSTALL = "std"
-export CC_FOR_TARGET = "${CC}"
-export CXX_FOR_TARGET = "${CXX}"
-
-do_compile() {
- export GOBIN="${B}/bin"
- export TMPDIR="$GOTMPDIR"
- export CC=$BUILD_CC
-
- cd src
- CGO_CFLAGS="${BUILD_CFLAGS}" CGO_LDFLAGS="${BUILD_LDFLAGS}" ./make.bash --host-only
- cp ${B}/pkg/tool/${BUILD_GOTUPLE}/go_bootstrap ${B}
- rm -rf ${B}/pkg/${TARGET_GOTUPLE}
- ./make.bash --target-only
- if [ -n "${GO_DYNLINK}" ]; then
- cp ${B}/go_bootstrap ${B}/pkg/tool/${BUILD_GOTUPLE}
- GO_FLAGS="-buildmode=shared" GO_LDFLAGS="-extldflags \"${LDFLAGS}\"" ./make.bash --target-only
- fi
- cd ${B}
-}
diff --git a/poky/meta/recipes-devtools/go/go-target.inc b/poky/meta/recipes-devtools/go/go-target.inc
index c229ab2f8..379f87b49 100644
--- a/poky/meta/recipes-devtools/go/go-target.inc
+++ b/poky/meta/recipes-devtools/go/go-target.inc
@@ -40,7 +40,7 @@ do_install() {
for f in ${B}/${GO_BUILD_BINDIR}/*; do
name=`basename $f`
install -m 0755 $f ${D}${libdir}/go/bin/
- ln -sf ../${BASELIB}/go/bin/$name ${D}${bindir}/
+ ln -sf ../${baselib}/go/bin/$name ${D}${bindir}/
done
}
diff --git a/poky/meta/recipes-devtools/go/go_1.12.bb b/poky/meta/recipes-devtools/go/go_1.12.bb
new file mode 100644
index 000000000..42cdb0430
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go_1.12.bb
@@ -0,0 +1,14 @@
+require go-${PV}.inc
+require go-target.inc
+
+export GOBUILDMODE=""
+
+# Add pie to GOBUILDMODE to satisfy "textrel" QA checking, but mips
+# doesn't support -buildmode=pie, so skip the QA checking for mips and its
+# variants.
+python() {
+ if 'mips' in d.getVar('TARGET_ARCH'):
+ d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
+ else:
+ d.setVar('GOBUILDMODE', 'pie')
+}
diff --git a/poky/meta/recipes-devtools/go/go_1.9.bb b/poky/meta/recipes-devtools/go/go_1.9.bb
deleted file mode 100644
index c23ea0c1a..000000000
--- a/poky/meta/recipes-devtools/go/go_1.9.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require go-${PV}.inc
-require go-target.inc
-
-export GO_TARGET_INSTALL = "cmd"
-export GO_FLAGS = "-a"
-export CC_FOR_TARGET = "${CC}"
-export CXX_FOR_TARGET = "${CXX}"
-export GOBUILDMODE=""
-
-do_compile() {
- export GOBIN="${B}/bin"
- export TMPDIR="$GOTMPDIR"
- export CC=$BUILD_CC
-
- cd src
- ./make.bash
- cd ${B}
-}
-
-# Add pie to GOBUILDMODE to satisfy "textrel" QA checking, but mips
-# doesn't support -buildmode=pie, so skip the QA checking for mips and its
-# variants.
-python() {
- if 'mips' in d.getVar('TARGET_ARCH'):
- d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
- else:
- d.setVar('GOBUILDMODE', 'pie')
-}
diff --git a/poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-env.sh b/poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-env.sh
index 990d2fb44..0dccc41c8 100644
--- a/poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-env.sh
+++ b/poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-env.sh
@@ -38,11 +38,11 @@ if [ -n "$ICECC_PATH" ]; then
CXXFLAGS="$CXXFLAGS -fno-diagnostics-show-caret"
fi
export ICECC_PATH ICECC_CARET_WORKAROUND
- export ICECC_VERSION="$OECORE_NATIVE_SYSROOT/usr/share/icecream/@TOOLCHAIN_ENV@"
+ export ICECC_VERSION="$(echo "$OECORE_NATIVE_SYSROOT/usr/share/${TARGET_PREFIX}icecream/@TOOLCHAIN_ENV@" | sed "s,@TARGET_PREFIX@,$TARGET_PREFIX,g")"
export ICECC="$(which ${CROSS_COMPILE}gcc)"
export ICECXX="$(which ${CROSS_COMPILE}g++)"
export ICEAS="$(which ${CROSS_COMPILE}as)"
- export PATH="$OECORE_NATIVE_SYSROOT/usr/share/icecream/bin:$PATH"
+ export PATH="$OECORE_NATIVE_SYSROOT/usr/share/${TARGET_PREFIX}icecream/bin:$PATH"
else
echo "Icecc not found. Disabling distributed compiling"
fi
diff --git a/poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-setup.sh b/poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-setup.sh
index 25250b7c0..fbd9f038b 100644
--- a/poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-setup.sh
+++ b/poky/meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-setup.sh
@@ -32,7 +32,7 @@ mkdir -p "`dirname $ICECC_VERSION`"
icecc-create-env $ICECC $ICECXX $ICEAS $ICECC_VERSION || exit $?
# Create symbolic links
-d="$OECORE_NATIVE_SYSROOT/usr/share/icecream/bin"
+d="$OECORE_NATIVE_SYSROOT/usr/share/${TARGET_PREFIX}icecream/bin"
mkdir -p "$d"
-ln -s "$ICECC_PATH" "$d/${CROSS_COMPILE}gcc"
-ln -s "$ICECC_PATH" "$d/${CROSS_COMPILE}g++"
+ln -sf "$ICECC_PATH" "$d/${CROSS_COMPILE}gcc"
+ln -sf "$ICECC_PATH" "$d/${CROSS_COMPILE}g++"
diff --git a/poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb b/poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
index 9d2750e47..304ad7fec 100644
--- a/poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
+++ b/poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
@@ -13,7 +13,7 @@ SRC_URI = "\
inherit nativesdk
-ENV_NAME="${DISTRO}-${TCLIBC}-${SDK_ARCH}-${TUNE_PKGARCH}-${DISTRO_VERSION}.tar.gz"
+ENV_NAME="${DISTRO}-${TCLIBC}-${SDK_ARCH}-@TARGET_PREFIX@${DISTRO_VERSION}.tar.gz"
do_compile() {
}
@@ -24,12 +24,12 @@ do_install() {
install -d ${D}${SDKPATHNATIVE}/environment-setup.d/
install -m 0644 ${WORKDIR}/icecc-env.sh ${D}${SDKPATHNATIVE}/environment-setup.d/
sed -i ${D}${SDKPATHNATIVE}/environment-setup.d/icecc-env.sh \
- -e "s,@TOOLCHAIN_ENV@,${ENV_NAME},g"
+ -e 's,@TOOLCHAIN_ENV@,${ENV_NAME},g'
install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
install -m 0755 ${WORKDIR}/icecc-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
sed -i ${D}${SDKPATHNATIVE}/post-relocate-setup.d/icecc-setup.sh \
- -e "s,@TOOLCHAIN_ENV@,${ENV_NAME},g"
+ -e 's,@TOOLCHAIN_ENV@,${ENV_NAME},g'
}
PACKAGES = "${PN}"
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch
new file mode 100644
index 000000000..ff90269a2
--- /dev/null
+++ b/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch
@@ -0,0 +1,47 @@
+From 83407aa50e06d967d0a1095a140bd7b0e5d51d27 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 21 Nov 2018 13:09:05 +0100
+Subject: [PATCH] Add crc32.c to sources list
+
+Otherwise, there is a missing symbol runtime error under musl C library.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ libcomps/src/python/src/CMakeLists.txt | 4 ++--
+ libcomps/src/python/src/crc32.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt
+index 6ed25bb..c15c8b2 100644
+--- a/libcomps/src/python/src/CMakeLists.txt
++++ b/libcomps/src/python/src/CMakeLists.txt
+@@ -9,13 +9,13 @@ set (pycomps_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR})
+ set (pycomps_SRC pycomps.c pycomps_sequence.c
+ pycomps_envs.c pycomps_categories.c pycomps_groups.c
+ pycomps_gids.c pycomps_utils.c pycomps_dict.c pycomps_mdict.c
+- pycomps_hash.c pycomps_exc.c pycomps_lbw.c)
++ pycomps_hash.c pycomps_exc.c pycomps_lbw.c crc32.c)
+
+ set (pycomps_HEADERS pycomps_23macros.h pycomps_sequence.h
+ pycomps_envs.h pycomps_categories.h pycomps_groups.h
+ pycomps_gids.h pycomps_utils.h pycomps_dict.h pycomps_mdict.h
+ pycomps_hash.h pycomps_exc.h pycomps_lbw.h
+- pycomps_types.h)
++ pycomps_types.h crc32.h)
+
+ #set(TEST_FILES ../__init__.py __test.py test_merge_comps.py test_libcomps.py
+ # utest.py)
+diff --git a/libcomps/src/python/src/crc32.c b/libcomps/src/python/src/crc32.c
+index d8f5e34..f266067 100644
+--- a/libcomps/src/python/src/crc32.c
++++ b/libcomps/src/python/src/crc32.c
+@@ -41,7 +41,7 @@
+ */
+
+ #include <sys/param.h>
+-#include <sys/systm.h>
++#include <stdint.h>
+
+ static uint32_t crc32_tab[] = {
+ 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_git.bb b/poky/meta/recipes-devtools/libcomps/libcomps_git.bb
index e69bf6772..ff6820851 100644
--- a/poky/meta/recipes-devtools/libcomps/libcomps_git.bb
+++ b/poky/meta/recipes-devtools/libcomps/libcomps_git.bb
@@ -6,10 +6,11 @@ SRC_URI = "git://github.com/rpm-software-management/libcomps.git \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
file://0002-Set-library-installation-path-correctly.patch \
file://0001-Make-__comps_objmrtree_all-static-inline.patch \
+ file://0001-Add-crc32.c-to-sources-list.patch \
"
-PV = "0.1.8+git${SRCPV}"
-SRCREV = "01a4759894cccff64d2561614a58281adf5ce859"
+PV = "0.1.10"
+SRCREV = "86a82fcd155c27092340d15a34f5c75c4da88243"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
new file mode 100644
index 000000000..7c8131b4b
--- /dev/null
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
@@ -0,0 +1,49 @@
+From 0d0155c4dd6c0b3305ea2ab0e10b0f84d024a6e1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 6 Nov 2018 13:54:43 +0100
+Subject: [PATCH] Add WITH_TESTS option
+
+This makes a dependency on cppunit optional.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ CMakeLists.txt | 3 +++
+ python/hawkey/CMakeLists.txt | 2 ++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b73a03d7..a9e0200f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,6 +36,7 @@ OPTION(WITH_MAN "Enables hawkey man page generation" ON)
+ OPTION(WITH_HTML "Enables hawkey HTML generation" ON)
+
+ OPTION(WITH_BINDINGS "Enables python/SWIG bindings" ON)
++OPTION(WITH_TESTS "Enables unit tests" ON)
+
+ OPTION (ENABLE_SOLV_URPMREORDER "Build with support for URPM-like solution reordering?" OFF)
+ option (ENABLE_RHSM_SUPPORT "Build with Red Hat Subscription Manager support?" OFF)
+@@ -122,8 +123,10 @@ IF (WITH_BINDINGS)
+ # ADD_SUBDIRECTORY (bindings/perl)
+ ADD_SUBDIRECTORY (bindings/python)
+ ENDIF()
++IF (WITH_TESTS)
+ ENABLE_TESTING()
+ ADD_SUBDIRECTORY (tests)
++ENDIF()
+ IF (WITH_BINDINGS)
+ ADD_SUBDIRECTORY (python/hawkey)
+ ADD_SUBDIRECTORY (docs/hawkey)
+diff --git a/python/hawkey/CMakeLists.txt b/python/hawkey/CMakeLists.txt
+index 3c0b3c0c..31466ed9 100644
+--- a/python/hawkey/CMakeLists.txt
++++ b/python/hawkey/CMakeLists.txt
+@@ -49,4 +49,6 @@ TARGET_LINK_LIBRARIES(_hawkeymodule ${PYTHON_LIBRARY})
+ INSTALL(FILES __init__.py DESTINATION ${PYTHON_INSTALL_DIR}/hawkey)
+ INSTALL(TARGETS _hawkeymodule LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/hawkey)
+
++IF (WITH_TESTS)
+ ADD_SUBDIRECTORY(tests)
++ENDIF()
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
index cbd0362c8..246db3415 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
@@ -1,7 +1,7 @@
-From 2bf0666544293dcfac2f67b678e24353acdcd4e7 Mon Sep 17 00:00:00 2001
+From c139a6c929cff93dbb9b8279e97263fc9e055727 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 7 Feb 2017 12:16:03 +0200
-Subject: [PATCH 2/2] Get parameters for both libsolv and libsolvext (libdnf is
+Subject: [PATCH] Get parameters for both libsolv and libsolvext (libdnf is
using both)
@@ -13,18 +13,15 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ca280f3..6ab9827 100644
+index cd91f08..6422534 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -29,7 +29,7 @@ find_package (PkgConfig REQUIRED)
- SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+@@ -46,7 +46,7 @@ endif(APPLE)
PKG_CHECK_MODULES(GLIB gio-unix-2.0>=2.46.0 REQUIRED)
+ pkg_check_modules(SMARTCOLS REQUIRED smartcols)
FIND_LIBRARY (RPMDB_LIBRARY NAMES rpmdb)
-PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv)
+PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv libsolvext)
set(LIBSOLV_LIBRARY ${LIBSOLV_LIBRARIES})
if (ENABLE_RHSM_SUPPORT)
- pkg_check_modules (RHSM REQUIRED librhsm)
---
-2.14.2
-
+ pkg_check_modules (RHSM REQUIRED librhsm>=0.0.3)
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch
new file mode 100644
index 000000000..62de78482
--- /dev/null
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch
@@ -0,0 +1,65 @@
+From ccc89ff0c1f8e55a4a22444d051925408f265df1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Jan 2019 10:32:11 -0800
+Subject: [PATCH] include missing <string> and errno.h headers
+
+This is unearthed when compiling with clang/libc++
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/677]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libdnf/conf/ConfigParser.hpp | 1 +
+ libdnf/module/modulemd/ModuleProfile.hpp | 1 +
+ libdnf/sack/changelog.hpp | 1 +
+ libdnf/utils/smartcols/Cell.hpp | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/libdnf/conf/ConfigParser.hpp b/libdnf/conf/ConfigParser.hpp
+index 97f25500..2a3851fa 100644
+--- a/libdnf/conf/ConfigParser.hpp
++++ b/libdnf/conf/ConfigParser.hpp
+@@ -23,6 +23,7 @@
+
+ #include <map>
+ #include <stdexcept>
++#include <string>
+ #include <utility>
+
+ namespace libdnf {
+diff --git a/libdnf/module/modulemd/ModuleProfile.hpp b/libdnf/module/modulemd/ModuleProfile.hpp
+index ab018deb..8d996ff4 100644
+--- a/libdnf/module/modulemd/ModuleProfile.hpp
++++ b/libdnf/module/modulemd/ModuleProfile.hpp
+@@ -23,6 +23,7 @@
+
+
+ #include <memory>
++#include <string>
+ #include <vector>
+
+ #include <modulemd/modulemd.h>
+diff --git a/libdnf/sack/changelog.hpp b/libdnf/sack/changelog.hpp
+index a3d3fc44..d830c414 100644
+--- a/libdnf/sack/changelog.hpp
++++ b/libdnf/sack/changelog.hpp
+@@ -23,6 +23,7 @@
+ #define __CHANGELOG_HPP
+
+ #include <ctime>
++#include <string>
+
+ namespace libdnf {
+
+diff --git a/libdnf/utils/smartcols/Cell.hpp b/libdnf/utils/smartcols/Cell.hpp
+index 2e811dee..b90f0050 100644
+--- a/libdnf/utils/smartcols/Cell.hpp
++++ b/libdnf/utils/smartcols/Cell.hpp
+@@ -22,6 +22,7 @@
+ #define LIBDNF_CELL_HPP
+
+ #include <libsmartcols/libsmartcols.h>
++#include <cerrno>
+ #include <string>
+ #include <stdexcept>
+
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch
deleted file mode 100644
index 7eecc3d05..000000000
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c8211ad99ccaa4af4a75e0ba639527267fcfd69e Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 30 Dec 2016 18:17:19 +0200
-Subject: [PATCH 2/4] Prefix sysroot path to introspection tools path.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- libdnf/CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libdnf/CMakeLists.txt b/libdnf/CMakeLists.txt
-index 63f07bf..837792b 100644
---- a/libdnf/CMakeLists.txt
-+++ b/libdnf/CMakeLists.txt
-@@ -133,7 +133,7 @@ if (GOBJECT_INTROSPECTION_FOUND)
- set(GIR_TYPELIB "${GIR_PREFIX}.typelib")
-
- add_custom_command(OUTPUT ${GIR_XML}
-- COMMAND env CFLAGS=${CMAKE_C_FLAGS} ${GOBJECT_INTROSPECTION_1.0_G_IR_SCANNER}
-+ COMMAND env CFLAGS=${CMAKE_C_FLAGS} $ENV{PKG_CONFIG_SYSROOT_DIR}${GOBJECT_INTROSPECTION_1.0_G_IR_SCANNER}
- --namespace=Dnf
- --nsversion=${DNF_SO_VERSION}.0
- --library-path=${CMAKE_CURRENT_BINARY_DIR}
-@@ -153,7 +153,7 @@ if (GOBJECT_INTROSPECTION_FOUND)
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-
- add_custom_command(OUTPUT ${GIR_TYPELIB}
-- COMMAND ${GOBJECT_INTROSPECTION_1.0_G_IR_COMPILER}
-+ COMMAND $ENV{PKG_CONFIG_SYSROOT_DIR}${GOBJECT_INTROSPECTION_1.0_G_IR_COMPILER}
- -o ${GIR_TYPELIB}
- ${GIR_XML}
- DEPENDS ${GIR_XML}
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch
deleted file mode 100644
index 81264094e..000000000
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0003-Set-the-library-installation-directory-correctly.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8d29879fe3606c78769c1bcdddf0bcfc7191c710 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 30 Dec 2016 18:20:01 +0200
-Subject: [PATCH 3/4] Set the library installation directory correctly.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- CMakeLists.txt | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d35f0d7..8edb627 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -62,7 +62,9 @@ ADD_DEFINITIONS(-DPACKAGE_VERSION=\\"${LIBDNF_VERSION}\\")
- IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
- SET (LIB_SUFFIX "64")
- ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
--SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
-+#SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
-+SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
-+
-
- ADD_SUBDIRECTORY (libdnf)
- ENABLE_TESTING()
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
index 6cf48a49f..80b1ed7bf 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
@@ -1,7 +1,7 @@
-From bcea5c5063a2d5f07dbe6f40aee30370fc4ba656 Mon Sep 17 00:00:00 2001
+From 2bcd0b9f6310bacdc554e077e85319a5e90e5ce0 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 30 Dec 2016 18:24:50 +0200
-Subject: [PATCH 1/2] Set libsolv variables with pkg-config (cmake's own module
+Subject: [PATCH] Set libsolv variables with pkg-config (cmake's own module
doesn't work properly).
@@ -13,19 +13,16 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8875bbf..ca280f3 100644
+index 0b405cb..cd91f08 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -29,7 +29,8 @@ find_package (PkgConfig REQUIRED)
- SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+@@ -46,7 +46,8 @@ endif(APPLE)
PKG_CHECK_MODULES(GLIB gio-unix-2.0>=2.46.0 REQUIRED)
+ pkg_check_modules(SMARTCOLS REQUIRED smartcols)
FIND_LIBRARY (RPMDB_LIBRARY NAMES rpmdb)
--find_package (LibSolv 0.6.21 REQUIRED COMPONENTS ext)
+-find_package (LibSolv 0.6.30 REQUIRED COMPONENTS ext)
+PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv)
+set(LIBSOLV_LIBRARY ${LIBSOLV_LIBRARIES})
if (ENABLE_RHSM_SUPPORT)
- pkg_check_modules (RHSM REQUIRED librhsm)
+ pkg_check_modules (RHSM REQUIRED librhsm>=0.0.3)
include_directories (${RHSM_INCLUDE_DIRS})
---
-2.14.2
-
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.11.1.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.11.1.bb
deleted file mode 100644
index 4fc1d6def..000000000
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.11.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Library providing simplified C and Python API to libsolv"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://github.com/rpm-software-management/libdnf \
- file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \
- file://0002-Prefix-sysroot-path-to-introspection-tools-path.patch \
- file://0003-Set-the-library-installation-directory-correctly.patch \
- file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
- file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
- "
-
-SRCREV = "60f979bd8db651229c559c1412f1eb880257127d"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc"
-
-inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base
-
-EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF -DPYTHON_DESIRED=3 \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \
- "
-EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF"
-EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb
new file mode 100644
index 000000000..9c2247c23
--- /dev/null
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Library providing simplified C and Python API to libsolv"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/rpm-software-management/libdnf \
+ file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \
+ file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
+ file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
+ file://0001-Add-WITH_TESTS-option.patch \
+ file://0001-include-missing-string-and-errno.h-headers.patch \
+ "
+
+SRCREV = "bd23204aa83d10e3d293a9f2d496cba6070f6a4d"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native"
+
+inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base
+
+EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF -DPYTHON_DESIRED=3 \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \
+ -DWITH_TESTS=OFF \
+ "
+EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF"
+EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
new file mode 100644
index 000000000..2598c177c
--- /dev/null
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
@@ -0,0 +1,22 @@
+From 74ea6a665d0f3417e75f1d3d02f27a12f128ec70 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 6 Nov 2018 13:41:29 +0100
+Subject: [PATCH] spec_tmpl.sh: use /bin/sh, not /usr/bin/sh
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ spec_tmpl.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/spec_tmpl.sh b/spec_tmpl.sh
+index 14e895a..fc80fc6 100755
+--- a/spec_tmpl.sh
++++ b/spec_tmpl.sh
+@@ -1,4 +1,4 @@
+-#!/usr/bin/sh
++#!/bin/sh
+
+ version=$1
+ libmodulemd_v1_version=$2
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch
new file mode 100644
index 000000000..a3e62bf52
--- /dev/null
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch
@@ -0,0 +1,67 @@
+From b77c9c3d07430b014b2d1bff42027f483c81f15a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 6 Nov 2018 13:43:00 +0100
+Subject: [PATCH] modulemd/v[12]/meson.build: do not generate gtkdoc or python
+ bindings
+
+All of these really need a configuration option.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ meson.build | 3 +--
+ modulemd/v1/meson.build | 8 --------
+ modulemd/v2/meson.build | 8 --------
+ 3 files changed, 1 insertion(+), 18 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 228bd34..a1e60bb 100644
+--- a/meson.build
++++ b/meson.build
+@@ -52,7 +52,6 @@ gnome = import('gnome')
+ pkg = import('pkgconfig')
+ gobject = dependency('gobject-2.0')
+ yaml = dependency('yaml-0.1')
+-gtkdoc = dependency('gtk-doc')
+
+ sh = find_program('sh')
+ sed = find_program('sed')
+@@ -110,4 +109,4 @@ configure_file(
+ )
+
+ subdir('modulemd')
+-subdir('bindings/python')
++
+diff --git a/modulemd/v1/meson.build b/modulemd/v1/meson.build
+index 74db89a..4d54e69 100644
+--- a/modulemd/v1/meson.build
++++ b/modulemd/v1/meson.build
+@@ -341,11 +341,3 @@ configure_file(
+ configuration : xcdata
+ )
+
+-gnome.gtkdoc(
+- 'modulemd-1.0',
+- install_dir: 'modulemd-1.0',
+- src_dir : './modulemd/v1',
+- main_xml : 'modulemd-v1-docs.xml',
+- install : true,
+-)
+-
+diff --git a/modulemd/v2/meson.build b/modulemd/v2/meson.build
+index 7b94e0c..c5f72b9 100644
+--- a/modulemd/v2/meson.build
++++ b/modulemd/v2/meson.build
+@@ -530,11 +530,3 @@ configure_file(
+ configuration : xcdata
+ )
+
+-gnome.gtkdoc(
+- 'modulemd-2.0',
+- install_dir: 'modulemd-2.0',
+- src_dir : './modulemd/v2',
+- main_xml : 'modulemd-v2-docs.xml',
+- install : true,
+-)
+-
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
new file mode 100644
index 000000000..87e92114c
--- /dev/null
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -0,0 +1,30 @@
+SUMMARY = "C Library for manipulating module metadata files"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=25a3927bff3ee4f5b21bcb0ed3fcd6bb"
+
+SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \
+ file://0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch \
+ file://0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch \
+ "
+
+PV = "2.1.0"
+SRCREV = "072e6ee791fe7822a6d423bdac7e4a5cbb118bce"
+
+S = "${WORKDIR}/git"
+
+inherit meson gobject-introspection
+
+EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false"
+
+DEPENDS += "glib-2.0 libyaml glib-2.0-native"
+
+BBCLASSEXTEND = "native nativesdk"
+
+GI_ENABLE_FLAG = "-Dskip_introspection=false"
+GI_DISABLE_FLAG = "-Dskip_introspection=true"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+EXTRA_OEMESON_append_class-native = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch b/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
index d69deb511..b61f0c932 100644
--- a/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
+++ b/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch
@@ -1,8 +1,7 @@
-From 5b6849d9d7e030c3a521b5245d86f853b0271a61 Mon Sep 17 00:00:00 2001
+From b08a3b71e716dd0485ef51036d32e4c304fb4e67 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 30 Dec 2016 18:05:36 +0200
-Subject: [PATCH 1/2] Do not try to obtain PYTHON_INSTALL_DIR by running
- python.
+Subject: [PATCH] Do not try to obtain PYTHON_INSTALL_DIR by running python.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
@@ -13,12 +12,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/librepo/python/python2/CMakeLists.txt b/librepo/python/python2/CMakeLists.txt
-index 5ffbd62..90d3c22 100644
+index a0f1f9a..1665079 100644
--- a/librepo/python/python2/CMakeLists.txt
+++ b/librepo/python/python2/CMakeLists.txt
-@@ -1,11 +1,11 @@
- FIND_PACKAGE (PythonLibs 2 )
- FIND_PACKAGE (PythonInterp 2 REQUIRED)
+@@ -1,9 +1,9 @@
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "
-from sys import stdout
-from distutils import sysconfig
@@ -35,13 +32,10 @@ index 5ffbd62..90d3c22 100644
MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
diff --git a/librepo/python/python3/CMakeLists.txt b/librepo/python/python3/CMakeLists.txt
-index 47559f7..b39adc2 100644
+index 52ba44e..da51e10 100644
--- a/librepo/python/python3/CMakeLists.txt
+++ b/librepo/python/python3/CMakeLists.txt
-@@ -10,12 +10,12 @@ message("--- ${PYTHON_INCLUDE_DIR}")
-
- FIND_PACKAGE(PythonLibs 3.0)
- FIND_PACKAGE(PythonInterp 3.0 REQUIRED)
+@@ -1,9 +1,9 @@
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "
-from sys import stdout
-from distutils import sysconfig
@@ -57,6 +51,3 @@ index 47559f7..b39adc2 100644
INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
MESSAGE(STATUS "Python3 install dir is ${PYTHON_INSTALL_DIR}")
---
-2.14.1
-
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch b/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
index f7d7ab3a2..73902e5f5 100644
--- a/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
+++ b/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
@@ -1,29 +1,27 @@
-From a36be8192615e2a1fb5a5856d44565277f15583b Mon Sep 17 00:00:00 2001
+From f5a1dfe4c87c228165bc25e7fe464120d8139a3d Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 30 Dec 2016 18:23:27 +0200
-Subject: [PATCH 4/4] Set gpgme variables with pkg-config, not with cmake
- module (which doesn't work properly)
+Subject: [PATCH] Set gpgme variables with pkg-config, not with cmake module
+ (which doesn't work properly)
Upstream-Status: Inappropriate [gpgme upstream does not have pkg-config support and is not interested in it]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
CMakeLists.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ef07d2d..f1fa09b 100644
+index e949dbe..c954b2e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -31,7 +31,8 @@ PKG_CHECK_MODULES(GLIB2 glib-2.0 REQUIRED)
PKG_SEARCH_MODULE(LIBCRYPTO REQUIRED libcrypto openssl)
- FIND_PACKAGE(EXPAT REQUIRED)
+ PKG_CHECK_MODULES(LIBXML2 libxml-2.0 REQUIRED)
FIND_PACKAGE(CURL REQUIRED)
-FIND_PACKAGE(Gpgme REQUIRED)
+PKG_CHECK_MODULES(GPGME gpgme REQUIRED)
+set(GPGME_VANILLA_LIBRARIES ${GPGME_LIBRARIES})
- FIND_PACKAGE(Xattr REQUIRED)
- INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS})
---
-2.11.0
-
+
+ IF (WITH_ZCHUNK)
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.8.1.bb b/poky/meta/recipes-devtools/librepo/librepo_1.8.1.bb
deleted file mode 100644
index 456988558..000000000
--- a/poky/meta/recipes-devtools/librepo/librepo_1.8.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = " A library providing C and Python (libcURL like) API for downloading linux repository metadata and packages."
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://github.com/rpm-software-management/librepo.git \
- file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \
- file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
- "
-
-SRCREV = "7b9b7bf388f3f059529c6f50c40b30919fef30f9"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "curl expat glib-2.0 openssl attr gpgme"
-
-inherit cmake distutils3-base pkgconfig
-
-EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb b/poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb
new file mode 100644
index 000000000..c4d6c163e
--- /dev/null
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = " A library providing C and Python (libcURL like) API for downloading linux repository metadata and packages."
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/rpm-software-management/librepo.git \
+ file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \
+ file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
+ "
+
+SRCREV = "928c2d9c66f0d10477b8c9d1192785b88e2b1155"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2"
+
+inherit cmake distutils3-base pkgconfig
+
+EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DWITH_ZCHUNK=OFF"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
index f307a1075..8e17b56d4 100644
--- a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
+++ b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
@@ -20,6 +20,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
file://nohardcodepaths.patch \
file://unwind-opt-parsing.patch \
file://0001-libtool-Fix-support-for-NIOS2-processor.patch \
+ file://0001-libtool-Check-for-static-libs-for-internal-compiler-.patch \
"
SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e"
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0001-libtool-Check-for-static-libs-for-internal-compiler-.patch b/poky/meta/recipes-devtools/libtool/libtool/0001-libtool-Check-for-static-libs-for-internal-compiler-.patch
new file mode 100644
index 000000000..8c7c39feb
--- /dev/null
+++ b/poky/meta/recipes-devtools/libtool/libtool/0001-libtool-Check-for-static-libs-for-internal-compiler-.patch
@@ -0,0 +1,37 @@
+From 40a2da75e6d95cc7c498ebda95ab19ae0db2ebfb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Jan 2019 12:54:26 -0800
+Subject: [PATCH] libtool: Check for static libs for internal compiler
+ libraries
+
+Libtool checks only for libraries linked as -l* when trying to
+find internal compiler libraries. Clang, however uses the absolute
+path to link its internal libraries e.g. compiler_rt. This patch
+handles clang's statically linked libraries when finding internal
+compiler libraries.
+
+https://crbug.com/749263
+
+Upstream-Status: Submitted [https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ m4/libtool.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index d0389a0..9619c57 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -7536,7 +7536,7 @@ if AC_TRY_EVAL(ac_compile); then
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $prev$p in
+
+- -L* | -R* | -l*)
++ -L* | -R* | -l* | */libclang_rt.*.a)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test x-L = "$p" ||
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
index 209764c8b..6dbbced7e 100644
--- a/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ b/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
@@ -1,24 +1,22 @@
-From 96558c4f25d5132936014f6f2d6252cfdfdf478a Mon Sep 17 00:00:00 2001
+From 905cac8934fb17e20416a4df712a566e757471a3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 21 May 2016 00:33:20 +0000
-Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they
- are macros
+Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they are macros
musl defines some functions as macros and not inline functions
if this is the case then make sure to undefine them
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
-Upstream-Status: Pending
-
include/llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def
-index a461ed813b9..f9fd9faeee0 100644
+index 518a85ee1a0..6b4ead4efc6 100644
--- a/include/llvm/Analysis/TargetLibraryInfo.def
+++ b/include/llvm/Analysis/TargetLibraryInfo.def
-@@ -665,6 +665,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
+@@ -731,6 +731,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
TLI_DEFINE_ENUM_INTERNAL(fopen)
TLI_DEFINE_STRING_INTERNAL("fopen")
/// FILE *fopen64(const char *filename, const char *opentype)
@@ -27,8 +25,8 @@ index a461ed813b9..f9fd9faeee0 100644
+#endif
TLI_DEFINE_ENUM_INTERNAL(fopen64)
TLI_DEFINE_STRING_INTERNAL("fopen64")
- /// int fprintf(FILE *stream, const char *format, ...);
-@@ -700,6 +703,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
+ /// int fork();
+@@ -778,6 +781,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
/// int fseeko(FILE *stream, off_t offset, int whence);
TLI_DEFINE_ENUM_INTERNAL(fseeko)
TLI_DEFINE_STRING_INTERNAL("fseeko")
@@ -38,7 +36,7 @@ index a461ed813b9..f9fd9faeee0 100644
/// int fseeko64(FILE *stream, off64_t offset, int whence)
TLI_DEFINE_ENUM_INTERNAL(fseeko64)
TLI_DEFINE_STRING_INTERNAL("fseeko64")
-@@ -710,6 +716,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
+@@ -788,6 +794,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
TLI_DEFINE_ENUM_INTERNAL(fstat)
TLI_DEFINE_STRING_INTERNAL("fstat")
/// int fstat64(int filedes, struct stat64 *buf)
@@ -48,7 +46,7 @@ index a461ed813b9..f9fd9faeee0 100644
TLI_DEFINE_ENUM_INTERNAL(fstat64)
TLI_DEFINE_STRING_INTERNAL("fstat64")
/// int fstatvfs(int fildes, struct statvfs *buf);
-@@ -725,6 +734,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
+@@ -803,6 +812,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
TLI_DEFINE_ENUM_INTERNAL(ftello)
TLI_DEFINE_STRING_INTERNAL("ftello")
/// off64_t ftello64(FILE *stream)
@@ -58,7 +56,7 @@ index a461ed813b9..f9fd9faeee0 100644
TLI_DEFINE_ENUM_INTERNAL(ftello64)
TLI_DEFINE_STRING_INTERNAL("ftello64")
/// int ftrylockfile(FILE *file);
-@@ -845,6 +857,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
+@@ -929,6 +941,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
TLI_DEFINE_ENUM_INTERNAL(lstat)
TLI_DEFINE_STRING_INTERNAL("lstat")
/// int lstat64(const char *path, struct stat64 *buf);
@@ -68,7 +66,7 @@ index a461ed813b9..f9fd9faeee0 100644
TLI_DEFINE_ENUM_INTERNAL(lstat64)
TLI_DEFINE_STRING_INTERNAL("lstat64")
/// void *malloc(size_t size);
-@@ -1064,6 +1079,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
+@@ -1154,6 +1169,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
TLI_DEFINE_ENUM_INTERNAL(stat)
TLI_DEFINE_STRING_INTERNAL("stat")
/// int stat64(const char *path, struct stat64 *buf);
@@ -78,7 +76,7 @@ index a461ed813b9..f9fd9faeee0 100644
TLI_DEFINE_ENUM_INTERNAL(stat64)
TLI_DEFINE_STRING_INTERNAL("stat64")
/// int statvfs(const char *path, struct statvfs *buf);
-@@ -1193,6 +1211,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
+@@ -1283,6 +1301,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
TLI_DEFINE_ENUM_INTERNAL(tmpfile)
TLI_DEFINE_STRING_INTERNAL("tmpfile")
/// FILE *tmpfile64(void)
@@ -89,5 +87,5 @@ index a461ed813b9..f9fd9faeee0 100644
TLI_DEFINE_STRING_INTERNAL("tmpfile64")
/// int toascii(int c);
--
-2.16.1
+2.20.1
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch b/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
index 6a9283323..1369bcf78 100644
--- a/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
+++ b/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
@@ -1,4 +1,4 @@
-From aeccf16eaccdd80e4d5ecaa51673ce4b2bac1130 Mon Sep 17 00:00:00 2001
+From 0570fe02c07244a8724c1e6c0437f893c8aa8e93 Mon Sep 17 00:00:00 2001
From: Martin Kelly <mkelly@xevo.com>
Date: Fri, 19 May 2017 00:22:57 -0700
Subject: [PATCH 2/2] llvm: allow env override of exe path
@@ -16,16 +16,16 @@ Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- tools/llvm-config/llvm-config.cpp | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
+ tools/llvm-config/llvm-config.cpp | 35 ++++++++++++++++++++++---------
+ 1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 08b096afb05..360cc5abf4e 100644
+index bec89fef98c..91b4d6e4c43 100644
--- a/tools/llvm-config/llvm-config.cpp
+++ b/tools/llvm-config/llvm-config.cpp
-@@ -225,6 +225,13 @@ Typical components:\n\
+@@ -226,6 +226,13 @@ Typical components:\n\
- /// \brief Compute the path to the main executable.
+ /// Compute the path to the main executable.
std::string GetExecutablePath(const char *Argv0) {
+ // Hack for Yocto: we need to override the root path when we are using
+ // llvm-config from within a target sysroot.
@@ -37,7 +37,25 @@ index 08b096afb05..360cc5abf4e 100644
// This just needs to be some symbol in the binary; C++ doesn't
// allow taking the address of ::main however.
void *P = (void *)(intptr_t)GetExecutablePath;
-@@ -306,12 +313,20 @@ int main(int argc, char **argv) {
+@@ -284,7 +291,7 @@ int main(int argc, char **argv) {
+ // bin dir).
+ sys::fs::make_absolute(CurrentPath);
+ CurrentExecPrefix =
+- sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
++ sys::path::parent_path(sys::path::parent_path(sys::path::parent_path(CurrentPath))).str();
+
+ // Check to see if we are inside a development tree by comparing to possible
+ // locations (prefix style or CMake style).
+@@ -293,7 +300,7 @@ int main(int argc, char **argv) {
+ DevelopmentTreeLayout = CMakeStyle;
+ ActiveObjRoot = LLVM_OBJ_ROOT;
+ } else if (sys::fs::equivalent(CurrentExecPrefix,
+- Twine(LLVM_OBJ_ROOT) + "/bin")) {
++ Twine(LLVM_OBJ_ROOT) + "/bin/llvm8.0.0")) {
+ IsInDevelopmentTree = true;
+ DevelopmentTreeLayout = CMakeBuildModeStyle;
+ ActiveObjRoot = LLVM_OBJ_ROOT;
+@@ -307,37 +314,45 @@ int main(int argc, char **argv) {
std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
ActiveCMakeDir;
std::string ActiveIncludeOption;
@@ -45,11 +63,12 @@ index 08b096afb05..360cc5abf4e 100644
+ // llvm-config from within a target sysroot.
+ std::string Multilibdir = std::getenv("YOCTO_ALTERNATE_MULTILIB_NAME");
+ if (Multilibdir.empty()) {
-+ Multilibdir = "/lib" LLVM_LIBDIR_SUFFIX;
++ Multilibdir = "/lib/llvm8.0.0" LLVM_LIBDIR_SUFFIX;
+ }
+
if (IsInDevelopmentTree) {
- ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
+- ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
++ ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include/llvm8.0.0";
ActivePrefix = CurrentExecPrefix;
// CMake organizes the products differently than a normal prefix style
@@ -57,8 +76,31 @@ index 08b096afb05..360cc5abf4e 100644
+
switch (DevelopmentTreeLayout) {
case CMakeStyle:
- ActiveBinDir = ActiveObjRoot + "/bin";
-@@ -336,7 +351,7 @@ int main(int argc, char **argv) {
+- ActiveBinDir = ActiveObjRoot + "/bin";
+- ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX;
++ ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0.0";
++ ActiveLibDir = ActiveObjRoot + "/lib/llvm8.0.0" + LLVM_LIBDIR_SUFFIX;
+ ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
+ break;
+ case CMakeBuildModeStyle:
+ ActivePrefix = ActiveObjRoot;
+- ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode;
++ ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0.0/" + build_mode;
+ ActiveLibDir =
+- ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
++ ActiveObjRoot + "/lib/llvm8.0.0" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
+ ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
+ break;
+ }
+
+ // We need to include files from both the source and object trees.
+ ActiveIncludeOption =
+- ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
++ ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include/llvm8.0.0");
+ } else {
+ ActivePrefix = CurrentExecPrefix;
+- ActiveIncludeDir = ActivePrefix + "/include";
++ ActiveIncludeDir = ActivePrefix + "/include/llvm8.0.0";
SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
sys::fs::make_absolute(ActivePrefix, path);
ActiveBinDir = path.str();
@@ -68,5 +110,5 @@ index 08b096afb05..360cc5abf4e 100644
ActiveIncludeOption = "-I" + ActiveIncludeDir;
}
--
-2.18.0
+2.20.1
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index 727876303..0067635c2 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -6,41 +6,46 @@ HOMEPAGE = "http://llvm.org"
LICENSE = "NCSA"
SECTION = "devel"
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
DEPENDS = "libffi libxml2 zlib ninja-native llvm-native"
RDEPENDS_${PN}_append_class-target = " ncurses-terminfo"
-inherit perlnative pythonnative cmake pkgconfig
+inherit cmake pkgconfig
PROVIDES += "llvm${PV}"
LLVM_RELEASE = "${PV}"
LLVM_DIR = "llvm${LLVM_RELEASE}"
-SRCREV = "5136df4d089a086b70d452160ad5451861269498"
-PV = "6.0"
-BRANCH = "release_60"
-PATCH_VERSION = "1"
-SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};protocol=http \
+SRCREV = "d2298e74235598f15594fe2c99bbac870a507c59"
+
+BRANCH = "release/${MAJOR_VERSION}.x"
+MAJOR_VERSION = "8"
+MINOR_VERSION = "0"
+PATCH_VERSION = "0"
+SOLIBVER = "1"
+PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}"
+SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \
file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
file://0002-llvm-allow-env-override-of-exe-path.patch \
"
-UPSTREAM_CHECK_COMMITS = "1"
-S = "${WORKDIR}/git"
+
+S = "${WORKDIR}/git/llvm"
LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
+
def get_llvm_arch(bb, d, arch_var):
import re
a = d.getVar(arch_var)
- if re.match('(i.86|athlon|x86.64)$', a): return 'X86'
- elif re.match('arm$', a): return 'ARM'
- elif re.match('armeb$', a): return 'ARM'
- elif re.match('aarch64$', a): return 'AArch64'
- elif re.match('aarch64_be$', a): return 'AArch64'
- elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
- elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC'
+ if re.match(r'(i.86|athlon|x86.64)$', a): return 'X86'
+ elif re.match(r'arm$', a): return 'ARM'
+ elif re.match(r'armeb$', a): return 'ARM'
+ elif re.match(r'aarch64$', a): return 'AArch64'
+ elif re.match(r'aarch64_be$', a): return 'AArch64'
+ elif re.match(r'mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
+ elif re.match(r'p(pc|owerpc)(|64)', a): return 'PowerPC'
else:
raise bb.parse.SkipRecipe("Cannot map '%s' to a supported LLVM architecture" % a)
@@ -61,9 +66,12 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_BINDINGS_LIST='' \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_ENABLE_FFI=ON \
+ -DLLVM_ENABLE_RTTI=ON \
-DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
-DLLVM_OPTIMIZED_TABLEGEN=ON \
-DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS}' \
+ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
+ -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python2 \
-G Ninja"
EXTRA_OECMAKE_append_class-target = "\
@@ -78,6 +86,8 @@ EXTRA_OECMAKE_append_class-nativesdk = "\
-DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \
"
+CXXFLAGS_append_class-target_powerpc = " -mlongcall"
+
do_configure_prepend() {
# Fix paths in llvm-config
sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
@@ -117,71 +127,54 @@ do_install() {
# Remove unnecessary cmake files
rm -rf ${D}${libdir}/${LLVM_DIR}/cmake
- ln -s ${LLVM_DIR}/libLLVM-${PV}${SOLIBSDEV} ${D}${libdir}/libLLVM-${PV}${SOLIBSDEV}
+ ln -s ${LLVM_DIR}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV} ${D}${libdir}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV}
# We'll have to delete the libLLVM.so due to multiple reasons...
rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so
rm -rf ${D}${libdir}/${LLVM_DIR}/libLTO.so
}
+
do_install_class-native() {
install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
- install -D -m 0755 ${B}/lib/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so
+ install -D -m 0755 ${B}/lib/libLLVM-${MAJOR_VERSION}.so ${D}${libdir}/libLLVM-${MAJOR_VERSION}.so
}
-PACKAGES += "${PN}-bugpointpasses ${PN}-llvmhello"
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-staticdev = "1"
-FILES_${PN} = ""
-FILES_${PN}-staticdev = ""
-FILES_${PN}-dbg = " \
- ${bindir}/${LLVM_DIR}/.debug \
- ${libdir}/${LLVM_DIR}/.debug/BugpointPasses.so \
- ${libdir}/${LLVM_DIR}/.debug/LLVMHello.so \
- ${libdir}/${LLVM_DIR}/.debug/libLTO.so* \
- ${libdir}/${LLVM_DIR}/.debug/llvm-config \
- /usr/src/debug \
-"
+PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto"
-FILES_${PN}-dev = " \
- ${bindir}/${LLVM_DIR} \
- ${includedir}/${LLVM_DIR} \
- ${libdir}/${LLVM_DIR}/llvm-config \
-"
-
-RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello"
+RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks"
FILES_${PN}-bugpointpasses = "\
${libdir}/${LLVM_DIR}/BugpointPasses.so \
"
-FILES_${PN} += "\
+
+FILES_${PN}-libllvm = "\
+ ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.so \
+ ${libdir}/libLLVM-${MAJOR_VERSION}.so \
+"
+
+FILES_${PN}-liblto += "\
${libdir}/${LLVM_DIR}/libLTO.so.* \
"
+FILES_${PN}-liboptremarks += "\
+ ${libdir}/${LLVM_DIR}/libOptRemarks.so.* \
+"
+
FILES_${PN}-llvmhello = "\
${libdir}/${LLVM_DIR}/LLVMHello.so \
"
-PACKAGES_DYNAMIC = "^libllvm${LLVM_RELEASE}-.*$"
-NOAUTOPACKAGEDEBUG = "1"
-
-INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE}.${PATCH_VERSION} += "dev-so"
-INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so"
-INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm += "dev-so"
-
-python llvm_populate_packages() {
- libdir = bb.data.expand('${libdir}', d)
- libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d)
- split_dbg_packages = do_split_packages(d, libllvm_libdir+'/.debug', '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s-dbg', 'Split debug package for %s', allow_dirs=True)
- split_packages = do_split_packages(d, libdir, '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s', 'Split package for %s', allow_dirs=True, allow_links=True, recursive=True)
- split_staticdev_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True)
- if split_packages:
- pn = d.getVar('PN')
- d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages))
- d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages))
- d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages))
-}
+FILES_${PN}-dev += " \
+ ${libdir}/${LLVM_DIR}/llvm-config \
+ ${libdir}/${LLVM_DIR}/libOptRemarks.so \
+ ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}.so \
+"
+
+FILES_${PN}-staticdev += "\
+ ${libdir}/${LLVM_DIR}/*.a \
+"
-PACKAGESPLITFUNCS_prepend = "llvm_populate_packages "
+INSANE_SKIP_${PN}-libllvm += "dev-so"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index 61b239148..2d18f72c0 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -9,17 +9,20 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
file://0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch \
file://0001-Linker-rules-move-cross_args-in-front-of-output_args.patch \
file://0003-native_bindir.patch \
- file://gi-flags.patch \
- file://gtkdoc-flags.patch \
file://0001-python-module-do-not-manipulate-the-environment-when.patch \
file://disable-rpath-handling.patch \
+ file://0001-modules-windows-split-WINDRES-env-variable.patch \
+ file://0002-environment.py-detect-windows-also-if-the-system-str.patch \
+ file://cross-prop-default.patch \
+ file://many-cross.patch \
+ file://cross-libdir.patch \
"
-SRC_URI[sha256sum] = "92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb"
-SRC_URI[md5sum] = "31bda3519d8c0eb3438267268a78085e"
+SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd"
+SRC_URI[md5sum] = "0267b0871266056184c484792572c682"
SRC_URI_append_class-native = " \
- file://0002-Make-CPU-family-warnings-fatal.patch \
- file://0001-Support-building-allarch-recipes-again.patch \
+ file://0001-Make-CPU-family-warnings-fatal.patch \
+ file://0002-Support-building-allarch-recipes-again.patch \
"
UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
new file mode 100644
index 000000000..fbc3f5ad8
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -0,0 +1,36 @@
+From 2db829d865bb6464ac15dbb4a58c9a675e296866 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 3 Jul 2018 13:59:09 +0100
+Subject: [PATCH] Make CPU family warnings fatal
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+---
+ mesonbuild/environment.py | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index 2ccd31e..5fcf9df 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -265,9 +265,7 @@ def detect_cpu_family(compilers):
+ # below.
+
+ if trial not in known_cpu_families:
+- mlog.warning('Unknown CPU family {!r}, please report this at '
+- 'https://github.com/mesonbuild/meson/issues/new with the'
+- 'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial))
++ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
+
+ return trial
+
+@@ -1232,7 +1230,7 @@ class MachineInfo:
+
+ cpu_family = literal['cpu_family']
+ if cpu_family not in known_cpu_families:
+- mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % cpu_family)
++ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % cpu_family)
+
+ endian = literal['endian']
+ if endian not in ('little', 'big'):
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
deleted file mode 100644
index 96be104a5..000000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From d80d02a3ca6e21fa3d055c88c05234c2eb4db128 Mon Sep 17 00:00:00 2001
-From: Peter Kjellerstedt <pkj@axis.com>
-Date: Thu, 26 Jul 2018 16:32:49 +0200
-Subject: [PATCH] Support building allarch recipes again
-
-This registers "allarch" as a known CPU family.
-
-Upstream-Status: Inappropriate [OE specific]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- mesonbuild/environment.py | 1 +
- 1 file changed, 1 insertion(+)
-
-Index: meson-0.47.2/mesonbuild/environment.py
-===================================================================
---- meson-0.47.2.orig/mesonbuild/environment.py
-+++ meson-0.47.2/mesonbuild/environment.py
-@@ -75,6 +75,7 @@ from .compilers import (
- build_filename = 'meson.build'
-
- known_cpu_families = (
-+ 'allarch',
- 'aarch64',
- 'arm',
- 'e2k',
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
index 7ffd6c54c..11fd9ed3a 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 3ac4e58c5494bd7e603a325b5b5c2b8075849fee Mon Sep 17 00:00:00 2001
+From 1afbf5ccff56e582229c8f673f50aedf2b24117e Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 4 Aug 2017 16:16:41 +0300
Subject: [PATCH] gtkdoc: fix issues that arise when cross-compiling
@@ -16,70 +16,21 @@ Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- mesonbuild/modules/gnome.py | 18 +++++++++++++++---
- mesonbuild/scripts/gtkdochelper.py | 9 +++++++--
- 2 files changed, 22 insertions(+), 5 deletions(-)
+ mesonbuild/modules/gnome.py | 4 ++++
+ 1 file changed, 4 insertions(+)
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index cb69641..727eb6a 100644
+index bf49770..7c5a363 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
-@@ -792,6 +792,10 @@ This will become a hard error in the future.''')
+@@ -972,6 +972,10 @@ This will become a hard error in the future.''')
'--mode=' + mode]
if namespace:
args.append('--namespace=' + namespace)
+ gtkdoc_exe_wrapper = state.environment.cross_info.config["properties"].get('gtkdoc_exe_wrapper', None)
+ if gtkdoc_exe_wrapper is not None:
-+ args.append('--gtkdoc-exe-wrapper=' + gtkdoc_exe_wrapper)
++ args.append('--run=' + gtkdoc_exe_wrapper)
+
args += self._unpack_args('--htmlargs=', 'html_args', kwargs)
args += self._unpack_args('--scanargs=', 'scan_args', kwargs)
args += self._unpack_args('--scanobjsargs=', 'scanobjs_args', kwargs)
-diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
-index 948dc5a..9c5bd19 100644
---- a/mesonbuild/scripts/gtkdochelper.py
-+++ b/mesonbuild/scripts/gtkdochelper.py
-@@ -45,6 +45,7 @@ parser.add_argument('--ignore-headers', dest='ignore_headers', default='')
- parser.add_argument('--namespace', dest='namespace', default='')
- parser.add_argument('--mode', dest='mode', default='')
- parser.add_argument('--installdir', dest='install_dir')
-+parser.add_argument('--gtkdoc-exe-wrapper', dest='gtkdoc_exe_wrapper')
-
- def gtkdoc_run_check(cmd, cwd, library_paths=None):
- if library_paths is None:
-@@ -64,7 +65,7 @@ def gtkdoc_run_check(cmd, cwd, library_paths=None):
- # This preserves the order of messages.
- p, out = Popen_safe(cmd, cwd=cwd, env=env, stderr=subprocess.STDOUT)[0:2]
- if p.returncode != 0:
-- err_msg = ["{!r} failed with status {:d}".format(cmd[0], p.returncode)]
-+ err_msg = ["{!r} failed with status {:d}".format(cmd, p.returncode)]
- if out:
- err_msg.append(out)
- raise MesonException('\n'.join(err_msg))
-@@ -74,7 +75,7 @@ def gtkdoc_run_check(cmd, cwd, library_paths=None):
- def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
- main_file, module,
- html_args, scan_args, fixxref_args, mkdb_args,
-- gobject_typesfile, scanobjs_args, ld, cc, ldflags, cflags,
-+ gobject_typesfile, scanobjs_args, gtkdoc_exe_wrapper, ld, cc, ldflags, cflags,
- html_assets, content_files, ignore_headers, namespace,
- expand_content_files, mode):
- print("Building documentation for %s" % module)
-@@ -135,6 +136,9 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
- if gobject_typesfile:
- scanobjs_cmd = ['gtkdoc-scangobj'] + scanobjs_args + ['--types=' + gobject_typesfile,
- '--module=' + module,
-+ '--run=' + gtkdoc_exe_wrapper,
-+ '--cc=' + cc,
-+ '--ld=' + ld,
- '--cflags=' + cflags,
- '--ldflags=' + ldflags,
- '--cc=' + cc,
-@@ -238,6 +242,7 @@ def run(args):
- mkdbargs,
- options.gobject_typesfile,
- scanobjsargs,
-+ options.gtkdoc_exe_wrapper,
- options.ld,
- options.cc,
- options.ldflags,
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch b/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch
new file mode 100644
index 000000000..c334e6dd6
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch
@@ -0,0 +1,26 @@
+From 5293d0f5067b2aeefe9ce3c175c972de367589bc Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 13 Feb 2019 17:43:54 +0100
+Subject: [PATCH] modules/windows: split WINDRES env variable
+
+As it may contain not just the binary, but also the arguments to it.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/modules/windows.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
+index d185d89..dbaeb9b 100644
+--- a/mesonbuild/modules/windows.py
++++ b/mesonbuild/modules/windows.py
+@@ -56,7 +56,7 @@ class WindowsModule(ExtensionModule):
+ if 'WINDRES' in os.environ:
+ # Pick-up env var WINDRES if set. This is often used for
+ # specifying an arch-specific windres.
+- rescomp = ExternalProgram('windres', command=os.environ.get('WINDRES'), silent=True)
++ rescomp = ExternalProgram('windres', command=os.environ.get('WINDRES').split(), silent=True)
+
+ if not rescomp or not rescomp.found():
+ # Take windres from the config file after the environment, which is
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
index 607298540..bf715d1e9 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
@@ -1,4 +1,4 @@
-From 45426f06689a520fc47f81ee29b49d509f11ba58 Mon Sep 17 00:00:00 2001
+From 3cb2c811dc6d4890342afa5b709cd30cf7b8f3ca Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 19 Nov 2018 14:24:26 +0100
Subject: [PATCH] python module: do not manipulate the environment when calling
@@ -6,38 +6,38 @@ Subject: [PATCH] python module: do not manipulate the environment when calling
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
- mesonbuild/modules/python.py | 14 --------------
- 1 file changed, 14 deletions(-)
+ mesonbuild/modules/python.py | 12 ------------
+ 1 file changed, 12 deletions(-)
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
-index 1195d8a..df81da4 100644
+index 9cfbd6f..3ff687a 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
-@@ -67,26 +67,12 @@ class PythonDependency(ExternalDependency):
- if DependencyMethods.PKGCONFIG in self.methods and not python_holder.is_pypy:
- pkg_version = self.variables.get('LDVERSION') or self.version
- pkg_libdir = self.variables.get('LIBPC')
-- old_pkg_libdir = os.environ.get('PKG_CONFIG_LIBDIR')
-- old_pkg_path = os.environ.get('PKG_CONFIG_PATH')
+@@ -75,11 +75,6 @@ class PythonDependency(ExternalDependency):
+ old_pkg_libdir = os.environ.get('PKG_CONFIG_LIBDIR')
+ old_pkg_path = os.environ.get('PKG_CONFIG_PATH')
+
+- os.environ.pop('PKG_CONFIG_PATH', None)
-
-- os.environ.pop('PKG_CONFIG_PATH', None)
+- if pkg_libdir:
+- os.environ['PKG_CONFIG_LIBDIR'] = pkg_libdir
-
-- if pkg_libdir:
-- os.environ['PKG_CONFIG_LIBDIR'] = pkg_libdir
-
- try:
- self.pkgdep = PkgConfigDependency('python-{}'.format(pkg_version), environment, kwargs)
- except Exception:
- pass
+ try:
+ self.pkgdep = PkgConfigDependency('python-{}'.format(pkg_version), environment, kwargs)
+ mlog.debug('Found "python-{}" via pkgconfig lookup in LIBPC ({})'.format(pkg_version, pkg_libdir))
+@@ -88,13 +83,6 @@ class PythonDependency(ExternalDependency):
+ mlog.debug('"python-{}" could not be found in LIBPC ({})'.format(pkg_version, pkg_libdir))
+ mlog.debug(e)
-- if old_pkg_path is not None:
-- os.environ['PKG_CONFIG_PATH'] = old_pkg_path
+- if old_pkg_path is not None:
+- os.environ['PKG_CONFIG_PATH'] = old_pkg_path
-
-- if old_pkg_libdir is not None:
-- os.environ['PKG_CONFIG_LIBDIR'] = old_pkg_libdir
-- else:
-- os.environ.pop('PKG_CONFIG_LIBDIR', None)
+- if old_pkg_libdir is not None:
+- os.environ['PKG_CONFIG_LIBDIR'] = old_pkg_libdir
+- else:
+- os.environ.pop('PKG_CONFIG_LIBDIR', None)
+ else:
+ mlog.debug('"python-{}" could not be found in LIBPC ({}), this is likely due to a relocated python installation'.format(pkg_version, pkg_libdir))
- if self.pkgdep and self.pkgdep.found():
- self.compile_args = self.pkgdep.get_compile_args()
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch
deleted file mode 100644
index ca56a6a8b..000000000
--- a/poky/meta/recipes-devtools/meson/meson/0002-Make-CPU-family-warnings-fatal.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 2e8553fc01e62ebc4faa240bf20984a8a0ac7387 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 3 Jul 2018 13:59:09 +0100
-Subject: [PATCH] Make CPU family warnings fatal
-
-Upstream-Status: Inappropriate [OE specific]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- mesonbuild/environment.py | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index d29a77f..267acf9 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -239,9 +239,7 @@ def detect_cpu_family(compilers):
- return 'x86_64'
-
- if trial not in known_cpu_families:
-- mlog.warning('Unknown CPU family {!r}, please report this at '
-- 'https://github.com/mesonbuild/meson/issues/new with the'
-- 'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial))
-+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
-
- return trial
-
-@@ -1014,7 +1012,7 @@ class CrossBuildInfo:
- raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
-
- if entry == 'cpu_family' and res not in known_cpu_families:
-- mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % value)
-+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % value)
-
- if self.ok_type(res):
- self.config[s][entry] = res
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
new file mode 100644
index 000000000..81548cdfb
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -0,0 +1,26 @@
+From f8419d5f279f1fb9b5e7eead4f1579bce7cb0e4e Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <pkj@axis.com>
+Date: Thu, 26 Jul 2018 16:32:49 +0200
+Subject: [PATCH] Support building allarch recipes again
+
+This registers "allarch" as a known CPU family.
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
+---
+ mesonbuild/environment.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index 5fcf9df..b4fc0dc 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -72,6 +72,7 @@ from .compilers import (
+ build_filename = 'meson.build'
+
+ known_cpu_families = (
++ 'allarch',
+ 'aarch64',
+ 'arc',
+ 'arm',
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch b/poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch
new file mode 100644
index 000000000..1be5d6632
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch
@@ -0,0 +1,25 @@
+From 7bf4c2c02eb7fe1bf24b23e3ba2d7df36495e0aa Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 13 Feb 2019 17:45:09 +0100
+Subject: [PATCH] environment.py: detect windows also if the system string
+ contains 'mingw'
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/environment.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index b4fc0dc..845077e 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -1247,7 +1247,7 @@ class MachineInfo:
+ """
+ Machine is windows?
+ """
+- return self.system == 'windows'
++ return self.system == 'windows' or 'mingw' in self.system
+
+ def is_cygwin(self):
+ """
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch b/poky/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
index f32267d0c..61b26bb88 100644
--- a/poky/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
@@ -1,4 +1,4 @@
-From 0b860cb8a22ae876b6088939dbabca216bc29431 Mon Sep 17 00:00:00 2001
+From 9ccaed380780178c4dab3a681f652ac7cd27452d Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 4 Aug 2017 16:18:47 +0300
Subject: [PATCH] gobject-introspection: determine g-ir-scanner and
@@ -12,28 +12,29 @@ Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- mesonbuild/modules/gnome.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ mesonbuild/modules/gnome.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index b29bab9..dc4c401 100644
+index 7c5a363..0002498 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
-@@ -393,8 +393,6 @@ class GnomeModule(ExtensionModule):
- raise MesonException('Gir takes one argument')
+@@ -744,15 +744,15 @@ class GnomeModule(ExtensionModule):
if kwargs.get('install_dir'):
raise MesonException('install_dir is not supported with generate_gir(), see "install_dir_gir" and "install_dir_typelib"')
+
- giscanner = self.interpreter.find_program_impl('g-ir-scanner')
- gicompiler = self.interpreter.find_program_impl('g-ir-compiler')
- girtarget = args[0]
- while hasattr(girtarget, 'held_object'):
- girtarget = girtarget.held_object
-@@ -405,6 +403,8 @@ class GnomeModule(ExtensionModule):
- self.gir_dep = PkgConfigDependency('gobject-introspection-1.0',
- state.environment,
- {'native': True})
-+ giscanner = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {})
-+ gicompiler = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {})
- pkgargs = self.gir_dep.get_compile_args()
- except Exception:
- raise MesonException('gobject-introspection dependency was not found, gir cannot be generated.')
+-
+ girtargets = [self._unwrap_gir_target(arg, state) for arg in args]
+
+ if len(girtargets) > 1 and any([isinstance(el, build.Executable) for el in girtargets]):
+ raise MesonException('generate_gir only accepts a single argument when one of the arguments is an executable')
+
+ self.gir_dep, pkgargs = self._get_gir_dep(state)
++ giscanner = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {})
++ gicompiler = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {})
++
+
+ ns = kwargs.pop('namespace')
+ nsversion = kwargs.pop('nsversion')
diff --git a/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch b/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch
new file mode 100644
index 000000000..7395fdbda
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch
@@ -0,0 +1,35 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From ce24f0d6a9be22ba61d80cd254e0409de2eaffd7 Mon Sep 17 00:00:00 2001
+From: Jussi Pakkanen <jpakkane@gmail.com>
+Date: Thu, 27 Dec 2018 23:43:35 +0200
+Subject: [PATCH] Default libdir is "lib" when cross compiling. Closes #2535.
+
+---
+diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
+index ff810683..9ee23a69 100644
+--- a/mesonbuild/coredata.py
++++ b/mesonbuild/coredata.py
+@@ -298,6 +298,7 @@ class CoreData:
+ # Only to print a warning if it changes between Meson invocations.
+ self.pkgconf_envvar = os.environ.get('PKG_CONFIG_PATH', '')
+ self.config_files = self.__load_config_files(options.native_file)
++ self.libdir_cross_fixup()
+
+ @staticmethod
+ def __load_config_files(filenames):
+@@ -309,6 +310,13 @@ class CoreData:
+ for f in filenames]
+ return filenames
+
++ def libdir_cross_fixup(self):
++ # By default set libdir to "lib" when cross compiling since
++ # getting the "system default" is always wrong on multiarch
++ # platforms as it gets a value like lib/x86_64-linux-gnu.
++ if self.cross_files:
++ self.builtins['libdir'].value = 'lib'
++
+ def sanitize_prefix(self, prefix):
+ if not os.path.isabs(prefix):
+ raise MesonException('prefix value {!r} must be an absolute path'
diff --git a/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch b/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch
new file mode 100644
index 000000000..772395e87
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch
@@ -0,0 +1,23 @@
+meson.build files that use cc.run() in native builds can silently fallback to
+meson.get_cross_property() in cross builds without an exe-wrapper, but there's
+no way to know that this is happening.
+
+As the defaults may be pessimistic (for example, disabling the support for a
+feature that should be enabled) emit a warning when the default is used, so that
+the recipe can explicitly set the cross property as relevant.
+
+Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/5071]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
+index 3c3cfae0..10e741ae 100644
+--- a/mesonbuild/interpreter.py
++++ b/mesonbuild/interpreter.py
+@@ -1890,6 +1890,7 @@ class MesonMain(InterpreterObject):
+ return props[propname]
+ except Exception:
+ if len(args) == 2:
++ mlog.warning('Cross property %s is using default value %s' % (propname, args[1]))
+ return args[1]
+ raise InterpreterException('Unknown cross property: %s.' % propname)
+
diff --git a/poky/meta/recipes-devtools/meson/meson/gi-flags.patch b/poky/meta/recipes-devtools/meson/meson/gi-flags.patch
deleted file mode 100644
index 9a4c29619..000000000
--- a/poky/meta/recipes-devtools/meson/meson/gi-flags.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Pass the correct cflags/ldflags to the gobject-introspection tools.
-
-Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/4261]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index cb69641e..bb4449a0 100644
---- a/mesonbuild/modules/gnome.py
-+++ b/mesonbuild/modules/gnome.py
-@@ -579,7 +579,10 @@ class GnomeModule(ExtensionModule):
- external_ldflags += list(dep_external_ldflags)
- scan_command += ['--cflags-begin']
- scan_command += cflags
-- scan_command += state.environment.coredata.get_external_args(lang)
-+ if state.environment.is_cross_build():
-+ scan_command += state.environment.cross_info.config["properties"].get(lang + '_args', "")
-+ else:
-+ scan_command += state.environment.coredata.get_external_args(lang)
- scan_command += ['--cflags-end']
- # need to put our output directory first as we need to use the
- # generated libraries instead of any possibly installed system/prefix
-@@ -614,7 +614,12 @@ class GnomeModule(ExtensionModule):
- scan_command.append('-L' + d)
- scan_command += ['--library', libname]
-
-- for link_arg in state.environment.coredata.get_external_link_args(lang):
-+ if state.environment.is_cross_build():
-+ link_args = state.environment.cross_info.config["properties"].get(lang + '_link_args', "")
-+ else:
-+ link_args = state.environment.coredata.get_external_link_args(lang)
-+
-+ for link_arg in link_args:
- if link_arg.startswith('-L'):
- scan_command.append(link_arg)
- scan_command += list(external_ldflags)
diff --git a/poky/meta/recipes-devtools/meson/meson/gtkdoc-flags.patch b/poky/meta/recipes-devtools/meson/meson/gtkdoc-flags.patch
deleted file mode 100644
index ecf3489bb..000000000
--- a/poky/meta/recipes-devtools/meson/meson/gtkdoc-flags.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Ensure that in a cross compile only the target flags are passed to gtk-doc, and
-not the native flags.
-
-Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/4261]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index 4af33304..8751f53c 100644
---- a/mesonbuild/modules/gnome.py
-+++ b/mesonbuild/modules/gnome.py
-@@ -851,17 +851,30 @@ This will become a hard error in the future.''')
- if not isinstance(incd.held_object, (str, build.IncludeDirs)):
- raise MesonException(
- 'Gir include dirs should be include_directories().')
-+
- cflags.update(get_include_args(inc_dirs))
-- cflags.update(state.environment.coredata.get_external_args('c'))
-+ if state.environment.is_cross_build():
-+ cflags.update(state.environment.cross_info.config["properties"].get('c_args', ""))
-+ else:
-+ cflags.update(state.environment.coredata.get_external_args('c'))
-+
- ldflags = OrderedSet()
- ldflags.update(internal_ldflags)
-- ldflags.update(state.environment.coredata.get_external_link_args('c'))
-+ if state.environment.is_cross_build():
-+ ldflags.update(state.environment.cross_info.config["properties"].get('c_link_args', ""))
-+ else:
-+ ldflags.update(state.environment.coredata.get_external_link_args('c'))
- ldflags.update(external_ldflags)
-+
- if cflags:
- args += ['--cflags=%s' % ' '.join(cflags)]
- if ldflags:
- args += ['--ldflags=%s' % ' '.join(ldflags)]
-- compiler = state.environment.coredata.compilers.get('c')
-+
-+ if state.environment.is_cross_build():
-+ compiler = state.environment.coredata.cross_compilers.get('c')
-+ else:
-+ compiler = state.environment.coredata.compilers.get('c')
- if compiler:
- args += ['--cc=%s' % ' '.join(compiler.get_exelist())]
- args += ['--ld=%s' % ' '.join(compiler.get_linker_exelist())]
diff --git a/poky/meta/recipes-devtools/meson/meson/many-cross.patch b/poky/meta/recipes-devtools/meson/meson/many-cross.patch
new file mode 100644
index 000000000..d04c28b8a
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/many-cross.patch
@@ -0,0 +1,207 @@
+mesonbuild: allow multiple --cross-file options
+
+Just like --native-file, allow multiple --cross-file options. This is mostly
+unifying the logic between cross_files and config_files.
+
+Upstream-Status: Backport [will be in 0.50.1]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
+index 40402513..4b9bcb59 100644
+--- a/mesonbuild/backend/backends.py
++++ b/mesonbuild/backend/backends.py
+@@ -726,8 +726,7 @@ class Backend:
+ deps = [os.path.join(self.build_to_src, df)
+ for df in self.interpreter.get_build_def_files()]
+ if self.environment.is_cross_build():
+- deps.append(os.path.join(self.build_to_src,
+- self.environment.coredata.cross_file))
++ deps.extend(self.environment.coredata.cross_files)
+ deps.append('meson-private/coredata.dat')
+ if os.path.exists(os.path.join(self.environment.get_source_dir(), 'meson_options.txt')):
+ deps.append(os.path.join(self.build_to_src, 'meson_options.txt'))
+diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
+index c3f5a745..ff810683 100644
+--- a/mesonbuild/coredata.py
++++ b/mesonbuild/coredata.py
+@@ -201,8 +201,8 @@ class UserFeatureOption(UserComboOption):
+ return self.value == 'auto'
+
+
+-def load_configs(filenames):
+- """Load native files."""
++def load_configs(filenames, subdir):
++ """Load configuration files from a named subdirectory."""
+ def gen():
+ for f in filenames:
+ f = os.path.expanduser(os.path.expandvars(f))
+@@ -215,7 +215,7 @@ def load_configs(filenames):
+ os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
+ ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
+ for path in paths:
+- path_to_try = os.path.join(path, 'meson', 'native', f)
++ path_to_try = os.path.join(path, 'meson', subdir, f)
+ if os.path.isfile(path_to_try):
+ yield path_to_try
+ break
+@@ -291,7 +291,7 @@ class CoreData:
+ self.compiler_options = {}
+ self.base_options = {}
+ self.external_preprocess_args = {} # CPPFLAGS only
+- self.cross_file = self.__load_cross_file(options.cross_file)
++ self.cross_files = self.__load_config_files(options.cross_file)
+ self.compilers = OrderedDict()
+ self.cross_compilers = OrderedDict()
+ self.deps = OrderedDict()
+@@ -301,52 +301,14 @@ class CoreData:
+
+ @staticmethod
+ def __load_config_files(filenames):
++ # Need to try and make the passed filenames absolute because when the
++ # files are parsed later we'll have chdir()d.
+ if not filenames:
+ return []
+ filenames = [os.path.abspath(os.path.expanduser(os.path.expanduser(f)))
+ for f in filenames]
+ return filenames
+
+- @staticmethod
+- def __load_cross_file(filename):
+- """Try to load the cross file.
+-
+- If the filename is None return None. If the filename is an absolute
+- (after resolving variables and ~), return that absolute path. Next,
+- check if the file is relative to the current source dir. If the path
+- still isn't resolved do the following:
+- Windows:
+- - Error
+- *:
+- - $XDG_DATA_HOME/meson/cross (or ~/.local/share/meson/cross if
+- undefined)
+- - $XDG_DATA_DIRS/meson/cross (or
+- /usr/local/share/meson/cross:/usr/share/meson/cross if undefined)
+- - Error
+-
+- Non-Windows follows the Linux path and will honor XDG_* if set. This
+- simplifies the implementation somewhat.
+- """
+- if filename is None:
+- return None
+- filename = os.path.expanduser(os.path.expandvars(filename))
+- if os.path.isabs(filename):
+- return filename
+- path_to_try = os.path.abspath(filename)
+- if os.path.isfile(path_to_try):
+- return path_to_try
+- if sys.platform != 'win32':
+- paths = [
+- os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
+- ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
+- for path in paths:
+- path_to_try = os.path.join(path, 'meson', 'cross', filename)
+- if os.path.isfile(path_to_try):
+- return path_to_try
+- raise MesonException('Cannot find specified cross file: ' + filename)
+-
+- raise MesonException('Cannot find specified cross file: ' + filename)
+-
+ def sanitize_prefix(self, prefix):
+ if not os.path.isabs(prefix):
+ raise MesonException('prefix value {!r} must be an absolute path'
+@@ -558,8 +520,8 @@ def read_cmd_line_file(build_dir, options):
+ options.cmd_line_options = d
+
+ properties = config['properties']
+- if options.cross_file is None:
+- options.cross_file = properties.get('cross_file', None)
++ if not options.cross_file:
++ options.cross_file = ast.literal_eval(properties.get('cross_file', '[]'))
+ if not options.native_file:
+ # This will be a string in the form: "['first', 'second', ...]", use
+ # literal_eval to get it into the list of strings.
+@@ -570,7 +532,7 @@ def write_cmd_line_file(build_dir, options):
+ config = CmdLineFileParser()
+
+ properties = {}
+- if options.cross_file is not None:
++ if options.cross_file:
+ properties['cross_file'] = options.cross_file
+ if options.native_file:
+ properties['native_file'] = options.native_file
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index 6d86daf9..406ab8b8 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -355,8 +355,8 @@ class Environment:
+ self.machines = MachineInfos()
+ # Will be fully initialized later using compilers later.
+ self.machines.detect_build()
+- if self.coredata.cross_file:
+- self.cross_info = CrossBuildInfo(self.coredata.cross_file)
++ if self.coredata.cross_files:
++ self.cross_info = CrossBuildInfo(self.coredata.cross_files)
+ if 'exe_wrapper' in self.cross_info.config['binaries']:
+ from .dependencies import ExternalProgram
+ self.exe_wrapper = ExternalProgram.from_bin_list(
+@@ -373,7 +373,7 @@ class Environment:
+
+ if self.coredata.config_files:
+ self.config_info = coredata.ConfigData(
+- coredata.load_configs(self.coredata.config_files))
++ coredata.load_configs(self.coredata.config_files, 'native'))
+ else:
+ self.config_info = coredata.ConfigData()
+
+@@ -1113,13 +1113,8 @@ class CrossBuildInfo:
+ def ok_type(self, i):
+ return isinstance(i, (str, int, bool))
+
+- def parse_datafile(self, filename):
+- config = configparser.ConfigParser()
+- try:
+- with open(filename, 'r') as f:
+- config.read_file(f, filename)
+- except FileNotFoundError:
+- raise EnvironmentException('File not found: %s.' % filename)
++ def parse_datafile(self, filenames):
++ config = coredata.load_configs(filenames, 'cross')
+ # This is a bit hackish at the moment.
+ for s in config.sections():
+ self.config[s] = {}
+diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py
+index 56a0e9a7..f0a1ae19 100644
+--- a/mesonbuild/msetup.py
++++ b/mesonbuild/msetup.py
+@@ -27,7 +27,9 @@ from .mesonlib import MesonException
+
+ def add_arguments(parser):
+ coredata.register_builtin_arguments(parser)
+- parser.add_argument('--cross-file', default=None,
++ parser.add_argument('--cross-file',
++ default=[],
++ action='append',
+ help='File describing cross compilation environment.')
+ parser.add_argument('--native-file',
+ default=[],
+diff --git a/run_unittests.py b/run_unittests.py
+index e6874b25..1d247291 100755
+--- a/run_unittests.py
++++ b/run_unittests.py
+@@ -529,7 +529,7 @@ class InternalTests(unittest.TestCase):
+ config.write(configfile)
+ configfile.flush()
+ configfile.close()
+- detected_value = mesonbuild.environment.CrossBuildInfo(configfile.name).need_exe_wrapper()
++ detected_value = mesonbuild.environment.CrossBuildInfo((configfile.name,)).need_exe_wrapper()
+ os.unlink(configfilename)
+
+ desired_value = not detected_value
+@@ -541,7 +541,7 @@ class InternalTests(unittest.TestCase):
+ configfilename = configfile.name
+ config.write(configfile)
+ configfile.close()
+- forced_value = mesonbuild.environment.CrossBuildInfo(configfile.name).need_exe_wrapper()
++ forced_value = mesonbuild.environment.CrossBuildInfo((configfile.name,)).need_exe_wrapper()
+ os.unlink(configfilename)
+
+ self.assertEqual(forced_value, desired_value)
diff --git a/poky/meta/recipes-devtools/meson/meson/meson-setup.py b/poky/meta/recipes-devtools/meson/meson/meson-setup.py
index a9749eae9..808e2a062 100755
--- a/poky/meta/recipes-devtools/meson/meson/meson-setup.py
+++ b/poky/meta/recipes-devtools/meson/meson/meson-setup.py
@@ -1,62 +1,31 @@
#!/usr/bin/env python3
import os
+import string
import sys
-def bail(msg):
- print(msg, file=sys.stderr)
- sys.exit(1)
-
-_MARKER = '@@'
-def transform_line(line):
- # Substitute any special markers of this form:
- # @@ENV@@
- # with the value of ENV, split into meson array syntax.
- start = line.find(_MARKER)
- if start == -1:
- return line
-
- end = line.rfind(_MARKER)
- if end == start:
- return line
-
- # Lookup value of the env var.
- var = line[start+len(_MARKER):end]
- try:
- val = os.environ[var]
- except KeyError:
- bail('cannot generate meson.cross; env var %s not set' % var)
+class Template(string.Template):
+ delimiter = "@"
- # Transform into meson array.
- val = ["'%s'" % x for x in val.split()]
- val = ', '.join(val)
- val = '[%s]' % val
+class Environ():
+ def __getitem__(self, name):
+ val = os.environ[name]
+ val = ["'%s'" % x for x in val.split()]
+ val = ', '.join(val)
+ val = '[%s]' % val
+ return val
- before = line[:start]
- after = line[end+len(_MARKER):]
-
- return '%s%s%s' % (before, val, after)
-
-# Make sure this is really an SDK extraction environment.
try:
sysroot = os.environ['OECORE_NATIVE_SYSROOT']
except KeyError:
- bail('OECORE_NATIVE_SYSROOT env var must be set')
-
-cross_file = os.path.join(sysroot, 'usr/share/meson/meson.cross')
-tmp_cross_file = '%s.tmp' % cross_file
+ print("Not in environment setup, bailing")
+ sys.exit(1)
-# Read through and transform the current meson.cross.
-lines = []
-with open(cross_file, 'r') as f:
- for line in f:
- lines.append(transform_line(line))
+template_file = os.path.join(sysroot, 'usr/share/meson/meson.cross.template')
+cross_file = os.path.join(sysroot, 'usr/share/meson/%smeson.cross' % os.environ["TARGET_PREFIX"])
-# Write the transformed result to a tmp file and atomically rename it. In case
-# we crash during the file write, we don't want an invalid meson.cross file.
-with open(tmp_cross_file, 'w') as f:
- for line in lines:
- f.write(line)
- f.flush()
- os.fdatasync(f.fileno())
-os.rename(tmp_cross_file, cross_file)
+with open(template_file) as in_file:
+ template = in_file.read()
+ output = Template(template).substitute(Environ())
+ with open(cross_file, "w") as out_file:
+ out_file.write(output)
diff --git a/poky/meta/recipes-devtools/meson/meson/meson-wrapper b/poky/meta/recipes-devtools/meson/meson/meson-wrapper
index b2e00da51..d4ffe60f9 100755
--- a/poky/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/poky/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -10,5 +10,5 @@ fi
unset CC CXX CPP LD AR NM STRIP
exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
- --cross-file "$OECORE_NATIVE_SYSROOT/usr/share/meson/meson.cross" \
+ --cross-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
"$@"
diff --git a/poky/meta/recipes-devtools/meson/meson_0.47.2.bb b/poky/meta/recipes-devtools/meson/meson_0.47.2.bb
deleted file mode 100644
index 897fa148d..000000000
--- a/poky/meta/recipes-devtools/meson/meson_0.47.2.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-include meson.inc
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/meson/meson_0.49.2.bb b/poky/meta/recipes-devtools/meson/meson_0.49.2.bb
new file mode 100644
index 000000000..de9b905c1
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson_0.49.2.bb
@@ -0,0 +1,4 @@
+include meson.inc
+
+BBCLASSEXTEND = "native"
+
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.47.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.47.2.bb
deleted file mode 100644
index 53503aa99..000000000
--- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.47.2.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-include meson.inc
-
-inherit nativesdk
-
-SRC_URI += "file://meson-setup.py \
- file://meson-wrapper"
-
-def meson_array(var, d):
- return "', '".join(d.getVar(var).split()).join(("'", "'"))
-
-# both are required but not used by meson
-MESON_SDK_ENDIAN = "bogus-endian"
-MESON_TARGET_ENDIAN = "bogus-endian"
-
-MESON_TOOLCHAIN_ARGS = "${BUILDSDK_CC_ARCH}${TOOLCHAIN_OPTIONS}"
-MESON_C_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_CFLAGS}"
-MESON_CPP_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_CXXFLAGS}"
-MESON_LINK_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_LDFLAGS}"
-
-# This logic is similar but not identical to that in meson.bbclass, since it's
-# generating for an SDK rather than a cross-compile. Important differences are:
-# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
-# real paths by meson-setup.sh when the SDK is extracted.
-# - Some overrides aren't needed, since the SDK injects paths that take care of
-# them.
-addtask write_config before do_install
-do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS MESON_LINK_ARGS CC CXX LD AR NM STRIP READELF"
-do_write_config() {
- # This needs to be Py to split the args into single-element lists
- cat >${WORKDIR}/meson.cross <<EOF
-[binaries]
-c = @@CC@@
-cpp = @@CXX@@
-ar = @@AR@@
-nm = @@NM@@
-ld = @@LD@@
-strip = @@STRIP@@
-pkgconfig = 'pkg-config'
-
-[properties]
-needs_exe_wrapper = true
-c_args = @@CFLAGS@@
-c_link_args = @@LDFLAGS@@
-cpp_args = @@CPPFLAGS@@
-cpp_link_args = @@LDFLAGS@@
-
-[host_machine]
-system = '${SDK_OS}'
-cpu_family = '${SDK_ARCH}'
-cpu = '${SDK_ARCH}'
-endian = '${MESON_SDK_ENDIAN}'
-EOF
-}
-
-do_install_append() {
- install -d ${D}${datadir}/meson
- install -m 0644 ${WORKDIR}/meson.cross ${D}${datadir}/meson/
-
- install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
- install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
-
- # We need to wrap the real meson with a thin env setup wrapper.
- mv ${D}${bindir}/meson ${D}${bindir}/meson.real
- install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
-}
-
-RDEPENDS_${PN} += "\
- nativesdk-ninja \
- nativesdk-python3-core \
- nativesdk-python3-misc \
- nativesdk-python3-modules \
- "
-
-FILES_${PN} += "${datadir}/meson ${SDKPATHNATIVE}"
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.49.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.49.2.bb
new file mode 100644
index 000000000..1549357a5
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.49.2.bb
@@ -0,0 +1,71 @@
+include meson.inc
+
+inherit nativesdk
+inherit siteinfo
+
+SRC_URI += "file://meson-setup.py \
+ file://meson-wrapper"
+
+def meson_endian(prefix, d):
+ arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS")
+ sitedata = siteinfo_data_for_machine(arch, os, d)
+ if "endian-little" in sitedata:
+ return "little"
+ elif "endian-big" in sitedata:
+ return "big"
+ else:
+ bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
+
+MESON_TOOLCHAIN_ARGS = "${BUILDSDK_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+MESON_C_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_CFLAGS}"
+MESON_CPP_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_CXXFLAGS}"
+MESON_LINK_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_LDFLAGS}"
+
+# The cross file logic is similar but not identical to that in meson.bbclass,
+# since it's generating for an SDK rather than a cross-compile. Important
+# differences are:
+# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
+# real paths by meson-setup.sh when the SDK is extracted.
+# - Some overrides aren't needed, since the SDK injects paths that take care of
+# them.
+do_install_append() {
+ install -d ${D}${datadir}/meson
+ cat >${D}${datadir}/meson/meson.cross.template <<EOF
+[binaries]
+c = @CC
+cpp = @CXX
+ar = @AR
+nm = @NM
+ld = @LD
+strip = @STRIP
+pkgconfig = 'pkg-config'
+
+[properties]
+needs_exe_wrapper = true
+c_args = @CFLAGS
+c_link_args = @LDFLAGS
+cpp_args = @CPPFLAGS
+cpp_link_args = @LDFLAGS
+
+[host_machine]
+system = '${SDK_OS}'
+cpu_family = '${SDK_ARCH}'
+cpu = '${SDK_ARCH}'
+endian = '${@meson_endian("SDK", d)}'
+EOF
+
+ install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
+ install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
+
+ # We need to wrap the real meson with a thin env setup wrapper.
+ mv ${D}${bindir}/meson ${D}${bindir}/meson.real
+ install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
+}
+
+RDEPENDS_${PN} += "\
+ nativesdk-ninja \
+ nativesdk-python3 \
+ nativesdk-python3-setuptools \
+ "
+
+FILES_${PN} += "${datadir}/meson ${SDKPATHNATIVE}"
diff --git a/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.43.bb b/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.43.bb
deleted file mode 100644
index a16147657..000000000
--- a/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.43.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Shared library optimisation tool"
-DESCRIPTION = "mklibs produces cut-down shared libraries that contain only the routines required by a particular set of executables."
-HOMEPAGE = "https://launchpad.net/mklibs"
-SECTION = "devel"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=98d31037b13d896e33890738ef01af64"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20161123T152011Z/pool/main/m/mklibs/mklibs_${PV}.tar.xz \
- file://ac_init_fix.patch\
- file://fix_STT_GNU_IFUNC.patch\
- file://sysrooted-ldso.patch \
- file://avoid-failure-on-symbol-provided-by-application.patch \
- file://show-GNU-unique-symbols-as-provided-symbols.patch \
- file://fix_cross_compile.patch \
-"
-
-SRC_URI[md5sum] = "39b08a173454e5210ab3f598e94179bf"
-SRC_URI[sha256sum] = "6f0cf24ade13fff76e943c003413d85c3e497c984c95c1ecea1c9731ca86f13c"
-
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/m/mklibs/"
-
-inherit autotools gettext native
-
-S = "${WORKDIR}/mklibs"
diff --git a/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb b/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb
new file mode 100644
index 000000000..1784af1f4
--- /dev/null
+++ b/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Shared library optimisation tool"
+DESCRIPTION = "mklibs produces cut-down shared libraries that contain only the routines required by a particular set of executables."
+HOMEPAGE = "https://launchpad.net/mklibs"
+SECTION = "devel"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=98d31037b13d896e33890738ef01af64"
+
+SRC_URI = "http://snapshot.debian.org/archive/debian/20180828T214102Z/pool/main/m/mklibs/mklibs_${PV}.tar.xz \
+ file://ac_init_fix.patch\
+ file://fix_STT_GNU_IFUNC.patch\
+ file://sysrooted-ldso.patch \
+ file://avoid-failure-on-symbol-provided-by-application.patch \
+ file://show-GNU-unique-symbols-as-provided-symbols.patch \
+ file://fix_cross_compile.patch \
+"
+
+SRC_URI[md5sum] = "6b6eeb9b4016c6a7317acc28c89e32cc"
+SRC_URI[sha256sum] = "3af0b6bd35e5b6fc58d8b68827fbae2ff6b7e20dd2b238ccb9b49d84722066c2"
+
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/m/mklibs/"
+
+inherit autotools gettext native
diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
index f53c6c112..9ffac2ed3 100644
--- a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
+++ b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
inherit autotools pkgconfig update-alternatives
-DEPENDS = "zlib lzo e2fsprogs util-linux"
+DEPENDS = "zlib e2fsprogs util-linux"
RDEPENDS_mtd-utils-tests += "bash"
PV = "2.0.2+${SRCPV}"
@@ -25,8 +25,9 @@ EXTRA_OECONF += "--enable-install-tests"
# xattr support creates an additional compile-time dependency on acl because
# the sys/acl.h header is needed. libacl is not needed and thus enabling xattr
# regardless whether acl is enabled or disabled in the distro should be okay.
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}"
-PACKAGECONFIG[xattr] = ",,acl,"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)} lzo"
+PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo"
+PACKAGECONFIG[xattr] = "--with-xattr,--without-xattr,acl"
CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT"
diff --git a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
index 01455f101..464ccc4ca 100644
--- a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
+++ b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
@@ -1,12 +1,21 @@
-Disabled reading host configs.
+From 5c24356762bc4274d3ca4930b0bc7754f4ffd19b Mon Sep 17 00:00:00 2001
+From: Ed Bartosh <ed.bartosh@linux.intel.com>
+Date: Tue, 13 Jun 2017 14:55:52 +0300
+Subject: [PATCH] Disabled reading host configs.
Upstream-Status: Inappropriate [native]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---- mtools-4.0.18/config.c.orig 2017-06-13 12:27:38.644000000 +0300
-+++ mtools-4.0.18/config.c 2017-06-13 12:28:47.576000000 +0300
-@@ -701,14 +701,6 @@
+---
+ config.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/config.c b/config.c
+index f086883..1c3f9bd 100644
+--- a/config.c
++++ b/config.c
+@@ -701,14 +701,6 @@ void read_config(void)
memcpy(devices, const_devices,
nr_const_devices*sizeof(struct device));
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb
deleted file mode 100644
index 3c31aca3a..000000000
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Utilities to access MS-DOS disks without mounting them"
-DESCRIPTION = "Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them."
-HOMEPAGE = "http://www.gnu.org/software/mtools/"
-SECTION = "optional"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS += "virtual/libiconv"
-
-RDEPENDS_${PN}_libc-glibc = "glibc-gconv-ibm850"
-RRECOMMENDS_${PN}_libc-glibc = "\
- glibc-gconv-ibm437 \
- glibc-gconv-ibm737 \
- glibc-gconv-ibm775 \
- glibc-gconv-ibm851 \
- glibc-gconv-ibm852 \
- glibc-gconv-ibm855 \
- glibc-gconv-ibm857 \
- glibc-gconv-ibm860 \
- glibc-gconv-ibm861 \
- glibc-gconv-ibm862 \
- glibc-gconv-ibm863 \
- glibc-gconv-ibm865 \
- glibc-gconv-ibm866 \
- glibc-gconv-ibm869 \
- "
-SRC_URI[md5sum] = "a23646617546bf6ad56f061d8b283c85"
-SRC_URI[sha256sum] = "59e9cf80885399c4f229e5d87e49c0c2bfeec044e1386d59fcd0b0aead6b2f85"
-
-SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
- file://mtools-makeinfo.patch \
- file://no-x11.gplv3.patch \
- file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \
- file://0001-remove-LOCK_NB-to-use-blocking-request.patch \
- file://clang_UNUSED.patch \
- "
-
-SRC_URI_append_class-native = " file://disable-hardcoded-configs.patch"
-
-inherit autotools texinfo
-
-EXTRA_OECONF = "--without-x"
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd"
-
-do_install_prepend () {
- # Create bindir to fix parallel installation issues
- mkdir -p ${D}/${bindir}
- mkdir -p ${D}/${datadir}
-}
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb
new file mode 100644
index 000000000..7d59d93a8
--- /dev/null
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb
@@ -0,0 +1,53 @@
+SUMMARY = "Utilities to access MS-DOS disks without mounting them"
+DESCRIPTION = "Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them."
+HOMEPAGE = "http://www.gnu.org/software/mtools/"
+SECTION = "optional"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS += "virtual/libiconv"
+
+RDEPENDS_${PN}_libc-glibc = "glibc-gconv-ibm850"
+RRECOMMENDS_${PN}_libc-glibc = "\
+ glibc-gconv-ibm437 \
+ glibc-gconv-ibm737 \
+ glibc-gconv-ibm775 \
+ glibc-gconv-ibm851 \
+ glibc-gconv-ibm852 \
+ glibc-gconv-ibm855 \
+ glibc-gconv-ibm857 \
+ glibc-gconv-ibm860 \
+ glibc-gconv-ibm861 \
+ glibc-gconv-ibm862 \
+ glibc-gconv-ibm863 \
+ glibc-gconv-ibm865 \
+ glibc-gconv-ibm866 \
+ glibc-gconv-ibm869 \
+ "
+SRC_URI[md5sum] = "f750246a65ee6f9d2e82d10b03a0aaaf"
+SRC_URI[sha256sum] = "1bc197199ea1c2c317f597879486eeb817f3199b526d94cc6841624768d910df"
+
+SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
+ file://mtools-makeinfo.patch \
+ file://no-x11.gplv3.patch \
+ file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \
+ file://0001-remove-LOCK_NB-to-use-blocking-request.patch \
+ file://clang_UNUSED.patch \
+ "
+
+SRC_URI_append_class-native = " file://disable-hardcoded-configs.patch"
+
+inherit autotools texinfo distro_features_check
+
+EXTRA_OECONF = "--without-x"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd"
+
+do_install_prepend () {
+ # Create bindir to fix parallel installation issues
+ mkdir -p ${D}/${bindir}
+ mkdir -p ${D}/${datadir}
+}
diff --git a/poky/meta/recipes-devtools/nasm/nasm/0001-Verify-that-we-are-not-reading-past-end-of-a-buffer.patch b/poky/meta/recipes-devtools/nasm/nasm/0001-Verify-that-we-are-not-reading-past-end-of-a-buffer.patch
deleted file mode 100644
index a56a08b5a..000000000
--- a/poky/meta/recipes-devtools/nasm/nasm/0001-Verify-that-we-are-not-reading-past-end-of-a-buffer.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From c5785fdf1d660eaefb9711284414262d0cfe8843 Mon Sep 17 00:00:00 2001
-From: Adam Majer <amajer@suse.de>
-Date: Fri, 17 Aug 2018 14:48:17 +0800
-Subject: [PATCH] Verify that we are not reading past end of a buffer
-
-Simple reproducer is just,
-
- ret &d:ep
-
-which triggers a buffer overread due to parsing of an invalid
-segment override.
-
-Signed-off-by: Adam Majer <amajer@suse.de>
-
-Upstream-Status: Submitted [https://bugzilla.nasm.us/show_bug.cgi?id=3392447]
-CVE: CVE-2018-8883
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- include/opflags.h | 2 +-
- include/tables.h | 1 +
- x86/regs.pl | 3 ++-
- 3 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/include/opflags.h b/include/opflags.h
-index ef2838c1..8d4b6b1e 100644
---- a/include/opflags.h
-+++ b/include/opflags.h
-@@ -166,7 +166,7 @@
- #define REG_CLASS_BND GEN_REG_CLASS(9)
-
- #define is_class(class, op) (!((opflags_t)(class) & ~(opflags_t)(op)))
--#define is_reg_class(class, reg) is_class((class), nasm_reg_flags[(reg)])
-+#define is_reg_class(class, reg) is_class((class), ((reg) < nasm_reg_flags_size ? nasm_reg_flags[(reg)] : 0))
-
- #define IS_SREG(reg) is_reg_class(REG_SREG, (reg))
- #define IS_FSGS(reg) is_reg_class(REG_FSGS, (reg))
-diff --git a/include/tables.h b/include/tables.h
-index 24a665e2..458752ce 100644
---- a/include/tables.h
-+++ b/include/tables.h
-@@ -64,6 +64,7 @@ extern const char * const nasm_reg_names[];
- typedef uint64_t opflags_t;
- typedef uint16_t decoflags_t;
- extern const opflags_t nasm_reg_flags[];
-+extern const size_t nasm_reg_flags_size;
- /* regvals.c */
- extern const int nasm_regvals[];
-
-diff --git a/x86/regs.pl b/x86/regs.pl
-index 3a1b56f5..cb5cea68 100755
---- a/x86/regs.pl
-+++ b/x86/regs.pl
-@@ -158,7 +158,8 @@ if ( $fmt eq 'h' ) {
- printf " %-15s /* %-5s */\n",
- $regs{$reg}.',', $reg;
- }
-- print "};\n";
-+ print "};\n\n";
-+ print "const size_t nasm_reg_flags_size = sizeof(nasm_reg_flags) / sizeof(opflags_t);\n";
- } elsif ( $fmt eq 'vc' ) {
- # Output regvals.c
- print "/* automatically generated from $file - do not edit */\n\n";
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/nasm/nasm/0001-asmlib-Drop-pure-function-attribute-from-seg_init.patch b/poky/meta/recipes-devtools/nasm/nasm/0001-asmlib-Drop-pure-function-attribute-from-seg_init.patch
deleted file mode 100644
index 12ae3a94d..000000000
--- a/poky/meta/recipes-devtools/nasm/nasm/0001-asmlib-Drop-pure-function-attribute-from-seg_init.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 77c3a77210d8ca8b94e999c711156e984a8dc737 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 31 Mar 2018 11:05:33 -0700
-Subject: [PATCH] asmlib: Drop pure function attribute from seg_init
-
-seg_init returns void, so it is impure function
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- include/nasmlib.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/nasmlib.h b/include/nasmlib.h
-index 79e866b..b80b7e2 100644
---- a/include/nasmlib.h
-+++ b/include/nasmlib.h
-@@ -191,7 +191,7 @@ int64_t readstrnum(char *str, int length, bool *warn);
- * seg_init: Initialise the segment-number allocator.
- * seg_alloc: allocate a hitherto unused segment number.
- */
--void pure_func seg_init(void);
-+void seg_init(void);
- int32_t pure_func seg_alloc(void);
-
- /*
diff --git a/poky/meta/recipes-devtools/nasm/nasm/0001-assemble-Check-global-line-limit.patch b/poky/meta/recipes-devtools/nasm/nasm/0001-assemble-Check-global-line-limit.patch
deleted file mode 100644
index 682d4c727..000000000
--- a/poky/meta/recipes-devtools/nasm/nasm/0001-assemble-Check-global-line-limit.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 7a46d6b9e3a1d8a0ab0d816ef1bf194ad285e082 Mon Sep 17 00:00:00 2001
-From: "Chang S. Bae" <chang.seok.bae@intel.com>
-Date: Fri, 17 Aug 2018 14:26:03 +0800
-Subject: [PATCH] assemble: Check global line limit
-
-Without the limit, the while loop opens to semi-infinite
-that will exhaustively consume the heap space. Also, the
-index value gets into the garbage.
-
-https://bugzilla.nasm.us/show_bug.cgi?id=3392474
-
-Reported-by : Dongliang Mu <mudongliangabcd@gmail.com>
-Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
-Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-
-Upstream-Status: Backport from upstream [http://repo.or.cz/nasm.git]
-CVE: CVE-2018-10316
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- asm/nasm.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/asm/nasm.c b/asm/nasm.c
-index 8497ec9..81f6cee 100644
---- a/asm/nasm.c
-+++ b/asm/nasm.c
-@@ -99,6 +99,8 @@ static char outname[FILENAME_MAX];
- static char listname[FILENAME_MAX];
- static char errname[FILENAME_MAX];
- static int globallineno; /* for forward-reference tracking */
-+#define GLOBALLINENO_MAX INT32_MAX
-+
- /* static int pass = 0; */
- const struct ofmt *ofmt = &OF_DEFAULT;
- const struct ofmt_alias *ofmt_alias = NULL;
-@@ -1360,7 +1362,10 @@ static void assemble_file(char *fname, StrList **depend_ptr)
- location.offset = offs = get_curr_offs();
-
- while ((line = preproc->getline())) {
-- globallineno++;
-+ if (globallineno++ == GLOBALLINENO_MAX)
-+ nasm_error(ERR_FATAL,
-+ "overall line number reaches the maximum %d\n",
-+ GLOBALLINENO_MAX);
-
- /*
- * Here we parse our directives; this is not handled by the
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/nasm/nasm/0001-eval-Eliminate-division-by-zero.patch b/poky/meta/recipes-devtools/nasm/nasm/0001-eval-Eliminate-division-by-zero.patch
deleted file mode 100644
index 6c332497c..000000000
--- a/poky/meta/recipes-devtools/nasm/nasm/0001-eval-Eliminate-division-by-zero.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From ceec0d818798aeaa75ed4907e6135b0247ed46b2 Mon Sep 17 00:00:00 2001
-From: Cyrill Gorcunov <gorcunov@gmail.com>
-Date: Sun, 14 Oct 2018 01:26:19 +0300
-Subject: [PATCH] eval: Eliminate division by zero
-
-When doing division we should detect if the value we're
-divided by is not zero. Instead of is_unknown() helper
-we should use is_just_unknown().
-
-https://bugzilla.nasm.us/show_bug.cgi?id=3392515
-https://bugzilla.nasm.us/show_bug.cgi?id=3392473
-
-Reported-by: Jun <jxx13@psu.edu>
-Reported-by: stuartly <situlingyun@gmail.com>
-Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-
-Upstream-Status: Backport [https://github.com/netwide-assembler/nasm/commit/ceec0d818798aeaa75ed4907e6135b0247ed46b2.patch]
-CVE: CVE-2018-10016
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- asm/eval.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/asm/eval.c b/asm/eval.c
-index 1a6680f..7e727a4 100644
---- a/asm/eval.c
-+++ b/asm/eval.c
-@@ -580,7 +580,7 @@ static expr *expr5(int critical)
- " scalar values");
- return NULL;
- }
-- if (j != '*' && !is_unknown(f) && reloc_value(f) == 0) {
-+ if (j != '*' && !is_just_unknown(f) && reloc_value(f) == 0) {
- nasm_error(ERR_NONFATAL, "division by zero");
- return NULL;
- }
---
-2.10.2
-
diff --git a/poky/meta/recipes-devtools/nasm/nasm/0001-fix-CVE-2018-8882.patch b/poky/meta/recipes-devtools/nasm/nasm/0001-fix-CVE-2018-8882.patch
deleted file mode 100644
index bc706c3f1..000000000
--- a/poky/meta/recipes-devtools/nasm/nasm/0001-fix-CVE-2018-8882.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 33438037e00ec750bff020578b1a5b6f75f60555 Mon Sep 17 00:00:00 2001
-From: Adam Majer <amajer@suse.de>
-Date: Fri, 17 Aug 2018 14:41:02 +0800
-Subject: [PATCH] fix CVE-2018-8882
-
-https://bugzilla.nasm.us/show_bug.cgi?id=3392445
-
-Upstream-Status: Submitted [https://bugzilla.nasm.us/show_bug.cgi?id=3392445]
-CVE: CVE-2018-8882
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- asm/float.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/asm/float.c b/asm/float.c
-index dcf69fea..2965d3db 100644
---- a/asm/float.c
-+++ b/asm/float.c
-@@ -608,6 +608,8 @@ static void ieee_shr(fp_limb *mant, int i)
- if (offs)
- for (j = MANT_LIMBS-1; j >= offs; j--)
- mant[j] = mant[j-offs];
-+ } else if (MANT_LIMBS-1-offs < 0) {
-+ j = MANT_LIMBS-1;
- } else {
- n = mant[MANT_LIMBS-1-offs] >> sr;
- for (j = MANT_LIMBS-1; j > offs; j--) {
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/nasm/nasm/0001-preproc-parse_size-Check-for-string-provided.patch b/poky/meta/recipes-devtools/nasm/nasm/0001-preproc-parse_size-Check-for-string-provided.patch
deleted file mode 100644
index 2121fd17f..000000000
--- a/poky/meta/recipes-devtools/nasm/nasm/0001-preproc-parse_size-Check-for-string-provided.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From a2f43331a853b7cc449cae3361ee1fb54c7fad8d Mon Sep 17 00:00:00 2001
-From: Cyrill Gorcunov <gorcunov@gmail.com>
-Date: Sat, 29 Sep 2018 14:30:14 +0300
-Subject: [PATCH] preproc: parse_size -- Check for string provided
-
-In case if the string is nil we will have sigsegv.
-
-https://bugzilla.nasm.us/show_bug.cgi?id=3392507
-
-Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-
-CVE: CVE-2018-1000667
-Upstream-Status: Backport
-https://repo.or.cz/nasm/nasm.git/commit/c713b5f994cf7b29164c3b6838b91f0499591434
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- asm/preproc.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/asm/preproc.c b/asm/preproc.c
-index 475926d..1d770a5 100644
---- a/asm/preproc.c
-+++ b/asm/preproc.c
-@@ -2216,8 +2216,7 @@ static int parse_size(const char *str) {
- { "byte", "dword", "oword", "qword", "tword", "word", "yword" };
- static const int sizes[] =
- { 0, 1, 4, 16, 8, 10, 2, 32 };
--
-- return sizes[bsii(str, size_names, ARRAY_SIZE(size_names))+1];
-+ return str ? sizes[bsii(str, size_names, ARRAY_SIZE(size_names))+1] : 0;
- }
-
- /*
---
-2.8.1
-
diff --git a/poky/meta/recipes-devtools/nasm/nasm_2.13.03.bb b/poky/meta/recipes-devtools/nasm/nasm_2.13.03.bb
deleted file mode 100644
index de4c55446..000000000
--- a/poky/meta/recipes-devtools/nasm/nasm_2.13.03.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "General-purpose x86 assembler"
-SECTION = "devel"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=90904486f8fbf1861cf42752e1a39efe"
-
-SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2 \
- file://0001-asmlib-Drop-pure-function-attribute-from-seg_init.patch \
- file://0001-assemble-Check-global-line-limit.patch \
- file://0001-fix-CVE-2018-8882.patch \
- file://0001-Verify-that-we-are-not-reading-past-end-of-a-buffer.patch \
- file://0001-eval-Eliminate-division-by-zero.patch \
- file://0001-preproc-parse_size-Check-for-string-provided.patch \
- "
-
-SRC_URI[md5sum] = "0c581d482f39d5111879ca9601938f74"
-SRC_URI[sha256sum] = "63ec86477ad3f0f6292325fd89e1d93aea2e2fd490070863f17d48f7cd387011"
-
-inherit autotools-brokensep
-
-do_configure_prepend () {
- if [ -f ${S}/aclocal.m4 ] && [ ! -f ${S}/acinclude.m4 ]; then
- mv ${S}/aclocal.m4 ${S}/acinclude.m4
- fi
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -d ${D}${mandir}/man1
-
- oe_runmake 'INSTALLROOT=${D}' install
-}
-
-BBCLASSEXTEND = "native"
-
-DEPENDS = "groff-native"
diff --git a/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb b/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb
new file mode 100644
index 000000000..ecec78d8e
--- /dev/null
+++ b/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb
@@ -0,0 +1,20 @@
+SUMMARY = "General-purpose x86 assembler"
+SECTION = "devel"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=90904486f8fbf1861cf42752e1a39efe"
+
+SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "3f489aa48ad2aa1f967dc5e293bbd06f"
+SRC_URI[sha256sum] = "34fd26c70a277a9fdd54cb5ecf389badedaf48047b269d1008fbc819b24e80bc"
+
+# brokensep since this uses autoconf but not automake
+inherit autotools-brokensep
+
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS = "groff-native"
+
+CVE_PRODUCT = "netwide_assembler"
diff --git a/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch b/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch
new file mode 100644
index 000000000..543d4f1c4
--- /dev/null
+++ b/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch
@@ -0,0 +1,39 @@
+2ff54ad7478a90bd75c91e434236a Mon Sep 17 00:00:00 2001
+From: makepost <makepost@firemail.cc>
+Date: Mon, 24 Dec 2018 03:13:16 +0200
+Subject: [PATCH] Use st_mtim if st_mtime is macro, fix #1510
+
+In POSIX.1-2008, sys_stat has a st_mtim member and a st_mtime backward
+compatibility macro. Should help avoid hardcoding platform detection.
+---
+ src/disk_interface.cc | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/src/disk_interface.cc b/src/disk_interface.cc
+index d4c2fb087..dc297c449 100644
+--- src/disk_interface.cc
++++ /src/disk_interface.cc
+@@ -202,19 +202,13 @@ TimeStamp RealDiskInterface::Stat(const string& path, string* err) const {
+ // that it doesn't exist.
+ if (st.st_mtime == 0)
+ return 1;
+-#if defined(__APPLE__) && !defined(_POSIX_C_SOURCE)
++#if defined(_AIX)
++ return (int64_t)st.st_mtime * 1000000000LL + st.st_mtime_n;
++#elif defined(__APPLE__)
+ return ((int64_t)st.st_mtimespec.tv_sec * 1000000000LL +
+ st.st_mtimespec.tv_nsec);
+-#elif (_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700 || defined(_BSD_SOURCE) || defined(_SVID_SOURCE) || \
+- defined(__BIONIC__) || (defined (__SVR4) && defined (__sun)) || defined(__FreeBSD__))
+- // For glibc, see "Timestamp files" in the Notes of http://www.kernel.org/doc/man-pages/online/pages/man2/stat.2.html
+- // newlib, uClibc and musl follow the kernel (or Cygwin) headers and define the right macro values above.
+- // For bsd, see https://github.com/freebsd/freebsd/blob/master/sys/sys/stat.h and similar
+- // For bionic, C and POSIX API is always enabled.
+- // For solaris, see https://docs.oracle.com/cd/E88353_01/html/E37841/stat-2.html.
++#elif defined(st_mtime) // A macro, so we're likely on modern POSIX.
+ return (int64_t)st.st_mtim.tv_sec * 1000000000LL + st.st_mtim.tv_nsec;
+-#elif defined(_AIX)
+- return (int64_t)st.st_mtime * 1000000000LL + st.st_mtime_n;
+ #else
+ return (int64_t)st.st_mtime * 1000000000LL + st.st_mtimensec;
+ #endif
diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.8.2.bb b/poky/meta/recipes-devtools/ninja/ninja_1.8.2.bb
deleted file mode 100644
index c6fcfef3d..000000000
--- a/poky/meta/recipes-devtools/ninja/ninja_1.8.2.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Ninja is a small build system with a focus on speed."
-HOMEPAGE = "http://martine.github.com/ninja/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e"
-
-DEPENDS = "re2c-native ninja-native"
-
-SRCREV = "253e94c1fa511704baeb61cf69995bbf09ba435e"
-
-SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
-
-S = "${WORKDIR}/git"
-
-do_configure[noexec] = "1"
-
-do_compile_class-native() {
- ./configure.py --bootstrap
-}
-
-do_compile() {
- ./configure.py
- ninja
-}
-
-do_install() {
- install -D -m 0755 ${S}/ninja ${D}${bindir}/ninja
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb b/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb
new file mode 100644
index 000000000..1b0632896
--- /dev/null
+++ b/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Ninja is a small build system with a focus on speed."
+HOMEPAGE = "http://martine.github.com/ninja/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e"
+
+DEPENDS = "re2c-native ninja-native"
+
+SRCREV = "b25c08bda4949192c69cea4cee057887341a2ffc"
+
+SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release \
+ file://fix-musl.patch \
+"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
+
+S = "${WORKDIR}/git"
+
+do_configure[noexec] = "1"
+
+do_compile_class-native() {
+ ./configure.py --bootstrap
+}
+
+do_compile() {
+ ./configure.py
+ ninja
+}
+
+do_install() {
+ install -D -m 0755 ${S}/ninja ${D}${bindir}/ninja
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Only-use-sort-name-on-versions-of-tar-which-support-.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Only-use-sort-name-on-versions-of-tar-which-support-.patch
deleted file mode 100644
index 6b7ca7da3..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Only-use-sort-name-on-versions-of-tar-which-support-.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From ef5db062b7d25e6070acc6922ea48f50491313b5 Mon Sep 17 00:00:00 2001
-From: Michael Hansen <michael.j.hansen@hp.com>
-Date: Mon, 26 Feb 2018 09:42:56 -0800
-Subject: [PATCH 1/2] Only use --sort=name on versions of tar which support it.
- This fixes compatibility with bsdtar and old versions of GNU tar (e.g.
- RHEL6).
-
-Signed-off-by: Michael Hansen <michael.j.hansen@hp.com>
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Upstream-Status: Backport
-
----
- opkg-build | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-Index: opkg-utils-0.3.6/opkg-build
-===================================================================
---- opkg-utils-0.3.6.orig/opkg-build
-+++ opkg-utils-0.3.6/opkg-build
-@@ -232,6 +232,11 @@ if [ $compressor = "gzip" ] ; then
- compressorargs=$zipargs
- fi
-
-+tsortargs=
-+if tar --help 2>&1 | grep -- "--sort=" > /dev/null; then
-+ tsortargs="--sort=name"
-+fi
-+
- shift $(($OPTIND - 1))
-
- # continue on to process additional arguments
-@@ -280,8 +285,8 @@ mkdir $tmp_dir
- build_date="$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y-%m-%d)"
-
- echo $CONTROL > $tmp_dir/tarX
--( cd $pkg_dir && tar $ogargs --sort=name --mtime=$build_date -X $tmp_dir/tarX -c $tarformat . | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
--( cd $pkg_dir/$CONTROL && tar $ogargs --sort=name --mtime=$build_date -c $tarformat . | gzip $zipargs > $tmp_dir/control.tar.gz )
-+( cd $pkg_dir && tar $ogargs $tsortargs --mtime=$build_date -X $tmp_dir/tarX -c $tarformat . | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
-+( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --mtime=$build_date -c $tarformat . | gzip $zipargs > $tmp_dir/control.tar.gz )
- rm $tmp_dir/tarX
-
- echo "2.0" > $tmp_dir/debian-binary
-@@ -296,7 +301,7 @@ rm -f $pkg_file
- if [ "$outer" = "ar" ] ; then
- ( cd $tmp_dir && ar -crf $pkg_file ./debian-binary ./control.tar.gz ./data.tar.$cext )
- else
-- ( cd $tmp_dir && tar -c --sort=name --mtime=$build_date $tarformat ./debian-binary ./control.tar.gz ./data.tar.$cext | gzip $zipargs > $pkg_file )
-+ ( cd $tmp_dir && tar -c $tsortargs --mtime=$build_date $tarformat ./debian-binary ./control.tar.gz ./data.tar.$cext | gzip $zipargs > $pkg_file )
- fi
-
- rm $tmp_dir/debian-binary $tmp_dir/data.tar.$cext $tmp_dir/control.tar.gz
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch
index c36ae2ffd..691ed50c2 100644
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch
@@ -64,8 +64,9 @@ index 3f757f6..2988f9f 100755
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
- from __future__ import absolute_import
- from __future__ import print_function
+ """
+ Utility to create opkg compatible indexes
+ """
diff --git a/opkg-show-deps b/opkg-show-deps
index 153f21e..4e18b4f 100755
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch
new file mode 100644
index 000000000..6c058c71d
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch
@@ -0,0 +1,33 @@
+From 42afc1f652d28dce3c5b9915d0cd3087a144e445 Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Date: Mon, 18 Feb 2019 11:25:43 -0600
+Subject: [PATCH] opkg-build: do not set mtime on data.tar.X
+
+Opkg should make sure the binaries it creates are created in a
+repoducibe way, but it shouldn't modify the mtime of the binaries it
+consumes. Doing so has side effects, for exmaple, Python pyc files are
+invalidated.
+
+Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+
+Upstream-Status: Submitted
+---
+ opkg-build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/opkg-build b/opkg-build
+index 13782ee..363cd01 100755
+--- a/opkg-build
++++ b/opkg-build
+@@ -301,7 +301,7 @@ build_date="${SOURCE_DATE_EPOCH:-$(date +%s)}"
+
+ ( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list )
+ ( cd $pkg_dir && find . -path ./$CONTROL -prune -o -print > $tmp_dir/file_list )
+-( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
++( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
+ ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz )
+ rm $tmp_dir/file_list
+ rm $tmp_dir/control_list
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-Fix-link-relocation-support.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-Fix-link-relocation-support.patch
deleted file mode 100644
index 9dc488b7a..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-update-alternatives-Fix-link-relocation-support.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 18562ccae6996431d37767653b061d4e9e1b9424 Mon Sep 17 00:00:00 2001
-From: Niko Mauno <niko.mauno@iki.fi>
-Date: Sun, 11 Nov 2018 15:50:22 +0200
-Subject: [opkg-utils PATCH] update-alternatives: Fix link relocation support
-
-Commit fcb26339000021eb9bb711aa264247aebcfdd4ae which added Debian-style
-support for link relocation tries to relocate symbolic link on host OS,
-resulting in following-like error when two alternative packages have
-symbolic link source located in different directories (/bin/rev ->
-/bin/busybox.nosuid and /usr/bin/rev -> /usr/bin/rev.util-linux):
-
- update-alternatives: renaming rev link from /bin/rev to /usr/bin/rev
- mv: cannot stat '/bin/rev': No such file or directory
-
-Fix the issue by prefixing 'olink' and 'link' variable references with
-path to targeted root filesystem's root directory.
-
-Upstream-Status: Submitted [opkg-utils]
-
-Signed-off-by: Niko Mauno <niko.mauno@iki.fi>
----
- update-alternatives | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/update-alternatives b/update-alternatives
-index 89a440b..d4fa7eb 100644
---- a/update-alternatives
-+++ b/update-alternatives
-@@ -58,7 +58,7 @@ register_alt() {
- local link_str=`echo $link | protect_slashes`
- sed -e "1s/.*/$link_str/" $ad/$name > $ad/$name.new
- mv $ad/$name.new $ad/$name
-- mv $olink $link
-+ mv $OPKG_OFFLINE_ROOT$olink $OPKG_OFFLINE_ROOT$link
- fi
- else
- echo "$link" > "$ad/$name"
---
-2.19.1
-
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0002-opkg-build-Use-local-time-for-build_date-since-opkg-.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0002-opkg-build-Use-local-time-for-build_date-since-opkg-.patch
deleted file mode 100644
index e338914b0..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0002-opkg-build-Use-local-time-for-build_date-since-opkg-.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 5727826b51cf99feaff3483a9df8af2043e7efc1 Mon Sep 17 00:00:00 2001
-From: Michael Hansen <michael.j.hansen@hp.com>
-Date: Mon, 26 Feb 2018 10:17:01 -0800
-Subject: [PATCH 2/2] opkg-build: Use local time for build_date, since opkg
- extracts files assuming local time rather than UTC. Also increase resolution
- of build date down to the second, rather than clamping to midnight of the
- current date.
-
-Signed-off-by: Michael Hansen <michael.j.hansen@hp.com>
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Upstream-Status: Backport
-
----
- opkg-build | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-Index: opkg-utils-0.3.6/opkg-build
-===================================================================
---- opkg-utils-0.3.6.orig/opkg-build
-+++ opkg-utils-0.3.6/opkg-build
-@@ -282,11 +282,11 @@ fi
- tmp_dir=$dest_dir/IPKG_BUILD.$$
- mkdir $tmp_dir
-
--build_date="$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y-%m-%d)"
-+build_date="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" "+%Y-%m-%d %H:%M:%S")"
-
- echo $CONTROL > $tmp_dir/tarX
--( cd $pkg_dir && tar $ogargs $tsortargs --mtime=$build_date -X $tmp_dir/tarX -c $tarformat . | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
--( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --mtime=$build_date -c $tarformat . | gzip $zipargs > $tmp_dir/control.tar.gz )
-+( cd $pkg_dir && tar $ogargs $tsortargs --mtime="$build_date" -X $tmp_dir/tarX -c $tarformat . | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
-+( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --mtime="$build_date" -c $tarformat . | gzip $zipargs > $tmp_dir/control.tar.gz )
- rm $tmp_dir/tarX
-
- echo "2.0" > $tmp_dir/debian-binary
-@@ -301,7 +301,7 @@ rm -f $pkg_file
- if [ "$outer" = "ar" ] ; then
- ( cd $tmp_dir && ar -crf $pkg_file ./debian-binary ./control.tar.gz ./data.tar.$cext )
- else
-- ( cd $tmp_dir && tar -c $tsortargs --mtime=$build_date $tarformat ./debian-binary ./control.tar.gz ./data.tar.$cext | gzip $zipargs > $pkg_file )
-+ ( cd $tmp_dir && tar -c $tsortargs --mtime="$build_date" $tarformat ./debian-binary ./control.tar.gz ./data.tar.$cext | gzip $zipargs > $pkg_file )
- fi
-
- rm $tmp_dir/debian-binary $tmp_dir/data.tar.$cext $tmp_dir/control.tar.gz
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/pigz.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/pigz.patch
deleted file mode 100644
index dd433e8eb..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/pigz.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From ab1436927b47badcd219a5f075dfc848020e061d Mon Sep 17 00:00:00 2001
-From: Mike Crowe <mac@mcrowe.com>
-Date: Thu, 4 Oct 2018 17:54:19 +0100
-Subject: [opkg-utils PATCH] opkg-build: Add support for explicit use of pigz
-To: opkg-devel@googlegroups.com,
- yocto@yoctoproject.org
-
-oe-core has stopped[1] installing pigz as gzip. This means that in
-order to persuade opkg-build to use pigz it must be specified
-explicitly. Let's teach opkg-build to deal with being passed pigz as a
-compressor.
-
-We can't combine the check for whether -T is required with the one for
-gzip because opkg-build needs to call $compressor and gzip separately
-to construct the package.
-
-[1] http://lists.openembedded.org/pipermail/openembedded-commits/2018-February/218767.html
-
-Upstream-Status: Submitted [opkg-devel@googlegroups.com https://groups.google.com/forum/#!topic/opkg-devel/E0WVOhjK61w]
-Signed-off-by: Mike Crowe <mac@mcrowe.com>
----
- opkg-build | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/opkg-build b/opkg-build
-index 93a7956..f8403ea 100755
---- a/opkg-build
-+++ b/opkg-build
-@@ -170,7 +170,7 @@ fi
-
- compressor_ext() {
- case $1 in
-- gzip)
-+ gzip|pigz)
- echo gz
- ;;
- bzip2)
-@@ -232,6 +232,10 @@ if [ $compressor = "gzip" ] ; then
- compressorargs=$zipargs
- elif [ $compressor = "xz" ] ; then
- compressorargs="--threads 0"
-+elif [ $compressor = "pigz" ] ; then
-+ if $compressor --help 2>&1 | grep -- "-T" > /dev/null; then
-+ compressorargs="-9nT"
-+ fi
- fi
-
- tsortargs=
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/tar_ignore_error.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/tar_ignore_error.patch
deleted file mode 100644
index d8931b281..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/tar_ignore_error.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-If a the number of hard links decreases or increases while creating
-the tar files used for an ipk package, tar fails with error code 1:
-
-| DEBUG: Executing python function do_package_ipk
-| tar: ./usr/src/debug/gperf/3.0.4-r0/gperf-3.0.4/src/main.cc: file changed as we read it
-NOTE: recipe gperf-3.0.4-r0: task do_package_write_ipk: Failed
-ERROR: Task 6539 (recipes-extended/gperf/gperf_3.0.4.bb, do_package_write_ipk) failed with exit code '1'
-
-
-We detect if the error code produced by tar is 1 and in this case ignore it.
-
-This a similar behavior to the one on dpkg:
-http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=40731942515ec8d80c727ad561174986d4f05818
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
-
-Index: git/opkg-build
-
-===================================================================
---- git.orig/opkg-build
-+++ git/opkg-build
-@@ -285,8 +285,21 @@ mkdir $tmp_dir
- build_date="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" "+%Y-%m-%d %H:%M:%S")"
-
- echo $CONTROL > $tmp_dir/tarX
--( cd $pkg_dir && tar $ogargs $tsortargs --mtime="$build_date" -X $tmp_dir/tarX -c $tarformat . | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
--( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --mtime="$build_date" -c $tarformat . | gzip $zipargs > $tmp_dir/control.tar.gz )
-+
-+
-+# Ignore error code 1, caused by modifying the number of hard links while creating the tar file
-+rc=0
-+( cd $pkg_dir && tar $ogargs $tsortargs --mtime="$build_date" -X $tmp_dir/tarX -c $tarformat . | $compressor $compressorargs > $tmp_dir/data.tar.$cext ) || rc=$?
-+if [ $rc -ne 1 ] && [ $rc -ne 0 ]; then
-+ exit $rc
-+fi
-+
-+rc=0
-+( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --mtime="$build_date" -c $tarformat . | gzip $zipargs > $tmp_dir/control.tar.gz ) || rc=$?
-+if [ $rc -ne 1 ] && [ $rc -ne 0 ]; then
-+ exit $rc
-+fi
-+
- rm $tmp_dir/tarX
-
- echo "2.0" > $tmp_dir/debian-binary
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/threaded-xz.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/threaded-xz.patch
deleted file mode 100644
index 13a49f917..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/threaded-xz.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Pass --threads=0 to xz so that it will use as many threads as there are cores to compress the packages. This makes qemu's do_package_ipk run in 34s instead of 275s on my machine.
-
-Upstream-Status: Inappropriate (ugly but works, discussing with upstream now)
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/opkg-build b/opkg-build
-index 0050c2b..93a7956 100755
---- a/opkg-build
-+++ b/opkg-build
-@@ -230,6 +230,8 @@ if gzip --help 2>&1 | grep -- "-T" > /dev/null; then
- fi
- if [ $compressor = "gzip" ] ; then
- compressorargs=$zipargs
-+elif [ $compressor = "xz" ] ; then
-+ compressorargs="--threads 0"
- fi
-
- tsortargs=
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb
deleted file mode 100644
index 4c41774c3..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "Additional utilities for the opkg package manager"
-SUMMARY_update-alternatives-opkg = "Utility for managing the alternatives system"
-SECTION = "base"
-HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://opkg.py;beginline=2;endline=18;md5=63ce9e6bcc445181cd9e4baf4b4ccc35"
-PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"
-
-SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \
- file://0001-Switch-all-scripts-to-use-Python-3.x.patch \
- file://0001-Only-use-sort-name-on-versions-of-tar-which-support-.patch \
- file://0002-opkg-build-Use-local-time-for-build_date-since-opkg-.patch \
- file://threaded-xz.patch \
- file://pigz.patch \
- file://0001-update-alternatives-Fix-link-relocation-support.patch \
-"
-SRC_URI_append_class-native = " file://tar_ignore_error.patch"
-UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
-
-
-SRC_URI[md5sum] = "391c1c80aca26961375dd22e1d2d0cbf"
-SRC_URI[sha256sum] = "26b3f4dd1c1ef65f519d4cddfb35ebea41ae8af989aea2699a39783598c33769"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-# For native builds we use the host Python
-PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-pickle python3-compression python3-stringold"
-PYTHONRDEPS_class-native = ""
-
-PACKAGECONFIG = "python update-alternatives"
-PACKAGECONFIG[python] = ",,,${PYTHONRDEPS}"
-PACKAGECONFIG[update-alternatives] = ",,,"
-
-do_install() {
- oe_runmake PREFIX=${prefix} DESTDIR=${D} install
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'true', 'false', d)}; then
- rm -f "${D}${bindir}/update-alternatives"
- fi
-
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
- grep -lZ "/usr/bin/env.*python" ${D}${bindir}/* | xargs -0 rm
- fi
-}
-
-do_install_append_class-target() {
- if [ -e "${D}${bindir}/update-alternatives" ]; then
- sed -i ${D}${bindir}/update-alternatives -e 's,/usr/bin,${bindir},g; s,/usr/lib,${nonarch_libdir},g'
- fi
-}
-
-# These are empty and will pull python3-dev into images where it wouldn't
-# have been otherwise, so don't generate them.
-PACKAGES_remove = "${PN}-dev ${PN}-staticdev"
-
-PACKAGES =+ "update-alternatives-opkg"
-FILES_update-alternatives-opkg = "${bindir}/update-alternatives"
-RPROVIDES_update-alternatives-opkg = "update-alternatives update-alternatives-cworth"
-RREPLACES_update-alternatives-opkg = "update-alternatives-cworth"
-RCONFLICTS_update-alternatives-opkg = "update-alternatives-cworth"
-
-pkg_postrm_update-alternatives-opkg() {
- rm -rf $D${nonarch_libdir}/opkg/alternatives
- rmdir $D${nonarch_libdir}/opkg || true
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
-CLEANBROKEN = "1"
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb
new file mode 100644
index 000000000..9a3e06b92
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb
@@ -0,0 +1,64 @@
+SUMMARY = "Additional utilities for the opkg package manager"
+SUMMARY_update-alternatives-opkg = "Utility for managing the alternatives system"
+SECTION = "base"
+HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://opkg.py;beginline=2;endline=18;md5=63ce9e6bcc445181cd9e4baf4b4ccc35"
+PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"
+
+SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \
+ file://0001-Switch-all-scripts-to-use-Python-3.x.patch \
+ file://0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch \
+"
+UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
+
+
+SRC_URI[md5sum] = "6e1c2eae96239520a8eb3d05372773ea"
+SRC_URI[sha256sum] = "8153f4e5dadde422d35feaf86bf595266af9d0037389bc418fa87feb0437efb3"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+# For native builds we use the host Python
+PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-pickle python3-compression python3-stringold"
+PYTHONRDEPS_class-native = ""
+
+PACKAGECONFIG = "python update-alternatives"
+PACKAGECONFIG[python] = ",,,${PYTHONRDEPS}"
+PACKAGECONFIG[update-alternatives] = ",,,"
+
+do_install() {
+ oe_runmake PREFIX=${prefix} DESTDIR=${D} install
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'true', 'false', d)}; then
+ rm -f "${D}${bindir}/update-alternatives"
+ fi
+
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
+ grep -lZ "/usr/bin/env.*python" ${D}${bindir}/* | xargs -0 rm
+ fi
+}
+
+do_install_append_class-target() {
+ if [ -e "${D}${bindir}/update-alternatives" ]; then
+ sed -i ${D}${bindir}/update-alternatives -e 's,/usr/bin,${bindir},g; s,/usr/lib,${nonarch_libdir},g'
+ fi
+}
+
+# These are empty and will pull python3-dev into images where it wouldn't
+# have been otherwise, so don't generate them.
+PACKAGES_remove = "${PN}-dev ${PN}-staticdev"
+
+PACKAGES =+ "update-alternatives-opkg"
+FILES_update-alternatives-opkg = "${bindir}/update-alternatives"
+RPROVIDES_update-alternatives-opkg = "update-alternatives update-alternatives-cworth"
+RREPLACES_update-alternatives-opkg = "update-alternatives-cworth"
+RCONFLICTS_update-alternatives-opkg = "update-alternatives-cworth"
+
+pkg_postrm_update-alternatives-opkg() {
+ rm -rf $D${nonarch_libdir}/opkg/alternatives
+ rmdir $D${nonarch_libdir}/opkg || true
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+CLEANBROKEN = "1"
diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-libopkg-add-add-ignore-recommends-option.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-libopkg-add-add-ignore-recommends-option.patch
new file mode 100644
index 000000000..47d1b3c37
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg/opkg/0001-libopkg-add-add-ignore-recommends-option.patch
@@ -0,0 +1,259 @@
+From 64aa98646a17c299bf37af2975b98daf5d7d30b4 Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Date: Thu, 31 Jan 2019 18:16:08 -0600
+Subject: [PATCH] libopkg: add --add-ignore-recommends option
+
+Add option to ignore specific recommended packages. On the libsolv
+backed, this feature will only work on libsolv version > 0.7.2 [1].
+
+[1] https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openSUSE_libsolv_issues_254&d=DwIBaQ&c=I_0YwoKy7z5LMTVdyO6YCiE2uzI1jjZZuIPelcSjixA&r=wNcrL2akRn6jfxhHaKavUrJB_C9JAMXtynjLd8ZzgXQ&m=GObNHzFJpWpf_PripIrf-K2RhsktYdAUEieAJexXOKw&s=3G-meChUqClFggFPqsrAxIZBfLnRKIHm62Uuy1X6nQQ&e=
+
+Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+
+Upstream-Status: Accepted
+---
+ libopkg/opkg_conf.c | 2 +
+ libopkg/opkg_conf.h | 1 +
+ .../solvers/internal/pkg_depends_internal.c | 3 +-
+ libopkg/solvers/libsolv/opkg_solver_libsolv.c | 21 ++++++-
+ man/opkg.1.in | 3 +
+ src/opkg.c | 6 ++
+ tests/Makefile | 1 +
+ tests/core/43_add_ignore_recommends.py | 62 +++++++++++++++++++
+ 8 files changed, 97 insertions(+), 2 deletions(-)
+ create mode 100755 tests/core/43_add_ignore_recommends.py
+
+diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c
+index 06880a1..f2330cd 100644
+--- a/libopkg/opkg_conf.c
++++ b/libopkg/opkg_conf.c
+@@ -597,6 +597,7 @@ int opkg_conf_init(void)
+ pkg_dest_list_init(&opkg_config->tmp_dest_list);
+ nv_pair_list_init(&opkg_config->arch_list);
+ str_list_init(&opkg_config->exclude_list);
++ str_list_init(&opkg_config->ignore_recommends_list);
+
+ return 0;
+ }
+@@ -938,6 +939,7 @@ void opkg_conf_deinit(void)
+ pkg_dest_list_deinit(&opkg_config->pkg_dest_list);
+ nv_pair_list_deinit(&opkg_config->arch_list);
+ str_list_deinit(&opkg_config->exclude_list);
++ str_list_deinit(&opkg_config->ignore_recommends_list);
+
+ if (opkg_config->verbosity >= DEBUG) {
+ hash_print_stats(&opkg_config->pkg_hash);
+diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h
+index eb56a29..316c500 100644
+--- a/libopkg/opkg_conf.h
++++ b/libopkg/opkg_conf.h
+@@ -61,6 +61,7 @@ typedef struct opkg_conf {
+ pkg_dest_list_t tmp_dest_list;
+ nv_pair_list_t arch_list;
+ str_list_t exclude_list;
++ str_list_t ignore_recommends_list;
+
+ int restrict_to_default_dest;
+ pkg_dest_t *default_dest;
+diff --git a/libopkg/solvers/internal/pkg_depends_internal.c b/libopkg/solvers/internal/pkg_depends_internal.c
+index cd56d84..5deee70 100644
+--- a/libopkg/solvers/internal/pkg_depends_internal.c
++++ b/libopkg/solvers/internal/pkg_depends_internal.c
+@@ -228,7 +228,8 @@ int pkg_hash_fetch_unsatisfied_dependencies(pkg_t *pkg,
+ || compound_depend->type == SUGGEST)
+ && (satisfying_pkg->state_want == SW_DEINSTALL
+ || satisfying_pkg->state_want == SW_PURGE
+- || opkg_config->no_install_recommends);
++ || opkg_config->no_install_recommends
++ || str_list_contains(&opkg_config->ignore_recommends_list, satisfying_pkg->name));
+ if (ignore) {
+ opkg_msg(NOTICE,
+ "%s: ignoring recommendation for "
+diff --git a/libopkg/solvers/libsolv/opkg_solver_libsolv.c b/libopkg/solvers/libsolv/opkg_solver_libsolv.c
+index 2b27e3a..403e07b 100644
+--- a/libopkg/solvers/libsolv/opkg_solver_libsolv.c
++++ b/libopkg/solvers/libsolv/opkg_solver_libsolv.c
+@@ -484,6 +484,7 @@ static void pkg2solvable(pkg_t *pkg, Solvable *solvable_out)
+ static void populate_installed_repo(libsolv_solver_t *libsolv_solver)
+ {
+ int i;
++ Id what;
+
+ pkg_vec_t *installed_pkgs = pkg_vec_alloc();
+
+@@ -507,6 +508,15 @@ static void populate_installed_repo(libsolv_solver_t *libsolv_solver)
+ /* set solvable attributes */
+ pkg2solvable(pkg, solvable);
+
++ /* if the package is in ignore-recommends-list, disfavor installation */
++ if (str_list_contains(&opkg_config->ignore_recommends_list, pkg->name)) {
++ opkg_message(NOTICE, "Disfavor package: %s\n",
++ pkg->name);
++ what = pool_str2id(libsolv_solver->pool, pkg->name, 1);
++ queue_push2(&libsolv_solver->solver_jobs, SOLVER_SOLVABLE_NAME
++ | SOLVER_DISFAVOR, what);
++ }
++
+ /* if the package is not autoinstalled, mark it as user installed */
+ if (!pkg->auto_installed)
+ queue_push2(&libsolv_solver->solver_jobs, SOLVER_SOLVABLE
+@@ -539,7 +549,7 @@ static void populate_available_repos(libsolv_solver_t *libsolv_solver)
+ {
+ int i;
+ Solvable *solvable;
+- Id solvable_id;
++ Id solvable_id, what;
+
+ pkg_vec_t *available_pkgs = pkg_vec_alloc();
+
+@@ -608,6 +618,15 @@ static void populate_available_repos(libsolv_solver_t *libsolv_solver)
+ solvable = pool_id2solvable(libsolv_solver->pool, solvable_id);
+ pkg2solvable(pkg, solvable);
+
++ /* if the package is in ignore-recommends-list, disfavor installation */
++ if (str_list_contains(&opkg_config->ignore_recommends_list, pkg->name)) {
++ opkg_message(NOTICE, "Disfavor package: %s\n",
++ pkg->name);
++ what = pool_str2id(libsolv_solver->pool, pkg->name, 1);
++ queue_push2(&libsolv_solver->solver_jobs, SOLVER_SOLVABLE_NAME
++ | SOLVER_DISFAVOR, what);
++ }
++
+ /* if the --force-depends option is specified make dependencies weak */
+ if (opkg_config->force_depends)
+ queue_push2(&libsolv_solver->solver_jobs, SOLVER_SOLVABLE
+diff --git a/man/opkg.1.in b/man/opkg.1.in
+index 27fa9c1..f192c3b 100644
+--- a/man/opkg.1.in
++++ b/man/opkg.1.in
+@@ -162,6 +162,9 @@ priority \fIprio\fP. Lower priorities take precedence.
+ \fB\--add-exclude <\fIname\fP>\fR
+ Register package to be excluded from install
+ .TP
++\fB\--add-ignore-recommends <\fIname\fP>\fR
++Register package to be ignored as a recomendee
++.TP
+ \fB\--prefer-arch-to-version\fR
+ Use the architecture priority package rather than the higher version
+ one if more than one candidate is found.
+diff --git a/src/opkg.c b/src/opkg.c
+index 650e278..3c93a3b 100644
+--- a/src/opkg.c
++++ b/src/opkg.c
+@@ -51,6 +51,7 @@ enum {
+ ARGS_OPT_ADD_DEST,
+ ARGS_OPT_SIZE,
+ ARGS_OPT_ADD_EXCLUDE,
++ ARGS_OPT_ADD_IGNORE_RECOMMENDS,
+ ARGS_OPT_NOACTION,
+ ARGS_OPT_DOWNLOAD_ONLY,
+ ARGS_OPT_NODEPS,
+@@ -112,6 +113,7 @@ static struct option long_options[] = {
+ {"add-dest", 1, 0, ARGS_OPT_ADD_DEST},
+ {"size", 0, 0, ARGS_OPT_SIZE},
+ {"add-exclude", 1, 0, ARGS_OPT_ADD_EXCLUDE},
++ {"add-ignore-recommends", 1, 0, ARGS_OPT_ADD_IGNORE_RECOMMENDS},
+ {"test", 0, 0, ARGS_OPT_NOACTION},
+ {"tmp-dir", 1, 0, 't'},
+ {"tmp_dir", 1, 0, 't'},
+@@ -234,6 +236,9 @@ static int args_parse(int argc, char *argv[])
+ case ARGS_OPT_ADD_EXCLUDE:
+ str_list_append(&opkg_config->exclude_list, optarg);
+ break;
++ case ARGS_OPT_ADD_IGNORE_RECOMMENDS:
++ str_list_append(&opkg_config->ignore_recommends_list, optarg);
++ break;
+ case ARGS_OPT_SIZE:
+ opkg_config->size = 1;
+ break;
+@@ -343,6 +348,7 @@ static void usage()
+ printf("\t--add-dest <name>:<path> Register destination with given path\n");
+ printf("\t--add-arch <arch>:<prio> Register architecture with given priority\n");
+ printf("\t--add-exclude <name> Register package to be excluded from install\n");
++ printf("\t--add-ignore-recommends <name> Register package to be ignored as a recomendee\n");
+ printf("\t--prefer-arch-to-version Use the architecture priority package rather\n");
+ printf("\t than the higher version one if more\n");
+ printf("\t than one candidate is found.\n");
+diff --git a/tests/Makefile b/tests/Makefile
+index 8e5be08..799816d 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -42,6 +42,7 @@ REGRESSION_TESTS := core/01_install.py \
+ core/40_arch.py \
+ core/41_info_fields.py \
+ core/42_info_description.py \
++ core/43_add_ignore_recommends.py \
+ regress/issue26.py \
+ regress/issue31.py \
+ regress/issue32.py \
+diff --git a/tests/core/43_add_ignore_recommends.py b/tests/core/43_add_ignore_recommends.py
+new file mode 100755
+index 0000000..7da0096
+--- /dev/null
++++ b/tests/core/43_add_ignore_recommends.py
+@@ -0,0 +1,62 @@
++#! /usr/bin/env python3
++#
++# Create package 'a' (1.0) which Recommends 'c'.
++# Install 'a' with --add-ignore-recommends 'c'.
++# Check that only 'a' (1.0) is installed.
++# Create package 'b' which Depends on 'c'.
++# Install 'a' & 'b', with --add-ignore-recommends 'c'.
++# Verify that 'a','b' & 'c' are installed.
++# Uninstall 'b' & 'c'.
++# Create package 'a' (2.0), which Recommends 'c'.
++# Upgrade 'a' with --add-ignore-recommends 'c'
++# Verify that only 'a' (2.0) is installed
++#
++
++import os
++import opk, cfg, opkgcl
++
++opk.regress_init()
++o = opk.OpkGroup()
++
++o.add(Package='a', Recommends='c', Version='1.0')
++o.add(Package='b', Depends='c')
++o.add(Package='c')
++o.write_opk()
++o.write_list()
++
++opkgcl.update()
++
++opkgcl.install('a', '--add-ignore-recommends c')
++
++if not opkgcl.is_installed('a'):
++ opk.fail("Package 'a' installed but reports as not installed.")
++
++if opkgcl.is_installed('c'):
++ opk.xfail("[libsolv<0.7.3] Package 'c' should not have been installed since it was in --add-ignore-recommends.")
++
++opkgcl.remove('a')
++opkgcl.install('a b', '--add-ignore-recommends c')
++
++if not opkgcl.is_installed('a'):
++ opk.fail("Package 'a' installed but reports as not installed.")
++
++if not opkgcl.is_installed('b'):
++ opk.fail("Package 'b' installed but reports as not installed.")
++
++if not opkgcl.is_installed('c'):
++ opk.fail("Package 'c' should have been installed since 'b' depends on it.")
++
++opkgcl.remove('b c', '--force-depends')
++o.add(Package='a', Recommends='c', Version='2.0')
++o.write_opk()
++o.write_list()
++
++opkgcl.update()
++
++opkgcl.upgrade('a', '--add-ignore-recommends c')
++
++if not opkgcl.is_installed('a', '2.0'):
++ opk.fail("Package 'a (2.0)' installed but reports as not installed.")
++
++if opkgcl.is_installed('c'):
++ opk.fail("Package 'c' should not have been installed since it was in --add-ignore-recommends.")
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-remove_maintainer_scripts-use-strict-matching.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-remove_maintainer_scripts-use-strict-matching.patch
deleted file mode 100644
index ec160290b..000000000
--- a/poky/meta/recipes-devtools/opkg/opkg/0001-remove_maintainer_scripts-use-strict-matching.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 55c4ad666e76281bdd0db55fa6f4ab2744fea7e4 Mon Sep 17 00:00:00 2001
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Date: Tue, 4 Sep 2018 18:06:00 -0500
-Subject: [PATCH] remove_maintainer_scripts: use strict matching
-
-The function is using a glob to select which metadata files needs to be
-deleted during package removal, on the info_dir. However, the glob may
-match metadata files from packages with similar names. For example,
-during removal of package glibc-binary-localedata-de-at, the current
-logic was also removing the metadata for
-glibc-binary-localedata-de-at.iso-8859-1. Add check for an exact match
-before deletion.
-
-Fixes bugzilla: 12905
-
-Upstream-Status: Submitted [https://groups.google.com/forum/#!topic/opkg-devel/Fr40Yt0NBno]
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
----
- libopkg/opkg_remove.c | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/libopkg/opkg_remove.c b/libopkg/opkg_remove.c
-index 82125fa..3936628 100644
---- a/libopkg/opkg_remove.c
-+++ b/libopkg/opkg_remove.c
-@@ -137,7 +137,7 @@ void remove_maintainer_scripts(pkg_t * pkg)
- {
- unsigned int i;
- int err;
-- char *globpattern;
-+ char *globpattern, *filename, *lastdot;
- glob_t globbuf;
-
- if (opkg_config->noaction)
-@@ -151,8 +151,16 @@ void remove_maintainer_scripts(pkg_t * pkg)
- return;
-
- for (i = 0; i < globbuf.gl_pathc; i++) {
-- opkg_msg(INFO, "Deleting %s.\n", globbuf.gl_pathv[i]);
-- unlink(globbuf.gl_pathv[i]);
-+ filename = xstrdup(basename(globbuf.gl_pathv[i]));
-+ lastdot = strrchr(filename, '.');
-+ *lastdot = '\0';
-+ // Only delete files that match the package name (the glob may match files
-+ // with similar names)
-+ if (!strcmp(filename, pkg->name)) {
-+ opkg_msg(INFO, "Deleting %s.\n", globbuf.gl_pathv[i]);
-+ unlink(globbuf.gl_pathv[i]);
-+ }
-+ free(filename);
- }
- globfree(&globbuf);
- }
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.3.6.bb b/poky/meta/recipes-devtools/opkg/opkg_0.3.6.bb
deleted file mode 100644
index 6ebd58b96..000000000
--- a/poky/meta/recipes-devtools/opkg/opkg_0.3.6.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-SUMMARY = "Open Package Manager"
-SUMMARY_libopkg = "Open Package Manager library"
-SECTION = "base"
-HOMEPAGE = "http://code.google.com/p/opkg/"
-BUGTRACKER = "http://code.google.com/p/opkg/issues/list"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://src/opkg.c;beginline=2;endline=21;md5=90435a519c6ea69ef22e4a88bcc52fa0"
-
-DEPENDS = "libarchive"
-
-PE = "1"
-
-SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
- file://opkg.conf \
- file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
- file://0001-remove_maintainer_scripts-use-strict-matching.patch \
-"
-
-SRC_URI[md5sum] = "79e04307f6f54db431c251772d7d987c"
-SRC_URI[sha256sum] = "f607f0e61be8cf8a3bbd0d2dccd9ec9e9b6c21dd4307b671c600d6eeaf84d30b"
-
-inherit autotools pkgconfig systemd
-
-target_localstatedir := "${localstatedir}"
-OPKGLIBDIR = "${target_localstatedir}/lib"
-
-PACKAGECONFIG ??= "libsolv"
-
-PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,gpgme libgpg-error,gnupg"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
-PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
-PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256"
-PACKAGECONFIG[pathfinder] = "--enable-pathfinder,--disable-pathfinder,pathfinder"
-PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv"
-
-EXTRA_OECONF_class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}"
-
-do_install_append () {
- install -d ${D}${sysconfdir}/opkg
- install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
- echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf
-
- # We need to create the lock directory
- install -d ${D}${OPKGLIBDIR}/opkg
-}
-
-RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-nativesdk = ""
-RREPLACES_${PN} = "opkg-nogpg opkg-collateral"
-RCONFLICTS_${PN} = "opkg-collateral"
-RPROVIDES_${PN} = "opkg-collateral"
-
-PACKAGES =+ "libopkg"
-
-FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
-
-BBCLASSEXTEND = "native nativesdk"
-
-CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb
new file mode 100644
index 000000000..a2329d3e7
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb
@@ -0,0 +1,62 @@
+SUMMARY = "Open Package Manager"
+SUMMARY_libopkg = "Open Package Manager library"
+SECTION = "base"
+HOMEPAGE = "http://code.google.com/p/opkg/"
+BUGTRACKER = "http://code.google.com/p/opkg/issues/list"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://src/opkg.c;beginline=2;endline=21;md5=90435a519c6ea69ef22e4a88bcc52fa0"
+
+DEPENDS = "libarchive"
+
+PE = "1"
+
+SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
+ file://opkg.conf \
+ file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
+ file://0001-libopkg-add-add-ignore-recommends-option.patch \
+"
+
+SRC_URI[md5sum] = "ae51d95fee599bb4dce08453529158f5"
+SRC_URI[sha256sum] = "f6c00515d8a2ad8f6742a8e73830315d1983ed0459cba77c4d656cfc9e7fe6fe"
+
+inherit autotools pkgconfig systemd
+
+target_localstatedir := "${localstatedir}"
+OPKGLIBDIR = "${target_localstatedir}/lib"
+
+PACKAGECONFIG ??= "libsolv"
+
+PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,gpgme libgpg-error,gnupg"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
+PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256"
+PACKAGECONFIG[pathfinder] = "--enable-pathfinder,--disable-pathfinder,pathfinder"
+PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv"
+
+EXTRA_OECONF_class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/opkg
+ install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
+ echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf
+
+ # We need to create the lock directory
+ install -d ${D}${OPKGLIBDIR}/opkg
+}
+
+RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
+RDEPENDS_${PN}_class-native = ""
+RDEPENDS_${PN}_class-nativesdk = ""
+RREPLACES_${PN} = "opkg-nogpg opkg-collateral"
+RCONFLICTS_${PN} = "opkg-collateral"
+RPROVIDES_${PN} = "opkg-collateral"
+
+PACKAGES =+ "libopkg"
+
+FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
diff --git a/poky/meta/recipes-devtools/orc/orc_0.4.28.bb b/poky/meta/recipes-devtools/orc/orc_0.4.28.bb
index 415de64dc..03cddad8b 100644
--- a/poky/meta/recipes-devtools/orc/orc_0.4.28.bb
+++ b/poky/meta/recipes-devtools/orc/orc_0.4.28.bb
@@ -19,7 +19,7 @@ FILES_${PN} = "${bindir}/*"
python populate_packages_prepend () {
libdir = d.expand('${libdir}')
- do_split_packages(d, libdir, '^lib(.*)\.so\.*', 'lib%s', 'ORC %s library', extra_depends='', allow_links=True)
+ do_split_packages(d, libdir, r'^lib(.*)\.so\.*', 'lib%s', 'ORC %s library', extra_depends='', allow_links=True)
}
do_compile_prepend_class-native () {
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch
new file mode 100644
index 000000000..7d5c079b2
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch
@@ -0,0 +1,26 @@
+From 2f74a899474f428a4a5368a94accf801c5f97ae4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 4 Jun 2018 18:33:50 +0300
+Subject: [PATCH] ExtUtils-MakeMaker: add $(LDFLAGS) when linking binary
+ modules
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+index fe53be1..249c048 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+@@ -1050,7 +1050,7 @@ sub xs_make_dynamic_lib {
+ }
+
+ push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $dlsyms_arg, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist;
+- %s$(LD) %s $(LDDLFLAGS) %s %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
++ %s$(LD) %s $(LDDLFLAGS) %s %s $(LDFLAGS) $(OTHERLDFLAGS) %s $(MYEXTLIB) \
+ $(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \
+ $(INST_DYNAMIC_FIX)
+ $(CHMOD) $(PERM_RWX) $@
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch
new file mode 100644
index 000000000..ed8ec1d41
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch
@@ -0,0 +1,34 @@
+From e8e095b9c71c58f8197d6315359446b6b084cb2b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 5 Jun 2018 14:58:42 +0300
+Subject: [PATCH] Somehow this module breaks through the perl wrapper and
+ declares perl binary to be 'perl.real'. This patch forces it back to perl.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+index 948c476..f537526 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+@@ -1110,6 +1110,9 @@ WARNING
+ }
+
+ foreach my $name (@$names){
++ # Getting MakeMaker.pm use perl wrapper instead of 'perl.real' directly
++ $name =~ s/perl\.real/perl/ if ($name =~ /perl\.real/);
++
+ my ($abs, $use_dir);
+ if ($self->file_name_is_absolute($name)) { # /foo/bar
+ $abs = $name;
+@@ -2006,6 +2009,7 @@ sub init_PERL {
+
+ $self->{PERL} ||=
+ $self->find_perl(5.0, \@perls, \@defpath, $Verbose );
++
+
+ my $perl = $self->{PERL};
+ $perl =~ s/^"//;
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch
new file mode 100644
index 000000000..3b0fc453e
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch
@@ -0,0 +1,69 @@
+From 19c1987b455998d2959a5fdf3d1ed911d35e70f2 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 2 Jan 2019 17:55:35 +0100
+Subject: [PATCH] configure_path.sh: do not hardcode $prefix/lib as library
+ path
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ cnf/configure_args.sh | 2 +-
+ cnf/configure_path.sh | 11 ++++++-----
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/cnf/configure_args.sh b/cnf/configure_args.sh
+index 29ca4f5..3297fb3 100644
+--- a/cnf/configure_args.sh
++++ b/cnf/configure_args.sh
+@@ -155,7 +155,7 @@ while [ $i -le $# -o -n "$n" ]; do
+ help) mode="help" ;;
+ regen|regenerate) mode="regen" ;;
+ keeplog) defuser "$a" 1 ;;
+- prefix|html[13]dir|libsdir) defuser $a "$v" ;;
++ prefix|html[13]dir|libsdir|libdir) defuser $a "$v" ;;
+ man[13]dir|otherlibsdir) defuser $a "$v" ;;
+ siteprefix|sitehtml[13]dir) defuser $a "$v" ;;
+ siteman[13]dir|vendorman[13]dir)defuser $a "$v" ;;
+diff --git a/cnf/configure_path.sh b/cnf/configure_path.sh
+index fe7eac7..bcba8b8 100644
+--- a/cnf/configure_path.sh
++++ b/cnf/configure_path.sh
+@@ -30,6 +30,7 @@ definst() {
+ define "$1" "$installpath$v"
+ }
+
++define libdir "$prefix/lib"
+ define sharedir "$prefix/share"
+ define html1dir "$sharedir/doc/$perlname/html"
+ define html3dir "$sharedir/doc/$perlname/html"
+@@ -38,16 +39,16 @@ define man1ext "1"
+ define man3dir "$sharedir/man/man3"
+ define man3ext "3"
+ define bin "$prefix/bin"
+-define lib "$prefix/lib"
++define lib "$libdir"
+ define scriptdir "$prefix/bin"
+ define libsdirs ' '
+-defrel privlib "$prefix/lib/$package/$version"
+-defrel archlib "$prefix/lib/$package/$version/$archname"
++defrel privlib "$libdir/$package/$version"
++defrel archlib "$libdir/$package/$version/$archname"
+ define perlpath "$prefix/bin/$perlname"
+ define d_archlib 'define'
+
+ define sitebin "$prefix/bin"
+-defrel sitelib_stem "$prefix/lib/$package/site_perl"
++defrel sitelib_stem "$libdir/$package/site_perl"
+ define sitelib "$sitelib_stem/$version"
+ define sitearch "$sitelib_stem/$version/$archname"
+ define siteprefix "$prefix"
+@@ -145,7 +146,7 @@ vendortest() {
+ }
+
+ vendorpath vendorbin "$vendorprefix/bin"
+-vendorpath vendorlib_stem "$vendorprefix/lib/$package/vendor_perl"
++vendorpath vendorlib_stem "$libdir/$package/vendor_perl"
+ vendorpath vendorlib "$vendorlib_stem/$version"
+ vendorpath vendorarch "$vendorlib_stem/$version/$archname"
+ vendorpath vendorscript "$vendorprefix/bin"
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch
new file mode 100644
index 000000000..0aaeaa29e
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch
@@ -0,0 +1,29 @@
+From a66811c487ecf8ba8724879c253bb10dfa82aeb5 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 1 Jun 2018 19:57:32 +0300
+Subject: [PATCH] configure_tool.sh: do not quote the argument to 'command'
+
+As it seems to break things if the argument has spaces and arguments in it.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ cnf/configure_tool.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cnf/configure_tool.sh b/cnf/configure_tool.sh
+index 32201c0..461bc68 100644
+--- a/cnf/configure_tool.sh
++++ b/cnf/configure_tool.sh
+@@ -2,7 +2,7 @@
+
+ tryprog() {
+ log "trying $1=$2"
+- if command -v "$2" 1>/dev/null 2>/dev/null; then
++ if command -v $2 1>/dev/null 2>/dev/null; then
+ define "$1" "$2"
+ result "$2"
+ return 0
+--
+2.17.0
+
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch b/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch
new file mode 100644
index 000000000..e7985036a
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch
@@ -0,0 +1,27 @@
+From f824cbec9ac8f113a4ae35d57bd18625d415a71b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 27 Nov 2018 15:37:40 +0100
+Subject: [PATCH] perl-cross: add LDFLAGS when linking libperl
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 01644cd..be811a7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -180,7 +180,7 @@ endif
+
+ ifeq ($(useshrplib),true)
+ $(LIBPERL):
+- $(CC) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS)
++ $(CC) $(LDFLAGS) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS)
+ else
+ $(LIBPERL):
+ $(AR) cru $@ $(filter %$o,$^)
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/errno_ver.diff b/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff
index a965fbeee..a965fbeee 100644
--- a/poky/meta/recipes-devtools/perl/perl/debian/errno_ver.diff
+++ b/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch b/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch
new file mode 100644
index 000000000..a2e1aefd4
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch
@@ -0,0 +1,27 @@
+Upstream-Status:Inappropriate [embedded specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
+===================================================================
+--- perl-5.12.3.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
++++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
+@@ -1597,6 +1597,19 @@
+ $self->{PERL_LIB} ||= $Config{privlibexp};
+ $self->{PERL_ARCHLIB} ||= $Config{archlibexp};
+ $self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
++ # Check for environment override so we'll find the headers in the correct place
++ if (defined $ENV{PERL_LIB})
++ {
++ $self->{PERL_LIB} = $ENV{PERL_LIB};
++ }
++ if (defined $ENV{PERL_ARCHLIB})
++ {
++ $self->{PERL_ARCHLIB} = $ENV{PERL_ARCHLIB};
++ }
++ if (defined $ENV{PERL_INC})
++ {
++ $self->{PERL_INC} = $ENV{PERL_INC};
++ }
+ my $perl_h;
+
+ if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h"))
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch
new file mode 100644
index 000000000..e6f23eed6
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch
@@ -0,0 +1,48 @@
+This patch is used for perl-native only. It enables the switching of
+configuration files between Config_heavy.pl and
+Config_heavy-target.pl by setting the environment variables
+PERLCONFIGTARGET - the later containing settings for the target while
+the former contains those for the host. This will allow cpan.bbclass
+to use the settings appropriate for the native and/or target builds
+as required. This also disables the use of the cache since the cached
+values would be valid for the host only.
+
+Upstream-Status: Inappropriate [native]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+Index: perl-5.14.2/configpm
+===================================================================
+--- perl-5.14.2.orig/configpm
++++ perl-5.14.2/configpm
+@@ -658,7 +658,7 @@ sub FETCH {
+ my($self, $key) = @_;
+
+ # check for cached value (which may be undef so we use exists not defined)
+- return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
++ return $self->fetch_string($key);
+ }
+
+ ENDOFEND
+@@ -816,7 +816,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fa
+ sub DESTROY { }
+
+ sub AUTOLOAD {
+- require 'Config_heavy.pl';
++ my $cfgfile = 'Config_heavy.pl';
++ if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes")
++ {
++ $cfgfile = 'Config_heavy-target.pl';
++ }
++ if (defined $ENV{PERL_ARCHLIB})
++ {
++ push @INC, $ENV{PERL_ARCHLIB};
++ require $cfgfile;
++ pop @INC;
++ }
++ else
++ {
++ require $cfgfile;
++ }
+ goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
+ die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
+ }
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch b/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch
new file mode 100644
index 000000000..6bb832a42
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch
@@ -0,0 +1,38 @@
+Upstream-Status:Inappropriate [embedded specific]
+
+Allow the location that .so files are searched for for dynamic
+loading to be changed via an environment variable. This is to allow
+us to load .so's from the host system while building for the target
+system.
+
+Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21
+
+Index: perl-5.24.1/dist/XSLoader/XSLoader_pm.PL
+===================================================================
+--- perl-5.24.1.orig/dist/XSLoader/XSLoader_pm.PL
++++ perl-5.24.1/dist/XSLoader/XSLoader_pm.PL
+@@ -52,6 +52,24 @@ sub load {
+ my ($caller, $modlibname) = caller();
+ my $module = $caller;
+
++ # OE: Allow env to form dynamic loader to look in a different place
++ # This is so it finds the host .so files, not the targets
++ if (defined $ENV{PERLHOSTLIB})
++ {
++ my $hostlib = $ENV{PERLHOSTLIB};
++ my $hostarchlib = $ENV{PERLHOSTARCHLIB};
++ print STDERR "*** Module name IN: $modlibname\n";
++ ($p1, $p2, $p3, $p4, $p5, $p6, $p7) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl5\/[0-9\.]*\/)?)(([^\/]*)\/)?(.*)$/;
++ print STDERR "*** p1: $p1 p3: $p3 p5: $p5 p7: $p7\n";
++ if ( $p1 ne "" ) {
++ $modlibname = $hostlib.$p7;
++ }
++ if ( $p6 ne "" ) {
++ $modlibname = $hostarchlib.$p7;
++ }
++ print STDERR "*** Module name OUT: $modlibname\n";
++ }
++
+ if (@_) {
+ $module = $_[0];
+ } else {
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt
new file mode 100644
index 000000000..f93bbc764
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt
@@ -0,0 +1,4296 @@
+RDEPENDS_perl-module-anydbm-file += "perl-module-strict"
+RDEPENDS_perl-module-anydbm-file += "perl-module-warnings"
+RDEPENDS_perl-module-app-cpan += "perl-module-config"
+RDEPENDS_perl-module-app-cpan += "perl-module-constant"
+RDEPENDS_perl-module-app-cpan += "perl-module-cpan"
+RDEPENDS_perl-module-app-cpan += "perl-module-cwd"
+RDEPENDS_perl-module-app-cpan += "perl-module-data-dumper"
+RDEPENDS_perl-module-app-cpan += "perl-module-file-basename"
+RDEPENDS_perl-module-app-cpan += "perl-module-file-find"
+RDEPENDS_perl-module-app-cpan += "perl-module-getopt-std"
+RDEPENDS_perl-module-app-cpan += "perl-module-if"
+RDEPENDS_perl-module-app-cpan += "perl-module-net-ping"
+RDEPENDS_perl-module-app-cpan += "perl-module-strict"
+RDEPENDS_perl-module-app-cpan += "perl-module-user-pwent"
+RDEPENDS_perl-module-app-cpan += "perl-module-vars"
+RDEPENDS_perl-module-app-cpan += "perl-module-warnings"
+RDEPENDS_perl-module-app-prove += "perl-module-app-prove-state"
+RDEPENDS_perl-module-app-prove += "perl-module-base"
+RDEPENDS_perl-module-app-prove += "perl-module-constant"
+RDEPENDS_perl-module-app-prove += "perl-module-getopt-long"
+RDEPENDS_perl-module-app-prove += "perl-module-strict"
+RDEPENDS_perl-module-app-prove += "perl-module-tap-harness"
+RDEPENDS_perl-module-app-prove += "perl-module-tap-harness-env"
+RDEPENDS_perl-module-app-prove += "perl-module-text-parsewords"
+RDEPENDS_perl-module-app-prove += "perl-module-warnings"
+RDEPENDS_perl-module-app-prove-state += "perl-module-app-prove-state-result"
+RDEPENDS_perl-module-app-prove-state += "perl-module-base"
+RDEPENDS_perl-module-app-prove-state += "perl-module-constant"
+RDEPENDS_perl-module-app-prove-state += "perl-module-file-find"
+RDEPENDS_perl-module-app-prove-state += "perl-module-strict"
+RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-reader"
+RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-writer"
+RDEPENDS_perl-module-app-prove-state += "perl-module-warnings"
+RDEPENDS_perl-module-app-prove-state-result += "perl-module-app-prove-state-result-test"
+RDEPENDS_perl-module-app-prove-state-result += "perl-module-constant"
+RDEPENDS_perl-module-app-prove-state-result += "perl-module-strict"
+RDEPENDS_perl-module-app-prove-state-result += "perl-module-warnings"
+RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-strict"
+RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-warnings"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-constant"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-exporter"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-io-compress-bzip2"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-strict"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-time-local"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-warnings"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar-constant"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-file-basename"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-io-file"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-strict"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-vars"
+RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-constant"
+RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-file"
+RDEPENDS_perl-module-archive-tar += "perl-module-config"
+RDEPENDS_perl-module-archive-tar += "perl-module-cwd"
+RDEPENDS_perl-module-archive-tar += "perl-module-exporter"
+RDEPENDS_perl-module-archive-tar += "perl-module-file-path"
+RDEPENDS_perl-module-archive-tar += "perl-module-io-file"
+RDEPENDS_perl-module-archive-tar += "perl-module-io-zlib"
+RDEPENDS_perl-module-archive-tar += "perl-module-strict"
+RDEPENDS_perl-module-archive-tar += "perl-module-vars"
+RDEPENDS_perl-module-arybase += "perl-module-xsloader"
+RDEPENDS_perl-module-attribute-handlers += "perl-module-strict"
+RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings"
+RDEPENDS_perl-module-attributes += "perl-module-exporter"
+RDEPENDS_perl-module-attributes += "perl-module-strict"
+RDEPENDS_perl-module-attributes += "perl-module-warnings"
+RDEPENDS_perl-module-attributes += "perl-module-xsloader"
+RDEPENDS_perl-module-autodie-exception += "perl-module-constant"
+RDEPENDS_perl-module-autodie-exception += "perl-module-fatal"
+RDEPENDS_perl-module-autodie-exception += "perl-module-fcntl"
+RDEPENDS_perl-module-autodie-exception += "perl-module-overload"
+RDEPENDS_perl-module-autodie-exception += "perl-module-strict"
+RDEPENDS_perl-module-autodie-exception += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-exception-system += "perl-module-parent"
+RDEPENDS_perl-module-autodie-exception-system += "perl-module-strict"
+RDEPENDS_perl-module-autodie-exception-system += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-hints += "perl-module-b"
+RDEPENDS_perl-module-autodie-hints += "perl-module-constant"
+RDEPENDS_perl-module-autodie-hints += "perl-module-strict"
+RDEPENDS_perl-module-autodie-hints += "perl-module-warnings"
+RDEPENDS_perl-module-autodie += "perl-module-constant"
+RDEPENDS_perl-module-autodie += "perl-module-lib"
+RDEPENDS_perl-module-autodie += "perl-module-parent"
+RDEPENDS_perl-module-autodie += "perl-module-strict"
+RDEPENDS_perl-module-autodie += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-scope-guard += "perl-module-strict"
+RDEPENDS_perl-module-autodie-scope-guard += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-autodie-scope-guard"
+RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-strict"
+RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-skip += "perl-module-strict"
+RDEPENDS_perl-module-autodie-skip += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-util += "perl-module-autodie-scope-guardstack"
+RDEPENDS_perl-module-autodie-util += "perl-module-exporter"
+RDEPENDS_perl-module-autodie-util += "perl-module-strict"
+RDEPENDS_perl-module-autodie-util += "perl-module-warnings"
+RDEPENDS_perl-module-autoloader += "perl-module-strict"
+RDEPENDS_perl-module-autosplit += "perl-module-config"
+RDEPENDS_perl-module-autosplit += "perl-module-exporter"
+RDEPENDS_perl-module-autosplit += "perl-module-file-basename"
+RDEPENDS_perl-module-autosplit += "perl-module-file-path"
+RDEPENDS_perl-module-autosplit += "perl-module-strict"
+RDEPENDS_perl-module-base += "perl-module-strict"
+RDEPENDS_perl-module-b-concise += "perl-module-b"
+RDEPENDS_perl-module-b-concise += "perl-module-b-op-private"
+RDEPENDS_perl-module-b-concise += "perl-module-config"
+RDEPENDS_perl-module-b-concise += "perl-module-exporter"
+RDEPENDS_perl-module-b-concise += "perl-module-feature"
+RDEPENDS_perl-module-b-concise += "perl-module-strict"
+RDEPENDS_perl-module-b-concise += "perl-module-warnings"
+RDEPENDS_perl-module-b-debug += "perl-module-b"
+RDEPENDS_perl-module-b-debug += "perl-module-config"
+RDEPENDS_perl-module-b-debug += "perl-module-strict"
+RDEPENDS_perl-module-benchmark += "perl-module-exporter"
+RDEPENDS_perl-module-benchmark += "perl-module-strict"
+RDEPENDS_perl-module-bigint += "perl-module-constant"
+RDEPENDS_perl-module-bigint += "perl-module-exporter"
+RDEPENDS_perl-module-bigint += "perl-module-math-bigint"
+RDEPENDS_perl-module-bigint += "perl-module-math-bigint-trace"
+RDEPENDS_perl-module-bigint += "perl-module-overload"
+RDEPENDS_perl-module-bigint += "perl-module-strict"
+RDEPENDS_perl-module-bigint += "perl-module-warnings"
+RDEPENDS_perl-module-bignum += "perl-module-bigint"
+RDEPENDS_perl-module-bignum += "perl-module-exporter"
+RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat-trace"
+RDEPENDS_perl-module-bignum += "perl-module-math-bigint"
+RDEPENDS_perl-module-bignum += "perl-module-math-bigint-trace"
+RDEPENDS_perl-module-bignum += "perl-module-overload"
+RDEPENDS_perl-module-bignum += "perl-module-strict"
+RDEPENDS_perl-module-bignum += "perl-module-warnings"
+RDEPENDS_perl-module-bigrat += "perl-module-bigint"
+RDEPENDS_perl-module-bigrat += "perl-module-exporter"
+RDEPENDS_perl-module-bigrat += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-bigrat += "perl-module-math-bigint"
+RDEPENDS_perl-module-bigrat += "perl-module-math-bigint-trace"
+RDEPENDS_perl-module-bigrat += "perl-module-math-bigrat"
+RDEPENDS_perl-module-bigrat += "perl-module-overload"
+RDEPENDS_perl-module-bigrat += "perl-module-strict"
+RDEPENDS_perl-module-bigrat += "perl-module-warnings"
+RDEPENDS_perl-module-blib += "perl-module-cwd"
+RDEPENDS_perl-module-b += "perl-module-exporter"
+RDEPENDS_perl-module-b += "perl-module-xsloader"
+RDEPENDS_perl-module-b-showlex += "perl-module-b"
+RDEPENDS_perl-module-b-showlex += "perl-module-b-concise"
+RDEPENDS_perl-module-b-showlex += "perl-module-b-terse"
+RDEPENDS_perl-module-b-showlex += "perl-module-strict"
+RDEPENDS_perl-module-b-terse += "perl-module-b"
+RDEPENDS_perl-module-b-terse += "perl-module-b-concise"
+RDEPENDS_perl-module-b-terse += "perl-module-strict"
+RDEPENDS_perl-module-b-xref += "perl-module-b"
+RDEPENDS_perl-module-b-xref += "perl-module-config"
+RDEPENDS_perl-module-b-xref += "perl-module-strict"
+RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy"
+RDEPENDS_perl-module--charnames += "perl-module-bytes"
+RDEPENDS_perl-module-charnames += "perl-module-bytes"
+RDEPENDS_perl-module-charnames += "perl-module--charnames"
+RDEPENDS_perl-module--charnames += "perl-module-re"
+RDEPENDS_perl-module-charnames += "perl-module-re"
+RDEPENDS_perl-module--charnames += "perl-module-strict"
+RDEPENDS_perl-module-charnames += "perl-module-strict"
+RDEPENDS_perl-module--charnames += "perl-module-warnings"
+RDEPENDS_perl-module-charnames += "perl-module-warnings"
+RDEPENDS_perl-module-class-struct += "perl-module-exporter"
+RDEPENDS_perl-module-class-struct += "perl-module-strict"
+RDEPENDS_perl-module-class-struct += "perl-module-warnings-register"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-bytes "
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-constant"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-dynaloader"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-strict "
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-warnings "
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-xsloader"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-bytes "
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-constant"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-dynaloader"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-strict "
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-warnings "
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-xsloader"
+RDEPENDS_perl-module-compress-zlib += "perl-module-bytes "
+RDEPENDS_perl-module-compress-zlib += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-compress-zlib += "perl-module-constant"
+RDEPENDS_perl-module-compress-zlib += "perl-module-exporter"
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip"
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip-constants"
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-handle "
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-uncompress-gunzip"
+RDEPENDS_perl-module-compress-zlib += "perl-module-strict "
+RDEPENDS_perl-module-compress-zlib += "perl-module-warnings "
+RDEPENDS_perl-module-config-extensions += "perl-module-config"
+RDEPENDS_perl-module-config-extensions += "perl-module-exporter"
+RDEPENDS_perl-module-config-extensions += "perl-module-strict"
+RDEPENDS_perl-module-config += "perl-module-strict"
+RDEPENDS_perl-module-config += "perl-module-warnings"
+RDEPENDS_perl-module-config-perl-v += "perl-module-config"
+RDEPENDS_perl-module-config-perl-v += "perl-module-exporter"
+RDEPENDS_perl-module-config-perl-v += "perl-module-strict"
+RDEPENDS_perl-module-config-perl-v += "perl-module-vars"
+RDEPENDS_perl-module-config-perl-v += "perl-module-warnings"
+RDEPENDS_perl-module-constant += "perl-module-strict"
+RDEPENDS_perl-module-constant += "perl-module-warnings-register"
+RDEPENDS_perl-module-corelist += "perl-module-list-util"
+RDEPENDS_perl-module-corelist += "perl-module-corelist"
+RDEPENDS_perl-module-corelist += "perl-module-strict"
+RDEPENDS_perl-module-corelist += "perl-module-version"
+RDEPENDS_perl-module-corelist += "perl-module-warnings"
+RDEPENDS_perl-module-cpan += "perl-module-b"
+RDEPENDS_perl-module-cpan += "perl-module-config"
+RDEPENDS_perl-module-cpan += "perl-module-cwd"
+RDEPENDS_perl-module-cpan += "perl-module-data-dumper"
+RDEPENDS_perl-module-cpan += "perl-module-dirhandle"
+RDEPENDS_perl-module-cpan += "perl-module-errno"
+RDEPENDS_perl-module-cpan += "perl-module-exporter"
+RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-cpan += "perl-module-extutils-manifest"
+RDEPENDS_perl-module-cpan += "perl-module-fcntl"
+RDEPENDS_perl-module-cpan += "perl-module-file-basename"
+RDEPENDS_perl-module-cpan += "perl-module-file-copy"
+RDEPENDS_perl-module-cpan += "perl-module-file-find"
+RDEPENDS_perl-module-cpan += "perl-module-filehandle"
+RDEPENDS_perl-module-cpan += "perl-module-file-path"
+RDEPENDS_perl-module-cpan += "perl-module-lib"
+RDEPENDS_perl-module-cpan += "perl-module-net-ping"
+RDEPENDS_perl-module-cpan += "perl-module-overload"
+RDEPENDS_perl-module-cpan += "perl-module-posix"
+RDEPENDS_perl-module-cpan += "perl-module-safe"
+RDEPENDS_perl-module-cpan += "perl-module-strict"
+RDEPENDS_perl-module-cpan += "perl-module-sys-hostname"
+RDEPENDS_perl-module-cpan += "perl-module-term-readline"
+RDEPENDS_perl-module-cpan += "perl-module-text-parsewords"
+RDEPENDS_perl-module-cpan += "perl-module-text-wrap"
+RDEPENDS_perl-module-cpan += "perl-module-time-local"
+RDEPENDS_perl-module-cpan += "perl-module-vars"
+RDEPENDS_perl-module-cpan += "perl-module-warnings"
+RDEPENDS_perl-module-cwd += "perl-module-errno"
+RDEPENDS_perl-module-cwd += "perl-module-exporter"
+RDEPENDS_perl-module-cwd += "perl-module-strict"
+RDEPENDS_perl-module-cwd += "perl-module-xsloader"
+RDEPENDS_perl-module-data-dumper += "perl-module-config"
+RDEPENDS_perl-module-data-dumper += "perl-module-constant"
+RDEPENDS_perl-module-data-dumper += "perl-module-exporter"
+RDEPENDS_perl-module-data-dumper += "perl-module-xsloader"
+RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings"
+RDEPENDS_perl-module-db += "perl-module-strict"
+RDEPENDS_perl-module-deprecate += "perl-module-strict"
+RDEPENDS_perl-module-deprecate += "perl-module-warnings"
+RDEPENDS_perl-module-devel-peek += "perl-module-exporter"
+RDEPENDS_perl-module-devel-peek += "perl-module-xsloader"
+RDEPENDS_perl-module-devel-ppport += "perl-module-file-find"
+RDEPENDS_perl-module-devel-ppport += "perl-module-getopt-long"
+RDEPENDS_perl-module-devel-ppport += "perl-module-strict"
+RDEPENDS_perl-module-devel-ppport += "perl-module-vars"
+RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader"
+RDEPENDS_perl-module-diagnostics += "perl-module-config"
+RDEPENDS_perl-module-diagnostics += "perl-module-getopt-std"
+RDEPENDS_perl-module-diagnostics += "perl-module-strict"
+RDEPENDS_perl-module-diagnostics += "perl-module-text-tabs"
+RDEPENDS_perl-module-digest-base += "perl-module-mime-base64"
+RDEPENDS_perl-module-digest-base += "perl-module-strict"
+RDEPENDS_perl-module-digest-base += "perl-module-vars"
+RDEPENDS_perl-module-digest-file += "perl-module-digest"
+RDEPENDS_perl-module-digest-file += "perl-module-exporter"
+RDEPENDS_perl-module-digest-file += "perl-module-strict"
+RDEPENDS_perl-module-digest-file += "perl-module-vars"
+RDEPENDS_perl-module-digest-md5 += "perl-module-digest-base"
+RDEPENDS_perl-module-digest-md5 += "perl-module-exporter"
+RDEPENDS_perl-module-digest-md5 += "perl-module-strict"
+RDEPENDS_perl-module-digest-md5 += "perl-module-vars"
+RDEPENDS_perl-module-digest-md5 += "perl-module-xsloader"
+RDEPENDS_perl-module-digest += "perl-module-strict"
+RDEPENDS_perl-module-digest += "perl-module-vars"
+RDEPENDS_perl-module-digest-sha += "perl-module-digest-base"
+RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader"
+RDEPENDS_perl-module-digest-sha += "perl-module-exporter"
+RDEPENDS_perl-module-digest-sha += "perl-module-fcntl"
+RDEPENDS_perl-module-digest-sha += "perl-module-integer"
+RDEPENDS_perl-module-digest-sha += "perl-module-strict"
+RDEPENDS_perl-module-digest-sha += "perl-module-vars"
+RDEPENDS_perl-module-digest-sha += "perl-module-warnings"
+RDEPENDS_perl-module-digest-sha += "perl-module-xsloader"
+RDEPENDS_perl-module-dynaloader += "perl-module-config"
+RDEPENDS_perl-module-encode-alias += "perl-module-constant"
+RDEPENDS_perl-module-encode-alias += "perl-module-encode"
+RDEPENDS_perl-module-encode-alias += "perl-module-exporter"
+RDEPENDS_perl-module-encode-alias += "perl-module-strict"
+RDEPENDS_perl-module-encode-alias += "perl-module-warnings"
+RDEPENDS_perl-module-encode-byte += "perl-module-encode"
+RDEPENDS_perl-module-encode-byte += "perl-module-strict"
+RDEPENDS_perl-module-encode-byte += "perl-module-warnings"
+RDEPENDS_perl-module-encode-byte += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter"
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict"
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-warnings"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-parent"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-utf8"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-warnings"
+RDEPENDS_perl-module-encode-cn += "perl-module-encode"
+RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz"
+RDEPENDS_perl-module-encode-cn += "perl-module-strict"
+RDEPENDS_perl-module-encode-cn += "perl-module-warnings"
+RDEPENDS_perl-module-encode-cn += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-config += "perl-module-strict"
+RDEPENDS_perl-module-encode-config += "perl-module-warnings"
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode"
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-strict"
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-warnings"
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-encoder += "perl-module-constant"
+RDEPENDS_perl-module-encode-encoder += "perl-module-encode"
+RDEPENDS_perl-module-encode-encoder += "perl-module-exporter"
+RDEPENDS_perl-module-encode-encoder += "perl-module-overload"
+RDEPENDS_perl-module-encode-encoder += "perl-module-strict"
+RDEPENDS_perl-module-encode-encoder += "perl-module-warnings"
+RDEPENDS_perl-module-encode-encoding += "perl-module-constant"
+RDEPENDS_perl-module-encode-encoding += "perl-module-encode"
+RDEPENDS_perl-module-encode-encoding += "perl-module-encode-mime-name"
+RDEPENDS_perl-module-encode-encoding += "perl-module-strict"
+RDEPENDS_perl-module-encode-encoding += "perl-module-warnings"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-encode"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-parent"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-strict"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-utf8"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-vars"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-warnings"
+RDEPENDS_perl-module-encode-guess += "perl-module-bytes"
+RDEPENDS_perl-module-encode-guess += "perl-module-constant"
+RDEPENDS_perl-module-encode-guess += "perl-module-encode"
+RDEPENDS_perl-module-encode-guess += "perl-module-encode-unicode"
+RDEPENDS_perl-module-encode-guess += "perl-module-parent"
+RDEPENDS_perl-module-encode-guess += "perl-module-strict"
+RDEPENDS_perl-module-encode-guess += "perl-module-warnings"
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants"
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict"
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-vars"
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-warnings"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-bytes"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-jp-h2z"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-parent"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-warnings"
+RDEPENDS_perl-module-encode-jp += "perl-module-encode"
+RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7"
+RDEPENDS_perl-module-encode-jp += "perl-module-strict"
+RDEPENDS_perl-module-encode-jp += "perl-module-warnings"
+RDEPENDS_perl-module-encode-jp += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-parent"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-warnings"
+RDEPENDS_perl-module-encode-kr += "perl-module-encode"
+RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr"
+RDEPENDS_perl-module-encode-kr += "perl-module-strict"
+RDEPENDS_perl-module-encode-kr += "perl-module-warnings"
+RDEPENDS_perl-module-encode-kr += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-constant"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-encode-cjkconstants"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-parent"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-strict"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-warnings"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-encode"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-parent"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-strict"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-warnings"
+RDEPENDS_perl-module-encode-mime-name += "perl-module-strict"
+RDEPENDS_perl-module-encode-mime-name += "perl-module-warnings"
+RDEPENDS_perl-module-encode += "perl-module-bytes"
+RDEPENDS_perl-module-encode += "perl-module-constant"
+RDEPENDS_perl-module-encode += "perl-module-encode-alias"
+RDEPENDS_perl-module-encode += "perl-module-encode-config"
+RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm"
+RDEPENDS_perl-module-encode += "perl-module-encode-mime-name"
+RDEPENDS_perl-module-encode += "perl-module-exporter"
+RDEPENDS_perl-module-encode += "perl-module-parent"
+RDEPENDS_perl-module-encode += "perl-module-storable"
+RDEPENDS_perl-module-encode += "perl-module-strict"
+RDEPENDS_perl-module-encode += "perl-module-warnings"
+RDEPENDS_perl-module-encode += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-symbol += "perl-module-encode"
+RDEPENDS_perl-module-encode-symbol += "perl-module-strict"
+RDEPENDS_perl-module-encode-symbol += "perl-module-warnings"
+RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-tw += "perl-module-encode"
+RDEPENDS_perl-module-encode-tw += "perl-module-strict"
+RDEPENDS_perl-module-encode-tw += "perl-module-warnings"
+RDEPENDS_perl-module-encode-tw += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-unicode += "perl-module-encode"
+RDEPENDS_perl-module-encode-unicode += "perl-module-parent"
+RDEPENDS_perl-module-encode-unicode += "perl-module-strict"
+RDEPENDS_perl-module-encode-unicode += "perl-module-warnings"
+RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-parent"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-re"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-warnings"
+RDEPENDS_perl-module-encoding += "perl-module-config"
+RDEPENDS_perl-module-encoding += "perl-module-constant"
+RDEPENDS_perl-module-encoding += "perl-module-encode"
+RDEPENDS_perl-module-encoding += "perl-module-filter-util-call"
+RDEPENDS_perl-module-encoding += "perl-module-i18n-langinfo"
+RDEPENDS_perl-module-encoding += "perl-module-posix"
+RDEPENDS_perl-module-encoding += "perl-module-strict"
+RDEPENDS_perl-module-encoding += "perl-module-utf8"
+RDEPENDS_perl-module-encoding += "perl-module-warnings"
+RDEPENDS_perl-module-encoding-warnings += "perl-module-strict"
+RDEPENDS_perl-module-encoding-warnings += "perl-module-warnings"
+RDEPENDS_perl-module-english += "perl-module-exporter"
+RDEPENDS_perl-module-env += "perl-module-config"
+RDEPENDS_perl-module-env += "perl-module-tie-array"
+RDEPENDS_perl-module-errno += "perl-module-exporter"
+RDEPENDS_perl-module-errno += "perl-module-strict"
+RDEPENDS_perl-module-experimental += "perl-module-strict"
+RDEPENDS_perl-module-experimental += "perl-module-version"
+RDEPENDS_perl-module-experimental += "perl-module-warnings"
+RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter"
+RDEPENDS_perl-module-exporter-heavy += "perl-module-strict"
+RDEPENDS_perl-module-exporter += "perl-module-exporter-heavy"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-config"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-dynaloader"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-extutils-mksymlists"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-temp"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-config"
+RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-extutils-cbuilder-base"
+RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-config"
+RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-extutils-cbuilder-base"
+RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-extutils-cbuilder-base"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-io-file"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-command"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-install"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-getopt-long"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-test-harness"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-command += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-command += "perl-module-file-copy"
+RDEPENDS_perl-module-extutils-command += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-command += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-command += "perl-module-strict"
+RDEPENDS_perl-module-extutils-command += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-constant"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-proxysubs"
+RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils"
+RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs"
+RDEPENDS_perl-module-extutils-constant += "perl-module-filehandle"
+RDEPENDS_perl-module-extutils-constant += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-utils"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-constant"
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-posix"
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-data-dumper"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars"
+RDEPENDS_perl-module-extutils-embed += "perl-module-config"
+RDEPENDS_perl-module-extutils-embed += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-liblist"
+RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std"
+RDEPENDS_perl-module-extutils-embed += "perl-module-strict"
+RDEPENDS_perl-module-extutils-installed += "perl-module-config"
+RDEPENDS_perl-module-extutils-installed += "perl-module-data-dumper"
+RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist"
+RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-installed += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-installed += "perl-module-strict"
+RDEPENDS_perl-module-extutils-installed += "perl-module-vars"
+RDEPENDS_perl-module-extutils-install += "perl-module-autosplit"
+RDEPENDS_perl-module-extutils-install += "perl-module-config"
+RDEPENDS_perl-module-extutils-install += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-install += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-install += "perl-module-extutils-packlist"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-compare"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-copy"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-install += "perl-module-strict"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-text-parsewords"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid"
+RDEPENDS_perl-module-extutils-liblist += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-config"
+RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-base"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode-alias"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-i18n-langinfo"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-b"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-cpan"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-version"
+RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-vars"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-config"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-strict"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-miniperl += "perl-module-extutils-embed"
+RDEPENDS_perl-module-extutils-miniperl += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-dynaloader"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config"
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-aix += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-autosplit"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-cpan"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-data-dumper"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-version"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist"
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-encode"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-liblist"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-vars"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-version"
+RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-liblist-kid"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-vos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-vos += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm"
+RDEPENDS_perl-module-extutils-my += "perl-module-strict"
+RDEPENDS_perl-module-extutils-packlist += "perl-module-config"
+RDEPENDS_perl-module-extutils-packlist += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-packlist += "perl-module-strict"
+RDEPENDS_perl-module-extutils-packlist += "perl-module-vars"
+RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-parsexs-countlines += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-config"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-constants"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-countlines"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-eval"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-utilities"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-re"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-parsexs-constants"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-typemaps"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-testlib += "perl-module-lib"
+RDEPENDS_perl-module-extutils-testlib += "perl-module-strict"
+RDEPENDS_perl-module-extutils-testlib += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-extutils-typemaps"
+RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-re"
+RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs-constants"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-inputmap"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-outputmap"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-type"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-extutils-typemaps"
+RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-warnings"
+RDEPENDS_perl-module-fatal += "perl-module-autodie"
+RDEPENDS_perl-module-fatal += "perl-module-autodie-exception-system"
+RDEPENDS_perl-module-fatal += "perl-module-autodie-hints"
+RDEPENDS_perl-module-fatal += "perl-module-autodie-util"
+RDEPENDS_perl-module-fatal += "perl-module-config"
+RDEPENDS_perl-module-fatal += "perl-module-constant"
+RDEPENDS_perl-module-fatal += "perl-module-fcntl"
+RDEPENDS_perl-module-fatal += "perl-module-posix"
+RDEPENDS_perl-module-fatal += "perl-module-strict"
+RDEPENDS_perl-module-fatal += "perl-module-tie-refhash"
+RDEPENDS_perl-module-fatal += "perl-module-warnings"
+RDEPENDS_perl-module-fcntl += "perl-module-exporter"
+RDEPENDS_perl-module-fcntl += "perl-module-strict"
+RDEPENDS_perl-module-fcntl += "perl-module-xsloader"
+RDEPENDS_perl-module-fields += "perl-module-base"
+RDEPENDS_perl-module-fields += "perl-module-hash-util"
+RDEPENDS_perl-module-fields += "perl-module-strict"
+RDEPENDS_perl-module-file-basename += "perl-module-exporter"
+RDEPENDS_perl-module-file-basename += "perl-module-re"
+RDEPENDS_perl-module-file-basename += "perl-module-strict"
+RDEPENDS_perl-module-file-basename += "perl-module-warnings"
+RDEPENDS_perl-module-filecache += "perl-module-parent"
+RDEPENDS_perl-module-filecache += "perl-module-strict"
+RDEPENDS_perl-module-file-compare += "perl-module-exporter"
+RDEPENDS_perl-module-file-compare += "perl-module-strict"
+RDEPENDS_perl-module-file-compare += "perl-module-warnings"
+RDEPENDS_perl-module-file-copy += "perl-module-config"
+RDEPENDS_perl-module-file-copy += "perl-module-exporter"
+RDEPENDS_perl-module-file-copy += "perl-module-file-basename"
+RDEPENDS_perl-module-file-copy += "perl-module-strict"
+RDEPENDS_perl-module-file-copy += "perl-module-warnings"
+RDEPENDS_perl-module-file-dosglob += "perl-module-strict"
+RDEPENDS_perl-module-file-dosglob += "perl-module-text-parsewords"
+RDEPENDS_perl-module-file-dosglob += "perl-module-warnings"
+RDEPENDS_perl-module-file-dosglob += "perl-module-xsloader"
+RDEPENDS_perl-module-file-fetch += "perl-module-constant"
+RDEPENDS_perl-module-file-fetch += "perl-module-cwd"
+RDEPENDS_perl-module-file-fetch += "perl-module-file-basename"
+RDEPENDS_perl-module-file-fetch += "perl-module-file-copy"
+RDEPENDS_perl-module-file-fetch += "perl-module-filehandle"
+RDEPENDS_perl-module-file-fetch += "perl-module-file-path"
+RDEPENDS_perl-module-file-fetch += "perl-module-file-temp"
+RDEPENDS_perl-module-file-fetch += "perl-module-ipc-cmd"
+RDEPENDS_perl-module-file-fetch += "perl-module-locale-maketext-simple"
+RDEPENDS_perl-module-file-fetch += "perl-module-load"
+RDEPENDS_perl-module-file-fetch += "perl-module-params-check"
+RDEPENDS_perl-module-file-fetch += "perl-module-strict"
+RDEPENDS_perl-module-file-fetch += "perl-module-vars"
+RDEPENDS_perl-module-file-find += "perl-module-config"
+RDEPENDS_perl-module-file-find += "perl-module-cwd"
+RDEPENDS_perl-module-file-find += "perl-module-exporter"
+RDEPENDS_perl-module-file-find += "perl-module-file-basename"
+RDEPENDS_perl-module-file-find += "perl-module-strict"
+RDEPENDS_perl-module-file-find += "perl-module-warnings"
+RDEPENDS_perl-module-file-find += "perl-module-warnings-register"
+RDEPENDS_perl-module-file-globmapper += "perl-module-file-glob"
+RDEPENDS_perl-module-file-globmapper += "perl-module-strict"
+RDEPENDS_perl-module-file-globmapper += "perl-module-warnings"
+RDEPENDS_perl-module-file-glob += "perl-module-exporter"
+RDEPENDS_perl-module-file-glob += "perl-module-strict"
+RDEPENDS_perl-module-file-glob += "perl-module-warnings"
+RDEPENDS_perl-module-file-glob += "perl-module-xsloader"
+RDEPENDS_perl-module-filehandle += "perl-module-exporter"
+RDEPENDS_perl-module-filehandle += "perl-module-fcntl"
+RDEPENDS_perl-module-filehandle += "perl-module-io-file"
+RDEPENDS_perl-module-filehandle += "perl-module-strict"
+RDEPENDS_perl-module-file-path += "perl-module-cwd"
+RDEPENDS_perl-module-file-path += "perl-module-exporter"
+RDEPENDS_perl-module-file-path += "perl-module-file-basename"
+RDEPENDS_perl-module-file-path += "perl-module-strict"
+RDEPENDS_perl-module-file-path += "perl-module-vars"
+RDEPENDS_perl-module-file-stat += "perl-module-class-struct"
+RDEPENDS_perl-module-file-stat += "perl-module-constant"
+RDEPENDS_perl-module-file-stat += "perl-module-exporter"
+RDEPENDS_perl-module-file-stat += "perl-module-fcntl"
+RDEPENDS_perl-module-file-stat += "perl-module-overload "
+RDEPENDS_perl-module-file-stat += "perl-module-strict"
+RDEPENDS_perl-module-file-stat += "perl-module-warnings"
+RDEPENDS_perl-module-file-stat += "perl-module-warnings-register"
+RDEPENDS_perl-module-file-temp += "perl-module-constant"
+RDEPENDS_perl-module-file-temp += "perl-module-cwd"
+RDEPENDS_perl-module-file-temp += "perl-module-errno"
+RDEPENDS_perl-module-file-temp += "perl-module-exporter"
+RDEPENDS_perl-module-file-temp += "perl-module-fcntl"
+RDEPENDS_perl-module-file-temp += "perl-module-file-path"
+RDEPENDS_perl-module-file-temp += "perl-module-io-seekable"
+RDEPENDS_perl-module-file-temp += "perl-module-overload"
+RDEPENDS_perl-module-file-temp += "perl-module-parent"
+RDEPENDS_perl-module-file-temp += "perl-module-posix"
+RDEPENDS_perl-module-file-temp += "perl-module-strict"
+RDEPENDS_perl-module-file-temp += "perl-module-vars"
+RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call"
+RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced"
+RDEPENDS_perl-module-filter-util-call += "perl-module-exporter"
+RDEPENDS_perl-module-filter-util-call += "perl-module-strict"
+RDEPENDS_perl-module-filter-util-call += "perl-module-warnings"
+RDEPENDS_perl-module-filter-util-call += "perl-module-xsloader"
+RDEPENDS_perl-module-findbin += "perl-module-cwd"
+RDEPENDS_perl-module-findbin += "perl-module-exporter"
+RDEPENDS_perl-module-findbin += "perl-module-file-basename"
+RDEPENDS_perl-module-getopt-long += "perl-module-constant"
+RDEPENDS_perl-module-getopt-long += "perl-module-exporter"
+RDEPENDS_perl-module-getopt-long += "perl-module-overload"
+RDEPENDS_perl-module-getopt-long += "perl-module-pod-usage"
+RDEPENDS_perl-module-getopt-long += "perl-module-strict"
+RDEPENDS_perl-module-getopt-long += "perl-module-text-parsewords"
+RDEPENDS_perl-module-getopt-long += "perl-module-vars"
+RDEPENDS_perl-module-getopt-long += "perl-module-warnings"
+RDEPENDS_perl-module-getopt-std += "perl-module-exporter"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-strict"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-warnings"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-xsloader"
+RDEPENDS_perl-module-hash-util += "perl-module-exporter"
+RDEPENDS_perl-module-hash-util += "perl-module-hash-util-fieldhash"
+RDEPENDS_perl-module-hash-util += "perl-module-strict"
+RDEPENDS_perl-module-hash-util += "perl-module-warnings"
+RDEPENDS_perl-module-hash-util += "perl-module-warnings-register"
+RDEPENDS_perl-module-hash-util += "perl-module-xsloader"
+RDEPENDS_perl-module-i18n-collate += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-collate += "perl-module-overload"
+RDEPENDS_perl-module-i18n-collate += "perl-module-posix"
+RDEPENDS_perl-module-i18n-collate += "perl-module-strict"
+RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader"
+RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags"
+RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict"
+RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict"
+RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-langtags += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-compress-raw-bzip2"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-constant"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-encode"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-file-globmapper"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-utf8"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-base += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-base += "perl-module-io-file"
+RDEPENDS_perl-module-io-compress-base += "perl-module-io-handle "
+RDEPENDS_perl-module-io-compress-base += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-base += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-adapter-bzip2"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-adapter-deflate"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-rawdeflate"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-zlib-constants"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-constant"
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-adapter-deflate"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-gzip-constants"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-rawdeflate"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-zlib-extra"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-fcntl"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-adapter-deflate"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-constant"
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-config"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-zip += "perl-module-fcntl"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-deflate"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-identity"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-bzip2 "
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-rawdeflate"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zip-constants"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zlib-extra"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-zip += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-constant"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-io-compress-gzip-constants"
+RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-warnings"
+RDEPENDS_perl-module-io-dir += "perl-module-exporter"
+RDEPENDS_perl-module-io-dir += "perl-module-file-stat"
+RDEPENDS_perl-module-io-dir += "perl-module-io-file"
+RDEPENDS_perl-module-io-dir += "perl-module-strict"
+RDEPENDS_perl-module-io-dir += "perl-module-tie-hash"
+RDEPENDS_perl-module-io-file += "perl-module-exporter"
+RDEPENDS_perl-module-io-file += "perl-module-fcntl"
+RDEPENDS_perl-module-io-file += "perl-module-io-seekable"
+RDEPENDS_perl-module-io-file += "perl-module-selectsaver"
+RDEPENDS_perl-module-io-file += "perl-module-strict"
+RDEPENDS_perl-module-io-handle += "perl-module-exporter"
+RDEPENDS_perl-module-io-handle += "perl-module-io"
+RDEPENDS_perl-module-io-handle += "perl-module-io-file"
+RDEPENDS_perl-module-io-handle += "perl-module-selectsaver"
+RDEPENDS_perl-module-io-handle += "perl-module-strict"
+RDEPENDS_perl-module-io += "perl-module-strict"
+RDEPENDS_perl-module-io += "perl-module-warnings"
+RDEPENDS_perl-module-io += "perl-module-xsloader"
+RDEPENDS_perl-module-io-pipe += "perl-module-fcntl"
+RDEPENDS_perl-module-io-pipe += "perl-module-io-handle"
+RDEPENDS_perl-module-io-pipe += "perl-module-strict"
+RDEPENDS_perl-module-io-poll += "perl-module-exporter"
+RDEPENDS_perl-module-io-poll += "perl-module-io-handle"
+RDEPENDS_perl-module-io-poll += "perl-module-strict"
+RDEPENDS_perl-module-io-seekable += "perl-module-exporter"
+RDEPENDS_perl-module-io-seekable += "perl-module-fcntl"
+RDEPENDS_perl-module-io-seekable += "perl-module-io-handle"
+RDEPENDS_perl-module-io-seekable += "perl-module-strict"
+RDEPENDS_perl-module-io-select += "perl-module-exporter"
+RDEPENDS_perl-module-io-select += "perl-module-strict"
+RDEPENDS_perl-module-io-select += "perl-module-warnings-register"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-errno"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-socket"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-strict"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-base"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-constant"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-errno"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-posix"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-socket"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-strict"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-warnings"
+RDEPENDS_perl-module-io-socket += "perl-module-errno"
+RDEPENDS_perl-module-io-socket += "perl-module-exporter"
+RDEPENDS_perl-module-io-socket += "perl-module-io-handle"
+RDEPENDS_perl-module-io-socket += "perl-module-io-select"
+RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet"
+RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix"
+RDEPENDS_perl-module-io-socket += "perl-module-socket"
+RDEPENDS_perl-module-io-socket += "perl-module-strict"
+RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket"
+RDEPENDS_perl-module-io-socket-unix += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-compress-raw-bzip2"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-zip-constants "
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-adapter-inflate"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-base"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-gunzip"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-inflate"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-rawinflate"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-unzip"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-uncompress-base"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-constant"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-file "
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-list-util"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-adapter-bunzip2"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-base"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-gzip-constants"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-zlib-extra"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-uncompress-rawinflate"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-zlib-constants"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-uncompress-rawinflate"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-adapter-inflate"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-base"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-constant"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-fcntl"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zip-constants"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zlib-extra"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-file"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-identity"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-inflate"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-rawinflate"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-posix"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-warnings"
+RDEPENDS_perl-module-io-zlib += "perl-module-fcntl"
+RDEPENDS_perl-module-io-zlib += "perl-module-io-handle"
+RDEPENDS_perl-module-io-zlib += "perl-module-strict"
+RDEPENDS_perl-module-io-zlib += "perl-module-tie-handle"
+RDEPENDS_perl-module-io-zlib += "perl-module-vars"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-constant"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-filehandle"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-io-handle"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-io-select"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-ipc-open3"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-locale-maketext-simple"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-load"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-params-check"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-posix"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-socket"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-strict"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-text-parsewords"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-time-hires"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-vars"
+RDEPENDS_perl-module-ipc-msg += "perl-module-class-struct"
+RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv"
+RDEPENDS_perl-module-ipc-msg += "perl-module-strict"
+RDEPENDS_perl-module-ipc-msg += "perl-module-vars"
+RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3"
+RDEPENDS_perl-module-ipc-open2 += "perl-module-strict"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-constant"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-fcntl"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-io-pipe"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-posix"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-strict"
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-class-struct"
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-ipc-sysv"
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict"
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars"
+RDEPENDS_perl-module-ipc-sharedmem += "perl-module-class-struct"
+RDEPENDS_perl-module-ipc-sharedmem += "perl-module-ipc-sysv"
+RDEPENDS_perl-module-ipc-sharedmem += "perl-module-strict"
+RDEPENDS_perl-module-ipc-sharedmem += "perl-module-vars"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-config"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-dynaloader"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-strict"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-vars"
+RDEPENDS_perl-module-json-pp-boolean += "perl-module-overload"
+RDEPENDS_perl-module-json-pp-boolean += "perl-module-strict"
+RDEPENDS_perl-module-json-pp += "perl-module-b"
+RDEPENDS_perl-module-json-pp += "perl-module-bytes"
+RDEPENDS_perl-module-json-pp += "perl-module-constant"
+RDEPENDS_perl-module-json-pp += "perl-module-encode"
+RDEPENDS_perl-module-json-pp += "perl-module-exporter"
+RDEPENDS_perl-module-json-pp += "perl-module-json-pp-boolean"
+RDEPENDS_perl-module-json-pp += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-json-pp += "perl-module-math-bigint"
+RDEPENDS_perl-module-json-pp += "perl-module-overload"
+RDEPENDS_perl-module-json-pp += "perl-module-strict"
+RDEPENDS_perl-module-json-pp += "perl-module-subs"
+RDEPENDS_perl-module-less += "perl-module-strict"
+RDEPENDS_perl-module-less += "perl-module-warnings"
+RDEPENDS_perl-module-lib += "perl-module-config"
+RDEPENDS_perl-module-lib += "perl-module-strict"
+RDEPENDS_perl-module-list-util += "perl-module-exporter"
+RDEPENDS_perl-module-list-util += "perl-module-strict"
+RDEPENDS_perl-module-list-util += "perl-module-warnings"
+RDEPENDS_perl-module-list-util += "perl-module-xsloader"
+RDEPENDS_perl-module-list-util-xs += "perl-module-list-util"
+RDEPENDS_perl-module-list-util-xs += "perl-module-strict"
+RDEPENDS_perl-module-list-util-xs += "perl-module-warnings"
+RDEPENDS_perl-module-loaded += "perl-module-strict"
+RDEPENDS_perl-module-loaded += "perl-module-vars"
+RDEPENDS_perl-module-load += "perl-module-config"
+RDEPENDS_perl-module-load += "perl-module-constant"
+RDEPENDS_perl-module-load += "perl-module-exporter"
+RDEPENDS_perl-module-load += "perl-module-filehandle"
+RDEPENDS_perl-module-load += "perl-module-locale-maketext-simple"
+RDEPENDS_perl-module-load += "perl-module-corelist"
+RDEPENDS_perl-module-load += "perl-module-load"
+RDEPENDS_perl-module-load += "perl-module-params-check"
+RDEPENDS_perl-module-load += "perl-module-strict"
+RDEPENDS_perl-module-load += "perl-module-vars"
+RDEPENDS_perl-module-load += "perl-module-version"
+RDEPENDS_perl-module-load += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-constants += "perl-module-constant"
+RDEPENDS_perl-module-locale-codes-constants += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-constants += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-constants += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes += "perl-module-if"
+RDEPENDS_perl-module-locale-codes += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-country += "perl-module-exporter"
+RDEPENDS_perl-module-locale-country += "perl-module-if"
+RDEPENDS_perl-module-locale-country += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-country += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-country += "perl-module-strict"
+RDEPENDS_perl-module-locale-country += "perl-module-warnings"
+RDEPENDS_perl-module-locale-currency += "perl-module-exporter"
+RDEPENDS_perl-module-locale-currency += "perl-module-if"
+RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-currency += "perl-module-strict"
+RDEPENDS_perl-module-locale-currency += "perl-module-warnings"
+RDEPENDS_perl-module-locale-language += "perl-module-exporter"
+RDEPENDS_perl-module-locale-language += "perl-module-if"
+RDEPENDS_perl-module-locale-language += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-language += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-language += "perl-module-strict"
+RDEPENDS_perl-module-locale-language += "perl-module-warnings"
+RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-locale-maketext"
+RDEPENDS_perl-module-locale-maketext-guts += "perl-module-locale-maketext"
+RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags"
+RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags-detect"
+RDEPENDS_perl-module-locale-maketext += "perl-module-integer"
+RDEPENDS_perl-module-locale-maketext += "perl-module-strict"
+RDEPENDS_perl-module-locale-maketext-simple += "perl-module-base"
+RDEPENDS_perl-module-locale-maketext-simple += "perl-module-strict"
+RDEPENDS_perl-module-locale += "perl-module-config"
+RDEPENDS_perl-module-locale-script += "perl-module-exporter"
+RDEPENDS_perl-module-locale-script += "perl-module-if"
+RDEPENDS_perl-module-locale-script += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-script += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-script += "perl-module-strict"
+RDEPENDS_perl-module-locale-script += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-math-bigint"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-math-complex"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-overload"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-strict"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-overload"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-constant"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-math-bigint-lib"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc"
+RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader"
+RDEPENDS_perl-module-math-bigint-lib += "perl-module-overload"
+RDEPENDS_perl-module-math-bigint-lib += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-lib += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigint += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-math-bigint += "perl-module-math-complex"
+RDEPENDS_perl-module-math-bigint += "perl-module-overload"
+RDEPENDS_perl-module-math-bigint += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-overload"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigint"
+RDEPENDS_perl-module-math-bigrat += "perl-module-overload"
+RDEPENDS_perl-module-math-bigrat += "perl-module-strict"
+RDEPENDS_perl-module-math-bigrat += "perl-module-warnings"
+RDEPENDS_perl-module-math-complex += "perl-module-config"
+RDEPENDS_perl-module-math-complex += "perl-module-exporter"
+RDEPENDS_perl-module-math-complex += "perl-module-overload"
+RDEPENDS_perl-module-math-complex += "perl-module-strict"
+RDEPENDS_perl-module-math-complex += "perl-module-warnings"
+RDEPENDS_perl-module-math-trig += "perl-module-exporter"
+RDEPENDS_perl-module-math-trig += "perl-module-math-complex"
+RDEPENDS_perl-module-math-trig += "perl-module-strict"
+RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars"
+RDEPENDS_perl-module-memoize += "perl-module-config"
+RDEPENDS_perl-module-memoize += "perl-module-exporter"
+RDEPENDS_perl-module-memoize += "perl-module-strict"
+RDEPENDS_perl-module-memoize += "perl-module-vars"
+RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file"
+RDEPENDS_perl-module-memoize-storable += "perl-module-storable"
+RDEPENDS_perl-module-mime-base64 += "perl-module-exporter"
+RDEPENDS_perl-module-mime-base64 += "perl-module-strict"
+RDEPENDS_perl-module-mime-base64 += "perl-module-vars"
+RDEPENDS_perl-module-mime-base64 += "perl-module-xsloader"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-mime-base64"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars"
+RDEPENDS_perl-module-mro += "perl-module-strict"
+RDEPENDS_perl-module-mro += "perl-module-warnings"
+RDEPENDS_perl-module-mro += "perl-module-xsloader"
+RDEPENDS_perl-module-net-cmd += "perl-module-constant"
+RDEPENDS_perl-module-net-cmd += "perl-module-errno"
+RDEPENDS_perl-module-net-cmd += "perl-module-exporter"
+RDEPENDS_perl-module-net-cmd += "perl-module-strict"
+RDEPENDS_perl-module-net-cmd += "perl-module-warnings"
+RDEPENDS_perl-module-net-config += "perl-module-exporter"
+RDEPENDS_perl-module-net-config += "perl-module-socket"
+RDEPENDS_perl-module-net-config += "perl-module-strict"
+RDEPENDS_perl-module-net-config += "perl-module-warnings"
+RDEPENDS_perl-module-net-domain += "perl-module-exporter"
+RDEPENDS_perl-module-net-domain += "perl-module-net-config"
+RDEPENDS_perl-module-net-domain += "perl-module-posix"
+RDEPENDS_perl-module-net-domain += "perl-module-socket"
+RDEPENDS_perl-module-net-domain += "perl-module-strict"
+RDEPENDS_perl-module-net-domain += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn"
+RDEPENDS_perl-module-net-ftp-a += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-a += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno"
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i"
+RDEPENDS_perl-module-net-ftp-e += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-e += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn"
+RDEPENDS_perl-module-net-ftp-i += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-i += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i"
+RDEPENDS_perl-module-net-ftp-l += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-l += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp += "perl-module-constant"
+RDEPENDS_perl-module-net-ftp += "perl-module-fcntl"
+RDEPENDS_perl-module-net-ftp += "perl-module-file-basename"
+RDEPENDS_perl-module-net-ftp += "perl-module-io-socket"
+RDEPENDS_perl-module-net-ftp += "perl-module-io-socket-ip"
+RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-ftp += "perl-module-net-config"
+RDEPENDS_perl-module-net-ftp += "perl-module-net-ftp-a"
+RDEPENDS_perl-module-net-ftp += "perl-module-net-netrc"
+RDEPENDS_perl-module-net-ftp += "perl-module-socket"
+RDEPENDS_perl-module-net-ftp += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp += "perl-module-time-local"
+RDEPENDS_perl-module-net-ftp += "perl-module-warnings"
+RDEPENDS_perl-module-net-hostent += "perl-module-class-struct"
+RDEPENDS_perl-module-net-hostent += "perl-module-exporter"
+RDEPENDS_perl-module-net-hostent += "perl-module-socket"
+RDEPENDS_perl-module-net-hostent += "perl-module-strict"
+RDEPENDS_perl-module-net-netent += "perl-module-class-struct"
+RDEPENDS_perl-module-net-netent += "perl-module-exporter"
+RDEPENDS_perl-module-net-netent += "perl-module-socket"
+RDEPENDS_perl-module-net-netent += "perl-module-strict"
+RDEPENDS_perl-module-net-netrc += "perl-module-filehandle"
+RDEPENDS_perl-module-net-netrc += "perl-module-strict"
+RDEPENDS_perl-module-net-netrc += "perl-module-warnings"
+RDEPENDS_perl-module-net-nntp += "perl-module-io-socket"
+RDEPENDS_perl-module-net-nntp += "perl-module-io-socket-ip"
+RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-nntp += "perl-module-net-config"
+RDEPENDS_perl-module-net-nntp += "perl-module-strict"
+RDEPENDS_perl-module-net-nntp += "perl-module-time-local"
+RDEPENDS_perl-module-net-nntp += "perl-module-warnings"
+RDEPENDS_perl-module-net-ping += "perl-module-constant"
+RDEPENDS_perl-module-net-ping += "perl-module-exporter"
+RDEPENDS_perl-module-net-ping += "perl-module-fcntl"
+RDEPENDS_perl-module-net-ping += "perl-module-filehandle"
+RDEPENDS_perl-module-net-ping += "perl-module-io-socket-inet"
+RDEPENDS_perl-module-net-ping += "perl-module-posix"
+RDEPENDS_perl-module-net-ping += "perl-module-socket"
+RDEPENDS_perl-module-net-ping += "perl-module-strict"
+RDEPENDS_perl-module-net-ping += "perl-module-time-hires"
+RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket"
+RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket-ip"
+RDEPENDS_perl-module-net-pop3 += "perl-module-mime-base64"
+RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-pop3 += "perl-module-net-config"
+RDEPENDS_perl-module-net-pop3 += "perl-module-net-netrc"
+RDEPENDS_perl-module-net-pop3 += "perl-module-strict"
+RDEPENDS_perl-module-net-pop3 += "perl-module-warnings"
+RDEPENDS_perl-module-net-protoent += "perl-module-class-struct"
+RDEPENDS_perl-module-net-protoent += "perl-module-exporter"
+RDEPENDS_perl-module-net-protoent += "perl-module-strict"
+RDEPENDS_perl-module-net-servent += "perl-module-class-struct"
+RDEPENDS_perl-module-net-servent += "perl-module-exporter"
+RDEPENDS_perl-module-net-servent += "perl-module-strict"
+RDEPENDS_perl-module-net-smtp += "perl-module-io-socket"
+RDEPENDS_perl-module-net-smtp += "perl-module-io-socket-ip"
+RDEPENDS_perl-module-net-smtp += "perl-module-mime-base64"
+RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-smtp += "perl-module-net-config"
+RDEPENDS_perl-module-net-smtp += "perl-module-socket"
+RDEPENDS_perl-module-net-smtp += "perl-module-strict"
+RDEPENDS_perl-module-net-smtp += "perl-module-warnings"
+RDEPENDS_perl-module-net-time += "perl-module-exporter"
+RDEPENDS_perl-module-net-time += "perl-module-io-select"
+RDEPENDS_perl-module-net-time += "perl-module-io-socket"
+RDEPENDS_perl-module-net-time += "perl-module-net-config"
+RDEPENDS_perl-module-net-time += "perl-module-strict"
+RDEPENDS_perl-module-net-time += "perl-module-warnings"
+RDEPENDS_perl-module-next += "perl-module-overload"
+RDEPENDS_perl-module-next += "perl-module-strict"
+RDEPENDS_perl-module-next += "perl-module-warnings"
+RDEPENDS_perl-module-ok += "perl-module-strict"
+RDEPENDS_perl-module-ok += "perl-module-test-more"
+RDEPENDS_perl-module-opcode += "perl-module-exporter"
+RDEPENDS_perl-module-opcode += "perl-module-strict"
+RDEPENDS_perl-module-opcode += "perl-module-subs"
+RDEPENDS_perl-module-opcode += "perl-module-xsloader"
+RDEPENDS_perl-module-open += "perl-module-encode"
+RDEPENDS_perl-module-open += "perl-module-encoding"
+RDEPENDS_perl-module-open += "perl-module-warnings"
+RDEPENDS_perl-module-o += "perl-module-b"
+RDEPENDS_perl-module-ops += "perl-module-opcode"
+RDEPENDS_perl-module-overloading += "perl-module-overload-numbers"
+RDEPENDS_perl-module-overloading += "perl-module-warnings"
+RDEPENDS_perl-module-overload += "perl-module-mro"
+RDEPENDS_perl-module-overload += "perl-module-warnings-register"
+RDEPENDS_perl-module-params-check += "perl-module-exporter"
+RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple"
+RDEPENDS_perl-module-params-check += "perl-module-strict"
+RDEPENDS_perl-module-params-check += "perl-module-vars"
+RDEPENDS_perl-module-parent += "perl-module-strict"
+RDEPENDS_perl-module-parent += "perl-module-vars"
+RDEPENDS_perl-module-perlfaq += "perl-module-strict"
+RDEPENDS_perl-module-perlfaq += "perl-module-warnings"
+RDEPENDS_perl-module-perlio-encoding += "perl-module-strict"
+RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader"
+RDEPENDS_perl-module-perlio-mmap += "perl-module-strict"
+RDEPENDS_perl-module-perlio-mmap += "perl-module-warnings"
+RDEPENDS_perl-module-perlio-mmap += "perl-module-xsloader"
+RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader"
+RDEPENDS_perl-module-perlio-via += "perl-module-xsloader"
+RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-mime-quotedprint"
+RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict"
+RDEPENDS_perl-module-pod-checker += "perl-module-base"
+RDEPENDS_perl-module-pod-checker += "perl-module-exporter"
+RDEPENDS_perl-module-pod-checker += "perl-module-strict"
+RDEPENDS_perl-module-pod-checker += "perl-module-warnings"
+RDEPENDS_perl-module-pod-escapes += "perl-module-exporter"
+RDEPENDS_perl-module-pod-escapes += "perl-module-strict"
+RDEPENDS_perl-module-pod-escapes += "perl-module-vars"
+RDEPENDS_perl-module-pod-escapes += "perl-module-warnings"
+RDEPENDS_perl-module-pod-find += "perl-module-config"
+RDEPENDS_perl-module-pod-find += "perl-module-cwd"
+RDEPENDS_perl-module-pod-find += "perl-module-exporter"
+RDEPENDS_perl-module-pod-find += "perl-module-file-find"
+RDEPENDS_perl-module-pod-find += "perl-module-strict"
+RDEPENDS_perl-module-pod-find += "perl-module-vars"
+RDEPENDS_perl-module-pod-functions += "perl-module-exporter"
+RDEPENDS_perl-module-pod-functions += "perl-module-strict"
+RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict"
+RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars"
+RDEPENDS_perl-module-pod-man += "perl-module-file-basename"
+RDEPENDS_perl-module-pod-man += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-man += "perl-module-strict"
+RDEPENDS_perl-module-pod-man += "perl-module-subs"
+RDEPENDS_perl-module-pod-man += "perl-module-vars"
+RDEPENDS_perl-module-pod-man += "perl-module-warnings"
+RDEPENDS_perl-module-pod-parselink += "perl-module-exporter"
+RDEPENDS_perl-module-pod-parselink += "perl-module-strict"
+RDEPENDS_perl-module-pod-parselink += "perl-module-vars"
+RDEPENDS_perl-module-pod-parselink += "perl-module-warnings"
+RDEPENDS_perl-module-pod-parser += "perl-module-exporter"
+RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects"
+RDEPENDS_perl-module-pod-parser += "perl-module-strict"
+RDEPENDS_perl-module-pod-parser += "perl-module-vars"
+RDEPENDS_perl-module-pod-parseutils += "perl-module-strict"
+RDEPENDS_perl-module-pod-parseutils += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-config"
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-config"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-encode"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-fcntl"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-file-basename"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-file-temp"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-pod-perldoc-getoptsoo"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-text-parsewords"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-pod-text-color"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-pod-checker"
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-encode"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-handle"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-select"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-ipc-open3"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-man"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-perldoc-topod"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-pod-text-termcap"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings"
+RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select"
+RDEPENDS_perl-module-pod-plaintext += "perl-module-strict"
+RDEPENDS_perl-module-pod-plaintext += "perl-module-vars"
+RDEPENDS_perl-module-pod-select += "perl-module-pod-parser"
+RDEPENDS_perl-module-pod-select += "perl-module-strict"
+RDEPENDS_perl-module-pod-select += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-integer"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple-transcode"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple-methody"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-text-wrap"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-debug += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-debug += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-debug += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-text-wrap"
+RDEPENDS_perl-module-pod-simple-linksection += "perl-module-overload"
+RDEPENDS_perl-module-pod-simple-linksection += "perl-module-pod-simple-blackbox"
+RDEPENDS_perl-module-pod-simple-linksection += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-linksection += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-methody += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-methody += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-methody += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple += "perl-module-integer"
+RDEPENDS_perl-module-pod-simple += "perl-module-pod-escapes"
+RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-blackbox"
+RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-linksection"
+RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-tiedoutfh"
+RDEPENDS_perl-module-pod-simple += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-progress += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-pod-simple-pullparsertoken"
+RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserendtoken"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserstarttoken"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparsertexttoken"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-pod-simple-pullparsertoken"
+RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-pod-simple-pullparsertoken"
+RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-pullparsertoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-integer"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-pod-simple-pullparser"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-config"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-cwd"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-file-basename"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple-methody"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-text-wrap"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-vars"
+RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text"
+RDEPENDS_perl-module-pod-text-color += "perl-module-strict"
+RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor"
+RDEPENDS_perl-module-pod-text-color += "perl-module-vars"
+RDEPENDS_perl-module-pod-text-color += "perl-module-warnings"
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text"
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict"
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars"
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-warnings"
+RDEPENDS_perl-module-pod-text += "perl-module-encode"
+RDEPENDS_perl-module-pod-text += "perl-module-exporter"
+RDEPENDS_perl-module-pod-text += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-text += "perl-module-strict"
+RDEPENDS_perl-module-pod-text += "perl-module-vars"
+RDEPENDS_perl-module-pod-text += "perl-module-warnings"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-warnings"
+RDEPENDS_perl-module-pod-usage += "perl-module-config"
+RDEPENDS_perl-module-pod-usage += "perl-module-exporter"
+RDEPENDS_perl-module-pod-usage += "perl-module-strict"
+RDEPENDS_perl-module-pod-usage += "perl-module-vars"
+RDEPENDS_perl-module-posix += "perl-module-exporter"
+RDEPENDS_perl-module-posix += "perl-module-fcntl"
+RDEPENDS_perl-module-posix += "perl-module-strict"
+RDEPENDS_perl-module-posix += "perl-module-tie-hash"
+RDEPENDS_perl-module-posix += "perl-module-warnings"
+RDEPENDS_perl-module-posix += "perl-module-xsloader"
+RDEPENDS_perl-module-re += "perl-module-exporter"
+RDEPENDS_perl-module-re += "perl-module-strict"
+RDEPENDS_perl-module-re += "perl-module-term-cap"
+RDEPENDS_perl-module-re += "perl-module-warnings"
+RDEPENDS_perl-module-re += "perl-module-xsloader"
+RDEPENDS_perl-module-safe += "perl-module-b"
+RDEPENDS_perl-module-safe += "perl-module-opcode"
+RDEPENDS_perl-module-safe += "perl-module-strict"
+RDEPENDS_perl-module-safe += "perl-module-utf8"
+RDEPENDS_perl-module-sdbm-file += "perl-module-exporter"
+RDEPENDS_perl-module-sdbm-file += "perl-module-strict"
+RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash"
+RDEPENDS_perl-module-sdbm-file += "perl-module-warnings"
+RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader"
+RDEPENDS_perl-module-search-dict += "perl-module-exporter"
+RDEPENDS_perl-module-search-dict += "perl-module-feature"
+RDEPENDS_perl-module-search-dict += "perl-module-strict"
+RDEPENDS_perl-module-selfloader += "perl-module-exporter"
+RDEPENDS_perl-module-selfloader += "perl-module-io-handle"
+RDEPENDS_perl-module-selfloader += "perl-module-strict"
+RDEPENDS_perl-module-socket += "perl-module-exporter"
+RDEPENDS_perl-module-socket += "perl-module-strict"
+RDEPENDS_perl-module-socket += "perl-module-warnings-register"
+RDEPENDS_perl-module-socket += "perl-module-xsloader"
+RDEPENDS_perl-module-sort += "perl-module-strict"
+RDEPENDS_perl-module-storable += "perl-module-exporter"
+RDEPENDS_perl-module-storable += "perl-module-io-file"
+RDEPENDS_perl-module-storable += "perl-module-xsloader"
+RDEPENDS_perl-module-sub-util += "perl-module-exporter"
+RDEPENDS_perl-module-sub-util += "perl-module-list-util"
+RDEPENDS_perl-module-sub-util += "perl-module-strict"
+RDEPENDS_perl-module-sub-util += "perl-module-warnings"
+RDEPENDS_perl-module-sys-hostname += "perl-module-exporter"
+RDEPENDS_perl-module-sys-hostname += "perl-module-posix"
+RDEPENDS_perl-module-sys-hostname += "perl-module-strict"
+RDEPENDS_perl-module-sys-hostname += "perl-module-warnings"
+RDEPENDS_perl-module-sys-hostname += "perl-module-xsloader"
+RDEPENDS_perl-module-sys-syslog += "perl-module-config"
+RDEPENDS_perl-module-sys-syslog += "perl-module-constant"
+RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader"
+RDEPENDS_perl-module-sys-syslog += "perl-module-exporter"
+RDEPENDS_perl-module-sys-syslog += "perl-module-fcntl"
+RDEPENDS_perl-module-sys-syslog += "perl-module-file-basename"
+RDEPENDS_perl-module-sys-syslog += "perl-module-posix"
+RDEPENDS_perl-module-sys-syslog += "perl-module-socket"
+RDEPENDS_perl-module-sys-syslog += "perl-module-strict"
+RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname"
+RDEPENDS_perl-module-sys-syslog += "perl-module-vars"
+RDEPENDS_perl-module-sys-syslog += "perl-module-warnings"
+RDEPENDS_perl-module-sys-syslog += "perl-module-warnings-register"
+RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader"
+RDEPENDS_perl-module-tap-base += "perl-module-base"
+RDEPENDS_perl-module-tap-base += "perl-module-constant"
+RDEPENDS_perl-module-tap-base += "perl-module-strict"
+RDEPENDS_perl-module-tap-base += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-tap-formatter-color"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-color += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-color += "perl-module-constant"
+RDEPENDS_perl-module-tap-formatter-color += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-color += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-constant"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-file-path"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-console += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-console += "perl-module-posix"
+RDEPENDS_perl-module-tap-formatter-console += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-console += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-session += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-session += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-session += "perl-module-warnings"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-constant"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-strict"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings"
+RDEPENDS_perl-module-tap-harness += "perl-module-base"
+RDEPENDS_perl-module-tap-harness += "perl-module-file-path"
+RDEPENDS_perl-module-tap-harness += "perl-module-io-handle"
+RDEPENDS_perl-module-tap-harness += "perl-module-strict"
+RDEPENDS_perl-module-tap-harness += "perl-module-warnings"
+RDEPENDS_perl-module-tap-object += "perl-module-strict"
+RDEPENDS_perl-module-tap-object += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser += "perl-module-base"
+RDEPENDS_perl-module-tap-parser += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-result"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-resultfactory"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-source"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-executable"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-file"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-handle"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-perl"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap"
+RDEPENDS_perl-module-tap-parser += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-pragma"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-test"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-unknown"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-version"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-yaml"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-tap-parser-iterator"
+RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-config"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings"
+RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter"
+RDEPENDS_perl-module-term-ansicolor += "perl-module-strict"
+RDEPENDS_perl-module-term-ansicolor += "perl-module-warnings"
+RDEPENDS_perl-module-term-cap += "perl-module-strict"
+RDEPENDS_perl-module-term-cap += "perl-module-vars"
+RDEPENDS_perl-module-term-complete += "perl-module-exporter"
+RDEPENDS_perl-module-term-complete += "perl-module-strict"
+RDEPENDS_perl-module-term-readline += "perl-module-strict"
+RDEPENDS_perl-module-term-readline += "perl-module-term-cap"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings"
+RDEPENDS_perl-module-test-builder-module += "perl-module-exporter"
+RDEPENDS_perl-module-test-builder-module += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder"
+RDEPENDS_perl-module-test-builder += "perl-module-data-dumper"
+RDEPENDS_perl-module-test-builder += "perl-module-overload"
+RDEPENDS_perl-module-test-builder += "perl-module-strict"
+RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter"
+RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag"
+RDEPENDS_perl-module-test-builder += "perl-module-warnings"
+RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester"
+RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter"
+RDEPENDS_perl-module-test-builder-tester += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-tester += "perl-module-test-builder"
+RDEPENDS_perl-module-test-builder-tododiag += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-tododiag += "perl-module-warnings"
+RDEPENDS_perl-module-test-harness += "perl-module-base"
+RDEPENDS_perl-module-test-harness += "perl-module-config"
+RDEPENDS_perl-module-test-harness += "perl-module-constant"
+RDEPENDS_perl-module-test-harness += "perl-module-strict"
+RDEPENDS_perl-module-test-harness += "perl-module-tap-harness"
+RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-aggregator"
+RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source"
+RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl"
+RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords"
+RDEPENDS_perl-module-test-harness += "perl-module-warnings"
+RDEPENDS_perl-module-test-more += "perl-module-strict"
+RDEPENDS_perl-module-test-more += "perl-module-test-builder-module"
+RDEPENDS_perl-module-test-more += "perl-module-warnings"
+RDEPENDS_perl-module-test += "perl-module-exporter"
+RDEPENDS_perl-module-test += "perl-module-file-temp"
+RDEPENDS_perl-module-test += "perl-module-strict"
+RDEPENDS_perl-module-test-simple += "perl-module-strict"
+RDEPENDS_perl-module-test-simple += "perl-module-test-builder-module"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-config"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-strict"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-test-builder"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-threads-shared"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-vars"
+RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-exporter"
+RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-strict"
+RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-test-tester-capture"
+RDEPENDS_perl-module-test-tester-delegate += "perl-module-strict"
+RDEPENDS_perl-module-test-tester-delegate += "perl-module-vars"
+RDEPENDS_perl-module-test-tester-delegate += "perl-module-warnings"
+RDEPENDS_perl-module-test-tester += "perl-module-exporter"
+RDEPENDS_perl-module-test-tester += "perl-module-strict"
+RDEPENDS_perl-module-test-tester += "perl-module-test-builder"
+RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner"
+RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate"
+RDEPENDS_perl-module-test-tester += "perl-module-vars"
+RDEPENDS_perl-module-text-abbrev += "perl-module-exporter"
+RDEPENDS_perl-module-text-balanced += "perl-module-exporter"
+RDEPENDS_perl-module-text-balanced += "perl-module-overload"
+RDEPENDS_perl-module-text-balanced += "perl-module-selfloader"
+RDEPENDS_perl-module-text-balanced += "perl-module-strict"
+RDEPENDS_perl-module-text-balanced += "perl-module-vars"
+RDEPENDS_perl-module-text-parsewords += "perl-module-exporter"
+RDEPENDS_perl-module-text-parsewords += "perl-module-strict"
+RDEPENDS_perl-module-text-tabs += "perl-module-exporter"
+RDEPENDS_perl-module-text-tabs += "perl-module-strict"
+RDEPENDS_perl-module-text-tabs += "perl-module-vars"
+RDEPENDS_perl-module-text-wrap += "perl-module-exporter"
+RDEPENDS_perl-module-text-wrap += "perl-module-re"
+RDEPENDS_perl-module-text-wrap += "perl-module-strict"
+RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs"
+RDEPENDS_perl-module-text-wrap += "perl-module-vars"
+RDEPENDS_perl-module-text-wrap += "perl-module-warnings-register"
+RDEPENDS_perl-module-thread += "perl-module-config"
+RDEPENDS_perl-module-thread += "perl-module-exporter"
+RDEPENDS_perl-module-thread += "perl-module-strict"
+RDEPENDS_perl-module-thread += "perl-module-threads"
+RDEPENDS_perl-module-thread += "perl-module-threads-shared"
+RDEPENDS_perl-module-thread += "perl-module-warnings"
+RDEPENDS_perl-module-thread-queue += "perl-module-strict"
+RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared"
+RDEPENDS_perl-module-thread-queue += "perl-module-warnings"
+RDEPENDS_perl-module-thread-semaphore += "perl-module-strict"
+RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared"
+RDEPENDS_perl-module-thread-semaphore += "perl-module-warnings"
+RDEPENDS_perl-module-threads += "perl-module-config"
+RDEPENDS_perl-module-threads += "perl-module-overload"
+RDEPENDS_perl-module-threads += "perl-module-strict"
+RDEPENDS_perl-module-threads += "perl-module-warnings"
+RDEPENDS_perl-module-threads += "perl-module-xsloader"
+RDEPENDS_perl-module-threads-shared += "perl-module-strict"
+RDEPENDS_perl-module-threads-shared += "perl-module-warnings"
+RDEPENDS_perl-module-threads-shared += "perl-module-xsloader"
+RDEPENDS_perl-module-tie-array += "perl-module-strict"
+RDEPENDS_perl-module-tie-file += "perl-module-fcntl"
+RDEPENDS_perl-module-tie-file += "perl-module-posix"
+RDEPENDS_perl-module-tie-file += "perl-module-strict"
+RDEPENDS_perl-module-tie-handle += "perl-module-tie-stdhandle"
+RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register"
+RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict"
+RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader"
+RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register"
+RDEPENDS_perl-module-tie-memoize += "perl-module-strict"
+RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash"
+RDEPENDS_perl-module-tie-refhash += "perl-module-config"
+RDEPENDS_perl-module-tie-refhash += "perl-module-overload"
+RDEPENDS_perl-module-tie-refhash += "perl-module-strict"
+RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash"
+RDEPENDS_perl-module-tie-refhash += "perl-module-vars"
+RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register"
+RDEPENDS_perl-module-tie-stdhandle += "perl-module-strict"
+RDEPENDS_perl-module-tie-stdhandle += "perl-module-tie-handle"
+RDEPENDS_perl-module-tie-substrhash += "perl-module-integer"
+RDEPENDS_perl-module-time-gmtime += "perl-module-exporter"
+RDEPENDS_perl-module-time-gmtime += "perl-module-strict"
+RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm"
+RDEPENDS_perl-module-time-hires += "perl-module-exporter"
+RDEPENDS_perl-module-time-hires += "perl-module-strict"
+RDEPENDS_perl-module-time-hires += "perl-module-xsloader"
+RDEPENDS_perl-module-time-local += "perl-module-config"
+RDEPENDS_perl-module-time-local += "perl-module-constant"
+RDEPENDS_perl-module-time-local += "perl-module-exporter"
+RDEPENDS_perl-module-time-local += "perl-module-parent"
+RDEPENDS_perl-module-time-local += "perl-module-strict"
+RDEPENDS_perl-module-time-localtime += "perl-module-exporter"
+RDEPENDS_perl-module-time-localtime += "perl-module-strict"
+RDEPENDS_perl-module-time-localtime += "perl-module-time-tm"
+RDEPENDS_perl-module-time-piece += "perl-module-constant"
+RDEPENDS_perl-module-time-piece += "perl-module-exporter"
+RDEPENDS_perl-module-time-piece += "perl-module-integer"
+RDEPENDS_perl-module-time-piece += "perl-module-overload"
+RDEPENDS_perl-module-time-piece += "perl-module-strict"
+RDEPENDS_perl-module-time-piece += "perl-module-time-local"
+RDEPENDS_perl-module-time-piece += "perl-module-time-seconds"
+RDEPENDS_perl-module-time-piece += "perl-module-xsloader"
+RDEPENDS_perl-module-time-seconds += "perl-module-constant"
+RDEPENDS_perl-module-time-seconds += "perl-module-exporter"
+RDEPENDS_perl-module-time-seconds += "perl-module-overload"
+RDEPENDS_perl-module-time-seconds += "perl-module-strict"
+RDEPENDS_perl-module-time-tm += "perl-module-class-struct"
+RDEPENDS_perl-module-time-tm += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-locale += "perl-module-base"
+RDEPENDS_perl-module-unicode-collate-locale += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-locale += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate += "perl-module-constant"
+RDEPENDS_perl-module-unicode-collate += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate += "perl-module-xsloader"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-strict"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-xsloader"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-charnames"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-feature"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-if"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-integer"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-strict"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-unicode-normalize"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-utf8-heavy"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings"
+RDEPENDS_perl-module-user-grent += "perl-module-class-struct"
+RDEPENDS_perl-module-user-grent += "perl-module-exporter"
+RDEPENDS_perl-module-user-grent += "perl-module-strict"
+RDEPENDS_perl-module-user-pwent += "perl-module-class-struct"
+RDEPENDS_perl-module-user-pwent += "perl-module-config"
+RDEPENDS_perl-module-user-pwent += "perl-module-exporter"
+RDEPENDS_perl-module-user-pwent += "perl-module-strict"
+RDEPENDS_perl-module-user-pwent += "perl-module-warnings"
+RDEPENDS_perl-module-utf8 += "perl-module-utf8-heavy"
+RDEPENDS_perl-module-version += "perl-module-strict"
+RDEPENDS_perl-module-version += "perl-module-version-regex"
+RDEPENDS_perl-module-version += "perl-module-warnings-register"
+RDEPENDS_perl-module-version-regex += "perl-module-strict"
+RDEPENDS_perl-module-xsloader += "perl-module-dynaloader"
+RDEPENDS_perl-module-anydbm-file += "perl-module-strict"
+RDEPENDS_perl-module-anydbm-file += "perl-module-warnings"
+RDEPENDS_perl-module-app-cpan += "perl-module-config"
+RDEPENDS_perl-module-app-cpan += "perl-module-constant"
+RDEPENDS_perl-module-app-cpan += "perl-module-cpan"
+RDEPENDS_perl-module-app-cpan += "perl-module-cwd"
+RDEPENDS_perl-module-app-cpan += "perl-module-data-dumper"
+RDEPENDS_perl-module-app-cpan += "perl-module-file-basename"
+RDEPENDS_perl-module-app-cpan += "perl-module-file-find"
+RDEPENDS_perl-module-app-cpan += "perl-module-getopt-std"
+RDEPENDS_perl-module-app-cpan += "perl-module-if"
+RDEPENDS_perl-module-app-cpan += "perl-module-net-ping"
+RDEPENDS_perl-module-app-cpan += "perl-module-strict"
+RDEPENDS_perl-module-app-cpan += "perl-module-user-pwent"
+RDEPENDS_perl-module-app-cpan += "perl-module-vars"
+RDEPENDS_perl-module-app-cpan += "perl-module-warnings"
+RDEPENDS_perl-module-app-prove += "perl-module-app-prove-state"
+RDEPENDS_perl-module-app-prove += "perl-module-base"
+RDEPENDS_perl-module-app-prove += "perl-module-constant"
+RDEPENDS_perl-module-app-prove += "perl-module-getopt-long"
+RDEPENDS_perl-module-app-prove += "perl-module-strict"
+RDEPENDS_perl-module-app-prove += "perl-module-tap-harness"
+RDEPENDS_perl-module-app-prove += "perl-module-tap-harness-env"
+RDEPENDS_perl-module-app-prove += "perl-module-text-parsewords"
+RDEPENDS_perl-module-app-prove += "perl-module-warnings"
+RDEPENDS_perl-module-app-prove-state += "perl-module-app-prove-state-result"
+RDEPENDS_perl-module-app-prove-state += "perl-module-base"
+RDEPENDS_perl-module-app-prove-state += "perl-module-constant"
+RDEPENDS_perl-module-app-prove-state += "perl-module-file-find"
+RDEPENDS_perl-module-app-prove-state += "perl-module-strict"
+RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-reader"
+RDEPENDS_perl-module-app-prove-state += "perl-module-tap-parser-yamlish-writer"
+RDEPENDS_perl-module-app-prove-state += "perl-module-warnings"
+RDEPENDS_perl-module-app-prove-state-result += "perl-module-app-prove-state-result-test"
+RDEPENDS_perl-module-app-prove-state-result += "perl-module-constant"
+RDEPENDS_perl-module-app-prove-state-result += "perl-module-strict"
+RDEPENDS_perl-module-app-prove-state-result += "perl-module-warnings"
+RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-strict"
+RDEPENDS_perl-module-app-prove-state-result-test += "perl-module-warnings"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-constant"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-exporter"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-io-compress-bzip2"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-strict"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-time-local"
+RDEPENDS_perl-module-archive-tar-constant += "perl-module-warnings"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar-constant"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-file-basename"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-io-file"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-strict"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-vars"
+RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-constant"
+RDEPENDS_perl-module-archive-tar += "perl-module-archive-tar-file"
+RDEPENDS_perl-module-archive-tar += "perl-module-config"
+RDEPENDS_perl-module-archive-tar += "perl-module-cwd"
+RDEPENDS_perl-module-archive-tar += "perl-module-exporter"
+RDEPENDS_perl-module-archive-tar += "perl-module-file-path"
+RDEPENDS_perl-module-archive-tar += "perl-module-io-file"
+RDEPENDS_perl-module-archive-tar += "perl-module-io-zlib"
+RDEPENDS_perl-module-archive-tar += "perl-module-strict"
+RDEPENDS_perl-module-archive-tar += "perl-module-vars"
+RDEPENDS_perl-module-arybase += "perl-module-xsloader"
+RDEPENDS_perl-module-attribute-handlers += "perl-module-strict"
+RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings"
+RDEPENDS_perl-module-attributes += "perl-module-exporter"
+RDEPENDS_perl-module-attributes += "perl-module-strict"
+RDEPENDS_perl-module-attributes += "perl-module-warnings"
+RDEPENDS_perl-module-attributes += "perl-module-xsloader"
+RDEPENDS_perl-module-autodie-exception += "perl-module-constant"
+RDEPENDS_perl-module-autodie-exception += "perl-module-fatal"
+RDEPENDS_perl-module-autodie-exception += "perl-module-fcntl"
+RDEPENDS_perl-module-autodie-exception += "perl-module-overload"
+RDEPENDS_perl-module-autodie-exception += "perl-module-strict"
+RDEPENDS_perl-module-autodie-exception += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-exception-system += "perl-module-parent"
+RDEPENDS_perl-module-autodie-exception-system += "perl-module-strict"
+RDEPENDS_perl-module-autodie-exception-system += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-hints += "perl-module-b"
+RDEPENDS_perl-module-autodie-hints += "perl-module-constant"
+RDEPENDS_perl-module-autodie-hints += "perl-module-strict"
+RDEPENDS_perl-module-autodie-hints += "perl-module-warnings"
+RDEPENDS_perl-module-autodie += "perl-module-constant"
+RDEPENDS_perl-module-autodie += "perl-module-lib"
+RDEPENDS_perl-module-autodie += "perl-module-parent"
+RDEPENDS_perl-module-autodie += "perl-module-strict"
+RDEPENDS_perl-module-autodie += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-scope-guard += "perl-module-strict"
+RDEPENDS_perl-module-autodie-scope-guard += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-autodie-scope-guard"
+RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-strict"
+RDEPENDS_perl-module-autodie-scope-guardstack += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-skip += "perl-module-strict"
+RDEPENDS_perl-module-autodie-skip += "perl-module-warnings"
+RDEPENDS_perl-module-autodie-util += "perl-module-autodie-scope-guardstack"
+RDEPENDS_perl-module-autodie-util += "perl-module-exporter"
+RDEPENDS_perl-module-autodie-util += "perl-module-strict"
+RDEPENDS_perl-module-autodie-util += "perl-module-warnings"
+RDEPENDS_perl-module-autoloader += "perl-module-strict"
+RDEPENDS_perl-module-autosplit += "perl-module-config"
+RDEPENDS_perl-module-autosplit += "perl-module-exporter"
+RDEPENDS_perl-module-autosplit += "perl-module-file-basename"
+RDEPENDS_perl-module-autosplit += "perl-module-file-path"
+RDEPENDS_perl-module-autosplit += "perl-module-strict"
+RDEPENDS_perl-module-base += "perl-module-strict"
+RDEPENDS_perl-module-b-concise += "perl-module-b"
+RDEPENDS_perl-module-b-concise += "perl-module-b-op-private"
+RDEPENDS_perl-module-b-concise += "perl-module-config"
+RDEPENDS_perl-module-b-concise += "perl-module-exporter"
+RDEPENDS_perl-module-b-concise += "perl-module-feature"
+RDEPENDS_perl-module-b-concise += "perl-module-strict"
+RDEPENDS_perl-module-b-concise += "perl-module-warnings"
+RDEPENDS_perl-module-b-debug += "perl-module-b"
+RDEPENDS_perl-module-b-debug += "perl-module-config"
+RDEPENDS_perl-module-b-debug += "perl-module-strict"
+RDEPENDS_perl-module-benchmark += "perl-module-exporter"
+RDEPENDS_perl-module-benchmark += "perl-module-strict"
+RDEPENDS_perl-module-bigint += "perl-module-constant"
+RDEPENDS_perl-module-bigint += "perl-module-exporter"
+RDEPENDS_perl-module-bigint += "perl-module-math-bigint"
+RDEPENDS_perl-module-bigint += "perl-module-math-bigint-trace"
+RDEPENDS_perl-module-bigint += "perl-module-overload"
+RDEPENDS_perl-module-bigint += "perl-module-strict"
+RDEPENDS_perl-module-bigint += "perl-module-warnings"
+RDEPENDS_perl-module-bignum += "perl-module-bigint"
+RDEPENDS_perl-module-bignum += "perl-module-exporter"
+RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-bignum += "perl-module-math-bigfloat-trace"
+RDEPENDS_perl-module-bignum += "perl-module-math-bigint"
+RDEPENDS_perl-module-bignum += "perl-module-math-bigint-trace"
+RDEPENDS_perl-module-bignum += "perl-module-overload"
+RDEPENDS_perl-module-bignum += "perl-module-strict"
+RDEPENDS_perl-module-bignum += "perl-module-warnings"
+RDEPENDS_perl-module-bigrat += "perl-module-bigint"
+RDEPENDS_perl-module-bigrat += "perl-module-exporter"
+RDEPENDS_perl-module-bigrat += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-bigrat += "perl-module-math-bigint"
+RDEPENDS_perl-module-bigrat += "perl-module-math-bigint-trace"
+RDEPENDS_perl-module-bigrat += "perl-module-math-bigrat"
+RDEPENDS_perl-module-bigrat += "perl-module-overload"
+RDEPENDS_perl-module-bigrat += "perl-module-strict"
+RDEPENDS_perl-module-bigrat += "perl-module-warnings"
+RDEPENDS_perl-module-blib += "perl-module-cwd"
+RDEPENDS_perl-module-b += "perl-module-exporter"
+RDEPENDS_perl-module-b += "perl-module-xsloader"
+RDEPENDS_perl-module-b-showlex += "perl-module-b"
+RDEPENDS_perl-module-b-showlex += "perl-module-b-concise"
+RDEPENDS_perl-module-b-showlex += "perl-module-b-terse"
+RDEPENDS_perl-module-b-showlex += "perl-module-strict"
+RDEPENDS_perl-module-b-terse += "perl-module-b"
+RDEPENDS_perl-module-b-terse += "perl-module-b-concise"
+RDEPENDS_perl-module-b-terse += "perl-module-strict"
+RDEPENDS_perl-module-b-xref += "perl-module-b"
+RDEPENDS_perl-module-b-xref += "perl-module-config"
+RDEPENDS_perl-module-b-xref += "perl-module-strict"
+RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy"
+RDEPENDS_perl-module--charnames += "perl-module-bytes"
+RDEPENDS_perl-module-charnames += "perl-module-bytes"
+RDEPENDS_perl-module-charnames += "perl-module--charnames"
+RDEPENDS_perl-module--charnames += "perl-module-re"
+RDEPENDS_perl-module-charnames += "perl-module-re"
+RDEPENDS_perl-module--charnames += "perl-module-strict"
+RDEPENDS_perl-module-charnames += "perl-module-strict"
+RDEPENDS_perl-module--charnames += "perl-module-warnings"
+RDEPENDS_perl-module-charnames += "perl-module-warnings"
+RDEPENDS_perl-module-class-struct += "perl-module-exporter"
+RDEPENDS_perl-module-class-struct += "perl-module-strict"
+RDEPENDS_perl-module-class-struct += "perl-module-warnings-register"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-bytes "
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-constant"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-dynaloader"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-strict "
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-warnings "
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-xsloader"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-bytes "
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-constant"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-dynaloader"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-strict "
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-warnings "
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-xsloader"
+RDEPENDS_perl-module-compress-zlib += "perl-module-bytes "
+RDEPENDS_perl-module-compress-zlib += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-compress-zlib += "perl-module-constant"
+RDEPENDS_perl-module-compress-zlib += "perl-module-exporter"
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip"
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-compress-gzip-constants"
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-handle "
+RDEPENDS_perl-module-compress-zlib += "perl-module-io-uncompress-gunzip"
+RDEPENDS_perl-module-compress-zlib += "perl-module-strict "
+RDEPENDS_perl-module-compress-zlib += "perl-module-warnings "
+RDEPENDS_perl-module-config-extensions += "perl-module-config"
+RDEPENDS_perl-module-config-extensions += "perl-module-exporter"
+RDEPENDS_perl-module-config-extensions += "perl-module-strict"
+RDEPENDS_perl-module-config += "perl-module-strict"
+RDEPENDS_perl-module-config += "perl-module-warnings"
+RDEPENDS_perl-module-config-perl-v += "perl-module-config"
+RDEPENDS_perl-module-config-perl-v += "perl-module-exporter"
+RDEPENDS_perl-module-config-perl-v += "perl-module-strict"
+RDEPENDS_perl-module-config-perl-v += "perl-module-vars"
+RDEPENDS_perl-module-config-perl-v += "perl-module-warnings"
+RDEPENDS_perl-module-constant += "perl-module-strict"
+RDEPENDS_perl-module-constant += "perl-module-warnings-register"
+RDEPENDS_perl-module-corelist += "perl-module-list-util"
+RDEPENDS_perl-module-corelist += "perl-module-corelist"
+RDEPENDS_perl-module-corelist += "perl-module-strict"
+RDEPENDS_perl-module-corelist += "perl-module-version"
+RDEPENDS_perl-module-corelist += "perl-module-warnings"
+RDEPENDS_perl-module-cpan += "perl-module-b"
+RDEPENDS_perl-module-cpan += "perl-module-config"
+RDEPENDS_perl-module-cpan += "perl-module-cwd"
+RDEPENDS_perl-module-cpan += "perl-module-data-dumper"
+RDEPENDS_perl-module-cpan += "perl-module-dirhandle"
+RDEPENDS_perl-module-cpan += "perl-module-errno"
+RDEPENDS_perl-module-cpan += "perl-module-exporter"
+RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-cpan += "perl-module-extutils-manifest"
+RDEPENDS_perl-module-cpan += "perl-module-fcntl"
+RDEPENDS_perl-module-cpan += "perl-module-file-basename"
+RDEPENDS_perl-module-cpan += "perl-module-file-copy"
+RDEPENDS_perl-module-cpan += "perl-module-file-find"
+RDEPENDS_perl-module-cpan += "perl-module-filehandle"
+RDEPENDS_perl-module-cpan += "perl-module-file-path"
+RDEPENDS_perl-module-cpan += "perl-module-lib"
+RDEPENDS_perl-module-cpan += "perl-module-net-ping"
+RDEPENDS_perl-module-cpan += "perl-module-overload"
+RDEPENDS_perl-module-cpan += "perl-module-posix"
+RDEPENDS_perl-module-cpan += "perl-module-safe"
+RDEPENDS_perl-module-cpan += "perl-module-strict"
+RDEPENDS_perl-module-cpan += "perl-module-sys-hostname"
+RDEPENDS_perl-module-cpan += "perl-module-term-readline"
+RDEPENDS_perl-module-cpan += "perl-module-text-parsewords"
+RDEPENDS_perl-module-cpan += "perl-module-text-wrap"
+RDEPENDS_perl-module-cpan += "perl-module-time-local"
+RDEPENDS_perl-module-cpan += "perl-module-vars"
+RDEPENDS_perl-module-cpan += "perl-module-warnings"
+RDEPENDS_perl-module-cwd += "perl-module-errno"
+RDEPENDS_perl-module-cwd += "perl-module-exporter"
+RDEPENDS_perl-module-cwd += "perl-module-strict"
+RDEPENDS_perl-module-cwd += "perl-module-xsloader"
+RDEPENDS_perl-module-data-dumper += "perl-module-config"
+RDEPENDS_perl-module-data-dumper += "perl-module-constant"
+RDEPENDS_perl-module-data-dumper += "perl-module-exporter"
+RDEPENDS_perl-module-data-dumper += "perl-module-xsloader"
+RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter += "perl-module-warnings"
+RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict"
+RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings"
+RDEPENDS_perl-module-db += "perl-module-strict"
+RDEPENDS_perl-module-deprecate += "perl-module-strict"
+RDEPENDS_perl-module-deprecate += "perl-module-warnings"
+RDEPENDS_perl-module-devel-peek += "perl-module-exporter"
+RDEPENDS_perl-module-devel-peek += "perl-module-xsloader"
+RDEPENDS_perl-module-devel-ppport += "perl-module-file-find"
+RDEPENDS_perl-module-devel-ppport += "perl-module-getopt-long"
+RDEPENDS_perl-module-devel-ppport += "perl-module-strict"
+RDEPENDS_perl-module-devel-ppport += "perl-module-vars"
+RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader"
+RDEPENDS_perl-module-diagnostics += "perl-module-config"
+RDEPENDS_perl-module-diagnostics += "perl-module-getopt-std"
+RDEPENDS_perl-module-diagnostics += "perl-module-strict"
+RDEPENDS_perl-module-diagnostics += "perl-module-text-tabs"
+RDEPENDS_perl-module-digest-base += "perl-module-mime-base64"
+RDEPENDS_perl-module-digest-base += "perl-module-strict"
+RDEPENDS_perl-module-digest-base += "perl-module-vars"
+RDEPENDS_perl-module-digest-file += "perl-module-digest"
+RDEPENDS_perl-module-digest-file += "perl-module-exporter"
+RDEPENDS_perl-module-digest-file += "perl-module-strict"
+RDEPENDS_perl-module-digest-file += "perl-module-vars"
+RDEPENDS_perl-module-digest-md5 += "perl-module-digest-base"
+RDEPENDS_perl-module-digest-md5 += "perl-module-exporter"
+RDEPENDS_perl-module-digest-md5 += "perl-module-strict"
+RDEPENDS_perl-module-digest-md5 += "perl-module-vars"
+RDEPENDS_perl-module-digest-md5 += "perl-module-xsloader"
+RDEPENDS_perl-module-digest += "perl-module-strict"
+RDEPENDS_perl-module-digest += "perl-module-vars"
+RDEPENDS_perl-module-digest-sha += "perl-module-digest-base"
+RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader"
+RDEPENDS_perl-module-digest-sha += "perl-module-exporter"
+RDEPENDS_perl-module-digest-sha += "perl-module-fcntl"
+RDEPENDS_perl-module-digest-sha += "perl-module-integer"
+RDEPENDS_perl-module-digest-sha += "perl-module-strict"
+RDEPENDS_perl-module-digest-sha += "perl-module-vars"
+RDEPENDS_perl-module-digest-sha += "perl-module-warnings"
+RDEPENDS_perl-module-digest-sha += "perl-module-xsloader"
+RDEPENDS_perl-module-dynaloader += "perl-module-config"
+RDEPENDS_perl-module-encode-alias += "perl-module-constant"
+RDEPENDS_perl-module-encode-alias += "perl-module-encode"
+RDEPENDS_perl-module-encode-alias += "perl-module-exporter"
+RDEPENDS_perl-module-encode-alias += "perl-module-strict"
+RDEPENDS_perl-module-encode-alias += "perl-module-warnings"
+RDEPENDS_perl-module-encode-byte += "perl-module-encode"
+RDEPENDS_perl-module-encode-byte += "perl-module-strict"
+RDEPENDS_perl-module-encode-byte += "perl-module-warnings"
+RDEPENDS_perl-module-encode-byte += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter"
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict"
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-warnings"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-parent"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-utf8"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars"
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-warnings"
+RDEPENDS_perl-module-encode-cn += "perl-module-encode"
+RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz"
+RDEPENDS_perl-module-encode-cn += "perl-module-strict"
+RDEPENDS_perl-module-encode-cn += "perl-module-warnings"
+RDEPENDS_perl-module-encode-cn += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-config += "perl-module-strict"
+RDEPENDS_perl-module-encode-config += "perl-module-warnings"
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode"
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-strict"
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-warnings"
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-encoder += "perl-module-constant"
+RDEPENDS_perl-module-encode-encoder += "perl-module-encode"
+RDEPENDS_perl-module-encode-encoder += "perl-module-exporter"
+RDEPENDS_perl-module-encode-encoder += "perl-module-overload"
+RDEPENDS_perl-module-encode-encoder += "perl-module-strict"
+RDEPENDS_perl-module-encode-encoder += "perl-module-warnings"
+RDEPENDS_perl-module-encode-encoding += "perl-module-constant"
+RDEPENDS_perl-module-encode-encoding += "perl-module-encode"
+RDEPENDS_perl-module-encode-encoding += "perl-module-encode-mime-name"
+RDEPENDS_perl-module-encode-encoding += "perl-module-strict"
+RDEPENDS_perl-module-encode-encoding += "perl-module-warnings"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-encode"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-parent"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-strict"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-utf8"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-vars"
+RDEPENDS_perl-module-encode-gsm0338 += "perl-module-warnings"
+RDEPENDS_perl-module-encode-guess += "perl-module-bytes"
+RDEPENDS_perl-module-encode-guess += "perl-module-constant"
+RDEPENDS_perl-module-encode-guess += "perl-module-encode"
+RDEPENDS_perl-module-encode-guess += "perl-module-encode-unicode"
+RDEPENDS_perl-module-encode-guess += "perl-module-parent"
+RDEPENDS_perl-module-encode-guess += "perl-module-strict"
+RDEPENDS_perl-module-encode-guess += "perl-module-warnings"
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants"
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict"
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-vars"
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-warnings"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-bytes"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-jp-h2z"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-parent"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict"
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-warnings"
+RDEPENDS_perl-module-encode-jp += "perl-module-encode"
+RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7"
+RDEPENDS_perl-module-encode-jp += "perl-module-strict"
+RDEPENDS_perl-module-encode-jp += "perl-module-warnings"
+RDEPENDS_perl-module-encode-jp += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-parent"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict"
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-warnings"
+RDEPENDS_perl-module-encode-kr += "perl-module-encode"
+RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr"
+RDEPENDS_perl-module-encode-kr += "perl-module-strict"
+RDEPENDS_perl-module-encode-kr += "perl-module-warnings"
+RDEPENDS_perl-module-encode-kr += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-constant"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-encode-cjkconstants"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-parent"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-strict"
+RDEPENDS_perl-module-encode-mime-header-iso-2022-jp += "perl-module-warnings"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-encode"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-parent"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-strict"
+RDEPENDS_perl-module-encode-mime-header += "perl-module-warnings"
+RDEPENDS_perl-module-encode-mime-name += "perl-module-strict"
+RDEPENDS_perl-module-encode-mime-name += "perl-module-warnings"
+RDEPENDS_perl-module-encode += "perl-module-bytes"
+RDEPENDS_perl-module-encode += "perl-module-constant"
+RDEPENDS_perl-module-encode += "perl-module-encode-alias"
+RDEPENDS_perl-module-encode += "perl-module-encode-config"
+RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm"
+RDEPENDS_perl-module-encode += "perl-module-encode-mime-name"
+RDEPENDS_perl-module-encode += "perl-module-exporter"
+RDEPENDS_perl-module-encode += "perl-module-parent"
+RDEPENDS_perl-module-encode += "perl-module-storable"
+RDEPENDS_perl-module-encode += "perl-module-strict"
+RDEPENDS_perl-module-encode += "perl-module-warnings"
+RDEPENDS_perl-module-encode += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-symbol += "perl-module-encode"
+RDEPENDS_perl-module-encode-symbol += "perl-module-strict"
+RDEPENDS_perl-module-encode-symbol += "perl-module-warnings"
+RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-tw += "perl-module-encode"
+RDEPENDS_perl-module-encode-tw += "perl-module-strict"
+RDEPENDS_perl-module-encode-tw += "perl-module-warnings"
+RDEPENDS_perl-module-encode-tw += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-unicode += "perl-module-encode"
+RDEPENDS_perl-module-encode-unicode += "perl-module-parent"
+RDEPENDS_perl-module-encode-unicode += "perl-module-strict"
+RDEPENDS_perl-module-encode-unicode += "perl-module-warnings"
+RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-parent"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-re"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict"
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-warnings"
+RDEPENDS_perl-module-encoding += "perl-module-config"
+RDEPENDS_perl-module-encoding += "perl-module-constant"
+RDEPENDS_perl-module-encoding += "perl-module-encode"
+RDEPENDS_perl-module-encoding += "perl-module-filter-util-call"
+RDEPENDS_perl-module-encoding += "perl-module-i18n-langinfo"
+RDEPENDS_perl-module-encoding += "perl-module-posix"
+RDEPENDS_perl-module-encoding += "perl-module-strict"
+RDEPENDS_perl-module-encoding += "perl-module-utf8"
+RDEPENDS_perl-module-encoding += "perl-module-warnings"
+RDEPENDS_perl-module-encoding-warnings += "perl-module-strict"
+RDEPENDS_perl-module-encoding-warnings += "perl-module-warnings"
+RDEPENDS_perl-module-english += "perl-module-exporter"
+RDEPENDS_perl-module-env += "perl-module-config"
+RDEPENDS_perl-module-env += "perl-module-tie-array"
+RDEPENDS_perl-module-errno += "perl-module-exporter"
+RDEPENDS_perl-module-errno += "perl-module-strict"
+RDEPENDS_perl-module-experimental += "perl-module-strict"
+RDEPENDS_perl-module-experimental += "perl-module-version"
+RDEPENDS_perl-module-experimental += "perl-module-warnings"
+RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter"
+RDEPENDS_perl-module-exporter-heavy += "perl-module-strict"
+RDEPENDS_perl-module-exporter += "perl-module-exporter-heavy"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-config"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-dynaloader"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-extutils-mksymlists"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-file-temp"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords"
+RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-aix += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-config"
+RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-android += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-cygwin += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-darwin += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-dec-osf += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-extutils-cbuilder-platform-unix"
+RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-os2 += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-extutils-cbuilder-base"
+RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-unix += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-config"
+RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-extutils-cbuilder-base"
+RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-vms += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-bcc += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-gcc += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows-msvc += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-extutils-cbuilder-base"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-io-file"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-strict"
+RDEPENDS_perl-module-extutils-cbuilder-platform-windows += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-command"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-extutils-install"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-getopt-long"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-test-harness"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-command += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-command += "perl-module-file-copy"
+RDEPENDS_perl-module-extutils-command += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-command += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-command += "perl-module-strict"
+RDEPENDS_perl-module-extutils-command += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-constant"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap"
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-proxysubs"
+RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils"
+RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs"
+RDEPENDS_perl-module-extutils-constant += "perl-module-filehandle"
+RDEPENDS_perl-module-extutils-constant += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-utils"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-constant"
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-posix"
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-data-dumper"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars"
+RDEPENDS_perl-module-extutils-embed += "perl-module-config"
+RDEPENDS_perl-module-extutils-embed += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-liblist"
+RDEPENDS_perl-module-extutils-embed += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std"
+RDEPENDS_perl-module-extutils-embed += "perl-module-strict"
+RDEPENDS_perl-module-extutils-installed += "perl-module-config"
+RDEPENDS_perl-module-extutils-installed += "perl-module-data-dumper"
+RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist"
+RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-installed += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-installed += "perl-module-strict"
+RDEPENDS_perl-module-extutils-installed += "perl-module-vars"
+RDEPENDS_perl-module-extutils-install += "perl-module-autosplit"
+RDEPENDS_perl-module-extutils-install += "perl-module-config"
+RDEPENDS_perl-module-extutils-install += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-install += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-install += "perl-module-extutils-packlist"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-compare"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-copy"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-install += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-install += "perl-module-strict"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-text-parsewords"
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid"
+RDEPENDS_perl-module-extutils-liblist += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-config"
+RDEPENDS_perl-module-extutils-makemaker-config += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-base"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-encode-alias"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-i18n-langinfo"
+RDEPENDS_perl-module-extutils-makemaker-locale += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-b"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-cpan"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-version"
+RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-strict"
+RDEPENDS_perl-module-extutils-makemaker-version += "perl-module-vars"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-config"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-path"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-strict"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-miniperl += "perl-module-extutils-embed"
+RDEPENDS_perl-module-extutils-miniperl += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-dynaloader"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config"
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-aix += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-autosplit"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-cpan"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-data-dumper"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-version"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-darwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist"
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-encode"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-liblist"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-vars"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-version"
+RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-liblist-kid"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-find"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-vos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-vos += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-makemaker-config"
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-strict"
+RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm"
+RDEPENDS_perl-module-extutils-my += "perl-module-strict"
+RDEPENDS_perl-module-extutils-packlist += "perl-module-config"
+RDEPENDS_perl-module-extutils-packlist += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-packlist += "perl-module-strict"
+RDEPENDS_perl-module-extutils-packlist += "perl-module-vars"
+RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-constants += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-parsexs-countlines += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-eval += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-config"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-constants"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-countlines"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-eval"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-extutils-parsexs-utilities"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-file-basename"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-re"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-parsexs-constants"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-extutils-typemaps"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-strict"
+RDEPENDS_perl-module-extutils-parsexs-utilities += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd"
+RDEPENDS_perl-module-extutils-testlib += "perl-module-lib"
+RDEPENDS_perl-module-extutils-testlib += "perl-module-strict"
+RDEPENDS_perl-module-extutils-testlib += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-extutils-typemaps"
+RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps-cmd += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps-inputmap += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-re"
+RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps-outputmap += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-parsexs-constants"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-inputmap"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-outputmap"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-extutils-typemaps-type"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-extutils-typemaps"
+RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-strict"
+RDEPENDS_perl-module-extutils-typemaps-type += "perl-module-warnings"
+RDEPENDS_perl-module-fatal += "perl-module-autodie"
+RDEPENDS_perl-module-fatal += "perl-module-autodie-exception-system"
+RDEPENDS_perl-module-fatal += "perl-module-autodie-hints"
+RDEPENDS_perl-module-fatal += "perl-module-autodie-util"
+RDEPENDS_perl-module-fatal += "perl-module-config"
+RDEPENDS_perl-module-fatal += "perl-module-constant"
+RDEPENDS_perl-module-fatal += "perl-module-fcntl"
+RDEPENDS_perl-module-fatal += "perl-module-posix"
+RDEPENDS_perl-module-fatal += "perl-module-strict"
+RDEPENDS_perl-module-fatal += "perl-module-tie-refhash"
+RDEPENDS_perl-module-fatal += "perl-module-warnings"
+RDEPENDS_perl-module-fcntl += "perl-module-exporter"
+RDEPENDS_perl-module-fcntl += "perl-module-strict"
+RDEPENDS_perl-module-fcntl += "perl-module-xsloader"
+RDEPENDS_perl-module-fields += "perl-module-base"
+RDEPENDS_perl-module-fields += "perl-module-hash-util"
+RDEPENDS_perl-module-fields += "perl-module-strict"
+RDEPENDS_perl-module-file-basename += "perl-module-exporter"
+RDEPENDS_perl-module-file-basename += "perl-module-re"
+RDEPENDS_perl-module-file-basename += "perl-module-strict"
+RDEPENDS_perl-module-file-basename += "perl-module-warnings"
+RDEPENDS_perl-module-filecache += "perl-module-parent"
+RDEPENDS_perl-module-filecache += "perl-module-strict"
+RDEPENDS_perl-module-file-compare += "perl-module-exporter"
+RDEPENDS_perl-module-file-compare += "perl-module-strict"
+RDEPENDS_perl-module-file-compare += "perl-module-warnings"
+RDEPENDS_perl-module-file-copy += "perl-module-config"
+RDEPENDS_perl-module-file-copy += "perl-module-exporter"
+RDEPENDS_perl-module-file-copy += "perl-module-file-basename"
+RDEPENDS_perl-module-file-copy += "perl-module-strict"
+RDEPENDS_perl-module-file-copy += "perl-module-warnings"
+RDEPENDS_perl-module-file-dosglob += "perl-module-strict"
+RDEPENDS_perl-module-file-dosglob += "perl-module-text-parsewords"
+RDEPENDS_perl-module-file-dosglob += "perl-module-warnings"
+RDEPENDS_perl-module-file-dosglob += "perl-module-xsloader"
+RDEPENDS_perl-module-file-fetch += "perl-module-constant"
+RDEPENDS_perl-module-file-fetch += "perl-module-cwd"
+RDEPENDS_perl-module-file-fetch += "perl-module-file-basename"
+RDEPENDS_perl-module-file-fetch += "perl-module-file-copy"
+RDEPENDS_perl-module-file-fetch += "perl-module-filehandle"
+RDEPENDS_perl-module-file-fetch += "perl-module-file-path"
+RDEPENDS_perl-module-file-fetch += "perl-module-file-temp"
+RDEPENDS_perl-module-file-fetch += "perl-module-ipc-cmd"
+RDEPENDS_perl-module-file-fetch += "perl-module-locale-maketext-simple"
+RDEPENDS_perl-module-file-fetch += "perl-module-load"
+RDEPENDS_perl-module-file-fetch += "perl-module-params-check"
+RDEPENDS_perl-module-file-fetch += "perl-module-strict"
+RDEPENDS_perl-module-file-fetch += "perl-module-vars"
+RDEPENDS_perl-module-file-find += "perl-module-config"
+RDEPENDS_perl-module-file-find += "perl-module-cwd"
+RDEPENDS_perl-module-file-find += "perl-module-exporter"
+RDEPENDS_perl-module-file-find += "perl-module-file-basename"
+RDEPENDS_perl-module-file-find += "perl-module-strict"
+RDEPENDS_perl-module-file-find += "perl-module-warnings"
+RDEPENDS_perl-module-file-find += "perl-module-warnings-register"
+RDEPENDS_perl-module-file-globmapper += "perl-module-file-glob"
+RDEPENDS_perl-module-file-globmapper += "perl-module-strict"
+RDEPENDS_perl-module-file-globmapper += "perl-module-warnings"
+RDEPENDS_perl-module-file-glob += "perl-module-exporter"
+RDEPENDS_perl-module-file-glob += "perl-module-strict"
+RDEPENDS_perl-module-file-glob += "perl-module-warnings"
+RDEPENDS_perl-module-file-glob += "perl-module-xsloader"
+RDEPENDS_perl-module-filehandle += "perl-module-exporter"
+RDEPENDS_perl-module-filehandle += "perl-module-fcntl"
+RDEPENDS_perl-module-filehandle += "perl-module-io-file"
+RDEPENDS_perl-module-filehandle += "perl-module-strict"
+RDEPENDS_perl-module-file-path += "perl-module-cwd"
+RDEPENDS_perl-module-file-path += "perl-module-exporter"
+RDEPENDS_perl-module-file-path += "perl-module-file-basename"
+RDEPENDS_perl-module-file-path += "perl-module-strict"
+RDEPENDS_perl-module-file-path += "perl-module-vars"
+RDEPENDS_perl-module-file-stat += "perl-module-class-struct"
+RDEPENDS_perl-module-file-stat += "perl-module-constant"
+RDEPENDS_perl-module-file-stat += "perl-module-exporter"
+RDEPENDS_perl-module-file-stat += "perl-module-fcntl"
+RDEPENDS_perl-module-file-stat += "perl-module-overload "
+RDEPENDS_perl-module-file-stat += "perl-module-strict"
+RDEPENDS_perl-module-file-stat += "perl-module-warnings"
+RDEPENDS_perl-module-file-stat += "perl-module-warnings-register"
+RDEPENDS_perl-module-file-temp += "perl-module-constant"
+RDEPENDS_perl-module-file-temp += "perl-module-cwd"
+RDEPENDS_perl-module-file-temp += "perl-module-errno"
+RDEPENDS_perl-module-file-temp += "perl-module-exporter"
+RDEPENDS_perl-module-file-temp += "perl-module-fcntl"
+RDEPENDS_perl-module-file-temp += "perl-module-file-path"
+RDEPENDS_perl-module-file-temp += "perl-module-io-seekable"
+RDEPENDS_perl-module-file-temp += "perl-module-overload"
+RDEPENDS_perl-module-file-temp += "perl-module-parent"
+RDEPENDS_perl-module-file-temp += "perl-module-posix"
+RDEPENDS_perl-module-file-temp += "perl-module-strict"
+RDEPENDS_perl-module-file-temp += "perl-module-vars"
+RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call"
+RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced"
+RDEPENDS_perl-module-filter-util-call += "perl-module-exporter"
+RDEPENDS_perl-module-filter-util-call += "perl-module-strict"
+RDEPENDS_perl-module-filter-util-call += "perl-module-warnings"
+RDEPENDS_perl-module-filter-util-call += "perl-module-xsloader"
+RDEPENDS_perl-module-findbin += "perl-module-cwd"
+RDEPENDS_perl-module-findbin += "perl-module-exporter"
+RDEPENDS_perl-module-findbin += "perl-module-file-basename"
+RDEPENDS_perl-module-getopt-long += "perl-module-constant"
+RDEPENDS_perl-module-getopt-long += "perl-module-exporter"
+RDEPENDS_perl-module-getopt-long += "perl-module-overload"
+RDEPENDS_perl-module-getopt-long += "perl-module-pod-usage"
+RDEPENDS_perl-module-getopt-long += "perl-module-strict"
+RDEPENDS_perl-module-getopt-long += "perl-module-text-parsewords"
+RDEPENDS_perl-module-getopt-long += "perl-module-vars"
+RDEPENDS_perl-module-getopt-long += "perl-module-warnings"
+RDEPENDS_perl-module-getopt-std += "perl-module-exporter"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-strict"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-warnings"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-xsloader"
+RDEPENDS_perl-module-hash-util += "perl-module-exporter"
+RDEPENDS_perl-module-hash-util += "perl-module-hash-util-fieldhash"
+RDEPENDS_perl-module-hash-util += "perl-module-strict"
+RDEPENDS_perl-module-hash-util += "perl-module-warnings"
+RDEPENDS_perl-module-hash-util += "perl-module-warnings-register"
+RDEPENDS_perl-module-hash-util += "perl-module-xsloader"
+RDEPENDS_perl-module-i18n-collate += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-collate += "perl-module-overload"
+RDEPENDS_perl-module-i18n-collate += "perl-module-posix"
+RDEPENDS_perl-module-i18n-collate += "perl-module-strict"
+RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-xsloader"
+RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags"
+RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict"
+RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict"
+RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-langtags += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-compress-raw-bzip2"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-adapter-bzip2 += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-adapter-deflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-adapter-identity += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-constant"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-encode"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-file-globmapper"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-strict"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-utf8"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-base += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-base += "perl-module-io-file"
+RDEPENDS_perl-module-io-compress-base += "perl-module-io-handle "
+RDEPENDS_perl-module-io-compress-base += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-base += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-adapter-bzip2"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-adapter-deflate"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-rawdeflate"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-io-compress-zlib-constants"
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-constant"
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-adapter-deflate"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-gzip-constants"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-rawdeflate"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-io-compress-zlib-extra"
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-fcntl"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-adapter-deflate"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-constant"
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-config"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-zip += "perl-module-fcntl"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-deflate"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-adapter-identity"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-bzip2 "
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-rawdeflate"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zip-constants"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-io-compress-zlib-extra"
+RDEPENDS_perl-module-io-compress-zip += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-zip += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-constant"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-warnings"
+RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-bytes"
+RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-io-compress-gzip-constants"
+RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-strict "
+RDEPENDS_perl-module-io-compress-zlib-extra += "perl-module-warnings"
+RDEPENDS_perl-module-io-dir += "perl-module-exporter"
+RDEPENDS_perl-module-io-dir += "perl-module-file-stat"
+RDEPENDS_perl-module-io-dir += "perl-module-io-file"
+RDEPENDS_perl-module-io-dir += "perl-module-strict"
+RDEPENDS_perl-module-io-dir += "perl-module-tie-hash"
+RDEPENDS_perl-module-io-file += "perl-module-exporter"
+RDEPENDS_perl-module-io-file += "perl-module-fcntl"
+RDEPENDS_perl-module-io-file += "perl-module-io-seekable"
+RDEPENDS_perl-module-io-file += "perl-module-selectsaver"
+RDEPENDS_perl-module-io-file += "perl-module-strict"
+RDEPENDS_perl-module-io-handle += "perl-module-exporter"
+RDEPENDS_perl-module-io-handle += "perl-module-io"
+RDEPENDS_perl-module-io-handle += "perl-module-io-file"
+RDEPENDS_perl-module-io-handle += "perl-module-selectsaver"
+RDEPENDS_perl-module-io-handle += "perl-module-strict"
+RDEPENDS_perl-module-io += "perl-module-strict"
+RDEPENDS_perl-module-io += "perl-module-warnings"
+RDEPENDS_perl-module-io += "perl-module-xsloader"
+RDEPENDS_perl-module-io-pipe += "perl-module-fcntl"
+RDEPENDS_perl-module-io-pipe += "perl-module-io-handle"
+RDEPENDS_perl-module-io-pipe += "perl-module-strict"
+RDEPENDS_perl-module-io-poll += "perl-module-exporter"
+RDEPENDS_perl-module-io-poll += "perl-module-io-handle"
+RDEPENDS_perl-module-io-poll += "perl-module-strict"
+RDEPENDS_perl-module-io-seekable += "perl-module-exporter"
+RDEPENDS_perl-module-io-seekable += "perl-module-fcntl"
+RDEPENDS_perl-module-io-seekable += "perl-module-io-handle"
+RDEPENDS_perl-module-io-seekable += "perl-module-strict"
+RDEPENDS_perl-module-io-select += "perl-module-exporter"
+RDEPENDS_perl-module-io-select += "perl-module-strict"
+RDEPENDS_perl-module-io-select += "perl-module-warnings-register"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-errno"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-socket"
+RDEPENDS_perl-module-io-socket-inet += "perl-module-strict"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-base"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-constant"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-errno"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-posix"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-socket"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-strict"
+RDEPENDS_perl-module-io-socket-ip += "perl-module-warnings"
+RDEPENDS_perl-module-io-socket += "perl-module-errno"
+RDEPENDS_perl-module-io-socket += "perl-module-exporter"
+RDEPENDS_perl-module-io-socket += "perl-module-io-handle"
+RDEPENDS_perl-module-io-socket += "perl-module-io-select"
+RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet"
+RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix"
+RDEPENDS_perl-module-io-socket += "perl-module-socket"
+RDEPENDS_perl-module-io-socket += "perl-module-strict"
+RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket"
+RDEPENDS_perl-module-io-socket-unix += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-compress-raw-bzip2"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-adapter-bunzip2 += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-io-compress-zip-constants "
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-adapter-identity += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-adapter-inflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-adapter-inflate"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-base"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-gunzip"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-inflate"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-rawinflate"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-io-uncompress-unzip"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-io-uncompress-base"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-strict"
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-constant"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-io-file "
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-list-util"
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-base += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-adapter-bunzip2"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-io-uncompress-base"
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-gzip-constants"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-compress-zlib-extra"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-io-uncompress-rawinflate"
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-compress-zlib-constants"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-io-uncompress-rawinflate"
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-adapter-inflate"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-io-uncompress-base"
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-warnings"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-bytes"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-compress-raw-zlib"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-constant"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-fcntl"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-base-common"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zip-constants"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-compress-zlib-extra"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-file"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-identity"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-adapter-inflate"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-io-uncompress-rawinflate"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-posix"
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-strict "
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-warnings"
+RDEPENDS_perl-module-io-zlib += "perl-module-fcntl"
+RDEPENDS_perl-module-io-zlib += "perl-module-io-handle"
+RDEPENDS_perl-module-io-zlib += "perl-module-strict"
+RDEPENDS_perl-module-io-zlib += "perl-module-tie-handle"
+RDEPENDS_perl-module-io-zlib += "perl-module-vars"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-constant"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-filehandle"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-io-handle"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-io-select"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-ipc-open3"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-locale-maketext-simple"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-load"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-params-check"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-posix"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-socket"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-strict"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-text-parsewords"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-time-hires"
+RDEPENDS_perl-module-ipc-cmd += "perl-module-vars"
+RDEPENDS_perl-module-ipc-msg += "perl-module-class-struct"
+RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv"
+RDEPENDS_perl-module-ipc-msg += "perl-module-strict"
+RDEPENDS_perl-module-ipc-msg += "perl-module-vars"
+RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3"
+RDEPENDS_perl-module-ipc-open2 += "perl-module-strict"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-constant"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-fcntl"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-io-pipe"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-posix"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-strict"
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-class-struct"
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-ipc-sysv"
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict"
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars"
+RDEPENDS_perl-module-ipc-sharedmem += "perl-module-class-struct"
+RDEPENDS_perl-module-ipc-sharedmem += "perl-module-ipc-sysv"
+RDEPENDS_perl-module-ipc-sharedmem += "perl-module-strict"
+RDEPENDS_perl-module-ipc-sharedmem += "perl-module-vars"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-config"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-dynaloader"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-strict"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-vars"
+RDEPENDS_perl-module-json-pp-boolean += "perl-module-overload"
+RDEPENDS_perl-module-json-pp-boolean += "perl-module-strict"
+RDEPENDS_perl-module-json-pp += "perl-module-b"
+RDEPENDS_perl-module-json-pp += "perl-module-bytes"
+RDEPENDS_perl-module-json-pp += "perl-module-constant"
+RDEPENDS_perl-module-json-pp += "perl-module-encode"
+RDEPENDS_perl-module-json-pp += "perl-module-exporter"
+RDEPENDS_perl-module-json-pp += "perl-module-json-pp-boolean"
+RDEPENDS_perl-module-json-pp += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-json-pp += "perl-module-math-bigint"
+RDEPENDS_perl-module-json-pp += "perl-module-overload"
+RDEPENDS_perl-module-json-pp += "perl-module-strict"
+RDEPENDS_perl-module-json-pp += "perl-module-subs"
+RDEPENDS_perl-module-less += "perl-module-strict"
+RDEPENDS_perl-module-less += "perl-module-warnings"
+RDEPENDS_perl-module-lib += "perl-module-config"
+RDEPENDS_perl-module-lib += "perl-module-strict"
+RDEPENDS_perl-module-list-util += "perl-module-exporter"
+RDEPENDS_perl-module-list-util += "perl-module-strict"
+RDEPENDS_perl-module-list-util += "perl-module-warnings"
+RDEPENDS_perl-module-list-util += "perl-module-xsloader"
+RDEPENDS_perl-module-list-util-xs += "perl-module-list-util"
+RDEPENDS_perl-module-list-util-xs += "perl-module-strict"
+RDEPENDS_perl-module-list-util-xs += "perl-module-warnings"
+RDEPENDS_perl-module-loaded += "perl-module-strict"
+RDEPENDS_perl-module-loaded += "perl-module-vars"
+RDEPENDS_perl-module-load += "perl-module-config"
+RDEPENDS_perl-module-load += "perl-module-constant"
+RDEPENDS_perl-module-load += "perl-module-exporter"
+RDEPENDS_perl-module-load += "perl-module-filehandle"
+RDEPENDS_perl-module-load += "perl-module-locale-maketext-simple"
+RDEPENDS_perl-module-load += "perl-module-corelist"
+RDEPENDS_perl-module-load += "perl-module-load"
+RDEPENDS_perl-module-load += "perl-module-params-check"
+RDEPENDS_perl-module-load += "perl-module-strict"
+RDEPENDS_perl-module-load += "perl-module-vars"
+RDEPENDS_perl-module-load += "perl-module-version"
+RDEPENDS_perl-module-load += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-constants += "perl-module-constant"
+RDEPENDS_perl-module-locale-codes-constants += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-constants += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-constants += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-country-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-country += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-country-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-currency-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-currency += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-currency-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langext-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langext += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langext-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langfam-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langfam += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langfam-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-language-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-language += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-language-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langvar-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langvar += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-langvar-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes += "perl-module-if"
+RDEPENDS_perl-module-locale-codes += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-script-codes += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-exporter"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-if"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-script += "perl-module-warnings"
+RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-strict"
+RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-utf8"
+RDEPENDS_perl-module-locale-codes-script-retired += "perl-module-warnings"
+RDEPENDS_perl-module-locale-country += "perl-module-exporter"
+RDEPENDS_perl-module-locale-country += "perl-module-if"
+RDEPENDS_perl-module-locale-country += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-country += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-country += "perl-module-strict"
+RDEPENDS_perl-module-locale-country += "perl-module-warnings"
+RDEPENDS_perl-module-locale-currency += "perl-module-exporter"
+RDEPENDS_perl-module-locale-currency += "perl-module-if"
+RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-currency += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-currency += "perl-module-strict"
+RDEPENDS_perl-module-locale-currency += "perl-module-warnings"
+RDEPENDS_perl-module-locale-language += "perl-module-exporter"
+RDEPENDS_perl-module-locale-language += "perl-module-if"
+RDEPENDS_perl-module-locale-language += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-language += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-language += "perl-module-strict"
+RDEPENDS_perl-module-locale-language += "perl-module-warnings"
+RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-locale-maketext"
+RDEPENDS_perl-module-locale-maketext-guts += "perl-module-locale-maketext"
+RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags"
+RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags-detect"
+RDEPENDS_perl-module-locale-maketext += "perl-module-integer"
+RDEPENDS_perl-module-locale-maketext += "perl-module-strict"
+RDEPENDS_perl-module-locale-maketext-simple += "perl-module-base"
+RDEPENDS_perl-module-locale-maketext-simple += "perl-module-strict"
+RDEPENDS_perl-module-locale += "perl-module-config"
+RDEPENDS_perl-module-locale-script += "perl-module-exporter"
+RDEPENDS_perl-module-locale-script += "perl-module-if"
+RDEPENDS_perl-module-locale-script += "perl-module-locale-codes"
+RDEPENDS_perl-module-locale-script += "perl-module-locale-codes-constants"
+RDEPENDS_perl-module-locale-script += "perl-module-strict"
+RDEPENDS_perl-module-locale-script += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-math-bigint"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-math-complex"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-overload"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-strict"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-overload"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict"
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-constant"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-math-bigint-lib"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc"
+RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-fastcalc += "perl-module-xsloader"
+RDEPENDS_perl-module-math-bigint-lib += "perl-module-overload"
+RDEPENDS_perl-module-math-bigint-lib += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-lib += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigint += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-math-bigint += "perl-module-math-complex"
+RDEPENDS_perl-module-math-bigint += "perl-module-overload"
+RDEPENDS_perl-module-math-bigint += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-overload"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict"
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-warnings"
+RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat"
+RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigint"
+RDEPENDS_perl-module-math-bigrat += "perl-module-overload"
+RDEPENDS_perl-module-math-bigrat += "perl-module-strict"
+RDEPENDS_perl-module-math-bigrat += "perl-module-warnings"
+RDEPENDS_perl-module-math-complex += "perl-module-config"
+RDEPENDS_perl-module-math-complex += "perl-module-exporter"
+RDEPENDS_perl-module-math-complex += "perl-module-overload"
+RDEPENDS_perl-module-math-complex += "perl-module-strict"
+RDEPENDS_perl-module-math-complex += "perl-module-warnings"
+RDEPENDS_perl-module-math-trig += "perl-module-exporter"
+RDEPENDS_perl-module-math-trig += "perl-module-math-complex"
+RDEPENDS_perl-module-math-trig += "perl-module-strict"
+RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars"
+RDEPENDS_perl-module-memoize += "perl-module-config"
+RDEPENDS_perl-module-memoize += "perl-module-exporter"
+RDEPENDS_perl-module-memoize += "perl-module-strict"
+RDEPENDS_perl-module-memoize += "perl-module-vars"
+RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file"
+RDEPENDS_perl-module-memoize-storable += "perl-module-storable"
+RDEPENDS_perl-module-mime-base64 += "perl-module-exporter"
+RDEPENDS_perl-module-mime-base64 += "perl-module-strict"
+RDEPENDS_perl-module-mime-base64 += "perl-module-vars"
+RDEPENDS_perl-module-mime-base64 += "perl-module-xsloader"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-mime-base64"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars"
+RDEPENDS_perl-module-mro += "perl-module-strict"
+RDEPENDS_perl-module-mro += "perl-module-warnings"
+RDEPENDS_perl-module-mro += "perl-module-xsloader"
+RDEPENDS_perl-module-net-cmd += "perl-module-constant"
+RDEPENDS_perl-module-net-cmd += "perl-module-errno"
+RDEPENDS_perl-module-net-cmd += "perl-module-exporter"
+RDEPENDS_perl-module-net-cmd += "perl-module-strict"
+RDEPENDS_perl-module-net-cmd += "perl-module-warnings"
+RDEPENDS_perl-module-net-config += "perl-module-exporter"
+RDEPENDS_perl-module-net-config += "perl-module-socket"
+RDEPENDS_perl-module-net-config += "perl-module-strict"
+RDEPENDS_perl-module-net-config += "perl-module-warnings"
+RDEPENDS_perl-module-net-domain += "perl-module-exporter"
+RDEPENDS_perl-module-net-domain += "perl-module-net-config"
+RDEPENDS_perl-module-net-domain += "perl-module-posix"
+RDEPENDS_perl-module-net-domain += "perl-module-socket"
+RDEPENDS_perl-module-net-domain += "perl-module-strict"
+RDEPENDS_perl-module-net-domain += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn"
+RDEPENDS_perl-module-net-ftp-a += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-a += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno"
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i"
+RDEPENDS_perl-module-net-ftp-e += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-e += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn"
+RDEPENDS_perl-module-net-ftp-i += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-i += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i"
+RDEPENDS_perl-module-net-ftp-l += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp-l += "perl-module-warnings"
+RDEPENDS_perl-module-net-ftp += "perl-module-constant"
+RDEPENDS_perl-module-net-ftp += "perl-module-fcntl"
+RDEPENDS_perl-module-net-ftp += "perl-module-file-basename"
+RDEPENDS_perl-module-net-ftp += "perl-module-io-socket"
+RDEPENDS_perl-module-net-ftp += "perl-module-io-socket-ip"
+RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-ftp += "perl-module-net-config"
+RDEPENDS_perl-module-net-ftp += "perl-module-net-ftp-a"
+RDEPENDS_perl-module-net-ftp += "perl-module-net-netrc"
+RDEPENDS_perl-module-net-ftp += "perl-module-socket"
+RDEPENDS_perl-module-net-ftp += "perl-module-strict"
+RDEPENDS_perl-module-net-ftp += "perl-module-time-local"
+RDEPENDS_perl-module-net-ftp += "perl-module-warnings"
+RDEPENDS_perl-module-net-hostent += "perl-module-class-struct"
+RDEPENDS_perl-module-net-hostent += "perl-module-exporter"
+RDEPENDS_perl-module-net-hostent += "perl-module-socket"
+RDEPENDS_perl-module-net-hostent += "perl-module-strict"
+RDEPENDS_perl-module-net-netent += "perl-module-class-struct"
+RDEPENDS_perl-module-net-netent += "perl-module-exporter"
+RDEPENDS_perl-module-net-netent += "perl-module-socket"
+RDEPENDS_perl-module-net-netent += "perl-module-strict"
+RDEPENDS_perl-module-net-netrc += "perl-module-filehandle"
+RDEPENDS_perl-module-net-netrc += "perl-module-strict"
+RDEPENDS_perl-module-net-netrc += "perl-module-warnings"
+RDEPENDS_perl-module-net-nntp += "perl-module-io-socket"
+RDEPENDS_perl-module-net-nntp += "perl-module-io-socket-ip"
+RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-nntp += "perl-module-net-config"
+RDEPENDS_perl-module-net-nntp += "perl-module-strict"
+RDEPENDS_perl-module-net-nntp += "perl-module-time-local"
+RDEPENDS_perl-module-net-nntp += "perl-module-warnings"
+RDEPENDS_perl-module-net-ping += "perl-module-constant"
+RDEPENDS_perl-module-net-ping += "perl-module-exporter"
+RDEPENDS_perl-module-net-ping += "perl-module-fcntl"
+RDEPENDS_perl-module-net-ping += "perl-module-filehandle"
+RDEPENDS_perl-module-net-ping += "perl-module-io-socket-inet"
+RDEPENDS_perl-module-net-ping += "perl-module-posix"
+RDEPENDS_perl-module-net-ping += "perl-module-socket"
+RDEPENDS_perl-module-net-ping += "perl-module-strict"
+RDEPENDS_perl-module-net-ping += "perl-module-time-hires"
+RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket"
+RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket-ip"
+RDEPENDS_perl-module-net-pop3 += "perl-module-mime-base64"
+RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-pop3 += "perl-module-net-config"
+RDEPENDS_perl-module-net-pop3 += "perl-module-net-netrc"
+RDEPENDS_perl-module-net-pop3 += "perl-module-strict"
+RDEPENDS_perl-module-net-pop3 += "perl-module-warnings"
+RDEPENDS_perl-module-net-protoent += "perl-module-class-struct"
+RDEPENDS_perl-module-net-protoent += "perl-module-exporter"
+RDEPENDS_perl-module-net-protoent += "perl-module-strict"
+RDEPENDS_perl-module-net-servent += "perl-module-class-struct"
+RDEPENDS_perl-module-net-servent += "perl-module-exporter"
+RDEPENDS_perl-module-net-servent += "perl-module-strict"
+RDEPENDS_perl-module-net-smtp += "perl-module-io-socket"
+RDEPENDS_perl-module-net-smtp += "perl-module-io-socket-ip"
+RDEPENDS_perl-module-net-smtp += "perl-module-mime-base64"
+RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd"
+RDEPENDS_perl-module-net-smtp += "perl-module-net-config"
+RDEPENDS_perl-module-net-smtp += "perl-module-socket"
+RDEPENDS_perl-module-net-smtp += "perl-module-strict"
+RDEPENDS_perl-module-net-smtp += "perl-module-warnings"
+RDEPENDS_perl-module-net-time += "perl-module-exporter"
+RDEPENDS_perl-module-net-time += "perl-module-io-select"
+RDEPENDS_perl-module-net-time += "perl-module-io-socket"
+RDEPENDS_perl-module-net-time += "perl-module-net-config"
+RDEPENDS_perl-module-net-time += "perl-module-strict"
+RDEPENDS_perl-module-net-time += "perl-module-warnings"
+RDEPENDS_perl-module-next += "perl-module-overload"
+RDEPENDS_perl-module-next += "perl-module-strict"
+RDEPENDS_perl-module-next += "perl-module-warnings"
+RDEPENDS_perl-module-ok += "perl-module-strict"
+RDEPENDS_perl-module-ok += "perl-module-test-more"
+RDEPENDS_perl-module-opcode += "perl-module-exporter"
+RDEPENDS_perl-module-opcode += "perl-module-strict"
+RDEPENDS_perl-module-opcode += "perl-module-subs"
+RDEPENDS_perl-module-opcode += "perl-module-xsloader"
+RDEPENDS_perl-module-open += "perl-module-encode"
+RDEPENDS_perl-module-open += "perl-module-encoding"
+RDEPENDS_perl-module-open += "perl-module-warnings"
+RDEPENDS_perl-module-o += "perl-module-b"
+RDEPENDS_perl-module-ops += "perl-module-opcode"
+RDEPENDS_perl-module-overloading += "perl-module-overload-numbers"
+RDEPENDS_perl-module-overloading += "perl-module-warnings"
+RDEPENDS_perl-module-overload += "perl-module-mro"
+RDEPENDS_perl-module-overload += "perl-module-warnings-register"
+RDEPENDS_perl-module-params-check += "perl-module-exporter"
+RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple"
+RDEPENDS_perl-module-params-check += "perl-module-strict"
+RDEPENDS_perl-module-params-check += "perl-module-vars"
+RDEPENDS_perl-module-parent += "perl-module-strict"
+RDEPENDS_perl-module-parent += "perl-module-vars"
+RDEPENDS_perl-module-perlfaq += "perl-module-strict"
+RDEPENDS_perl-module-perlfaq += "perl-module-warnings"
+RDEPENDS_perl-module-perlio-encoding += "perl-module-strict"
+RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader"
+RDEPENDS_perl-module-perlio-mmap += "perl-module-strict"
+RDEPENDS_perl-module-perlio-mmap += "perl-module-warnings"
+RDEPENDS_perl-module-perlio-mmap += "perl-module-xsloader"
+RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader"
+RDEPENDS_perl-module-perlio-via += "perl-module-xsloader"
+RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-mime-quotedprint"
+RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict"
+RDEPENDS_perl-module-pod-checker += "perl-module-base"
+RDEPENDS_perl-module-pod-checker += "perl-module-exporter"
+RDEPENDS_perl-module-pod-checker += "perl-module-strict"
+RDEPENDS_perl-module-pod-checker += "perl-module-warnings"
+RDEPENDS_perl-module-pod-escapes += "perl-module-exporter"
+RDEPENDS_perl-module-pod-escapes += "perl-module-strict"
+RDEPENDS_perl-module-pod-escapes += "perl-module-vars"
+RDEPENDS_perl-module-pod-escapes += "perl-module-warnings"
+RDEPENDS_perl-module-pod-find += "perl-module-config"
+RDEPENDS_perl-module-pod-find += "perl-module-cwd"
+RDEPENDS_perl-module-pod-find += "perl-module-exporter"
+RDEPENDS_perl-module-pod-find += "perl-module-file-find"
+RDEPENDS_perl-module-pod-find += "perl-module-strict"
+RDEPENDS_perl-module-pod-find += "perl-module-vars"
+RDEPENDS_perl-module-pod-functions += "perl-module-exporter"
+RDEPENDS_perl-module-pod-functions += "perl-module-strict"
+RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict"
+RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars"
+RDEPENDS_perl-module-pod-man += "perl-module-file-basename"
+RDEPENDS_perl-module-pod-man += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-man += "perl-module-strict"
+RDEPENDS_perl-module-pod-man += "perl-module-subs"
+RDEPENDS_perl-module-pod-man += "perl-module-vars"
+RDEPENDS_perl-module-pod-man += "perl-module-warnings"
+RDEPENDS_perl-module-pod-parselink += "perl-module-exporter"
+RDEPENDS_perl-module-pod-parselink += "perl-module-strict"
+RDEPENDS_perl-module-pod-parselink += "perl-module-vars"
+RDEPENDS_perl-module-pod-parselink += "perl-module-warnings"
+RDEPENDS_perl-module-pod-parser += "perl-module-exporter"
+RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects"
+RDEPENDS_perl-module-pod-parser += "perl-module-strict"
+RDEPENDS_perl-module-pod-parser += "perl-module-vars"
+RDEPENDS_perl-module-pod-parseutils += "perl-module-strict"
+RDEPENDS_perl-module-pod-parseutils += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-config"
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-config"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-encode"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-fcntl"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-file-basename"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-file-temp"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-pod-perldoc-getoptsoo"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-text-parsewords"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-pod-text-color"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-toansi += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-pod-checker"
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-encode"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-handle"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-io-select"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-ipc-open3"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-man"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-pod-perldoc-topod"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-pod-text-termcap"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-toterm += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings"
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-parent"
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict"
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars"
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings"
+RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select"
+RDEPENDS_perl-module-pod-plaintext += "perl-module-strict"
+RDEPENDS_perl-module-pod-plaintext += "perl-module-vars"
+RDEPENDS_perl-module-pod-select += "perl-module-pod-parser"
+RDEPENDS_perl-module-pod-select += "perl-module-strict"
+RDEPENDS_perl-module-pod-select += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-integer"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-pod-simple-transcode"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-blackbox += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-pod-simple-methody"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-text-wrap"
+RDEPENDS_perl-module-pod-simple-checker += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-debug += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-debug += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-debug += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-dumpastext += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-dumpasxml += "perl-module-text-wrap"
+RDEPENDS_perl-module-pod-simple-linksection += "perl-module-overload"
+RDEPENDS_perl-module-pod-simple-linksection += "perl-module-pod-simple-blackbox"
+RDEPENDS_perl-module-pod-simple-linksection += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-linksection += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-methody += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-methody += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-methody += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple += "perl-module-integer"
+RDEPENDS_perl-module-pod-simple += "perl-module-pod-escapes"
+RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-blackbox"
+RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-linksection"
+RDEPENDS_perl-module-pod-simple += "perl-module-pod-simple-tiedoutfh"
+RDEPENDS_perl-module-pod-simple += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-progress += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-pod-simple-pullparsertoken"
+RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparserendtoken += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserendtoken"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparserstarttoken"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-pod-simple-pullparsertexttoken"
+RDEPENDS_perl-module-pod-simple-pullparser += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-pod-simple-pullparsertoken"
+RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparserstarttoken += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-pod-simple-pullparsertoken"
+RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-pullparsertexttoken += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-pullparsertoken += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-integer"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-pod-simple-pullparser"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-rtf += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-config"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-cwd"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-file-basename"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-search += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-simpletree += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-textcontent += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-pod-simple-methody"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-text-wrap"
+RDEPENDS_perl-module-pod-simple-text += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-vars"
+RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-xmloutstream += "perl-module-vars"
+RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text"
+RDEPENDS_perl-module-pod-text-color += "perl-module-strict"
+RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor"
+RDEPENDS_perl-module-pod-text-color += "perl-module-vars"
+RDEPENDS_perl-module-pod-text-color += "perl-module-warnings"
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text"
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict"
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars"
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-warnings"
+RDEPENDS_perl-module-pod-text += "perl-module-encode"
+RDEPENDS_perl-module-pod-text += "perl-module-exporter"
+RDEPENDS_perl-module-pod-text += "perl-module-pod-simple"
+RDEPENDS_perl-module-pod-text += "perl-module-strict"
+RDEPENDS_perl-module-pod-text += "perl-module-vars"
+RDEPENDS_perl-module-pod-text += "perl-module-warnings"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars"
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-warnings"
+RDEPENDS_perl-module-pod-usage += "perl-module-config"
+RDEPENDS_perl-module-pod-usage += "perl-module-exporter"
+RDEPENDS_perl-module-pod-usage += "perl-module-strict"
+RDEPENDS_perl-module-pod-usage += "perl-module-vars"
+RDEPENDS_perl-module-posix += "perl-module-exporter"
+RDEPENDS_perl-module-posix += "perl-module-fcntl"
+RDEPENDS_perl-module-posix += "perl-module-strict"
+RDEPENDS_perl-module-posix += "perl-module-tie-hash"
+RDEPENDS_perl-module-posix += "perl-module-warnings"
+RDEPENDS_perl-module-posix += "perl-module-xsloader"
+RDEPENDS_perl-module-re += "perl-module-exporter"
+RDEPENDS_perl-module-re += "perl-module-strict"
+RDEPENDS_perl-module-re += "perl-module-term-cap"
+RDEPENDS_perl-module-re += "perl-module-warnings"
+RDEPENDS_perl-module-re += "perl-module-xsloader"
+RDEPENDS_perl-module-safe += "perl-module-b"
+RDEPENDS_perl-module-safe += "perl-module-opcode"
+RDEPENDS_perl-module-safe += "perl-module-strict"
+RDEPENDS_perl-module-safe += "perl-module-utf8"
+RDEPENDS_perl-module-sdbm-file += "perl-module-exporter"
+RDEPENDS_perl-module-sdbm-file += "perl-module-strict"
+RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash"
+RDEPENDS_perl-module-sdbm-file += "perl-module-warnings"
+RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader"
+RDEPENDS_perl-module-search-dict += "perl-module-exporter"
+RDEPENDS_perl-module-search-dict += "perl-module-feature"
+RDEPENDS_perl-module-search-dict += "perl-module-strict"
+RDEPENDS_perl-module-selfloader += "perl-module-exporter"
+RDEPENDS_perl-module-selfloader += "perl-module-io-handle"
+RDEPENDS_perl-module-selfloader += "perl-module-strict"
+RDEPENDS_perl-module-socket += "perl-module-exporter"
+RDEPENDS_perl-module-socket += "perl-module-strict"
+RDEPENDS_perl-module-socket += "perl-module-warnings-register"
+RDEPENDS_perl-module-socket += "perl-module-xsloader"
+RDEPENDS_perl-module-sort += "perl-module-strict"
+RDEPENDS_perl-module-storable += "perl-module-exporter"
+RDEPENDS_perl-module-storable += "perl-module-io-file"
+RDEPENDS_perl-module-storable += "perl-module-xsloader"
+RDEPENDS_perl-module-sub-util += "perl-module-exporter"
+RDEPENDS_perl-module-sub-util += "perl-module-list-util"
+RDEPENDS_perl-module-sub-util += "perl-module-strict"
+RDEPENDS_perl-module-sub-util += "perl-module-warnings"
+RDEPENDS_perl-module-sys-hostname += "perl-module-exporter"
+RDEPENDS_perl-module-sys-hostname += "perl-module-posix"
+RDEPENDS_perl-module-sys-hostname += "perl-module-strict"
+RDEPENDS_perl-module-sys-hostname += "perl-module-warnings"
+RDEPENDS_perl-module-sys-hostname += "perl-module-xsloader"
+RDEPENDS_perl-module-sys-syslog += "perl-module-config"
+RDEPENDS_perl-module-sys-syslog += "perl-module-constant"
+RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader"
+RDEPENDS_perl-module-sys-syslog += "perl-module-exporter"
+RDEPENDS_perl-module-sys-syslog += "perl-module-fcntl"
+RDEPENDS_perl-module-sys-syslog += "perl-module-file-basename"
+RDEPENDS_perl-module-sys-syslog += "perl-module-posix"
+RDEPENDS_perl-module-sys-syslog += "perl-module-socket"
+RDEPENDS_perl-module-sys-syslog += "perl-module-strict"
+RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname"
+RDEPENDS_perl-module-sys-syslog += "perl-module-vars"
+RDEPENDS_perl-module-sys-syslog += "perl-module-warnings"
+RDEPENDS_perl-module-sys-syslog += "perl-module-warnings-register"
+RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader"
+RDEPENDS_perl-module-tap-base += "perl-module-base"
+RDEPENDS_perl-module-tap-base += "perl-module-constant"
+RDEPENDS_perl-module-tap-base += "perl-module-strict"
+RDEPENDS_perl-module-tap-base += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-tap-formatter-color"
+RDEPENDS_perl-module-tap-formatter-base += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-color += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-color += "perl-module-constant"
+RDEPENDS_perl-module-tap-formatter-color += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-color += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-constant"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-file-path"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-console-parallelsession += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-console += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-console += "perl-module-posix"
+RDEPENDS_perl-module-tap-formatter-console += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-console += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-warnings"
+RDEPENDS_perl-module-tap-formatter-session += "perl-module-base"
+RDEPENDS_perl-module-tap-formatter-session += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-session += "perl-module-warnings"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-constant"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-strict"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords"
+RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings"
+RDEPENDS_perl-module-tap-harness += "perl-module-base"
+RDEPENDS_perl-module-tap-harness += "perl-module-file-path"
+RDEPENDS_perl-module-tap-harness += "perl-module-io-handle"
+RDEPENDS_perl-module-tap-harness += "perl-module-strict"
+RDEPENDS_perl-module-tap-harness += "perl-module-warnings"
+RDEPENDS_perl-module-tap-object += "perl-module-strict"
+RDEPENDS_perl-module-tap-object += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser += "perl-module-base"
+RDEPENDS_perl-module-tap-parser += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-result"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-resultfactory"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-source"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-executable"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-file"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-handle"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-perl"
+RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap"
+RDEPENDS_perl-module-tap-parser += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-pragma"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-test"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-unknown"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-version"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-yaml"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-tap-parser-iterator"
+RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-config"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-constant"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings"
+RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter"
+RDEPENDS_perl-module-term-ansicolor += "perl-module-strict"
+RDEPENDS_perl-module-term-ansicolor += "perl-module-warnings"
+RDEPENDS_perl-module-term-cap += "perl-module-strict"
+RDEPENDS_perl-module-term-cap += "perl-module-vars"
+RDEPENDS_perl-module-term-complete += "perl-module-exporter"
+RDEPENDS_perl-module-term-complete += "perl-module-strict"
+RDEPENDS_perl-module-term-readline += "perl-module-strict"
+RDEPENDS_perl-module-term-readline += "perl-module-term-cap"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings"
+RDEPENDS_perl-module-test-builder-module += "perl-module-exporter"
+RDEPENDS_perl-module-test-builder-module += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder"
+RDEPENDS_perl-module-test-builder += "perl-module-data-dumper"
+RDEPENDS_perl-module-test-builder += "perl-module-overload"
+RDEPENDS_perl-module-test-builder += "perl-module-strict"
+RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter"
+RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag"
+RDEPENDS_perl-module-test-builder += "perl-module-warnings"
+RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester"
+RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter"
+RDEPENDS_perl-module-test-builder-tester += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-tester += "perl-module-test-builder"
+RDEPENDS_perl-module-test-builder-tododiag += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-tododiag += "perl-module-warnings"
+RDEPENDS_perl-module-test-harness += "perl-module-base"
+RDEPENDS_perl-module-test-harness += "perl-module-config"
+RDEPENDS_perl-module-test-harness += "perl-module-constant"
+RDEPENDS_perl-module-test-harness += "perl-module-strict"
+RDEPENDS_perl-module-test-harness += "perl-module-tap-harness"
+RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-aggregator"
+RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source"
+RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl"
+RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords"
+RDEPENDS_perl-module-test-harness += "perl-module-warnings"
+RDEPENDS_perl-module-test-more += "perl-module-strict"
+RDEPENDS_perl-module-test-more += "perl-module-test-builder-module"
+RDEPENDS_perl-module-test-more += "perl-module-warnings"
+RDEPENDS_perl-module-test += "perl-module-exporter"
+RDEPENDS_perl-module-test += "perl-module-file-temp"
+RDEPENDS_perl-module-test += "perl-module-strict"
+RDEPENDS_perl-module-test-simple += "perl-module-strict"
+RDEPENDS_perl-module-test-simple += "perl-module-test-builder-module"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-config"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-strict"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-test-builder"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-threads-shared"
+RDEPENDS_perl-module-test-tester-capture += "perl-module-vars"
+RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-exporter"
+RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-strict"
+RDEPENDS_perl-module-test-tester-capturerunner += "perl-module-test-tester-capture"
+RDEPENDS_perl-module-test-tester-delegate += "perl-module-strict"
+RDEPENDS_perl-module-test-tester-delegate += "perl-module-vars"
+RDEPENDS_perl-module-test-tester-delegate += "perl-module-warnings"
+RDEPENDS_perl-module-test-tester += "perl-module-exporter"
+RDEPENDS_perl-module-test-tester += "perl-module-strict"
+RDEPENDS_perl-module-test-tester += "perl-module-test-builder"
+RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner"
+RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate"
+RDEPENDS_perl-module-test-tester += "perl-module-vars"
+RDEPENDS_perl-module-text-abbrev += "perl-module-exporter"
+RDEPENDS_perl-module-text-balanced += "perl-module-exporter"
+RDEPENDS_perl-module-text-balanced += "perl-module-overload"
+RDEPENDS_perl-module-text-balanced += "perl-module-selfloader"
+RDEPENDS_perl-module-text-balanced += "perl-module-strict"
+RDEPENDS_perl-module-text-balanced += "perl-module-vars"
+RDEPENDS_perl-module-text-parsewords += "perl-module-exporter"
+RDEPENDS_perl-module-text-parsewords += "perl-module-strict"
+RDEPENDS_perl-module-text-tabs += "perl-module-exporter"
+RDEPENDS_perl-module-text-tabs += "perl-module-strict"
+RDEPENDS_perl-module-text-tabs += "perl-module-vars"
+RDEPENDS_perl-module-text-wrap += "perl-module-exporter"
+RDEPENDS_perl-module-text-wrap += "perl-module-re"
+RDEPENDS_perl-module-text-wrap += "perl-module-strict"
+RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs"
+RDEPENDS_perl-module-text-wrap += "perl-module-vars"
+RDEPENDS_perl-module-text-wrap += "perl-module-warnings-register"
+RDEPENDS_perl-module-thread += "perl-module-config"
+RDEPENDS_perl-module-thread += "perl-module-exporter"
+RDEPENDS_perl-module-thread += "perl-module-strict"
+RDEPENDS_perl-module-thread += "perl-module-threads"
+RDEPENDS_perl-module-thread += "perl-module-threads-shared"
+RDEPENDS_perl-module-thread += "perl-module-warnings"
+RDEPENDS_perl-module-thread-queue += "perl-module-strict"
+RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared"
+RDEPENDS_perl-module-thread-queue += "perl-module-warnings"
+RDEPENDS_perl-module-thread-semaphore += "perl-module-strict"
+RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared"
+RDEPENDS_perl-module-thread-semaphore += "perl-module-warnings"
+RDEPENDS_perl-module-threads += "perl-module-config"
+RDEPENDS_perl-module-threads += "perl-module-overload"
+RDEPENDS_perl-module-threads += "perl-module-strict"
+RDEPENDS_perl-module-threads += "perl-module-warnings"
+RDEPENDS_perl-module-threads += "perl-module-xsloader"
+RDEPENDS_perl-module-threads-shared += "perl-module-strict"
+RDEPENDS_perl-module-threads-shared += "perl-module-warnings"
+RDEPENDS_perl-module-threads-shared += "perl-module-xsloader"
+RDEPENDS_perl-module-tie-array += "perl-module-strict"
+RDEPENDS_perl-module-tie-file += "perl-module-fcntl"
+RDEPENDS_perl-module-tie-file += "perl-module-posix"
+RDEPENDS_perl-module-tie-file += "perl-module-strict"
+RDEPENDS_perl-module-tie-handle += "perl-module-tie-stdhandle"
+RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register"
+RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict"
+RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader"
+RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register"
+RDEPENDS_perl-module-tie-memoize += "perl-module-strict"
+RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash"
+RDEPENDS_perl-module-tie-refhash += "perl-module-config"
+RDEPENDS_perl-module-tie-refhash += "perl-module-overload"
+RDEPENDS_perl-module-tie-refhash += "perl-module-strict"
+RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash"
+RDEPENDS_perl-module-tie-refhash += "perl-module-vars"
+RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register"
+RDEPENDS_perl-module-tie-stdhandle += "perl-module-strict"
+RDEPENDS_perl-module-tie-stdhandle += "perl-module-tie-handle"
+RDEPENDS_perl-module-tie-substrhash += "perl-module-integer"
+RDEPENDS_perl-module-time-gmtime += "perl-module-exporter"
+RDEPENDS_perl-module-time-gmtime += "perl-module-strict"
+RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm"
+RDEPENDS_perl-module-time-hires += "perl-module-exporter"
+RDEPENDS_perl-module-time-hires += "perl-module-strict"
+RDEPENDS_perl-module-time-hires += "perl-module-xsloader"
+RDEPENDS_perl-module-time-local += "perl-module-config"
+RDEPENDS_perl-module-time-local += "perl-module-constant"
+RDEPENDS_perl-module-time-local += "perl-module-exporter"
+RDEPENDS_perl-module-time-local += "perl-module-parent"
+RDEPENDS_perl-module-time-local += "perl-module-strict"
+RDEPENDS_perl-module-time-localtime += "perl-module-exporter"
+RDEPENDS_perl-module-time-localtime += "perl-module-strict"
+RDEPENDS_perl-module-time-localtime += "perl-module-time-tm"
+RDEPENDS_perl-module-time-piece += "perl-module-constant"
+RDEPENDS_perl-module-time-piece += "perl-module-exporter"
+RDEPENDS_perl-module-time-piece += "perl-module-integer"
+RDEPENDS_perl-module-time-piece += "perl-module-overload"
+RDEPENDS_perl-module-time-piece += "perl-module-strict"
+RDEPENDS_perl-module-time-piece += "perl-module-time-local"
+RDEPENDS_perl-module-time-piece += "perl-module-time-seconds"
+RDEPENDS_perl-module-time-piece += "perl-module-xsloader"
+RDEPENDS_perl-module-time-seconds += "perl-module-constant"
+RDEPENDS_perl-module-time-seconds += "perl-module-exporter"
+RDEPENDS_perl-module-time-seconds += "perl-module-overload"
+RDEPENDS_perl-module-time-seconds += "perl-module-strict"
+RDEPENDS_perl-module-time-tm += "perl-module-class-struct"
+RDEPENDS_perl-module-time-tm += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-big5 += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-gb2312 += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-jisx0208 += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-korean += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-pinyin += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-stroke += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-cjk-zhuyin += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate-locale += "perl-module-base"
+RDEPENDS_perl-module-unicode-collate-locale += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate-locale += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate += "perl-module-constant"
+RDEPENDS_perl-module-unicode-collate += "perl-module-strict"
+RDEPENDS_perl-module-unicode-collate += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-collate += "perl-module-xsloader"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-strict"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-xsloader"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-charnames"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-feature"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-if"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-integer"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-strict"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-unicode-normalize"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-utf8-heavy"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings"
+RDEPENDS_perl-module-user-grent += "perl-module-class-struct"
+RDEPENDS_perl-module-user-grent += "perl-module-exporter"
+RDEPENDS_perl-module-user-grent += "perl-module-strict"
+RDEPENDS_perl-module-user-pwent += "perl-module-class-struct"
+RDEPENDS_perl-module-user-pwent += "perl-module-config"
+RDEPENDS_perl-module-user-pwent += "perl-module-exporter"
+RDEPENDS_perl-module-user-pwent += "perl-module-strict"
+RDEPENDS_perl-module-user-pwent += "perl-module-warnings"
+RDEPENDS_perl-module-utf8 += "perl-module-utf8-heavy"
+RDEPENDS_perl-module-version += "perl-module-strict"
+RDEPENDS_perl-module-version += "perl-module-version-regex"
+RDEPENDS_perl-module-version += "perl-module-warnings-register"
+RDEPENDS_perl-module-version-regex += "perl-module-strict"
+RDEPENDS_perl-module-xsloader += "perl-module-dynaloader"
diff --git a/poky/meta/recipes-devtools/perl/perl/run-ptest b/poky/meta/recipes-devtools/perl-sanity/files/run-ptest
index dad4d4291..dad4d4291 100644
--- a/poky/meta/recipes-devtools/perl/perl/run-ptest
+++ b/poky/meta/recipes-devtools/perl-sanity/files/run-ptest
diff --git a/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc b/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc
new file mode 100644
index 000000000..9dd9b7da5
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc
@@ -0,0 +1,57 @@
+inherit ptest
+
+SRC_URI += "file://run-ptest \
+ "
+do_install_ptest () {
+ mkdir -p ${D}${PTEST_PATH}
+ sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/*
+ sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl
+ sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh
+ tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=Makefile --exclude=makefile --exclude=hostperl \
+ --exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \
+ --exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \
+ --exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \
+ --exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \
+ --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \
+ --exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x )
+
+ ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl
+
+ # Remove build host references from various scattered files...
+ find "${D}${PTEST_PATH}" \
+ \( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \
+ -o -name 'h2xs' -o -name 'h2ph' \
+ -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' \) \
+ -type f -exec sed -i \
+ -e "s,${D},,g" \
+ -e "s,--sysroot=${STAGING_DIR_HOST},,g" \
+ -e "s,-isystem${STAGING_INCDIR} ,,g" \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
+ -e "s,${STAGING_LIBDIR},${libdir},g" \
+ -e "s,${STAGING_BINDIR},${bindir},g" \
+ -e "s,${STAGING_INCDIR},${includedir},g" \
+ -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
+ -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ -e 's:${RECIPE_SYSROOT}::g' \
+ {} +
+
+ # Remove a useless timestamp...
+ sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst
+}
+
+python populate_packages_prepend() {
+ # Put all *.t files from the lib dir in the ptest package
+ # do_split_packages requires a pair of () in the regex, but we have nothing
+ # to match, so use an empty pair.
+ if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d):
+ do_split_packages(d, d.expand('${libdir}/perl/${PV}'), r'.*\.t()',
+ '${PN}-ptest%s', '%s', recursive=True, match_path=True)
+}
+
+RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc sed"
+
+# The perl-ptest package contains Perl internal modules and generating file
+# dependencies for it causes problems.
+SKIP_FILEDEPS_${PN}-ptest = '1'
diff --git a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb b/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
new file mode 100644
index 000000000..f3948a5f8
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
@@ -0,0 +1,304 @@
+SUMMARY = "Perl scripting language"
+HOMEPAGE = "http://www.perl.org/"
+SECTION = "devel"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \
+ file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \
+ "
+
+
+SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
+ https://github.com/arsv/perl-cross/releases/download/1.2.2/perl-cross-1.2.2.tar.gz;name=perl-cross \
+ file://perl-rdepends.txt \
+ file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \
+ file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \
+ file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \
+ file://errno_ver.diff \
+ file://native-perlinc.patch \
+ file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
+ file://perl-dynloader.patch \
+ file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \
+ "
+SRC_URI_append_class-native = " \
+ file://perl-configpm-switch.patch \
+"
+
+SRC_URI[perl.md5sum] = "838198c43d4f39d7af797e2f59c2bee5"
+SRC_URI[perl.sha256sum] = "3ebf85fe65df2ee165b22596540b7d5d42f84d4b72d84834f74e2e0b8956c347"
+SRC_URI[perl-cross.md5sum] = "9a6c05497bdde9a3106e3be9246f4da1"
+SRC_URI[perl-cross.sha256sum] = "e6987838f27d8cd3368ea68fc56a68cc52371505950927b8b7c5cb76e3a94caa"
+
+PR = "r1"
+
+S = "${WORKDIR}/perl-${PV}"
+
+inherit upstream-version-is-even
+
+DEPENDS += "db gdbm zlib virtual/crypt"
+
+PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0"
+
+do_unpack_append() {
+ bb.build.exec_func('do_copy_perlcross', d)
+}
+
+do_copy_perlcross() {
+ cp -rf ${WORKDIR}/perl-cross*/* ${S}
+}
+
+do_configure_class-target() {
+ ./configure --prefix=${prefix} --libdir=${libdir} \
+ --target=${TARGET_SYS} \
+ -Duseshrplib \
+ -Dsoname=libperl.so.5 \
+ -Dvendorprefix=${prefix} \
+ -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux
+
+ #perl.c uses an ARCHLIB_EXP define to generate compile-time code that
+ #adds the archlibexp path to @INC during run-time initialization of a
+ #new perl interpreter.
+
+ #Because we've changed this value in a temporary way to make it
+ #possible to use ExtUtils::Embed in the target build (the temporary
+ #value in config.sh gets re-stripped out during packaging), the
+ #ARCHLIB_EXP value that gets generated still uses the temporary version
+ #instead of the original expected version (i.e. becauses it's in the
+ #generated config.h, it doesn't get stripped out during packaging like
+ #the others in config.sh).
+
+ sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h
+}
+
+do_configure_class-nativesdk() {
+ ./configure --prefix=${prefix} \
+ --target=${TARGET_SYS} \
+ -Duseshrplib \
+ -Dsoname=libperl.so.5 \
+ -Dvendorprefix=${prefix} \
+ -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux
+
+ # See the comment above
+ sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h
+}
+
+do_configure_class-native() {
+ ./configure --prefix=${prefix} \
+ -Dbin=${bindir}/perl-native \
+ -Duseshrplib \
+ -Dsoname=libperl.so.5 \
+ -Dvendorprefix=${prefix} \
+ -Ui_xlocale
+}
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+
+ install -d ${D}${libdir}/perl5
+ install -d ${D}${libdir}/perl5/${PV}/
+ install -d ${D}${libdir}/perl5/${PV}/ExtUtils/
+
+ # Save native config
+ install config.sh ${D}${libdir}/perl5
+ install lib/Config.pm ${D}${libdir}/perl5/${PV}/
+ install lib/ExtUtils/typemap ${D}${libdir}/perl5/${PV}/ExtUtils/
+
+ # Fix up shared library
+ rm ${D}/${libdir}/perl5/${PV}/*/CORE/libperl.so
+ ln -sf ../../../../libperl.so.${PERL_LIB_VER} $(echo ${D}/${libdir}/perl5/${PV}/*/CORE)/libperl.so
+}
+
+do_install_append_class-target() {
+ # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch
+ ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl
+
+}
+
+do_install_append_class-nativesdk() {
+ # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch
+ ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl
+
+ create_wrapper ${D}${bindir}/perl \
+ PERL5LIB='$PERL5LIB:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/site_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/vendor_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/${PV}'
+}
+
+do_install_append_class-native () {
+ # Those wrappers mean that perl installed from sstate (which may change
+ # path location) works and that in the nativesdk case, the SDK can be
+ # installed to a different location from the one it was built for.
+ create_wrapper ${D}${bindir}/perl-native/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl5/site_perl/${PV}:${STAGING_LIBDIR}/perl5/vendor_perl/${PV}:${STAGING_LIBDIR}/perl5/${PV}'
+
+ # Use /usr/bin/env nativeperl for the perl script.
+ for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
+ sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
+ done
+}
+
+PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess"
+
+perl_package_preprocess () {
+ # Fix up installed configuration
+ sed -i -e "s,${D},,g" \
+ -e "s,${DEBUG_PREFIX_MAP},,g" \
+ -e "s,--sysroot=${STAGING_DIR_HOST},,g" \
+ -e "s,-isystem${STAGING_INCDIR} ,,g" \
+ -e "s,${STAGING_LIBDIR},${libdir},g" \
+ -e "s,${STAGING_BINDIR},${bindir},g" \
+ -e "s,${STAGING_INCDIR},${includedir},g" \
+ -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
+ -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
+ -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
+ -e 's:${RECIPE_SYSROOT}::g' \
+ ${PKGD}${bindir}/h2xs \
+ ${PKGD}${bindir}/h2ph \
+ ${PKGD}${bindir}/pod2man \
+ ${PKGD}${bindir}/pod2text \
+ ${PKGD}${bindir}/pod2usage \
+ ${PKGD}${bindir}/podchecker \
+ ${PKGD}${bindir}/podselect \
+ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \
+ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \
+ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \
+ ${PKGD}${libdir}/perl5/${PV}/Config.pm \
+ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \
+ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \
+ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \
+ ${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \
+ ${PKGD}${libdir}/perl5/${PV}/FileCache.pm \
+ ${PKGD}${libdir}/perl5/${PV}/pod/*.pod \
+ ${PKGD}${libdir}/perl5/config.sh
+}
+
+require perl-ptest.inc
+
+FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \
+ ${libdir}/perl5/site_perl \
+ ${libdir}/perl5/${PV}/Config.pm \
+ ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \
+ ${libdir}/perl5/config.sh \
+ ${libdir}/perl5/${PV}/strict.pm \
+ ${libdir}/perl5/${PV}/warnings.pm \
+ ${libdir}/perl5/${PV}/warnings \
+ ${libdir}/perl5/${PV}/vars.pm \
+ ${libdir}/perl5/site_perl \
+ "
+RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \
+ perl-module-warnings-register"
+
+FILES_${PN}-staticdev_append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a"
+
+FILES_${PN}-dev_append = " ${libdir}/perl5/${PV}/*/CORE"
+
+FILES_${PN}-doc_append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \
+ ${libdir}/perl5/${PV}/*/.packlist \
+ ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \
+ ${libdir}/perl5/${PV}/ExtUtils/xsubpp \
+ ${libdir}/perl5/${PV}/ExtUtils/typemap \
+ ${libdir}/perl5/${PV}/Encode/encode.h \
+ "
+PACKAGES += "${PN}-misc"
+
+FILES_${PN}-misc = "${bindir}/*"
+
+PACKAGES += "${PN}-pod"
+
+FILES_${PN}-pod = "${libdir}/perl5/${PV}/pod \
+ ${libdir}/perl5/${PV}/*.pod \
+ ${libdir}/perl5/${PV}/*/*.pod \
+ ${libdir}/perl5/${PV}/*/*/*.pod \
+ ${libdir}/perl5/${PV}/*/*/*/*.pod \
+ "
+
+PACKAGES += "${PN}-module-cpan ${PN}-module-unicore"
+
+FILES_${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \
+ "
+FILES_${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore"
+
+# Create a perl-modules package recommending all the other perl
+# packages (actually the non modules packages and not created too)
+ALLOW_EMPTY_${PN}-modules = "1"
+PACKAGES += "${PN}-modules "
+
+PACKAGESPLITFUNCS_prepend = "split_perl_packages "
+
+python split_perl_packages () {
+ libdir = d.expand('${libdir}/perl5/${PV}')
+ do_split_packages(d, libdir, r'.*/auto/([^.]*)/[^/]*\.(so|ld|ix|al)', '${PN}-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False)
+ do_split_packages(d, libdir, r'.*linux/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+ do_split_packages(d, libdir, r'Module/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+ do_split_packages(d, libdir, r'Module/([^\/]*)/.*', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+ do_split_packages(d, libdir, r'.*linux/([^\/].*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+ do_split_packages(d, libdir, r'(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/)[^\/]).*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+
+ # perl-modules should recommend every perl module, and only the
+ # modules. Don't attempt to use the result of do_split_packages() as some
+ # modules are manually split (eg. perl-module-unicore).
+ packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split())
+ d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages))
+
+ # Read the pre-generated dependency file, and use it to set module dependecies
+ for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines():
+ splitline = line.split()
+ module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}")
+ depends = splitline[2].strip('"').replace("perl-module", "${PN}-module")
+ d.appendVar(d.expand(module), " " + depends)
+}
+
+PACKAGES_DYNAMIC_class-target += "^perl-module-.*"
+PACKAGES_DYNAMIC_class-nativesdk += "^nativesdk-perl-module-.*"
+
+RDEPENDS_${PN}-misc += "perl perl-modules"
+RDEPENDS_${PN}-pod += "perl"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"
+
+do_create_rdepends_inc() {
+ cd ${WORKDIR}
+ cat <<'EOPREAMBLE' > ${WORKDIR}/perl-rdepends.inc
+
+# Some additional dependencies that the above doesn't manage to figure out
+RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix"
+RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc"
+RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes"
+RDEPENDS_${PN}-module-overload += "${PN}-module-overloading"
+
+# Generated depends list beyond this line
+EOPREAMBLE
+ test -e packages-split.new && rm -rf packages-split.new
+ cp -r packages-split packages-split.new && cd packages-split.new
+ find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d'
+ egrep -r "^\s*(\<use .*|\<require .*);?" perl-module-* --include="*.pm" | \
+ sed "s/\/.*\.pm: */ += /g;s/[\"\']//g;s/;.*/\"/g;s/+= .*\(require\|use\)\> */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;" | tr [:upper:] [:lower:] | \
+ awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'| \
+ grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix | \
+ sort -u | \
+ sed 's/^/RDEPENDS_/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;' | \
+ egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-socket-inet6|module-io-socket-ssl|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-test2|module-text-unidecode|module-unicore|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' | \
+ egrep -wv '=>|module-algorithm-diff|module-carp|module-c<extutils-mm-unix>|module-encode-hanextra|module-extutils-makemaker-version-regex|module-file-spec|module-io-compress-lzma|module-locale-maketext-lexicon|module-log-agent|module-meta-notation|module-net-localcfg|module-net-ping-external|module-b-deparse|module-scalar-util|module-some-module|module-symbol|module-uri|module-win32api-file' >> ${WORKDIR}/perl-rdepends.generated
+ cp ${WORKDIR}/perl-rdepends.generated ${THISDIR}/files/perl-rdepends.txt
+}
+
+# bitbake perl -c create_rdepends_inc
+addtask do_create_rdepends_inc
+
+SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
+
+perl_sysroot_create_wrapper () {
+ mkdir -p ${SYSROOT_DESTDIR}${bindir}
+ # Create a wrapper that /usr/bin/env perl will use to get perl-native.
+ # This MUST live in the normal bindir.
+ cat > ${SYSROOT_DESTDIR}${bindir}/nativeperl << EOF
+#!/bin/sh
+realpath=\`readlink -fn \$0\`
+exec \`dirname \$realpath\`/perl-native/perl "\$@"
+EOF
+ chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl
+ cat ${SYSROOT_DESTDIR}${bindir}/nativeperl
+}
+
diff --git a/poky/meta/recipes-devtools/perl/liberror-perl_0.17026.bb b/poky/meta/recipes-devtools/perl/liberror-perl_0.17026.bb
deleted file mode 100644
index 6f42b4729..000000000
--- a/poky/meta/recipes-devtools/perl/liberror-perl_0.17026.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Error - Error/exception handling in an OO-ish way"
-DESCRIPTION = "The Error package provides two interfaces. Firstly \
-Error provides a procedural interface to exception handling. \
-Secondly Error is a base class for errors/exceptions that can \
-either be thrown, for subsequent catch, or can simply be recorded."
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8f3499d09ee74a050c0319391ff9d100"
-
-DEPENDS += "perl"
-
-SRC_URI = "http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Error-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "0dcd94640f617df02b6d6c1e4e92018c"
-SRC_URI[sha256sum] = "37590a962cd73ae03470e1ff16459a6cbc5273fc57626b8981dab9c2433155d9"
-
-S = "${WORKDIR}/Error-${PV}"
-
-inherit cpan ptest-perl
-
-do_compile() {
- export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
- cpan_do_compile
-}
-
-do_install_prepend() {
- # test requires "-T" (taint) command line option
- rm -rf ${B}/t/pod-coverage.t
-}
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/perl/liberror-perl_0.17027.bb b/poky/meta/recipes-devtools/perl/liberror-perl_0.17027.bb
new file mode 100644
index 000000000..cf1f6d685
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/liberror-perl_0.17027.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Error - Error/exception handling in an OO-ish way"
+DESCRIPTION = "The Error package provides two interfaces. Firstly \
+Error provides a procedural interface to exception handling. \
+Secondly Error is a base class for errors/exceptions that can \
+either be thrown, for subsequent catch, or can simply be recorded."
+HOMEPAGE = "https://bitbucket.org/shlomif/perl-error.pm"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8f3499d09ee74a050c0319391ff9d100"
+
+DEPENDS += "perl"
+
+RDEPENDS_${PN} += " \
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-scalar-util \
+ perl-module-overload \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-base \
+ perl-module-file-spec \
+ perl-module-io-handle \
+ perl-module-ipc-open3 \
+ perl-module-lib \
+ perl-module-test-more \
+"
+
+SRC_URI = "http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Error-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "4ef9b2890fb144d804527ba32573dd56"
+SRC_URI[sha256sum] = "07b2ac8275dfa04144745a6c1900a596280f862b97d22bab0c5ce02682ebd3be"
+
+S = "${WORKDIR}/Error-${PV}"
+
+inherit cpan ptest-perl
+
+do_install_prepend() {
+ # test requires "-T" (taint) command line option
+ rm -rf ${B}/t/pod-coverage.t
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/perl/perl-native_5.24.4.bb b/poky/meta/recipes-devtools/perl/perl-native_5.24.4.bb
deleted file mode 100644
index 81d3fd489..000000000
--- a/poky/meta/recipes-devtools/perl/perl-native_5.24.4.bb
+++ /dev/null
@@ -1,140 +0,0 @@
-require perl.inc
-
-# We need gnugrep (for -I)
-DEPENDS = "db-native grep-native gdbm-native zlib-native"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-SRC_URI += "\
- file://Configure-multilib.patch \
- file://perl-configpm-switch.patch \
- file://native-nopacklist.patch \
- file://native-perlinc.patch \
- file://MM_Unix.pm.patch \
- file://debian/errno_ver.diff \
- file://dynaloaderhack.patch \
- file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
- file://0001-Configure-Remove-fstack-protector-strong-for-native-.patch \
- file://perl-5.26.1-guard_old_libcrypt_fix.patch \
- file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \
- "
-
-SRC_URI[md5sum] = "04622bc4d3941dc7eb571c52b7c02993"
-SRC_URI[sha256sum] = "7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84"
-
-inherit native
-
-NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
-
-export LD="${CCLD}"
-
-do_configure () {
- ./Configure \
- -Dcc="${CC}" \
- -Dcflags="${CFLAGS}" \
- -Dldflags="${LDFLAGS}" \
- -Dlddlflags="${LDFLAGS} -shared" \
- -Dcf_by="Open Embedded" \
- -Dprefix=${prefix} \
- -Dvendorprefix=${prefix} \
- -Dsiteprefix=${prefix} \
- \
- -Dbin=${STAGING_BINDIR}/${PN} \
- -Dprivlib=${STAGING_LIBDIR}/perl/${PV} \
- -Darchlib=${STAGING_LIBDIR}/perl/${PV} \
- -Dvendorlib=${STAGING_LIBDIR}/perl/vendor_perl/${PV} \
- -Dvendorarch=${STAGING_LIBDIR}/perl/vendor_perl/${PV} \
- -Dsitelib=${STAGING_LIBDIR}/perl/site_perl/${PV} \
- -Dsitearch=${STAGING_LIBDIR}/perl/site_perl/${PV} \
- \
- -Duseshrplib \
- -Dusethreads \
- -Duseithreads \
- -Duselargefiles \
- -Dnoextensions=ODBM_File \
- -Ud_dosuid \
- -Ui_db \
- -Ui_ndbm \
- -Ui_gdbm \
- -Ui_gdbm_ndbm \
- -Ui_gdbmndbm \
- -Di_shadow \
- -Di_syslog \
- -Duseperlio \
- -Dman3ext=3pm \
- -Dsed=/bin/sed \
- -Uafs \
- -Ud_csh \
- -Uusesfio \
- -Uusenm -des
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
-
- # We need a hostperl link for building perl
- ln -sf perl${PV} ${D}${bindir}/hostperl
-
- ln -sf perl ${D}${libdir}/perl5
-
- install -d ${D}${libdir}/perl/${PV}/CORE \
- ${D}${datadir}/perl/${PV}/ExtUtils
-
- # Save native config
- install config.sh ${D}${libdir}/perl
- install lib/Config.pm ${D}${libdir}/perl/${PV}/
- install lib/ExtUtils/typemap ${D}${libdir}/perl/${PV}/ExtUtils/
-
- # perl shared library headers
- # reference perl 5.20.0-1 in debian:
- # https://packages.debian.org/experimental/i386/perl/filelist
- for i in av.h bitcount.h charclass_invlists.h config.h cop.h cv.h dosish.h \
- embed.h embedvar.h EXTERN.h fakesdio.h feature.h form.h git_version.h \
- gv.h handy.h hv_func.h hv.h inline.h INTERN.h intrpvar.h iperlsys.h \
- keywords.h l1_char_class_tab.h malloc_ctl.h metaconfig.h mg_data.h \
- mg.h mg_raw.h mg_vtable.h mydtrace.h nostdio.h opcode.h op.h \
- opnames.h op_reg_common.h overload.h pad.h parser.h patchlevel.h \
- perlapi.h perl.h perlio.h perliol.h perlsdio.h perlvars.h perly.h \
- pp.h pp_proto.h proto.h reentr.h regcharclass.h regcomp.h regexp.h \
- regnodes.h scope.h sv.h thread.h time64_config.h time64.h uconfig.h \
- unicode_constants.h unixish.h utf8.h utfebcdic.h util.h uudmap.h \
- vutil.h warnings.h XSUB.h
- do
- install $i ${D}${libdir}/perl/${PV}/CORE
- done
-
- # Those wrappers mean that perl installed from sstate (which may change
- # path location) works and that in the nativesdk case, the SDK can be
- # installed to a different location from the one it was built for.
- create_wrapper ${D}${bindir}/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/site_perl/${PV}:${STAGING_LIBDIR}/perl/vendor_perl/${PV}:${STAGING_LIBDIR}/perl/${PV}'
- create_wrapper ${D}${bindir}/perl${PV} PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/site_perl/${PV}:${STAGING_LIBDIR}/perl/vendor_perl/${PV}:${STAGING_LIBDIR}/perl/${PV}'
-
- # Use /usr/bin/env nativeperl for the perl script.
- for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
- sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
- done
-
- # The packlist is large with hardcoded paths meaning it needs relocating
- # so just remove it.
- rm ${D}${libdir}/perl/${PV}/.packlist
-}
-
-SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
-
-perl_sysroot_create_wrapper () {
- mkdir -p ${SYSROOT_DESTDIR}${bindir}
- # Create a wrapper that /usr/bin/env perl will use to get perl-native.
- # This MUST live in the normal bindir.
- cat > ${SYSROOT_DESTDIR}${bindir}/../nativeperl << EOF
-#!/bin/sh
-realpath=\`readlink -fn \$0\`
-exec \`dirname \$realpath\`/perl-native/perl "\$@"
-EOF
- chmod 0755 ${SYSROOT_DESTDIR}${bindir}/../nativeperl
- cat ${SYSROOT_DESTDIR}${bindir}/../nativeperl
-}
-
-# Fix the path in sstate
-SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"
-
-PACKAGES_DYNAMIC_class-native = "^perl-module-.*native$"
diff --git a/poky/meta/recipes-devtools/perl/perl-ptest.inc b/poky/meta/recipes-devtools/perl/perl-ptest.inc
deleted file mode 100644
index 8d4644856..000000000
--- a/poky/meta/recipes-devtools/perl/perl-ptest.inc
+++ /dev/null
@@ -1,57 +0,0 @@
-inherit ptest
-
-SRC_URI += "file://run-ptest \
- "
-do_install_ptest () {
- mkdir -p ${D}${PTEST_PATH}
- sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/*
- sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl
- sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh
- tar -c --exclude='*.o' --exclude=libperl.so --exclude=Makefile --exclude=makefile --exclude=hostperl \
- --exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \
- --exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \
- --exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \
- --exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \
- --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \
- --exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x )
-
- ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl
-
- # Remove build host references from various scattered files...
- find "${D}${PTEST_PATH}" \
- \( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \
- -o -name 'h2xs' -o -name 'h2ph' \
- -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' \) \
- -type f -exec sed -i \
- -e "s,${D},,g" \
- -e "s,--sysroot=${STAGING_DIR_HOST},,g" \
- -e "s,-isystem${STAGING_INCDIR} ,,g" \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
- -e "s,${STAGING_LIBDIR},${libdir},g" \
- -e "s,${STAGING_BINDIR},${bindir},g" \
- -e "s,${STAGING_INCDIR},${includedir},g" \
- -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
- -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -e 's:${RECIPE_SYSROOT}::g' \
- {} +
-
- # Remove a useless timestamp...
- sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst
-}
-
-python populate_packages_prepend() {
- # Put all *.t files from the lib dir in the ptest package
- # do_split_packages requires a pair of () in the regex, but we have nothing
- # to match, so use an empty pair.
- if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d):
- do_split_packages(d, d.expand('${libdir}/perl/${PV}'), '.*\.t()',
- '${PN}-ptest%s', '%s', recursive=True, match_path=True)
-}
-
-RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc ${PN}-misc sed"
-
-# The perl-ptest package contains Perl internal modules and generating file
-# dependencies for it causes problems.
-SKIP_FILEDEPS_${PN}-ptest = '1'
diff --git a/poky/meta/recipes-devtools/perl/perl-rdepends_5.24.4.inc b/poky/meta/recipes-devtools/perl/perl-rdepends_5.24.4.inc
deleted file mode 100644
index 10e3c0429..000000000
--- a/poky/meta/recipes-devtools/perl/perl-rdepends_5.24.4.inc
+++ /dev/null
@@ -1,2575 +0,0 @@
-# To create/update the perl-rdepends_${PV}.inc use this piece of ugly script (modified for your arch/paths etc):
-
-#jiahongxu:5.20.0-r1$ pwd
-#/home/jiahongxu/yocto/build-20140618-perl/tmp/work/i586-poky-linux/perl/5.20.0-r1
-
-#1 cp -r packages-split packages-split.new && cd packages-split.new
-#2 find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d'
-#3 egrep -r "^\s*(\<use .*|\<require .*);?" perl-module-* --include="*.pm"
-#| sed "s/\/.*\.pm: */ += /g;s/[\"\']//g;s/;.*/\"/g;s/+= .*\(require\|use\)\> */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;" | tr [:upper:] [:lower:]
-#| awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'
-#| grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix
-#| sort -u
-#| sed 's/^/RDEPENDS_/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;'
-#| egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-text-unidecode|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' > /tmp/perl-rdepends
-
-RDEPENDS_perl-misc += "perl perl-modules"
-RDEPENDS_${PN}-pod += "perl"
-
-# Some additional dependencies that the above doesn't manage to figure out
-RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc"
-RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes"
-RDEPENDS_${PN}-module-overload += "${PN}-module-overloading"
-
-# Depends list
-# copy contents of /tmp/perl-rdepends in this file
-RDEPENDS_${PN}-module-anydbm-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-anydbm-file += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-carp"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-config"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-constant"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-cpan"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-data-dumper"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-file-spec-functions"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-getopt-std"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-if"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-net-ping"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-strict"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-user-pwent"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-vars"
-RDEPENDS_${PN}-module-app-cpan += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-app-prove-state"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-base"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-carp"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-constant"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-getopt-long"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-strict"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-tap-harness"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-tap-harness-env"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-app-prove += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-app-prove-state-result"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-base"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-carp"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-constant"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-strict"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-tap-parser-yamlish-reader"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-tap-parser-yamlish-writer"
-RDEPENDS_${PN}-module-app-prove-state += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-app-prove-state-result += "${PN}-module-app-prove-state-result-test"
-RDEPENDS_${PN}-module-app-prove-state-result += "${PN}-module-carp"
-RDEPENDS_${PN}-module-app-prove-state-result += "${PN}-module-constant"
-RDEPENDS_${PN}-module-app-prove-state-result += "${PN}-module-strict"
-RDEPENDS_${PN}-module-app-prove-state-result += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-app-prove-state-result-test += "${PN}-module-strict"
-RDEPENDS_${PN}-module-app-prove-state-result-test += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-archive-tar-constant += "${PN}-module-constant"
-RDEPENDS_${PN}-module-archive-tar-constant += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-archive-tar-constant += "${PN}-module-io-compress-bzip2"
-RDEPENDS_${PN}-module-archive-tar-constant += "${PN}-module-time-local"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-archive-tar"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-archive-tar-constant"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-carp"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-archive-tar-file += "${PN}-module-vars"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-archive-tar-constant"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-archive-tar-file"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-carp"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-config"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-io-zlib"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-strict"
-RDEPENDS_${PN}-module-archive-tar += "${PN}-module-vars"
-RDEPENDS_${PN}-module-arybase += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-attribute-handlers += "${PN}-module-carp"
-RDEPENDS_${PN}-module-attribute-handlers += "${PN}-module-strict"
-RDEPENDS_${PN}-module-attribute-handlers += "${PN}-module-vars"
-RDEPENDS_${PN}-module-attribute-handlers += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-attributes += "${PN}-module-carp"
-RDEPENDS_${PN}-module-attributes += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-attributes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-attributes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-attributes += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-autodie-exception += "${PN}-module-carp"
-RDEPENDS_${PN}-module-autodie-exception += "${PN}-module-constant"
-RDEPENDS_${PN}-module-autodie-exception += "${PN}-module-fatal"
-RDEPENDS_${PN}-module-autodie-exception += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-autodie-exception += "${PN}-module-overload"
-RDEPENDS_${PN}-module-autodie-exception += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autodie-exception += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-autodie-exception-system += "${PN}-module-carp"
-RDEPENDS_${PN}-module-autodie-exception-system += "${PN}-module-parent"
-RDEPENDS_${PN}-module-autodie-exception-system += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autodie-exception-system += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-autodie-hints += "${PN}-module-b"
-RDEPENDS_${PN}-module-autodie-hints += "${PN}-module-carp"
-RDEPENDS_${PN}-module-autodie-hints += "${PN}-module-constant"
-RDEPENDS_${PN}-module-autodie-hints += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autodie-hints += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-autodie += "${PN}-module-carp"
-RDEPENDS_${PN}-module-autodie += "${PN}-module-constant"
-RDEPENDS_${PN}-module-autodie += "${PN}-module-lib"
-RDEPENDS_${PN}-module-autodie += "${PN}-module-parent"
-RDEPENDS_${PN}-module-autodie += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autodie += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-autodie-scope-guard += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autodie-scope-guard += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-autodie-scope-guardstack += "${PN}-module-autodie-scope-guard"
-RDEPENDS_${PN}-module-autodie-scope-guardstack += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autodie-scope-guardstack += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-autodie-skip += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autodie-skip += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-autodie-util += "${PN}-module-autodie-scope-guardstack"
-RDEPENDS_${PN}-module-autodie-util += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-autodie-util += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autodie-util += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-autoloader += "${PN}-module-carp"
-RDEPENDS_${PN}-module-autoloader += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autosplit += "${PN}-module-carp"
-RDEPENDS_${PN}-module-autosplit += "${PN}-module-config"
-RDEPENDS_${PN}-module-autosplit += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-autosplit += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-autosplit += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-autosplit += "${PN}-module-file-spec-functions"
-RDEPENDS_${PN}-module-autosplit += "${PN}-module-strict"
-RDEPENDS_${PN}-module-autouse += "${PN}-module-carp"
-RDEPENDS_${PN}-module-base += "${PN}-module-carp"
-RDEPENDS_${PN}-module-base += "${PN}-module-strict"
-RDEPENDS_${PN}-module-base += "${PN}-module-vars"
-RDEPENDS_${PN}-module-b-concise += "${PN}-module-b"
-RDEPENDS_${PN}-module-b-concise += "${PN}-module-b-op-private"
-RDEPENDS_${PN}-module-b-concise += "${PN}-module-config"
-RDEPENDS_${PN}-module-b-concise += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-b-concise += "${PN}-module-strict"
-RDEPENDS_${PN}-module-b-concise += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-b-debug += "${PN}-module-b"
-RDEPENDS_${PN}-module-b-debug += "${PN}-module-config"
-RDEPENDS_${PN}-module-b-debug += "${PN}-module-strict"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-b"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-carp"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-data-dumper"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-feature"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-overloading"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-re"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-strict"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-vars"
-RDEPENDS_${PN}-module-b-deparse += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-benchmark += "${PN}-module-carp"
-RDEPENDS_${PN}-module-benchmark += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-benchmark += "${PN}-module-strict"
-RDEPENDS_${PN}-module-bigint += "${PN}-module-carp"
-RDEPENDS_${PN}-module-bigint += "${PN}-module-constant"
-RDEPENDS_${PN}-module-bigint += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-bigint += "${PN}-module-math-bigint"
-RDEPENDS_${PN}-module-bigint += "${PN}-module-math-bigint-trace"
-RDEPENDS_${PN}-module-bigint += "${PN}-module-overload"
-RDEPENDS_${PN}-module-bigint += "${PN}-module-strict"
-RDEPENDS_${PN}-module-bigint += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-bigint"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-carp"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-math-bigfloat"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-math-bigfloat-trace"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-math-bigint"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-math-bigint-trace"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-overload"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-strict"
-RDEPENDS_${PN}-module-bignum += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-bigint"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-carp"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-math-bigfloat"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-math-bigint"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-math-bigint-trace"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-math-bigrat"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-overload"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-strict"
-RDEPENDS_${PN}-module-bigrat += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-blib += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-blib += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-blib += "${PN}-module-vars"
-RDEPENDS_${PN}-module-b += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-b += "${PN}-module-strict"
-RDEPENDS_${PN}-module-b += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-b-showlex += "${PN}-module-b"
-RDEPENDS_${PN}-module-b-showlex += "${PN}-module-b-concise"
-RDEPENDS_${PN}-module-b-showlex += "${PN}-module-b-terse"
-RDEPENDS_${PN}-module-b-showlex += "${PN}-module-strict"
-RDEPENDS_${PN}-module-b-terse += "${PN}-module-b"
-RDEPENDS_${PN}-module-b-terse += "${PN}-module-b-concise"
-RDEPENDS_${PN}-module-b-terse += "${PN}-module-carp"
-RDEPENDS_${PN}-module-b-terse += "${PN}-module-strict"
-RDEPENDS_${PN}-module-b-xref += "${PN}-module-b"
-RDEPENDS_${PN}-module-b-xref += "${PN}-module-config"
-RDEPENDS_${PN}-module-b-xref += "${PN}-module-strict"
-RDEPENDS_${PN}-module-bytes += "${PN}-module-bytes-heavy"
-RDEPENDS_${PN}-module-bytes += "${PN}-module-carp"
-RDEPENDS_${PN}-module-carp-heavy += "${PN}-module-carp"
-RDEPENDS_${PN}-module-carp += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-carp += "${PN}-module-strict"
-RDEPENDS_${PN}-module-carp += "${PN}-module-warnings"
-RDEPENDS_${PN}-module--charnames += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-charnames += "${PN}-module-bytes"
-RDEPENDS_${PN}-module--charnames += "${PN}-module-carp"
-RDEPENDS_${PN}-module-charnames += "${PN}-module--charnames"
-RDEPENDS_${PN}-module--charnames += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module--charnames += "${PN}-module-re"
-RDEPENDS_${PN}-module-charnames += "${PN}-module-re"
-RDEPENDS_${PN}-module--charnames += "${PN}-module-strict"
-RDEPENDS_${PN}-module-charnames += "${PN}-module-strict"
-RDEPENDS_${PN}-module--charnames += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-charnames += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-class-struct += "${PN}-module-carp"
-RDEPENDS_${PN}-module-class-struct += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-class-struct += "${PN}-module-strict"
-RDEPENDS_${PN}-module-class-struct += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-compress-raw-bzip2 += "${PN}-module-bytes "
-RDEPENDS_${PN}-module-compress-raw-bzip2 += "${PN}-module-carp "
-RDEPENDS_${PN}-module-compress-raw-bzip2 += "${PN}-module-constant"
-RDEPENDS_${PN}-module-compress-raw-bzip2 += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-compress-raw-bzip2 += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-compress-raw-bzip2 += "${PN}-module-strict "
-RDEPENDS_${PN}-module-compress-raw-bzip2 += "${PN}-module-warnings "
-RDEPENDS_${PN}-module-compress-raw-bzip2 += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-compress-raw-zlib += "${PN}-module-bytes "
-RDEPENDS_${PN}-module-compress-raw-zlib += "${PN}-module-carp "
-RDEPENDS_${PN}-module-compress-raw-zlib += "${PN}-module-constant"
-RDEPENDS_${PN}-module-compress-raw-zlib += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-compress-raw-zlib += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-compress-raw-zlib += "${PN}-module-strict "
-RDEPENDS_${PN}-module-compress-raw-zlib += "${PN}-module-warnings "
-RDEPENDS_${PN}-module-compress-raw-zlib += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-bytes "
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-carp "
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-constant"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-io-compress-gzip"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-io-compress-gzip-constants"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-io-handle "
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-io-uncompress-gunzip"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-strict "
-RDEPENDS_${PN}-module-compress-zlib += "${PN}-module-warnings "
-RDEPENDS_${PN}-module-config-extensions += "${PN}-module-config"
-RDEPENDS_${PN}-module-config-extensions += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-config-extensions += "${PN}-module-strict"
-RDEPENDS_${PN}-module-config-extensions += "${PN}-module-vars"
-RDEPENDS_${PN}-module-config-perl-v += "${PN}-module-config"
-RDEPENDS_${PN}-module-config-perl-v += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-config-perl-v += "${PN}-module-strict"
-RDEPENDS_${PN}-module-config-perl-v += "${PN}-module-vars"
-RDEPENDS_${PN}-module-config-perl-v += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-constant += "${PN}-module-carp"
-RDEPENDS_${PN}-module-constant += "${PN}-module-strict"
-RDEPENDS_${PN}-module-constant += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-corelist += "${PN}-module-list-util"
-RDEPENDS_${PN}-module-corelist += "${PN}-module-corelist"
-RDEPENDS_${PN}-module-corelist += "${PN}-module-strict"
-RDEPENDS_${PN}-module-corelist += "${PN}-module-vars"
-RDEPENDS_${PN}-module-corelist += "${PN}-module-version"
-RDEPENDS_${PN}-module-corelist += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-b"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-carp"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-config"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-data-dumper"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-dirhandle"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-extutils-manifest"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-file-copy"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-filehandle"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-lib"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-net-ping"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-overload"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-posix"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-safe"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-strict"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-sys-hostname"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-term-readline"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-text-wrap"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-time-local"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-vars"
-RDEPENDS_${PN}-module-cpan += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-cwd += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-cwd += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-cwd += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-cwd += "${PN}-module-strict"
-RDEPENDS_${PN}-module-cwd += "${PN}-module-vars"
-RDEPENDS_${PN}-module-cwd += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-data-dumper += "${PN}-module-b-deparse"
-RDEPENDS_${PN}-module-data-dumper += "${PN}-module-carp"
-RDEPENDS_${PN}-module-data-dumper += "${PN}-module-config"
-RDEPENDS_${PN}-module-data-dumper += "${PN}-module-constant"
-RDEPENDS_${PN}-module-data-dumper += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-data-dumper += "${PN}-module-overload"
-RDEPENDS_${PN}-module-data-dumper += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-data-dumper += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-dbm-filter-compress += "${PN}-module-carp"
-RDEPENDS_${PN}-module-dbm-filter-compress += "${PN}-module-strict"
-RDEPENDS_${PN}-module-dbm-filter-compress += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-dbm-filter-encode += "${PN}-module-carp"
-RDEPENDS_${PN}-module-dbm-filter-encode += "${PN}-module-strict"
-RDEPENDS_${PN}-module-dbm-filter-encode += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-dbm-filter-int32 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-dbm-filter-int32 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-dbm-filter-null += "${PN}-module-strict"
-RDEPENDS_${PN}-module-dbm-filter-null += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-dbm-filter += "${PN}-module-carp"
-RDEPENDS_${PN}-module-dbm-filter += "${PN}-module-strict"
-RDEPENDS_${PN}-module-dbm-filter += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-dbm-filter-utf8 += "${PN}-module-carp"
-RDEPENDS_${PN}-module-dbm-filter-utf8 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-dbm-filter-utf8 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-db += "${PN}-module-strict"
-RDEPENDS_${PN}-module-deprecate += "${PN}-module-carp"
-RDEPENDS_${PN}-module-deprecate += "${PN}-module-strict"
-RDEPENDS_${PN}-module-deprecate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-devel-peek += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-devel-peek += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-devel-ppport += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-devel-ppport += "${PN}-module-getopt-long"
-RDEPENDS_${PN}-module-devel-ppport += "${PN}-module-strict"
-RDEPENDS_${PN}-module-devel-ppport += "${PN}-module-vars"
-RDEPENDS_${PN}-module-devel-selfstubber += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-devel-selfstubber += "${PN}-module-selfloader"
-RDEPENDS_${PN}-module-diagnostics += "${PN}-module-carp"
-RDEPENDS_${PN}-module-diagnostics += "${PN}-module-config"
-RDEPENDS_${PN}-module-diagnostics += "${PN}-module-getopt-std"
-RDEPENDS_${PN}-module-diagnostics += "${PN}-module-strict"
-RDEPENDS_${PN}-module-diagnostics += "${PN}-module-text-tabs"
-RDEPENDS_${PN}-module-digest-base += "${PN}-module-carp"
-RDEPENDS_${PN}-module-digest-base += "${PN}-module-mime-base64"
-RDEPENDS_${PN}-module-digest-base += "${PN}-module-strict"
-RDEPENDS_${PN}-module-digest-base += "${PN}-module-vars"
-RDEPENDS_${PN}-module-digest-file += "${PN}-module-carp"
-RDEPENDS_${PN}-module-digest-file += "${PN}-module-digest"
-RDEPENDS_${PN}-module-digest-file += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-digest-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-digest-file += "${PN}-module-vars"
-RDEPENDS_${PN}-module-digest-md5 += "${PN}-module-digest-base"
-RDEPENDS_${PN}-module-digest-md5 += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-digest-md5 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-digest-md5 += "${PN}-module-vars"
-RDEPENDS_${PN}-module-digest-md5 += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-digest += "${PN}-module-strict"
-RDEPENDS_${PN}-module-digest += "${PN}-module-vars"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-carp"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-digest-base"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-integer"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-strict"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-vars"
-RDEPENDS_${PN}-module-digest-sha += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-dirhandle += "${PN}-module-carp"
-RDEPENDS_${PN}-module-dirhandle += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-dynaloader += "${PN}-module-carp"
-RDEPENDS_${PN}-module-dynaloader += "${PN}-module-config"
-RDEPENDS_${PN}-module-encode-alias += "${PN}-module-constant"
-RDEPENDS_${PN}-module-encode-alias += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-alias += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-encode-alias += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-alias += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-byte += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-byte += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-byte += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-byte += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-cjkconstants += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encode-cjkconstants += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-encode-cjkconstants += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-cjkconstants += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-cn-hz += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-cn-hz += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-cn-hz += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-cn-hz += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-encode-cn-hz += "${PN}-module-vars"
-RDEPENDS_${PN}-module-encode-cn-hz += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-cn += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-cn += "${PN}-module-encode-cn-hz"
-RDEPENDS_${PN}-module-encode-cn += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-cn += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-cn += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-config += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-config += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-ebcdic += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-ebcdic += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-ebcdic += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-ebcdic += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-encoder += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encode-encoder += "${PN}-module-constant"
-RDEPENDS_${PN}-module-encode-encoder += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-encoder += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-encode-encoder += "${PN}-module-overload"
-RDEPENDS_${PN}-module-encode-encoder += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-encoder += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-encoding += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encode-encoding += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-encoding += "${PN}-module-encode-mime-name"
-RDEPENDS_${PN}-module-encode-encoding += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-encoding += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-gsm0338 += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encode-gsm0338 += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-gsm0338 += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-gsm0338 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-gsm0338 += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-encode-gsm0338 += "${PN}-module-vars"
-RDEPENDS_${PN}-module-encode-gsm0338 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-guess += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-encode-guess += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encode-guess += "${PN}-module-constant"
-RDEPENDS_${PN}-module-encode-guess += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-guess += "${PN}-module-encode-unicode"
-RDEPENDS_${PN}-module-encode-guess += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-guess += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-guess += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-jp-h2z += "${PN}-module-encode-cjkconstants"
-RDEPENDS_${PN}-module-encode-jp-h2z += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-jp-h2z += "${PN}-module-vars"
-RDEPENDS_${PN}-module-encode-jp-h2z += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-jp-jis7 += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-encode-jp-jis7 += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-jp-jis7 += "${PN}-module-encode-cjkconstants"
-RDEPENDS_${PN}-module-encode-jp-jis7 += "${PN}-module-encode-jp-h2z"
-RDEPENDS_${PN}-module-encode-jp-jis7 += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-jp-jis7 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-jp-jis7 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-jp += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-jp += "${PN}-module-encode-jp-jis7"
-RDEPENDS_${PN}-module-encode-jp += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-jp += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-jp += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-kr-2022-kr += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-kr-2022-kr += "${PN}-module-encode-cjkconstants"
-RDEPENDS_${PN}-module-encode-kr-2022-kr += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-kr-2022-kr += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-kr-2022-kr += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-kr += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-kr += "${PN}-module-encode-kr-2022-kr"
-RDEPENDS_${PN}-module-encode-kr += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-kr += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-kr += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-mime-header-iso-2022-jp += "${PN}-module-constant"
-RDEPENDS_${PN}-module-encode-mime-header-iso-2022-jp += "${PN}-module-encode-cjkconstants"
-RDEPENDS_${PN}-module-encode-mime-header-iso-2022-jp += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-mime-header-iso-2022-jp += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-mime-header-iso-2022-jp += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-constant"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-mime-base64"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-encode-mime-header += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-mime-name += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-mime-name += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-encode += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encode += "${PN}-module-constant"
-RDEPENDS_${PN}-module-encode += "${PN}-module-encode-alias"
-RDEPENDS_${PN}-module-encode += "${PN}-module-encode-config"
-RDEPENDS_${PN}-module-encode += "${PN}-module-encode-configlocal-pm"
-RDEPENDS_${PN}-module-encode += "${PN}-module-encode-encoding"
-RDEPENDS_${PN}-module-encode += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-encode += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-symbol += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-symbol += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-symbol += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-symbol += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-tw += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-tw += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-tw += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-tw += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-unicode += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-unicode += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-unicode += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-unicode += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encode-unicode += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-encode-unicode-utf7 += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encode-unicode-utf7 += "${PN}-module-mime-base64"
-RDEPENDS_${PN}-module-encode-unicode-utf7 += "${PN}-module-parent"
-RDEPENDS_${PN}-module-encode-unicode-utf7 += "${PN}-module-re"
-RDEPENDS_${PN}-module-encode-unicode-utf7 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encode-unicode-utf7 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-config"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-constant"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-encode"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-filter-util-call"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-i18n-langinfo"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-posix"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-encoding += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-encoding-warnings += "${PN}-module-carp"
-RDEPENDS_${PN}-module-encoding-warnings += "${PN}-module-strict"
-RDEPENDS_${PN}-module-encoding-warnings += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-english += "${PN}-module-carp "
-RDEPENDS_${PN}-module-english += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-env += "${PN}-module-config"
-RDEPENDS_${PN}-module-env += "${PN}-module-tie-array"
-RDEPENDS_${PN}-module-errno += "${PN}-module-carp"
-RDEPENDS_${PN}-module-errno += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-errno += "${PN}-module-strict"
-RDEPENDS_${PN}-module-experimental += "${PN}-module-carp"
-RDEPENDS_${PN}-module-experimental += "${PN}-module-feature"
-RDEPENDS_${PN}-module-experimental += "${PN}-module-strict"
-RDEPENDS_${PN}-module-experimental += "${PN}-module-version"
-RDEPENDS_${PN}-module-experimental += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-exporter-heavy += "${PN}-module-carp"
-RDEPENDS_${PN}-module-exporter-heavy += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-exporter-heavy += "${PN}-module-strict"
-RDEPENDS_${PN}-module-exporter += "${PN}-module-exporter-heavy"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-extutils-mksymlists"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-file-temp"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-ipc-cmd"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-extutils-cbuilder-base += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-cbuilder += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-extutils-cbuilder += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-cbuilder += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-aix += "${PN}-module-extutils-cbuilder-platform-unix"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-aix += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-aix += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-aix += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-aix += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-android += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-android += "${PN}-module-extutils-cbuilder-platform-unix"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-android += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-android += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-android += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-android += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-cygwin += "${PN}-module-extutils-cbuilder-platform-unix"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-cygwin += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-cygwin += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-cygwin += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-cygwin += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-darwin += "${PN}-module-extutils-cbuilder-platform-unix"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-darwin += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-darwin += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-darwin += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-dec-osf += "${PN}-module-extutils-cbuilder-platform-unix"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-dec-osf += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-dec-osf += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-dec-osf += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-dec-osf += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-os2 += "${PN}-module-extutils-cbuilder-platform-unix"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-os2 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-os2 += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-os2 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-unix += "${PN}-module-extutils-cbuilder-base"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-unix += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-unix += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-unix += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-vms += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-vms += "${PN}-module-extutils-cbuilder-base"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-vms += "${PN}-module-file-spec-functions"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-vms += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-vms += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-vms += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows-bcc += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows-bcc += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows-gcc += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows-gcc += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows-msvc += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows-msvc += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows += "${PN}-module-extutils-cbuilder-base"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-cbuilder-platform-windows += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-command-mm += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-command-mm += "${PN}-module-extutils-command"
-RDEPENDS_${PN}-module-extutils-command-mm += "${PN}-module-extutils-install"
-RDEPENDS_${PN}-module-extutils-command-mm += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-command-mm += "${PN}-module-getopt-long"
-RDEPENDS_${PN}-module-extutils-command-mm += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-command-mm += "${PN}-module-test-harness"
-RDEPENDS_${PN}-module-extutils-command-mm += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-command += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-command += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-command += "${PN}-module-file-copy"
-RDEPENDS_${PN}-module-extutils-command += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-extutils-command += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-extutils-command += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-command += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-command += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-constant-base += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-constant-base += "${PN}-module-constant"
-RDEPENDS_${PN}-module-extutils-constant-base += "${PN}-module-extutils-constant-utils"
-RDEPENDS_${PN}-module-extutils-constant-base += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-constant-base += "${PN}-module-text-wrap"
-RDEPENDS_${PN}-module-extutils-constant-base += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-constant += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-constant += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-constant += "${PN}-module-extutils-constant-proxysubs"
-RDEPENDS_${PN}-module-extutils-constant += "${PN}-module-extutils-constant-utils"
-RDEPENDS_${PN}-module-extutils-constant += "${PN}-module-extutils-constant-xs"
-RDEPENDS_${PN}-module-extutils-constant += "${PN}-module-filehandle"
-RDEPENDS_${PN}-module-extutils-constant += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-constant += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-constant-proxysubs += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-constant-proxysubs += "${PN}-module-extutils-constant-utils"
-RDEPENDS_${PN}-module-extutils-constant-proxysubs += "${PN}-module-extutils-constant-xs"
-RDEPENDS_${PN}-module-extutils-constant-proxysubs += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-constant-proxysubs += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-constant-utils += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-constant-utils += "${PN}-module-constant"
-RDEPENDS_${PN}-module-extutils-constant-utils += "${PN}-module-posix"
-RDEPENDS_${PN}-module-extutils-constant-utils += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-constant-utils += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-constant-xs += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-constant-xs += "${PN}-module-data-dumper"
-RDEPENDS_${PN}-module-extutils-constant-xs += "${PN}-module-extutils-constant"
-RDEPENDS_${PN}-module-extutils-constant-xs += "${PN}-module-extutils-constant-base"
-RDEPENDS_${PN}-module-extutils-constant-xs += "${PN}-module-extutils-constant-utils"
-RDEPENDS_${PN}-module-extutils-constant-xs += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-constant-xs += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-embed += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-embed += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-embed += "${PN}-module-extutils-liblist"
-RDEPENDS_${PN}-module-extutils-embed += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-embed += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-embed += "${PN}-module-getopt-std"
-RDEPENDS_${PN}-module-extutils-embed += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-embed += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-data-dumper"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-extutils-packlist"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-installed += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-autosplit"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-extutils-packlist"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-file-compare"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-file-copy"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-install += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-liblist-kid += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-extutils-liblist-kid += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-liblist-kid += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-liblist-kid += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-liblist-kid += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-liblist-kid += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-extutils-liblist-kid += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-liblist += "${PN}-module-extutils-liblist-kid"
-RDEPENDS_${PN}-module-extutils-liblist += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-liblist += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-makemaker-config += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-makemaker-config += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-makemaker-locale += "${PN}-module-base"
-RDEPENDS_${PN}-module-extutils-makemaker-locale += "${PN}-module-encode"
-RDEPENDS_${PN}-module-extutils-makemaker-locale += "${PN}-module-encode-alias"
-RDEPENDS_${PN}-module-extutils-makemaker-locale += "${PN}-module-i18n-langinfo"
-RDEPENDS_${PN}-module-extutils-makemaker-locale += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-b"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-extutils-makemaker-version"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-extutils-manifest"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-extutils-mm"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-extutils-my"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-makemaker += "${PN}-module-version"
-RDEPENDS_${PN}-module-extutils-makemaker-version += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-makemaker-version += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-file-copy"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-manifest += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-miniperl += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-miniperl += "${PN}-module-extutils-embed"
-RDEPENDS_${PN}-module-extutils-miniperl += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-miniperl += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-mkbootstrap += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-mkbootstrap += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-extutils-mkbootstrap += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-mkbootstrap += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mksymlists += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-mksymlists += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-mksymlists += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-mksymlists += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-aix += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-mm-aix += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-aix += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-autosplit"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-cpan"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-data-dumper"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-any += "${PN}-module-version"
-RDEPENDS_${PN}-module-extutils-mm-beos += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm-beos += "${PN}-module-extutils-mm-any"
-RDEPENDS_${PN}-module-extutils-mm-beos += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-beos += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-mm-beos += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-cygwin += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm-cygwin += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-cygwin += "${PN}-module-extutils-mm-win32"
-RDEPENDS_${PN}-module-extutils-mm-cygwin += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-mm-cygwin += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-darwin += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-darwin += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-dos += "${PN}-module-extutils-mm-any"
-RDEPENDS_${PN}-module-extutils-mm-dos += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-dos += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-macos += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-nw5 += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-mm-nw5 += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm-nw5 += "${PN}-module-extutils-mm-win32"
-RDEPENDS_${PN}-module-extutils-mm-nw5 += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-mm-nw5 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-os2 += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-mm-os2 += "${PN}-module-extutils-mm-any"
-RDEPENDS_${PN}-module-extutils-mm-os2 += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-os2 += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-mm-os2 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm += "${PN}-module-extutils-liblist"
-RDEPENDS_${PN}-module-extutils-mm += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-mm += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-qnx += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-qnx += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-dirhandle"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-encode"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-extutils-liblist"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-extutils-mm-any"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-mm-unix += "${PN}-module-version"
-RDEPENDS_${PN}-module-extutils-mm-uwin += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-uwin += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-extutils-liblist-kid"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-extutils-mm-any"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-extutils-mm-vms += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-vos += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-vos += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-win32 += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-extutils-mm-win32 += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm-win32 += "${PN}-module-extutils-mm-any"
-RDEPENDS_${PN}-module-extutils-mm-win32 += "${PN}-module-extutils-mm-unix"
-RDEPENDS_${PN}-module-extutils-mm-win32 += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-mm-win32 += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-mm-win32 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-mm-win95 += "${PN}-module-extutils-makemaker-config"
-RDEPENDS_${PN}-module-extutils-mm-win95 += "${PN}-module-extutils-mm-win32"
-RDEPENDS_${PN}-module-extutils-mm-win95 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-my += "${PN}-module-extutils-mm"
-RDEPENDS_${PN}-module-extutils-my += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-packlist += "${PN}-module-carp"
-RDEPENDS_${PN}-module-extutils-packlist += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-packlist += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-extutils-packlist += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-packlist += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-packlist += "${PN}-module-vars"
-RDEPENDS_${PN}-module-extutils-parsexs-constants += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-parsexs-constants += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-extutils-parsexs-constants += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-parsexs-countlines += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-parsexs-eval += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-parsexs-eval += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-config"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-extutils-parsexs-constants"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-extutils-parsexs-countlines"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-extutils-parsexs-eval"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-extutils-parsexs-utilities"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-re"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-parsexs += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-extutils-parsexs-utilities += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-parsexs-utilities += "${PN}-module-extutils-parsexs-constants"
-RDEPENDS_${PN}-module-extutils-parsexs-utilities += "${PN}-module-extutils-typemaps"
-RDEPENDS_${PN}-module-extutils-parsexs-utilities += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-parsexs-utilities += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-parsexs-utilities += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-testlib += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-extutils-testlib += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-extutils-testlib += "${PN}-module-lib"
-RDEPENDS_${PN}-module-extutils-testlib += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-testlib += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-typemaps-cmd += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-extutils-typemaps-cmd += "${PN}-module-extutils-typemaps"
-RDEPENDS_${PN}-module-extutils-typemaps-cmd += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-typemaps-cmd += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-typemaps-inputmap += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-typemaps-inputmap += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-typemaps-outputmap += "${PN}-module-re"
-RDEPENDS_${PN}-module-extutils-typemaps-outputmap += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-typemaps-outputmap += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-typemaps += "${PN}-module-extutils-parsexs"
-RDEPENDS_${PN}-module-extutils-typemaps += "${PN}-module-extutils-parsexs-constants"
-RDEPENDS_${PN}-module-extutils-typemaps += "${PN}-module-extutils-typemaps-inputmap"
-RDEPENDS_${PN}-module-extutils-typemaps += "${PN}-module-extutils-typemaps-outputmap"
-RDEPENDS_${PN}-module-extutils-typemaps += "${PN}-module-extutils-typemaps-type"
-RDEPENDS_${PN}-module-extutils-typemaps += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-typemaps += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-extutils-typemaps-type += "${PN}-module-extutils-typemaps"
-RDEPENDS_${PN}-module-extutils-typemaps-type += "${PN}-module-strict"
-RDEPENDS_${PN}-module-extutils-typemaps-type += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-autodie"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-autodie-exception-system"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-autodie-hints"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-autodie-util"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-carp"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-config"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-constant"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-posix"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-strict"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-tie-refhash"
-RDEPENDS_${PN}-module-fatal += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-fcntl += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-fcntl += "${PN}-module-strict"
-RDEPENDS_${PN}-module-fcntl += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-feature += "${PN}-module-carp"
-RDEPENDS_${PN}-module-fields += "${PN}-module-base"
-RDEPENDS_${PN}-module-fields += "${PN}-module-carp"
-RDEPENDS_${PN}-module-fields += "${PN}-module-hash-util"
-RDEPENDS_${PN}-module-fields += "${PN}-module-strict"
-RDEPENDS_${PN}-module-fields += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-basename += "${PN}-module-carp"
-RDEPENDS_${PN}-module-file-basename += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-basename += "${PN}-module-re"
-RDEPENDS_${PN}-module-file-basename += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-basename += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-filecache += "${PN}-module-carp"
-RDEPENDS_${PN}-module-filecache += "${PN}-module-parent"
-RDEPENDS_${PN}-module-filecache += "${PN}-module-strict"
-RDEPENDS_${PN}-module-filecache += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-compare += "${PN}-module-carp"
-RDEPENDS_${PN}-module-file-compare += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-compare += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-compare += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-file-copy += "${PN}-module-carp"
-RDEPENDS_${PN}-module-file-copy += "${PN}-module-config"
-RDEPENDS_${PN}-module-file-copy += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-copy += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-file-copy += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-file-copy += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-copy += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-file-dosglob += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-dosglob += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-file-dosglob += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-file-dosglob += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-carp"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-constant"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-file-copy"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-filehandle"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-file-temp"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-ipc-cmd"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-locale-maketext-simple"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-load"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-params-check"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-fetch += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-find += "${PN}-module-config"
-RDEPENDS_${PN}-module-file-find += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-file-find += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-find += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-file-find += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-file-find += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-find += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-file-find += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-file-globmapper += "${PN}-module-carp"
-RDEPENDS_${PN}-module-file-globmapper += "${PN}-module-file-glob"
-RDEPENDS_${PN}-module-file-globmapper += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-globmapper += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-file-glob += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-glob += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-glob += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-filehandle += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-filehandle += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-filehandle += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-filehandle += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-path += "${PN}-module-carp"
-RDEPENDS_${PN}-module-file-path += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-file-path += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-path += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-file-path += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-file-path += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-path += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-amigaos += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-spec-amigaos += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-amigaos += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-cygwin += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-spec-cygwin += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-cygwin += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-epoc += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-spec-epoc += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-epoc += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-functions += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-spec-functions += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-file-spec-functions += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-spec-functions += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-functions += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-mac += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-spec-mac += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-mac += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-os2 += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-spec-os2 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-os2 += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-unix += "${PN}-module-constant"
-RDEPENDS_${PN}-module-file-spec-unix += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-file-spec-unix += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-file-spec-unix += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-unix += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-unix += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-file-spec-vms += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-file-spec-vms += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-spec-vms += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-vms += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-spec-win32 += "${PN}-module-cwd "
-RDEPENDS_${PN}-module-file-spec-win32 += "${PN}-module-file-spec-unix"
-RDEPENDS_${PN}-module-file-spec-win32 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-spec-win32 += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-carp"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-constant"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-overload "
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-vars"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-file-stat += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-carp"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-constant"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-errno"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-io-seekable"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-overload"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-parent"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-posix"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-strict"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-file-temp += "${PN}-module-vars"
-RDEPENDS_${PN}-module-filter-simple += "${PN}-module-carp"
-RDEPENDS_${PN}-module-filter-simple += "${PN}-module-filter-util-call"
-RDEPENDS_${PN}-module-filter-simple += "${PN}-module-text-balanced"
-RDEPENDS_${PN}-module-filter-simple += "${PN}-module-vars"
-RDEPENDS_${PN}-module-filter-util-call += "${PN}-module-carp "
-RDEPENDS_${PN}-module-filter-util-call += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-filter-util-call += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-filter-util-call += "${PN}-module-strict"
-RDEPENDS_${PN}-module-filter-util-call += "${PN}-module-vars"
-RDEPENDS_${PN}-module-filter-util-call += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-findbin += "${PN}-module-carp"
-RDEPENDS_${PN}-module-findbin += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-findbin += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-findbin += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-findbin += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-getopt-long += "${PN}-module-constant"
-RDEPENDS_${PN}-module-getopt-long += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-getopt-long += "${PN}-module-overload"
-RDEPENDS_${PN}-module-getopt-long += "${PN}-module-pod-usage"
-RDEPENDS_${PN}-module-getopt-long += "${PN}-module-strict"
-RDEPENDS_${PN}-module-getopt-long += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-getopt-long += "${PN}-module-vars"
-RDEPENDS_${PN}-module-getopt-std += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-hash-util-fieldhash += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-hash-util-fieldhash += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-hash-util-fieldhash += "${PN}-module-strict"
-RDEPENDS_${PN}-module-hash-util-fieldhash += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-hash-util-fieldhash += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-hash-util += "${PN}-module-carp"
-RDEPENDS_${PN}-module-hash-util += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-hash-util += "${PN}-module-hash-util-fieldhash"
-RDEPENDS_${PN}-module-hash-util += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-hash-util += "${PN}-module-strict"
-RDEPENDS_${PN}-module-hash-util += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-hash-util += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-hash-util += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-i18n-collate += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-i18n-collate += "${PN}-module-overload"
-RDEPENDS_${PN}-module-i18n-collate += "${PN}-module-posix"
-RDEPENDS_${PN}-module-i18n-collate += "${PN}-module-strict"
-RDEPENDS_${PN}-module-i18n-collate += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-i18n-langinfo += "${PN}-module-carp"
-RDEPENDS_${PN}-module-i18n-langinfo += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-i18n-langinfo += "${PN}-module-strict"
-RDEPENDS_${PN}-module-i18n-langinfo += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-i18n-langinfo += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-i18n-langtags-detect += "${PN}-module-i18n-langtags"
-RDEPENDS_${PN}-module-i18n-langtags-detect += "${PN}-module-strict"
-RDEPENDS_${PN}-module-i18n-langtags-detect += "${PN}-module-vars"
-RDEPENDS_${PN}-module-i18n-langtags-list += "${PN}-module-strict"
-RDEPENDS_${PN}-module-i18n-langtags-list += "${PN}-module-vars"
-RDEPENDS_${PN}-module-i18n-langtags += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-i18n-langtags += "${PN}-module-strict"
-RDEPENDS_${PN}-module-i18n-langtags += "${PN}-module-vars"
-RDEPENDS_${PN}-module-io-compress-adapter-bzip2 += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-adapter-bzip2 += "${PN}-module-compress-raw-bzip2"
-RDEPENDS_${PN}-module-io-compress-adapter-bzip2 += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-adapter-bzip2 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-compress-adapter-bzip2 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-adapter-deflate += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-adapter-deflate += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-io-compress-adapter-deflate += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-compress-adapter-deflate += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-adapter-deflate += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-compress-adapter-deflate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-adapter-identity += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-adapter-identity += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-adapter-identity += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-compress-adapter-identity += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-constant"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-encode"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-file-globmapper"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-io-compress-base-common += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-base += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-compress-base += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-base += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-io-compress-base += "${PN}-module-io-handle "
-RDEPENDS_${PN}-module-io-compress-base += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-io-compress-base += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-base += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-io-compress-base += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-bzip2 += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-bzip2 += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-compress-bzip2 += "${PN}-module-io-compress-adapter-bzip2"
-RDEPENDS_${PN}-module-io-compress-bzip2 += "${PN}-module-io-compress-base"
-RDEPENDS_${PN}-module-io-compress-bzip2 += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-bzip2 += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-bzip2 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-deflate += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-deflate += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-compress-deflate += "${PN}-module-io-compress-adapter-deflate"
-RDEPENDS_${PN}-module-io-compress-deflate += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-deflate += "${PN}-module-io-compress-rawdeflate"
-RDEPENDS_${PN}-module-io-compress-deflate += "${PN}-module-io-compress-zlib-constants"
-RDEPENDS_${PN}-module-io-compress-deflate += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-deflate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-gzip-constants += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-gzip-constants += "${PN}-module-constant"
-RDEPENDS_${PN}-module-io-compress-gzip-constants += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-compress-gzip-constants += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-gzip-constants += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-io-compress-adapter-deflate"
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-io-compress-gzip-constants"
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-io-compress-rawdeflate"
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-io-compress-zlib-extra"
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-gzip += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-io-compress-adapter-deflate"
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-io-compress-base"
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-rawdeflate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-zip-constants += "${PN}-module-constant"
-RDEPENDS_${PN}-module-io-compress-zip-constants += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-compress-zip-constants += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-zip-constants += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-config"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-io-compress-adapter-deflate"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-io-compress-adapter-identity"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-io-compress-bzip2"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-io-compress-rawdeflate"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-io-compress-zip-constants"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-io-compress-zlib-extra"
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-zip += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-zlib-constants += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-zlib-constants += "${PN}-module-constant"
-RDEPENDS_${PN}-module-io-compress-zlib-constants += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-compress-zlib-constants += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-zlib-constants += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-compress-zlib-extra += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-compress-zlib-extra += "${PN}-module-io-compress-gzip-constants"
-RDEPENDS_${PN}-module-io-compress-zlib-extra += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-compress-zlib-extra += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-dir += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-dir += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-dir += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-io-dir += "${PN}-module-file-stat"
-RDEPENDS_${PN}-module-io-dir += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-io-dir += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-dir += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-io-dir += "${PN}-module-tie-hash"
-RDEPENDS_${PN}-module-io-file += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-file += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-file += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-io-file += "${PN}-module-io-seekable"
-RDEPENDS_${PN}-module-io-file += "${PN}-module-selectsaver"
-RDEPENDS_${PN}-module-io-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-file += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-io-handle += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-handle += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-handle += "${PN}-module-io"
-RDEPENDS_${PN}-module-io-handle += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-io-handle += "${PN}-module-selectsaver"
-RDEPENDS_${PN}-module-io-handle += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-handle += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-io += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-io-pipe += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-pipe += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-io-pipe += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-io-pipe += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-pipe += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-io-poll += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-poll += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-io-poll += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-seekable += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-seekable += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-seekable += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-io-seekable += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-io-seekable += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-select += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-select += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-select += "${PN}-module-vars"
-RDEPENDS_${PN}-module-io-select += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-io-socket-inet += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-socket-inet += "${PN}-module-errno"
-RDEPENDS_${PN}-module-io-socket-inet += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-socket-inet += "${PN}-module-io-socket"
-RDEPENDS_${PN}-module-io-socket-inet += "${PN}-module-socket"
-RDEPENDS_${PN}-module-io-socket-inet += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-socket-ip += "${PN}-module-base"
-RDEPENDS_${PN}-module-io-socket-ip += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-socket-ip += "${PN}-module-constant"
-RDEPENDS_${PN}-module-io-socket-ip += "${PN}-module-errno"
-RDEPENDS_${PN}-module-io-socket-ip += "${PN}-module-posix"
-RDEPENDS_${PN}-module-io-socket-ip += "${PN}-module-socket"
-RDEPENDS_${PN}-module-io-socket-ip += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-socket-ip += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-errno"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-io-select"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-io-socket-inet"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-io-socket-unix"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-socket"
-RDEPENDS_${PN}-module-io-socket += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-socket-unix += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-socket-unix += "${PN}-module-io-socket"
-RDEPENDS_${PN}-module-io-socket-unix += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-uncompress-adapter-bunzip2 += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-uncompress-adapter-bunzip2 += "${PN}-module-compress-raw-bzip2"
-RDEPENDS_${PN}-module-io-uncompress-adapter-bunzip2 += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-adapter-bunzip2 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-uncompress-adapter-bunzip2 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-adapter-identity += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-uncompress-adapter-identity += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-io-uncompress-adapter-identity += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-adapter-identity += "${PN}-module-io-compress-zip-constants "
-RDEPENDS_${PN}-module-io-uncompress-adapter-identity += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-uncompress-adapter-identity += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-adapter-inflate += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-io-uncompress-adapter-inflate += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-adapter-inflate += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-uncompress-adapter-inflate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-io-uncompress-adapter-inflate"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-io-uncompress-base"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-io-uncompress-gunzip"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-io-uncompress-inflate"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-io-uncompress-rawinflate"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-io-uncompress-unzip"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-uncompress-anyinflate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-anyuncompress += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-uncompress-anyuncompress += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-uncompress-anyuncompress += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-anyuncompress += "${PN}-module-io-uncompress-base"
-RDEPENDS_${PN}-module-io-uncompress-anyuncompress += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-uncompress-anyuncompress += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-carp "
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-constant"
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-io-file "
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-list-util"
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-io-uncompress-base += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-bunzip2 += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-uncompress-bunzip2 += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-uncompress-bunzip2 += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-bunzip2 += "${PN}-module-io-uncompress-adapter-bunzip2"
-RDEPENDS_${PN}-module-io-uncompress-bunzip2 += "${PN}-module-io-uncompress-base"
-RDEPENDS_${PN}-module-io-uncompress-bunzip2 += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-uncompress-bunzip2 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-io-compress-gzip-constants"
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-io-compress-zlib-extra"
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-io-uncompress-rawinflate"
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-uncompress-gunzip += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-inflate += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-io-uncompress-inflate += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-uncompress-inflate += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-inflate += "${PN}-module-io-compress-zlib-constants"
-RDEPENDS_${PN}-module-io-uncompress-inflate += "${PN}-module-io-uncompress-rawinflate"
-RDEPENDS_${PN}-module-io-uncompress-inflate += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-uncompress-inflate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-rawinflate += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-io-uncompress-rawinflate += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-uncompress-rawinflate += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-rawinflate += "${PN}-module-io-uncompress-adapter-inflate"
-RDEPENDS_${PN}-module-io-uncompress-rawinflate += "${PN}-module-io-uncompress-base"
-RDEPENDS_${PN}-module-io-uncompress-rawinflate += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-uncompress-rawinflate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-compress-raw-zlib"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-constant"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-exporter "
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-io-compress-base-common"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-io-compress-zip-constants"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-io-compress-zlib-extra"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-io-uncompress-adapter-identity"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-io-uncompress-adapter-inflate"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-io-uncompress-rawinflate"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-posix"
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-strict "
-RDEPENDS_${PN}-module-io-uncompress-unzip += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-io-zlib += "${PN}-module-carp"
-RDEPENDS_${PN}-module-io-zlib += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-io-zlib += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-io-zlib += "${PN}-module-strict"
-RDEPENDS_${PN}-module-io-zlib += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-io-zlib += "${PN}-module-tie-handle"
-RDEPENDS_${PN}-module-io-zlib += "${PN}-module-vars"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-carp"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-constant"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-extutils-makemaker"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-filehandle"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-io-select"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-ipc-open3"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-locale-maketext-simple"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-load"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-params-check"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-posix"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-socket"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-strict"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-time-hires"
-RDEPENDS_${PN}-module-ipc-cmd += "${PN}-module-vars"
-RDEPENDS_${PN}-module-ipc-msg += "${PN}-module-carp"
-RDEPENDS_${PN}-module-ipc-msg += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-ipc-msg += "${PN}-module-ipc-sysv"
-RDEPENDS_${PN}-module-ipc-msg += "${PN}-module-strict"
-RDEPENDS_${PN}-module-ipc-msg += "${PN}-module-vars"
-RDEPENDS_${PN}-module-ipc-open2 += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-ipc-open2 += "${PN}-module-ipc-open3"
-RDEPENDS_${PN}-module-ipc-open2 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-ipc-open3 += "${PN}-module-carp"
-RDEPENDS_${PN}-module-ipc-open3 += "${PN}-module-constant"
-RDEPENDS_${PN}-module-ipc-open3 += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-ipc-open3 += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-ipc-open3 += "${PN}-module-io-pipe"
-RDEPENDS_${PN}-module-ipc-open3 += "${PN}-module-posix"
-RDEPENDS_${PN}-module-ipc-open3 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-ipc-open3 += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-ipc-semaphore += "${PN}-module-carp"
-RDEPENDS_${PN}-module-ipc-semaphore += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-ipc-semaphore += "${PN}-module-ipc-sysv"
-RDEPENDS_${PN}-module-ipc-semaphore += "${PN}-module-strict"
-RDEPENDS_${PN}-module-ipc-semaphore += "${PN}-module-vars"
-RDEPENDS_${PN}-module-ipc-sharedmem += "${PN}-module-carp"
-RDEPENDS_${PN}-module-ipc-sharedmem += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-ipc-sharedmem += "${PN}-module-ipc-sysv"
-RDEPENDS_${PN}-module-ipc-sharedmem += "${PN}-module-strict"
-RDEPENDS_${PN}-module-ipc-sharedmem += "${PN}-module-vars"
-RDEPENDS_${PN}-module-ipc-sysv += "${PN}-module-carp"
-RDEPENDS_${PN}-module-ipc-sysv += "${PN}-module-config"
-RDEPENDS_${PN}-module-ipc-sysv += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-ipc-sysv += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-ipc-sysv += "${PN}-module-strict"
-RDEPENDS_${PN}-module-ipc-sysv += "${PN}-module-vars"
-RDEPENDS_${PN}-module-json-pp-boolean += "${PN}-module-json-pp"
-RDEPENDS_${PN}-module-json-pp-boolean += "${PN}-module-strict"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-b"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-base"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-bytes"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-carp"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-constant"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-encode"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-math-bigfloat"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-math-bigint"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-overload"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-strict"
-RDEPENDS_${PN}-module-json-pp += "${PN}-module-subs"
-RDEPENDS_${PN}-module-less += "${PN}-module-strict"
-RDEPENDS_${PN}-module-less += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-lib += "${PN}-module-carp"
-RDEPENDS_${PN}-module-lib += "${PN}-module-config"
-RDEPENDS_${PN}-module-lib += "${PN}-module-strict"
-RDEPENDS_${PN}-module-list-util += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-list-util += "${PN}-module-strict"
-RDEPENDS_${PN}-module-list-util += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-list-util-xs += "${PN}-module-list-util"
-RDEPENDS_${PN}-module-list-util-xs += "${PN}-module-strict"
-RDEPENDS_${PN}-module-loaded += "${PN}-module-carp"
-RDEPENDS_${PN}-module-loaded += "${PN}-module-strict"
-RDEPENDS_${PN}-module-loaded += "${PN}-module-vars"
-RDEPENDS_${PN}-module-load += "${PN}-module-carp"
-RDEPENDS_${PN}-module-load += "${PN}-module-config"
-RDEPENDS_${PN}-module-load += "${PN}-module-constant"
-RDEPENDS_${PN}-module-load += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-load += "${PN}-module-filehandle"
-RDEPENDS_${PN}-module-load += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-load += "${PN}-module-locale-maketext-simple"
-RDEPENDS_${PN}-module-load += "${PN}-module-corelist"
-RDEPENDS_${PN}-module-load += "${PN}-module-load"
-RDEPENDS_${PN}-module-load += "${PN}-module-params-check"
-RDEPENDS_${PN}-module-load += "${PN}-module-strict"
-RDEPENDS_${PN}-module-load += "${PN}-module-vars"
-RDEPENDS_${PN}-module-load += "${PN}-module-version"
-RDEPENDS_${PN}-module-load += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-constants += "${PN}-module-constant"
-RDEPENDS_${PN}-module-locale-codes-constants += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-codes-constants += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-constants += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-country-codes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-country-codes += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-country-codes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-country += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-codes-country += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-codes-country += "${PN}-module-locale-codes"
-RDEPENDS_${PN}-module-locale-codes-country += "${PN}-module-locale-codes-constants"
-RDEPENDS_${PN}-module-locale-codes-country += "${PN}-module-locale-codes-country-codes"
-RDEPENDS_${PN}-module-locale-codes-country += "${PN}-module-locale-codes-country-retired"
-RDEPENDS_${PN}-module-locale-codes-country += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-country += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-country-retired += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-country-retired += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-country-retired += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-currency-codes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-currency-codes += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-currency-codes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-currency += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-codes-currency += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-codes-currency += "${PN}-module-locale-codes"
-RDEPENDS_${PN}-module-locale-codes-currency += "${PN}-module-locale-codes-constants"
-RDEPENDS_${PN}-module-locale-codes-currency += "${PN}-module-locale-codes-currency-codes"
-RDEPENDS_${PN}-module-locale-codes-currency += "${PN}-module-locale-codes-currency-retired"
-RDEPENDS_${PN}-module-locale-codes-currency += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-currency += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-currency-retired += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-currency-retired += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-currency-retired += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langext-codes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langext-codes += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-langext-codes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langext += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-codes-langext += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-codes-langext += "${PN}-module-locale-codes"
-RDEPENDS_${PN}-module-locale-codes-langext += "${PN}-module-locale-codes-constants"
-RDEPENDS_${PN}-module-locale-codes-langext += "${PN}-module-locale-codes-langext-codes"
-RDEPENDS_${PN}-module-locale-codes-langext += "${PN}-module-locale-codes-langext-retired"
-RDEPENDS_${PN}-module-locale-codes-langext += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langext += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langext-retired += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langext-retired += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-langext-retired += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langfam-codes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langfam-codes += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-langfam-codes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langfam += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-codes-langfam += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-codes-langfam += "${PN}-module-locale-codes"
-RDEPENDS_${PN}-module-locale-codes-langfam += "${PN}-module-locale-codes-constants"
-RDEPENDS_${PN}-module-locale-codes-langfam += "${PN}-module-locale-codes-langfam-codes"
-RDEPENDS_${PN}-module-locale-codes-langfam += "${PN}-module-locale-codes-langfam-retired"
-RDEPENDS_${PN}-module-locale-codes-langfam += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langfam += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langfam-retired += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langfam-retired += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-language-codes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-language-codes += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-language-codes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-language += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-codes-language += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-codes-language += "${PN}-module-locale-codes"
-RDEPENDS_${PN}-module-locale-codes-language += "${PN}-module-locale-codes-constants"
-RDEPENDS_${PN}-module-locale-codes-language += "${PN}-module-locale-codes-language-codes"
-RDEPENDS_${PN}-module-locale-codes-language += "${PN}-module-locale-codes-language-retired"
-RDEPENDS_${PN}-module-locale-codes-language += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-language += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-language-retired += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-language-retired += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-language-retired += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langvar-codes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langvar-codes += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-langvar-codes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langvar += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-codes-langvar += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-codes-langvar += "${PN}-module-locale-codes"
-RDEPENDS_${PN}-module-locale-codes-langvar += "${PN}-module-locale-codes-constants"
-RDEPENDS_${PN}-module-locale-codes-langvar += "${PN}-module-locale-codes-langvar-codes"
-RDEPENDS_${PN}-module-locale-codes-langvar += "${PN}-module-locale-codes-langvar-retired"
-RDEPENDS_${PN}-module-locale-codes-langvar += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langvar += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-langvar-retired += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-langvar-retired += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-langvar-retired += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-codes += "${PN}-module-locale-codes-constants"
-RDEPENDS_${PN}-module-locale-codes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-script-codes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-script-codes += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-script-codes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-script += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-codes-script += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-codes-script += "${PN}-module-locale-codes"
-RDEPENDS_${PN}-module-locale-codes-script += "${PN}-module-locale-codes-constants"
-RDEPENDS_${PN}-module-locale-codes-script += "${PN}-module-locale-codes-script-codes"
-RDEPENDS_${PN}-module-locale-codes-script += "${PN}-module-locale-codes-script-retired"
-RDEPENDS_${PN}-module-locale-codes-script += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-script += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-codes-script-retired += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-codes-script-retired += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-locale-codes-script-retired += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-country += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-country += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-country += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-currency += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-currency += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-currency += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-language += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-language += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-language += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-locale-maketext-gutsloader += "${PN}-module-locale-maketext"
-RDEPENDS_${PN}-module-locale-maketext-guts += "${PN}-module-locale-maketext"
-RDEPENDS_${PN}-module-locale-maketext += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale-maketext += "${PN}-module-i18n-langtags"
-RDEPENDS_${PN}-module-locale-maketext += "${PN}-module-i18n-langtags-detect"
-RDEPENDS_${PN}-module-locale-maketext += "${PN}-module-integer"
-RDEPENDS_${PN}-module-locale-maketext += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-maketext += "${PN}-module-vars"
-RDEPENDS_${PN}-module-locale-maketext-simple += "${PN}-module-base"
-RDEPENDS_${PN}-module-locale-maketext-simple += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale += "${PN}-module-carp"
-RDEPENDS_${PN}-module-locale += "${PN}-module-config"
-RDEPENDS_${PN}-module-locale-script += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-locale-script += "${PN}-module-strict"
-RDEPENDS_${PN}-module-locale-script += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-bigfloat += "${PN}-module-carp"
-RDEPENDS_${PN}-module-math-bigfloat += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-math-bigfloat += "${PN}-module-math-bigint"
-RDEPENDS_${PN}-module-math-bigfloat += "${PN}-module-math-complex"
-RDEPENDS_${PN}-module-math-bigfloat += "${PN}-module-overload"
-RDEPENDS_${PN}-module-math-bigfloat += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-bigfloat += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-bigfloat-trace += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-math-bigfloat-trace += "${PN}-module-math-bigfloat"
-RDEPENDS_${PN}-module-math-bigfloat-trace += "${PN}-module-overload"
-RDEPENDS_${PN}-module-math-bigfloat-trace += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-bigfloat-trace += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-bigint-calcemu += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-bigint-calcemu += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-bigint-calc += "${PN}-module-carp"
-RDEPENDS_${PN}-module-math-bigint-calc += "${PN}-module-constant"
-RDEPENDS_${PN}-module-math-bigint-calc += "${PN}-module-integer"
-RDEPENDS_${PN}-module-math-bigint-calc += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-bigint-calc += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-bigint-fastcalc += "${PN}-module-math-bigint-calc"
-RDEPENDS_${PN}-module-math-bigint-fastcalc += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-bigint-fastcalc += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-bigint-fastcalc += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-carp"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigfloat"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-complex"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-overload"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-bigint += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-bigint-trace += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-math-bigint-trace += "${PN}-module-math-bigint"
-RDEPENDS_${PN}-module-math-bigint-trace += "${PN}-module-overload"
-RDEPENDS_${PN}-module-math-bigint-trace += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-bigint-trace += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-bigrat += "${PN}-module-carp"
-RDEPENDS_${PN}-module-math-bigrat += "${PN}-module-math-bigfloat"
-RDEPENDS_${PN}-module-math-bigrat += "${PN}-module-math-bigint"
-RDEPENDS_${PN}-module-math-bigrat += "${PN}-module-overload"
-RDEPENDS_${PN}-module-math-bigrat += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-bigrat += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-complex += "${PN}-module-config"
-RDEPENDS_${PN}-module-math-complex += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-math-complex += "${PN}-module-overload"
-RDEPENDS_${PN}-module-math-complex += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-math-complex += "${PN}-module-strict"
-RDEPENDS_${PN}-module-math-complex += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-math-trig += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-math-trig += "${PN}-module-math-complex"
-RDEPENDS_${PN}-module-math-trig += "${PN}-module-strict"
-RDEPENDS_${PN}-module-memoize-anydbm-file += "${PN}-module-vars"
-RDEPENDS_${PN}-module-memoize-expirefile += "${PN}-module-carp"
-RDEPENDS_${PN}-module-memoize-expire += "${PN}-module-carp"
-RDEPENDS_${PN}-module-memoize += "${PN}-module-carp"
-RDEPENDS_${PN}-module-memoize += "${PN}-module-config"
-RDEPENDS_${PN}-module-memoize += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-memoize += "${PN}-module-strict"
-RDEPENDS_${PN}-module-memoize += "${PN}-module-vars"
-RDEPENDS_${PN}-module-memoize-sdbm-file += "${PN}-module-sdbm-file"
-RDEPENDS_${PN}-module-memoize-storable += "${PN}-module-carp"
-RDEPENDS_${PN}-module-memoize-storable += "${PN}-module-storable"
-RDEPENDS_${PN}-module-meta-notation += "${PN}-module-strict"
-RDEPENDS_${PN}-module-meta-notation += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-mime-base64 += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-mime-base64 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-mime-base64 += "${PN}-module-vars"
-RDEPENDS_${PN}-module-mime-base64 += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-mime-quotedprint += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-mime-quotedprint += "${PN}-module-mime-base64"
-RDEPENDS_${PN}-module-mime-quotedprint += "${PN}-module-strict"
-RDEPENDS_${PN}-module-mime-quotedprint += "${PN}-module-vars"
-RDEPENDS_${PN}-module-mro += "${PN}-module-strict"
-RDEPENDS_${PN}-module-mro += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-mro += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-net-cmd += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-cmd += "${PN}-module-constant"
-RDEPENDS_${PN}-module-net-cmd += "${PN}-module-errno"
-RDEPENDS_${PN}-module-net-cmd += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-cmd += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-cmd += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-net-cmd += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-config += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-config += "${PN}-module-socket"
-RDEPENDS_${PN}-module-net-config += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-config += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-domain += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-domain += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-domain += "${PN}-module-net-config"
-RDEPENDS_${PN}-module-net-domain += "${PN}-module-posix"
-RDEPENDS_${PN}-module-net-domain += "${PN}-module-socket"
-RDEPENDS_${PN}-module-net-domain += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-domain += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-ftp-a += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-ftp-a += "${PN}-module-net-ftp-dataconn"
-RDEPENDS_${PN}-module-net-ftp-a += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-ftp-a += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-ftp-dataconn += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-ftp-dataconn += "${PN}-module-errno"
-RDEPENDS_${PN}-module-net-ftp-dataconn += "${PN}-module-net-cmd"
-RDEPENDS_${PN}-module-net-ftp-dataconn += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-ftp-dataconn += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-ftp-e += "${PN}-module-net-ftp-i"
-RDEPENDS_${PN}-module-net-ftp-e += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-ftp-e += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-ftp-i += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-ftp-i += "${PN}-module-net-ftp-dataconn"
-RDEPENDS_${PN}-module-net-ftp-i += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-ftp-i += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-ftp-l += "${PN}-module-net-ftp-i"
-RDEPENDS_${PN}-module-net-ftp-l += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-ftp-l += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-constant"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-io-socket"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-io-socket-ip"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-net-cmd"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-net-config"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-net-ftp-a"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-net-netrc"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-socket"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-time-local"
-RDEPENDS_${PN}-module-net-ftp += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-hostent += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-net-hostent += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-hostent += "${PN}-module-socket"
-RDEPENDS_${PN}-module-net-hostent += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-hostent += "${PN}-module-vars"
-RDEPENDS_${PN}-module-net-netent += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-net-netent += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-netent += "${PN}-module-socket"
-RDEPENDS_${PN}-module-net-netent += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-netent += "${PN}-module-vars"
-RDEPENDS_${PN}-module-net-netrc += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-netrc += "${PN}-module-filehandle"
-RDEPENDS_${PN}-module-net-netrc += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-netrc += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-nntp += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-nntp += "${PN}-module-io-socket"
-RDEPENDS_${PN}-module-net-nntp += "${PN}-module-io-socket-ip"
-RDEPENDS_${PN}-module-net-nntp += "${PN}-module-net-cmd"
-RDEPENDS_${PN}-module-net-nntp += "${PN}-module-net-config"
-RDEPENDS_${PN}-module-net-nntp += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-nntp += "${PN}-module-time-local"
-RDEPENDS_${PN}-module-net-nntp += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-constant"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-filehandle"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-posix"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-socket"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-time-hires"
-RDEPENDS_${PN}-module-net-ping += "${PN}-module-vars"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-io-socket"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-io-socket-ip"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-mime-base64"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-net-cmd"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-net-config"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-net-netrc"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-pop3 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-protoent += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-net-protoent += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-protoent += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-protoent += "${PN}-module-vars"
-RDEPENDS_${PN}-module-net-servent += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-net-servent += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-servent += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-servent += "${PN}-module-vars"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-io-socket"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-io-socket-ip"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-mime-base64"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-net-cmd"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-net-config"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-socket"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-smtp += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-net-time += "${PN}-module-carp"
-RDEPENDS_${PN}-module-net-time += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-net-time += "${PN}-module-io-select"
-RDEPENDS_${PN}-module-net-time += "${PN}-module-io-socket"
-RDEPENDS_${PN}-module-net-time += "${PN}-module-net-config"
-RDEPENDS_${PN}-module-net-time += "${PN}-module-strict"
-RDEPENDS_${PN}-module-net-time += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-next += "${PN}-module-carp"
-RDEPENDS_${PN}-module-next += "${PN}-module-overload"
-RDEPENDS_${PN}-module-next += "${PN}-module-strict"
-RDEPENDS_${PN}-module-odbm-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-odbm-file += "${PN}-module-tie-hash"
-RDEPENDS_${PN}-module-odbm-file += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-odbm-file += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-ok += "${PN}-module-strict"
-RDEPENDS_${PN}-module-ok += "${PN}-module-test-more"
-RDEPENDS_${PN}-module-opcode += "${PN}-module-carp"
-RDEPENDS_${PN}-module-opcode += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-opcode += "${PN}-module-strict"
-RDEPENDS_${PN}-module-opcode += "${PN}-module-subs"
-RDEPENDS_${PN}-module-opcode += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-open += "${PN}-module-carp"
-RDEPENDS_${PN}-module-open += "${PN}-module-encode"
-RDEPENDS_${PN}-module-open += "${PN}-module-encoding"
-RDEPENDS_${PN}-module-open += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-o += "${PN}-module-b"
-RDEPENDS_${PN}-module-o += "${PN}-module-carp"
-RDEPENDS_${PN}-module-ops += "${PN}-module-opcode"
-RDEPENDS_${PN}-module-overloading += "${PN}-module-overload-numbers"
-RDEPENDS_${PN}-module-overloading += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-overload += "${PN}-module-mro"
-RDEPENDS_${PN}-module-overload += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-overload += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-params-check += "${PN}-module-carp"
-RDEPENDS_${PN}-module-params-check += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-params-check += "${PN}-module-locale-maketext-simple"
-RDEPENDS_${PN}-module-params-check += "${PN}-module-strict"
-RDEPENDS_${PN}-module-params-check += "${PN}-module-vars"
-RDEPENDS_${PN}-module-parent += "${PN}-module-strict"
-RDEPENDS_${PN}-module-parent += "${PN}-module-vars"
-RDEPENDS_${PN}-module-perlfaq += "${PN}-module-strict"
-RDEPENDS_${PN}-module-perlfaq += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-perlio-encoding += "${PN}-module-strict"
-RDEPENDS_${PN}-module-perlio-encoding += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-perlio-mmap += "${PN}-module-strict"
-RDEPENDS_${PN}-module-perlio-mmap += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-perlio-mmap += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-perlio-scalar += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-perlio-via += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-perlio-via-quotedprint += "${PN}-module-mime-quotedprint"
-RDEPENDS_${PN}-module-perlio-via-quotedprint += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-checker += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-checker += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-pod-checker += "${PN}-module-pod-parser"
-RDEPENDS_${PN}-module-pod-checker += "${PN}-module-pod-parseutils"
-RDEPENDS_${PN}-module-pod-checker += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-checker += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-escapes += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-pod-escapes += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-escapes += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-escapes += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-config"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-file-find"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-pod-find += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-functions += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-pod-functions += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-inputobjects += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-inputobjects += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-man += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-man += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-pod-man += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-pod-man += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-man += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-man += "${PN}-module-subs"
-RDEPENDS_${PN}-module-pod-man += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-man += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-parselink += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-pod-parselink += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-parselink += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-parselink += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-parser += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-parser += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-pod-parser += "${PN}-module-pod-inputobjects"
-RDEPENDS_${PN}-module-pod-parser += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-parser += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-pod-parser += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-parseutils += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-parseutils += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-parseutils += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-baseto += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-perldoc-baseto += "${PN}-module-config"
-RDEPENDS_${PN}-module-pod-perldoc-baseto += "${PN}-module-file-spec-functions"
-RDEPENDS_${PN}-module-pod-perldoc-baseto += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-baseto += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-baseto += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-getoptsoo += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-getoptsoo += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-config"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-encode"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-file-spec-functions"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-file-temp"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-pod-perldoc-getoptsoo"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-toansi += "${PN}-module-parent"
-RDEPENDS_${PN}-module-pod-perldoc-toansi += "${PN}-module-pod-text-color"
-RDEPENDS_${PN}-module-pod-perldoc-toansi += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-toansi += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-toansi += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-tochecker += "${PN}-module-pod-checker"
-RDEPENDS_${PN}-module-pod-perldoc-tochecker += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-tochecker += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-tochecker += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-encode"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-file-spec-functions"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-io-select"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-ipc-open3"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-parent"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-pod-man"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-pod-perldoc-topod"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-toman += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-tonroff += "${PN}-module-parent"
-RDEPENDS_${PN}-module-pod-perldoc-tonroff += "${PN}-module-pod-man"
-RDEPENDS_${PN}-module-pod-perldoc-tonroff += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-tonroff += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-tonroff += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-topod += "${PN}-module-parent"
-RDEPENDS_${PN}-module-pod-perldoc-topod += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-topod += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-topod += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-tortf += "${PN}-module-parent"
-RDEPENDS_${PN}-module-pod-perldoc-tortf += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-tortf += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-tortf += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-toterm += "${PN}-module-parent"
-RDEPENDS_${PN}-module-pod-perldoc-toterm += "${PN}-module-pod-text-termcap"
-RDEPENDS_${PN}-module-pod-perldoc-toterm += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-toterm += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-toterm += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-totext += "${PN}-module-parent"
-RDEPENDS_${PN}-module-pod-perldoc-totext += "${PN}-module-pod-text"
-RDEPENDS_${PN}-module-pod-perldoc-totext += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-totext += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-totext += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-perldoc-toxml += "${PN}-module-parent"
-RDEPENDS_${PN}-module-pod-perldoc-toxml += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-perldoc-toxml += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-perldoc-toxml += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-plaintext += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-plaintext += "${PN}-module-pod-select"
-RDEPENDS_${PN}-module-pod-plaintext += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-plaintext += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-pod-plaintext += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-select += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-select += "${PN}-module-pod-parser"
-RDEPENDS_${PN}-module-pod-select += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-select += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-blackbox += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-blackbox += "${PN}-module-integer"
-RDEPENDS_${PN}-module-pod-simple-blackbox += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-blackbox += "${PN}-module-pod-simple-transcode"
-RDEPENDS_${PN}-module-pod-simple-blackbox += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-blackbox += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-checker += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-checker += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-checker += "${PN}-module-pod-simple-methody"
-RDEPENDS_${PN}-module-pod-simple-checker += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-checker += "${PN}-module-text-wrap"
-RDEPENDS_${PN}-module-pod-simple-checker += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-debug += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-debug += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-debug += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-debug += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-dumpastext += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-dumpastext += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-dumpastext += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-dumpasxml += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-dumpasxml += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-dumpasxml += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-dumpasxml += "${PN}-module-text-wrap"
-RDEPENDS_${PN}-module-pod-simple-linksection += "${PN}-module-overload"
-RDEPENDS_${PN}-module-pod-simple-linksection += "${PN}-module-pod-simple-blackbox"
-RDEPENDS_${PN}-module-pod-simple-linksection += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-linksection += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-methody += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-methody += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-methody += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-integer"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-pod-escapes"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-pod-simple-blackbox"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-pod-simple-linksection"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-pod-simple-tiedoutfh"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-pod-simple += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-progress += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-pullparserendtoken += "${PN}-module-pod-simple-pullparsertoken"
-RDEPENDS_${PN}-module-pod-simple-pullparserendtoken += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-pullparserendtoken += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-pullparser += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-pullparser += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-pullparser += "${PN}-module-pod-simple-pullparserendtoken"
-RDEPENDS_${PN}-module-pod-simple-pullparser += "${PN}-module-pod-simple-pullparserstarttoken"
-RDEPENDS_${PN}-module-pod-simple-pullparser += "${PN}-module-pod-simple-pullparsertexttoken"
-RDEPENDS_${PN}-module-pod-simple-pullparser += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-pullparserstarttoken += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-pullparserstarttoken += "${PN}-module-pod-simple-pullparsertoken"
-RDEPENDS_${PN}-module-pod-simple-pullparserstarttoken += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-pullparserstarttoken += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-pullparsertexttoken += "${PN}-module-pod-simple-pullparsertoken"
-RDEPENDS_${PN}-module-pod-simple-pullparsertexttoken += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-pullparsertexttoken += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-pullparsertoken += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-rtf += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-rtf += "${PN}-module-integer"
-RDEPENDS_${PN}-module-pod-simple-rtf += "${PN}-module-pod-simple-pullparser"
-RDEPENDS_${PN}-module-pod-simple-rtf += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-rtf += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-search += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-search += "${PN}-module-config"
-RDEPENDS_${PN}-module-pod-simple-search += "${PN}-module-cwd"
-RDEPENDS_${PN}-module-pod-simple-search += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-pod-simple-search += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-pod-simple-search += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-search += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-simpletree += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-simpletree += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-simpletree += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-simpletree += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-textcontent += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-textcontent += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-textcontent += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-textcontent += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-text += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-text += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-text += "${PN}-module-pod-simple-methody"
-RDEPENDS_${PN}-module-pod-simple-text += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-text += "${PN}-module-text-wrap"
-RDEPENDS_${PN}-module-pod-simple-text += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-tiedoutfh += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-tiedoutfh += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-tiedoutfh += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-pod-simple-tiedoutfh += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-transcodedumb += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-transcodedumb += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-transcode += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-transcode += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-transcodesmart += "${PN}-module-encode"
-RDEPENDS_${PN}-module-pod-simple-transcodesmart += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-transcodesmart += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-transcodesmart += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-simple-xmloutstream += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-simple-xmloutstream += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-simple-xmloutstream += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-simple-xmloutstream += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-text-color += "${PN}-module-pod-text"
-RDEPENDS_${PN}-module-pod-text-color += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-text-color += "${PN}-module-term-ansicolor"
-RDEPENDS_${PN}-module-pod-text-color += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-text-color += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-text-overstrike += "${PN}-module-pod-text"
-RDEPENDS_${PN}-module-pod-text-overstrike += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-text-overstrike += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-text-overstrike += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-text += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-text += "${PN}-module-encode"
-RDEPENDS_${PN}-module-pod-text += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-pod-text += "${PN}-module-pod-simple"
-RDEPENDS_${PN}-module-pod-text += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-text += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-text += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-text-termcap += "${PN}-module-pod-text"
-RDEPENDS_${PN}-module-pod-text-termcap += "${PN}-module-posix"
-RDEPENDS_${PN}-module-pod-text-termcap += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-text-termcap += "${PN}-module-term-cap"
-RDEPENDS_${PN}-module-pod-text-termcap += "${PN}-module-vars"
-RDEPENDS_${PN}-module-pod-text-termcap += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-pod-usage += "${PN}-module-carp"
-RDEPENDS_${PN}-module-pod-usage += "${PN}-module-config"
-RDEPENDS_${PN}-module-pod-usage += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-pod-usage += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-pod-usage += "${PN}-module-strict"
-RDEPENDS_${PN}-module-pod-usage += "${PN}-module-vars"
-RDEPENDS_${PN}-module-posix += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-posix += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-posix += "${PN}-module-strict"
-RDEPENDS_${PN}-module-posix += "${PN}-module-tie-hash"
-RDEPENDS_${PN}-module-posix += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-posix += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-re += "${PN}-module-carp"
-RDEPENDS_${PN}-module-re += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-re += "${PN}-module-strict"
-RDEPENDS_${PN}-module-re += "${PN}-module-term-cap"
-RDEPENDS_${PN}-module-re += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-re += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-safe += "${PN}-module-b"
-RDEPENDS_${PN}-module-safe += "${PN}-module-carp"
-RDEPENDS_${PN}-module-safe += "${PN}-module-carp-heavy"
-RDEPENDS_${PN}-module-safe += "${PN}-module-opcode"
-RDEPENDS_${PN}-module-safe += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-safe += "${PN}-module-strict"
-RDEPENDS_${PN}-module-safe += "${PN}-module-utf8"
-RDEPENDS_${PN}-module-scalar-util += "${PN}-module-carp"
-RDEPENDS_${PN}-module-scalar-util += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-scalar-util += "${PN}-module-list-util"
-RDEPENDS_${PN}-module-scalar-util += "${PN}-module-strict"
-RDEPENDS_${PN}-module-sdbm-file += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-sdbm-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-sdbm-file += "${PN}-module-tie-hash"
-RDEPENDS_${PN}-module-sdbm-file += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-sdbm-file += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-search-dict += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-search-dict += "${PN}-module-feature"
-RDEPENDS_${PN}-module-search-dict += "${PN}-module-strict"
-RDEPENDS_${PN}-module-selectsaver += "${PN}-module-carp"
-RDEPENDS_${PN}-module-selectsaver += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-selfloader += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-selfloader += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-selfloader += "${PN}-module-strict"
-RDEPENDS_${PN}-module-selfloader += "${PN}-module-vars"
-RDEPENDS_${PN}-module-sigtrap += "${PN}-module-carp"
-RDEPENDS_${PN}-module-sigtrap += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-socket += "${PN}-module-carp"
-RDEPENDS_${PN}-module-socket += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-socket += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-socket += "${PN}-module-strict"
-RDEPENDS_${PN}-module-socket += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-socket += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-sort += "${PN}-module-carp"
-RDEPENDS_${PN}-module-sort += "${PN}-module-strict"
-RDEPENDS_${PN}-module-storable += "${PN}-module-carp"
-RDEPENDS_${PN}-module-storable += "${PN}-module-config"
-RDEPENDS_${PN}-module-storable += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-storable += "${PN}-module-io-file"
-RDEPENDS_${PN}-module-storable += "${PN}-module-vars"
-RDEPENDS_${PN}-module-storable += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-sub-util += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-sub-util += "${PN}-module-list-util"
-RDEPENDS_${PN}-module-sub-util += "${PN}-module-strict"
-RDEPENDS_${PN}-module-sub-util += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-symbol += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-sys-hostname += "${PN}-module-carp"
-RDEPENDS_${PN}-module-sys-hostname += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-sys-hostname += "${PN}-module-posix"
-RDEPENDS_${PN}-module-sys-hostname += "${PN}-module-strict"
-RDEPENDS_${PN}-module-sys-hostname += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-carp"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-posix"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-socket"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-strict"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-sys-hostname"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-vars"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-sys-syslog += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-tap-base += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-base += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-base += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-base += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-formatter-base += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-formatter-base += "${PN}-module-posix"
-RDEPENDS_${PN}-module-tap-formatter-base += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-formatter-base += "${PN}-module-tap-formatter-color"
-RDEPENDS_${PN}-module-tap-formatter-base += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-formatter-color += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-formatter-color += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-formatter-color += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-formatter-color += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-formatter-console-parallelsession += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-formatter-console-parallelsession += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-formatter-console-parallelsession += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-formatter-console-parallelsession += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-tap-formatter-console-parallelsession += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-tap-formatter-console-parallelsession += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-formatter-console-parallelsession += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-formatter-console += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-formatter-console += "${PN}-module-posix"
-RDEPENDS_${PN}-module-tap-formatter-console += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-formatter-console += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-formatter-console-session += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-formatter-console-session += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-formatter-console-session += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-formatter-file += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-formatter-file += "${PN}-module-posix"
-RDEPENDS_${PN}-module-tap-formatter-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-formatter-file += "${PN}-module-tap-formatter-file-session"
-RDEPENDS_${PN}-module-tap-formatter-file += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-formatter-file-session += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-formatter-file-session += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-formatter-file-session += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-formatter-session += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-formatter-session += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-formatter-session += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-harness-env += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-harness-env += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-harness-env += "${PN}-module-tap-object"
-RDEPENDS_${PN}-module-tap-harness-env += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-tap-harness-env += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-harness += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-harness += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-harness += "${PN}-module-file-path"
-RDEPENDS_${PN}-module-tap-harness += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-tap-harness += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-tap-harness += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-harness += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-object += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-object += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-object += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-aggregator += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-aggregator += "${PN}-module-benchmark"
-RDEPENDS_${PN}-module-tap-parser-aggregator += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser-aggregator += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-aggregator += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-grammar += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-grammar += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser-grammar += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-grammar += "${PN}-module-tap-parser-resultfactory"
-RDEPENDS_${PN}-module-tap-parser-grammar += "${PN}-module-tap-parser-yamlish-reader"
-RDEPENDS_${PN}-module-tap-parser-grammar += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-iterator-array += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-iterator-array += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-iterator-array += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-iteratorfactory += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-iteratorfactory += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser-iteratorfactory += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-parser-iteratorfactory += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-tap-parser-iteratorfactory += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-iteratorfactory += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-iterator += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-iterator += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser-iterator += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-iterator += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-iterator-process += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-iterator-process += "${PN}-module-config"
-RDEPENDS_${PN}-module-tap-parser-iterator-process += "${PN}-module-io-handle"
-RDEPENDS_${PN}-module-tap-parser-iterator-process += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-iterator-process += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-iterator-stream += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-iterator-stream += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-iterator-stream += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-multiplexer += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-multiplexer += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-parser-multiplexer += "${PN}-module-io-select"
-RDEPENDS_${PN}-module-tap-parser-multiplexer += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-multiplexer += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-grammar"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-iterator"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-iteratorfactory"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-result"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-resultfactory"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-source"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-sourcehandler-executable"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-sourcehandler-file"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-sourcehandler-handle"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-sourcehandler-perl"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-tap-parser-sourcehandler-rawtap"
-RDEPENDS_${PN}-module-tap-parser += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result-bailout += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result-bailout += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result-bailout += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result-comment += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result-comment += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result-comment += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-tap-parser-result-bailout"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-tap-parser-result-comment"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-tap-parser-result-plan"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-tap-parser-result-pragma"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-tap-parser-result-test"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-tap-parser-result-unknown"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-tap-parser-result-version"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-tap-parser-result-yaml"
-RDEPENDS_${PN}-module-tap-parser-resultfactory += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result-plan += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result-plan += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result-plan += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result-pragma += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result-pragma += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result-pragma += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result-test += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result-test += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result-test += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result-unknown += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result-unknown += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result-unknown += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result-version += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result-version += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result-version += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-result-yaml += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-result-yaml += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-result-yaml += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-scheduler-job += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser-scheduler-job += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-scheduler-job += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-scheduler += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser-scheduler += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-scheduler += "${PN}-module-tap-parser-scheduler-job"
-RDEPENDS_${PN}-module-tap-parser-scheduler += "${PN}-module-tap-parser-scheduler-spinner"
-RDEPENDS_${PN}-module-tap-parser-scheduler += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-scheduler-spinner += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tap-parser-scheduler-spinner += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-scheduler-spinner += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-executable += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-executable += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-executable += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-executable += "${PN}-module-tap-parser-iteratorfactory"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-executable += "${PN}-module-tap-parser-iterator-process"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-executable += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-file += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-file += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-file += "${PN}-module-tap-parser-iteratorfactory"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-file += "${PN}-module-tap-parser-iterator-stream"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-file += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-handle += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-handle += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-handle += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-handle += "${PN}-module-tap-parser-iteratorfactory"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-handle += "${PN}-module-tap-parser-iterator-stream"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-handle += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler += "${PN}-module-tap-parser-iterator"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-perl += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-perl += "${PN}-module-config"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-perl += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-perl += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-perl += "${PN}-module-tap-parser-iteratorfactory"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-perl += "${PN}-module-tap-parser-iterator-process"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-perl += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-perl += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-rawtap += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-rawtap += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-rawtap += "${PN}-module-tap-parser-iterator-array"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-rawtap += "${PN}-module-tap-parser-iteratorfactory"
-RDEPENDS_${PN}-module-tap-parser-sourcehandler-rawtap += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-source += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-source += "${PN}-module-constant"
-RDEPENDS_${PN}-module-tap-parser-source += "${PN}-module-file-basename"
-RDEPENDS_${PN}-module-tap-parser-source += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-source += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-yamlish-reader += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-yamlish-reader += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-yamlish-reader += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-tap-parser-yamlish-writer += "${PN}-module-base"
-RDEPENDS_${PN}-module-tap-parser-yamlish-writer += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tap-parser-yamlish-writer += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-term-ansicolor += "${PN}-module-carp"
-RDEPENDS_${PN}-module-term-ansicolor += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-term-ansicolor += "${PN}-module-strict"
-RDEPENDS_${PN}-module-term-ansicolor += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-term-cap += "${PN}-module-carp"
-RDEPENDS_${PN}-module-term-cap += "${PN}-module-strict"
-RDEPENDS_${PN}-module-term-cap += "${PN}-module-vars"
-RDEPENDS_${PN}-module-term-complete += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-term-complete += "${PN}-module-strict"
-RDEPENDS_${PN}-module-term-readline += "${PN}-module-strict"
-RDEPENDS_${PN}-module-term-readline += "${PN}-module-term-cap"
-RDEPENDS_${PN}-module-test-builder-module += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-test-builder-module += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-builder-module += "${PN}-module-test-builder"
-RDEPENDS_${PN}-module-test-builder += "${PN}-module-config"
-RDEPENDS_${PN}-module-test-builder += "${PN}-module-perlio"
-RDEPENDS_${PN}-module-test-builder += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-builder += "${PN}-module-threads-shared"
-RDEPENDS_${PN}-module-test-builder += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-test-builder-tester-color += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-builder-tester-color += "${PN}-module-test-builder-tester"
-RDEPENDS_${PN}-module-test-builder-tester += "${PN}-module-carp"
-RDEPENDS_${PN}-module-test-builder-tester += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-test-builder-tester += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-builder-tester += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-test-builder-tester += "${PN}-module-test-builder"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-base"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-config"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-constant"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-tap-harness"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-tap-parser-aggregator"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-tap-parser-source"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-tap-parser-sourcehandler-perl"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-text-parsewords"
-RDEPENDS_${PN}-module-test-harness += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-test-more += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-test-more += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-more += "${PN}-module-test-builder-module"
-RDEPENDS_${PN}-module-test-more += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-test += "${PN}-module-carp"
-RDEPENDS_${PN}-module-test += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-test += "${PN}-module-file-temp"
-RDEPENDS_${PN}-module-test += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test += "${PN}-module-vars"
-RDEPENDS_${PN}-module-test-simple += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-simple += "${PN}-module-test-builder-module"
-RDEPENDS_${PN}-module-test-tester-capture += "${PN}-module-config"
-RDEPENDS_${PN}-module-test-tester-capture += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-tester-capture += "${PN}-module-test-builder"
-RDEPENDS_${PN}-module-test-tester-capture += "${PN}-module-threads-shared"
-RDEPENDS_${PN}-module-test-tester-capture += "${PN}-module-vars"
-RDEPENDS_${PN}-module-test-tester-capturerunner += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-test-tester-capturerunner += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-tester-capturerunner += "${PN}-module-test-tester-capture"
-RDEPENDS_${PN}-module-test-tester-delegate += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-tester-delegate += "${PN}-module-vars"
-RDEPENDS_${PN}-module-test-tester-delegate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-test-tester += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-test-tester += "${PN}-module-strict"
-RDEPENDS_${PN}-module-test-tester += "${PN}-module-test-builder"
-RDEPENDS_${PN}-module-test-tester += "${PN}-module-test-tester-capturerunner"
-RDEPENDS_${PN}-module-test-tester += "${PN}-module-test-tester-delegate"
-RDEPENDS_${PN}-module-test-tester += "${PN}-module-vars"
-RDEPENDS_${PN}-module-text-abbrev += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-text-balanced += "${PN}-module-carp"
-RDEPENDS_${PN}-module-text-balanced += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-text-balanced += "${PN}-module-overload"
-RDEPENDS_${PN}-module-text-balanced += "${PN}-module-selfloader"
-RDEPENDS_${PN}-module-text-balanced += "${PN}-module-strict"
-RDEPENDS_${PN}-module-text-balanced += "${PN}-module-vars"
-RDEPENDS_${PN}-module-text-parsewords += "${PN}-module-carp"
-RDEPENDS_${PN}-module-text-parsewords += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-text-parsewords += "${PN}-module-strict"
-RDEPENDS_${PN}-module-text-tabs += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-text-tabs += "${PN}-module-strict"
-RDEPENDS_${PN}-module-text-tabs += "${PN}-module-vars"
-RDEPENDS_${PN}-module-text-wrap += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-text-wrap += "${PN}-module-re"
-RDEPENDS_${PN}-module-text-wrap += "${PN}-module-strict"
-RDEPENDS_${PN}-module-text-wrap += "${PN}-module-text-tabs"
-RDEPENDS_${PN}-module-text-wrap += "${PN}-module-vars"
-RDEPENDS_${PN}-module-text-wrap += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-thread += "${PN}-module-config"
-RDEPENDS_${PN}-module-thread += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-thread += "${PN}-module-strict"
-RDEPENDS_${PN}-module-thread += "${PN}-module-threads"
-RDEPENDS_${PN}-module-thread += "${PN}-module-threads-shared"
-RDEPENDS_${PN}-module-thread += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-thread-queue += "${PN}-module-carp"
-RDEPENDS_${PN}-module-thread-queue += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-thread-queue += "${PN}-module-strict"
-RDEPENDS_${PN}-module-thread-queue += "${PN}-module-threads-shared"
-RDEPENDS_${PN}-module-thread-queue += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-thread-semaphore += "${PN}-module-carp"
-RDEPENDS_${PN}-module-thread-semaphore += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-thread-semaphore += "${PN}-module-strict"
-RDEPENDS_${PN}-module-thread-semaphore += "${PN}-module-threads-shared"
-RDEPENDS_${PN}-module-thread-semaphore += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-threads += "${PN}-module-carp"
-RDEPENDS_${PN}-module-threads += "${PN}-module-config"
-RDEPENDS_${PN}-module-threads += "${PN}-module-overload"
-RDEPENDS_${PN}-module-threads += "${PN}-module-strict"
-RDEPENDS_${PN}-module-threads += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-threads += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-threads-shared += "${PN}-module-carp"
-RDEPENDS_${PN}-module-threads-shared += "${PN}-module-scalar-util"
-RDEPENDS_${PN}-module-threads-shared += "${PN}-module-strict"
-RDEPENDS_${PN}-module-threads-shared += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-threads-shared += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-tie-array += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tie-array += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tie-array += "${PN}-module-vars"
-RDEPENDS_${PN}-module-tie-file += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tie-file += "${PN}-module-fcntl"
-RDEPENDS_${PN}-module-tie-file += "${PN}-module-posix"
-RDEPENDS_${PN}-module-tie-file += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tie-file += "${PN}-module-symbol"
-RDEPENDS_${PN}-module-tie-handle += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tie-handle += "${PN}-module-tie-stdhandle"
-RDEPENDS_${PN}-module-tie-handle += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-tie-hash-namedcapture += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tie-hash-namedcapture += "${PN}-module-xsloader"
-RDEPENDS_${PN}-module-tie-hash += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tie-hash += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-tie-memoize += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tie-memoize += "${PN}-module-tie-hash"
-RDEPENDS_${PN}-module-tie-refhash += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tie-refhash += "${PN}-module-config"
-RDEPENDS_${PN}-module-tie-refhash += "${PN}-module-overload"
-RDEPENDS_${PN}-module-tie-refhash += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tie-refhash += "${PN}-module-tie-hash"
-RDEPENDS_${PN}-module-tie-refhash += "${PN}-module-vars"
-RDEPENDS_${PN}-module-tie-scalar += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tie-scalar += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-tie-stdhandle += "${PN}-module-strict"
-RDEPENDS_${PN}-module-tie-stdhandle += "${PN}-module-tie-handle"
-RDEPENDS_${PN}-module-tie-stdhandle += "${PN}-module-vars"
-RDEPENDS_${PN}-module-tie-substrhash += "${PN}-module-carp"
-RDEPENDS_${PN}-module-tie-substrhash += "${PN}-module-integer"
-RDEPENDS_${PN}-module-time-gmtime += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-time-gmtime += "${PN}-module-strict"
-RDEPENDS_${PN}-module-time-gmtime += "${PN}-module-time-tm"
-RDEPENDS_${PN}-module-time-gmtime += "${PN}-module-vars"
-RDEPENDS_${PN}-module-time-hires += "${PN}-module-carp"
-RDEPENDS_${PN}-module-time-hires += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-time-hires += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-time-hires += "${PN}-module-strict"
-RDEPENDS_${PN}-module-time-local += "${PN}-module-carp"
-RDEPENDS_${PN}-module-time-local += "${PN}-module-config"
-RDEPENDS_${PN}-module-time-local += "${PN}-module-constant"
-RDEPENDS_${PN}-module-time-local += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-time-local += "${PN}-module-strict"
-RDEPENDS_${PN}-module-time-local += "${PN}-module-vars"
-RDEPENDS_${PN}-module-time-localtime += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-time-localtime += "${PN}-module-strict"
-RDEPENDS_${PN}-module-time-localtime += "${PN}-module-time-tm"
-RDEPENDS_${PN}-module-time-localtime += "${PN}-module-vars"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-carp"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-constant"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-integer"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-overload"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-strict"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-time-local"
-RDEPENDS_${PN}-module-time-piece += "${PN}-module-time-seconds"
-RDEPENDS_${PN}-module-time-seconds += "${PN}-module-constant"
-RDEPENDS_${PN}-module-time-seconds += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-time-seconds += "${PN}-module-overload"
-RDEPENDS_${PN}-module-time-seconds += "${PN}-module-strict"
-RDEPENDS_${PN}-module-time-tm += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-time-tm += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-cjk-big5 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-cjk-big5 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-collate-cjk-gb2312 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-cjk-gb2312 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-collate-cjk-jisx0208 += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-cjk-jisx0208 += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-collate-cjk-korean += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-cjk-korean += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-collate-cjk-pinyin += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-cjk-pinyin += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-collate-cjk-stroke += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-cjk-stroke += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-collate-cjk-zhuyin += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-cjk-zhuyin += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-collate-locale += "${PN}-module-base"
-RDEPENDS_${PN}-module-unicode-collate-locale += "${PN}-module-carp"
-RDEPENDS_${PN}-module-unicode-collate-locale += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate-locale += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-collate += "${PN}-module-carp"
-RDEPENDS_${PN}-module-unicode-collate += "${PN}-module-constant"
-RDEPENDS_${PN}-module-unicode-collate += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-unicode-collate += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-unicode-collate += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-collate += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-normalize += "${PN}-module-carp"
-RDEPENDS_${PN}-module-unicode-normalize += "${PN}-module-dynaloader"
-RDEPENDS_${PN}-module-unicode-normalize += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-unicode-normalize += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-normalize += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-carp"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-charnames"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-feature"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-file-spec"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-if"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-integer"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-strict"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-unicode-normalize"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-unicore"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-utf8-heavy"
-RDEPENDS_${PN}-module-unicode-ucd += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-unicore += "${PN}-module-integer"
-RDEPENDS_${PN}-module-universal += "${PN}-module-carp"
-RDEPENDS_${PN}-module-user-grent += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-user-grent += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-user-grent += "${PN}-module-strict"
-RDEPENDS_${PN}-module-user-grent += "${PN}-module-vars"
-RDEPENDS_${PN}-module-user-pwent += "${PN}-module-carp"
-RDEPENDS_${PN}-module-user-pwent += "${PN}-module-class-struct"
-RDEPENDS_${PN}-module-user-pwent += "${PN}-module-config"
-RDEPENDS_${PN}-module-user-pwent += "${PN}-module-exporter"
-RDEPENDS_${PN}-module-user-pwent += "${PN}-module-strict"
-RDEPENDS_${PN}-module-user-pwent += "${PN}-module-vars"
-RDEPENDS_${PN}-module-user-pwent += "${PN}-module-warnings"
-RDEPENDS_${PN}-module-utf8 += "${PN}-module-carp"
-RDEPENDS_${PN}-module-utf8 += "${PN}-module-utf8-heavy"
-RDEPENDS_${PN}-module-version += "${PN}-module-strict"
-RDEPENDS_${PN}-module-version += "${PN}-module-vars"
-RDEPENDS_${PN}-module-version += "${PN}-module-version-regex"
-RDEPENDS_${PN}-module-version += "${PN}-module-warnings-register"
-RDEPENDS_${PN}-module-version-regex += "${PN}-module-strict"
-RDEPENDS_${PN}-module-version-regex += "${PN}-module-vars"
-RDEPENDS_${PN}-module-xsloader += "${PN}-module-carp"
-RDEPENDS_${PN}-module-xsloader += "${PN}-module-dynaloader"
diff --git a/poky/meta/recipes-devtools/perl/perl.inc b/poky/meta/recipes-devtools/perl/perl.inc
deleted file mode 100644
index 3313a9436..000000000
--- a/poky/meta/recipes-devtools/perl/perl.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Perl scripting language"
-HOMEPAGE = "http://www.perl.org/"
-SECTION = "devel"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \
- file://Artistic;md5=2e6fd2475335af892494fe1f7327baf3"
-
-SRC_URI = "http://www.cpan.org/src/5.0/${BP}.tar.xz"
-
-inherit upstream-version-is-even
diff --git a/poky/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch b/poky/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch
deleted file mode 100644
index 14a05d291..000000000
--- a/poky/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Some distributions (like opensuse421) supported by the project
-comes with older gcc releases, -fstack-protector=strong is supported
-by GCC>=4.9.
-
-This causes a build failure when install perl-native from a sstate that
-comes from a machine supporting -fstack-protector=strong [1].
-
-So disable usage of this flag in perl-native builds, this patch could
-be removed when all supported distros comes with GCC>=4.9.
-
-[YOCTO #10338]
-
-Upstream-Status: Inappropriate [configuration]
-
-[1] http://errors.yoctoproject.org/Errors/Details/109589/
-
-Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
----
- Configure | 54 ------------------------------------------------------
- 1 file changed, 54 deletions(-)
-
-diff --git a/Configure b/Configure
-index efbdcfd..d5bd98c 100755
---- a/Configure
-+++ b/Configure
-@@ -5468,30 +5468,6 @@ default|recommended)
- eval $checkccflag
- ;;
- esac
--
-- # on x86_64 (at least) we require an extra library (libssp) in the
-- # link command line. This library is not named, so I infer that it is
-- # an implementation detail that may change. Hence the safest approach
-- # is to add the flag to the flags passed to the compiler at link time,
-- # as that way the compiler can do the right implementation dependant
-- # thing. (NWC)
-- case "$osname" in
-- amigaos) ;; # -fstack-protector builds but doesn't work
-- *) case "$gccversion" in
-- ?*) set stack-protector-strong -fstack-protector-strong
-- eval $checkccflag
-- case "$dflt" in
-- *-fstack-protector-strong*) ;; # It got added.
-- *) # Try the plain/older -fstack-protector.
-- set stack-protector -fstack-protector
-- eval $checkccflag
-- ;;
-- esac
-- ;;
-- esac
-- ;;
-- esac
-- ;;
- esac
-
- case "$mips_type" in
-@@ -5634,21 +5610,6 @@ case "$ldflags" in
- ;;
- *) dflt="$ldflags";;
- esac
--# See note above about -fstack-protector
--case "$ccflags" in
--*-fstack-protector-strong*)
-- case "$dflt" in
-- *-fstack-protector-strong*) ;; # Don't add it again
-- *) dflt="$dflt -fstack-protector-strong" ;;
-- esac
-- ;;
--*-fstack-protector*)
-- case "$dflt" in
-- *-fstack-protector*) ;; # Don't add it again
-- *) dflt="$dflt -fstack-protector" ;;
-- esac
-- ;;
--esac
-
- : Try to guess additional flags to pick up local libraries.
- for thislibdir in $libpth; do
-@@ -8571,21 +8532,6 @@ EOM
- ''|' ') dflt='none' ;;
- esac
-
-- case "$ldflags" in
-- *-fstack-protector-strong*)
-- case "$dflt" in
-- *-fstack-protector-strong*) ;; # Don't add it again
-- *) dflt="$dflt -fstack-protector-strong" ;;
-- esac
-- ;;
-- *-fstack-protector*)
-- case "$dflt" in
-- *-fstack-protector*) ;; # Don't add it again
-- *) dflt="$dflt -fstack-protector" ;;
-- esac
-- ;;
-- esac
--
- rp="Any special flags to pass to $ld to create a dynamically loaded library?"
- . ./myread
- case "$ans" in
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/perl/perl/0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch b/poky/meta/recipes-devtools/perl/perl/0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch
deleted file mode 100644
index a43fbba0b..000000000
--- a/poky/meta/recipes-devtools/perl/perl/0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 40702abf3156fa92ef70ee5d445fe52dd6cfbc7d Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 20 Sep 2018 18:48:48 +0800
-Subject: [PATCH] ExtUtils/MM_Unix.pm: fix race issues
-
-Fixed a race issue when compile libhtml-parser-perl and others who use MakeMaker:
-[snip]
-chmod 755 blib/arch/auto/HTML/Parser/Parser.so
-chmod 644 "Parser.bs"
-[snip]
-
-The rule INST_DYNAMIC removes '.bs' file which are generated by BOOTSTRAP, but
-the have no dependencies, so there is a race issue:
-
-BOOTSTRAP:
- touch foo.bs
- chmod 755 foo.bs
-
-INST_DYNAMIC:
- rm -fr foo.bs
-
-The error would happen when INST_DYNAMIC removes foo.bs after BOOTSTRAP touched
-it but before chmod on it.
-
-Upstream-Status: Backport [https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/44e95e717372abe2b0a6ee55de4b686760b65360]
-
-Note, This is not a real backport, upstream has totally refactored it in one
-patch, please see the link above, it's not a good idea to backport such a big
-patch, I just referred it to fix the problem in a simple way. I mark it as
-backport is because we can drop the patch after upgrade perl to 5.26 or 5.28.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-index 95d9761..9cabe2d 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -933,7 +933,7 @@ OTHERLDFLAGS = '.$ld_opt.$otherldflags.'
- INST_DYNAMIC_DEP = '.$inst_dynamic_dep.'
- INST_DYNAMIC_FIX = '.$ld_fix.'
-
--$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
-+$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) $(BOOTSTRAP)
- ');
- if ($armaybe ne ':'){
- $ldfrom = 'tmp$(LIB_EXT)';
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/perl/perl/0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch b/poky/meta/recipes-devtools/perl/perl/0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch
deleted file mode 100644
index c5db1b706..000000000
--- a/poky/meta/recipes-devtools/perl/perl/0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From ba6733216202523a95b0b7ee2e534b8e30b6d7df Mon Sep 17 00:00:00 2001
-From: Dominic Hargreaves <dom@earth.li>
-Date: Sat, 14 Oct 2017 16:27:53 +0200
-Subject: [PATCH] Skip various tests if PERL_BUILD_PACKAGING is set
-
-These are tests which tend not to be useful for downstream packagers
-
-t/porting/customized.t change originally from Todd Rinaldo
-
-Upstream-Status: Backport[https://perl5.git.perl.org/perl.git/ba6733216202523a95b0b7ee2e534b8e30b6d7df]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- INSTALL | 3 ++-
- MANIFEST | 1 +
- PACKAGING | 30 ++++++++++++++++++++++++++++++
- regen/lib_cleanup.pl | 5 +++++
- t/porting/customized.t | 1 +
- t/test.pl | 3 +++
- 6 files changed, 42 insertions(+), 1 deletion(-)
- create mode 100644 PACKAGING
-
-diff --git a/INSTALL b/INSTALL
-index 636f4bd52f..1285fc69a2 100644
---- a/INSTALL
-+++ b/INSTALL
-@@ -2714,4 +2714,5 @@ This document is part of the Perl package and may be distributed under
- the same terms as perl itself, with the following additional request:
- If you are distributing a modified version of perl (perhaps as part of
- a larger package) please B<do> modify these installation instructions
--and the contact information to match your distribution.
-+and the contact information to match your distribution. Additional
-+information for packagers is in F<PACKAGING>.
-diff --git a/MANIFEST b/MANIFEST
-index b3207030a9..32de824ca1 100644
---- a/MANIFEST
-+++ b/MANIFEST
-@@ -4932,6 +4932,7 @@ os2/perlrexx.c Support perl interpreter embedded in REXX
- os2/perlrexx.cmd Test perl interpreter embedded in REXX
- overload.h generated overload enum (public)
- overload.inc generated overload name table (implementation)
-+PACKAGING notes and best practice for packaging perl 5
- packsizetables.inc The generated packprops array used in pp_pack.c
- pad.c Scratchpad functions
- pad.h Scratchpad headers
-diff --git a/PACKAGING b/PACKAGING
-new file mode 100644
-index 0000000000..0c69b87ba6
---- /dev/null
-+++ b/PACKAGING
-@@ -0,0 +1,30 @@
-+If you read this file _as_is_, just ignore the funny characters you
-+see. It is written in the POD format (see pod/perlpod.pod) which is
-+specifically designed to be readable as is.
-+
-+=head1 NAME
-+
-+PACKAGING - notes and best practice for packaging perl 5
-+
-+=head1 SYNOPSIS
-+
-+This document is aimed at anyone who is producing their own version of
-+perl for distribution to other users. It is intended as a collection
-+of useful tips, advice and best practice, rather than being a complete
-+packaging manual. The starting point for installing perl remains
-+F<INSTALL>.
-+
-+=head1 Customizing test running
-+
-+A small number of porting tests (those in t/porting) are not well suited
-+to typical distribution packaging scenarios. For example, they assume
-+they are working in a git clone of the upstream Perl repository, or
-+enforce rules which are not relevant to downstream packagers. These can
-+be skipped by setting the environment variable PERL_BUILD_PACKAGING.
-+A complete list of tests which this applied to can be found by searching
-+the codebase for this string.
-+
-+An alternative strategy would be to skip all porting tests, but many of
-+them are useful if additional patches might be applied.
-+
-+=cut
-diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl
-index 5e40b405a4..6caf74a563 100644
---- a/regen/lib_cleanup.pl
-+++ b/regen/lib_cleanup.pl
-@@ -164,6 +164,11 @@ if ($TAP && !-d '.git' && !-f 'lib/.gitignore') {
- exit 0;
- }
-
-+if ($ENV{'PERL_BUILD_PACKAGING'}) {
-+ print "ok # skip explicitly disabled git tests by PERL_BUILD_PACKAGING\n";
-+ exit 0;
-+}
-+
- $fh = open_new('lib/.gitignore', '>',
- { by => $0,
- from => 'MANIFEST and parsing files in cpan/ dist/ and ext/'});
-diff --git a/t/porting/customized.t b/t/porting/customized.t
-index 45fcafb100..5c3739198c 100644
---- a/t/porting/customized.t
-+++ b/t/porting/customized.t
-@@ -13,6 +13,7 @@ BEGIN {
- @INC = qw(lib Porting t);
- require 'test.pl';
- skip_all("pre-computed SHA1 won't match under EBCDIC") if $::IS_EBCDIC;
-+ skip_all("This distro may have modified some files in cpan/. Skipping validation.") if $ENV{'PERL_BUILD_PACKAGING'};
- }
-
- use strict;
-diff --git a/t/test.pl b/t/test.pl
-index 79e6e25e95..1782dcf73c 100644
---- a/t/test.pl
-+++ b/t/test.pl
-@@ -212,6 +212,9 @@ sub find_git_or_skip {
- } else {
- $reason = 'not being run from a git checkout';
- }
-+ if ($ENV{'PERL_BUILD_PACKAGING'}) {
-+ $reason = 'PERL_BUILD_PACKAGING is set';
-+ }
- skip_all($reason) if $_[0] && $_[0] eq 'all';
- skip($reason, @_);
- }
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/perl/perl/CVE-2018-12015.patch b/poky/meta/recipes-devtools/perl/perl/CVE-2018-12015.patch
deleted file mode 100644
index a33deaff6..000000000
--- a/poky/meta/recipes-devtools/perl/perl/CVE-2018-12015.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From ae65651eab053fc6dc4590dbb863a268215c1fc5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Fri, 8 Jun 2018 11:45:40 +0100
-Subject: [PATCH] [PATCH] Remove existing files before overwriting them
-
-Archive should extract only the latest same-named entry.
-Extracted regular file should not be writtent into existing block
-device (or any other one).
-
-https://rt.cpan.org/Ticket/Display.html?id=125523
-
-CVE: CVE-2018-12015
-Upstream-Status: Backport [https://github.com/jib/archive-tar-new/commit/ae65651eab053fc6dc4590dbb863a268215c1fc5]
-
-Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
----
- lib/Archive/Tar.pm | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm
-index 6244369..a83975f 100644
---- a/cpan/Archive-Tar/lib/Archive/Tar.pm
-+++ b/cpan/Archive-Tar/lib/Archive/Tar.pm
-@@ -845,6 +845,20 @@ sub _extract_file {
- return;
- }
-
-+ ### If a file system already contains a block device with the same name as
-+ ### the being extracted regular file, we would write the file's content
-+ ### to the block device. So remove the existing file (block device) now.
-+ ### If an archive contains multiple same-named entries, the last one
-+ ### should replace the previous ones. So remove the old file now.
-+ ### If the old entry is a symlink to a file outside of the CWD, the new
-+ ### entry would create a file there. This is CVE-2018-12015
-+ ### <https://rt.cpan.org/Ticket/Display.html?id=125523>.
-+ if (-l $full || -e _) {
-+ if (!unlink $full) {
-+ $self->_error( qq[Could not remove old file '$full': $!] );
-+ return;
-+ }
-+ }
- if( length $entry->type && $entry->is_file ) {
- my $fh = IO::File->new;
- $fh->open( '>' . $full ) or (
---
-2.13.3
-
diff --git a/poky/meta/recipes-devtools/perl/perl/Configure-multilib.patch b/poky/meta/recipes-devtools/perl/perl/Configure-multilib.patch
deleted file mode 100644
index 9625b0b84..000000000
--- a/poky/meta/recipes-devtools/perl/perl/Configure-multilib.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status:Pending
-
-Index: perl-5.12.3/Configure
-===================================================================
---- perl-5.12.3.orig/Configure
-+++ perl-5.12.3/Configure
-@@ -1316,8 +1316,9 @@ loclibpth="/usr/local/lib /opt/local/lib
- loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
-
- : general looking path for locating libraries
--glibpth="/lib /usr/lib $xlibpth"
-+glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
- glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
-+test -f /usr/lib/*-linux-gnu/libc.so && glibpth="/usr/lib/*-linux-gnu $glibpth"
- test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
- test -f /shlib/libc.so && glibpth="/shlib $glibpth"
- test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
diff --git a/poky/meta/recipes-devtools/perl/perl/MM_Unix.pm.patch b/poky/meta/recipes-devtools/perl/perl/MM_Unix.pm.patch
deleted file mode 100644
index eb92ccb67..000000000
--- a/poky/meta/recipes-devtools/perl/perl/MM_Unix.pm.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream-Status:Pending
-
-The perl-native should be relocatable while re-use sstate-cache from
-another build, especially the original build was renamed/removed.
-
-To get the MakeMaker.pm works in this case, we need perl wrapper here
-instead of real perl binary.
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-===================================================================
---- perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.orig 2011-08-12 16:07:30.000000000 +0800
-+++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2011-08-12 16:08:56.000000000 +0800
-@@ -1019,6 +1019,9 @@
- }
-
- foreach my $name (@$names){
-+ # Getting MakeMaker.pm use perl wrapper instead of 'perl.real' directly
-+ $name =~ s/perl\.real/perl/ if ($name =~ /perl\.real/);
-+
- foreach my $dir (@$dirs){
- next unless defined $dir; # $self->{PERL_SRC} may be undefined
- my ($abs, $val);
diff --git a/poky/meta/recipes-devtools/perl/perl/Makefile.SH.patch b/poky/meta/recipes-devtools/perl/perl/Makefile.SH.patch
deleted file mode 100644
index e4c3426b7..000000000
--- a/poky/meta/recipes-devtools/perl/perl/Makefile.SH.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-From 4dd9f3f81d8c81c96ff1ea0890ea55685f28b7e9 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 1 Jul 2014 15:51:53 +0800
-Subject: [PATCH 28/49] perl, perl-native, perl-ptest: upgrade from 5.14.3 to
- 5.20.0
-
-Upstream-Status:Inappropriate [embedded specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- Makefile.SH | 147 ++++++++++++++++++++++++++++--------------------------------
- 1 file changed, 68 insertions(+), 79 deletions(-)
-
-Index: perl-5.24.4/Makefile.SH
-===================================================================
---- perl-5.24.4.orig/Makefile.SH
-+++ perl-5.24.4/Makefile.SH
-@@ -48,10 +48,10 @@ case "$useshrplib" in
- true)
- # Prefix all runs of 'miniperl' and 'perl' with
- # $ldlibpth so that ./perl finds *this* shared libperl.
-- case "$LD_LIBRARY_PATH" in
-- '') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;;
-- *) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;;
-- esac
-+ #case "$LD_LIBRARY_PATH" in
-+ #'') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;;
-+ #*) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;;
-+ #esac
-
- pldlflags="$cccdlflags"
- static_ldflags=''
-@@ -131,10 +131,11 @@ true)
- *)
- eval "ldlibpthval=\"\$$ldlibpthname\""
-
-- case "$ldlibpthval" in
-- '') ldlibpth="$ldlibpthname=` quote "$pwd" `" ;;
-- *) ldlibpth="$ldlibpthname=` quote "$pwd" `:` quote "$ldlibpthval" `" ;;
-- esac
-+# We compile in the library path in OE from cross-compile, so lets not do this
-+# case "$ldlibpthval" in
-+# '') ldlibpth="$ldlibpthname=` quote "$pwd" `" ;;
-+# *) ldlibpth="$ldlibpthname=` quote "$pwd" `:` quote "$ldlibpthval" `" ;;
-+# esac
-
- ;;
- esac
-@@ -150,18 +151,7 @@ true)
- # INSTALL file, under "Building a shared perl library".
- # If there is no pre-existing $libperl, we don't need
- # to do anything further.
-- if test -f $archlib/CORE/$libperl; then
-- rm -f preload
-- cat <<'EOT' > preload
--#! /bin/sh
--lib=$1
--shift
--test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
--exec "$@"
--EOT
-- chmod 755 preload
-- ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
-- fi
-+ echo linux libraries overwritten by cross-compile patches
- ;;
- os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
- ;;
-@@ -596,13 +586,23 @@ splintfiles = $(c1)
- @echo `$(CCCMDSRC)` -S $*.c
- @`$(CCCMDSRC)` -S $*.c
-
--all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT)
-- @echo " ";
-- @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
--
--$(MANIFEST_SRT): MANIFEST $(PERL_EXE)
-- @$(RUN_PERL) Porting/manisort -q || (echo "WARNING: re-sorting MANIFEST"; \
-- $(RUN_PERL) Porting/manisort -q -o MANIFEST; sh -c true)
-+#all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT)
-+# @echo " ";
-+# @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
-+
-+all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) miniperl $(unidatafiles)
-+
-+more: $(generated_pods) $(private) $(public)
-+
-+more2: $(dynamic_ext)
-+
-+more3: $(nonxs_ext)
-+
-+more4: extras.make $(MANIFEST_SRT)
-+
-+$(MANIFEST_SRT): MANIFEST
-+ @$(MINIPERL) Porting/manisort -q || (echo "WARNING: re-sorting MANIFEST"; \
-+ $(MINIPERL) Porting/manisort -q -o MANIFEST; sh -c true)
- @touch $(MANIFEST_SRT)
-
- .PHONY: all utilities
-@@ -611,7 +611,7 @@ $(MANIFEST_SRT): MANIFEST $(PERL_EXE)
- # by make_patchnum.pl.
- git_version.h: lib/Config_git.pl
-
--lib/Config_git.pl: $(MINIPERL_EXE) make_patchnum.pl
-+lib/Config_git.pl: make_patchnum.pl
- $(MINIPERL) make_patchnum.pl
-
- # make sure that we recompile perl.c if the git version changes
-@@ -624,7 +624,7 @@ perl$(OBJ_EXT): git_version.h
- # loading, we need to build perl first.
- case "$usedl$static_cwd" in
- defineundef)
-- util_deps='$(MINIPERL_EXE) $(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE'
-+ util_deps='$(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE'
- ;;
- definedefine)
- util_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
-@@ -634,7 +634,7 @@ definedefine)
- esac
-
- $spitshell >>$Makefile <<!GROK!THIS!
--utils/Makefile: \$(MINIPERL_EXE) \$(CONFIGPM) utils/Makefile.PL
-+utils/Makefile: \$(CONFIGPM) utils/Makefile.PL
- \$(MINIPERL) -Ilib utils/Makefile.PL
-
- utilities: utils/Makefile $util_deps
-@@ -743,7 +743,7 @@ ext.libs: $(static_ext)
- ;;
- *)
- $spitshell >>$Makefile <<'!NO!SUBS!'
--perlmain.c: $(MINIPERL_EXE) ext/ExtUtils-Miniperl/pm_to_blib
-+perlmain.c: ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm
- $(MINIPERL) -Ilib -MExtUtils::Miniperl -e 'writemain(\"perlmain.c", @ARGV)' DynaLoader $(static_ext)
-
- # The file ext.libs is a list of libraries that must be linked in
-@@ -806,7 +806,7 @@ PERLEXPORT = perl.exp
- ;;
- esac
- $spitshell >>$Makefile <<'!NO!SUBS!'
--perl.exp: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH)
-+perl.exp: makedef.pl $(CONFIGPM) $(SYM) $(SYMH)
- ./$(MINIPERLEXP) makedef.pl --sort-fold PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" > perl.exp
-
- !NO!SUBS!
-@@ -815,7 +815,7 @@ os2)
- $spitshell >>$Makefile <<'!NO!SUBS!'
- MINIPERLEXP = miniperl
-
--perl5.def: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map
-+perl5.def: makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map
- ./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def
-
- !NO!SUBS!
-@@ -878,7 +878,7 @@ $(LIBPERL): $& $(perllib_objs) $(DYNALOA
- true)
- $spitshell >>$Makefile <<'!NO!SUBS!'
- rm -f $@
-- $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs)
-+ $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) -Wl,-soname,libperl.so.5
- !NO!SUBS!
- case "$osname" in
- aix)
-@@ -936,15 +936,19 @@ lib/buildcustomize.pl: $& $(miniperl_obj
- $spitshell >>$Makefile <<'!NO!SUBS!'
- lib/buildcustomize.pl: $& $(miniperl_objs)
- $(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) $(miniperl_objs) $(libs)
-- $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+ #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
- $(MINIPERL) -f write_buildcustomize.pl
- !NO!SUBS!
- ;;
- next4*)
- $spitshell >>$Makefile <<'!NO!SUBS!'
- lib/buildcustomize.pl: $& $(miniperl_objs) write ldcustomize.pl
-- $(CC) -o $(MINIPERL_EXE) $(miniperl_objs libs)
-- $(LDLIBPTH) ./miniperl$(HOST _EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
-+ $(CC) -o $(MINIPERL_EXE) $(miniperl_objs libs)
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+ #$(LDLIBPTH) ./miniperl$(HOST _EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
- $(MINIPERL) -f write_buildcustomize.pl
- !NO!SUBS!
- ;;
-@@ -966,7 +970,9 @@ lib/buildcustomize.pl: $& $(miniperl_obj
- -@rm -f miniperl.xok
- $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
- $(miniperl_objs) $(libs)
-- $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+ #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
- $(MINIPERL) -f write_buildcustomize.pl
- !NO!SUBS!
- ;;
-@@ -977,7 +983,9 @@ lib/buildcustomize.pl: \$& \$(miniperl_o
- -@rm -f miniperl.xok
- -@rm \$(MINIPERL_EXE)
- \$(LNS) \$(HOST_PERL) \$(MINIPERL_EXE)
-- \$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+ #\$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
- \$(MINIPERL) -f write_buildcustomize.pl 'osname' "$osname"
- !GROK!THIS!
- else
-@@ -986,7 +994,9 @@ lib/buildcustomize.pl: $& $(miniperl_obj
- -@rm -f miniperl.xok
- $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \
- $(miniperl_objs) $(libs)
-- $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+ #$(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
- $(MINIPERL) -f write_buildcustomize.pl
- !NO!SUBS!
- fi
-@@ -1036,7 +1046,7 @@ case "${osname}" in
- catamount)
- $spitshell >>$Makefile <<!GROK!THIS!
- .PHONY: makeppport
--makeppport: \$(MINIPERL_EXE) \$(CONFIGPM)
-+makeppport: \$(CONFIGPM)
- -@for f in Makefile.PL PPPort_pm.PL PPPort_xs.PL ppport_h.PL; do \
- (cd ext/Devel-PPPort && `pwd`/run.sh ../../$(MINIPERL_EXE) -I../../lib \$\$f); \
- done
-@@ -1046,7 +1056,7 @@ makeppport: \$(MINIPERL_EXE) \$(CONFIGPM
- *)
- $spitshell >>$Makefile <<'!NO!SUBS!'
- .PHONY: makeppport
--makeppport: $(MINIPERL_EXE) $(CONFIGPM) $(nonxs_ext)
-+makeppport: $(CONFIGPM) $(nonxs_ext)
- $(MINIPERL) mkppport
-
- !NO!SUBS!
-@@ -1056,16 +1066,16 @@ esac
- $spitshell >>$Makefile <<'!NO!SUBS!'
-
- .PHONY: preplibrary
--preplibrary: $(MINIPERL_EXE) $(CONFIGPM) $(PREPLIBRARY_LIBPERL)
-+preplibrary: $(CONFIGPM) $(PREPLIBRARY_LIBPERL)
-
- $(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD)
-
--$(CONFIGPOD): config.sh $(MINIPERL_EXE) configpm Porting/Glossary lib/Config_git.pl
-+$(CONFIGPOD): config.sh configpm Porting/Glossary lib/Config_git.pl
- $(MINIPERL) configpm
-
- unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data
-
--uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext)
-+uni.data: $(CONFIGPM) lib/unicore/mktables $(nonxs_ext)
- $(MINIPERL) lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p
- # Commented out so always runs, mktables looks at far more files than we
- # can in this makefile to decide if needs to run or not
-@@ -1074,12 +1084,12 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) li
- # $(PERL_EXE) and ext because pod_lib.pl needs Digest::MD5
- # But also this ensures that all extensions are built before we try to scan
- # them, which picks up Devel::PPPort's documentation.
--pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc
-- $(RUN_PERL) -f pod/buildtoc -q
-+pod/perltoc.pod: $(perltoc_pod_prereqs) $(ext) pod/buildtoc
-+ $(MINIPERL) -f pod/buildtoc -q
-
- pod/perlapi.pod: pod/perlintern.pod
-
--pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
-+pod/perlintern.pod: autodoc.pl embed.fnc
- $(MINIPERL) autodoc.pl
-
- pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
-@@ -1089,7 +1099,7 @@ pod/perl5244delta.pod: pod/perldelta.pod
- $(RMS) pod/perl5244delta.pod
- $(LNS) perldelta.pod pod/perl5244delta.pod
-
--extra.pods: $(MINIPERL_EXE)
-+extra.pods:
- -@test ! -f extra.pods || rm -f `cat extra.pods`
- -@rm -f extra.pods
- -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
-@@ -1133,8 +1143,7 @@ EOT
- $spitshell >>$Makefile <<EOT
-
- install_$name install-$name: \$(INSTALL_DEPENDENCE) installperl all installman
-- \$(RUN_PERL) installperl --destdir=\$(DESTDIR) $flags \$(INSTALLFLAGS) \$(STRIPFLAGS)
-- \$(RUN_PERL) installman --destdir=\$(DESTDIR) $flags
-+ ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=\$(DESTDIR) $flags \$(INSTALLFLAGS) \$(STRIPFLAGS)
- EOT
- fi
-
-@@ -1144,11 +1153,7 @@ done
- if test "X$hostperl" != X; then
- $spitshell >>$Makefile <<'!NO!SUBS!'
- install.perl: $(INSTALL_DEPENDENCE) installperl
-- $(HOST_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-- -@test ! -s extras.lst || $(MAKE) extras.install
--
--install.man: all installman
-- $(HOST_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
-+ ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-
- # XXX Experimental. Hardwired values, but useful for testing.
- # Eventually Configure could ask for some of these values.
-@@ -1166,24 +1171,8 @@ install.html: all installhtml
- else
- $spitshell >>$Makefile <<'!NO!SUBS!'
- install.perl: $(INSTALL_DEPENDENCE) installperl
-- $(RUN_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-- -@test ! -s extras.lst || PATH="`pwd`:\${PATH}" PERL5LIB="`pwd`/lib" \$(RUN_PERL) -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst`
--
--install.man: all installman
-- $(RUN_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
-+ ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-
--# XXX Experimental. Hardwired values, but useful for testing.
--# Eventually Configure could ask for some of these values.
--install.html: all installhtml
-- -@test -f README.vms && cd vms && $(LNS) ../README.vms README_vms.pod && cd ..
-- $(RUN_PERL) installhtml \
-- --podroot=. --podpath=. --recurse \
-- --htmldir=$(privlib)/html \
-- --htmlroot=$(privlib)/html \
-- --splithead=pod/perlipc \
-- --splititem=pod/perlfunc \
-- --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \
-- --verbose
- !NO!SUBS!
- fi
-
-@@ -1275,13 +1264,13 @@ manicheck: FORCE
- #
- # DynaLoader may be needed for extensions that use Makefile.PL.
-
--$(DYNALOADER): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext)
-+$(DYNALOADER): lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext)
- $(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
-
--d_dummy $(dynamic_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) $(LIBPERL)
-+d_dummy $(dynamic_ext): lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) $(LIBPERL)
- $(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
-
--s_dummy $(static_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE
-+s_dummy $(static_ext): lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE
- $(MINIPERL) make_ext.pl $@ $(MAKE_EXT_ARGS) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
-
- n_dummy $(nonxs_ext): $(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE
-@@ -1479,14 +1468,14 @@ test_prep_pre: preplibrary utilities $(n
-
- case "$targethost" in
- '') $spitshell >>$Makefile <<'!NO!SUBS!'
--test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \
-+test_prep test-prep: test_prep_pre $(unidatafiles) $(PERL_EXE) \
- $(dynamic_ext) $(TEST_PERL_DLL) runtests $(generated_pods)
- cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
-
- !NO!SUBS!
- ;;
- *) $spitshell >>$Makefile <<!GROK!THIS!
--test_prep test-prep: test_prep_pre \$(MINIPERL_EXE) \$(unidatafiles) \$(PERL_EXE) \
-+test_prep test-prep: test_prep_pre \$(unidatafiles) \$(PERL_EXE) \
- \$(dynamic_ext) \$(TEST_PERL_DLL) runtests \
- \$(generated_pods)
- $to libperl.*
-@@ -1539,7 +1528,7 @@ test_prep test-prep: test_prep_pre \$(MI
- esac
-
- $spitshell >>$Makefile <<'!NO!SUBS!'
--test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL)
-+test_prep_reonly: $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL)
- $(MINIPERL) make_ext.pl $(dynamic_ext_re) MAKE="$(MAKE)" LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
- cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
- !NO!SUBS!
-@@ -1600,7 +1589,7 @@ minitest_prep:
-
- MINITEST_TESTS = base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t
-
--minitest: $(MINIPERL_EXE) minitest_prep
-+minitest: minitest_prep
- - cd t && $(RUN_PERL) TEST $(MINITEST_TESTS) <$(devtty)
-
- minitest-notty minitest_notty: $(MINIPERL_EXE) minitest_prep
diff --git a/poky/meta/recipes-devtools/perl/perl/Makefile.patch b/poky/meta/recipes-devtools/perl/perl/Makefile.patch
deleted file mode 100644
index 858e2e10f..000000000
--- a/poky/meta/recipes-devtools/perl/perl/Makefile.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-Index: perl-5.14.2/Cross/Makefile
-===================================================================
---- perl-5.14.2.orig/Cross/Makefile
-+++ perl-5.14.2/Cross/Makefile
-@@ -1,6 +1,7 @@
- ## Toplevel Makefile for cross-compilation of perl
-
--export TOPDIR=${shell pwd}
-+override TOPDIR=${shell pwd}
-+export TOPDIR
- include $(TOPDIR)/config
- export CFLAGS
- export SYS=$(ARCH)-$(OS)
-@@ -10,7 +11,7 @@ export OPTIMIZATION = -O2
-
- export CC = $(CROSS)gcc
- export CXX = $(CROSS)g++
--export LD = $(CROSS)ld
-+export LD = $(CC)
- export STRIP = $(CROSS)strip
- export AR = $(CROSS)ar
- export RANLIB = $(CROSS)ranlib
-@@ -32,17 +33,6 @@ CFLAGS+=$(FULL_OPTIMIZATION)
- all:
- @echo Please read the README file before doing anything else.
-
--gen_patch:
-- diff -Bbur ../Makefile.SH Makefile.SH > Makefile.SH.patch
-- diff -Bbur ../installperl installperl > installperl.patch
--
--patch:
-- cd .. ; if [ ! -e ./CROSS_PATCHED ] ; then \
-- patch -p1 < Cross/Makefile.SH.patch; \
-- patch -p1 < Cross/installperl.patch ; mv installperl installperl-patched; \
-- sed -e 's/XXSTRIPXX/$(SYS)/' installperl-patched > installperl; \
-- touch CROSS_PATCHED ; fi
--
- perl:
- @echo Perl cross-build directory is $(TOPDIR)
- @echo Target arch is $(SYS)
-@@ -52,11 +42,11 @@ perl:
- $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
- cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
- cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm lib/Config_heavy.pl fake_config_library
-- cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
-- cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
-- cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
-+ cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
-+ cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
-+ cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
- cd $(TOPDIR)/.. ; rm -rf install_me_here
-- cd $(TOPDIR)/.. ; make install-strip
-+# cd $(TOPDIR)/.. ; make install-strip
- cd $(TOPDIR)/.. ; sh -x Cross/warp
-
-
diff --git a/poky/meta/recipes-devtools/perl/perl/config.sh b/poky/meta/recipes-devtools/perl/perl/config.sh
deleted file mode 100644
index b1b5834c7..000000000
--- a/poky/meta/recipes-devtools/perl/perl/config.sh
+++ /dev/null
@@ -1,1249 +0,0 @@
-#!/bin/sh
-#
-# This file was produced by running the Configure script. It holds all the
-# definitions figured out by Configure. Should you modify one of these values,
-# do not forget to propagate your changes by running "Configure -der". You may
-# instead choose to run each of the .SH files by yourself, or "Configure -S".
-#
-
-# Package name : perl5
-# Source directory : .
-# Configuration time: Fri May 6 20:13:46 PDT 2016
-# Configured by : Open Embedded
-# Target system : linux qemux86-64 3.19.5-yocto-standard #1 smp preempt tue jun 16 00:28:17 pdt 2015 x86_64 gnulinux
-
-: Configure command line arguments.
-config_arg0='Configure'
-config_args='-des -Doptimize=-O2 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Open Embedded -Dinstallprefix=@EXECPREFIX@ -Dprefix=@EXECPREFIX@ -Dvendorprefix=@EXECPREFIX@ -Dsiteprefix=@EXECPREFIX@ -Dotherlibdirs=@LIBDIR@/perl/5.24.4 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Ud_dosuid -Dd_semctl_semun -Ui_db -Ui_ndbm -Ui_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=@USRBIN@/less -isr'
-config_argc=28
-config_arg1='-des'
-config_arg2='-Doptimize=-O2'
-config_arg3='-Dmyhostname=localhost'
-config_arg4='-Dperladmin=root@localhost'
-config_arg5='-Dcc=gcc'
-config_arg6='-Dcf_by=Open Embedded'
-config_arg7='-Dinstallprefix=@EXECPREFIX@'
-config_arg8='-Dprefix=@EXECPREFIX@'
-config_arg9='-Dvendorprefix=@EXECPREFIX@'
-config_arg10='-Dsiteprefix=@EXECPREFIX@'
-config_arg11='-Dotherlibdirs=@LIBDIR@/perl/5.24.4'
-config_arg12='-Duseshrplib'
-config_arg13='-Dusethreads'
-config_arg14='-Duseithreads'
-config_arg15='-Duselargefiles'
-config_arg16='-Ud_dosuid'
-config_arg17='-Dd_semctl_semun'
-config_arg18='-Ui_db'
-config_arg19='-Ui_ndbm'
-config_arg20='-Ui_gdbm'
-config_arg21='-Di_shadow'
-config_arg22='-Di_syslog'
-config_arg23='-Dman3ext=3pm'
-config_arg24='-Duseperlio'
-config_arg25='-Dinstallusrbinperl'
-config_arg26='-Ubincompat5005'
-config_arg27='-Uversiononly'
-config_arg28='-Dpager=@USRBIN@/less -isr'
-
-Author=''
-Date=''
-Header=''
-Id=''
-Locker=''
-Log=''
-RCSfile=''
-Revision=''
-Source=''
-State=''
-_a='.a'
-_exe=''
-_o='.o'
-afs='false'
-afsroot='/afs'
-alignbytes='8'
-ansi2knr=''
-aphostname=''
-api_revision='5'
-api_subversion='4'
-api_version='24'
-api_versionstring='5.24.4'
-ar='ar'
-archlib='@LIBDIR@/perl/5.24.4/@ARCH@-thread-multi'
-archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.24.4/@ARCH@-thread-multi'
-archlib_exp='@LIBDIR@/perl/5.24.4/@ARCH@-thread-multi'
-archname64=''
-archname='@ARCH@-thread-multi'
-archobjs=''
-asctime_r_proto='REENTRANT_PROTO_B_SB'
-awk='awk'
-baserev='5.0'
-bash=''
-bin='@USRBIN@'
-bin_ELF='define'
-binexp='@USRBIN@'
-bison='bison'
-byacc='byacc'
-c=''
-castflags='0'
-cat='cat'
-cc='gcc'
-cccdlflags='-fPIC'
-ccdlflags='-Wl,-E -Wl,-rpath,@LIBDIR@/perl/5.24.4/@ARCH@-thread-multi/CORE'
-ccflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
-ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
-ccname='gcc'
-ccsymbols=''
-ccversion=''
-cf_by='Open Embedded'
-cf_email='Open Embedded@localhost.localdomain'
-cf_time='Fri May 6 20:13:46 PDT 2016'
-charbits='8'
-charsize='1'
-chgrp=''
-chmod='chmod'
-chown=''
-clocktype='clock_t'
-comm='comm'
-compress=''
-contains='grep'
-cp='cp'
-cpio=''
-cpp='cpp'
-cpp_stuff='42'
-cppccsymbols=''
-cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe'
-cpplast='-'
-cppminus='-'
-cpprun='gcc -E'
-cppstdin='gcc -E'
-crypt_r_proto='REENTRANT_PROTO_B_CCS'
-cryptlib=''
-csh='csh'
-ctermid_r_proto='0'
-ctime_r_proto='REENTRANT_PROTO_B_SB'
-d_Gconvert='gcvt((x),(n),(b))'
-d_PRIEUldbl='define'
-d_PRIFUldbl='define'
-d_PRIGUldbl='define'
-d_PRIXU64='define'
-d_PRId64='define'
-d_PRIeldbl='define'
-d_PRIfldbl='define'
-d_PRIgldbl='define'
-d_PRIi64='define'
-d_PRIo64='define'
-d_PRIu64='define'
-d_PRIx64='define'
-d_SCNfldbl='define'
-d__fwalk='undef'
-d_access='define'
-d_accessx='undef'
-d_acosh='define'
-d_aintl='undef'
-d_alarm='define'
-d_archlib='define'
-d_asctime64='undef'
-d_asctime_r='define'
-d_asinh='define'
-d_atanh='define'
-d_atolf='undef'
-d_atoll='define'
-d_attribute_deprecated='define'
-d_attribute_format='define'
-d_attribute_malloc='define'
-d_attribute_nonnull='define'
-d_attribute_noreturn='define'
-d_attribute_pure='define'
-d_attribute_unused='define'
-d_attribute_warn_unused_result='define'
-d_backtrace='define'
-d_bcmp='define'
-d_bcopy='define'
-d_bsd='undef'
-d_bsdgetpgrp='undef'
-d_bsdsetpgrp='undef'
-d_builtin_choose_expr='define'
-d_builtin_expect='define'
-d_bzero='define'
-d_c99_variadic_macros='define'
-d_casti32='define'
-d_castneg='define'
-d_cbrt='define'
-d_charvspr='undef'
-d_chown='define'
-d_chroot='define'
-d_chsize='undef'
-d_class='undef'
-d_clearenv='define'
-d_closedir='define'
-d_cmsghdr_s='define'
-d_const='define'
-d_copysign='define'
-d_copysignl='define'
-d_cplusplus='undef'
-d_crypt='define'
-d_crypt_r='define'
-d_csh='undef'
-d_ctermid='define'
-d_ctermid_r='undef'
-d_ctime64='undef'
-d_ctime_r='define'
-d_cuserid='define'
-d_dbl_dig='define'
-d_dbminitproto='define'
-d_difftime64='undef'
-d_difftime='define'
-d_dir_dd_fd='undef'
-d_dirfd='define'
-d_dirnamlen='undef'
-d_dladdr='define'
-d_dlerror='define'
-d_dlopen='define'
-d_dlsymun='undef'
-d_dosuid='undef'
-d_drand48_r='define'
-d_drand48proto='define'
-d_dup2='define'
-d_eaccess='define'
-d_endgrent='define'
-d_endgrent_r='undef'
-d_endhent='define'
-d_endhostent_r='undef'
-d_endnent='define'
-d_endnetent_r='undef'
-d_endpent='define'
-d_endprotoent_r='undef'
-d_endpwent='define'
-d_endpwent_r='undef'
-d_endsent='define'
-d_endservent_r='undef'
-d_eofnblk='define'
-d_erf='define'
-d_erfc='define'
-d_eunice='undef'
-d_exp2='define'
-d_expm1='define'
-d_faststdio='undef'
-d_fchdir='define'
-d_fchmod='define'
-d_fchown='define'
-d_fcntl='define'
-d_fcntl_can_lock='define'
-d_fd_macros='define'
-d_fd_set='define'
-d_fdim='define'
-d_fds_bits='define'
-d_fegetround='define'
-d_fgetpos='define'
-d_finite='define'
-d_finitel='define'
-d_flexfnam='define'
-d_flock='define'
-d_flockproto='define'
-d_fma='define'
-d_fmax='define'
-d_fmin='define'
-d_fork='define'
-d_fp_class='undef'
-d_fp_classify='undef'
-d_fp_classl='undef'
-d_fpathconf='define'
-d_fpclass='undef'
-d_fpclassify='define'
-d_fpclassl='undef'
-d_fpgetround='undef'
-d_fpos64_t='undef'
-d_frexpl='define'
-d_fs_data_s='undef'
-d_fseeko='define'
-d_fsetpos='define'
-d_fstatfs='define'
-d_fstatvfs='define'
-d_fsync='define'
-d_ftello='define'
-d_ftime='undef'
-d_futimes='define'
-d_gdbm_ndbm_h_uses_prototypes='undef'
-d_gdbmndbm_h_uses_prototypes='define'
-d_getaddrinfo='define'
-d_getcwd='define'
-d_getespwnam='undef'
-d_getfsstat='undef'
-d_getgrent='define'
-d_getgrent_r='define'
-d_getgrgid_r='define'
-d_getgrnam_r='define'
-d_getgrps='define'
-d_gethbyaddr='define'
-d_gethbyname='define'
-d_gethent='define'
-d_gethname='define'
-d_gethostbyaddr_r='define'
-d_gethostbyname_r='define'
-d_gethostent_r='define'
-d_gethostprotos='define'
-d_getitimer='define'
-d_getlogin='define'
-d_getlogin_r='define'
-d_getmnt='undef'
-d_getmntent='define'
-d_getnameinfo='define'
-d_getnbyaddr='define'
-d_getnbyname='define'
-d_getnent='define'
-d_getnetbyaddr_r='define'
-d_getnetbyname_r='define'
-d_getnetent_r='define'
-d_getnetprotos='define'
-d_getpagsz='define'
-d_getpbyname='define'
-d_getpbynumber='define'
-d_getpent='define'
-d_getpgid='define'
-d_getpgrp2='undef'
-d_getpgrp='define'
-d_getppid='define'
-d_getprior='define'
-d_getprotobyname_r='define'
-d_getprotobynumber_r='define'
-d_getprotoent_r='define'
-d_getprotoprotos='define'
-d_getprpwnam='undef'
-d_getpwent='define'
-d_getpwent_r='define'
-d_getpwnam_r='define'
-d_getpwuid_r='define'
-d_getsbyname='define'
-d_getsbyport='define'
-d_getsent='define'
-d_getservbyname_r='define'
-d_getservbyport_r='define'
-d_getservent_r='define'
-d_getservprotos='define'
-d_getspnam='define'
-d_getspnam_r='define'
-d_gettimeod='define'
-d_gmtime64='undef'
-d_gmtime_r='define'
-d_gnulibc='define'
-d_grpasswd='define'
-d_hasmntopt='define'
-d_htonl='define'
-d_hypot='define'
-d_ilogb='define'
-d_ilogbl='define'
-d_inc_version_list='undef'
-d_index='undef'
-d_inetaton='define'
-d_inetntop='define'
-d_inetpton='define'
-d_int64_t='define'
-d_ip_mreq='define'
-d_ip_mreq_source='define'
-d_ipv6_mreq='define'
-d_ipv6_mreq_source='undef'
-d_isascii='define'
-d_isblank='define'
-d_isfinite='define'
-d_isfinitel='undef'
-d_isinf='define'
-d_isinfl='define'
-d_isless='undef'
-d_isnan='define'
-d_isnanl='define'
-d_isnormal='define'
-d_j0='define'
-d_j0l='define'
-d_killpg='define'
-d_lc_monetary_2008='define'
-d_lchown='define'
-d_ldbl_dig='define'
-d_ldexpl='define'
-d_lgamma='define'
-d_lgamma_r='define'
-d_libm_lib_version='undef'
-d_libname_unique='undef'
-d_link='define'
-d_llrint='define'
-d_llrintl='define'
-d_llround='define'
-d_llroundl='define'
-d_localtime64='undef'
-d_localtime_r='define'
-d_localtime_r_needs_tzset='define'
-d_locconv='define'
-d_lockf='define'
-d_log1p='define'
-d_log2='define'
-d_logb='define'
-d_longdbl='define'
-d_longlong='define'
-d_lrint='define'
-d_lrintl='define'
-d_lround='define'
-d_lroundl='define'
-d_lseekproto='define'
-d_lstat='define'
-d_madvise='define'
-d_malloc_good_size='undef'
-d_malloc_size='undef'
-d_mblen='define'
-d_mbstowcs='define'
-d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
-d_memmove='define'
-d_memset='define'
-d_mkdir='define'
-d_mkdtemp='define'
-d_mkfifo='define'
-d_mkstemp='define'
-d_mkstemps='define'
-d_mktime64='undef'
-d_mktime='define'
-d_mmap='define'
-d_modfl='define'
-d_modfl_pow32_bug='undef'
-d_modflproto='define'
-d_mprotect='define'
-d_msg='define'
-d_msg_ctrunc='define'
-d_msg_dontroute='define'
-d_msg_oob='define'
-d_msg_peek='define'
-d_msg_proxy='define'
-d_msgctl='define'
-d_msgget='define'
-d_msghdr_s='define'
-d_msgrcv='define'
-d_msgsnd='define'
-d_msync='define'
-d_munmap='define'
-d_mymalloc='undef'
-d_nan='define'
-d_ndbm='define'
-d_ndbm_h_uses_prototypes='undef'
-d_nearbyint='define'
-d_nextafter='define'
-d_nexttoward='define'
-d_nice='define'
-d_nl_langinfo='define'
-d_nv_preserves_uv='undef'
-d_nv_zero_is_allbits_zero='define'
-d_off64_t='define'
-d_old_pthread_create_joinable='undef'
-d_oldpthreads='undef'
-d_oldsock='undef'
-d_open3='define'
-d_pathconf='define'
-d_pause='define'
-d_perl_otherlibdirs='define'
-d_phostname='undef'
-d_pipe='define'
-d_poll='define'
-d_portable='define'
-d_prctl='define'
-d_prctl_set_name='define'
-d_printf_format_null='undef'
-d_procselfexe='define'
-d_pseudofork='undef'
-d_pthread_atfork='define'
-d_pthread_attr_setscope='define'
-d_pthread_yield='define'
-d_ptrdiff_t='define'
-d_pwage='undef'
-d_pwchange='undef'
-d_pwclass='undef'
-d_pwcomment='undef'
-d_pwexpire='undef'
-d_pwgecos='define'
-d_pwpasswd='define'
-d_pwquota='undef'
-d_qgcvt='define'
-d_quad='define'
-d_random_r='define'
-d_re_comp='undef'
-d_readdir64_r='define'
-d_readdir='define'
-d_readdir_r='define'
-d_readlink='define'
-d_readv='define'
-d_recvmsg='define'
-d_regcmp='undef'
-d_regcomp='define'
-d_remainder='define'
-d_remquo='define'
-d_rename='define'
-d_rewinddir='define'
-d_rint='define'
-d_rmdir='define'
-d_round='define'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
-d_sbrkproto='define'
-d_scalbn='define'
-d_scalbnl='define'
-d_sched_yield='define'
-d_scm_rights='define'
-d_seekdir='define'
-d_select='define'
-d_sem='define'
-d_semctl='define'
-d_semctl_semid_ds='define'
-d_semctl_semun='define'
-d_semget='define'
-d_semop='define'
-d_sendmsg='define'
-d_setegid='define'
-d_seteuid='define'
-d_setgrent='define'
-d_setgrent_r='undef'
-d_setgrps='define'
-d_sethent='define'
-d_sethostent_r='undef'
-d_setitimer='define'
-d_setlinebuf='define'
-d_setlocale='define'
-d_setlocale_r='undef'
-d_setnent='define'
-d_setnetent_r='undef'
-d_setpent='define'
-d_setpgid='define'
-d_setpgrp2='undef'
-d_setpgrp='define'
-d_setprior='define'
-d_setproctitle='undef'
-d_setprotoent_r='undef'
-d_setpwent='define'
-d_setpwent_r='undef'
-d_setregid='define'
-d_setresgid='define'
-d_setresuid='define'
-d_setreuid='define'
-d_setrgid='undef'
-d_setruid='undef'
-d_setsent='define'
-d_setservent_r='undef'
-d_setsid='define'
-d_setvbuf='define'
-d_shm='define'
-d_shmat='define'
-d_shmatprototype='define'
-d_shmctl='define'
-d_shmdt='define'
-d_shmget='define'
-d_sigaction='define'
-d_signbit='define'
-d_sigprocmask='define'
-d_sigsetjmp='define'
-d_sin6_scope_id='define'
-d_sitearch='define'
-d_snprintf='define'
-d_sockaddr_in6='define'
-d_sockaddr_sa_len='undef'
-d_sockatmark='define'
-d_sockatmarkproto='define'
-d_socket='define'
-d_socklen_t='define'
-d_sockpair='define'
-d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
-d_sqrtl='define'
-d_srand48_r='define'
-d_srandom_r='define'
-d_sresgproto='define'
-d_sresuproto='define'
-d_stat='define'
-d_statblks='define'
-d_statfs_f_flags='define'
-d_statfs_s='define'
-d_static_inline='define'
-d_statvfs='define'
-d_stdio_cnt_lval='undef'
-d_stdio_ptr_lval='undef'
-d_stdio_ptr_lval_nochange_cnt='undef'
-d_stdio_ptr_lval_sets_cnt='undef'
-d_stdio_stream_array='undef'
-d_stdiobase='undef'
-d_stdstdio='undef'
-d_strchr='define'
-d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
-d_strerror_r='define'
-d_strftime='define'
-d_strlcat='undef'
-d_strlcpy='undef'
-d_strtod='define'
-d_strtol='define'
-d_strtold='define'
-d_strtoll='define'
-d_strtoq='define'
-d_strtoul='define'
-d_strtoull='define'
-d_strtouq='define'
-d_strxfrm='define'
-d_suidsafe='undef'
-d_symlink='define'
-d_syscall='define'
-d_syscallproto='define'
-d_sysconf='define'
-d_sysernlst=''
-d_syserrlst='define'
-d_system='define'
-d_tcgetpgrp='define'
-d_tcsetpgrp='define'
-d_telldir='define'
-d_telldirproto='define'
-d_tgamma='define'
-d_time='define'
-d_timegm='define'
-d_times='define'
-d_tm_tm_gmtoff='define'
-d_tm_tm_zone='define'
-d_tmpnam_r='define'
-d_trunc='define'
-d_truncate='define'
-d_truncl='define'
-d_ttyname_r='define'
-d_tzname='define'
-d_u32align='define'
-d_ualarm='define'
-d_umask='define'
-d_uname='define'
-d_union_semun='undef'
-d_unordered='undef'
-d_unsetenv='define'
-d_usleep='define'
-d_usleepproto='define'
-d_ustat='define'
-d_vendorarch='define'
-d_vendorbin='define'
-d_vendorlib='define'
-d_vendorscript='define'
-d_vfork='undef'
-d_void_closedir='undef'
-d_voidsig='define'
-d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
-d_vsnprintf='define'
-d_wait4='define'
-d_waitpid='define'
-d_wcscmp='define'
-d_wcstombs='define'
-d_wcsxfrm='define'
-d_wctomb='define'
-d_writev='define'
-d_xenix='undef'
-date='date'
-db_hashtype='u_int32_t'
-db_prefixtype='size_t'
-db_version_major=''
-db_version_minor=''
-db_version_patch=''
-direntrytype='struct dirent'
-dlext='so'
-dlsrc='dl_dlopen.xs'
-doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
-doublekind='3'
-doublemantbits='52'
-doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff'
-doublesize='8'
-drand01='Perl_drand48()'
-drand48_r_proto='REENTRANT_PROTO_I_ST'
-dtrace=''
-dtraceobject=''
-dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
-eagain='EAGAIN'
-ebcdic='undef'
-echo='echo'
-egrep='egrep'
-emacs=''
-endgrent_r_proto='0'
-endhostent_r_proto='0'
-endnetent_r_proto='0'
-endprotoent_r_proto='0'
-endpwent_r_proto='0'
-endservent_r_proto='0'
-eunicefix=':'
-exe_ext=''
-expr='expr'
-extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate XS/APItest XS/Typemap arybase attributes mro re threads threads/shared Archive/Tar Attribute/Handlers AutoLoader B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Unicode/Normalize XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
-extern_C='extern'
-extras=''
-fflushNULL='define'
-fflushall='undef'
-find=''
-firstmakefile='makefile'
-flex=''
-fpossize='16'
-fpostype='fpos_t'
-freetype='void'
-from=':'
-full_ar='ar'
-full_csh='csh'
-full_sed='sed'
-gccansipedantic=''
-gccosandvers=''
-gccversion='4.9.2'
-getgrent_r_proto='REENTRANT_PROTO_I_SBWR'
-getgrgid_r_proto='REENTRANT_PROTO_I_TSBWR'
-getgrnam_r_proto='REENTRANT_PROTO_I_CSBWR'
-gethostbyaddr_r_proto='REENTRANT_PROTO_I_TsISBWRE'
-gethostbyname_r_proto='REENTRANT_PROTO_I_CSBWRE'
-gethostent_r_proto='REENTRANT_PROTO_I_SBWRE'
-getlogin_r_proto='REENTRANT_PROTO_I_BW'
-getnetbyaddr_r_proto='REENTRANT_PROTO_I_uISBWRE'
-getnetbyname_r_proto='REENTRANT_PROTO_I_CSBWRE'
-getnetent_r_proto='REENTRANT_PROTO_I_SBWRE'
-getprotobyname_r_proto='REENTRANT_PROTO_I_CSBWR'
-getprotobynumber_r_proto='REENTRANT_PROTO_I_ISBWR'
-getprotoent_r_proto='REENTRANT_PROTO_I_SBWR'
-getpwent_r_proto='REENTRANT_PROTO_I_SBWR'
-getpwnam_r_proto='REENTRANT_PROTO_I_CSBWR'
-getpwuid_r_proto='REENTRANT_PROTO_I_TSBWR'
-getservbyname_r_proto='REENTRANT_PROTO_I_CCSBWR'
-getservbyport_r_proto='REENTRANT_PROTO_I_ICSBWR'
-getservent_r_proto='REENTRANT_PROTO_I_SBWR'
-getspnam_r_proto='REENTRANT_PROTO_I_CSBWR'
-gidformat='"u"'
-gidsign='1'
-gidsize='4'
-gidtype='gid_t'
-glibpth='@EXECPREFIX@/shlib @BASELIBDIR@ @LIBDIR@ @LIBDIR@/386 @BASELIBDIR@386 @EXECPREFIX@/ccs@BASELIBDIR@ @EXECPREFIX@/ucblib @EXECPREFIX@/local@BASELIBDIR@ @BASELIBDIR@ @LIBDIR@ @EXECPREFIX@/local@BASELIBDIR@ '
-gmake='gmake'
-gmtime_r_proto='REENTRANT_PROTO_S_TS'
-gnulibc_version='2.21'
-grep='grep'
-groupcat='cat /etc/group'
-groupstype='gid_t'
-gzip='gzip'
-h_fcntl='false'
-h_sysfile='true'
-hint='recommended'
-hostcat='cat /etc/hosts'
-hostgenerate=''
-hostosname=''
-hostperl=''
-html1dir=' '
-html1direxp=''
-html3dir=' '
-html3direxp=''
-i16size='2'
-i16type='short'
-i32size='4'
-i32type='int'
-i64size='8'
-i64type='long'
-i8size='1'
-i8type='signed char'
-i_arpainet='define'
-i_assert='define'
-i_bfd='define'
-i_bsdioctl=''
-i_crypt='define'
-i_db='undef'
-i_dbm='define'
-i_dirent='define'
-i_dlfcn='define'
-i_execinfo='define'
-i_fcntl='undef'
-i_fenv='define'
-i_float='define'
-i_fp='undef'
-i_fp_class='undef'
-i_gdbm='undef'
-i_gdbm_ndbm='undef'
-i_gdbmndbm='define'
-i_grp='define'
-i_ieeefp='undef'
-i_inttypes='define'
-i_langinfo='define'
-i_libutil='undef'
-i_limits='define'
-i_locale='define'
-i_machcthr='undef'
-i_malloc='define'
-i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
-i_mntent='define'
-i_ndbm='undef'
-i_netdb='define'
-i_neterrno='undef'
-i_netinettcp='define'
-i_niin='define'
-i_poll='define'
-i_prot='undef'
-i_pthread='define'
-i_pwd='define'
-i_quadmath='undef'
-i_rpcsvcdbm='undef'
-i_sgtty='undef'
-i_shadow='define'
-i_socks='undef'
-i_stdarg='define'
-i_stdbool='define'
-i_stddef='define'
-i_stdint='define'
-i_stdlib='define'
-i_string='define'
-i_sunmath='undef'
-i_sysaccess='undef'
-i_sysdir='define'
-i_sysfile='define'
-i_sysfilio='undef'
-i_sysin='undef'
-i_sysioctl='define'
-i_syslog='define'
-i_sysmman='define'
-i_sysmode='undef'
-i_sysmount='define'
-i_sysndir='undef'
-i_sysparam='define'
-i_syspoll='define'
-i_sysresrc='define'
-i_syssecrt='undef'
-i_sysselct='define'
-i_syssockio='undef'
-i_sysstat='define'
-i_sysstatfs='define'
-i_sysstatvfs='define'
-i_systime='define'
-i_systimek='undef'
-i_systimes='define'
-i_systypes='define'
-i_sysuio='define'
-i_sysun='define'
-i_sysutsname='define'
-i_sysvfs='define'
-i_syswait='define'
-i_termio='undef'
-i_termios='define'
-i_time='define'
-i_unistd='define'
-i_ustat='define'
-i_utime='define'
-i_values='define'
-i_varargs='undef'
-i_varhdr='stdarg.h'
-i_vfork='undef'
-ignore_versioned_solibs='y'
-inc_version_list=' '
-inc_version_list_init='0'
-incpath=''
-inews=''
-initialinstalllocation='@USRBIN@'
-installarchlib='@LIBDIR@/perl/5.24.4/@ARCH@-thread-multi'
-installbin='@USRBIN@'
-installhtml1dir=''
-installhtml3dir=''
-installman1dir=''
-installman3dir=''
-installprefix='@EXECPREFIX@'
-installprefixexp='@EXECPREFIX@'
-installprivlib='@LIBDIR@/perl/5.24.4'
-installscript='@USRBIN@'
-installsitearch='@LIBDIR@/perl/site_perl/5.24.4/@ARCH@-thread-multi'
-installsitebin='@USRBIN@'
-installsitehtml1dir=''
-installsitehtml3dir=''
-installsitelib='@LIBDIR@/perl/site_perl/5.24.4'
-installsiteman1dir=''
-installsiteman3dir=''
-installsitescript='@USRBIN@'
-installstyle='lib/perl'
-installusrbinperl='define'
-installvendorarch='@LIBDIR@/perl/vendor_perl/5.24.4/@ARCH@-thread-multi'
-installvendorbin='@USRBIN@'
-installvendorhtml1dir=''
-installvendorhtml3dir=''
-installvendorlib='@LIBDIR@/perl/vendor_perl/5.24.4'
-installvendorman1dir=''
-installvendorman3dir=''
-installvendorscript='@USRBIN@'
-intsize='4'
-issymlink='test -h'
-ivdformat='"ld"'
-ivsize='8'
-ivtype='long'
-known_extensions='Archive/Tar Attribute/Handlers AutoLoader B B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version '
-ksh=''
-ld='gcc'
-ld_can_script='define'
-lddlflags='-shared -O2'
-ldflags=''
-ldflags_uselargefiles=''
-ldlibpthname='LD_LIBRARY_PATH'
-less='less'
-lib_ext='.a'
-libc='libc-2.21.so'
-libperl='libperl.so'
-libpth='@LIBDIR@ @BASELIBDIR@'
-libs='-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat'
-libsdirs=' @LIBDIR@'
-libsfiles=' libpthread.so libnsl.so libgdbm.so libdb.so libdl.so libm.so libcrypt.so libutil.so libc.so libgdbm_compat.so'
-libsfound=' @LIBDIR@/libpthread.so @LIBDIR@/libnsl.so @LIBDIR@/libgdbm.so @LIBDIR@/libdb.so @LIBDIR@/libdl.so @LIBDIR@/libm.so @LIBDIR@/libcrypt.so @LIBDIR@/libutil.so @LIBDIR@/libc.so @LIBDIR@/libgdbm_compat.so'
-libspath=' @LIBDIR@ @BASELIBDIR@'
-libswanted='cl pthread socket inet nsl nm gdbm dbm db malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat'
-libswanted_uselargefiles=''
-line=''
-lint=''
-lkflags=''
-ln='ln'
-lns='/bin/ln -s'
-localtime_r_proto='REENTRANT_PROTO_S_TS'
-locincpth='@EXECPREFIX@/local/include /opt/local/include @EXECPREFIX@/gnu/include /opt/gnu/include @EXECPREFIX@/GNU/include /opt/GNU/include'
-loclibpth='@EXECPREFIX@/local@BASELIBDIR@ /opt/local@BASELIBDIR@ @EXECPREFIX@/gnu@BASELIBDIR@ /opt/gnu@BASELIBDIR@ @EXECPREFIX@/GNU@BASELIBDIR@ /opt/GNU@BASELIBDIR@'
-longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00'
-longdblkind='3'
-longdblmantbits='64'
-longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x32, 0xf7'
-longdblsize='16'
-longlongsize='8'
-longsize='8'
-lp=''
-lpr=''
-ls='ls'
-lseeksize='8'
-lseektype='off_t'
-mail=''
-mailx=''
-make='make'
-make_set_make='#'
-mallocobj=''
-mallocsrc=''
-malloctype='void *'
-man1dir=' '
-man1direxp=''
-man1ext='0'
-man3dir=' '
-man3direxp=''
-man3ext='0'
-mips_type=''
-mistrustnm=''
-mkdir='mkdir'
-mmaptype='void *'
-modetype='mode_t'
-more='more'
-multiarch='undef'
-mv=''
-myarchname='@ARCH@'
-mydomain='.localdomain'
-myhostname='localhost'
-myuname='linux qemux86-64 3.19.5-yocto-standard #1 smp preempt tue jun 16 00:28:17 pdt 2015 x86_64 gnulinux '
-n='-n'
-need_va_copy='define'
-netdb_hlen_type='size_t'
-netdb_host_type='char *'
-netdb_name_type='const char *'
-netdb_net_type='in_addr_t'
-nm='nm'
-nm_opt=''
-nm_so_opt='--dynamic'
-nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Unicode/Normalize XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
-nroff='nroff'
-nvEUformat='"E"'
-nvFUformat='"F"'
-nvGUformat='"G"'
-nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
-nv_preserves_uv_bits='53'
-nveformat='"e"'
-nvfformat='"f"'
-nvgformat='"g"'
-nvmantbits='52'
-nvsize='8'
-nvtype='double'
-o_nonblock='O_NONBLOCK'
-obj_ext='.o'
-old_pthread_create_joinable=''
-optimize='-O2'
-orderlib='false'
-osname='linux'
-osvers='3.19.5-yocto-standard'
-otherlibdirs='@LIBDIR@/perl/5.24.4'
-package='perl'
-pager='/usr/bin/less -isr'
-passcat='cat /etc/passwd'
-patchlevel='24'
-path_sep=':'
-perl5='@USRBIN@/perl'
-perl='perl'
-perl_patchlevel=''
-perl_static_inline='static __inline__'
-perladmin='root@localhost'
-perllibs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc'
-perlpath='@USRBIN@/perl'
-pg='pg'
-phostname=''
-pidtype='pid_t'
-plibpth='@LIBDIR@ @BASELIBDIR@'
-pmake=''
-pr=''
-prefix='@EXECPREFIX@'
-prefixexp='@EXECPREFIX@'
-privlib='@LIBDIR@/perl/5.24.4'
-privlibexp='@LIBDIR@/perl/5.24.4'
-procselfexe='"/proc/self/exe"'
-prototype='define'
-ptrsize='8'
-quadkind='2'
-quadtype='long'
-randbits='48'
-randfunc='Perl_drand48'
-random_r_proto='REENTRANT_PROTO_I_St'
-randseedtype='U32'
-ranlib=':'
-rd_nodata='-1'
-readdir64_r_proto='REENTRANT_PROTO_I_TSR'
-readdir_r_proto='REENTRANT_PROTO_I_TSR'
-revision='5'
-rm='rm'
-rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*'
-rmail=''
-run=''
-runnm='false'
-sGMTIME_max='67768036191676799'
-sGMTIME_min='-62167219200'
-sLOCALTIME_max='67768036191676799'
-sLOCALTIME_min='-62167219200'
-sPRIEUldbl='"LE"'
-sPRIFUldbl='"LF"'
-sPRIGUldbl='"LG"'
-sPRIXU64='"lX"'
-sPRId64='"ld"'
-sPRIeldbl='"Le"'
-sPRIfldbl='"Lf"'
-sPRIgldbl='"Lg"'
-sPRIi64='"li"'
-sPRIo64='"lo"'
-sPRIu64='"lu"'
-sPRIx64='"lx"'
-sSCNfldbl='"Lf"'
-sched_yield='sched_yield()'
-scriptdir='@USRBIN@'
-scriptdirexp='@USRBIN@'
-sed='sed'
-seedfunc='Perl_drand48_init'
-selectminbits='64'
-selecttype='fd_set *'
-sendmail=''
-setgrent_r_proto='0'
-sethostent_r_proto='0'
-setlocale_r_proto='0'
-setnetent_r_proto='0'
-setprotoent_r_proto='0'
-setpwent_r_proto='0'
-setservent_r_proto='0'
-sh='/bin/sh'
-shar=''
-sharpbang='#!'
-shmattype='void *'
-shortsize='2'
-shrpenv=''
-shsharp='true'
-sig_count='65'
-sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
-sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
-sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
-sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
-sig_size='69'
-signal_t='void'
-sitearch='@LIBDIR@/perl/site_perl/5.24.4/@ARCH@-thread-multi'
-sitearchexp='@LIBDIR@/perl/site_perl/5.24.4/@ARCH@-thread-multi'
-sitebin='@USRBIN@'
-sitebinexp='@USRBIN@'
-sitehtml1dir=''
-sitehtml1direxp=''
-sitehtml3dir=''
-sitehtml3direxp=''
-sitelib='@LIBDIR@/perl/site_perl/5.24.4'
-sitelib_stem='@LIBDIR@/perl/site_perl'
-sitelibexp='@LIBDIR@/perl/site_perl/5.24.4'
-siteman1dir=''
-siteman1direxp=''
-siteman3dir=''
-siteman3direxp=''
-siteprefix='@EXECPREFIX@'
-siteprefixexp='@EXECPREFIX@'
-sitescript='@USRBIN@'
-sitescriptexp='@USRBIN@'
-sizesize='8'
-sizetype='size_t'
-sleep=''
-smail=''
-so='so'
-sockethdr=''
-socketlib=''
-socksizetype='socklen_t'
-sort='sort'
-spackage='Perl5'
-spitshell='cat'
-srand48_r_proto='REENTRANT_PROTO_I_LS'
-srandom_r_proto='REENTRANT_PROTO_I_TS'
-src='.'
-ssizetype='ssize_t'
-st_ino_sign='1'
-st_ino_size='8'
-startperl='#!@USRBIN@/perl'
-startsh='#!/bin/sh'
-static_ext=' '
-stdchar='char'
-stdio_base='((fp)->_IO_read_base)'
-stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
-stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
-stdio_filbuf=''
-stdio_ptr='((fp)->_IO_read_ptr)'
-stdio_stream_array=''
-strerror_r_proto='REENTRANT_PROTO_B_IBW'
-strings='@INCLUDEDIR@/string.h'
-submit=''
-subversion='4'
-sysman='@EXECPREFIX@/share/man/man1'
-sysroot=''
-tail=''
-tar=''
-targetarch=''
-targetdir=''
-targetenv=''
-targethost=''
-targetmkdir=''
-targetport=''
-targetsh='/bin/sh'
-tbl=''
-tee=''
-test='test'
-timeincl='@INCLUDEDIR@/sys/time.h @INCLUDEDIR@/time.h '
-timetype='time_t'
-tmpnam_r_proto='REENTRANT_PROTO_B_B'
-to=':'
-touch='touch'
-tr='tr'
-trnl='\n'
-troff=''
-ttyname_r_proto='REENTRANT_PROTO_I_IBW'
-u16size='2'
-u16type='unsigned short'
-u32size='4'
-u32type='unsigned int'
-u64size='8'
-u64type='unsigned long'
-u8size='1'
-u8type='unsigned char'
-uidformat='"u"'
-uidsign='1'
-uidsize='4'
-uidtype='uid_t'
-uname='uname'
-uniq='uniq'
-uquadtype='unsigned long'
-use5005threads='undef'
-use64bitall='undef'
-use64bitint='undef'
-usecbacktrace='undef'
-usecrosscompile='define'
-usedevel='undef'
-usedl='define'
-usedtrace='undef'
-usefaststdio='undef'
-useithreads='define'
-usekernprocpathname='undef'
-uselargefiles='define'
-uselongdouble='undef'
-usemallocwrap='define'
-usemorebits='undef'
-usemultiplicity='define'
-usemymalloc='n'
-usenm='false'
-usensgetexecutablepath='undef'
-useopcode='true'
-useperlio='define'
-useposix='true'
-usequadmath='undef'
-usereentrant='undef'
-userelocatableinc='undef'
-useshrplib='true'
-usesitecustomize='undef'
-usesocks='undef'
-usethreads='define'
-usevendorprefix='define'
-useversionedarchname='undef'
-usevfork='false'
-usrinc='@INCLUDEDIR@'
-uuname=''
-uvXUformat='"lX"'
-uvoformat='"lo"'
-uvsize='8'
-uvtype='unsigned long'
-uvuformat='"lu"'
-uvxformat='"lx"'
-vaproto='define'
-vendorarch='@LIBDIR@/perl/vendor_perl/5.24.4/@ARCH@-thread-multi'
-vendorarchexp='@LIBDIR@/perl/vendor_perl/5.24.4/@ARCH@-thread-multi'
-vendorbin='@USRBIN@'
-vendorbinexp='@USRBIN@'
-vendorhtml1dir=' '
-vendorhtml1direxp=''
-vendorhtml3dir=' '
-vendorhtml3direxp=''
-vendorlib='@LIBDIR@/perl/vendor_perl/5.24.4'
-vendorlib_stem='@LIBDIR@/perl/vendor_perl'
-vendorlibexp='@LIBDIR@/perl/vendor_perl/5.24.4'
-vendorman1dir=' '
-vendorman1direxp=''
-vendorman3dir=' '
-vendorman3direxp=''
-vendorprefix='@EXECPREFIX@'
-vendorprefixexp='@EXECPREFIX@'
-vendorscript='@USRBIN@'
-vendorscriptexp='@USRBIN@'
-version='5.24.4'
-version_patchlevel_string='version 24 subversion 4'
-versiononly='undef'
-vi=''
-xlibpth='@LIBDIR@/386 @BASELIBDIR@386'
-yacc='yacc'
-yaccflags=''
-zcat=''
-zip='zip'
-PERL_REVISION=5
-PERL_VERSION=24
-PERL_SUBVERSION=4
-PERL_API_REVISION=5
-PERL_API_VERSION=24
-PERL_API_SUBVERSION=4
-PERL_PATCHLEVEL=''
-PERL_CONFIG_SH=true
-: Variables propagated from previous config.sh file.
-libdb_needs_pthread='N'
-
-# for Time-HiRes
-d_clock_nanosleep='define'
-d_clock_gettime='define'
-d_clock_getres='define'
-d_clock='define'
-d_nanosleep='define'
-
-# for Signinfo
-d_siginfo_si_errno='define'
-d_siginfo_si_pid='define'
-d_siginfo_si_uid='define'
-d_siginfo_si_addr='define'
-d_siginfo_si_status='define'
-d_siginfo_si_band='define'
-d_siginfo_si_value='define'
-
-# don't support fdclose
-d_fdclose='undef'
-
-# support memmem
-d_memmem='define'
-
-# for locale
-d_newlocale='define'
-d_freelocale='define'
-d_uselocale='define'
diff --git a/poky/meta/recipes-devtools/perl/perl/config.sh-32 b/poky/meta/recipes-devtools/perl/perl/config.sh-32
deleted file mode 100644
index 7259a0c6a..000000000
--- a/poky/meta/recipes-devtools/perl/perl/config.sh-32
+++ /dev/null
@@ -1,38 +0,0 @@
-alignbytes='4'
-cf_time='Thu Dec 23 03:57:51 UTC 2010'
-cppsymbols='_FILE_OFFSET_BITS=64 _GNU_SOURCE=1 _LARGEFILE64_SOURCE=1 _LARGEFILE_SOURCE=1 _POSIX_C_SOURCE=200809L _POSIX_SOURCE=1 _REENTRANT=1 _XOPEN_SOURCE=700 _XOPEN_SOURCE_EXTENDED=1 __BIGGEST_ALIGNMENT__=16 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DBL_DENORM_MIN__=((double)4.94065645841246544177e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.22044604925031308085e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX_EXP__=1024 __DBL_MAX__=((double)1.79769313486231570815e+308L) __DBL_MIN_10_EXP__=(-307) __DBL_MIN_EXP__=(-1021) __DBL_MIN__=((double)2.22507385850720138309e-308L) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX_EXP__=6145 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MIN_EXP__=(-6142) __DEC128_MIN__=1E-6143DL __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX_EXP__=97 __DEC32_MAX__=9.999999E96DF __DEC32_MIN_EXP__=(-94) __DEC32_MIN__=1E-95DF __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_EPSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX_EXP__=385 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MIN_EXP__=(-382) __DEC64_MIN__=1E-383DD __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DECIMAL_BID_FORMAT__=1 __DECIMAL_DIG__=21 __DEC_EVAL_METHOD__=2 __ELF__=1 __FINITE_MATH_ONLY__=0 __FLT_DENORM_MIN__=1.40129846432481707092e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.19209289550781250000e-7F __FLT_EVAL_METHOD__=2 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX_EXP__=128 __FLT_MAX__=3.40282346638528859812e+38F __FLT_MIN_10_EXP__=(-37) __FLT_MIN_EXP__=(-125) __FLT_MIN__=1.17549435082228750797e-38F __FLT_RADIX__=2 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 __GLIBC_MINOR__=12 __GLIBC__=2 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=5 __GNUC_PATCHLEVEL__=1 __GNUC__=4 __GNU_LIBRARY__=6 __GXX_ABI_VERSION=1002 __INT16_C(c)=c __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C(c)=c __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C(c)=cLL __INT64_MAX__=9223372036854775807LL __INT64_TYPE__=long\ long\ int __INT8_C(c)=c __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INTMAX_C(c)=cLL __INTMAX_MAX__=9223372036854775807LL __INTMAX_TYPE__=long\ long\ int __INTPTR_MAX__=2147483647 __INTPTR_TYPE__=int __INT_FAST16_MAX__=2147483647 __INT_FAST16_TYPE__=int __INT_FAST32_MAX__=2147483647 __INT_FAST32_TYPE__=int __INT_FAST64_MAX__=9223372036854775807LL __INT_FAST64_TYPE__=long\ long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807LL __INT_LEAST64_TYPE__=long\ long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __LDBL_DENORM_MIN__=3.64519953188247460253e-4951L __LDBL_DIG__=18 __LDBL_EPSILON__=1.08420217248550443401e-19L __LDBL_HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=64 __LDBL_MAX_10_EXP__=4932 __LDBL_MAX_EXP__=16384 __LDBL_MAX__=1.18973149535723176502e+4932L __LDBL_MIN_10_EXP__=(-4931) __LDBL_MIN_EXP__=(-16381) __LDBL_MIN__=3.36210314311209350626e-4932L __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=2147483647L __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=2147483647 __PTRDIFF_TYPE__=int __REGISTER_PREFIX__= __SCHAR_MAX__=127 __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT__=4 __SIZEOF_LONG_DOUBLE__=12 __SIZEOF_LONG_LONG__=8 __SIZEOF_LONG__=4 __SIZEOF_POINTER__=4 __SIZEOF_PTRDIFF_T__=4 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=4 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T__=4 __SIZE_MAX__=4294967295U __SIZE_TYPE__=unsigned\ int __STDC_HOSTED__=1 __STDC__=1 __UINT16_C(c)=c __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C(c)=cU __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C(c)=cULL __UINT64_MAX__=18446744073709551615ULL __UINT64_TYPE__=long\ long\ unsigned\ int __UINT8_C(c)=c __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINTMAX_C(c)=cULL __UINTMAX_MAX__=18446744073709551615ULL __UINTMAX_TYPE__=long\ long\ unsigned\ int __UINTPTR_MAX__=4294967295U __UINTPTR_TYPE__=unsigned\ int __UINT_FAST16_MAX__=4294967295U __UINT_FAST16_TYPE__=unsigned\ int __UINT_FAST32_MAX__=4294967295U __UINT_FAST32_TYPE__=unsigned\ int __UINT_FAST64_MAX__=18446744073709551615ULL __UINT_FAST64_TYPE__=long\ long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615ULL __UINT_LEAST64_TYPE__=long\ long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __USER_LABEL_PREFIX__= __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_GNU=1 __USE_LARGEFILE64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_REENTRANT=1 __USE_SVID=1 __USE_UNIX98=1 __USE_XOPEN=1 __USE_XOPEN_EXTENDED=1 __VERSION__="4.5.1" __WCHAR_MAX__=2147483647L __WCHAR_MIN__=(-2147483647L\ -\ 1) __WCHAR_TYPE__=long\ int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int __gnu_linux__=1 __i386=1 __i386__=1 __i586=1 __i586__=1 __linux=1 __linux__=1 __pentium=1 __pentium__=1 __tune_i586__=1 __tune_pentium__=1 __unix=1 __unix__=1 i386=1 linux=1 unix=1'
-d_nv_preserves_uv='define'
-d_printf_format_null='define'
-d_u32align='undef'
-gidformat='"lu"'
-i32type='long'
-i64type='long long'
-ivsize='4'
-longdblsize='12'
-longsize='4'
-myuname='linux qemux86 2.6.37-rc5-yocto-standard+ #1 preempt mon dec 20 14:21:27 pst 2010 i686 gnulinux '
-need_va_copy='undef'
-netdb_host_type='const void *'
-nv_preserves_uv_bits='32'
-ptrsize='4'
-quadkind='3'
-quadtype='long long'
-sGMTIME_max='2147483647'
-sGMTIME_min='-2147483648'
-sLOCALTIME_max='2147483647'
-sLOCALTIME_min='-2147483648'
-sPRIXU64='"LX"'
-sPRId64='"Ld"'
-sPRIi64='"Li"'
-sPRIo64='"Lo"'
-sPRIu64='"Lu"'
-sPRIx64='"Lx"'
-selectminbits='32'
-sizesize='4'
-u32type='unsigned long'
-u64type='unsigned long long'
-uidformat='"lu"'
-uquadtype='unsigned long long'
-use64bitall='undef'
-use64bitint='undef'
-uvsize='4'
diff --git a/poky/meta/recipes-devtools/perl/perl/config.sh-32-be b/poky/meta/recipes-devtools/perl/perl/config.sh-32-be
deleted file mode 100644
index a59a9abb5..000000000
--- a/poky/meta/recipes-devtools/perl/perl/config.sh-32-be
+++ /dev/null
@@ -1 +0,0 @@
-byteorder='4321'
diff --git a/poky/meta/recipes-devtools/perl/perl/config.sh-32-le b/poky/meta/recipes-devtools/perl/perl/config.sh-32-le
deleted file mode 100644
index 10e422656..000000000
--- a/poky/meta/recipes-devtools/perl/perl/config.sh-32-le
+++ /dev/null
@@ -1 +0,0 @@
-byteorder='1234'
diff --git a/poky/meta/recipes-devtools/perl/perl/config.sh-64 b/poky/meta/recipes-devtools/perl/perl/config.sh-64
deleted file mode 100644
index 6929d3a09..000000000
--- a/poky/meta/recipes-devtools/perl/perl/config.sh-64
+++ /dev/null
@@ -1,38 +0,0 @@
-alignbytes='8'
-cf_time='Thu Dec 23 02:06:42 UTC 2010'
-cppsymbols='_FILE_OFFSET_BITS=64 _GNU_SOURCE=1 _LARGEFILE64_SOURCE=1 _LARGEFILE_SOURCE=1 _LP64=1 _POSIX_C_SOURCE=200809L _POSIX_SOURCE=1 _REENTRANT=1 _XOPEN_SOURCE=700 _XOPEN_SOURCE_EXTENDED=1 __BIGGEST_ALIGNMENT__=16 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DBL_DENORM_MIN__=((double)4.94065645841246544177e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.22044604925031308085e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX_EXP__=1024 __DBL_MAX__=((double)1.79769313486231570815e+308L) __DBL_MIN_10_EXP__=(-307) __DBL_MIN_EXP__=(-1021) __DBL_MIN__=((double)2.22507385850720138309e-308L) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX_EXP__=6145 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MIN_EXP__=(-6142) __DEC128_MIN__=1E-6143DL __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX_EXP__=97 __DEC32_MAX__=9.999999E96DF __DEC32_MIN_EXP__=(-94) __DEC32_MIN__=1E-95DF __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_EPSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX_EXP__=385 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MIN_EXP__=(-382) __DEC64_MIN__=1E-383DD __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DECIMAL_BID_FORMAT__=1 __DECIMAL_DIG__=21 __DEC_EVAL_METHOD__=2 __ELF__=1 __FINITE_MATH_ONLY__=0 __FLT_DENORM_MIN__=1.40129846432481707092e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.19209289550781250000e-7F __FLT_EVAL_METHOD__=0 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX_EXP__=128 __FLT_MAX__=3.40282346638528859812e+38F __FLT_MIN_10_EXP__=(-37) __FLT_MIN_EXP__=(-125) __FLT_MIN__=1.17549435082228750797e-38F __FLT_RADIX__=2 __GCC_HAVE_DWARF2_CFI_ASM=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 __GLIBC_MINOR__=12 __GLIBC__=2 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=5 __GNUC_PATCHLEVEL__=1 __GNUC__=4 __GNU_LIBRARY__=6 __GXX_ABI_VERSION=1002 __INT16_C(c)=c __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C(c)=c __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C(c)=cL __INT64_MAX__=9223372036854775807L __INT64_TYPE__=long\ int __INT8_C(c)=c __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INTMAX_C(c)=cL __INTMAX_MAX__=9223372036854775807L __INTMAX_TYPE__=long\ int __INTPTR_MAX__=9223372036854775807L __INTPTR_TYPE__=long\ int __INT_FAST16_MAX__=9223372036854775807L __INT_FAST16_TYPE__=long\ int __INT_FAST32_MAX__=9223372036854775807L __INT_FAST32_TYPE__=long\ int __INT_FAST64_MAX__=9223372036854775807L __INT_FAST64_TYPE__=long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807L __INT_LEAST64_TYPE__=long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __LDBL_DENORM_MIN__=3.64519953188247460253e-4951L __LDBL_DIG__=18 __LDBL_EPSILON__=1.08420217248550443401e-19L __LDBL_HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=64 __LDBL_MAX_10_EXP__=4932 __LDBL_MAX_EXP__=16384 __LDBL_MAX__=1.18973149535723176502e+4932L __LDBL_MIN_10_EXP__=(-4931) __LDBL_MIN_EXP__=(-16381) __LDBL_MIN__=3.36210314311209350626e-4932L __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=9223372036854775807L __LP64__=1 __MMX__=1 __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=9223372036854775807L __PTRDIFF_TYPE__=long\ int __REGISTER_PREFIX__= __SCHAR_MAX__=127 __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT__=4 __SIZEOF_LONG_DOUBLE__=16 __SIZEOF_LONG_LONG__=8 __SIZEOF_LONG__=8 __SIZEOF_POINTER__=8 __SIZEOF_PTRDIFF_T__=8 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=8 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T__=4 __SIZE_MAX__=18446744073709551615UL __SIZE_TYPE__=long\ unsigned\ int __SSE2_MATH__=1 __SSE2__=1 __SSE_MATH__=1 __SSE__=1 __STDC_HOSTED__=1 __STDC__=1 __UINT16_C(c)=c __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C(c)=cU __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C(c)=cUL __UINT64_MAX__=18446744073709551615UL __UINT64_TYPE__=long\ unsigned\ int __UINT8_C(c)=c __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINTMAX_C(c)=cUL __UINTMAX_MAX__=18446744073709551615UL __UINTMAX_TYPE__=long\ unsigned\ int __UINTPTR_MAX__=18446744073709551615UL __UINTPTR_TYPE__=long\ unsigned\ int __UINT_FAST16_MAX__=18446744073709551615UL __UINT_FAST16_TYPE__=long\ unsigned\ int __UINT_FAST32_MAX__=18446744073709551615UL __UINT_FAST32_TYPE__=long\ unsigned\ int __UINT_FAST64_MAX__=18446744073709551615UL __UINT_FAST64_TYPE__=long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615UL __UINT_LEAST64_TYPE__=long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __USER_LABEL_PREFIX__= __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_GNU=1 __USE_LARGEFILE64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_REENTRANT=1 __USE_SVID=1 __USE_UNIX98=1 __USE_XOPEN=1 __USE_XOPEN_EXTENDED=1 __VERSION__="4.5.1" __WCHAR_MAX__=2147483647 __WCHAR_MIN__=(-2147483647\ -\ 1) __WCHAR_TYPE__=int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int __amd64=1 __amd64__=1 __gnu_linux__=1 __k8=1 __k8__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 __x86_64=1 __x86_64__=1 linux=1 unix=1'
-d_nv_preserves_uv='undef'
-d_printf_format_null='undef'
-d_u32align='define'
-gidformat='"u"'
-i32type='int'
-i64type='long'
-ivsize='8'
-longdblsize='16'
-longsize='8'
-myuname='linux qemux86-64 2.6.37-rc5-yocto-standard+ #1 smp preempt mon dec 20 17:19:50 pst 2010 x86_64 gnulinux '
-need_va_copy='define'
-netdb_host_type='char *'
-nv_preserves_uv_bits='53'
-ptrsize='8'
-quadkind='2'
-quadtype='long'
-sGMTIME_max='67768036191676799'
-sGMTIME_min='-62167219200'
-sLOCALTIME_max='67768036191676799'
-sLOCALTIME_min='-62167219200'
-sPRIXU64='"lX"'
-sPRId64='"ld"'
-sPRIi64='"li"'
-sPRIo64='"lo"'
-sPRIu64='"lu"'
-sPRIx64='"lx"'
-selectminbits='64'
-sizesize='8'
-u32type='unsigned int'
-u64type='unsigned long'
-uidformat='"u"'
-uquadtype='unsigned long'
-use64bitall='define'
-use64bitint='define'
-uvsize='8'
diff --git a/poky/meta/recipes-devtools/perl/perl/config.sh-64-be b/poky/meta/recipes-devtools/perl/perl/config.sh-64-be
deleted file mode 100644
index c08ce3c43..000000000
--- a/poky/meta/recipes-devtools/perl/perl/config.sh-64-be
+++ /dev/null
@@ -1 +0,0 @@
-byteorder='87654321'
diff --git a/poky/meta/recipes-devtools/perl/perl/config.sh-64-le b/poky/meta/recipes-devtools/perl/perl/config.sh-64-le
deleted file mode 100644
index 277d2a9be..000000000
--- a/poky/meta/recipes-devtools/perl/perl/config.sh-64-le
+++ /dev/null
@@ -1 +0,0 @@
-byteorder='12345678'
diff --git a/poky/meta/recipes-devtools/perl/perl/cross-generate_uudmap.patch b/poky/meta/recipes-devtools/perl/perl/cross-generate_uudmap.patch
deleted file mode 100644
index 33e222259..000000000
--- a/poky/meta/recipes-devtools/perl/perl/cross-generate_uudmap.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-Index: perl-5.24.1/Makefile.SH
-===================================================================
---- perl-5.24.1.orig/Makefile.SH
-+++ perl-5.24.1/Makefile.SH
-@@ -710,7 +710,7 @@ bitcount.h: generate_uudmap\$(HOST_EXE_E
-
- $spitshell >>$Makefile <<'!NO!SUBS!'
- generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
-- $(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
-+ $(BUILD_CC) -o generate_uudmap$(EXE_EXT) generate_uudmap.c
-
- !NO!SUBS!
- ;;
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff b/poky/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff
deleted file mode 100644
index c597701ca..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff
+++ /dev/null
@@ -1,63 +0,0 @@
-From d33d46963035ef726144dc66be2ae9c00aec0333 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Tue, 16 Oct 2012 23:07:56 +0300
-Subject: Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent
- is writable
-
-The site directories do not exist on a typical Debian system. The build
-systems will create them when necessary, so there's no need for a prompt
-suggesting local::lib if the first existing parent directory is writable.
-
-Also, writability of the core directories is not interesting as we
-explicitly tell CPAN not to touch those with INSTALLDIRS=site.
-
-Bug-Debian: http://bugs.debian.org/688842
-Patch-Name: debian/cpan-missing-site-dirs.diff
-Upstream-Status: Pending
----
- cpan/CPAN/lib/CPAN/FirstTime.pm | 31 +++++++++++++++++++++++++++----
- 1 file changed, 27 insertions(+), 4 deletions(-)
-
-diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
-index 33054cd..7b0becf 100644
---- a/cpan/CPAN/lib/CPAN/FirstTime.pm
-+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
-@@ -2057,11 +2057,34 @@ sub _print_urllist {
- };
- }
-
-+# Debian modification: return true if this directory
-+# or the first existing one upwards is writable
-+sub _can_write_to_this_or_parent {
-+ my ($dir) = @_;
-+ my @parts = File::Spec->splitdir($dir);
-+ while (@parts) {
-+ my $cur = File::Spec->catdir(@parts);
-+ return 1 if -w $cur;
-+ return 0 if -e _;
-+ pop @parts;
-+ }
-+ return 0;
-+}
-+
-+# Debian specific modification: the site directories don't necessarily
-+# exist on the system, but the build systems create them when necessary,
-+# so return true if the first existing directory upwards is writable
-+#
-+# Furthermore, on Debian, only test the site directories
-+# (installsite*, expanded to /usr/local/{share,lib}/perl),
-+# not the core ones
-+# (install*lib, expanded to /usr/{share,lib}/perl).
-+# We pass INSTALLDIRS=site by default to keep CPAN from touching
-+# the core directories.
-+
- sub _can_write_to_libdirs {
-- return -w $Config{installprivlib}
-- && -w $Config{installarchlib}
-- && -w $Config{installsitelib}
-- && -w $Config{installsitearch}
-+ return _can_write_to_this_or_parent($Config{installsitelib})
-+ && _can_write_to_this_or_parent($Config{installsitearch})
- }
-
- sub _using_installbase {
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff b/poky/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff
deleted file mode 100644
index 572f14951..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/cpan_definstalldirs.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-From 5ff1f21484aab68efe321ff4ba5d35928f72af96 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Provide a sensible INSTALLDIRS default for modules installed from
- CPAN.
-
-Some modules which are included in core set INSTALLDIRS => 'perl'
-explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC
-ordering, but not ours.
-
-Patch-Name: debian/cpan_definstalldirs.diff
-Upstream-Status: Pending
----
- cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
-index 918e009..33054cd 100644
---- a/cpan/CPAN/lib/CPAN/FirstTime.pm
-+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
-@@ -1024,7 +1024,7 @@ sub init {
- my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND');
-
- if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
-- my_dflt_prompt(makepl_arg => "", $matcher);
-+ my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
- my_dflt_prompt(make_arg => "", $matcher);
- if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
- $CPAN::Frontend->mywarn(
-@@ -1056,7 +1056,7 @@ sub init {
- my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
- $matcher);
-
-- my_dflt_prompt(mbuildpl_arg => "", $matcher);
-+ my_dflt_prompt(mbuildpl_arg => "--installdirs site", $matcher);
- my_dflt_prompt(mbuild_arg => "", $matcher);
-
- if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command}
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff b/poky/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff
deleted file mode 100644
index 0861650eb..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/db_file_ver.diff
+++ /dev/null
@@ -1,35 +0,0 @@
-From 01421f8a80d5c623959695ba2b8167f30112d333 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Fri, 16 Dec 2005 01:32:14 +1100
-Subject: Remove overly restrictive DB_File version check.
-
-Bug-Debian: http://bugs.debian.org/340047
-
-Package dependencies ensure the correct library is linked at run-time.
-
-Patch-Name: debian/db_file_ver.diff
-Upstream-Status: Pending
----
- cpan/DB_File/version.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c
-index e01f6f6..544e6ee 100644
---- a/cpan/DB_File/version.c
-+++ b/cpan/DB_File/version.c
-@@ -48,6 +48,7 @@ __getBerkeleyDBInfo()
-
- (void)db_version(&Major, &Minor, &Patch) ;
-
-+#ifndef DEBIAN
- /* Check that the versions of db.h and libdb.a are the same */
- if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR )
- /* || Patch != DB_VERSION_PATCH) */
-@@ -55,6 +56,7 @@ __getBerkeleyDBInfo()
- croak("\nDB_File was build with libdb version %d.%d.%d,\nbut you are attempting to run it with libdb version %d.%d.%d\n",
- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
- Major, Minor, Patch) ;
-+#endif /* DEBIAN */
-
- /* check that libdb is recent enough -- we need 2.3.4 or greater */
- if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff b/poky/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff
deleted file mode 100644
index c2ac4a3bd..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/deprecate-with-apt.diff
+++ /dev/null
@@ -1,57 +0,0 @@
-From def4aa3817f98aae625e601b791ef068276f05d5 Mon Sep 17 00:00:00 2001
-From: Dominic Hargreaves <dom@earth.li>
-Date: Mon, 17 May 2010 13:23:07 +0300
-Subject: Point users to Debian packages of deprecated core modules
-
-Bug-Debian: http://bugs.debian.org/747628
-
-Several modules are being deprecated with perl 5.20.
-To get a clean transition, perl/perl-modules is going to recommend the
-separate Debian packages of these for one release cycle so that they will be
-pulled in by default on upgrades. This is taking place for perl 5.20/jessie.
-
-However, on systems configured to ignore recommendations the deprecation
-warnings will still be useful, so modify them slightly to point to the
-separate packages instead.
-
-Patch-Name: debian/deprecate-with-apt.diff
-Upstream-Status: Pending
----
- lib/deprecate.pm | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/lib/deprecate.pm b/lib/deprecate.pm
-index 47bc112..b0c61df 100644
---- a/lib/deprecate.pm
-+++ b/lib/deprecate.pm
-@@ -7,6 +7,13 @@ our $VERSION = 0.03;
- our %Config;
- unless (%Config) { require Config; *Config = \%Config::Config; }
-
-+# Debian-specific change: recommend the separate Debian packages of
-+# deprecated modules where available
-+
-+our %DEBIAN_PACKAGES = (
-+ # None for the perl 5.22 cycle
-+);
-+
- # This isn't a public API. It's internal to code maintained by the perl-porters
- # If you would like it to be a public API, please send a patch with
- # documentation and tests. Until then, it may change without warning.
-@@ -58,9 +65,15 @@ EOM
- if (defined $callers_bitmask
- && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
- || vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
-- warn <<"EOM";
-+ if (my $deb = $DEBIAN_PACKAGES{$package}) {
-+ warn <<"EOM";
-+$package will be removed from the Perl core distribution in the next major release. Please install the separate $deb package. It is being used at $call_file, line $call_line.
-+EOM
-+ } else {
-+ warn <<"EOM";
- $package will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at $call_file, line $call_line.
- EOM
-+ }
- }
- }
- }
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/doc_info.diff b/poky/meta/recipes-devtools/perl/perl/debian/doc_info.diff
deleted file mode 100644
index 4662ecdaa..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/doc_info.diff
+++ /dev/null
@@ -1,36 +0,0 @@
-From e18f81e69c55d698abd293e71063d6b6b275cc07 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Fri, 18 Mar 2005 22:22:25 +1100
-Subject: Replace generic man(1) instructions with Debian-specific information.
-
-Indicate that the user needs to install the perl-doc package.
-
-Patch-Name: debian/doc_info.diff
-Upstream-Status: Pending
----
- pod/perl.pod | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/pod/perl.pod b/pod/perl.pod
-index 364e957..f97e103 100644
---- a/pod/perl.pod
-+++ b/pod/perl.pod
-@@ -291,8 +291,16 @@ aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
-
- =for buildtoc __END__
-
--On a Unix-like system, these documentation files will usually also be
--available as manpages for use with the F<man> program.
-+On Debian systems, you need to install the B<perl-doc> package which
-+contains the majority of the standard Perl documentation and the
-+F<perldoc> program.
-+
-+Extensive additional documentation for Perl modules is available, both
-+those distributed with Perl and third-party modules which are packaged
-+or locally installed.
-+
-+You should be able to view Perl's documentation with your man(1)
-+program or perldoc(1).
-
- Some documentation is not available as man pages, so if a
- cross-reference is not found by man, try it with L<perldoc>. Perldoc can
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff b/poky/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff
deleted file mode 100644
index b3bd58c1d..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/enc2xs_inc.diff
+++ /dev/null
@@ -1,71 +0,0 @@
-From 7fe59a3d0601c6d8634eae4f99dae3024cd02a92 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories.
-
-Bug-Debian: http://bugs.debian.org/290336
-
-- ignore missing directories,
-- follow symlinks (/usr/share/perl/5.8 -> 5.8.4).
-- filter "." out when running "enc2xs -C", it's unnecessary and causes
- issues with follow => 1 (see #603686 and [rt.cpan.org #64585])
-
-Patch-Name: debian/enc2xs_inc.diff
-Upstream-Status: Pending
----
- cpan/Encode/bin/enc2xs | 8 ++++----
- t/porting/customized.t | 3 +++
- 2 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
-index 19f2b2b..4d64e38 100644
---- a/cpan/Encode/bin/enc2xs
-+++ b/cpan/Encode/bin/enc2xs
-@@ -944,11 +944,11 @@ use vars qw(
- sub find_e2x{
- eval { require File::Find; };
- my (@inc, %e2x_dir);
-- for my $inc (@INC){
-+ for my $inc (grep -d, @INC){
- push @inc, $inc unless $inc eq '.'; #skip current dir
- }
- File::Find::find(
-- sub {
-+ { wanted => sub {
- my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
- $atime,$mtime,$ctime,$blksize,$blocks)
- = lstat($_) or return;
-@@ -958,7 +958,7 @@ sub find_e2x{
- $e2x_dir{$File::Find::dir} ||= $mtime;
- }
- return;
-- }, @inc);
-+ }, follow => 1}, @inc);
- warn join("\n", keys %e2x_dir), "\n";
- for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
- $_E2X = $d;
-@@ -1025,7 +1025,7 @@ sub make_configlocal_pm {
- $LocalMod{$enc} ||= $mod;
- }
- };
-- File::Find::find({wanted => $wanted}, @INC);
-+ File::Find::find({wanted => $wanted, follow => 1}, grep -d && !/^\./, @INC);
- $_ModLines = "";
- for my $enc ( sort keys %LocalMod ) {
- $_ModLines .=
-diff --git a/t/porting/customized.t b/t/porting/customized.t
-index 45fcafb..3bd6adb 100644
---- a/t/porting/customized.t
-+++ b/t/porting/customized.t
-@@ -101,8 +101,11 @@ foreach my $module ( sort keys %Modules ) {
- print $data_fh join(' ', $module, $file, $id), "\n";
- next;
- }
-+SKIP: {
-+ skip("$file modified for Debian", 1) if $file eq 'cpan/Encode/bin/enc2xs';
- my $should_be = $customised{ $module }->{ $file };
- is( $id, $should_be, "SHA for $file matches stashed SHA" );
-+}
- }
- }
-
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff b/poky/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff
deleted file mode 100644
index e023038f0..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/extutils_set_libperl_path.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-From 431275078b0490d2e092442d9582be06bb95b354 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Sat, 10 May 2014 23:34:14 +0300
-Subject: EU:MM: set location of libperl.a under /usr/lib
-
-The Debian packaging moves libperl.a a couple of levels up from the
-CORE directory to match other static libraries.
-
-Patch-Name: debian/extutils_set_libperl_path.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
- pp.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-index 5f1b87f..570a631 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -2505,7 +2505,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib}
- ($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
- }
- unless ($libperl && -f $lperl) { # Ilya's code...
-- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
-+ my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/../..";
- $dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
- $libperl ||= "libperl$self->{LIB_EXT}";
- $libperl = "$dir/$libperl";
-diff --git a/pp.c b/pp.c
-index 42f156a..77c1279 100644
---- a/pp.c
-+++ b/pp.c
-@@ -1,4 +1,4 @@
--/* pp.c
-+ /* pp.c
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- * 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fakeroot.diff b/poky/meta/recipes-devtools/perl/perl/debian/fakeroot.diff
deleted file mode 100644
index bdf34d185..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fakeroot.diff
+++ /dev/null
@@ -1,43 +0,0 @@
-From 27ae7b18078d801a2c943aa6de2f7e9808177251 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Fri, 18 Mar 2005 22:22:25 +1100
-Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets.
-
-Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the
-time the rule is evaluated rather than when the Makefile is created.
-
-This is required when building packages with dpkg-buildpackage and fakeroot,
-since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build"
-rule where the Makefile is created, but is for the clean/binary* targets.
-
-Patch-Name: debian/fakeroot.diff
-Upstream-Status: Pending
----
- Makefile.SH | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile.SH b/Makefile.SH
-index 034d812..04dd7d5 100755
---- a/Makefile.SH
-+++ b/Makefile.SH
-@@ -39,10 +39,7 @@ case "$useshrplib" in
- true)
- # Prefix all runs of 'miniperl' and 'perl' with
- # $ldlibpth so that ./perl finds *this* shared libperl.
-- case "$LD_LIBRARY_PATH" in
-- '') ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;;
-- *) ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;;
-- esac
-+ ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `"'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
-
- pldlflags="$cccdlflags"
- static_ldflags=''
-@@ -113,7 +110,7 @@ true)
- ;;
- esac
- case "$ldlibpthname" in
-- '') ;;
-+ ''|LD_LIBRARY_PATH) ;;
- *)
- case "$osname" in
- os2)
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/find_html2text.diff b/poky/meta/recipes-devtools/perl/perl/debian/find_html2text.diff
deleted file mode 100644
index 082709140..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/find_html2text.diff
+++ /dev/null
@@ -1,36 +0,0 @@
-From c81dbdedff9e9b4fb75ac028aa718838c0292d2f Mon Sep 17 00:00:00 2001
-From: Andreas Marschke <andreas.marschke@googlemail.com>
-Date: Sat, 17 Sep 2011 11:38:42 +0100
-Subject: Configure CPAN::Distribution with correct name of html2text
-
-Bug-Debian: http://bugs.debian.org/640479
-Patch-Name: debian/find_html2text.diff
-
-If you use cpan from Debian you usually wind up trying to read online
-documentation through it. Unfortunately cpan can't find the
-html2text.pl script even though it is installed using the Debian
-package 'html2text'.
-
-Please see the attached patch for a quick fix of this issue.
-
-[Maintainer's note: html2text in Debian is not the same implementation
-as the html2text.pl which is expected, but should provide similar
-functionality].
-Upstream-Status: Pending
----
- cpan/CPAN/lib/CPAN/Distribution.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cpan/CPAN/lib/CPAN/Distribution.pm b/cpan/CPAN/lib/CPAN/Distribution.pm
-index 092b781..5c2bae1 100644
---- a/cpan/CPAN/lib/CPAN/Distribution.pm
-+++ b/cpan/CPAN/lib/CPAN/Distribution.pm
-@@ -4099,7 +4099,7 @@ sub _display_url {
- if $CPAN::DEBUG;
-
- # should we define it in the config instead?
-- my $html_converter = "html2text.pl";
-+ my $html_converter = "html2text";
-
- my $web_browser = $CPAN::Config->{'lynx'} || undef;
- my $web_browser_out = $web_browser
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff
deleted file mode 100644
index f3d92583e..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/document_makemaker_ccflags.diff
+++ /dev/null
@@ -1,32 +0,0 @@
-From 9faf6dcc3a5c4154484d812eb3cc3dd78b35563b Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Mon, 30 May 2011 22:54:24 +0300
-Subject: Document that CCFLAGS should include $Config{ccflags}
-
-Bug: https://rt.cpan.org/Public/Bug/Display.html?id=68613
-Bug-Debian: http://bugs.debian.org/628522
-
-Compiling XS extensions without $Config{ccflags} can break the
-binary interface on some platforms.
-
-Patch-Name: fixes/document_makemaker_ccflags.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
-index fe95b27..90403e8 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
-@@ -1774,6 +1774,10 @@ currently used by MakeMaker but may be handy in Makefile.PLs.
- String that will be included in the compiler call command line between
- the arguments INC and OPTIMIZE.
-
-+The default value is taken from $Config{ccflags}. When overriding
-+CCFLAGS, make sure to include the $Config{ccflags} settings to avoid
-+binary incompatibilities.
-+
- =item CONFIG
-
- Arrayref. E.g. [qw(archname manext)] defines ARCHNAME & MANEXT from
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff
deleted file mode 100644
index d9b36f6d2..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff
+++ /dev/null
@@ -1,111 +0,0 @@
-From 55d430eb02fc116581847304ca20321687978269 Mon Sep 17 00:00:00 2001
-From: Jonathan Nieder <jrnieder@gmail.com>
-Date: Fri, 27 Jul 2012 10:35:07 -0500
-Subject: Memoize::Storable: respect 'nstore' option not respected
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Memoize(3perl) says:
-
- tie my %cache => 'Memoize::Storable', $filename, 'nstore';
- memoize 'function', SCALAR_CACHE => [HASH => \%cache];
-
- Include the â€nstore’ option to have the "Storable" database
- written in â€network order’. (See Storable for more details
- about this.)
-
-In fact the "nstore" option does no such thing. Option parsing looks
-like this:
-
- @options{@_} = ();
-
-$self->{OPTIONS}{'nstore'} is accordingly set to undef. Later
-Memoize::Storable checks if the option is true, and since undef is
-not true, the "else" branch is always taken.
-
- if ($self->{OPTIONS}{'nstore'}) {
- Storable::nstore($self->{H}, $self->{FILENAME});
- } else {
- Storable::store($self->{H}, $self->{FILENAME});
- }
-
-Correcting the condition to (exists $self->{OPTIONS}{'nstore'}) fixes
-it.
-
-Noticed because git-svn, which uses the 'nstore' option for its
-on-disk caches, was producing
-
- Byte order is not compatible at ../../lib/Storable.pm
-
-when run using a perl with a different integer size (and hence
-byteorder).
-
-Reported by Tim Retout (RT#77790)
-
-Bug-Debian: http://bugs.debian.org/587650
-Bug: https://rt.cpan.org/Public/Bug/Display.html?id=77790
-Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=77790
-Patch-Name: fixes/memoize_storable_nstore.diff
-Upstream-Status: Pending
----
- cpan/Memoize/Memoize/Storable.pm | 2 +-
- cpan/Memoize/t/tie_storable.t | 24 ++++++++++++++++++++----
- 2 files changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/cpan/Memoize/Memoize/Storable.pm b/cpan/Memoize/Memoize/Storable.pm
-index 1314797..87876f2 100644
---- a/cpan/Memoize/Memoize/Storable.pm
-+++ b/cpan/Memoize/Memoize/Storable.pm
-@@ -55,7 +55,7 @@ sub DESTROY {
- require Carp if $Verbose;
- my $self= shift;
- print STDERR "Memoize::Storable::DESTROY(@_)\n" if $Verbose;
-- if ($self->{OPTIONS}{'nstore'}) {
-+ if (exists $self->{OPTIONS}{'nstore'}) {
- Storable::nstore($self->{H}, $self->{FILENAME});
- } else {
- Storable::store($self->{H}, $self->{FILENAME});
-diff --git a/cpan/Memoize/t/tie_storable.t b/cpan/Memoize/t/tie_storable.t
-index de3b8dc..a624238 100644
---- a/cpan/Memoize/t/tie_storable.t
-+++ b/cpan/Memoize/t/tie_storable.t
-@@ -31,18 +31,34 @@ if ($@) {
- exit 0;
- }
-
--print "1..4\n";
-+print "1..9\n";
-
- $file = "storable$$";
- 1 while unlink $file;
- tryout('Memoize::Storable', $file, 1); # Test 1..4
- 1 while unlink $file;
-+tryout('Memoize::Storable', $file, 5, 'nstore'); # Test 5..8
-+assert_netorder($file, 9); # Test 9
-+1 while unlink $file;
-+
-+
-+sub assert_netorder {
-+ my ($file, $testno) = @_;
-+
-+ my $netorder = Storable::file_magic($file)->{'netorder'};
-+ print ($netorder ? "ok $testno\n" : "not ok $testno\n");
-+}
-
- sub tryout {
-- my ($tiepack, $file, $testno) = @_;
-+ my ($tiepack, $file, $testno, $option) = @_;
-
-- tie my %cache => $tiepack, $file
-- or die $!;
-+ if (defined $option) {
-+ tie my %cache => $tiepack, $file, $option
-+ or die $!;
-+ } else {
-+ tie my %cache => $tiepack, $file
-+ or die $!;
-+ }
-
- memoize 'c5',
- SCALAR_CACHE => [HASH => \%cache],
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff
deleted file mode 100644
index afcf7fb01..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/net_smtp_docs.diff
+++ /dev/null
@@ -1,26 +0,0 @@
-From fa085fedd9c406edcd4a1a256c025d5ff7f6c6de Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Thu, 20 Sep 2007 19:47:14 +1000
-Subject: Document the Net::SMTP 'Port' option
-
-Bug-Debian: http://bugs.debian.org/100195
-Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038
-
-Patch-Name: fixes/net_smtp_docs.diff
-Upstream-Status: Pending
----
- cpan/libnet/lib/Net/SMTP.pm | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/cpan/libnet/lib/Net/SMTP.pm b/cpan/libnet/lib/Net/SMTP.pm
-index afd017a..6ae7d9e 100644
---- a/cpan/libnet/lib/Net/SMTP.pm
-+++ b/cpan/libnet/lib/Net/SMTP.pm
-@@ -738,6 +738,7 @@ Net::SMTP will attempt to extract the address from the value passed.
-
- B<Debug> - Enable debugging information
-
-+B<Port> - Select a port on the remote host to connect to (default is 25)
-
- Example:
-
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff
deleted file mode 100644
index 9bdf41b47..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/perl-Cnn.diff
+++ /dev/null
@@ -1,74 +0,0 @@
-From 0ecf83f259db09cb38cb37c9b22e72be185afa8f Mon Sep 17 00:00:00 2001
-From: Hugo van der Sanden <hv@crypt.org>
-Date: Thu, 11 Jun 2015 12:25:40 +0100
-Subject: fix -Cnn parsing
-
-Commit 22ff313068 for [perl #123814] inadvertently changed the logic when
-parsing a numeric parameter to the -C option, such that the successfully
-parsed number was not saved as the option value if it parsed to the end
-of the argument.
-
-Bug: https://rt.perl.org/Ticket/Display.html?id=125381
-Bug-Debian: https://bugs.debian.org/788636
-Origin: upstream, http://perl5.git.perl.org/perl.git/commit/89d84ff965
-Patch-Name: fixes/perl-Cnn.diff
-Upstream-Status: Pending
----
- t/run/switchC.t | 7 ++++++-
- util.c | 17 ++++++++---------
- 2 files changed, 14 insertions(+), 10 deletions(-)
-
-diff --git a/t/run/switchC.t b/t/run/switchC.t
-index f6aa868..4f63c3b 100644
---- a/t/run/switchC.t
-+++ b/t/run/switchC.t
-@@ -11,7 +11,7 @@ BEGIN {
- skip_all_if_miniperl('-C and $ENV{PERL_UNICODE} are disabled on miniperl');
- }
-
--plan(tests => 13);
-+plan(tests => 14);
-
- my $r;
-
-@@ -25,6 +25,11 @@ $r = runperl( switches => [ '-CO', '-w' ],
- stderr => 1 );
- like( $r, qr/^$b(?:\r?\n)?$/s, '-CO: no warning on UTF-8 output' );
-
-+$r = runperl( switches => [ '-C2', '-w' ],
-+ prog => 'print chr(256)',
-+ stderr => 1 );
-+like( $r, qr/^$b(?:\r?\n)?$/s, '-C2: no warning on UTF-8 output' );
-+
- SKIP: {
- if (exists $ENV{PERL_UNICODE} &&
- ($ENV{PERL_UNICODE} eq "" || $ENV{PERL_UNICODE} =~ /[SO]/)) {
-diff --git a/util.c b/util.c
-index 8cf62f5..ee23314 100644
---- a/util.c
-+++ b/util.c
-@@ -4420,16 +4420,15 @@ Perl_parse_unicode_opts(pTHX_ const char **popt)
- if (isDIGIT(*p)) {
- const char* endptr;
- UV uv;
-- if (grok_atoUV(p, &uv, &endptr)
-- && uv <= U32_MAX
-- && (p = endptr)
-- && *p && *p != '\n' && *p != '\r'
-- ) {
-+ if (grok_atoUV(p, &uv, &endptr) && uv <= U32_MAX) {
- opt = (U32)uv;
-- if (isSPACE(*p))
-- goto the_end_of_the_opts_parser;
-- else
-- Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p);
-+ p = endptr;
-+ if (p && *p && *p != '\n' && *p != '\r') {
-+ if (isSPACE(*p))
-+ goto the_end_of_the_opts_parser;
-+ else
-+ Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p);
-+ }
- }
- }
- else {
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff
deleted file mode 100644
index d23573f18..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/pod_man_reproducible_date.diff
+++ /dev/null
@@ -1,171 +0,0 @@
-From 9057adc106d6bbef53c9e706523cd94f1a7a08d4 Mon Sep 17 00:00:00 2001
-From: Russ Allbery <rra@debian.org>
-Date: Sat, 30 Aug 2014 15:10:41 -0700
-Subject: Support POD_MAN_DATE in Pod::Man for the left-hand footer
-
-Honor the environment variable POD_MAN_DATE and use its contents, if
-set, as the value of the left-hand footer if the date option is not
-set, overriding the timestamp of the input file. This is primarily
-useful to ensure reproducible builds of the same output file given the
-same souce and Pod::Man version, even when file timestamps may not be
-consistent. Thanks, Niko Tyni.
-
-Bug-Debian: http://bugs.debian.org/759405
-Origin: upstream
-Patch-Name: fixes/pod_man_reproducible_date.diff
-Upstream-Status: Pending
----
- cpan/podlators/lib/Pod/Man.pm | 69 +++++++++++++++++++++++++++++++-----------
- cpan/podlators/t/devise-date.t | 29 +++++++++++++-----
- 2 files changed, 72 insertions(+), 26 deletions(-)
-
-diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
-index 72ca9ff..0536662 100644
---- a/cpan/podlators/lib/Pod/Man.pm
-+++ b/cpan/podlators/lib/Pod/Man.pm
-@@ -876,25 +876,42 @@ sub devise_title {
- }
-
- # Determine the modification date and return that, properly formatted in ISO
--# format. If we can't get the modification date of the input, instead use the
--# current time. Pod::Simple returns a completely unuseful stringified file
--# handle as the source_filename for input from a file handle, so we have to
--# deal with that as well.
-+# format.
-+#
-+# If POD_MAN_DATE is set, that overrides anything else. This can be used for
-+# reproducible generation of the same file even if the input file timestamps
-+# are unpredictable or the POD coms from standard input.
-+#
-+# Otherwise, use the modification date of the input if we can stat it. Be
-+# aware that Pod::Simple returns the stringification of the file handle as
-+# source_filename for input from a file handle, so we'll stat some random ref
-+# string in that case. If that fails, instead use the current time.
-+#
-+# $self - Pod::Man object, used to get the source file
-+#
-+# Returns: YYYY-MM-DD date suitable for the left-hand footer
- sub devise_date {
- my ($self) = @_;
-+
-+ # If POD_MAN_DATE is set, always use it.
-+ if ($ENV{POD_MAN_DATE}) {
-+ return $ENV{POD_MAN_DATE};
-+ }
-+
-+ # Otherwise, get the input filename and try to stat it. If that fails,
-+ # use the current time.
- my $input = $self->source_filename;
- my $time;
- if ($input) {
-- $time = (stat $input)[9] || time;
-+ $time = (stat($input))[9] || time();
- } else {
-- $time = time;
-+ $time = time();
- }
-
-- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker
-- # uses this and it has to work in the core which can't load dynamic
-- # libraries.
-- my ($year, $month, $day) = (localtime $time)[5,4,3];
-- return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
-+ # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
-+ # this and it has to work in the core which can't load dynamic libraries.
-+ my ($year, $month, $day) = (localtime($time))[5,4,3];
-+ return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
- }
-
- # Print out the preamble and the title. The meaning of the arguments to .TH
-@@ -1632,6 +1649,15 @@ argument.
- Sets the centered page header to use instead of "User Contributed Perl
- Documentation".
-
-+=item date
-+
-+Sets the left-hand footer. If this option is not set, the contents of the
-+environment variable POD_MAN_DATE, if set, will be used. Failing that,
-+the modification date of the input file will be used, or the current time
-+if stat() can't find that file (which will be the case if the input is
-+from C<STDIN>). If obtained from the file modification date or the
-+current time, he date will be formatted as C<YYYY-MM-DD>.
-+
- =item errors
-
- How to report errors. C<die> says to throw an exception on any POD
-@@ -1642,13 +1668,6 @@ POD errors entirely, as much as possible.
-
- The default is C<pod>.
-
--=item date
--
--Sets the left-hand footer. By default, the modification date of the input
--file will be used, or the current date if stat() can't find that file (the
--case if the input is from C<STDIN>), and the date will be formatted as
--C<YYYY-MM-DD>.
--
- =item fixed
-
- The fixed-width font to use for verbatim text and code. Defaults to
-@@ -1810,6 +1829,20 @@ option was set to C<die>.
-
- =back
-
-+=head1 ENVIRONMENT
-+
-+=over 4
-+
-+=item POD_MAN_DATE
-+
-+If set, this will be used as the value of the left-hand footer unless the
-+C<date> option is explicitly set, overriding the timestamp of the input
-+file or the current time. This is primarily useful to ensure reproducible
-+builds of the same output file given the same souce and Pod::Man version,
-+even when file timestamps may not be consistent.
-+
-+=back
-+
- =head1 BUGS
-
- Encoding handling assumes that PerlIO is available and does not work
-diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t
-index 3cce9f5..c610dd9 100644
---- a/cpan/podlators/t/devise-date.t
-+++ b/cpan/podlators/t/devise-date.t
-@@ -1,15 +1,28 @@
--#!/usr/bin/perl -w
--
--# In order for MakeMaker to build in the core, nothing can use
--# Fcntl which includes POSIX. devise_date()'s use of strftime()
--# was replaced. This tests that it's identical.
-+#!/usr/bin/perl
-+#
-+# In order for MakeMaker to build in the core, nothing can use Fcntl which
-+# includes POSIX. devise_date()'s use of strftime() was replaced. This tests
-+# that it's identical. It also tests special handling of the POD_MAN_DATE
-+# environment variable.
-
-+use 5.006;
- use strict;
--
--use Test::More tests => 1;
-+use warnings;
-
- use Pod::Man;
- use POSIX qw(strftime);
-
-+use Test::More tests => 2;
-+
-+# Check that the results of device_date matches strftime. There is no input
-+# file name, so this will use the current time.
- my $parser = Pod::Man->new;
--is $parser->devise_date, strftime("%Y-%m-%d", localtime);
-+is(
-+ $parser->devise_date,
-+ strftime('%Y-%m-%d', localtime()),
-+ 'devise_date matches strftime'
-+);
-+
-+# Set the override environment variable and ensure that it's honored.
-+local $ENV{POD_MAN_DATE} = '2014-01-01';
-+is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE');
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff
deleted file mode 100644
index 9de29b865..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-empty-date.diff
+++ /dev/null
@@ -1,52 +0,0 @@
-From 183bb4af7ad862a2cf31d0dcb3dd45c100f76776 Mon Sep 17 00:00:00 2001
-From: Russ Allbery <rra@cpan.org>
-Date: Wed, 15 Apr 2015 22:21:25 -0700
-Subject: Support an empty POD_MAN_DATE environment variable
-
-One may want to set this to an empty string. Handle that correctly.
-
-(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
-
-Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=e0e9fcb53e8fc954b2b1955385eea18c27f869af
-Bug-Debian: https://bugs.debian.org/780259
-Patch-Name: fixes/podman-empty-date.diff
-Upstream-Status: Pending
----
- cpan/podlators/lib/Pod/Man.pm | 2 +-
- cpan/podlators/t/devise-date.t | 6 +++++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
-index 365892e..8997a15 100644
---- a/cpan/podlators/lib/Pod/Man.pm
-+++ b/cpan/podlators/lib/Pod/Man.pm
-@@ -894,7 +894,7 @@ sub devise_date {
- my ($self) = @_;
-
- # If POD_MAN_DATE is set, always use it.
-- if ($ENV{POD_MAN_DATE}) {
-+ if (defined($ENV{POD_MAN_DATE})) {
- return $ENV{POD_MAN_DATE};
- }
-
-diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t
-index 9da9d1b..27271d9 100644
---- a/cpan/podlators/t/devise-date.t
-+++ b/cpan/podlators/t/devise-date.t
-@@ -12,7 +12,7 @@ use warnings;
- use Pod::Man;
- use POSIX qw(strftime);
-
--use Test::More tests => 2;
-+use Test::More tests => 3;
-
- # Check that the results of device_date matches strftime. There is no input
- # file name, so this will use the current time.
-@@ -26,3 +26,7 @@ is(
- # Set the override environment variable and ensure that it's honored.
- local $ENV{POD_MAN_DATE} = '2014-01-01';
- is($parser->devise_date, '2014-01-01', 'devise_date honors POD_MAN_DATE');
-+
-+# Check that an empty environment variable is honored.
-+local $ENV{POD_MAN_DATE} = q{};
-+is($parser->devise_date, q{}, 'devise_date honors empty POD_MAN_DATE');
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff
deleted file mode 100644
index d8858d8a6..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-pipe.diff
+++ /dev/null
@@ -1,110 +0,0 @@
-From 7671d101baa75d7a79bfbd8c75c1595fbb3f53ba Mon Sep 17 00:00:00 2001
-From: Russ Allbery <rra@cpan.org>
-Date: Sat, 7 Feb 2015 19:03:34 -0800
-Subject: Better errors for man pages from standard input
-
-[Pod::Man] Attempt to detect if the input came from a pipe and
-therefore has a completely unhelpful (and nonreproducible) source file
-name, and diagnose this as an error. Document that the name option
-(--name to pod2man) is required when processing POD source from
-standard input. (Debian Bug#777405)
-
-(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
-
-Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=d98872e46c93861b7aba14949e1258712087dc55
-Bug-Debian: https://bugs.debian.org/777405
-Patch-Name: fixes/podman-pipe.diff
-Upstream-Status: Pending
----
- cpan/podlators/lib/Pod/Man.pm | 15 +++++++++++++++
- cpan/podlators/scripts/pod2man.PL | 4 ++++
- cpan/podlators/t/devise-title.t | 32 ++++++++++++++++++++++++++++++++
- 3 files changed, 51 insertions(+)
- create mode 100755 cpan/podlators/t/devise-title.t
-
-diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
-index 8997a15..969eaff 100644
---- a/cpan/podlators/lib/Pod/Man.pm
-+++ b/cpan/podlators/lib/Pod/Man.pm
-@@ -828,6 +828,17 @@ sub devise_title {
- $section = 3 if (!$$self{section} && $name =~ /\.pm\z/i);
- $name =~ s/\.p(od|[lm])\z//i;
-
-+ # If Pod::Parser gave us an IO::File reference as the source file name,
-+ # convert that to the empty string as well. Then, if we don't have a
-+ # valid name, emit a warning and convert it to STDIN.
-+ if ($name =~ /^IO::File(?:=\w+)\(0x[\da-f]+\)$/i) {
-+ $name = '';
-+ }
-+ if ($name eq '') {
-+ $self->whine (1, 'No name given for document');
-+ $name = 'STDIN';
-+ }
-+
- # If the section isn't 3, then the name defaults to just the basename of
- # the file. Otherwise, assume we're dealing with a module. We want to
- # figure out the full module name from the path to the file, but we don't
-@@ -1705,6 +1716,10 @@ module path. If it is, a path like C<.../lib/Pod/Man.pm> is converted into
- a name like C<Pod::Man>. This option, if given, overrides any automatic
- determination of the name.
-
-+If generating a manual page from standard input, this option is required,
-+since there's otherwise no way for Pod::Man to know what to use for the
-+manual page name.
-+
- =item nourls
-
- Normally, LZ<><> formatting codes with a URL but anchor text are formatted
-diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL
-index 38695f8..43e35df 100644
---- a/cpan/podlators/scripts/pod2man.PL
-+++ b/cpan/podlators/scripts/pod2man.PL
-@@ -236,6 +236,10 @@ Note that this option is probably not useful when converting multiple POD
- files at once. The convention for Unix man pages for commands is for the
- man page title to be in all-uppercase even if the command isn't.
-
-+When converting POD source from standard input, this option is required,
-+since there's otherwise no way to know what to use as the name of the
-+manual page.
-+
- =item B<--nourls>
-
- Normally, LZ<><> formatting codes with a URL but anchor text are formatted
-diff --git a/cpan/podlators/t/devise-title.t b/cpan/podlators/t/devise-title.t
-new file mode 100755
-index 0000000..8639441
---- /dev/null
-+++ b/cpan/podlators/t/devise-title.t
-@@ -0,0 +1,32 @@
-+#!/usr/bin/perl
-+#
-+# Tests for the automatic determination of the manual page title if not
-+# specified via options to pod2man or the Pod::Man constructor.
-+
-+use 5.006;
-+use strict;
-+use warnings;
-+
-+use File::Spec;
-+use IO::File;
-+use Test::More tests => 3;
-+
-+BEGIN {
-+ use_ok('Pod::Man');
-+}
-+
-+# Create a parser and set it up with an input source. There isn't a way to do
-+# this in Pod::Simple without actually parsing the document, so send the
-+# output to a string that we'll ignore.
-+my $path = File::Spec->catdir('t', 'data', 'basic.pod');
-+my $handle = IO::File->new($path, 'r');
-+my $parser = Pod::Man->new(errors => 'pod');
-+my $output;
-+$parser->output_string(\$output);
-+$parser->parse_file($handle);
-+
-+# Check the results of devise_title for this. We should get back STDIN, and
-+# we should have reported an error.
-+my ($name, $section) = $parser->devise_title;
-+is($name, 'STDIN', 'devise_title uses STDIN for file handle input');
-+ok($parser->errors_seen, '...and errors were seen');
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff
deleted file mode 100644
index b6ae409ac..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc-docs.diff
+++ /dev/null
@@ -1,87 +0,0 @@
-From 6198856b5323d6204094293f01b890472618f182 Mon Sep 17 00:00:00 2001
-From: Russ Allbery <rra@cpan.org>
-Date: Wed, 15 Apr 2015 20:49:07 -0700
-Subject: Documentation and test suite updates for UTC fix
-
-Update the Pod::Man and pod2man documentation and the test suite
-for the new UTC-based default page footer, and add a Changes
-entry.
-
-(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
-
-Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=52db93bf80e4a06f8497e4ebade0506b6ee0e70d
-Bug-Debian: https://bugs.debian.org/780259
-Patch-Name: fixes/podman-utc-docs.diff
-Upstream-Status: Pending
----
- cpan/podlators/lib/Pod/Man.pm | 6 +++++-
- cpan/podlators/scripts/pod2man.PL | 11 ++++++-----
- cpan/podlators/t/devise-date.t | 2 +-
- 3 files changed, 12 insertions(+), 7 deletions(-)
-
-diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
-index c3ba201..365892e 100644
---- a/cpan/podlators/lib/Pod/Man.pm
-+++ b/cpan/podlators/lib/Pod/Man.pm
-@@ -910,6 +910,8 @@ sub devise_date {
-
- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
- # this and it has to work in the core which can't load dynamic libraries.
-+ # Use gmtime instead of localtime so that the generated man page does not
-+ # depend on the local time zone setting and is more reproducible
- my ($year, $month, $day) = (gmtime($time))[5,4,3];
- return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
- }
-@@ -1656,7 +1658,9 @@ environment variable POD_MAN_DATE, if set, will be used. Failing that,
- the modification date of the input file will be used, or the current time
- if stat() can't find that file (which will be the case if the input is
- from C<STDIN>). If obtained from the file modification date or the
--current time, he date will be formatted as C<YYYY-MM-DD>.
-+current time, the date will be formatted as C<YYYY-MM-DD> and will be based
-+on UTC (so that the output will be reproducible regardless of local time
-+zone).
-
- =item errors
-
-diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/scripts/pod2man.PL
-index 6af3474..38695f8 100644
---- a/cpan/podlators/scripts/pod2man.PL
-+++ b/cpan/podlators/scripts/pod2man.PL
-@@ -174,9 +174,10 @@ Contributed Perl Documentation", but also see B<--official> below.
-
- =item B<-d> I<string>, B<--date>=I<string>
-
--Set the left-hand footer string to this value. By default, the modification
--date of the input file will be used, or the current date if input comes from
--C<STDIN>.
-+Set the left-hand footer string to this value. By default, the
-+modification date of the input file will be used, or the current date if
-+input comes from C<STDIN>, and will be based on UTC (so that the output
-+will be reproducible regardless of local time zone).
-
- =item B<-errors>=I<style>
-
-@@ -383,8 +384,8 @@ B<pod2man> by Larry Wall and Tom Christiansen.
-
- =head1 COPYRIGHT AND LICENSE
-
--Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ
--Allbery <rra@stanford.edu>.
-+Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014,
-+2015 Russ Allbery <rra@cpan.org>.
-
- This program is free software; you may redistribute it and/or modify it
- under the same terms as Perl itself.
-diff --git a/cpan/podlators/t/devise-date.t b/cpan/podlators/t/devise-date.t
-index c610dd9..9da9d1b 100644
---- a/cpan/podlators/t/devise-date.t
-+++ b/cpan/podlators/t/devise-date.t
-@@ -19,7 +19,7 @@ use Test::More tests => 2;
- my $parser = Pod::Man->new;
- is(
- $parser->devise_date,
-- strftime('%Y-%m-%d', localtime()),
-+ strftime('%Y-%m-%d', gmtime()),
- 'devise_date matches strftime'
- );
-
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff
deleted file mode 100644
index 3fb7c20dd..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/podman-utc.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-From c796775cdbd2cce06acbb7ac355187d4063017a2 Mon Sep 17 00:00:00 2001
-From: Chris Lamb <lamby@debian.org>
-Date: Wed, 15 Apr 2015 20:42:53 -0700
-Subject: Make the embedded date from Pod::Man reproducible
-
-While working on the "reproducible builds" effort, we have noticed
-that Pod::Man generates output that varies depending on the current
-timezone.
-
-The attached patch fixes this by using GMT (~UTC) dates instead.
-
-(backported to Perl 5.20.2 by Niko Tyni <ntyni@debian.org>)
-
-Origin: upstream, http://git.eyrie.org/?p=perl/podlators.git;a=commitdiff;h=913fbb2bd2ce071e20128629302ae2852554cad4
-Bug-Debian: https://bugs.debian.org/780259
-Patch-Name: fixes/podman-utc.diff
-Upstream-Status: Pending
----
- cpan/podlators/lib/Pod/Man.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
-index 0536662..c3ba201 100644
---- a/cpan/podlators/lib/Pod/Man.pm
-+++ b/cpan/podlators/lib/Pod/Man.pm
-@@ -910,7 +910,7 @@ sub devise_date {
-
- # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
- # this and it has to work in the core which can't load dynamic libraries.
-- my ($year, $month, $day) = (localtime($time))[5,4,3];
-+ my ($year, $month, $day) = (gmtime($time))[5,4,3];
- return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
- }
-
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff b/poky/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff
deleted file mode 100644
index c8663f535..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/fixes/respect_umask.diff
+++ /dev/null
@@ -1,154 +0,0 @@
-From d9d535ef97f57af6e9728075944c33f3b0b5372f Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Respect umask during installation
-
-This is needed to satisfy Debian policy regarding group-writable
-site directories.
-
-Patch-Name: fixes/respect_umask.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++++++---------
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++---------
- 2 files changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
-index 1e8ac4c..3e79121 100644
---- a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
-+++ b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
-@@ -451,7 +451,7 @@ sub _can_write_dir {
-
- =pod
-
--=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
-+=item _mkpath($dir,$show,$verbose,$dry_run)
-
- Wrapper around File::Path::mkpath() to handle errors.
-
-@@ -468,13 +468,13 @@ writable.
- =cut
-
- sub _mkpath {
-- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
-+ my ($dir,$show,$verbose,$dry_run)=@_;
- if ( $verbose && $verbose > 1 && ! -d $dir) {
- $show= 1;
-- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
-+ printf "mkpath(%s,%d)\n", $dir, $show;
- }
- if (!$dry_run) {
-- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
-+ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
- _choke("Can't create '$dir'","$@");
- }
-
-@@ -783,7 +783,7 @@ sub install { #XXX OS-SPECIFIC
- _chdir($cwd);
- }
- foreach my $targetdir (sort keys %check_dirs) {
-- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
-+ _mkpath( $targetdir, 0, $verbose, $dry_run );
- }
- foreach my $found (@found_files) {
- my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
-@@ -797,7 +797,7 @@ sub install { #XXX OS-SPECIFIC
- $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
- unless $dry_run;
- } elsif ( ! -d $targetdir ) {
-- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
-+ _mkpath( $targetdir, 0, $verbose, $dry_run );
- }
- print "Installing $targetfile\n";
-
-@@ -837,7 +837,7 @@ sub install { #XXX OS-SPECIFIC
-
- if ($pack{'write'}) {
- $dir = install_rooted_dir(dirname($pack{'write'}));
-- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
-+ _mkpath( $dir, 0, $verbose, $dry_run );
- print "Writing $pack{'write'}\n" if $verbose;
- $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
- }
-@@ -1180,7 +1180,7 @@ environment variable will silence this output.
- sub pm_to_blib {
- my($fromto,$autodir,$pm_filter) = @_;
-
-- _mkpath($autodir,0,0755);
-+ _mkpath($autodir,0);
- while(my($from, $to) = each %$fromto) {
- if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
- print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
-@@ -1203,7 +1203,7 @@ sub pm_to_blib {
- # we wont try hard here. its too likely to mess things up.
- forceunlink($to);
- } else {
-- _mkpath(dirname($to),0,0755);
-+ _mkpath(dirname($to),0);
- }
- if ($need_filtering) {
- run_filter($pm_filter, $from, $to);
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-index f63145c..197f102 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -2118,7 +2118,7 @@ doc__install : doc_site_install
- $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
-
- pure_perl_install :: all
-- $(NOECHO) $(MOD_INSTALL) \
-+ $(NOECHO) umask 022; $(MOD_INSTALL) \
- };
-
- push @m,
-@@ -2138,7 +2138,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
-
-
- pure_site_install :: all
-- $(NOECHO) $(MOD_INSTALL) \
-+ $(NOECHO) umask 022; $(MOD_INSTALL) \
- };
- push @m,
- q{ read "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
-@@ -2156,7 +2156,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \
- "}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{"
-
- pure_vendor_install :: all
-- $(NOECHO) $(MOD_INSTALL) \
-+ $(NOECHO) umask 022; $(MOD_INSTALL) \
- };
- push @m,
- q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
-@@ -2188,8 +2188,8 @@ doc_vendor_install :: all
- push @m, q{
- doc_perl_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
-- -$(NOECHO) $(DOC_INSTALL) \
-+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
-+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLPRIVLIB) \
- LINKTYPE "$(LINKTYPE)" \
-@@ -2199,8 +2199,8 @@ doc_perl_install :: all
-
- doc_site_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
-- -$(NOECHO) $(DOC_INSTALL) \
-+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
-+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLSITELIB) \
- LINKTYPE "$(LINKTYPE)" \
-@@ -2210,8 +2210,8 @@ doc_site_install :: all
-
- doc_vendor_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
-- -$(NOECHO) $(DOC_INSTALL) \
-+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
-+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLVENDORLIB) \
- LINKTYPE "$(LINKTYPE)" \
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff b/poky/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff
deleted file mode 100644
index 7e1fd697c..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/instmodsh_doc.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-From 26209b55201a1b2d25252ac3b425bc49081299de Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Debian policy doesn't install .packlist files for core or vendor.
-
-Patch-Name: debian/instmodsh_doc.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-MakeMaker/bin/instmodsh | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh
-index 8b9aa95..e551434 100644
---- a/cpan/ExtUtils-MakeMaker/bin/instmodsh
-+++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh
-@@ -18,9 +18,11 @@ instmodsh - A shell to examine installed modules
-
- =head1 DESCRIPTION
-
--A little interface to ExtUtils::Installed to examine installed modules,
-+A little interface to ExtUtils::Installed to examine locally* installed modules,
- validate your packlists and even create a tarball from an installed module.
-
-+*On Debian system, B<core> and B<vendor> modules are managed by C<dpkg>.
-+
- =head1 SEE ALSO
-
- ExtUtils::Installed
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff b/poky/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff
deleted file mode 100644
index ff0b2871f..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/ld_run_path.diff
+++ /dev/null
@@ -1,25 +0,0 @@
-From 53ce69085918232a1b7e26e7762c1b2f70b1eb4a Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Fri, 18 Mar 2005 22:22:25 +1100
-Subject: Remove standard libs from LD_RUN_PATH as per Debian policy.
-
-Patch-Name: debian/ld_run_path.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
-index 37bcfd4..bd66e65 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
-@@ -56,6 +56,9 @@ sub _unix_os2_ext {
- my ( $pwd ) = cwd(); # from Cwd.pm
- my ( $found ) = 0;
-
-+ # Debian-specific: don't use LD_RUN_PATH for standard dirs
-+ $ld_run_path_seen{$_}++ for @libpath;
-+
- foreach my $thislib ( split ' ', $potential_libs ) {
- my ( $custom_name ) = '';
-
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff b/poky/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff
deleted file mode 100644
index d5347422d..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/libnet_config_path.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-From a7f6d453e60256d329469a75b642cca854cebea1 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be
- writable.
-
-Patch-Name: debian/libnet_config_path.diff
-Upstream-Status: Pending
----
- cpan/libnet/lib/Net/Config.pm | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/cpan/libnet/lib/Net/Config.pm b/cpan/libnet/lib/Net/Config.pm
-index 953a826..61ba12a 100644
---- a/cpan/libnet/lib/Net/Config.pm
-+++ b/cpan/libnet/lib/Net/Config.pm
-@@ -68,9 +68,8 @@ my %nc = (
- TRY_INTERNET_CONFIG
- }
-
--my $file = __FILE__;
-+my $file = '/etc/perl/Net/libnet.cfg';
- my $ref;
--$file =~ s/Config.pm/libnet.cfg/;
- if (-f $file) {
- $ref = eval { local $SIG{__DIE__}; do $file };
- if (ref($ref) eq 'HASH') {
-@@ -142,8 +141,8 @@ Net::Config - Local configuration data for libnet
- C<Net::Config> holds configuration data for the modules in the libnet
- distribution. During installation you will be asked for these values.
-
--The configuration data is held globally in a file in the perl installation
--tree, but a user may override any of these values by providing their own. This
-+The configuration data is held globally in C</etc/perl/Net/libnet.cfg>,
-+but a user may override any of these values by providing their own. This
- can be done by having a C<.libnetrc> file in their home directory. This file
- should return a reference to a HASH containing the keys described below.
- For example
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff b/poky/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff
deleted file mode 100644
index 0cdc0d3e3..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/libperl_embed_doc.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-From fb8bdbb4bf56382de099e62c2564286b9dfda46d Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Note that libperl-dev package is required for embedded linking
-
-Bug-Debian: http://bugs.debian.org/186778
-
-Patch-Name: debian/libperl_embed_doc.diff
-Upstream-Status: Pending
----
- lib/ExtUtils/Embed.pm | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
-index 3f983c1..0ec8a67 100644
---- a/lib/ExtUtils/Embed.pm
-+++ b/lib/ExtUtils/Embed.pm
-@@ -296,6 +296,9 @@ and extensions in your C/C++ applications.
- Typically, an application F<Makefile> will invoke C<ExtUtils::Embed>
- functions while building your application.
-
-+Note that on Debian systems the B<libperl-dev> package is required for
-+compiling applications which embed an interpreter.
-+
- =head1 @EXPORT
-
- C<ExtUtils::Embed> exports the following functions:
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff b/poky/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff
deleted file mode 100644
index 7cf1242c0..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/locale-robustness.diff
+++ /dev/null
@@ -1,53 +0,0 @@
-From 289eaf87f8de4d9ebfd661d4e4299c2952435243 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Fri, 10 Apr 2015 10:19:51 +0300
-Subject: Make t/run/locale.t survive missing locales masked by LC_ALL
-
-If LC_ALL is set to a valid locale but another LC_* setting like LC_CTYPE
-isn't, t/run/locale.t would fail because it explicitly unsets LC_ALL,
-unmasking the problem underneath. All the other tests survive such
-a scenario.
-
-While this is clearly an error in the build environment, it's easy to make
-the test more robust by first clearing all the locale relevant variables.
-
-Bug: https://rt.perl.org/Ticket/Display.html?id=124310
-Bug-Debian: https://bugs.debian.org/782068
-Patch-Name: debian/locale-robustness.diff
-Upstream-Status: Pending
----
- t/run/locale.t | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/t/run/locale.t b/t/run/locale.t
-index bd1a034..2105339 100644
---- a/t/run/locale.t
-+++ b/t/run/locale.t
-@@ -27,6 +27,9 @@ my @locales = eval { find_locales( [ &LC_ALL, &LC_CTYPE, &LC_NUMERIC ],
- ) };
- skip_all("no locales available") unless @locales;
-
-+# reset the locale environment
-+local @ENV{'LANG', (grep /^LC_/, keys %ENV)};
-+
- plan tests => &last;
-
- my $non_C_locale;
-@@ -58,9 +61,6 @@ EOF
- SKIP: {
- skip("Windows stores locale defaults in the registry", 1 )
- if $^O eq 'MSWin32';
-- local $ENV{LC_NUMERIC}; # So not taken as a default
-- local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
-- local $ENV{LANG}; # So not taken as a default
- fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF',
- use POSIX qw(locale_h);
- use locale;
-@@ -348,7 +348,6 @@ EOF
-
- {
- local $ENV{LC_NUMERIC} = $different;
-- local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
- fresh_perl_is(<<"EOF",
- use POSIX qw(locale_h);
-
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff b/poky/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff
deleted file mode 100644
index 5f0718089..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/makemaker-pasthru.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-From 593dd52f535b1f439dfd0afe52211ae8960e980a Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Sun, 24 Aug 2014 12:56:11 -0700
-Subject: Pass LD settings through to subdirectories
-
-[rt.cpan.org #28632] fixed most issues with passing LD down to
-subdirectory Makefile.PL files. However, there are some distributions
-(including Wx, Par::Packer, and Verilog-Perl) that explicitly set
-LD. Those still can't be overridden from the command line. Adding LD to
-the PASTHRU list fixes this.
-
-Bug-Debian: https://bugs.debian.org/758471
-Patch-Name: debian/makemaker-pasthru.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-index 4a8e14c..548d98e 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -2793,7 +2793,7 @@ sub pasthru {
- my($sep) = $Is{VMS} ? ',' : '';
- $sep .= "\\\n\t";
-
-- foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE
-+ foreach my $key (qw(LIB LIBPERL_A LINKTYPE OPTIMIZE LD
- PREFIX INSTALL_BASE)
- )
- {
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff b/poky/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff
deleted file mode 100644
index d870b608c..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/makemaker_customized.diff
+++ /dev/null
@@ -1,43 +0,0 @@
-From 634449066a9c810e81506425d2ca925b2fd72ab2 Mon Sep 17 00:00:00 2001
-From: Dominic Hargreaves <dom@earth.li>
-Date: Sat, 23 May 2015 21:15:06 +0200
-Subject: Update t/porting/customized.dat for files patched in Debian
-
-Patch-Name: debian/makemaker_customized.diff
-Upstream-Status: Pending
----
- t/porting/customized.dat | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/t/porting/customized.dat b/t/porting/customized.dat
-index 7df398d..f857bd2 100644
---- a/t/porting/customized.dat
-+++ b/t/porting/customized.dat
-@@ -1,7 +1,7 @@
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 7f4dfd0fe884bd42412bcf04ca80ef97b39c1d54
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm bef099988b15fb0b2a1f5ac48c01af1f7f36d329
--ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 8168e18f0e3ce3ece4bb7e7c72d57ec07c67c402
--ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 7115e97a53559cb3ec061dd6f7f344e522724c4a
-+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 3493ae6f93264e967f58dedaa3dbf3dbcb249853
-+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 3d7abd674b15ed323f743594ef0bd09db76b1aee
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm f8db8d4245bf0684b8210c811f50d7cfb1a27d78
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 757bffb47857521311f8f3bde43ebe165f8d5191
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm 82be06851deb84c6419ad003ce9b6d1957f395f3
-@@ -13,7 +13,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 58872d66
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34
--ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 6f90d94ad3e7aa0045a3b1a10a1bb18391f89f57
-+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 21bde53290bf1a4da4457290b65bd1b0ca6f1d16
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm cab2b3ce08b71a4ce89aa630f236eb08b852439d
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm 61fced0faf518bf87c265fcb51ed330ba354623f
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm ae0ef51a7b6dd0b05aa61c779df7167dda5f5119
-@@ -22,7 +22,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 0544301f712
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm 433135eecb85b4b1d90d3027432f329436c78447
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 1fbb5605bfb47feee4083feba8aa85e659628f70
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5b66d1f485a6034d96fc24ba1665b1bad9e447f1
--ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 8cef99a9bd370ecfd07ddb0efbdcbb4101255e45
-+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm c455c915fb7dc3eeb1200ed1cd19048e6f21e6b1
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 939572fde3d59ba77c2e677fe2df2bed4bed5898
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 09c2049bfd25b735e2a5bcf56a6cff7b4827f9c8
- ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm d65d63f8217a55c36f62e249814988974f593c79
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/mod_paths.diff b/poky/meta/recipes-devtools/perl/perl/debian/mod_paths.diff
deleted file mode 100644
index 7e2248403..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/mod_paths.diff
+++ /dev/null
@@ -1,100 +0,0 @@
-From 6c6cf14e204f3c031372bfd9604ad524d5691186 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Fri, 18 Mar 2005 22:22:25 +1100
-Subject: Tweak @INC ordering for Debian
-
-Our order is:
-
- etc (for config files)
- site (5.8.1)
- vendor (all)
- core (5.8.1)
- site (version-indep)
- site (pre-5.8.1)
-
-The rationale being that an admin (via site), or module packager
-(vendor) can chose to shadow core modules when there is a newer
-version than is included in core.
-
-Patch-Name: debian/mod_paths.diff
-Upstream-Status: Pending
----
- perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 58 insertions(+)
-
-diff --git a/perl.c b/perl.c
-index 086645b..e64f1f4 100644
---- a/perl.c
-+++ b/perl.c
-@@ -4373,6 +4373,11 @@ S_init_perllib(pTHX)
- INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
- #endif
-
-+#ifdef DEBIAN
-+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
-+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/etc/perl"), 0x0);
-+#endif
-+
- #ifdef SITEARCH_EXP
- /* sitearch is always relative to sitelib on Windows for
- * DLL-based path intuition to work correctly */
-@@ -4490,6 +4495,59 @@ S_init_perllib(pTHX)
- INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
- #endif
-
-+#ifdef DEBIAN
-+ /* Non-versioned site directory for local modules and for
-+ compatability with the previous packages' site dirs */
-+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/usr/local/lib/site_perl"),
-+ INCPUSH_ADD_SUB_DIRS);
-+
-+#ifdef PERL_INC_VERSION_LIST
-+ {
-+ struct stat s;
-+
-+ /* add small buffer in case old versions are longer than the
-+ current version */
-+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
-+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
-+ char const *vers[] = { PERL_INC_VERSION_LIST };
-+ char const **p;
-+
-+ char *arch_vers = strrchr(sitearch, '/');
-+ char *lib_vers = strrchr(sitelib, '/');
-+
-+ if (arch_vers && isdigit(*++arch_vers))
-+ *arch_vers = 0;
-+ else
-+ arch_vers = 0;
-+
-+ if (lib_vers && isdigit(*++lib_vers))
-+ *lib_vers = 0;
-+ else
-+ lib_vers = 0;
-+
-+ /* there is some duplication here as incpush does something
-+ similar internally, but required as sitearch is not a
-+ subdirectory of sitelib */
-+ for (p = vers; *p; p++)
-+ {
-+ if (arch_vers)
-+ {
-+ strcpy(arch_vers, *p);
-+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
-+ S_incpush_use_sep(aTHX_ sitearch, strlen(sitearch), 0x0);
-+ }
-+
-+ if (lib_vers)
-+ {
-+ strcpy(lib_vers, *p);
-+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
-+ S_incpush_use_sep(aTHX_ sitelib, strlen(sitelib), 0x0);
-+ }
-+ }
-+ }
-+#endif
-+#endif
-+
- #ifdef PERL_OTHERLIBDIRS
- S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
- INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff b/poky/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff
deleted file mode 100644
index 7484bec41..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/no_packlist_perllocal.diff
+++ /dev/null
@@ -1,93 +0,0 @@
-From 240f2f4aeb3850bc0c5370b9fbc3909573bed9b3 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Don't install .packlist or perllocal.pod for perl or vendor
-
-Patch-Name: debian/no_packlist_perllocal.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 35 +++----------------------
- 1 file changed, 3 insertions(+), 32 deletions(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-index 570a631..391dc22 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -2122,11 +2122,6 @@ pure_perl_install :: all
- };
-
- push @m,
--q{ read "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
-- write "}.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
--} unless $self->{NO_PACKLIST};
--
-- push @m,
- q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
- "$(INST_ARCHLIB)" "$(DESTINSTALLARCHLIB)" \
- "$(INST_BIN)" "$(DESTINSTALLBIN)" \
-@@ -2158,10 +2153,6 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \
- pure_vendor_install :: all
- $(NOECHO) umask 022; $(MOD_INSTALL) \
- };
-- push @m,
--q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
-- write "}.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{" \
--} unless $self->{NO_PACKLIST};
-
- push @m,
- q{ "$(INST_LIB)" "$(DESTINSTALLVENDORLIB)" \
-@@ -2187,37 +2178,19 @@ doc_vendor_install :: all
-
- push @m, q{
- doc_perl_install :: all
-- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
-- -$(NOECHO) umask 022; $(DOC_INSTALL) \
-- "Module" "$(NAME)" \
-- "installed into" $(INSTALLPRIVLIB) \
-- LINKTYPE "$(LINKTYPE)" \
-- VERSION "$(VERSION)" \
-- EXE_FILES "$(EXE_FILES)" \
-- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
-
- doc_site_install :: all
-- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLARCHLIB)"
-+ $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLSITEARCH)/perllocal.pod"
-+ -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLSITEARCH)"
- -$(NOECHO) umask 02; $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLSITELIB) \
- LINKTYPE "$(LINKTYPE)" \
- VERSION "$(VERSION)" \
- EXE_FILES "$(EXE_FILES)" \
-- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
-+ >> "}.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{"
-
- doc_vendor_install :: all
-- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
-- -$(NOECHO) umask 022; $(DOC_INSTALL) \
-- "Module" "$(NAME)" \
-- "installed into" $(INSTALLVENDORLIB) \
-- LINKTYPE "$(LINKTYPE)" \
-- VERSION "$(VERSION)" \
-- EXE_FILES "$(EXE_FILES)" \
-- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
-
- } unless $self->{NO_PERLLOCAL};
-
-@@ -2226,13 +2199,11 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
- $(NOECHO) $(NOOP)
-
- uninstall_from_perldirs ::
-- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{"
-
- uninstall_from_sitedirs ::
- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
-
- uninstall_from_vendordirs ::
-- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
- };
-
- join("",@m);
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/patchlevel.diff b/poky/meta/recipes-devtools/perl/perl/debian/patchlevel.diff
deleted file mode 100644
index 2d05ae548..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/patchlevel.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-From b517c5e15d0871e36d0f1187661fe1dd28ddf820 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Sun, 15 May 2011 19:35:58 +0300
-Subject: List packaged patches in patchlevel.h
-
-Origin: vendor
-Bug-Debian: http://bugs.debian.org/567489
-
-The list of packaged patches is in patchlevel-debian.h, which is generated
-from the debian/patches/ directory when building the package.
-
-Patch-Name: debian/patchlevel.diff
-Upstream-Status: Pending
----
- patchlevel.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/patchlevel.h b/patchlevel.h
-index a0ad78b..01367b7 100644
---- a/patchlevel.h
-+++ b/patchlevel.h
-@@ -137,6 +137,9 @@ static const char * const local_patches[] = {
- ,"uncommitted-changes"
- #endif
- PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
-+#ifdef DEBIAN
-+#include "patchlevel-debian.h"
-+#endif
- ,NULL
- };
-
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch b/poky/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch
deleted file mode 100644
index 6f1625bb1..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/perl5db-x-terminal-emulator.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c99c61e8f863a508a0793168011c98dc74abbd05 Mon Sep 17 00:00:00 2001
-From: Dominic Hargreaves <dom@earth.li>
-Date: Sat, 14 Apr 2012 11:34:05 +0100
-Subject: Invoke x-terminal-emulator rather than xterm in perl5db.pl
-
-In Debian systems, xterm might not exist or might not be the preferred
-terminal emulator. Use x-terminal-emulator instead
-
-Bug-Debian: http://bugs.debian.org/668490
-Forwarded: not-needed
-
-Patch-Name: debian/perl5db-x-terminal-emulator.patch
-Upstream-Status: Pending
----
- lib/perl5db.pl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/perl5db.pl b/lib/perl5db.pl
-index 7e7194e..c466bf3 100644
---- a/lib/perl5db.pl
-+++ b/lib/perl5db.pl
-@@ -6960,7 +6960,7 @@ properly set up.
- sub xterm_get_fork_TTY {
- ( my $name = $0 ) =~ s,^.*[/\\],,s;
- open XT,
--qq[3>&1 xterm -title "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\
-+qq[3>&1 x-terminal-emulator -T "Daughter Perl debugger $pids $name" -e sh -c 'tty 1>&3;\
- sleep 10000000' |];
-
- # Get the output from 'tty' and clean it up a little.
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/perlivp.diff b/poky/meta/recipes-devtools/perl/perl/debian/perlivp.diff
deleted file mode 100644
index 5c7413b96..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/perlivp.diff
+++ /dev/null
@@ -1,40 +0,0 @@
-From fbfbeb7a690d703a3cdc56f923e89eb7b7997d31 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Fri, 9 Jan 2009 18:54:47 +0200
-Subject: Make perlivp skip include directories in /usr/local
-
-Bug-Debian: http://bugs.debian.org/510895
-
-On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote:
-> On Wed, Jan 7, 2009 at 12:21 AM, Niko Tyni <ntyni@debian.org> wrote:
-
-> > We could create the directories in a postinst script, but I'm not sure
-> > I see the point. They will be created automatically when installing
-> > CPAN modules.
->
-> The directories are intentionally not created, as this way they are
-> excluded from the search path at start-up, saving a bunch of wasted
-> stats at use/require time in the common case that the user has not
-> installed any local packages. As Niko points out, they will be
-> created as required.
-
-Signed-off-by: Niko Tyni <ntyni@debian.org>
-
-Patch-Name: debian/perlivp.diff
-Upstream-Status: Pending
----
- utils/perlivp.PL | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/utils/perlivp.PL b/utils/perlivp.PL
-index c2f0a11..cc49f96 100644
---- a/utils/perlivp.PL
-+++ b/utils/perlivp.PL
-@@ -153,6 +153,7 @@ my $INC_total = 0;
- my $INC_there = 0;
- foreach (@INC) {
- next if $_ eq '.'; # skip -d test here
-+ next if m|/usr/local|; # not shipped on Debian
- if (-d $_) {
- print "## Perl \@INC directory '$_' exists.\n" if $opt{'v'};
- $INC_there++;
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff b/poky/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff
deleted file mode 100644
index 47075625c..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/pod2man-customized.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-From 27a4952c2e531947dc9f2f02e2063d117e2e699a Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Sat, 18 Apr 2015 17:39:32 +0300
-Subject: Update porting/customized.dat for pod2man modifications
-
-Patch-Name: debian/pod2man-customized.diff
-Upstream-Status: Pending
----
- t/porting/customized.dat | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/t/porting/customized.dat b/t/porting/customized.dat
-index 0eed9f7..7df398d 100644
---- a/t/porting/customized.dat
-+++ b/t/porting/customized.dat
-@@ -42,7 +42,7 @@ Win32API::File cpan/Win32API-File/Makefile.PL 605d0aee31aebe84a99408f9ab5f644db5
- Win32API::File cpan/Win32API-File/t/file.t 124e64aa77e755235eb297644a87fac5388d3d78
- Win32API::File cpan/Win32API-File/t/tie.t 712ea7edd0cc805ce1c0b8172c01b03dd19b583d
- Win32API::File cpan/Win32API-File/typemap 24bff088babeadac0873e8df390d1666d9d9db4a
--podlators cpan/podlators/scripts/pod2man.PL f81acf53f3ff46cdcc5ebdd661c5d13eb35d20d6
-+podlators cpan/podlators/scripts/pod2man.PL 761f35d3fcf91c1bc2f9e024a9fa5c62fd3fc338
- podlators cpan/podlators/scripts/pod2text.PL b4693fcfe4a0a1b38a215cfb8985a65d5d025d69
- version cpan/version/lib/version.pm d0923b895d57f1d669ae36fcf85c87b16db341d1
- version vutil.c 668f17ca43e2527645674d29ba772b86330d5663
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff b/poky/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff
deleted file mode 100644
index b681c3e89..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/prefix_changes.diff
+++ /dev/null
@@ -1,119 +0,0 @@
-From 914948f026efce02cf0abff8b0312aaad96592ed Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Fiddle with *PREFIX and variables written to the makefile
-
-Fiddle with *PREFIX and variables written to the makefile so that
-install directories may be changed when make is run by passing
-PREFIX= to the "make install" command (used when packaging
-modules).
-
-Patch-Name: debian/prefix_changes.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 ++++++------
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 3 +--
- cpan/ExtUtils-MakeMaker/t/INST.t | 4 +---
- cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++++-----
- 4 files changed, 13 insertions(+), 16 deletions(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
-index 4c00129..1ea2035 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
-@@ -902,8 +902,6 @@ all POD files in MAN1PODS and MAN3PODS.
- sub manifypods_target {
- my($self) = shift;
-
-- my $man1pods = '';
-- my $man3pods = '';
- my $dependencies = '';
-
- # populate manXpods & dependencies:
-@@ -919,7 +917,7 @@ END
- foreach my $section (qw(1 3)) {
- my $pods = $self->{"MAN${section}PODS"};
- my $p2m = sprintf <<CMD, $] > 5.008 ? " -u" : "";
-- \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)%s
-+ \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)%s
- CMD
- push @man_cmds, $self->split_command($p2m, map {($_,$pods->{$_})} sort keys %$pods);
- }
-@@ -1875,9 +1873,11 @@ sub init_INSTALL_from_PREFIX {
- $self->{SITEPREFIX} ||= $sprefix;
- $self->{VENDORPREFIX} ||= $vprefix;
-
-- # Lots of MM extension authors like to use $(PREFIX) so we
-- # put something sensible in there no matter what.
-- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
-+ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
-+ for my $t (qw/PERL SITE VENDOR/)
-+ {
-+ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
-+ }
- }
-
- my $arch = $Config{archname};
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-index 391dc22..4a8e14c 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -3077,8 +3077,7 @@ sub prefixify {
- warn " prefixify $var => $path\n" if $Verbose >= 2;
- warn " from $sprefix to $rprefix\n" if $Verbose >= 2;
-
-- if( $self->{ARGS}{PREFIX} &&
-- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
-+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
- {
-
- warn " cannot prefix, using default.\n" if $Verbose >= 2;
-diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t
-index 91058bb..e399ced 100644
---- a/cpan/ExtUtils-MakeMaker/t/INST.t
-+++ b/cpan/ExtUtils-MakeMaker/t/INST.t
-@@ -65,9 +65,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' );
- is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
- is( $mm->{VERSION}, 0.01, 'VERSION' );
-
--my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
-- $Config{prefixexp} || $Config{prefix};
--is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
-+is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
-
- is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
-
-diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
-index e8de7c6..3fb3f12 100644
---- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
-+++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
-@@ -10,7 +10,7 @@ BEGIN {
- }
-
- use strict;
--use Test::More tests => 52;
-+use Test::More tests => 47;
- use MakeMaker::Test::Utils;
- use MakeMaker::Test::Setup::BFD;
- use ExtUtils::MakeMaker;
-@@ -62,16 +62,16 @@ like( $stdout->read, qr{
- (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
- }x );
-
--is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
-+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
-
- isa_ok( $mm, 'ExtUtils::MakeMaker' );
-
- is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
- is( $mm->{VERSION}, 0.01, 'VERSION' );
-
--foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
-- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
--}
-+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
-+# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
-+#}
-
-
- my $PREFIX = File::Spec->catdir('foo', 'bar');
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/prune_libs.diff b/poky/meta/recipes-devtools/perl/perl/debian/prune_libs.diff
deleted file mode 100644
index a2ed52ab2..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/prune_libs.diff
+++ /dev/null
@@ -1,43 +0,0 @@
-From c4538f966c49e356599358def7d1febf61bca21f Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Fri, 18 Mar 2005 22:22:25 +1100
-Subject: [PATCH 15/49] Prune the list of libraries wanted to what we actually
- need.
-
-Bug-Debian: http://bugs.debian.org/128355
-
-We want to keep the dependencies on perl-base as small as possible,
-and some of the original list may be present on buildds (see Bug#128355).
-
-Patch-Name: debian/prune_libs.diff
-Upstream-Status: Pending
----
- Configure | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/Configure b/Configure
-index 5a353d6..a00df64 100755
---- a/Configure
-+++ b/Configure
-@@ -1479,8 +1479,7 @@ archname=''
- usereentrant='undef'
- : List of libraries we want.
- : If anyone needs extra -lxxx, put those in a hint file.
--libswanted="cl pthread socket bind inet nsl ndbm gdbm dbm db malloc dl ld"
--libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD"
-+libswanted='gdbm gdbm_compat db dl m c crypt'
- : We probably want to search /usr/shlib before most other libraries.
- : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
- glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
-@@ -24007,7 +24006,7 @@ sunos*X4*)
- ;;
- *) case "$usedl" in
- $define|true|[yY]*)
-- set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
-+ set X `echo " $libs " | sed -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldb @ @'`
- shift
- perllibs="$*"
- ;;
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/regen-skip.diff b/poky/meta/recipes-devtools/perl/perl/debian/regen-skip.diff
deleted file mode 100644
index 5d9a7c4b4..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/regen-skip.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-From cb3e98e17a666896150b109694e9eb9278620845 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Sat, 17 May 2014 14:57:01 +0300
-Subject: Skip a regeneration check in unrelated git repositories
-
-If the test is run in a git repository without lib/.gitignore,
-for instance because the repository only imported the Perl tarball,
-the regeneration check is broken because lib/.gitignore is missing.
-
-Patch-Name: debian/regen-skip.diff
-Upstream-Status: Pending
----
- regen/lib_cleanup.pl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/regen/lib_cleanup.pl b/regen/lib_cleanup.pl
-index c9d6e43..fece1ed 100644
---- a/regen/lib_cleanup.pl
-+++ b/regen/lib_cleanup.pl
-@@ -159,7 +159,7 @@ foreach ('win32/Makefile', 'win32/makefile.mk') {
- }
-
- # This must come last as it can exit early:
--if ($TAP && !-d '.git' && !-f 'lib/.gitignore') {
-+if ($TAP && !-d '.git' || !-f 'lib/.gitignore') {
- print "ok # skip not being run from a git checkout, hence no lib/.gitignore\n";
- exit 0;
- }
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff b/poky/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff
deleted file mode 100644
index 3b3745238..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/skip-kfreebsd-crash.diff
+++ /dev/null
@@ -1,41 +0,0 @@
-From 42853af65a28066b119d23d96e964e94b55a8541 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Fri, 5 Aug 2011 10:50:18 +0300
-Subject: Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD
-
-Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=96272
-Bug-Debian: http://bugs.debian.org/628493
-
-The crash is not a regression in 5.14, it just gets triggered there by
-a new unrelated test case.
-
-Skip the test until the culprit is found.
-
-Patch-Name: debian/skip-kfreebsd-crash.diff
-Upstream-Status: Pending
----
- t/op/threads.t | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/t/op/threads.t b/t/op/threads.t
-index e76c956..bec210b 100644
---- a/t/op/threads.t
-+++ b/t/op/threads.t
-@@ -376,6 +376,9 @@ EOF
- }
-
-
-+SKIP: {
-+ skip "[perl #96272] avoid crash on GNU/kFreeBSD", 1
-+ if $^O eq 'gnukfreebsd';
- # [perl #78494] Pipes shared between threads block when closed
- {
- my $perl = which_perl;
-@@ -384,6 +387,7 @@ EOF
- threads->create(sub { })->join;
- ok(1, "Pipes shared between threads do not block when closed");
- }
-+}
-
- # [perl #105208] Typeglob clones should not be cloned again during a join
- {
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff b/poky/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff
deleted file mode 100644
index 279f4ab76..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/skip-upstream-git-tests.diff
+++ /dev/null
@@ -1,29 +0,0 @@
-From ae9b645d6da2990fd055368eca2c67c449474e38 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Fri, 22 Apr 2011 11:15:32 +0300
-Subject: Skip tests specific to the upstream Git repository
-
-These tests fail if run from a different git repository than
-upstream. This complicates things needlessly for downstream packagers.
-
-Skip the tests altogether even if the .git directory exists.
-
-Patch-Name: debian/skip-upstream-git-tests.diff
-Upstream-Status: Pending
----
- t/test.pl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/t/test.pl b/t/test.pl
-index cda3840..af579a2 100644
---- a/t/test.pl
-+++ b/t/test.pl
-@@ -174,7 +174,7 @@ sub skip_all_without_unicode_tables { # (but only under miniperl)
-
- sub find_git_or_skip {
- my ($source_dir, $reason);
-- if (-d '.git') {
-+ if (-d '.git' && ! -d 'debian') {
- $source_dir = '.';
- } elsif (-l 'MANIFEST' && -l 'AUTHORS') {
- my $where = readlink 'MANIFEST';
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff b/poky/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff
deleted file mode 100644
index 4964e480c..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/squelch-locale-warnings.diff
+++ /dev/null
@@ -1,57 +0,0 @@
-From 487a6d6ada0b08e6a7276520ebc61cd851005e7c Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Sun, 3 Oct 2010 21:36:17 +0300
-Subject: Squelch locale warnings in Debian package maintainer scripts
-
-Bug-Debian: http://bugs.debian.org/508764
-
-The system locales are rather frequently out of sync with the C library
-during package upgrades, causing a huge amount of useless Perl locale
-warnings. Squelch them when running package maintainer scripts, detected
-by the DPKG_RUNNING_VERSION environment variable.
-
-Any real locale problem will show up after the system upgrade too, and
-the warning will be triggered normally again at that point.
-
-Patch-Name: debian/squelch-locale-warnings.diff
-Upstream-Status: Pending
----
- locale.c | 5 ++++-
- pod/perllocale.pod | 8 ++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/locale.c b/locale.c
-index 7a4a418..fdf911d 100644
---- a/locale.c
-+++ b/locale.c
-@@ -674,7 +674,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
-
- const bool locwarn = (printwarn > 1
- || (printwarn
-- && (! bad_lang_use_once
-+ &&
-+ /* Debian specific change - see http://bugs.debian.org/508764 */
-+ (!PerlEnv_getenv("DPKG_RUNNING_VERSION")) &&
-+ (! bad_lang_use_once
- || (
- /* disallow with "" or "0" */
- *bad_lang_use_once
-diff --git a/pod/perllocale.pod b/pod/perllocale.pod
-index 701b422..58cabaf 100644
---- a/pod/perllocale.pod
-+++ b/pod/perllocale.pod
-@@ -1217,6 +1217,14 @@ B<NOTE>: C<PERL_BADLANG> only gives you a way to hide the warning message.
- The message tells about some problem in your system's locale support,
- and you should investigate what the problem is.
-
-+=item DPKG_RUNNING_VERSION
-+
-+On Debian systems, if the DPKG_RUNNING_VERSION environment variable is
-+set (to any value), the locale failure warnings will be suppressed just
-+like with a zero PERL_BADLANG setting. This is done to avoid floods
-+of spurious warnings during system upgrades.
-+See L<http://bugs.debian.org/508764>.
-+
- =back
-
- The following environment variables are not specific to Perl: They are
diff --git a/poky/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff b/poky/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff
deleted file mode 100644
index ab373b333..000000000
--- a/poky/meta/recipes-devtools/perl/perl/debian/writable_site_dirs.diff
+++ /dev/null
@@ -1,37 +0,0 @@
-From 591c1f9b7d4755bfc59d9665bab1f2ca410de765 Mon Sep 17 00:00:00 2001
-From: Brendan O'Dea <bod@debian.org>
-Date: Tue, 8 Mar 2005 19:30:38 +1100
-Subject: Set umask approproately for site install directories
-
-Policy requires group writable site directories
-
-Patch-Name: debian/writable_site_dirs.diff
-Upstream-Status: Pending
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-index 197f102..5f1b87f 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -2138,7 +2138,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
-
-
- pure_site_install :: all
-- $(NOECHO) umask 022; $(MOD_INSTALL) \
-+ $(NOECHO) umask 02; $(MOD_INSTALL) \
- };
- push @m,
- q{ read "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
-@@ -2199,8 +2199,8 @@ doc_perl_install :: all
-
- doc_site_install :: all
- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
-- -$(NOECHO) umask 022; $(DOC_INSTALL) \
-+ -$(NOECHO) umask 02; $(MKPATH) "$(DESTINSTALLARCHLIB)"
-+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLSITELIB) \
- LINKTYPE "$(LINKTYPE)" \
diff --git a/poky/meta/recipes-devtools/perl/perl/dynaloaderhack.patch b/poky/meta/recipes-devtools/perl/perl/dynaloaderhack.patch
deleted file mode 100644
index 719f07c9c..000000000
--- a/poky/meta/recipes-devtools/perl/perl/dynaloaderhack.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 2e0ce5d27e70defd66ace0661af7c24daae34f8b Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Sat, 19 Jan 2013 23:49:24 +0000
-Subject: [PATCH 7/8] perl: Add dyanloader build hack
-
-Hack the dynamic module loader so that we use native modules since we can't load
-the target ones.
-
-Upstream-Status: Inappropriate
-
-RP
-2013/01/13
-
----
- ext/DynaLoader/DynaLoader_pm.PL | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL
-index e828f35..4021559 100644
---- a/ext/DynaLoader/DynaLoader_pm.PL
-+++ b/ext/DynaLoader/DynaLoader_pm.PL
-@@ -343,6 +343,10 @@ sub bootstrap {
- foreach (@INC) {
- <<$^O-eq-VMS>>chop($_ = VMS::Filespec::unixpath($_));<</$^O-eq-VMS>>
- $dir = "$_/auto/$modpname";
-+
-+ if (defined $ENV{PERL_LIB} and defined $ENV{PERLHOSTLIB}) {
-+ $dir =~ s/$ENV{PERL_LIB}/$ENV{PERLHOSTLIB}/g;
-+ }
-
- next unless -d $dir; # skip over uninteresting directories
-
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/perl/perl/ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch b/poky/meta/recipes-devtools/perl/perl/ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch
deleted file mode 100644
index 994ef7013..000000000
--- a/poky/meta/recipes-devtools/perl/perl/ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ba4ed0b5b7baad5353c1e65b655f41d45e01c990 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 22 Jun 2015 20:00:11 -0700
-Subject: [PATCH] ext/ODBM_File/hints/linux.pl: link libgdbm_compat
-
-Fixed for test case ../ext/ODBM_File/t/odbm.t:
-ok 1 - use ODBM_File;
-ok 2 - use Fcntl;
-./perl: symbol lookup error: /usr/lib/perl/5.22.0/auto/ODBM_File/ODBM_File.so: undefined symbol: dbminit
-
-The checking "if -e $_.'/libgdbm_compat.so'" doesn't work when cross
-build, so always link libgdbm_compat, since perl depends on gdbm and we
-always have libgdbm_compat.
-
-Upstream-Status:Inappropriate [embedded specific]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- ext/ODBM_File/hints/linux.pl | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/ext/ODBM_File/hints/linux.pl b/ext/ODBM_File/hints/linux.pl
-index 204bba0..9271b45 100644
---- a/ext/ODBM_File/hints/linux.pl
-+++ b/ext/ODBM_File/hints/linux.pl
-@@ -1,8 +1,2 @@
- # uses GDBM dbm compatibility feature - at least on SuSE 8.0
--$self->{LIBS} = ['-lgdbm'];
--
--# Debian/Ubuntu have libgdbm_compat.so but not this file,
--# so linking may fail
--foreach (split / /, $Config{libpth}) {
-- $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
--}
-+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];
diff --git a/poky/meta/recipes-devtools/perl/perl/ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch b/poky/meta/recipes-devtools/perl/perl/ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch
deleted file mode 100644
index b85b50cea..000000000
--- a/poky/meta/recipes-devtools/perl/perl/ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b842e1de7798a1f7df770bb3f185ad3356e490e6 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 22 Jun 2015 20:06:56 -0700
-Subject: [PATCH] ext/ODBM_File/t/odbm.t: fix the path of dbmt_common.pl
-
-It should be lib/dbmt_common.pl when run by run-ptest.
-
-Fixed:
-Can't locate ../../t/lib/dbmt_common.pl in @INC
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Upstream-Status: Pending
----
- ext/ODBM_File/t/odbm.t | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ext/ODBM_File/t/odbm.t b/ext/ODBM_File/t/odbm.t
-index 079b9f1..250b991 100644
---- a/ext/ODBM_File/t/odbm.t
-+++ b/ext/ODBM_File/t/odbm.t
-@@ -2,7 +2,7 @@
-
- our $DBM_Class = 'ODBM_File';
-
--require '../../t/lib/dbmt_common.pl';
-+require 'lib/dbmt_common.pl';
-
- if ($^O eq 'hpux') {
- print <<EOM;
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/perl/perl/fix_bad_rpath.patch b/poky/meta/recipes-devtools/perl/perl/fix_bad_rpath.patch
deleted file mode 100644
index 49efcbeef..000000000
--- a/poky/meta/recipes-devtools/perl/perl/fix_bad_rpath.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-2011/07/01
-
-Fix these Package QA warnings before they are converted into fetal errors:
-
-WARNING: QA Issue: package perl-module-compress contains bad RPATH /build_disk/poky_build/build0/tmp/sysroots/qemux86/usr/lib in file /build_disk/poky_build/build0/tmp/work/i586-poky-linux/perl-5.12.3-r1/packages-split/perl-module-compress/usr/lib/perl/5.12.3/auto/Compress/Raw/Zlib/Zlib.so
-
-This fixes this warning for perl recipe as well as libxml-parser-perl recipe.
-It is a fix to MakeMaker within perl, so all such perl recipes will get
-fixed with this perl fix.
-
-Index: perl-5.24.1/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
-===================================================================
---- perl-5.24.1.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
-+++ perl-5.24.1/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
-@@ -57,6 +57,7 @@ sub _unix_os2_ext {
- my ( $found ) = 0;
-
- # Debian-specific: don't use LD_RUN_PATH for standard dirs
-+ push(@libpath, "SYSROOTLIB");
- $ld_run_path_seen{$_}++ for @libpath;
-
- foreach my $thislib ( split ' ', $potential_libs ) {
diff --git a/poky/meta/recipes-devtools/perl/perl/generate-sh.patch b/poky/meta/recipes-devtools/perl/perl/generate-sh.patch
deleted file mode 100644
index 27f6e691c..000000000
--- a/poky/meta/recipes-devtools/perl/perl/generate-sh.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-Use the ld flags from the supplied configuration file. For sh we need the
-flags that specify to build PIC code so that the shared libraries work.
-
-Index: perl-5.14.2/Cross/generate_config_sh
-===================================================================
---- perl-5.14.2.orig/Cross/generate_config_sh 2010-12-30 04:07:14.000000000 +0200
-+++ perl-5.14.2/Cross/generate_config_sh 2012-11-22 15:58:49.852852805 +0200
-@@ -19,10 +19,10 @@
- $callbacks->{'ar'} = [\&simple_process, ["AR", "arm-linux-ar"]];
- $callbacks->{'archname'} = [\&simple_process, ["SYS", "armv4l-linux"]];
- $callbacks->{'cc'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
--$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
--$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
--$callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
--$callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
-+#$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
-+#$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
-+$callbacks->{'ccflags'} = [\&simple_process_insert, ["CFLAGS", "-fno-strict-aliasing -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
-+$callbacks->{'ccflags_uselargefiles'} = [\&simple_process_insert, ["CFLAGS", "-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
- $callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
- $callbacks->{'cpp'} = [\&simple_process, ["CCP", "arm-linux-cpp"]];
- $callbacks->{'cppflags'} = [\&simple_process, ["CCPFLAGS", "-fno-strict-aliasing"]];
-@@ -30,6 +30,7 @@
- $callbacks->{'cppstdin'} = [\&simple_process_append, ["CC", "arm-linux-gcc -E", "-E"]];
- $callbacks->{'full_ar'} = [\&backtick, ["AR", "which $ENV{AR}", "/usr/local/arm/2.95.3/bin/arm-linux-ar"]];
- $callbacks->{'ld'} = [\&simple_process, ["LD", "arm-linux-ld"]];
-+$callbacks->{'lddlflags'} = [\&simple_process, ["LDDLFLAGS", ""]];
- $callbacks->{'ldflags'} = [\&simple_process, ["LDFLAGS", ""]];
- $callbacks->{'ldflags_uselargefiles'} = [\&simple_process, ["LDFLAGS", ""]];
- $callbacks->{'myarchname'} = [\&simple_process, ["SYS", "armv4l-linux"]];
-@@ -105,6 +106,23 @@
-
- }
-
-+# Insert env var into the variables value
-+sub simple_process_insert {
-+ my $key = shift;
-+ my $value = shift;
-+ my $envvar = $callbacks->{$key}->[1][0];
-+
-+ if ($ENV{$envvar}) {
-+ # Strip quotes from value
-+ $value =~ s/^\'//;
-+ $value =~ s/\'$//;
-+ # Remove -I/usr/local/... from the value
-+ $value =~ s#\W-I/usr/local/\w+\W# #g;
-+ # Prepend env var (OE setting) to value
-+ print("$key=\'$ENV{$envvar} $value\'\n");
-+ }
-+}
-+
- sub library_munge {
- my $key = shift;
- my $value = shift;
diff --git a/poky/meta/recipes-devtools/perl/perl/installperl.patch b/poky/meta/recipes-devtools/perl/perl/installperl.patch
deleted file mode 100644
index 7fd1f5014..000000000
--- a/poky/meta/recipes-devtools/perl/perl/installperl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-Index: perl-5.24.1/installperl
-===================================================================
---- perl-5.24.1.orig/installperl
-+++ perl-5.24.1/installperl
-@@ -2,8 +2,8 @@
-
- BEGIN {
- chdir '..' if !-d 'lib' and -d '../lib';
-- @INC = 'lib';
-- $ENV{PERL5LIB} = 'lib';
-+# @INC = 'lib';
-+# $ENV{PERL5LIB} = 'lib';
-
- # This needs to be at BEGIN time, before any use of Config
- # install_lib itself loads and imports Config into main::
diff --git a/poky/meta/recipes-devtools/perl/perl/letgcc-find-errno.patch b/poky/meta/recipes-devtools/perl/perl/letgcc-find-errno.patch
deleted file mode 100644
index 5161e4c8b..000000000
--- a/poky/meta/recipes-devtools/perl/perl/letgcc-find-errno.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-This removes all the logic that perl uses to locate an appropriate
-errno.h for the target. Instead we simple create a file that does
-
- #include "errno.h"
-
-and use that as the file to parse. This is needed when using an
-external toolchain since perl will search in ${STAGING_INCDIR} for
-errno.h (when using gcc) and that isn't where it's located - its
-wherever the external toolchain keeps it's headers.
-
-Index: perl-5.12.3/ext/Errno/Errno_pm.PL
-===================================================================
---- perl-5.12.3.orig/ext/Errno/Errno_pm.PL
-+++ perl-5.12.3/ext/Errno/Errno_pm.PL
-@@ -17,8 +17,18 @@ unlink "Errno.tmp" if -f "Errno.tmp";
- open OUT, ">Errno.tmp" or die "Cannot open Errno.tmp: $!";
- select OUT;
- my $file;
--my @files = get_files();
--if ($Config{gccversion} ne '' && $^O eq 'MSWin32') {
-+#my @files = get_files();
-+my @files = ("errno.h");
-+
-+if (1) {
-+ open INCS, '>includes.c' or
-+ die "Cannot open includes.c";
-+ print INCS qq[#include "errno.h"\n];
-+ close INCS;
-+ process_file('includes.c');
-+ unlink 'includes.c';
-+}
-+elsif ($Config{gccversion} ne '' && $^O eq 'MSWin32') {
- # MinGW complains "warning: #pragma system_header ignored outside include
- # file" if the header files are processed individually, so include them
- # all in .c file and process that instead.
-@@ -53,7 +63,7 @@ sub process_file {
- chomp($file = `cygpath -w "$file"`);
- }
-
-- return unless defined $file and -f $file;
-+# return unless defined $file and -f $file;
- # warn "Processing $file\n";
-
- local *FH;
diff --git a/poky/meta/recipes-devtools/perl/perl/make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch b/poky/meta/recipes-devtools/perl/perl/make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch
deleted file mode 100644
index b2c597974..000000000
--- a/poky/meta/recipes-devtools/perl/perl/make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-make_ext.pl: fix regenerate makefile failed while $cc changed
-
-While $cc changed, the existance of 'xdefine' caused makefile
-regeneration failed.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- make_ext.pl | 4 ++++
- 1 file changed, 4 insertions(+)
-
-Index: perl-5.24.1/make_ext.pl
-===================================================================
---- perl-5.24.1.orig/make_ext.pl
-+++ perl-5.24.1/make_ext.pl
-@@ -335,6 +335,10 @@ sub build_extension {
- print "Deleting non-Cross makefile\n";
- close $mfh or die "close $makefile: $!";
- _unlink($makefile);
-+ if(-e 'xdefine') {
-+ print "Deleting xdefine for regenerate makefile\n";
-+ _unlink('xdefine');
-+ }
- }
- }
- } else {
diff --git a/poky/meta/recipes-devtools/perl/perl/native-nopacklist.patch b/poky/meta/recipes-devtools/perl/perl/native-nopacklist.patch
deleted file mode 100644
index 5482dcb79..000000000
--- a/poky/meta/recipes-devtools/perl/perl/native-nopacklist.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-Upstream-Status:Inappropriate [debian patch]
-
-Part of 52_debian_extutils_hacks.patch just to exclude the installation of .packlist files
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 35 ++---------------------
- 1 file changed, 3 insertions(+), 32 deletions(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-index f63145c..a589710 100644
---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -2122,11 +2122,6 @@ pure_perl_install :: all
- };
-
- push @m,
--q{ read "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
-- write "}.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{" \
--} unless $self->{NO_PACKLIST};
--
-- push @m,
- q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
- "$(INST_ARCHLIB)" "$(DESTINSTALLARCHLIB)" \
- "$(INST_BIN)" "$(DESTINSTALLBIN)" \
-@@ -2158,10 +2153,6 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \
- pure_vendor_install :: all
- $(NOECHO) $(MOD_INSTALL) \
- };
-- push @m,
--q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
-- write "}.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{" \
--} unless $self->{NO_PACKLIST};
-
- push @m,
- q{ "$(INST_LIB)" "$(DESTINSTALLVENDORLIB)" \
-@@ -2187,37 +2178,19 @@ doc_vendor_install :: all
-
- push @m, q{
- doc_perl_install :: all
-- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
-- -$(NOECHO) $(DOC_INSTALL) \
-- "Module" "$(NAME)" \
-- "installed into" $(INSTALLPRIVLIB) \
-- LINKTYPE "$(LINKTYPE)" \
-- VERSION "$(VERSION)" \
-- EXE_FILES "$(EXE_FILES)" \
-- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
-
- doc_site_install :: all
-- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
-+ $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLSITEARCH)/perllocal.pod"
-+ -$(NOECHO) $(MKPATH) "$(DESTINSTALLSITEARCH)"
- -$(NOECHO) $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" $(INSTALLSITELIB) \
- LINKTYPE "$(LINKTYPE)" \
- VERSION "$(VERSION)" \
- EXE_FILES "$(EXE_FILES)" \
-- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
-+ >> "}.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{"
-
- doc_vendor_install :: all
-- $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
-- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
-- -$(NOECHO) $(DOC_INSTALL) \
-- "Module" "$(NAME)" \
-- "installed into" $(INSTALLVENDORLIB) \
-- LINKTYPE "$(LINKTYPE)" \
-- VERSION "$(VERSION)" \
-- EXE_FILES "$(EXE_FILES)" \
-- >> "}.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{"
-
- } unless $self->{NO_PERLLOCAL};
-
-@@ -2226,13 +2199,11 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
- $(NOECHO) $(NOOP)
-
- uninstall_from_perldirs ::
-- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{"
-
- uninstall_from_sitedirs ::
- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
-
- uninstall_from_vendordirs ::
-- $(NOECHO) $(UNINSTALL) "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{"
- };
-
- join("",@m);
diff --git a/poky/meta/recipes-devtools/perl/perl/native-perlinc.patch b/poky/meta/recipes-devtools/perl/perl/native-perlinc.patch
deleted file mode 100644
index f0bb1f659..000000000
--- a/poky/meta/recipes-devtools/perl/perl/native-perlinc.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
-===================================================================
---- perl-5.12.3.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
-+++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
-@@ -1597,6 +1597,19 @@
- $self->{PERL_LIB} ||= $Config{privlibexp};
- $self->{PERL_ARCHLIB} ||= $Config{archlibexp};
- $self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
-+ # Check for environment override so we'll find the headers in the correct place
-+ if (defined $ENV{PERL_LIB})
-+ {
-+ $self->{PERL_LIB} = $ENV{PERL_LIB};
-+ }
-+ if (defined $ENV{PERL_ARCHLIB})
-+ {
-+ $self->{PERL_ARCHLIB} = $ENV{PERL_ARCHLIB};
-+ }
-+ if (defined $ENV{PERL_INC})
-+ {
-+ $self->{PERL_INC} = $ENV{PERL_INC};
-+ }
- my $perl_h;
-
- if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h"))
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-5.26.1-guard_old_libcrypt_fix.patch b/poky/meta/recipes-devtools/perl/perl/perl-5.26.1-guard_old_libcrypt_fix.patch
deleted file mode 100644
index ff3d6dc09..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-5.26.1-guard_old_libcrypt_fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 13e70b397dcb0d1bf4a869b670f041c1d7b730d0
-Author: Bjรถrn Esser <besser82@fedoraproject.org>
-Date: Sat Jan 20 20:22:53 2018 +0100
-
- pp: Guard fix for really old bug in glibc libcrypt
-
-Upstream-Status: Pending
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-diff --git a/pp.c b/pp.c
-index d50ad7ddbf..6510c7b15c 100644
---- a/pp.c
-+++ b/pp.c
-@@ -3650,8 +3650,12 @@ PP(pp_crypt)
- #if defined(__GLIBC__) || defined(__EMX__)
- if (PL_reentrant_buffer->_crypt_struct_buffer) {
- PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0;
-- /* work around glibc-2.2.5 bug */
-+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \
-+ (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4)
-+ /* work around glibc-2.2.5 bug, has been fixed at some
-+ * time in glibc-2.3.X */
- PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0;
-+#endif
- }
- #endif
- }
-
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-PathTools-don-t-filter-out-blib-from-INC.patch b/poky/meta/recipes-devtools/perl/perl/perl-PathTools-don-t-filter-out-blib-from-INC.patch
deleted file mode 100644
index 7dd904140..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-PathTools-don-t-filter-out-blib-from-INC.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 90c252cecc38aed5d5faedb30485dd6eee2e54eb Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Wed, 11 Feb 2015 15:14:40 +0800
-Subject: [PATCH] perl / PathTools: don't filter out blib from @INC
-
-If $TOPDIR includes the string "blib", filter it out from @INC may empty
-the @INC and cause build errors like:
-
- Can't locate ExtUtils/MakeMaker.pm in @INC \
- (you may need to install the ExtUtils::MakeMaker module) \
- (@INC contains: .) at Makefile.PL
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- dist/PathTools/Makefile.PL | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/dist/PathTools/Makefile.PL b/dist/PathTools/Makefile.PL
-index 1b21de4..f562cb2 100644
---- a/dist/PathTools/Makefile.PL
-+++ b/dist/PathTools/Makefile.PL
-@@ -1,6 +1,3 @@
--
--BEGIN { @INC = grep {!/blib/} @INC }
--
- require 5.005;
- use ExtUtils::MakeMaker;
- WriteMakefile
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-archlib-exp.patch b/poky/meta/recipes-devtools/perl/perl/perl-archlib-exp.patch
deleted file mode 100644
index 37bf52335..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-archlib-exp.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h
-
-perl.c uses an ARCHLIB_EXP define to generate compile-time code that
-adds the archlibexp path to @INC during run-time initialization of a
-new perl interpreter.
-
-Because we've changed this value in a temporary way to make it
-possible to use ExtUtils::Embed in the target build (the temporary
-value in config.sh gets re-stripped out during packaging), the
-ARCHLIB_EXP value that gets generated still uses the temporary version
-instead of the original expected version (i.e. becauses it's in the
-generated config.h, it doesn't get stripped out during packaging like
-the others in config.sh).
-
-This creates an unmodified version called archlib_exp that gets used
-by a modified config_h.SH to get the correct value into config.h
-
-This patch uses an unmodified version of archlibexp called
-archlib_exp, introduced to config.sh, which is used to generate the
-correct value of ARCHLIB_EXP into config.h
-
-See YOCTO #3099 for more info.
-
-Upstream-Status:Inappropriate [embedded specific]
-
-Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
-
-Index: perl-5.24.1/config_h.SH
-===================================================================
---- perl-5.24.1.orig/config_h.SH
-+++ perl-5.24.1/config_h.SH
-@@ -1434,7 +1434,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#und
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
- #$d_archlib ARCHLIB "$archlib" /**/
--#$d_archlib ARCHLIB_EXP "$archlibexp" /**/
-+#$d_archlib ARCHLIB_EXP "$archlib_exp" /**/
-
- /* BIN:
- * This symbol holds the path of the bin directory where the package will
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/perl/perl-configpm-switch.patch
deleted file mode 100644
index c6cc15c93..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-configpm-switch.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Upstream-Status:Inappropriate [native]
-
-This patch is used for perl-native only. It enables the switching of
-configuration files between Config_heavy.pl and
-Config_heavy-target.pl by setting the environment variables
-PERLCONFIGTARGET - the later containing settings for the target while
-the former contains those for the host. This will allow cpan.bbclass
-to use the settings appropriate for the native and/or target builds
-as required. This also disables the use of the cache since the cached
-values would be valid for the host only.
-
-Index: perl-5.14.2/configpm
-===================================================================
---- perl-5.14.2.orig/configpm
-+++ perl-5.14.2/configpm
-@@ -658,7 +658,7 @@ sub FETCH {
- my($self, $key) = @_;
-
- # check for cached value (which may be undef so we use exists not defined)
-- return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
-+ return $self->fetch_string($key);
- }
-
- ENDOFEND
-@@ -816,7 +816,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fa
- sub DESTROY { }
-
- sub AUTOLOAD {
-- require 'Config_heavy.pl';
-+ my $cfgfile = 'Config_heavy.pl';
-+ if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes")
-+ {
-+ $cfgfile = 'Config_heavy-target.pl';
-+ }
-+ if (defined $ENV{PERL_ARCHLIB})
-+ {
-+ push @INC, $ENV{PERL_ARCHLIB};
-+ require $cfgfile;
-+ pop @INC;
-+ }
-+ else
-+ {
-+ require $cfgfile;
-+ }
- goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
- die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
- }
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-configure.sh b/poky/meta/recipes-devtools/perl/perl/perl-configure.sh
deleted file mode 100755
index 25e7f8b96..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-configure.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /bin/sh
-
-#
-# Generate the common perl configuration
-# Needs to be run on a host that matches the bitsize of the target platform
-#
-
-echo sh Configure -des \
- -Doptimize=-O2 \
- -Dmyhostname=localhost \
- -Dperladmin=root@localhost \
- -Dcc=gcc \
- -Dcf_by='Open Embedded' \
- -Dinstallprefix=@DESTDIR@ \
- -Dprefix=/usr \
- -Dvendorprefix=/usr \
- -Dsiteprefix=/usr \
- -Dotherlibdirs=/usr/lib/perl5/5.22.1 \
- -Duseshrplib \
- -Dusethreads \
- -Duseithreads \
- -Duselargefiles \
- -Ud_dosuid \
- -Dd_semctl_semun \
- -Ui_db \
- -Ui_ndbm \
- -Ui_gdbm \
- -Di_shadow \
- -Di_syslog \
- -Dman3ext=3pm \
- -Duseperlio \
- -Dinstallusrbinperl \
- -Ubincompat5005 \
- -Uversiononly \
- -Dpager='/usr/bin/less -isr'
-
-cp -f config.sh config.sh.COMMON
-
-TARGETOS=$(grep myarchname config.sh.COMMON | sed "s#.*'\(.*\)'.*#\1#")
-
-sed -r -i config.sh.COMMON \
- -e "s#(install.*=')(/usr)/local(.*')#\1@DESTDIR@\2\3#g" \
- -e 's#'$TARGETOS'#@ARCH@#g'
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-dynloader.patch b/poky/meta/recipes-devtools/perl/perl/perl-dynloader.patch
deleted file mode 100644
index 2572067a6..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-dynloader.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-Allow the location that .so files are searched for for dynamic
-loading to be changed via an environment variable. This is to allow
-us to load .so's from the host system while building for the target
-system.
-
-Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21
-
-Index: perl-5.24.1/dist/XSLoader/XSLoader_pm.PL
-===================================================================
---- perl-5.24.1.orig/dist/XSLoader/XSLoader_pm.PL
-+++ perl-5.24.1/dist/XSLoader/XSLoader_pm.PL
-@@ -52,6 +52,20 @@ sub load {
- my ($caller, $modlibname) = caller();
- my $module = $caller;
-
-+ # OE: Allow env to form dynamic loader to look in a different place
-+ # This is so it finds the host .so files, not the targets
-+ if (defined $ENV{PERLHOSTLIB})
-+ {
-+ my $hostlib = $ENV{PERLHOSTLIB};
-+ print STDERR "*** Module name IN: $modlibname\n";
-+ ($p1, $p2, $p3, $p4, $p5) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl\/[0-9\.]*\/)?)(.*)$/;
-+ print STDERR "*** p1: $p1 p3: $p3 p5: $p5\n";
-+ if ( $p1 ne "" ) {
-+ $modlibname = $hostlib.$p5;
-+ }
-+ print STDERR "*** Module name OUT: $modlibname\n";
-+ }
-+
- if (@_) {
- $module = $_[0];
- } else {
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch b/poky/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
deleted file mode 100644
index 7379d8b81..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-The upstream code assumes that the compiler version used to compiler miniperl/perl-native
-is the same as the one being used to build the perl binary. Since most people are not running
-systems with gcc 5, it is unlikely that it will work on any supported host. Switch out gccversion
-for the version extracted from $CC --version.
-
-Jeremy Puhlman <jpuhlman@mvista.com>
-
-Fix spaces in brackets while running $CC --version
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- ext/Errno/Errno_pm.PL | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
-index 1fd29d0..7976ea2 100644
---- a/ext/Errno/Errno_pm.PL
-+++ b/ext/Errno/Errno_pm.PL
-@@ -224,9 +224,13 @@ sub write_errno_pm {
-
- { # BeOS (support now removed) did not enter this block
- # invoke CPP and read the output
-+ my $compiler = $ENV{'CC'};
-+ my $compiler_out = `$compiler --version`;
-+ $compiler_out =~ s/\(.*\)/;/;
-+ my @compiler_version = split / /,$compiler_out;
-
- my $inhibit_linemarkers = '';
-- if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
-+ if (@compiler_version[2] =~ /\A(\d+)\./ and $1 >= 5) {
- # GCC 5.0 interleaves expanded macros with line numbers breaking
- # each line into multiple lines. RT#123784
- $inhibit_linemarkers = ' -P';
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-fix-conflict-between-skip_all-and-END.patch b/poky/meta/recipes-devtools/perl/perl/perl-fix-conflict-between-skip_all-and-END.patch
deleted file mode 100644
index de946dbec..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-fix-conflict-between-skip_all-and-END.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-Some Perl tests fail when run on a cross-compiled target machine. Apply
-a slightly tweaked upstream patch to fix the problems. Notes:
- 1. as of 2 Jun 2016, the original patch has been applied to the current
- EUMM releases, but has not made it into perl core yet.
- 2. when the base perl package is upgraded in Yocto, this patch may need
- to be replaced by the original upstream version to correctly apply
- to the current version of ExtUtils-MakeMaker at that time.
-
-[YOCTO #8656]
-
-Upstream-Status: Backport
-
-Signed-off-by: Bill Randle <william.c.randle@intel.com>
-
-From 4a07a3bd18363986112cf2b39dec3c2985353ffb Mon Sep 17 00:00:00 2001
-From: Francois Perrad <francois.perrad@gadz.org>
-Date: Mon, 22 Dec 2014 19:04:34 +0100
-Subject: [PATCH] fix conflict between skip_all and END section
-
-since the commit 430de781809a6be3bcd25a349dc40ce54405ab53
-the test suite fails in cross-compil environment (perl-5.21.6 & perl-5.21.7)
-like this :
-
- $ ./perl harness -v ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
- ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t ..
- 1..0 # SKIP cross-compiling and make not available
- ok 1 - chdir updir
- ok 2 - teardown
- # Looks like you planned 0 tests but ran 2.
- skipped: cross-compiling and make not available
-
-this commit restores the implicit call of plan() at import time of Test::More
-
-Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
----
- cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t | 7 ++++---
- cpan/ExtUtils-MakeMaker/t/PL_FILES.t | 4 ++--
- cpan/ExtUtils-MakeMaker/t/basic.t | 4 ++--
- cpan/ExtUtils-MakeMaker/t/echo.t | 6 +++---
- cpan/ExtUtils-MakeMaker/t/min_perl_version.t | 4 ++--
- cpan/ExtUtils-MakeMaker/t/pm_to_blib.t | 4 ++--
- cpan/ExtUtils-MakeMaker/t/recurs.t | 4 ++--
- cpan/ExtUtils-MakeMaker/t/several_authors.t | 4 ++--
- 8 files changed, 19 insertions(+), 18 deletions(-)
-
-diff --git a/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t b/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
-index f27b62c..3bbb3a6 100644
---- a/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
-+++ b/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
-@@ -15,12 +15,13 @@ $CLEANUP &&= 1; # so always 1 or numerically 0
-
- use MakeMaker::Test::Utils;
- use MakeMaker::Test::Setup::BFD;
--use Test::More;
- use Config;
- use ExtUtils::MM;
--plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
-+use Test::More
-+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
- ? (skip_all => "cross-compiling and make not available")
-- : (tests => 3 + $CLEANUP + @INSTDIRS * (15 + $CLEANUP));
-+ : ();
-+plan tests => 3 + $CLEANUP + @INSTDIRS * (15 + $CLEANUP);
-
- my $Is_VMS = $^O eq 'VMS';
-
-diff --git a/cpan/ExtUtils-MakeMaker/t/PL_FILES.t b/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
-index 0779dbb..85d53a5 100644
---- a/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
-+++ b/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
-@@ -11,9 +11,9 @@ use File::Temp qw[tempdir];
- use MakeMaker::Test::Setup::PL_FILES;
- use MakeMaker::Test::Utils;
- use Config;
--use Test::More;
- use ExtUtils::MM;
--plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
-+use Test::More
-+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
- ? (skip_all => "cross-compiling and make not available")
- : (tests => 9);
-
-diff --git a/cpan/ExtUtils-MakeMaker/t/basic.t b/cpan/ExtUtils-MakeMaker/t/basic.t
-index 3dd66ad..eddf2e9 100644
---- a/cpan/ExtUtils-MakeMaker/t/basic.t
-+++ b/cpan/ExtUtils-MakeMaker/t/basic.t
-@@ -20,9 +20,9 @@ use utf8;
- use MakeMaker::Test::Utils;
- use MakeMaker::Test::Setup::BFD;
- use Config;
--use Test::More;
- use ExtUtils::MM;
--plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
-+use Test::More
-+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
- ? (skip_all => "cross-compiling and make not available")
- : (tests => 171);
- use File::Find;
-diff --git a/cpan/ExtUtils-MakeMaker/t/echo.t b/cpan/ExtUtils-MakeMaker/t/echo.t
-index 789b85f..c43bc47 100644
---- a/cpan/ExtUtils-MakeMaker/t/echo.t
-+++ b/cpan/ExtUtils-MakeMaker/t/echo.t
-@@ -14,11 +14,11 @@ use MakeMaker::Test::Utils;
- use File::Temp;
- use Cwd 'abs_path';
-
--use Test::More;
- use ExtUtils::MM;
--plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
-+use Test::More
-+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
- ? (skip_all => "cross-compiling and make not available")
-- : ();
-+ : (tests => 18);
-
- #--------------------- Setup
-
-diff --git a/cpan/ExtUtils-MakeMaker/t/min_perl_version.t b/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
-index c5d78d6..2ef118d 100644
---- a/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
-+++ b/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
-@@ -13,9 +13,9 @@ use TieOut;
- use MakeMaker::Test::Utils;
- use MakeMaker::Test::Setup::MPV;
- use Config;
--use Test::More;
- use ExtUtils::MM;
--plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
-+use Test::More
-+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
- ? (skip_all => "cross-compiling and make not available")
- : (tests => 36);
- use File::Path;
-diff --git a/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t b/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
-index f1e348e..ebfa26c 100644
---- a/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
-+++ b/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
-@@ -12,9 +12,9 @@ use ExtUtils::MakeMaker;
- use MakeMaker::Test::Utils;
- use MakeMaker::Test::Setup::BFD;
- use Config;
--use Test::More;
- use ExtUtils::MM;
--plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
-+use Test::More
-+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
- ? (skip_all => "cross-compiling and make not available")
- : 'no_plan';
-
-diff --git a/cpan/ExtUtils-MakeMaker/t/recurs.t b/cpan/ExtUtils-MakeMaker/t/recurs.t
-index 84c09a2..661e0db 100644
---- a/cpan/ExtUtils-MakeMaker/t/recurs.t
-+++ b/cpan/ExtUtils-MakeMaker/t/recurs.t
-@@ -14,9 +14,9 @@ use File::Temp qw[tempdir];
- use MakeMaker::Test::Utils;
- use MakeMaker::Test::Setup::Recurs;
- use Config;
--use Test::More;
- use ExtUtils::MM;
--plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
-+use Test::More
-+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
- ? (skip_all => "cross-compiling and make not available")
- : (tests => 26);
-
-diff --git a/cpan/ExtUtils-MakeMaker/t/several_authors.t b/cpan/ExtUtils-MakeMaker/t/several_authors.t
-index 1a75a3e..869e9f0 100644
---- a/cpan/ExtUtils-MakeMaker/t/several_authors.t
-+++ b/cpan/ExtUtils-MakeMaker/t/several_authors.t
-@@ -13,9 +13,9 @@ use TieOut;
- use MakeMaker::Test::Utils;
- use MakeMaker::Test::Setup::SAS;
- use Config;
--use Test::More;
- use ExtUtils::MM;
--plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
-+use Test::More
-+ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
- ? (skip_all => "cross-compiling and make not available")
- : (tests => 20);
- use File::Path;
diff --git a/poky/meta/recipes-devtools/perl/perl/perl-moreconfig.patch b/poky/meta/recipes-devtools/perl/perl/perl-moreconfig.patch
deleted file mode 100644
index 59ce85a7a..000000000
--- a/poky/meta/recipes-devtools/perl/perl/perl-moreconfig.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status:Inappropriate [embedded specific]
-
-We need ld in the fake config library, but it's not included by default. So
-expand the number of items included. While this works it indicates that the
-rest of the config items are not being picked up and/or are being picked up
-from the host. More investigation needed.
-
---- perl-5.8.8/configpm 2007/04/20 09:48:05 1.1
-+++ perl-5.8.8/configpm 2007/04/20 09:57:12
-@@ -2,7 +2,7 @@
- use strict;
- use vars qw(%Config $Config_SH_expanded);
-
--my $how_many_common = 22;
-+my $how_many_common = 50;
-
- # commonly used names to precache (and hence lookup fastest)
- my %Common;
diff --git a/poky/meta/recipes-devtools/perl/perl/t-run-switches.t-perl5-perl.patch b/poky/meta/recipes-devtools/perl/perl/t-run-switches.t-perl5-perl.patch
deleted file mode 100644
index 03fdf4ab9..000000000
--- a/poky/meta/recipes-devtools/perl/perl/t-run-switches.t-perl5-perl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 1561549ea36e37cc25706f094a195de4928f4211 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Fri, 19 Jun 2015 01:23:46 -0700
-Subject: [PATCH] t/run/switches.t: perl5 -> perl
-
-We call it perl rather than perl5 in oe.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- t/run/switches.t | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/t/run/switches.t b/t/run/switches.t
-index 78915e0..e9e4b45 100644
---- a/t/run/switches.t
-+++ b/t/run/switches.t
-@@ -269,7 +269,7 @@ is runperl(stderr => 1, prog => '#!perl -M'),
- '-V generates 20+ lines' );
-
- like( runperl( switches => ['-V'] ),
-- qr/\ASummary of my perl5 .*configuration:/,
-+ qr/\ASummary of my perl .*configuration:/,
- '-V looks okay' );
-
- # lookup a known config var
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/perl/perl/test/dist-threads-t-join.t-adjust-ps-option.patch b/poky/meta/recipes-devtools/perl/perl/test/dist-threads-t-join.t-adjust-ps-option.patch
deleted file mode 100644
index c8293c3d6..000000000
--- a/poky/meta/recipes-devtools/perl/perl/test/dist-threads-t-join.t-adjust-ps-option.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-dist/threads/t/join.t: adjust ps option
-
-The ps's option '-f' is not supported by busybox in oe.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- dist/threads/t/join.t | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/dist/threads/t/join.t b/dist/threads/t/join.t
---- a/dist/threads/t/join.t
-+++ b/dist/threads/t/join.t
-@@ -118,7 +118,7 @@ if ($^O eq 'linux') {
- })->join;
- #print "# mainthread: \$0 = $0\n";
- #print "# pid = $$\n";
-- if (open PS, "ps -f |") { # Note: must work in (all) systems.
-+ if (open PS, "ps |") { # Note: must work in (all) systems.
- my ($sawpid, $sawexe);
- while (<PS>) {
- chomp;
-@@ -135,10 +135,10 @@ if ($^O eq 'linux') {
- if ($sawpid) {
- ok($sawpid && $sawexe, 'altering $0 is effective');
- } else {
-- skip("\$0 check: did not see pid $$ in 'ps -f |'");
-+ skip("\$0 check: did not see pid $$ in 'ps |'");
- }
- } else {
-- skip("\$0 check: opening 'ps -f |' failed: $!");
-+ skip("\$0 check: opening 'ps |' failed: $!");
- }
- } else {
- skip("\$0 check: only on Linux");
---
-1.8.1.2
-
diff --git a/poky/meta/recipes-devtools/perl/perl/test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch b/poky/meta/recipes-devtools/perl/perl/test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch
deleted file mode 100644
index ce577fe5f..000000000
--- a/poky/meta/recipes-devtools/perl/perl/test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-ext/DynaLoader/t/DynaLoader.t: fix calling dl_findfile() failed
-
-Use '$Config{libc}' as the libc file name
-
-Upstream-Status: Inappropriate
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- ext/DynaLoader/t/DynaLoader.t | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ext/DynaLoader/t/DynaLoader.t b/ext/DynaLoader/t/DynaLoader.t
-index ade1f8e..3567afe 100644
---- a/ext/DynaLoader/t/DynaLoader.t
-+++ b/ext/DynaLoader/t/DynaLoader.t
-@@ -106,7 +106,7 @@ ok( defined $dlerr, "dl_error() returning an error message: '$dlerr'" );
- # ... dl_findfile()
- SKIP: {
- my @files = ();
-- eval { @files = DynaLoader::dl_findfile("c") };
-+ eval { @files = DynaLoader::dl_findfile($Config{libc}) };
- is( $@, '', "calling dl_findfile()" );
- # Some platforms are known to not have a "libc"
- # (not at least by that name) that the dl_findfile()
---
-1.8.1.2
-
diff --git a/poky/meta/recipes-devtools/perl/perl_5.24.4.bb b/poky/meta/recipes-devtools/perl/perl_5.24.4.bb
deleted file mode 100644
index a64497019..000000000
--- a/poky/meta/recipes-devtools/perl/perl_5.24.4.bb
+++ /dev/null
@@ -1,353 +0,0 @@
-require perl.inc
-
-# We need gnugrep (for -I)
-DEPENDS = "db grep-native gdbm zlib virtual/crypt"
-
-# Pick up patches from debian
-# http://ftp.de.debian.org/debian/pool/main/p/perl/perl_5.22.0-1.debian.tar.xz
-SRC_URI += " \
- file://debian/cpan_definstalldirs.diff \
- file://debian/db_file_ver.diff \
- file://debian/doc_info.diff \
- file://debian/enc2xs_inc.diff \
- file://debian/errno_ver.diff \
- file://debian/libperl_embed_doc.diff \
- file://debian/fixes/respect_umask.diff \
- file://debian/writable_site_dirs.diff \
- file://debian/extutils_set_libperl_path.diff \
- file://debian/no_packlist_perllocal.diff \
- file://debian/prefix_changes.diff \
- file://debian/instmodsh_doc.diff \
- file://debian/ld_run_path.diff \
- file://debian/libnet_config_path.diff \
- file://debian/mod_paths.diff \
- file://debian/prune_libs.diff \
- file://debian/fixes/net_smtp_docs.diff \
- file://debian/perlivp.diff \
- file://debian/squelch-locale-warnings.diff \
- file://debian/skip-upstream-git-tests.diff \
- file://debian/skip-kfreebsd-crash.diff \
- file://debian/fixes/document_makemaker_ccflags.diff \
- file://debian/find_html2text.diff \
- file://debian/perl5db-x-terminal-emulator.patch \
- file://debian/cpan-missing-site-dirs.diff \
- file://debian/fixes/memoize_storable_nstore.diff \
- file://debian/regen-skip.diff \
-"
-
-SRC_URI += " \
- file://Makefile.patch \
- file://Makefile.SH.patch \
- file://installperl.patch \
- file://perl-archlib-exp.patch \
- file://perl-dynloader.patch \
- file://perl-moreconfig.patch \
- file://letgcc-find-errno.patch \
- file://generate-sh.patch \
- file://native-perlinc.patch \
- file://cross-generate_uudmap.patch \
- file://fix_bad_rpath.patch \
- file://dynaloaderhack.patch \
- file://config.sh \
- file://config.sh-32 \
- file://config.sh-32-le \
- file://config.sh-32-be \
- file://config.sh-64 \
- file://config.sh-64-le \
- file://config.sh-64-be \
- file://make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch \
- file://t-run-switches.t-perl5-perl.patch \
- file://ext-ODBM_File-hints-linux.pl-link-libgdbm_compat.patch \
- file://ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch \
- file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
- file://perl-errno-generation-gcc5.patch \
- file://perl-fix-conflict-between-skip_all-and-END.patch \
- file://perl-5.26.1-guard_old_libcrypt_fix.patch \
- file://CVE-2018-12015.patch \
- file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \
-"
-
-# Fix test case issues
-SRC_URI_append_class-target = " \
- file://test/dist-threads-t-join.t-adjust-ps-option.patch \
- file://test/ext-DynaLoader-t-DynaLoader.t-fix-calling-dl_findfil.patch \
- file://0001-Skip-various-tests-if-PERL_BUILD_PACKAGING-is-set.patch \
- "
-
-SRC_URI[md5sum] = "04622bc4d3941dc7eb571c52b7c02993"
-SRC_URI[sha256sum] = "7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84"
-
-inherit perlnative siteinfo
-
-# Where to find the native perl
-HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl-native/perl${PV}"
-
-# Where to find .so files - use the -native versions not those from the target build
-export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
-
-# Where to find perl @INC/#include files
-# - use the -native versions not those from the target build
-export PERL_LIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
-export PERL_ARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-# LDFLAGS for shared libraries
-export LDDLFLAGS = "${LDFLAGS} -shared"
-
-LDFLAGS_append = " -fstack-protector"
-
-# We're almost Debian, aren't we?
-CFLAGS += "-DDEBIAN"
-
-do_configure() {
- # Make hostperl in build directory be the native perl
- ln -sf ${HOSTPERL} hostperl
-
- if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
- if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a -e Makefile ]; then
- ${MAKE} clean
- fi
- find ${S} -name *.so -delete
- fi
- if [ -n "${CONFIGURESTAMPFILE}" ]; then
- echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
- fi
-
- # Do our work in the cross subdir
- cd Cross
-
- # Generate configuration
- rm -f config.sh-${TARGET_ARCH}-${TARGET_OS}
- for i in ${WORKDIR}/config.sh \
- ${WORKDIR}/config.sh-${SITEINFO_BITS} \
- ${WORKDIR}/config.sh-${SITEINFO_BITS}-${SITEINFO_ENDIANNESS}; do
- cat $i >> config.sh-${TARGET_ARCH}-${TARGET_OS}
- done
-
- # Fixups for musl
- if [ "${TARGET_OS}" = "linux-musl" -o "${TARGET_OS}" = "linux-musleabi" -o "${TARGET_OS}" = "linux-muslx32" ]; then
- sed -i -e "s,\(d_libm_lib_version=\)'define',\1'undef',g" \
- -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \
- -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \
- -e "s,\(d_stdiobase=\)'define',\1'undef',g" \
- -e "s,\(d_stdstdio=\)'define',\1'undef',g" \
- -e "s,\(d_getnetbyname_r=\)'define',\1'undef',g" \
- -e "s,\(d_finitel=\)'define',\1'undef',g" \
- -e "s,\(getprotobyname_r=\)'define',\1'undef',g" \
- -e "s,\(getpwent_r=\)'define',\1'undef',g" \
- -e "s,\(getservent_r=\)'define',\1'undef',g" \
- -e "s,\(gethostent_r=\)'define',\1'undef',g" \
- -e "s,\(getnetent_r=\)'define',\1'undef',g" \
- -e "s,\(getnetbyaddr_r=\)'define',\1'undef',g" \
- -e "s,\(getprotoent_r=\)'define',\1'undef',g" \
- -e "s,\(getprotobynumber_r=\)'define',\1'undef',g" \
- -e "s,\(getgrent_r=\)'define',\1'undef',g" \
- -e "s,\(i_fcntl=\)'undef',\1'define',g" \
- -e "s,\(h_fcntl=\)'false',\1'true',g" \
- -e "s,-fstack-protector,-fno-stack-protector,g" \
- config.sh-${TARGET_ARCH}-${TARGET_OS}
- fi
-
- # Update some paths in the configuration
- sed -i -e 's,@ARCH@-thread-multi,,g' \
- -e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \
- -e 's,@STAGINGDIR@,${STAGING_DIR_HOST},g' \
- -e "s,@INCLUDEDIR@,${STAGING_INCDIR},g" \
- -e "s,@LIBDIR@,${libdir},g" \
- -e "s,@BASELIBDIR@,${base_libdir},g" \
- -e "s,@EXECPREFIX@,${exec_prefix},g" \
- -e 's,@USRBIN@,${bindir},g' \
- -e "s,-lnsl,,g" \
- config.sh-${TARGET_ARCH}-${TARGET_OS}
-
- case "${TARGET_ARCH}" in
- x86_64 | powerpc | s390)
- sed -i -e "s,\(need_va_copy=\)'undef',\1'define',g" \
- config.sh-${TARGET_ARCH}-${TARGET_OS}
- ;;
- arm)
- sed -i -e "s,\(d_u32align=\)'undef',\1'define',g" \
- config.sh-${TARGET_ARCH}-${TARGET_OS}
- ;;
- esac
- # These are strewn all over the source tree
- for foo in `grep -I --exclude="*.patch" --exclude="*.diff" --exclude="*.pod" --exclude="README*" --exclude="Glossary" -m1 "/usr/include/.*\.h" ${S}/* -r -l` ${S}/utils/h2xs.PL ; do
- echo Fixing: $foo
- sed -e 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i $foo
- done
-
- rm -f config
- echo "ARCH = ${TARGET_ARCH}" > config
- echo "OS = ${TARGET_OS}" >> config
-}
-
-do_compile() {
- # Fix to avoid recursive substitution of path
- sed -i -e 's|(@libpath, ".*"|(@libpath, "${STAGING_LIBDIR}"|g' cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
-
- cd Cross
- oe_runmake perl LD="${CCLD}"
-}
-
-do_compile_append_class-target() {
- # Remove build host references from numerous comments...
- find "${S}/cpan/Encode" -type f \
- \( -name '*.exh' -o -name '*.c' -o -name '*.h' \)\
- -exec sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' {} +
- sed -i -e 's:${RECIPE_SYSROOT}::g' ${S}/perl.h ${S}/pp.h
- sed -i -e 's:${RECIPE_SYSROOT_NATIVE}/usr/bin/perl-native/perl${PV}.real:/usr/bin/perl${PV}:g' \
- ${S}/cpan/Compress-Raw-Bzip2/constants.h \
- ${S}/cpan/Compress-Raw-Zlib/constants.h \
- ${S}/cpan/IPC-SysV/const-c.inc \
- ${S}/dist/Time-HiRes/const-c.inc
-}
-
-do_install() {
- #export hostperl="${STAGING_BINDIR_NATIVE}/perl-native/perl${PV}"
- oe_runmake install DESTDIR=${D}
- # Add perl pointing at current version
- ln -sf perl${PV} ${D}${bindir}/perl
-
- ln -sf perl ${D}/${libdir}/perl5
-
- # Remove unwanted file and empty directories
- rm -f ${D}/${libdir}/perl/${PV}/.packlist
- rmdir ${D}/${libdir}/perl/site_perl/${PV}
- rmdir ${D}/${libdir}/perl/site_perl
-
- # Fix up shared library
- mv ${D}/${libdir}/perl/${PV}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV}
- ln -sf libperl.so.${PV} ${D}/${libdir}/libperl.so.5
- ln -sf ../../../libperl.so.${PV} ${D}/${libdir}/perl/${PV}/CORE/libperl.so
-
- # target config, used by cpan.bbclass to extract version information
- install config.sh ${D}${libdir}/perl
-
- ln -s Config_heavy.pl ${D}${libdir}/perl/${PV}/Config_heavy-target.pl
-}
-
-do_install_append_class-nativesdk () {
- create_wrapper ${D}${bindir}/perl \
- PERL5LIB='$PERL5LIB:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl/site_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl/vendor_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl/${PV}'
-}
-
-PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess"
-
-perl_package_preprocess () {
- # Fix up installed configuration
- sed -i -e "s,${D},,g" \
- -e "s,${DEBUG_PREFIX_MAP},,g" \
- -e "s,--sysroot=${STAGING_DIR_HOST},,g" \
- -e "s,-isystem${STAGING_INCDIR} ,,g" \
- -e "s,${STAGING_LIBDIR},${libdir},g" \
- -e "s,${STAGING_BINDIR},${bindir},g" \
- -e "s,${STAGING_INCDIR},${includedir},g" \
- -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
- -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
- -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
- -e 's:${RECIPE_SYSROOT}::g' \
- ${PKGD}${bindir}/h2xs \
- ${PKGD}${bindir}/h2ph \
- ${PKGD}${bindir}/pod2man \
- ${PKGD}${bindir}/pod2text \
- ${PKGD}${bindir}/pod2usage \
- ${PKGD}${bindir}/podchecker \
- ${PKGD}${bindir}/podselect \
- ${PKGD}${libdir}/perl/${PV}/CORE/config.h \
- ${PKGD}${libdir}/perl/${PV}/CORE/perl.h \
- ${PKGD}${libdir}/perl/${PV}/CORE/pp.h \
- ${PKGD}${libdir}/perl/${PV}/Config.pm \
- ${PKGD}${libdir}/perl/${PV}/Config.pod \
- ${PKGD}${libdir}/perl/${PV}/Config_heavy.pl \
- ${PKGD}${libdir}/perl/${PV}/ExtUtils/Liblist/Kid.pm \
- ${PKGD}${libdir}/perl/${PV}/FileCache.pm \
- ${PKGD}${libdir}/perl/${PV}/pod/*.pod \
- ${PKGD}${libdir}/perl/config.sh
-}
-
-PACKAGES = "perl-dbg perl perl-misc perl-dev perl-pod perl-doc perl-lib \
- perl-module-cpan perl-module-cpanplus perl-module-unicore"
-FILES_${PN} = "${bindir}/perl ${bindir}/perl${PV} \
- ${libdir}/perl/${PV}/Config.pm \
- ${libdir}/perl/${PV}/strict.pm \
- ${libdir}/perl/${PV}/warnings.pm \
- ${libdir}/perl/${PV}/warnings \
- ${libdir}/perl/${PV}/vars.pm \
- "
-FILES_${PN}_append_class-nativesdk = " ${bindir}/perl.real"
-RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \
- perl-module-warnings-register"
-FILES_${PN}-dev = "${libdir}/perl/${PV}/CORE"
-FILES_${PN}-lib = "${libdir}/libperl.so* \
- ${libdir}/perl5 \
- ${libdir}/perl/config.sh \
- ${libdir}/perl/${PV}/Config_git.pl \
- ${libdir}/perl/${PV}/Config_heavy.pl \
- ${libdir}/perl/${PV}/Config_heavy-target.pl"
-FILES_${PN}-pod = "${libdir}/perl/${PV}/pod \
- ${libdir}/perl/${PV}/*.pod \
- ${libdir}/perl/${PV}/*/*.pod \
- ${libdir}/perl/${PV}/*/*/*.pod "
-FILES_perl-misc = "${bindir}/*"
-FILES_${PN}-doc = "${libdir}/perl/${PV}/*/*.txt \
- ${libdir}/perl/${PV}/*/*/*.txt \
- ${libdir}/perl/${PV}/auto/XS/Typemap \
- ${libdir}/perl/${PV}/B/assemble \
- ${libdir}/perl/${PV}/B/cc_harness \
- ${libdir}/perl/${PV}/B/disassemble \
- ${libdir}/perl/${PV}/B/makeliblinks \
- ${libdir}/perl/${PV}/CGI/eg \
- ${libdir}/perl/${PV}/CPAN/PAUSE2003.pub \
- ${libdir}/perl/${PV}/CPAN/SIGNATURE \
- ${libdir}/perl/${PV}/CPANPLUS/Shell/Default/Plugins/HOWTO.pod \
- ${libdir}/perl/${PV}/Encode/encode.h \
- ${libdir}/perl/${PV}/ExtUtils/MANIFEST.SKIP \
- ${libdir}/perl/${PV}/ExtUtils/NOTES \
- ${libdir}/perl/${PV}/ExtUtils/PATCHING \
- ${libdir}/perl/${PV}/ExtUtils/typemap \
- ${libdir}/perl/${PV}/ExtUtils/xsubpp \
- ${libdir}/perl/${PV}/ExtUtils/Changes_EU-Install \
- ${libdir}/perl/${PV}/Net/*.eg \
- ${libdir}/perl/${PV}/unicore/mktables \
- ${libdir}/perl/${PV}/unicore/mktables.lst \
- ${libdir}/perl/${PV}/unicore/version "
-
-FILES_perl-module-cpan += "${libdir}/perl/${PV}/CPAN \
- ${libdir}/perl/${PV}/CPAN.pm"
-FILES_perl-module-cpanplus += "${libdir}/perl/${PV}/CPANPLUS \
- ${libdir}/perl/${PV}/CPANPLUS.pm"
-FILES_perl-module-unicore += "${libdir}/perl/${PV}/unicore"
-
-# Create a perl-modules package recommending all the other perl
-# packages (actually the non modules packages and not created too)
-ALLOW_EMPTY_perl-modules = "1"
-PACKAGES_append = " perl-modules "
-
-PACKAGESPLITFUNCS_prepend = "split_perl_packages "
-
-python split_perl_packages () {
- libdir = d.expand('${libdir}/perl/${PV}')
- do_split_packages(d, libdir, 'auto/([^.]*)/[^/]*\.(so|ld|ix|al)', 'perl-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False)
- do_split_packages(d, libdir, 'Module/([^\/]*)\.pm', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
- do_split_packages(d, libdir, 'Module/([^\/]*)/.*', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
- do_split_packages(d, libdir, '(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/|auto\/)[^\/]).*)\.(pm|pl|e2x)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
-
- # perl-modules should recommend every perl module, and only the
- # modules. Don't attempt to use the result of do_split_packages() as some
- # modules are manually split (eg. perl-module-unicore).
- packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split())
- d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages))
-}
-
-PACKAGES_DYNAMIC += "^perl-module-.*(?<!\-native)$"
-PACKAGES_DYNAMIC_class-nativesdk = "^nativesdk-perl-module-.*"
-
-RPROVIDES_perl-lib = "perl-lib"
-
-require perl-rdepends_${PV}.inc
-require perl-ptest.inc
-
-SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.5.3.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.5.3.bb
deleted file mode 100644
index 415478d5c..000000000
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.5.3.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks."
-DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \
-flags for development frameworks. It is similar to pkg-config from \
-freedesktop.org, providing additional functionality while also maintaining \
-compatibility."
-HOMEPAGE = "http://pkgconf.org"
-BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues"
-SECTION = "devel"
-PROVIDES += "pkgconfig"
-RPROVIDES_${PN} += "pkgconfig"
-DEFAULT_PREFERENCE = "-1"
-
-# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or
-# ISC, but has different wording, so needs its own name.
-LICENSE = "pkgconf"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0"
-
-SRC_URI = "\
- https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \
- file://pkg-config-wrapper \
- file://pkg-config-native.in \
- file://pkg-config-esdk.in \
-"
-SRC_URI[md5sum] = "c21743bca14c882c0f282746168a5edc"
-SRC_URI[sha256sum] = "d3468308553c94389dadfd10c4d1067269052b5364276a9d24a643c88485f715"
-
-inherit autotools
-
-EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'"
-
-do_install_append () {
- # Install a wrapper which deals, as much as possible with pkgconf vs
- # pkg-config compatibility issues.
- install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config"
-}
-
-do_install_append_class-native () {
- # Install a pkg-config-native wrapper that will use the native sysroot instead
- # of the MACHINE sysroot, for using pkg-config when building native tools.
- sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
- < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native
- install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
- sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
- -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
- < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk
- install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk
-}
-
-# When using the RPM generated automatic package dependencies, some packages
-# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by
-# specifying an appropriate provide.
-RPROVIDES_${PN} += "pkgconfig(pkg-config)"
-
-# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev
-FILES_${PN}-dev_remove = "${datadir}/aclocal"
-FILES_${PN} += "${datadir}/aclocal"
-
-BBCLASSEXTEND += "native nativesdk"
-
-pkgconf_sstate_fixup_esdk () {
- if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
- pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
- mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
- lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
- sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
- fi
-}
-
-SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk"
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb
new file mode 100644
index 000000000..1452875f5
--- /dev/null
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb
@@ -0,0 +1,69 @@
+SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks."
+DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \
+flags for development frameworks. It is similar to pkg-config from \
+freedesktop.org, providing additional functionality while also maintaining \
+compatibility."
+HOMEPAGE = "http://pkgconf.org"
+BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues"
+SECTION = "devel"
+PROVIDES += "pkgconfig"
+RPROVIDES_${PN} += "pkgconfig"
+DEFAULT_PREFERENCE = "-1"
+
+# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or
+# ISC, but has different wording, so needs its own name.
+LICENSE = "pkgconf"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0"
+
+SRC_URI = "\
+ https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \
+ file://pkg-config-wrapper \
+ file://pkg-config-native.in \
+ file://pkg-config-esdk.in \
+"
+SRC_URI[md5sum] = "0c93492d7f001e5175b0347b5472e86d"
+SRC_URI[sha256sum] = "6135a3abb576672ba54a899860442ba185063f0f90dae5892f64f7bae8e1ece5"
+
+inherit autotools
+
+EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'"
+
+do_install_append () {
+ # Install a wrapper which deals, as much as possible with pkgconf vs
+ # pkg-config compatibility issues.
+ install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config"
+}
+
+do_install_append_class-native () {
+ # Install a pkg-config-native wrapper that will use the native sysroot instead
+ # of the MACHINE sysroot, for using pkg-config when building native tools.
+ sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
+ < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native
+ install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
+ sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
+ -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
+ < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk
+ install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk
+}
+
+# When using the RPM generated automatic package dependencies, some packages
+# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by
+# specifying an appropriate provide.
+RPROVIDES_${PN} += "pkgconfig(pkg-config)"
+
+# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev
+FILES_${PN}-dev_remove = "${datadir}/aclocal"
+FILES_${PN} += "${datadir}/aclocal"
+
+BBCLASSEXTEND += "native nativesdk"
+
+pkgconf_sstate_fixup_esdk () {
+ if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
+ pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
+ mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
+ lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
+ sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
+ fi
+}
+
+SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk"
diff --git a/poky/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-native.in b/poky/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-native.in
index 5e44bb435..a9324de4c 100644
--- a/poky/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-native.in
+++ b/poky/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-native.in
@@ -1,7 +1,7 @@
#! /bin/sh
-PKG_CONFIG_PATH="@PATH_NATIVE@"
-PKG_CONFIG_LIBDIR="@LIBDIR_NATIVE@"
+export PKG_CONFIG_PATH="@PATH_NATIVE@"
+export PKG_CONFIG_LIBDIR="@LIBDIR_NATIVE@"
unset PKG_CONFIG_SYSROOT_DIR
pkg-config "$@"
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo.inc b/poky/meta/recipes-devtools/pseudo/pseudo.inc
index cdc2a5823..8b05735bb 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/poky/meta/recipes-devtools/pseudo/pseudo.inc
@@ -17,7 +17,7 @@ PROVIDES += "virtual/fakeroot"
MAKEOPTS = ""
-inherit siteinfo
+inherit siteinfo pkgconfig
do_configure () {
:
@@ -30,10 +30,23 @@ PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback --enable-ep
# Compile for the local machine arch...
do_compile () {
+ SQLITE_LDADD='$(SQLITE)/$(SQLITE_LIB)/libsqlite3.a'
+ for sqlite_link_opt in $(pkg-config sqlite3 --libs --static)
+ do
+ case "$sqlite_link_opt" in
+ -lsqlite3)
+ ;;
+ -l*)
+ SQLITE_LDADD="${SQLITE_LDADD} ${sqlite_link_opt}"
+ ;;
+ *)
+ ;;
+ esac
+ done
if [ "${SITEINFO_BITS}" = "64" ]; then
- ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
+ ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --with-static-sqlite="$SQLITE_LDADD" --without-rpath
else
- ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
+ ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --with-static-sqlite="$SQLITE_LDADD" --without-rpath
fi
oe_runmake ${MAKEOPTS}
}
diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 4b1792188..169d1b155 100644
--- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 019422d19c6401fa8f45b1311ecd31bb087c809d Mon Sep 17 00:00:00 2001
+From 5bba4f57f048016aa92ce5909e9e372db619554e Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 17 Jul 2018 10:13:38 +0800
Subject: [PATCH] conditionally do not fetch code by easy_install
@@ -9,15 +9,16 @@ internet by easy_install.
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
setuptools/command/easy_install.py | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index 85ee40f..7eb9d2a 100755
+index 05508ce..945e118 100755
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
-@@ -637,6 +637,11 @@ class easy_install(Command):
+@@ -640,6 +640,11 @@ class easy_install(Command):
os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir))
def easy_install(self, spec, deps=False):
@@ -29,6 +30,3 @@ index 85ee40f..7eb9d2a 100755
if not self.editable:
self.install_site_py()
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python-async.inc b/poky/meta/recipes-devtools/python/python-async.inc
index 6664ab013..139bf2c51 100644
--- a/poky/meta/recipes-devtools/python/python-async.inc
+++ b/poky/meta/recipes-devtools/python/python-async.inc
@@ -11,4 +11,4 @@ SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8
RDEPENDS_${PN} += "${PYTHON_PN}-threading"
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python-git.inc b/poky/meta/recipes-devtools/python/python-git.inc
index 7ccf1686f..f973e9f42 100644
--- a/poky/meta/recipes-devtools/python/python-git.inc
+++ b/poky/meta/recipes-devtools/python/python-git.inc
@@ -29,4 +29,4 @@ RDEPENDS_${PN} += " \
${PYTHON_PN}-unixadmin \
git \
"
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python-gitdb.inc b/poky/meta/recipes-devtools/python/python-gitdb.inc
index 789ab959f..633752fd1 100644
--- a/poky/meta/recipes-devtools/python/python-gitdb.inc
+++ b/poky/meta/recipes-devtools/python/python-gitdb.inc
@@ -8,8 +8,8 @@ inherit pypi
PYPI_PACKAGE = "gitdb2"
-SRC_URI[md5sum] = "6e21f5795a204f7afecb0a72fff66932"
-SRC_URI[sha256sum] = "bb4c85b8a58531c51373c89f92163b92f30f81369605a67cd52d1fc21246c044"
+SRC_URI[md5sum] = "94e59e5fb00960541f6e137b1456ab0a"
+SRC_URI[sha256sum] = "83361131a1836661a155172932a13c08bda2db3674e4caa32368aa6eb02f38c2"
DEPENDS = "${PYTHON_PN}-async ${PYTHON_PN}-setuptools-native ${PYTHON_PN}-smmap"
@@ -21,4 +21,4 @@ RDEPENDS_${PN} += "${PYTHON_PN}-async \
${PYTHON_PN}-shell \
${PYTHON_PN}-smmap \
"
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python-native/0001-python-native-fix-one-do_populate_sysroot-warning.patch b/poky/meta/recipes-devtools/python/python-native/0001-python-native-fix-one-do_populate_sysroot-warning.patch
new file mode 100644
index 000000000..989818927
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python-native/0001-python-native-fix-one-do_populate_sysroot-warning.patch
@@ -0,0 +1,39 @@
+From 12292444e1b3662b994bc223d92b8338fb0895ff Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 25 Oct 2018 07:32:14 +0000
+Subject: [PATCH] python-native: fix one do_populate_sysroot warning
+
+Fix below warning:
+WARNING: Skipping RPATH /usr/lib64 as is a standard search path for
+work/x86_64-linux/python-native/2.7.15-r1.1/recipe-sysroot-native/
+usr/lib/python2.7/lib-dynload/_bsddb.so
+
+setup.py will check db.h under include_dirs, for native build,
+/usr/lib64 will be insert to postion 0 of include_dirs, so
+it's priority is higher then our sysroot, cause db.h sysroot
+is ignored, and rpath set to /usr/lib64. and this cause warning
+when do_populate_sysroot. use append to fix it.
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 7bf13ed..6c0f29b 100644
+--- a/setup.py
++++ b/setup.py
+@@ -40,7 +40,7 @@ def add_dir_to_list(dirlist, dir):
+ 1) 'dir' is not already in 'dirlist'
+ 2) 'dir' actually exists, and is a directory."""
+ if dir is not None and os.path.isdir(dir) and dir not in dirlist:
+- dirlist.insert(0, dir)
++ dirlist.append(dir)
+
+ def macosx_sdk_root():
+ """
+--
+2.18.0
+
diff --git a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb b/poky/meta/recipes-devtools/python/python-native_2.7.15.bb
index 9d0fe3b84..26d67df6b 100644
--- a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb
+++ b/poky/meta/recipes-devtools/python/python-native_2.7.15.bb
@@ -16,6 +16,8 @@ SRC_URI += "\
file://builddir.patch \
file://parallel-makeinst-create-bindir.patch \
file://revert_use_of_sysconfigdata.patch \
+ file://0001-python-native-fix-one-do_populate_sysroot-warning.patch \
+ file://0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch \
"
S = "${WORKDIR}/Python-${PV}"
diff --git a/poky/meta/recipes-devtools/python/python-pbr.inc b/poky/meta/recipes-devtools/python/python-pbr.inc
index 5a295c5f3..0e64501c3 100644
--- a/poky/meta/recipes-devtools/python/python-pbr.inc
+++ b/poky/meta/recipes-devtools/python/python-pbr.inc
@@ -5,9 +5,6 @@ SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-SRC_URI[md5sum] = "6619780896ca81c7cd19c6e2f439b6c9"
-SRC_URI[sha256sum] = "1b8be50d938c9bb75d0eaf7eda111eec1bf6dc88a62a6412e33bf077457e0f45"
-
inherit pypi
RDEPENDS_${PN} += "${PYTHON_PN}-pip"
diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc
index 315ba3139..9092d7ad0 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools.inc
+++ b/poky/meta/recipes-devtools/python/python-setuptools.inc
@@ -10,8 +10,8 @@ inherit pypi
SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
-SRC_URI[md5sum] = "260630ae1a64bafa39dcc53404d63829"
-SRC_URI[sha256sum] = "012adb8e25fbfd64c652e99e7bab58799a3aaf05d39ab38561f69190a909015f"
+SRC_URI[md5sum] = "712697a5bc975cf479d487cd68206c20"
+SRC_URI[sha256sum] = "6e4eec90337e849ade7103723b9a99631c1f0d19990d6e8412dc42f5ae8b304d"
DEPENDS += "${PYTHON_PN}"
diff --git a/poky/meta/recipes-devtools/python/python-setuptools_40.0.0.bb b/poky/meta/recipes-devtools/python/python-setuptools_40.8.0.bb
index cf9440495..cf9440495 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools_40.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python-setuptools_40.8.0.bb
diff --git a/poky/meta/recipes-devtools/python/python-six.inc b/poky/meta/recipes-devtools/python/python-six.inc
index c77498457..c706dcaf2 100644
--- a/poky/meta/recipes-devtools/python/python-six.inc
+++ b/poky/meta/recipes-devtools/python/python-six.inc
@@ -2,10 +2,10 @@ SUMMARY = "Python 2 and 3 compatibility library"
HOMEPAGE = "https://pypi.python.org/pypi/six/"
SECTION = "devel/python"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=35cec5bf04dd0820d0a18533ea7c774a"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=83e0f622bd5ac7d575dbd83d094d69b5"
-SRC_URI[md5sum] = "d12789f9baf7e9fb2524c0c64f1773f8"
-SRC_URI[sha256sum] = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"
+SRC_URI[md5sum] = "9ae5d1feed8c0215f4ae4adcd9207fcb"
+SRC_URI[sha256sum] = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python-smmap.inc b/poky/meta/recipes-devtools/python/python-smmap.inc
index 55aa516e0..1a2259e4b 100644
--- a/poky/meta/recipes-devtools/python/python-smmap.inc
+++ b/poky/meta/recipes-devtools/python/python-smmap.inc
@@ -9,10 +9,12 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665
inherit pypi
-SRC_URI[md5sum] = "d7932d5ace206bf4ae15198cf36fb6ab"
-SRC_URI[sha256sum] = "0e2b62b497bd5f0afebc002eda4d90df9d209c30ef257e8673c90a6b5c119d62"
+PYPI_PACKAGE = "smmap2"
+
+SRC_URI[md5sum] = "1c59a985be5aa645c4c5a4e063a40dd5"
+SRC_URI[sha256sum] = "29a9ffa0497e7f2be94ca0ed1ca1aa3cd4cf25a1f6b4f5f87f74b46ed91d609a"
RDEPENDS_${PN} += "${PYTHON_PN}-codecs \
${PYTHON_PN}-mmap \
"
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python/0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch b/poky/meta/recipes-devtools/python/python/0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch
new file mode 100644
index 000000000..6e4f82091
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python/0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch
@@ -0,0 +1,114 @@
+From 3f49be81e31c164654aeb10b65ebade982ca2ed8 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 22 Oct 2018 15:24:48 +0800
+Subject: [PATCH] python2: use cc_basename to replace CC for checking compiler
+
+When working path contains "clang"/"gcc"/"icc", it might be part of $CC
+because of the "--sysroot" parameter. That could cause judgement error
+about clang/gcc/icc compilers. e.g.
+When "icc" is containded in working path, below errors are reported when
+compiling python:
+x86_64-wrs-linux-gcc: error: strict: No such file or directory
+x86_64-wrs-linux-gcc: error: unrecognized command line option '-fp-model'
+
+Here use cc_basename to replace CC for checking compiler to avoid such
+kind of issue.
+
+Upstream-Status: Pending
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+
+Patch orignally from Li Zhou, I just rework it to new version
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index db1c940..dfcd89a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -684,7 +684,7 @@ AC_MSG_RESULT($with_cxx_main)
+ preset_cxx="$CXX"
+ if test -z "$CXX"
+ then
+- case "$CC" in
++ case "$cc_basename" in
+ gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;;
+ cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;;
+ esac
+@@ -757,14 +757,14 @@ rmdir CaseSensitiveTestDir
+
+ case $MACHDEP in
+ bsdos*)
+- case $CC in
++ case $cc_basename in
+ gcc) CC="$CC -D_HAVE_BSDI";;
+ esac;;
+ esac
+
+ case $ac_sys_system in
+ hp*|HP*)
+- case $CC in
++ case $cc_basename in
+ cc|*/cc) CC="$CC -Ae";;
+ esac;;
+ SunOS*)
+@@ -1084,7 +1084,7 @@ then
+ fi
+
+ # Clang also needs -fwrapv
+- case $CC in
++ case $cc_basename in
+ *clang*) WRAP="-fwrapv"
+ ;;
+ esac
+@@ -1304,7 +1304,7 @@ yes)
+ esac
+
+ # ICC needs -fp-model strict or floats behave badly
+-case "$CC" in
++case "$cc_basename" in
+ *icc*)
+ BASECFLAGS="$BASECFLAGS -fp-model strict"
+ ;;
+@@ -1443,7 +1443,7 @@ else
+ fi],
+ [AC_MSG_RESULT(no)])
+ if test "$Py_LTO" = 'true' ; then
+- case $CC in
++ case $cc_basename in
+ *clang*)
+ # Any changes made here should be reflected in the GCC+Darwin case below
+ LTOFLAGS="-flto"
+@@ -1508,7 +1508,7 @@ then
+ fi
+ fi
+ LLVM_PROF_ERR=no
+-case $CC in
++case $cc_basename in
+ *clang*)
+ # Any changes made here should be reflected in the GCC+Darwin case below
+ PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
+@@ -2322,7 +2322,7 @@ then
+ then CCSHARED="-fPIC"
+ else CCSHARED="-Kpic -belf"
+ fi;;
+- IRIX*/6*) case $CC in
++ IRIX*/6*) case $cc_basename in
+ *gcc*) CCSHARED="-shared";;
+ *) CCSHARED="";;
+ esac;;
+@@ -2366,7 +2366,7 @@ then
+ then
+ LINKFORSHARED="-Wl,--export-dynamic"
+ fi;;
+- SunOS/5*) case $CC in
++ SunOS/5*) case $cc_basename in
+ *gcc*)
+ if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
+ then
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/python/python/create_manifest2.py b/poky/meta/recipes-devtools/python/python/create_manifest2.py
index b6748653b..34659515c 100644
--- a/poky/meta/recipes-devtools/python/python/create_manifest2.py
+++ b/poky/meta/recipes-devtools/python/python/create_manifest2.py
@@ -209,7 +209,13 @@ for key in old_manifest:
inFolders=False
for folder in allfolders:
- if folder in item:
+ # The module could have a directory named after it, e.g. xml, if we take out the filename from the path
+ # we'll end up with ${libdir}, and we want ${libdir}/xml
+ if isFolder(item):
+ check_path = item
+ else:
+ check_path = os.path.dirname(item)
+ if folder in check_path :
inFolders = True # Did we find a folder?
folderFound = False # Second flag to break inner for
# Loop only through packages which contain folders
@@ -262,16 +268,16 @@ for key in old_manifest:
new_manifest[key]['rdepends'].append(newkey)
break
else:
- # Debug
- print('Adding %s to %s FILES' % (item, key))
- # Since it wasnt found on another package, its not an RDEP, so add it to FILES for this package
- new_manifest[key]['files'].append(item)
- if item.endswith('*'):
- wildcards.append(item)
- if item not in allfiles:
- allfiles.append(item)
- else:
- repeated.append(item)
+ # Debug
+ print('Adding %s to %s FILES' % (item, key))
+ # Since it wasnt found on another package, its not an RDEP, so add it to FILES for this package
+ new_manifest[key]['files'].append(item)
+ if item.endswith('*'):
+ wildcards.append(item)
+ if item not in allfiles:
+ allfiles.append(item)
+ else:
+ repeated.append(item)
print ('The following files are repeated (contained in more than one package), please check which package should get it:')
print (repeated)
diff --git a/poky/meta/recipes-devtools/python/python/python2-manifest.json b/poky/meta/recipes-devtools/python/python/python2-manifest.json
index c092e69d3..eb52e862a 100644
--- a/poky/meta/recipes-devtools/python/python/python2-manifest.json
+++ b/poky/meta/recipes-devtools/python/python/python2-manifest.json
@@ -109,7 +109,7 @@
"core"
],
"files": [
- "${bindir}/2to3",
+ "${bindir}/2to3*",
"${libdir}/python2.7/lib2to3"
]
},
@@ -1056,6 +1056,7 @@
"core"
],
"files": [
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.so",
"${libdir}/python2.7/lib-tk"
]
},
@@ -1121,7 +1122,8 @@
],
"files": [
"${libdir}/python2.7/DocXMLRPCServer.py",
- "${libdir}/python2.7/SimpleXMLRPCServer.py"
+ "${libdir}/python2.7/SimpleXMLRPCServer.py",
+ "${libdir}/python2.7/xmlrpclib.py"
]
},
"zlib": {
@@ -1133,4 +1135,4 @@
"${libdir}/python2.7/lib-dynload/zlib.so"
]
}
-} \ No newline at end of file
+}
diff --git a/poky/meta/recipes-devtools/python/python/run-ptest b/poky/meta/recipes-devtools/python/python/run-ptest
index 832551a12..13dfc99ef 100644
--- a/poky/meta/recipes-devtools/python/python/run-ptest
+++ b/poky/meta/recipes-devtools/python/python/run-ptest
@@ -1,3 +1,3 @@
#!/bin/sh
-python -m test.regrtest -v | sed -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
+python -mtest -W | sed -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
diff --git a/poky/meta/recipes-devtools/python/python3-gitdb_2.0.4.bb b/poky/meta/recipes-devtools/python/python3-gitdb_2.0.5.bb
index fe158327c..fe158327c 100644
--- a/poky/meta/recipes-devtools/python/python3-gitdb_2.0.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-gitdb_2.0.5.bb
diff --git a/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb b/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb
deleted file mode 100644
index c7bc4f3b0..000000000
--- a/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb
+++ /dev/null
@@ -1,99 +0,0 @@
-require recipes-devtools/python/python3.inc
-
-DISTRO_SRC_URI ?= "file://sitecustomize.py"
-DISTRO_SRC_URI_linuxstdbase = ""
-SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
-file://12-distutils-prefix-is-inside-staging-area.patch \
-file://python-config.patch \
-file://030-fixup-include-dirs.patch \
-file://080-distutils-dont_adjust_files.patch \
-file://130-readline-setup.patch \
-file://150-fix-setupterm.patch \
-file://python-3.3-multilib.patch \
-file://03-fix-tkinter-detection.patch \
-file://avoid_warning_about_tkinter.patch \
-file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch \
-file://sysroot-include-headers.patch \
-file://unixccompiler.patch \
-${DISTRO_SRC_URI} \
-file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch \
-file://setup.py-check-cross_compiling-when-get-FLAGS.patch \
-file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \
-file://support_SOURCE_DATE_EPOCH_in_py_compile.patch \
-file://regen-all.patch \
-file://0001-Issue-28043-SSLContext-has-improved-default-settings.patch \
-file://0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch \
-file://0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch \
-file://0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch \
-file://0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch \
-"
-
-EXTRANATIVEPATH += "bzip2-native"
-DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native gdbm-native"
-
-inherit native
-
-EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --without-ensurepip"
-
-EXTRA_OEMAKE = '\
- LIBC="" \
- STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \
- STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \
- LIB=${baselib} \
- ARCH=${TARGET_ARCH} \
-'
-
-do_configure_append() {
- autoreconf --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi
- sed -i -e 's,#define HAVE_GETRANDOM 1,/\* #undef HAVE_GETRANDOM \*/,' ${B}/pyconfig.h
-}
-
-# Regenerate all of the generated files
-# This ensures that pgen and friends get created during the compile phase
-#
-do_compile_prepend() {
- # Assuming https://bugs.python.org/issue33080 has been addressed in Makefile.
- oe_runmake regen-all
-}
-
-do_install() {
- install -d ${D}${libdir}/pkgconfig
- oe_runmake 'DESTDIR=${D}' install
- if [ -e ${WORKDIR}/sitecustomize.py ]; then
- install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}
- fi
- install -d ${D}${bindir}/${PN}
- install -m 0755 Parser/pgen ${D}${bindir}/${PN}
-
- # Make sure we use /usr/bin/env python
- for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
- sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
- done
-
- # Add a symlink to the native Python so that scripts can just invoke
- # "nativepython" and get the right one without needing absolute paths
- # (these often end up too long for the #! parser in the kernel as the
- # buffer is 128 bytes long).
- ln -s python3-native/python3 ${D}${bindir}/nativepython3
-}
-
-python(){
-
- # Read JSON manifest
- import json
- pythondir = d.getVar('THISDIR')
- with open(pythondir+'/python3/python3-manifest.json') as manifest_file:
- python_manifest=json.load(manifest_file)
-
- rprovides = d.getVar('RPROVIDES').split()
-
- # Hardcoded since it cant be python3-native-foo, should be python3-foo-native
- pn = 'python3'
-
- for key in python_manifest:
- pypackage = pn + '-' + key + '-native'
- if pypackage not in rprovides:
- rprovides.append(pypackage)
-
- d.setVar('RPROVIDES', ' '.join(rprovides))
-}
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_4.2.0.bb b/poky/meta/recipes-devtools/python/python3-pbr_4.2.0.bb
deleted file mode 100644
index 97e7361b1..000000000
--- a/poky/meta/recipes-devtools/python/python3-pbr_4.2.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-pbr.inc
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb
new file mode 100644
index 000000000..7ba1d0353
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-pbr.inc
+SRC_URI[md5sum] = "bea55678345bd77b4ff5b2ebb729fd6d"
+SRC_URI[sha256sum] = "d717573351cfe09f49df61906cd272abaa759b3e91744396b804965ff7bff38b"
+
diff --git a/poky/meta/recipes-devtools/python/python3-pip_18.0.bb b/poky/meta/recipes-devtools/python/python3-pip_18.0.bb
deleted file mode 100644
index 3fcdb8014..000000000
--- a/poky/meta/recipes-devtools/python/python3-pip_18.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "The PyPA recommended tool for installing Python packages"
-HOMEPAGE = "https://pypi.python.org/pypi/pip"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=593c6cd9d639307226978cbcae61ad4b"
-
-DEPENDS += "python3 python3-setuptools-native"
-
-SRC_URI[md5sum] = "52f75ceb21e96c258f289859a2996b60"
-SRC_URI[sha256sum] = "a0e11645ee37c90b40c46d607070c4fd583e2cd46231b1c06e389c5e814eed76"
-
-inherit pypi distutils3
-
-do_install_append() {
- # Install as pip3 and leave pip2 as default
- rm ${D}/${bindir}/pip
-}
-
-RDEPENDS_${PN} = "\
- python3-compile \
- python3-io \
- python3-html \
- python3-json \
- python3-netserver \
- python3-setuptools \
- python3-unixadmin \
- python3-xmlrpc \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb b/poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb
new file mode 100644
index 000000000..d81a60caa
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb
@@ -0,0 +1,30 @@
+SUMMARY = "The PyPA recommended tool for installing Python packages"
+HOMEPAGE = "https://pypi.python.org/pypi/pip"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
+
+DEPENDS += "python3 python3-setuptools-native"
+
+SRC_URI[md5sum] = "526fd9ec1e6ea956b3571ebfb42cf83c"
+SRC_URI[sha256sum] = "f851133f8b58283fa50d8c78675eb88d4ff4cde29b6c41205cd938b06338e0e5"
+
+inherit pypi distutils3
+
+do_install_append() {
+ # Install as pip3 and leave pip2 as default
+ rm ${D}/${bindir}/pip
+}
+
+RDEPENDS_${PN} = "\
+ python3-compile \
+ python3-io \
+ python3-html \
+ python3-json \
+ python3-netserver \
+ python3-setuptools \
+ python3-unixadmin \
+ python3-xmlrpc \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_40.0.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_40.8.0.bb
index 0dc1ed862..0dc1ed862 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_40.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_40.8.0.bb
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.11.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.12.0.bb
index 8795313be..8795313be 100644
--- a/poky/meta/recipes-devtools/python/python3-six_1.11.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-six_1.12.0.bb
diff --git a/poky/meta/recipes-devtools/python/python3-smmap_0.9.0.bb b/poky/meta/recipes-devtools/python/python3-smmap_2.0.5.bb
index e87b8df8c..e87b8df8c 100644
--- a/poky/meta/recipes-devtools/python/python3-smmap_0.9.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-smmap_2.0.5.bb
diff --git a/poky/meta/recipes-devtools/python/python3.inc b/poky/meta/recipes-devtools/python/python3.inc
deleted file mode 100644
index f565b3f17..000000000
--- a/poky/meta/recipes-devtools/python/python3.inc
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "The Python Programming Language"
-HOMEPAGE = "http://www.python.org"
-LICENSE = "PSFv2"
-SECTION = "devel/python"
-
-# TODO Remove this when we upgrade
-INC_PR = "r1"
-PR = "${INC_PR}.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b6ec515b22618f55fa07276b897bacea"
-
-# TODO consolidate patch set
-SRC_URI[md5sum] = "f5a99f765e765336a3ebbb2a24ca2be3"
-SRC_URI[sha256sum] = "f55cde04f521f273c7cba08912921cc5642cfc15ca7b22d5829f0aff4371155f"
-
-# exclude pre-releases for both python 2.x and 3.x
-UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
-
-CVE_PRODUCT = "python"
-
-PYTHON_MAJMIN = "3.5"
-PYTHON_BINABI = "${PYTHON_MAJMIN}m"
-
-S = "${WORKDIR}/Python-${PV}"
-
-inherit autotools bluetooth pkgconfig
-
-EXTRA_OECONF = "\
- --with-threads \
- --with-pymalloc \
- --without-cxx-main \
- --with-signal-module \
- --enable-shared \
- --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \
-"
-
-PACKAGECONFIG[bluetooth] = ",ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no,${BLUEZ}"
-
-do_install_append () {
- sed -i -e 's:${HOSTTOOLS_DIR}/install:install:g' \
- -e 's:${HOSTTOOLS_DIR}/mkdir:mkdir:g' \
- ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py
-}
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch b/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
new file mode 100644
index 000000000..09f279ba1
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
@@ -0,0 +1,25 @@
+From 23294c6ba6896115828293fdb7e67b47b38ba675 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 25 Jan 2019 19:04:13 +0100
+Subject: [PATCH] Do not add /usr/lib/termcap to linker flags to avoid host
+ contamination
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ setup.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index b4357e3..fbec00d 100644
+--- a/setup.py
++++ b/setup.py
+@@ -856,7 +856,6 @@ class PyBuildExt(build_ext):
+ 'termcap'):
+ readline_libs.append('termcap')
+ exts.append( Extension('readline', ['readline.c'],
+- library_dirs=['/usr/lib/termcap'],
+ extra_link_args=readline_extra_link_args,
+ libraries=readline_libs) )
+ else:
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch b/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
new file mode 100644
index 000000000..661f52d01
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
@@ -0,0 +1,196 @@
+From 0fbdad1eaf541a8e92be81f39514cd249b3b0801 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 5 Feb 2019 15:52:02 +0100
+Subject: [PATCH] Do not hardcode "lib" as location for modules, site-packages
+ and lib-dynload
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ Include/pythonrun.h | 2 ++
+ Lib/site.py | 4 ++--
+ Makefile.pre.in | 5 +++--
+ Modules/getpath.c | 18 ++++++++++++------
+ Python/getplatform.c | 10 ++++++++++
+ Python/sysmodule.c | 2 ++
+ 6 files changed, 31 insertions(+), 10 deletions(-)
+
+diff --git a/Include/pythonrun.h b/Include/pythonrun.h
+index 6f0c6fc..0a17edd 100644
+--- a/Include/pythonrun.h
++++ b/Include/pythonrun.h
+@@ -7,6 +7,8 @@
+ extern "C" {
+ #endif
+
++PyAPI_FUNC(const char *) Py_GetLib(void);
++
+ #ifndef Py_LIMITED_API
+ PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);
+ PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *);
+diff --git a/Lib/site.py b/Lib/site.py
+index ffd132b..b55f6d8 100644
+--- a/Lib/site.py
++++ b/Lib/site.py
+@@ -334,12 +334,12 @@ def getsitepackages(prefixes=None):
+ seen.add(prefix)
+
+ if os.sep == '/':
+- sitepackages.append(os.path.join(prefix, "lib",
++ sitepackages.append(os.path.join(prefix, sys.lib,
+ "python%d.%d" % sys.version_info[:2],
+ "site-packages"))
+ else:
+ sitepackages.append(prefix)
+- sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
++ sitepackages.append(os.path.join(prefix, sys.lib, "site-packages"))
+ return sitepackages
+
+ def addsitepackages(known_paths, prefixes=None):
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 6e81b2f..671a20e 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -142,7 +142,7 @@ LIBDIR= @libdir@
+ MANDIR= @mandir@
+ INCLUDEDIR= @includedir@
+ CONFINCLUDEDIR= $(exec_prefix)/include
+-SCRIPTDIR= $(prefix)/lib
++SCRIPTDIR= @libdir@
+ ABIFLAGS= @ABIFLAGS@
+
+ # Detailed destination directories
+@@ -768,6 +768,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
+ -DEXEC_PREFIX='"$(exec_prefix)"' \
+ -DVERSION='"$(VERSION)"' \
+ -DVPATH='"$(VPATH)"' \
++ -DLIB='"$(LIB)"' \
+ -o $@ $(srcdir)/Modules/getpath.c
+
+ Programs/python.o: $(srcdir)/Programs/python.c
+@@ -856,7 +857,7 @@ regen-opcode:
+ Python/compile.o Python/symtable.o Python/ast_unparse.o Python/ast.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h
+
+ Python/getplatform.o: $(srcdir)/Python/getplatform.c
+- $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
++ $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c
+
+ Python/importdl.o: $(srcdir)/Python/importdl.c
+ $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
+diff --git a/Modules/getpath.c b/Modules/getpath.c
+index e6a3e8e..0c62af6 100644
+--- a/Modules/getpath.c
++++ b/Modules/getpath.c
+@@ -123,6 +123,7 @@ typedef struct {
+ wchar_t *exec_prefix; /* EXEC_PREFIX define */
+
+ wchar_t *lib_python; /* "lib/pythonX.Y" */
++ wchar_t *multilib_python; /* "lib[suffix]/pythonX.Y" */
+ wchar_t argv0_path[MAXPATHLEN+1];
+ wchar_t zip_path[MAXPATHLEN+1]; /* ".../lib/pythonXY.zip" */
+
+@@ -314,7 +315,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
+ if (delim) {
+ *delim = L'\0';
+ }
+- joinpath(prefix, calculate->lib_python);
++ joinpath(prefix, calculate->multilib_python);
+ joinpath(prefix, LANDMARK);
+ return 1;
+ }
+@@ -343,7 +344,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
+ copy_absolute(prefix, calculate->argv0_path, MAXPATHLEN+1);
+ do {
+ n = wcslen(prefix);
+- joinpath(prefix, calculate->lib_python);
++ joinpath(prefix, calculate->multilib_python);
+ joinpath(prefix, LANDMARK);
+ if (ismodule(prefix)) {
+ return 1;
+@@ -355,7 +356,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
+ /* Look at configure's PREFIX */
+ wcsncpy(prefix, calculate->prefix, MAXPATHLEN);
+ prefix[MAXPATHLEN] = L'\0';
+- joinpath(prefix, calculate->lib_python);
++ joinpath(prefix, calculate->multilib_python);
+ joinpath(prefix, LANDMARK);
+ if (ismodule(prefix)) {
+ return 1;
+@@ -427,7 +428,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
+ wcsncpy(exec_prefix, core_config->home, MAXPATHLEN);
+ }
+ exec_prefix[MAXPATHLEN] = L'\0';
+- joinpath(exec_prefix, calculate->lib_python);
++ joinpath(exec_prefix, calculate->multilib_python);
+ joinpath(exec_prefix, L"lib-dynload");
+ return 1;
+ }
+@@ -464,7 +465,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
+ copy_absolute(exec_prefix, calculate->argv0_path, MAXPATHLEN+1);
+ do {
+ n = wcslen(exec_prefix);
+- joinpath(exec_prefix, calculate->lib_python);
++ joinpath(exec_prefix, calculate->multilib_python);
+ joinpath(exec_prefix, L"lib-dynload");
+ if (isdir(exec_prefix)) {
+ return 1;
+@@ -476,7 +477,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
+ /* Look at configure's EXEC_PREFIX */
+ wcsncpy(exec_prefix, calculate->exec_prefix, MAXPATHLEN);
+ exec_prefix[MAXPATHLEN] = L'\0';
+- joinpath(exec_prefix, calculate->lib_python);
++ joinpath(exec_prefix, calculate->multilib_python);
+ joinpath(exec_prefix, L"lib-dynload");
+ if (isdir(exec_prefix)) {
+ return 1;
+@@ -871,6 +872,10 @@ calculate_init(PyCalculatePath *calculate,
+ if (!calculate->lib_python) {
+ return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
+ }
++ calculate->multilib_python = Py_DecodeLocale(LIB "/python" VERSION, &len);
++ if (!calculate->multilib_python) {
++ return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
++ }
+ return _Py_INIT_OK();
+ }
+
+@@ -882,6 +887,7 @@ calculate_free(PyCalculatePath *calculate)
+ PyMem_RawFree(calculate->prefix);
+ PyMem_RawFree(calculate->exec_prefix);
+ PyMem_RawFree(calculate->lib_python);
++ PyMem_RawFree(calculate->multilib_python);
+ PyMem_RawFree(calculate->path_env);
+ }
+
+diff --git a/Python/getplatform.c b/Python/getplatform.c
+index 81a0f7a..d55396b 100644
+--- a/Python/getplatform.c
++++ b/Python/getplatform.c
+@@ -10,3 +10,13 @@ Py_GetPlatform(void)
+ {
+ return PLATFORM;
+ }
++
++#ifndef LIB
++#define LIB "lib"
++#endif
++
++const char *
++Py_GetLib(void)
++{
++ return LIB;
++}
+diff --git a/Python/sysmodule.c b/Python/sysmodule.c
+index efe5b29..de77b17 100644
+--- a/Python/sysmodule.c
++++ b/Python/sysmodule.c
+@@ -2319,6 +2319,8 @@ _PySys_BeginInit(PyObject **sysmod)
+ PyUnicode_FromString(Py_GetCopyright()));
+ SET_SYS_FROM_STRING("platform",
+ PyUnicode_FromString(Py_GetPlatform()));
++ SET_SYS_FROM_STRING("lib",
++ PyUnicode_FromString(Py_GetLib()));
+ SET_SYS_FROM_STRING("maxsize",
+ PyLong_FromSsize_t(PY_SSIZE_T_MAX));
+ SET_SYS_FROM_STRING("float_info",
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch b/poky/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch
index 8ea3f03fe..83fd52d87 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch
@@ -1,6 +1,6 @@
-From 04df959365e2b54d7503edf0e5534ff094284f2d Mon Sep 17 00:00:00 2001
+From 148861fa16f2aaacd518770f337ea54b5182f981 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 23 Oct 2015 12:25:09 +0300
+Date: Tue, 29 Jan 2019 15:03:01 +0100
Subject: [PATCH] Do not use the shell version of python-config that was
introduced in 3.4
@@ -14,25 +14,22 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 236f005..5c4337f 100644
+index 2d2e11f..cc19942 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1348,12 +1348,9 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
+@@ -1431,12 +1431,9 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
- # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
+ @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config
-- # On Darwin, always use the python version of the script, the shell
-- # version doesn't use the compiler customizations that are provided
-- # in python (_osx_support.py).
-- if test `uname -s` = Darwin; then \
+- @ # On Darwin, always use the python version of the script, the shell
+- @ # version doesn't use the compiler customizations that are provided
+- @ # in python (_osx_support.py).
+- @if test `uname -s` = Darwin; then \
- cp python-config.py python-config; \
- fi
-+ # In OpenEmbedded, always use the python version of the script, the shell
-+ # version is broken in multiple ways, and doesn't return correct directories
++ @ # In OpenEmbedded, always use the python version of the script, the shell
++ @ # version is broken in multiple ways, and doesn't return correct directories
+ cp python-config.py python-config
# Install the include files
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch b/poky/meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch
deleted file mode 100644
index d1c92e9ee..000000000
--- a/poky/meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From bcddbf40c7f1b80336268cdddacc17369fb0ccea Mon Sep 17 00:00:00 2001
-From: Libin Dang <libin.dang@windriver.com>
-Date: Tue, 11 Apr 2017 14:12:15 +0800
-Subject: [PATCH] Issue #21272: Use _sysconfigdata.py to initialize
- distutils.sysconfig
-
-Backport upstream commit
-https://github.com/python/cpython/commit/409482251b06fe75c4ee56e85ffbb4b23d934159
-
-Upstream-Status: Backport
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- Lib/distutils/sysconfig.py | 35 ++++-------------------------------
- 1 file changed, 4 insertions(+), 31 deletions(-)
-
-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 6d5cfd0..9925d24 100644
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -424,38 +424,11 @@ _config_vars = None
-
- def _init_posix():
- """Initialize the module as appropriate for POSIX systems."""
-- g = {}
-- # load the installed Makefile:
-- try:
-- filename = get_makefile_filename()
-- parse_makefile(filename, g)
-- except OSError as msg:
-- my_msg = "invalid Python installation: unable to open %s" % filename
-- if hasattr(msg, "strerror"):
-- my_msg = my_msg + " (%s)" % msg.strerror
--
-- raise DistutilsPlatformError(my_msg)
--
-- # load the installed pyconfig.h:
-- try:
-- filename = get_config_h_filename()
-- with open(filename) as file:
-- parse_config_h(file, g)
-- except OSError as msg:
-- my_msg = "invalid Python installation: unable to open %s" % filename
-- if hasattr(msg, "strerror"):
-- my_msg = my_msg + " (%s)" % msg.strerror
--
-- raise DistutilsPlatformError(my_msg)
--
-- # On AIX, there are wrong paths to the linker scripts in the Makefile
-- # -- these paths are relative to the Python source, but when installed
-- # the scripts are in another directory.
-- if python_build:
-- g['LDSHARED'] = g['BLDSHARED']
--
-+ # _sysconfigdata is generated at build time, see the sysconfig module
-+ from _sysconfigdata import build_time_vars
- global _config_vars
-- _config_vars = g
-+ _config_vars = {}
-+ _config_vars.update(build_time_vars)
-
-
- def _init_nt():
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Issue-28043-SSLContext-has-improved-default-settings.patch b/poky/meta/recipes-devtools/python/python3/0001-Issue-28043-SSLContext-has-improved-default-settings.patch
deleted file mode 100644
index 321b4afa1..000000000
--- a/poky/meta/recipes-devtools/python/python3/0001-Issue-28043-SSLContext-has-improved-default-settings.patch
+++ /dev/null
@@ -1,272 +0,0 @@
-From 758e7463c104f71b810c8588166747eeab6148d7 Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Sat, 10 Sep 2016 22:43:48 +0200
-Subject: [PATCH 1/4] Issue 28043: SSLContext has improved default settings
-
-The options OP_NO_COMPRESSION, OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE, OP_SINGLE_ECDH_USE, OP_NO_SSLv2 (except for PROTOCOL_SSLv2), and OP_NO_SSLv3 (except for PROTOCOL_SSLv3) are set by default. The initial cipher suite list contains only HIGH ciphers, no NULL ciphers and MD5 ciphers (except for PROTOCOL_SSLv2).
-
-Upstream-Status: Backport
-[https://github.com/python/cpython/commit/358cfd426ccc0fcd6a7940d306602138e76420ae]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Doc/library/ssl.rst | 9 ++++++-
- Lib/ssl.py | 30 +++++----------------
- Lib/test/test_ssl.py | 62 +++++++++++++++++++++++---------------------
- Modules/_ssl.c | 31 ++++++++++++++++++++++
- 4 files changed, 78 insertions(+), 54 deletions(-)
-
-diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
-index a2f008346b..14f2d68217 100644
---- a/Doc/library/ssl.rst
-+++ b/Doc/library/ssl.rst
-@@ -1151,7 +1151,14 @@ to speed up repeated connections from the same clients.
-
- .. versionchanged:: 3.5.3
-
-- :data:`PROTOCOL_TLS` is the default value.
-+ The context is created with secure default values. The options
-+ :data:`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`,
-+ :data:`OP_SINGLE_DH_USE`, :data:`OP_SINGLE_ECDH_USE`,
-+ :data:`OP_NO_SSLv2` (except for :data:`PROTOCOL_SSLv2`),
-+ and :data:`OP_NO_SSLv3` (except for :data:`PROTOCOL_SSLv3`) are
-+ set by default. The initial cipher suite list contains only ``HIGH``
-+ ciphers, no ``NULL`` ciphers and no ``MD5`` ciphers (except for
-+ :data:`PROTOCOL_SSLv2`).
-
-
- :class:`SSLContext` objects have the following methods and attributes:
-diff --git a/Lib/ssl.py b/Lib/ssl.py
-index e1913904f3..4d302a78fa 100644
---- a/Lib/ssl.py
-+++ b/Lib/ssl.py
-@@ -446,32 +446,16 @@ def create_default_context(purpose=Purpose.SERVER_AUTH, *, cafile=None,
- if not isinstance(purpose, _ASN1Object):
- raise TypeError(purpose)
-
-+ # SSLContext sets OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION,
-+ # OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE and OP_SINGLE_ECDH_USE
-+ # by default.
- context = SSLContext(PROTOCOL_TLS)
-
-- # SSLv2 considered harmful.
-- context.options |= OP_NO_SSLv2
--
-- # SSLv3 has problematic security and is only required for really old
-- # clients such as IE6 on Windows XP
-- context.options |= OP_NO_SSLv3
--
-- # disable compression to prevent CRIME attacks (OpenSSL 1.0+)
-- context.options |= getattr(_ssl, "OP_NO_COMPRESSION", 0)
--
- if purpose == Purpose.SERVER_AUTH:
- # verify certs and host name in client mode
- context.verify_mode = CERT_REQUIRED
- context.check_hostname = True
- elif purpose == Purpose.CLIENT_AUTH:
-- # Prefer the server's ciphers by default so that we get stronger
-- # encryption
-- context.options |= getattr(_ssl, "OP_CIPHER_SERVER_PREFERENCE", 0)
--
-- # Use single use keys in order to improve forward secrecy
-- context.options |= getattr(_ssl, "OP_SINGLE_DH_USE", 0)
-- context.options |= getattr(_ssl, "OP_SINGLE_ECDH_USE", 0)
--
-- # disallow ciphers with known vulnerabilities
- context.set_ciphers(_RESTRICTED_SERVER_CIPHERS)
-
- if cafile or capath or cadata:
-@@ -497,12 +481,10 @@ def _create_unverified_context(protocol=PROTOCOL_TLS, *, cert_reqs=None,
- if not isinstance(purpose, _ASN1Object):
- raise TypeError(purpose)
-
-+ # SSLContext sets OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION,
-+ # OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE and OP_SINGLE_ECDH_USE
-+ # by default.
- context = SSLContext(protocol)
-- # SSLv2 considered harmful.
-- context.options |= OP_NO_SSLv2
-- # SSLv3 has problematic security and is only required for really old
-- # clients such as IE6 on Windows XP
-- context.options |= OP_NO_SSLv3
-
- if cert_reqs is not None:
- context.verify_mode = cert_reqs
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index ffb7314f57..f91af7bd05 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -73,6 +73,12 @@ NULLBYTECERT = data_file("nullbytecert.pem")
- DHFILE = data_file("dh1024.pem")
- BYTES_DHFILE = os.fsencode(DHFILE)
-
-+# Not defined in all versions of OpenSSL
-+OP_NO_COMPRESSION = getattr(ssl, "OP_NO_COMPRESSION", 0)
-+OP_SINGLE_DH_USE = getattr(ssl, "OP_SINGLE_DH_USE", 0)
-+OP_SINGLE_ECDH_USE = getattr(ssl, "OP_SINGLE_ECDH_USE", 0)
-+OP_CIPHER_SERVER_PREFERENCE = getattr(ssl, "OP_CIPHER_SERVER_PREFERENCE", 0)
-+
-
- def handle_error(prefix):
- exc_format = ' '.join(traceback.format_exception(*sys.exc_info()))
-@@ -839,8 +845,9 @@ class ContextTests(unittest.TestCase):
- ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
- # OP_ALL | OP_NO_SSLv2 | OP_NO_SSLv3 is the default value
- default = (ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3)
-- if not IS_LIBRESSL and ssl.OPENSSL_VERSION_INFO >= (1, 1, 0):
-- default |= ssl.OP_NO_COMPRESSION
-+ # SSLContext also enables these by default
-+ default |= (OP_NO_COMPRESSION | OP_CIPHER_SERVER_PREFERENCE |
-+ OP_SINGLE_DH_USE | OP_SINGLE_ECDH_USE)
- self.assertEqual(default, ctx.options)
- ctx.options |= ssl.OP_NO_TLSv1
- self.assertEqual(default | ssl.OP_NO_TLSv1, ctx.options)
-@@ -1205,16 +1212,29 @@ class ContextTests(unittest.TestCase):
- stats["x509"] += 1
- self.assertEqual(ctx.cert_store_stats(), stats)
-
-+ def _assert_context_options(self, ctx):
-+ self.assertEqual(ctx.options & ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv2)
-+ if OP_NO_COMPRESSION != 0:
-+ self.assertEqual(ctx.options & OP_NO_COMPRESSION,
-+ OP_NO_COMPRESSION)
-+ if OP_SINGLE_DH_USE != 0:
-+ self.assertEqual(ctx.options & OP_SINGLE_DH_USE,
-+ OP_SINGLE_DH_USE)
-+ if OP_SINGLE_ECDH_USE != 0:
-+ self.assertEqual(ctx.options & OP_SINGLE_ECDH_USE,
-+ OP_SINGLE_ECDH_USE)
-+ if OP_CIPHER_SERVER_PREFERENCE != 0:
-+ self.assertEqual(ctx.options & OP_CIPHER_SERVER_PREFERENCE,
-+ OP_CIPHER_SERVER_PREFERENCE)
-+
- def test_create_default_context(self):
- ctx = ssl.create_default_context()
-+
- self.assertEqual(ctx.protocol, ssl.PROTOCOL_SSLv23)
- self.assertEqual(ctx.verify_mode, ssl.CERT_REQUIRED)
- self.assertTrue(ctx.check_hostname)
-- self.assertEqual(ctx.options & ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv2)
-- self.assertEqual(
-- ctx.options & getattr(ssl, "OP_NO_COMPRESSION", 0),
-- getattr(ssl, "OP_NO_COMPRESSION", 0),
-- )
-+ self._assert_context_options(ctx)
-+
-
- with open(SIGNING_CA) as f:
- cadata = f.read()
-@@ -1222,40 +1242,24 @@ class ContextTests(unittest.TestCase):
- cadata=cadata)
- self.assertEqual(ctx.protocol, ssl.PROTOCOL_SSLv23)
- self.assertEqual(ctx.verify_mode, ssl.CERT_REQUIRED)
-- self.assertEqual(ctx.options & ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv2)
-- self.assertEqual(
-- ctx.options & getattr(ssl, "OP_NO_COMPRESSION", 0),
-- getattr(ssl, "OP_NO_COMPRESSION", 0),
-- )
-+ self._assert_context_options(ctx)
-
- ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
- self.assertEqual(ctx.protocol, ssl.PROTOCOL_SSLv23)
- self.assertEqual(ctx.verify_mode, ssl.CERT_NONE)
-- self.assertEqual(ctx.options & ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv2)
-- self.assertEqual(
-- ctx.options & getattr(ssl, "OP_NO_COMPRESSION", 0),
-- getattr(ssl, "OP_NO_COMPRESSION", 0),
-- )
-- self.assertEqual(
-- ctx.options & getattr(ssl, "OP_SINGLE_DH_USE", 0),
-- getattr(ssl, "OP_SINGLE_DH_USE", 0),
-- )
-- self.assertEqual(
-- ctx.options & getattr(ssl, "OP_SINGLE_ECDH_USE", 0),
-- getattr(ssl, "OP_SINGLE_ECDH_USE", 0),
-- )
-+ self._assert_context_options(ctx)
-
- def test__create_stdlib_context(self):
- ctx = ssl._create_stdlib_context()
- self.assertEqual(ctx.protocol, ssl.PROTOCOL_SSLv23)
- self.assertEqual(ctx.verify_mode, ssl.CERT_NONE)
- self.assertFalse(ctx.check_hostname)
-- self.assertEqual(ctx.options & ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv2)
-+ self._assert_context_options(ctx)
-
- ctx = ssl._create_stdlib_context(ssl.PROTOCOL_TLSv1)
- self.assertEqual(ctx.protocol, ssl.PROTOCOL_TLSv1)
- self.assertEqual(ctx.verify_mode, ssl.CERT_NONE)
-- self.assertEqual(ctx.options & ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv2)
-+ self._assert_context_options(ctx)
-
- ctx = ssl._create_stdlib_context(ssl.PROTOCOL_TLSv1,
- cert_reqs=ssl.CERT_REQUIRED,
-@@ -1263,12 +1267,12 @@ class ContextTests(unittest.TestCase):
- self.assertEqual(ctx.protocol, ssl.PROTOCOL_TLSv1)
- self.assertEqual(ctx.verify_mode, ssl.CERT_REQUIRED)
- self.assertTrue(ctx.check_hostname)
-- self.assertEqual(ctx.options & ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv2)
-+ self._assert_context_options(ctx)
-
- ctx = ssl._create_stdlib_context(purpose=ssl.Purpose.CLIENT_AUTH)
- self.assertEqual(ctx.protocol, ssl.PROTOCOL_SSLv23)
- self.assertEqual(ctx.verify_mode, ssl.CERT_NONE)
-- self.assertEqual(ctx.options & ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv2)
-+ self._assert_context_options(ctx)
-
- def test_check_hostname(self):
- ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-diff --git a/Modules/_ssl.c b/Modules/_ssl.c
-index 86482677ae..0d5c121d2c 100644
---- a/Modules/_ssl.c
-+++ b/Modules/_ssl.c
-@@ -2330,6 +2330,7 @@ _ssl__SSLContext_impl(PyTypeObject *type, int proto_version)
- PySSLContext *self;
- long options;
- SSL_CTX *ctx = NULL;
-+ int result;
- #if defined(SSL_MODE_RELEASE_BUFFERS)
- unsigned long libver;
- #endif
-@@ -2393,8 +2394,38 @@ _ssl__SSLContext_impl(PyTypeObject *type, int proto_version)
- options |= SSL_OP_NO_SSLv2;
- if (proto_version != PY_SSL_VERSION_SSL3)
- options |= SSL_OP_NO_SSLv3;
-+ /* Minimal security flags for server and client side context.
-+ * Client sockets ignore server-side parameters. */
-+#ifdef SSL_OP_NO_COMPRESSION
-+ options |= SSL_OP_NO_COMPRESSION;
-+#endif
-+#ifdef SSL_OP_CIPHER_SERVER_PREFERENCE
-+ options |= SSL_OP_CIPHER_SERVER_PREFERENCE;
-+#endif
-+#ifdef SSL_OP_SINGLE_DH_USE
-+ options |= SSL_OP_SINGLE_DH_USE;
-+#endif
-+#ifdef SSL_OP_SINGLE_ECDH_USE
-+ options |= SSL_OP_SINGLE_ECDH_USE;
-+#endif
- SSL_CTX_set_options(self->ctx, options);
-
-+ /* A bare minimum cipher list without completly broken cipher suites.
-+ * It's far from perfect but gives users a better head start. */
-+ if (proto_version != PY_SSL_VERSION_SSL2) {
-+ result = SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL:!eNULL:!MD5");
-+ } else {
-+ /* SSLv2 needs MD5 */
-+ result = SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL:!eNULL");
-+ }
-+ if (result == 0) {
-+ Py_DECREF(self);
-+ ERR_clear_error();
-+ PyErr_SetString(PySSLErrorObject,
-+ "No cipher can be selected.");
-+ return NULL;
-+ }
-+
- #if defined(SSL_MODE_RELEASE_BUFFERS)
- /* Set SSL_MODE_RELEASE_BUFFERS. This potentially greatly reduces memory
- usage for no cost at all. However, don't do this for OpenSSL versions
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch b/poky/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
new file mode 100644
index 000000000..fa7735ff9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
@@ -0,0 +1,25 @@
+From cf6a9100902484e4d028ee88742dd2487b014a98 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 30 Jan 2019 12:41:04 +0100
+Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile.pre.in | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index a3a02a7..d5503dd 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -507,8 +507,7 @@ build_all_generate_profile:
+ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
+
+ run_profile_task:
+- @ # FIXME: can't run for a cross build
+- $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
++ ./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict test_builtin test_exceptions test_types test_support || true
+
+ build_all_merge_profile:
+ $(LLVM_PROF_MERGER)
diff --git a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
new file mode 100644
index 000000000..8083345a4
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
@@ -0,0 +1,42 @@
+From 4865615a2bc2b78c739e4c33f536712c7f9af061 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 31 Jan 2019 16:46:30 +0100
+Subject: [PATCH] distutils/sysconfig: append
+ STAGING_LIBDIR/python-sysconfigdata to sys.path
+
+So that target configuration can be used when running native python
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ Lib/distutils/sysconfig.py | 2 ++
+ Lib/sysconfig.py | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
+index e07a6c8..6b8c129 100644
+--- a/Lib/distutils/sysconfig.py
++++ b/Lib/distutils/sysconfig.py
+@@ -421,6 +421,8 @@ def _init_posix():
+ platform=sys.platform,
+ multiarch=getattr(sys.implementation, '_multiarch', ''),
+ ))
++ if 'STAGING_LIBDIR' in os.environ:
++ sys.path.append(os.environ['STAGING_LIBDIR']+'/python-sysconfigdata')
+ _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
+ build_time_vars = _temp.build_time_vars
+ global _config_vars
+diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
+index 9ee4d31..e586abd 100644
+--- a/Lib/sysconfig.py
++++ b/Lib/sysconfig.py
+@@ -412,6 +412,8 @@ def _init_posix(vars):
+ """Initialize the module as appropriate for POSIX systems."""
+ # _sysconfigdata is generated at build time, see _generate_posix_vars()
+ name = _get_sysconfigdata_name()
++ if 'STAGING_LIBDIR' in os.environ:
++ sys.path.append(os.environ['STAGING_LIBDIR']+'/python-sysconfigdata')
+ _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
+ build_time_vars = _temp.build_time_vars
+ vars.update(build_time_vars)
diff --git a/poky/meta/recipes-devtools/python/python3/0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch b/poky/meta/recipes-devtools/python/python3/0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch
deleted file mode 100644
index dd6b24fe9..000000000
--- a/poky/meta/recipes-devtools/python/python3/0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 2f5a4c708d90fa8db21f446ae879cff79387448d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 20 May 2013 21:03:16 -0700
-Subject: [PATCH] h2py: Fix issue 13032 where it fails with UnicodeDecodeError
-
-use utf-8 to open the files
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- Tools/scripts/h2py.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Tools/scripts/h2py.py b/Tools/scripts/h2py.py
-index 4f871d9..a53fbe0 100755
---- a/Tools/scripts/h2py.py
-+++ b/Tools/scripts/h2py.py
-@@ -69,13 +69,13 @@ def main():
- sys.stdout.write('# Generated by h2py from stdin\n')
- process(sys.stdin, sys.stdout)
- else:
-- fp = open(filename, 'r')
-+ fp = open(filename, 'r', encoding='utf-8')
- outfile = os.path.basename(filename)
- i = outfile.rfind('.')
- if i > 0: outfile = outfile[:i]
- modname = outfile.upper()
- outfile = modname + '.py'
-- outfp = open(outfile, 'w')
-+ outfp = open(outfile, 'w', encoding='utf-8')
- outfp.write('# Generated by h2py from %s\n' % filename)
- filedict = {}
- for dir in searchdirs:
---
-1.8.1.2
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
new file mode 100644
index 000000000..573595462
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
@@ -0,0 +1,120 @@
+From 2645317fef09afe31b01bb2c1d4fe5b9afdbb11a Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 22 Oct 2018 15:19:51 +0800
+Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler
+
+When working path contains "clang"/"gcc"/"icc", it might be part of $CC
+because of the "--sysroot" parameter. That could cause judgement error
+about clang/gcc/icc compilers. e.g.
+When "icc" is containded in working path, below errors are reported when
+compiling python3:
+x86_64-wrs-linux-gcc: error: strict: No such file or directory
+x86_64-wrs-linux-gcc: error: unrecognized command line option '-fp-model'
+
+Here use cc_basename to replace CC for checking compiler to avoid such
+kind of issue.
+
+Upstream-Status: Pending
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+
+patch originally from Li Zhou, I just rework it to new version
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a7de901..4a3681f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -54,6 +54,7 @@ AC_CONFIG_HEADER(pyconfig.h)
+ AC_CANONICAL_HOST
+ AC_SUBST(build)
+ AC_SUBST(host)
++LT_INIT
+
+ # pybuilddir.txt will be created by --generate-posix-vars in the Makefile
+ rm -f pybuilddir.txt
+@@ -695,7 +696,7 @@ AC_MSG_RESULT($with_cxx_main)
+ preset_cxx="$CXX"
+ if test -z "$CXX"
+ then
+- case "$CC" in
++ case "$cc_basename" in
+ gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;;
+ cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;;
+ clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;;
+@@ -979,7 +980,7 @@ rmdir CaseSensitiveTestDir
+
+ case $ac_sys_system in
+ hp*|HP*)
+- case $CC in
++ case $cc_basename in
+ cc|*/cc) CC="$CC -Ae";;
+ esac;;
+ esac
+@@ -1336,7 +1337,7 @@ else
+ fi],
+ [AC_MSG_RESULT(no)])
+ if test "$Py_LTO" = 'true' ; then
+- case $CC in
++ case $cc_basename in
+ *clang*)
+ AC_SUBST(LLVM_AR)
+ AC_PATH_TARGET_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path})
+@@ -1426,7 +1427,7 @@ then
+ fi
+ fi
+ LLVM_PROF_ERR=no
+-case $CC in
++case $cc_basename in
+ *clang*)
+ # Any changes made here should be reflected in the GCC+Darwin case below
+ PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
+@@ -1500,7 +1501,7 @@ then
+ WRAP="-fwrapv"
+ fi
+
+- case $CC in
++ case $cc_basename in
+ *clang*)
+ cc_is_clang=1
+ ;;
+@@ -1623,7 +1624,7 @@ yes)
+
+ # ICC doesn't recognize the option, but only emits a warning
+ ## XXX does it emit an unused result warning and can it be disabled?
+- case "$CC" in
++ case "$cc_basename" in
+ *icc*)
+ ac_cv_disable_unused_result_warning=no
+ ;;
+@@ -1965,7 +1966,7 @@ yes)
+ esac
+
+ # ICC needs -fp-model strict or floats behave badly
+-case "$CC" in
++case "$cc_basename" in
+ *icc*)
+ CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict"
+ ;;
+@@ -2727,7 +2728,7 @@ then
+ then
+ LINKFORSHARED="-Wl,--export-dynamic"
+ fi;;
+- SunOS/5*) case $CC in
++ SunOS/5*) case $cc_basename in
+ *gcc*)
+ if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
+ then
+@@ -5429,7 +5430,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
+ # Some versions of gcc miscompile inline asm:
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491
+ # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html
+- case $CC in
++ case $cc_basename in
+ *gcc*)
+ AC_MSG_CHECKING(for gcc ipa-pure-const bug)
+ saved_cflags="$CFLAGS"
diff --git a/poky/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch b/poky/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch
new file mode 100644
index 000000000..3721e7c2a
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch
@@ -0,0 +1,199 @@
+From fa96a7fd19e17b9c6b4dd01c3c3774fb382dddc6 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 5 Sep 2018 11:45:52 +0100
+Subject: [PATCH] Don't do runtime test to get float byte order
+
+Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles,
+and falls back onto "I don't know" if it can't run code. This results in
+crippled floating point numbers in Python, and the regression tests fail.
+
+Instead of running code, take a macro from autoconf-archive which compiles C
+with a special double in which has an ASCII representation, and then greps the
+binary to identify the format.
+
+Upstream-Status: Submitted [https://bugs.python.org/issue34585]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ configure.ac | 72 +++------------------------
+ m4/ax_c_float_words_bigendian.m4 | 83 ++++++++++++++++++++++++++++++++
+ 2 files changed, 90 insertions(+), 65 deletions(-)
+ create mode 100644 m4/ax_c_float_words_bigendian.m4
+
+diff --git a/configure.ac b/configure.ac
+index 4a3681f..4ab19a6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4328,77 +4328,19 @@ fi
+ # * Check for various properties of floating point *
+ # **************************************************
+
+-AC_MSG_CHECKING(whether C doubles are little-endian IEEE 754 binary64)
+-AC_CACHE_VAL(ac_cv_little_endian_double, [
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#include <string.h>
+-int main() {
+- double x = 9006104071832581.0;
+- if (memcmp(&x, "\x05\x04\x03\x02\x01\xff\x3f\x43", 8) == 0)
+- return 0;
+- else
+- return 1;
+-}
+-]])],
+-[ac_cv_little_endian_double=yes],
+-[ac_cv_little_endian_double=no],
+-[ac_cv_little_endian_double=no])])
+-AC_MSG_RESULT($ac_cv_little_endian_double)
+-if test "$ac_cv_little_endian_double" = yes
+-then
+- AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
+- [Define if C doubles are 64-bit IEEE 754 binary format, stored
+- with the least significant byte first])
+-fi
+-
+-AC_MSG_CHECKING(whether C doubles are big-endian IEEE 754 binary64)
+-AC_CACHE_VAL(ac_cv_big_endian_double, [
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#include <string.h>
+-int main() {
+- double x = 9006104071832581.0;
+- if (memcmp(&x, "\x43\x3f\xff\x01\x02\x03\x04\x05", 8) == 0)
+- return 0;
+- else
+- return 1;
+-}
+-]])],
+-[ac_cv_big_endian_double=yes],
+-[ac_cv_big_endian_double=no],
+-[ac_cv_big_endian_double=no])])
+-AC_MSG_RESULT($ac_cv_big_endian_double)
+-if test "$ac_cv_big_endian_double" = yes
++AX_C_FLOAT_WORDS_BIGENDIAN
++if test "$ax_cv_c_float_words_bigendian" = "yes"
+ then
+ AC_DEFINE(DOUBLE_IS_BIG_ENDIAN_IEEE754, 1,
+ [Define if C doubles are 64-bit IEEE 754 binary format, stored
+ with the most significant byte first])
+-fi
+-
+-# Some ARM platforms use a mixed-endian representation for doubles.
+-# While Python doesn't currently have full support for these platforms
+-# (see e.g., issue 1762561), we can at least make sure that float <-> string
+-# conversions work.
+-AC_MSG_CHECKING(whether C doubles are ARM mixed-endian IEEE 754 binary64)
+-AC_CACHE_VAL(ac_cv_mixed_endian_double, [
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#include <string.h>
+-int main() {
+- double x = 9006104071832581.0;
+- if (memcmp(&x, "\x01\xff\x3f\x43\x05\x04\x03\x02", 8) == 0)
+- return 0;
+- else
+- return 1;
+-}
+-]])],
+-[ac_cv_mixed_endian_double=yes],
+-[ac_cv_mixed_endian_double=no],
+-[ac_cv_mixed_endian_double=no])])
+-AC_MSG_RESULT($ac_cv_mixed_endian_double)
+-if test "$ac_cv_mixed_endian_double" = yes
++elif test "$ax_cv_c_float_words_bigendian" = "no"
+ then
+- AC_DEFINE(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754, 1,
++ AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
+ [Define if C doubles are 64-bit IEEE 754 binary format, stored
+- in ARM mixed-endian order (byte order 45670123)])
++ with the least significant byte first])
++else
++ AC_MSG_ERROR([Cannot identify floating point byte order])
+ fi
+
+ # The short float repr introduced in Python 3.1 requires the
+diff --git a/m4/ax_c_float_words_bigendian.m4 b/m4/ax_c_float_words_bigendian.m4
+new file mode 100644
+index 0000000..216b90d
+--- /dev/null
++++ b/m4/ax_c_float_words_bigendian.m4
+@@ -0,0 +1,83 @@
++# ===============================================================================
++# https://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html
++# ===============================================================================
++#
++# SYNOPSIS
++#
++# AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
++#
++# DESCRIPTION
++#
++# Checks the ordering of words within a multi-word float. This check is
++# necessary because on some systems (e.g. certain ARM systems), the float
++# word ordering can be different from the byte ordering. In a multi-word
++# float context, "big-endian" implies that the word containing the sign
++# bit is found in the memory location with the lowest address. This
++# implementation was inspired by the AC_C_BIGENDIAN macro in autoconf.
++#
++# The endianness is detected by first compiling C code that contains a
++# special double float value, then grepping the resulting object file for
++# certain strings of ASCII values. The double is specially crafted to have
++# a binary representation that corresponds with a simple string. In this
++# implementation, the string "noonsees" was selected because the
++# individual word values ("noon" and "sees") are palindromes, thus making
++# this test byte-order agnostic. If grep finds the string "noonsees" in
++# the object file, the target platform stores float words in big-endian
++# order. If grep finds "seesnoon", float words are in little-endian order.
++# If neither value is found, the user is instructed to specify the
++# ordering.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Daniel Amelang <dan@amelang.net>
++#
++# 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 11
++
++AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
++ [AC_CACHE_CHECK(whether float word ordering is bigendian,
++ ax_cv_c_float_words_bigendian, [
++
++ax_cv_c_float_words_bigendian=unknown
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
++
++double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
++
++]])], [
++
++if grep noonsees conftest.$ac_objext >/dev/null ; then
++ ax_cv_c_float_words_bigendian=yes
++fi
++if grep seesnoon conftest.$ac_objext >/dev/null ; then
++ if test "$ax_cv_c_float_words_bigendian" = unknown; then
++ ax_cv_c_float_words_bigendian=no
++ else
++ ax_cv_c_float_words_bigendian=unknown
++ fi
++fi
++
++])])
++
++case $ax_cv_c_float_words_bigendian in
++ yes)
++ m4_default([$1],
++ [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
++ [Define to 1 if your system stores words within floats
++ with the most significant word first])]) ;;
++ no)
++ $2 ;;
++ *)
++ m4_default([$3],
++ [AC_MSG_ERROR([
++
++Unknown float word ordering. You need to manually preset
++ax_cv_c_float_words_bigendian=no (or yes) according to your system.
++
++ ])]) ;;
++esac
++
++])# AX_C_FLOAT_WORDS_BIGENDIAN
diff --git a/poky/meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch b/poky/meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch
deleted file mode 100644
index 2b4ba316e..000000000
--- a/poky/meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 98586d6dc598e40b8b821b0dde57599e188a7ca4 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Tue, 7 Aug 2018 16:43:17 +0800
-Subject: [PATCH 2/2] Makefile: add target to split profile generation
-
-We don't want to have profile task invoked from here and want to use
-qemu-user instead. Split the profile-opt task so qemu can be invoked
-once binaries have been built with instrumentation and then we can go
-ahead and build again using the profile data generated.
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Makefile.pre.in | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 84bc3ff..017a2c4 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -469,13 +469,12 @@ profile-opt:
- $(MAKE) profile-removal
- $(MAKE) build_all_generate_profile
- $(MAKE) profile-removal
-- @echo "Running code to generate profile data (this can take a while):"
-- $(MAKE) run_profile_task
-- $(MAKE) build_all_merge_profile
-+
-+clean_and_use_profile:
- @echo "Rebuilding with profile guided optimizations:"
- $(MAKE) clean
- $(MAKE) build_all_use_profile
- $(MAKE) profile-removal
-
- build_all_generate_profile:
- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)"
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch b/poky/meta/recipes-devtools/python/python3/0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch
deleted file mode 100644
index d48cad758..000000000
--- a/poky/meta/recipes-devtools/python/python3/0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From e950ea68dab006944af194c9910b8f2341d1437d Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Thu, 7 Sep 2017 20:23:52 -0700
-Subject: [PATCH] bpo-29136: Add TLS 1.3 cipher suites and OP_NO_TLSv1_3
- (GH-1363) (#3444)
-
-* bpo-29136: Add TLS 1.3 support
-
-TLS 1.3 introduces a new, distinct set of cipher suites. The TLS 1.3
-cipher suites don't overlap with cipher suites from TLS 1.2 and earlier.
-Since Python sets its own set of permitted ciphers, TLS 1.3 handshake
-will fail as soon as OpenSSL 1.1.1 is released. Let's enable the common
-AES-GCM and ChaCha20 suites.
-
-Additionally the flag OP_NO_TLSv1_3 is added. It defaults to 0 (no op) with
-OpenSSL prior to 1.1.1. This allows applications to opt-out from TLS 1.3
-now.
-
-Signed-off-by: Christian Heimes <christian@python.org>.
-(cherry picked from commit cb5b68abdeb1b1d56c581d5b4d647018703d61e3)
-
-Upstream-Status: Backport
-[https://github.com/python/cpython/commit/cb5b68abdeb1b1d56c581d5b4d647018703d61e3]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Doc/library/ssl.rst | 21 ++++++++++++++
- Lib/ssl.py | 7 +++++
- Lib/test/test_ssl.py | 29 ++++++++++++++++++-
- .../2017-09-04-16-39-49.bpo-29136.vSn1oR.rst | 1 +
- Modules/_ssl.c | 13 +++++++++
- 5 files changed, 70 insertions(+), 1 deletion(-)
- create mode 100644 Misc/NEWS.d/next/Library/2017-09-04-16-39-49.bpo-29136.vSn1oR.rst
-
-diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
-index 14f2d68217..29c5e94cf6 100644
---- a/Doc/library/ssl.rst
-+++ b/Doc/library/ssl.rst
-@@ -285,6 +285,11 @@ purposes.
-
- 3DES was dropped from the default cipher string.
-
-+ .. versionchanged:: 3.7
-+
-+ TLS 1.3 cipher suites TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384,
-+ and TLS_CHACHA20_POLY1305_SHA256 were added to the default cipher string.
-+
-
- Random generation
- ^^^^^^^^^^^^^^^^^
-@@ -719,6 +724,16 @@ Constants
-
- .. versionadded:: 3.4
-
-+.. data:: OP_NO_TLSv1_3
-+
-+ Prevents a TLSv1.3 connection. This option is only applicable in conjunction
-+ with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.3 as
-+ the protocol version. TLS 1.3 is available with OpenSSL 1.1.1 or later.
-+ When Python has been compiled against an older version of OpenSSL, the
-+ flag defaults to *0*.
-+
-+ .. versionadded:: 3.7
-+
- .. data:: OP_CIPHER_SERVER_PREFERENCE
-
- Use the server's cipher ordering preference, rather than the client's.
-@@ -783,6 +798,12 @@ Constants
-
- .. versionadded:: 3.3
-
-+.. data:: HAS_TLSv1_3
-+
-+ Whether the OpenSSL library has built-in support for the TLS 1.3 protocol.
-+
-+ .. versionadded:: 3.7
-+
- .. data:: CHANNEL_BINDING_TYPES
-
- List of supported TLS channel binding types. Strings in this list
-diff --git a/Lib/ssl.py b/Lib/ssl.py
-index 4d302a78fa..f233e72e1f 100644
---- a/Lib/ssl.py
-+++ b/Lib/ssl.py
-@@ -122,6 +122,7 @@ _import_symbols('OP_')
- _import_symbols('ALERT_DESCRIPTION_')
- _import_symbols('SSL_ERROR_')
- _import_symbols('VERIFY_')
-+from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN, HAS_ALPN, HAS_TLSv1_3
-
- from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN, HAS_ALPN
-
-@@ -162,6 +163,7 @@ else:
- # (OpenSSL's default setting is 'DEFAULT:!aNULL:!eNULL')
- # Enable a better set of ciphers by default
- # This list has been explicitly chosen to:
-+# * TLS 1.3 ChaCha20 and AES-GCM cipher suites
- # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE)
- # * Prefer ECDHE over DHE for better performance
- # * Prefer AEAD over CBC for better performance and security
-@@ -173,6 +175,8 @@ else:
- # * Disable NULL authentication, NULL encryption, 3DES and MD5 MACs
- # for security reasons
- _DEFAULT_CIPHERS = (
-+ 'TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:'
-+ 'TLS13-AES-128-GCM-SHA256:'
- 'ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:'
- 'ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH:'
- '!aNULL:!eNULL:!MD5:!3DES'
-@@ -180,6 +184,7 @@ _DEFAULT_CIPHERS = (
-
- # Restricted and more secure ciphers for the server side
- # This list has been explicitly chosen to:
-+# * TLS 1.3 ChaCha20 and AES-GCM cipher suites
- # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE)
- # * Prefer ECDHE over DHE for better performance
- # * Prefer AEAD over CBC for better performance and security
-@@ -190,6 +195,8 @@ _DEFAULT_CIPHERS = (
- # * Disable NULL authentication, NULL encryption, MD5 MACs, DSS, RC4, and
- # 3DES for security reasons
- _RESTRICTED_SERVER_CIPHERS = (
-+ 'TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:'
-+ 'TLS13-AES-128-GCM-SHA256:'
- 'ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:'
- 'ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH:'
- '!aNULL:!eNULL:!MD5:!DSS:!RC4:!3DES'
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index f91af7bd05..1acc12ec2d 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -150,6 +150,13 @@ class BasicSocketTests(unittest.TestCase):
- ssl.OP_NO_COMPRESSION
- self.assertIn(ssl.HAS_SNI, {True, False})
- self.assertIn(ssl.HAS_ECDH, {True, False})
-+ ssl.OP_NO_SSLv2
-+ ssl.OP_NO_SSLv3
-+ ssl.OP_NO_TLSv1
-+ ssl.OP_NO_TLSv1_3
-+ if ssl.OPENSSL_VERSION_INFO >= (1, 0, 1):
-+ ssl.OP_NO_TLSv1_1
-+ ssl.OP_NO_TLSv1_2
-
- def test_str_for_enums(self):
- # Make sure that the PROTOCOL_* constants have enum-like string
-@@ -3028,12 +3035,33 @@ else:
- self.assertEqual(s.version(), 'TLSv1')
- self.assertIs(s.version(), None)
-
-+ @unittest.skipUnless(ssl.HAS_TLSv1_3,
-+ "test requires TLSv1.3 enabled OpenSSL")
-+ def test_tls1_3(self):
-+ context = ssl.SSLContext(ssl.PROTOCOL_TLS)
-+ context.load_cert_chain(CERTFILE)
-+ # disable all but TLS 1.3
-+ context.options |= (
-+ ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_TLSv1_2
-+ )
-+ with ThreadedEchoServer(context=context) as server:
-+ with context.wrap_socket(socket.socket()) as s:
-+ s.connect((HOST, server.port))
-+ self.assertIn(s.cipher()[0], [
-+ 'TLS13-AES-256-GCM-SHA384',
-+ 'TLS13-CHACHA20-POLY1305-SHA256',
-+ 'TLS13-AES-128-GCM-SHA256',
-+ ])
-+
- @unittest.skipUnless(ssl.HAS_ECDH, "test requires ECDH-enabled OpenSSL")
- def test_default_ecdh_curve(self):
- # Issue #21015: elliptic curve-based Diffie Hellman key exchange
- # should be enabled by default on SSL contexts.
- context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
- context.load_cert_chain(CERTFILE)
-+ # TLSv1.3 defaults to PFS key agreement and no longer has KEA in
-+ # cipher name.
-+ context.options |= ssl.OP_NO_TLSv1_3
- # Prior to OpenSSL 1.0.0, ECDH ciphers have to be enabled
- # explicitly using the 'ECCdraft' cipher alias. Otherwise,
- # our default cipher list should prefer ECDH-based ciphers
-@@ -3394,7 +3422,6 @@ else:
- s.sendfile(file)
- self.assertEqual(s.recv(1024), TEST_DATA)
-
--
- def test_main(verbose=False):
- if support.verbose:
- import warnings
-diff --git a/Misc/NEWS.d/next/Library/2017-09-04-16-39-49.bpo-29136.vSn1oR.rst b/Misc/NEWS.d/next/Library/2017-09-04-16-39-49.bpo-29136.vSn1oR.rst
-new file mode 100644
-index 0000000000..e76997ef83
---- /dev/null
-+++ b/Misc/NEWS.d/next/Library/2017-09-04-16-39-49.bpo-29136.vSn1oR.rst
-@@ -0,0 +1 @@
-+Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.
-diff --git a/Modules/_ssl.c b/Modules/_ssl.c
-index 0d5c121d2c..c71d89607c 100644
---- a/Modules/_ssl.c
-+++ b/Modules/_ssl.c
-@@ -4842,6 +4842,11 @@ PyInit__ssl(void)
- #if HAVE_TLSv1_2
- PyModule_AddIntConstant(m, "OP_NO_TLSv1_1", SSL_OP_NO_TLSv1_1);
- PyModule_AddIntConstant(m, "OP_NO_TLSv1_2", SSL_OP_NO_TLSv1_2);
-+#endif
-+#ifdef SSL_OP_NO_TLSv1_3
-+ PyModule_AddIntConstant(m, "OP_NO_TLSv1_3", SSL_OP_NO_TLSv1_3);
-+#else
-+ PyModule_AddIntConstant(m, "OP_NO_TLSv1_3", 0);
- #endif
- PyModule_AddIntConstant(m, "OP_CIPHER_SERVER_PREFERENCE",
- SSL_OP_CIPHER_SERVER_PREFERENCE);
-@@ -4890,6 +4895,14 @@ PyInit__ssl(void)
- Py_INCREF(r);
- PyModule_AddObject(m, "HAS_ALPN", r);
-
-+#if defined(TLS1_3_VERSION) && !defined(OPENSSL_NO_TLS1_3)
-+ r = Py_True;
-+#else
-+ r = Py_False;
-+#endif
-+ Py_INCREF(r);
-+ PyModule_AddObject(m, "HAS_TLSv1_3", r);
-+
- /* Mappings for error codes */
- err_codes_to_names = PyDict_New();
- err_names_to_codes = PyDict_New();
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch b/poky/meta/recipes-devtools/python/python3/0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch
deleted file mode 100644
index 56d591d1b..000000000
--- a/poky/meta/recipes-devtools/python/python3/0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From 170a614904febd14ff6cfd7a75c9bccc114b3948 Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Tue, 14 Aug 2018 16:56:32 +0200
-Subject: [PATCH] bpo-32947: Fixes for TLS 1.3 and OpenSSL 1.1.1 (GH-8761)
-
-Backport of TLS 1.3 related fixes from 3.7.
-
-Misc fixes and workarounds for compatibility with OpenSSL 1.1.1 from git
-master and TLS 1.3 support. With OpenSSL 1.1.1, Python negotiates TLS 1.3 by
-default. Some test cases only apply to TLS 1.2.
-
-OpenSSL 1.1.1 has added a new option OP_ENABLE_MIDDLEBOX_COMPAT for TLS
-1.3. The feature is enabled by default for maximum compatibility with
-broken middle boxes. Users should be able to disable the hack and CPython's test suite needs
-it to verify default options
-
-Signed-off-by: Christian Heimes <christian@python.org>
-
-Upstream-Status: Backport
-[https://github.com/python/cpython/commit/2a4ee8aa01d61b6a9c8e9c65c211e61bdb471826]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Doc/library/ssl.rst | 9 ++++++
- Lib/test/test_asyncio/test_events.py | 6 +++-
- Lib/test/test_ssl.py | 29 +++++++++++++++----
- .../2018-08-14-08-57-01.bpo-32947.mqStVW.rst | 2 ++
- Modules/_ssl.c | 4 +++
- 5 files changed, 44 insertions(+), 6 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Library/2018-08-14-08-57-01.bpo-32947.mqStVW.rst
-
-diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
-index 29c5e94cf6..f63a3deec5 100644
---- a/Doc/library/ssl.rst
-+++ b/Doc/library/ssl.rst
-@@ -757,6 +757,15 @@ Constants
-
- .. versionadded:: 3.3
-
-+.. data:: OP_ENABLE_MIDDLEBOX_COMPAT
-+
-+ Send dummy Change Cipher Spec (CCS) messages in TLS 1.3 handshake to make
-+ a TLS 1.3 connection look more like a TLS 1.2 connection.
-+
-+ This option is only available with OpenSSL 1.1.1 and later.
-+
-+ .. versionadded:: 3.6.7
-+
- .. data:: OP_NO_COMPRESSION
-
- Disable compression on the SSL channel. This is useful if the application
-diff --git a/Lib/test/test_asyncio/test_events.py b/Lib/test/test_asyncio/test_events.py
-index 492a84a231..6f208474b9 100644
---- a/Lib/test/test_asyncio/test_events.py
-+++ b/Lib/test/test_asyncio/test_events.py
-@@ -1169,7 +1169,11 @@ class EventLoopTestsMixin:
- self.loop.run_until_complete(f_c)
-
- # close connection
-- proto.transport.close()
-+ # transport may be None with TLS 1.3, because connection is
-+ # interrupted, server is unable to send session tickets, and
-+ # transport is closed.
-+ if proto.transport is not None:
-+ proto.transport.close()
- server.close()
-
- def test_legacy_create_server_ssl_match_failed(self):
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index 1acc12ec2d..a2e1d32a62 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -78,6 +78,7 @@ OP_NO_COMPRESSION = getattr(ssl, "OP_NO_COMPRESSION", 0)
- OP_SINGLE_DH_USE = getattr(ssl, "OP_SINGLE_DH_USE", 0)
- OP_SINGLE_ECDH_USE = getattr(ssl, "OP_SINGLE_ECDH_USE", 0)
- OP_CIPHER_SERVER_PREFERENCE = getattr(ssl, "OP_CIPHER_SERVER_PREFERENCE", 0)
-+OP_ENABLE_MIDDLEBOX_COMPAT = getattr(ssl, "OP_ENABLE_MIDDLEBOX_COMPAT", 0)
-
-
- def handle_error(prefix):
-@@ -155,8 +156,8 @@ class BasicSocketTests(unittest.TestCase):
- ssl.OP_NO_TLSv1
- ssl.OP_NO_TLSv1_3
- if ssl.OPENSSL_VERSION_INFO >= (1, 0, 1):
-- ssl.OP_NO_TLSv1_1
-- ssl.OP_NO_TLSv1_2
-+ ssl.OP_NO_TLSv1_1
-+ ssl.OP_NO_TLSv1_2
-
- def test_str_for_enums(self):
- # Make sure that the PROTOCOL_* constants have enum-like string
-@@ -854,7 +855,8 @@ class ContextTests(unittest.TestCase):
- default = (ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3)
- # SSLContext also enables these by default
- default |= (OP_NO_COMPRESSION | OP_CIPHER_SERVER_PREFERENCE |
-- OP_SINGLE_DH_USE | OP_SINGLE_ECDH_USE)
-+ OP_SINGLE_DH_USE | OP_SINGLE_ECDH_USE |
-+ OP_ENABLE_MIDDLEBOX_COMPAT)
- self.assertEqual(default, ctx.options)
- ctx.options |= ssl.OP_NO_TLSv1
- self.assertEqual(default | ssl.OP_NO_TLSv1, ctx.options)
-@@ -1860,11 +1862,26 @@ else:
- self.sock, server_side=True)
- self.server.selected_npn_protocols.append(self.sslconn.selected_npn_protocol())
- self.server.selected_alpn_protocols.append(self.sslconn.selected_alpn_protocol())
-- except (ssl.SSLError, ConnectionResetError) as e:
-+ except (ConnectionResetError, BrokenPipeError) as e:
- # We treat ConnectionResetError as though it were an
- # SSLError - OpenSSL on Ubuntu abruptly closes the
- # connection when asked to use an unsupported protocol.
- #
-+ # BrokenPipeError is raised in TLS 1.3 mode, when OpenSSL
-+ # tries to send session tickets after handshake.
-+ # https://github.com/openssl/openssl/issues/6342
-+ self.server.conn_errors.append(str(e))
-+ if self.server.chatty:
-+ handle_error(
-+ "\n server: bad connection attempt from " + repr(
-+ self.addr) + ":\n")
-+ self.running = False
-+ self.close()
-+ return False
-+ except (ssl.SSLError, OSError) as e:
-+ # OSError may occur with wrong protocols, e.g. both
-+ # sides use PROTOCOL_TLS_SERVER.
-+ #
- # XXX Various errors can have happened here, for example
- # a mismatching protocol version, an invalid certificate,
- # or a low-level bug. This should be made more discriminating.
-@@ -2974,7 +2991,7 @@ else:
- # Block on the accept and wait on the connection to close.
- evt.set()
- remote, peer = server.accept()
-- remote.recv(1)
-+ remote.send(remote.recv(4))
-
- t = threading.Thread(target=serve)
- t.start()
-@@ -2982,6 +2999,8 @@ else:
- evt.wait()
- client = context.wrap_socket(socket.socket())
- client.connect((host, port))
-+ client.send(b'data')
-+ client.recv()
- client_addr = client.getsockname()
- client.close()
- t.join()
-diff --git a/Misc/NEWS.d/next/Library/2018-08-14-08-57-01.bpo-32947.mqStVW.rst b/Misc/NEWS.d/next/Library/2018-08-14-08-57-01.bpo-32947.mqStVW.rst
-new file mode 100644
-index 0000000000..28de360c36
---- /dev/null
-+++ b/Misc/NEWS.d/next/Library/2018-08-14-08-57-01.bpo-32947.mqStVW.rst
-@@ -0,0 +1,2 @@
-+Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3 for future
-+compatibility with OpenSSL 1.1.1.
-diff --git a/Modules/_ssl.c b/Modules/_ssl.c
-index c71d89607c..eb123a87ba 100644
---- a/Modules/_ssl.c
-+++ b/Modules/_ssl.c
-@@ -4858,6 +4858,10 @@ PyInit__ssl(void)
- PyModule_AddIntConstant(m, "OP_NO_COMPRESSION",
- SSL_OP_NO_COMPRESSION);
- #endif
-+#ifdef SSL_OP_ENABLE_MIDDLEBOX_COMPAT
-+ PyModule_AddIntConstant(m, "OP_ENABLE_MIDDLEBOX_COMPAT",
-+ SSL_OP_ENABLE_MIDDLEBOX_COMPAT);
-+#endif
-
- #if HAVE_SNI
- r = Py_True;
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch b/poky/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
new file mode 100644
index 000000000..b9d5bc9c5
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
@@ -0,0 +1,80 @@
+From b881a79adcd4ae5ac8fe4f49d0fc77c47f777919 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 4 Aug 2017 11:16:14 +0800
+Subject: [PATCH] setup.py: pass missing libraries to Extension for
+ multiprocessing module
+
+In the following commit:
+...
+commit e711cafab13efc9c1fe6c5cd75826401445eb585
+Author: Benjamin Peterson <benjamin@python.org>
+Date: Wed Jun 11 16:44:04 2008 +0000
+
+ Merged revisions 64104,64117 via svnmerge from
+ svn+ssh://pythondev@svn.python.org/python/trunk
+...
+(see diff in setup.py)
+It assigned libraries for multiprocessing module according
+the host_platform, but not pass it to Extension.
+
+In glibc, the following commit caused two definition of
+sem_getvalue are different.
+https://sourceware.org/git/?p=glibc.git;a=commit;h=042e1521c794a945edc43b5bfa7e69ad70420524
+(see diff in nptl/sem_getvalue.c for detail)
+`__new_sem_getvalue' is the latest sem_getvalue@@GLIBC_2.1
+and `__old_sem_getvalue' is to compat the old version
+sem_getvalue@GLIBC_2.0.
+
+To build python for embedded Linux systems:
+http://www.yoctoproject.org/docs/2.3.1/yocto-project-qs/yocto-project-qs.html
+If not explicitly link to library pthread (-lpthread), it will
+load glibc's sem_getvalue randomly at runtime.
+
+Such as build python on linux x86_64 host and run the python
+on linux x86_32 target. If not link library pthread, it caused
+multiprocessing bounded semaphore could not work correctly.
+...
+>>> import multiprocessing
+>>> pool_sema = multiprocessing.BoundedSemaphore(value=1)
+>>> pool_sema.acquire()
+True
+>>> pool_sema.release()
+Traceback (most recent call last):
+ File "<stdin>", line 1, in <module>
+ValueError: semaphore or lock released too many times
+...
+
+And the semaphore issue also caused multiprocessing.Queue().put() hung.
+
+Upstream-Status: Submitted [https://github.com/python/cpython/pull/2999]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index b7a36a6..658ead3 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1584,8 +1584,10 @@ class PyBuildExt(build_ext):
+ elif host_platform.startswith('netbsd'):
+ macros = dict()
+ libraries = []
+-
+- else: # Linux and other unices
++ elif host_platform.startswith(('linux')):
++ macros = dict()
++ libraries = ['pthread']
++ else: # Other unices
+ macros = dict()
+ libraries = ['rt']
+
+@@ -1603,6 +1605,7 @@ class PyBuildExt(build_ext):
+
+ exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
+ define_macros=list(macros.items()),
++ libraries=libraries,
+ include_dirs=["Modules/_multiprocessing"]))
+ # End multiprocessing
+
diff --git a/poky/meta/recipes-devtools/python/python3/0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch b/poky/meta/recipes-devtools/python/python3/0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch
deleted file mode 100644
index b97d5501e..000000000
--- a/poky/meta/recipes-devtools/python/python3/0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 0c9354362bfa5f90fbea8ff8237a1f1f5dba686f Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Wed, 12 Sep 2018 15:20:31 +0800
-Subject: [PATCH] bpo-33570: TLS 1.3 ciphers for OpenSSL 1.1.1 (GH-6976)
-
-Change TLS 1.3 cipher suite settings for compatibility with OpenSSL
-1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers enabled by
-default.
-
-Also update multissltests and Travis config to test with latest OpenSSL.
-
-Signed-off-by: Christian Heimes <christian@python.org>
-(cherry picked from commit e8eb6cb7920ded66abc5d284319a8539bdc2bae3)
-
-Co-authored-by: Christian Heimes <christian@python.org
-
-Upstream-Status: Backport
-[https://github.com/python/cpython/commit/3e630c541b35c96bfe5619165255e559f577ee71]
-
-Tweaked patch to not take changes for multissltests and Travis config.
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Lib/test/test_ssl.py | 51 ++++++++++++++++++++++----------------------
- 1 file changed, 26 insertions(+), 25 deletions(-)
-
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index a2e1d32a62..c484ead5ff 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -3024,17 +3024,21 @@ else:
- sock.do_handshake()
- self.assertEqual(cm.exception.errno, errno.ENOTCONN)
-
-- def test_default_ciphers(self):
-- context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-- try:
-- # Force a set of weak ciphers on our client context
-- context.set_ciphers("DES")
-- except ssl.SSLError:
-- self.skipTest("no DES cipher available")
-- with ThreadedEchoServer(CERTFILE,
-- ssl_version=ssl.PROTOCOL_SSLv23,
-- chatty=False) as server:
-- with context.wrap_socket(socket.socket()) as s:
-+ def test_no_shared_ciphers(self):
-+ server_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ server_context.load_cert_chain(SIGNED_CERTFILE)
-+ client_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ client_context.verify_mode = ssl.CERT_REQUIRED
-+ client_context.check_hostname = True
-+
-+ client_context.set_ciphers("AES128")
-+ server_context.set_ciphers("AES256")
-+ # OpenSSL enables all TLS 1.3 ciphers, enforce TLS 1.2 for test
-+ client_context.options |= ssl.OP_NO_TLSv1_3
-+ with ThreadedEchoServer(context=server_context) as server:
-+ with client_context.wrap_socket(
-+ socket.socket(),
-+ server_hostname="localhost") as s:
- with self.assertRaises(OSError):
- s.connect((HOST, server.port))
- self.assertIn("no shared cipher", str(server.conn_errors[0]))
-@@ -3067,9 +3071,9 @@ else:
- with context.wrap_socket(socket.socket()) as s:
- s.connect((HOST, server.port))
- self.assertIn(s.cipher()[0], [
-- 'TLS13-AES-256-GCM-SHA384',
-- 'TLS13-CHACHA20-POLY1305-SHA256',
-- 'TLS13-AES-128-GCM-SHA256',
-+ 'TLS_AES_256_GCM_SHA384',
-+ 'TLS_CHACHA20_POLY1305_SHA256',
-+ 'TLS_AES_128_GCM_SHA256',
- ])
-
- @unittest.skipUnless(ssl.HAS_ECDH, "test requires ECDH-enabled OpenSSL")
-@@ -3391,22 +3395,19 @@ else:
- client_context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
- client_context.verify_mode = ssl.CERT_REQUIRED
- client_context.load_verify_locations(SIGNING_CA)
-- if ssl.OPENSSL_VERSION_INFO >= (1, 0, 2):
-- client_context.set_ciphers("AES128:AES256")
-- server_context.set_ciphers("AES256")
-- alg1 = "AES256"
-- alg2 = "AES-256"
-- else:
-- client_context.set_ciphers("AES:3DES")
-- server_context.set_ciphers("3DES")
-- alg1 = "3DES"
-- alg2 = "DES-CBC3"
-+ client_context.set_ciphers("AES128:AES256")
-+ server_context.set_ciphers("AES256")
-+ expected_algs = [
-+ "AES256", "AES-256",
-+ # TLS 1.3 ciphers are always enabled
-+ "TLS_CHACHA20", "TLS_AES",
-+ ]
-
- stats = server_params_test(client_context, server_context)
- ciphers = stats['server_shared_ciphers'][0]
- self.assertGreater(len(ciphers), 0)
- for name, tls_version, bits in ciphers:
-- if not alg1 in name.split("-") and alg2 not in name:
-+ if not any (alg in name for alg in expected_algs):
- self.fail(name)
-
- def test_read_write_after_close_raises_valuerror(self):
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch b/poky/meta/recipes-devtools/python/python3/0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch
deleted file mode 100644
index d60984720..000000000
--- a/poky/meta/recipes-devtools/python/python3/0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 7b40cb7293cb14e5c7c8ed123efaf9acb33edae2 Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Tue, 15 Aug 2017 10:33:43 +0200
-Subject: [PATCH] bpo-30714: ALPN changes for OpenSSL 1.1.0f (#2305)
-
-OpenSSL 1.1.0 to 1.1.0e aborted the handshake when server and client
-could not agree on a protocol using ALPN. OpenSSL 1.1.0f changed that.
-The most recent version now behaves like OpenSSL 1.0.2 again. The ALPN
-callback can pretend to not been set.
-
-See https://github.com/openssl/openssl/pull/3158 for more details
-
-Signed-off-by: Christian Heimes <christian@python.org>
-
-Upstream-Status: Backport
-[https://github.com/python/cpython/commit/7b40cb7293cb14e5c7c8ed123efaf9acb33edae2]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Doc/library/ssl.rst | 5 +++--
- Lib/test/test_ssl.py | 5 +++--
- .../next/Tests/2017-07-25-15-27-44.bpo-30715.Sp7bTF.rst | 2 ++
- 3 files changed, 8 insertions(+), 4 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Tests/2017-07-25-15-27-44.bpo-30715.Sp7bTF.rst
-
-diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
-index 729a239a1b..0a09e7e9d4 100644
---- a/Doc/library/ssl.rst
-+++ b/Doc/library/ssl.rst
-@@ -1447,8 +1447,9 @@ to speed up repeated connections from the same clients.
- This method will raise :exc:`NotImplementedError` if :data:`HAS_ALPN` is
- False.
-
-- OpenSSL 1.1.0+ will abort the handshake and raise :exc:`SSLError` when
-- both sides support ALPN but cannot agree on a protocol.
-+ OpenSSL 1.1.0 to 1.1.0e will abort the handshake and raise :exc:`SSLError`
-+ when both sides support ALPN but cannot agree on a protocol. 1.1.0f+
-+ behaves like 1.0.2, :meth:`SSLSocket.selected_alpn_protocol` returns None.
-
- .. versionadded:: 3.5
-
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index d960d82065..104b7f377a 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -3268,8 +3268,9 @@ if _have_threads:
- except ssl.SSLError as e:
- stats = e
-
-- if expected is None and IS_OPENSSL_1_1:
-- # OpenSSL 1.1.0 raises handshake error
-+ if (expected is None and IS_OPENSSL_1_1
-+ and ssl.OPENSSL_VERSION_INFO < (1, 1, 0, 6)):
-+ # OpenSSL 1.1.0 to 1.1.0e raises handshake error
- self.assertIsInstance(stats, ssl.SSLError)
- else:
- msg = "failed trying %s (s) and %s (c).\n" \
-diff --git a/Misc/NEWS.d/next/Tests/2017-07-25-15-27-44.bpo-30715.Sp7bTF.rst b/Misc/NEWS.d/next/Tests/2017-07-25-15-27-44.bpo-30715.Sp7bTF.rst
-new file mode 100644
-index 0000000000..88394e585c
---- /dev/null
-+++ b/Misc/NEWS.d/next/Tests/2017-07-25-15-27-44.bpo-30715.Sp7bTF.rst
-@@ -0,0 +1,2 @@
-+Address ALPN callback changes for OpenSSL 1.1.0f. The latest version behaves
-+like OpenSSL 1.0.2 and no longer aborts handshake.
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch b/poky/meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch
deleted file mode 100644
index fddfd2b2f..000000000
--- a/poky/meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-# We need to supply STAGING_INCDIR here, otherwise the Tk headers
-# will not be found.
-# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille.de>
-
-Index: Python-3.3.0rc2/setup.py
-===================================================================
---- Python-3.3.0rc2.orig/setup.py 2012-09-20 15:24:14.009124003 -0700
-+++ Python-3.3.0rc2/setup.py 2012-09-20 15:25:08.449124963 -0700
-@@ -1620,7 +1620,7 @@
- dotversion = dotversion[:-1] + '.' + dotversion[-1]
- tcl_include_sub = []
- tk_include_sub = []
-- for dir in inc_dirs:
-+ for dir in [os.getenv("STAGING_INCDIR")]:
- tcl_include_sub += [dir + os.sep + "tcl" + dotversion]
- tk_include_sub += [dir + os.sep + "tk" + dotversion]
- tk_include_sub += tcl_include_sub
-@@ -1639,22 +1639,6 @@
- if dir not in include_dirs:
- include_dirs.append(dir)
-
-- # Check for various platform-specific directories
-- if host_platform == 'sunos5':
-- include_dirs.append('/usr/openwin/include')
-- added_lib_dirs.append('/usr/openwin/lib')
-- elif os.path.exists('/usr/X11R6/include'):
-- include_dirs.append('/usr/X11R6/include')
-- added_lib_dirs.append('/usr/X11R6/lib64')
-- added_lib_dirs.append('/usr/X11R6/lib')
-- elif os.path.exists('/usr/X11R5/include'):
-- include_dirs.append('/usr/X11R5/include')
-- added_lib_dirs.append('/usr/X11R5/lib')
-- else:
-- # Assume default location for X11
-- include_dirs.append('/usr/X11/include')
-- added_lib_dirs.append('/usr/X11/lib')
--
- # If Cygwin, then verify that X is installed before proceeding
- if host_platform == 'cygwin':
- x11_inc = find_file('X11/Xlib.h', [], include_dirs)
diff --git a/poky/meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch b/poky/meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch
deleted file mode 100644
index 6beac7b80..000000000
--- a/poky/meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Do not hardcode /usr into include paths when cross compiling
-
--Khem
-
-Upstream-Status: Pending
-
----
- setup.py | 15 ++-------------
- 1 file changed, 2 insertions(+), 13 deletions(-)
-
-Index: Python-3.3.2/setup.py
-===================================================================
---- Python-3.3.2.orig/setup.py
-+++ Python-3.3.2/setup.py
-@@ -444,7 +444,8 @@ class PyBuildExt(build_ext):
- # only change this for cross builds for 3.3, issues on Mageia
- if cross_compiling:
- self.add_gcc_paths()
-- self.add_multiarch_paths()
-+ if not cross_compiling:
-+ self.add_multiarch_paths()
-
- # Add paths specified in the environment variables LDFLAGS and
- # CPPFLAGS for header and library files.
-@@ -480,7 +481,7 @@ class PyBuildExt(build_ext):
- for directory in reversed(options.dirs):
- add_dir_to_list(dir_list, directory)
-
-- if os.path.normpath(sys.base_prefix) != '/usr' \
-+ if not cross_compiling and os.path.normpath(sys.base_prefix) != '/usr' \
- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
diff --git a/poky/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch b/poky/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch
deleted file mode 100644
index b96419a63..000000000
--- a/poky/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-do not "adjust" python files before copying
-
--Khem
-
-Upstream-Status: Inappropriate [Embedded-Specific]
-
----
- Lib/distutils/command/build_scripts.py | 43 +++------------------------------
- 1 file changed, 4 insertions(+), 39 deletions(-)
-
---- a/Lib/distutils/command/build_scripts.py
-+++ b/Lib/distutils/command/build_scripts.py
-@@ -51,10 +51,7 @@ class build_scripts(Command):
-
-
- def copy_scripts(self):
-- """Copy each script listed in 'self.scripts'; if it's marked as a
-- Python script in the Unix way (first line matches 'first_line_re',
-- ie. starts with "\#!" and contains "python"), then adjust the first
-- line to refer to the current Python interpreter as we copy.
-+ """Copy each script listed in 'self.scripts'
- """
- self.mkpath(self.build_dir)
- outfiles = []
-@@ -78,64 +75,10 @@ class build_scripts(Command):
- if not self.dry_run:
- raise
- f = None
-- else:
-- encoding, lines = tokenize.detect_encoding(f.readline)
-- f.seek(0)
-- first_line = f.readline()
-- if not first_line:
-- self.warn("%s is an empty file (skipping)" % script)
-- continue
--
-- match = first_line_re.match(first_line)
-- if match:
-- adjust = True
-- post_interp = match.group(1) or b''
--
-- if adjust:
-- log.info("copying and adjusting %s -> %s", script,
-- self.build_dir)
-- updated_files.append(outfile)
-- if not self.dry_run:
-- if not sysconfig.python_build:
-- executable = self.executable
-- else:
-- executable = os.path.join(
-- sysconfig.get_config_var("BINDIR"),
-- "python%s%s" % (sysconfig.get_config_var("VERSION"),
-- sysconfig.get_config_var("EXE")))
-- executable = os.fsencode(executable)
-- shebang = b"#!" + executable + post_interp + b"\n"
-- # Python parser starts to read a script using UTF-8 until
-- # it gets a #coding:xxx cookie. The shebang has to be the
-- # first line of a file, the #coding:xxx cookie cannot be
-- # written before. So the shebang has to be decodable from
-- # UTF-8.
-- try:
-- shebang.decode('utf-8')
-- except UnicodeDecodeError:
-- raise ValueError(
-- "The shebang ({!r}) is not decodable "
-- "from utf-8".format(shebang))
-- # If the script is encoded to a custom encoding (use a
-- # #coding:xxx cookie), the shebang has to be decodable from
-- # the script encoding too.
-- try:
-- shebang.decode(encoding)
-- except UnicodeDecodeError:
-- raise ValueError(
-- "The shebang ({!r}) is not decodable "
-- "from the script encoding ({})"
-- .format(shebang, encoding))
-- with open(outfile, "wb") as outf:
-- outf.write(shebang)
-- outf.writelines(f.readlines())
-- if f:
-- f.close()
-- else:
-- if f:
-+ if f:
- f.close()
-- updated_files.append(outfile)
-- self.copy_file(script, outfile)
-+ updated_files.append(outfile)
-+ self.copy_file(script, outfile)
-
- if os.name == 'posix':
- for file in outfiles:
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index c53ec0cfc..dcc0932c7 100644
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,7 +1,7 @@
-From 7630ab22578746d3d790d0598c0d279cf7afed97 Mon Sep 17 00:00:00 2001
+From 1397979ee445ff6826aa5469511e003539f77bb2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 14 May 2013 15:00:26 -0700
-Subject: [PATCH 01/20] python3: Add target and native recipes
+Subject: [PATCH] python3: Add target and native recipes
Upstream-Status: Inappropriate [embedded specific]
@@ -18,7 +18,7 @@ Upstream-Status: Inappropriate [embedded specific]
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 573724d..390c485 100644
+index 6b8c129..3ca7f79 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -84,7 +84,9 @@ def get_python_inc(plat_specific=0, prefix=None):
@@ -32,7 +32,7 @@ index 573724d..390c485 100644
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
if os.name == "posix":
if python_build:
-@@ -125,6 +127,10 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+@@ -122,6 +124,10 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
@@ -43,7 +43,7 @@ index 573724d..390c485 100644
if prefix is None:
if standard_lib:
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
-@@ -133,7 +139,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+@@ -130,7 +136,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
if os.name == "posix":
libpython = os.path.join(prefix,
@@ -52,6 +52,3 @@ index 573724d..390c485 100644
if standard_lib:
return libpython
else:
---
-2.8.0.rc3
-
diff --git a/poky/meta/recipes-devtools/python/python3/130-readline-setup.patch b/poky/meta/recipes-devtools/python/python3/130-readline-setup.patch
deleted file mode 100644
index c805652d6..000000000
--- a/poky/meta/recipes-devtools/python/python3/130-readline-setup.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-package python-readline
-
--Khem
-
-Upstream-Status: Inappropriate [Embedded Specific]
-
---- a/setup.py
-+++ b/setup.py
-@@ -666,45 +666,7 @@ class PyBuildExt(build_ext):
- # readline
- do_readline = self.compiler.find_library_file(lib_dirs, 'readline')
- readline_termcap_library = ""
-- curses_library = ""
-- # Cannot use os.popen here in py3k.
-- tmpfile = os.path.join(self.build_temp, 'readline_termcap_lib')
-- if not os.path.exists(self.build_temp):
-- os.makedirs(self.build_temp)
-- # Determine if readline is already linked against curses or tinfo.
-- if do_readline:
-- if cross_compiling:
-- ret = os.system("%s -d %s | grep '(NEEDED)' > %s" \
-- % (sysconfig.get_config_var('READELF'),
-- do_readline, tmpfile))
-- elif find_executable('ldd'):
-- ret = os.system("ldd %s > %s" % (do_readline, tmpfile))
-- else:
-- ret = 256
-- if ret >> 8 == 0:
-- with open(tmpfile) as fp:
-- for ln in fp:
-- if 'curses' in ln:
-- readline_termcap_library = re.sub(
-- r'.*lib(n?cursesw?)\.so.*', r'\1', ln
-- ).rstrip()
-- break
-- # termcap interface split out from ncurses
-- if 'tinfo' in ln:
-- readline_termcap_library = 'tinfo'
-- break
-- if os.path.exists(tmpfile):
-- os.unlink(tmpfile)
-- # Issue 7384: If readline is already linked against curses,
-- # use the same library for the readline and curses modules.
-- if 'curses' in readline_termcap_library:
-- curses_library = readline_termcap_library
-- elif self.compiler.find_library_file(lib_dirs, 'ncursesw'):
-- curses_library = 'ncursesw'
-- elif self.compiler.find_library_file(lib_dirs, 'ncurses'):
-- curses_library = 'ncurses'
-- elif self.compiler.find_library_file(lib_dirs, 'curses'):
-- curses_library = 'curses'
-+ curses_library = "ncurses"
-
- if host_platform == 'darwin':
- os_release = int(os.uname()[2].split('.')[0])
diff --git a/poky/meta/recipes-devtools/python/python3/150-fix-setupterm.patch b/poky/meta/recipes-devtools/python/python3/150-fix-setupterm.patch
deleted file mode 100644
index 78d7c7867..000000000
--- a/poky/meta/recipes-devtools/python/python3/150-fix-setupterm.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fix warning with newer compiler
-
--Khem
-
-Upstream-Status: Pending
-
---- a/Modules/_cursesmodule.c
-+++ b/Modules/_cursesmodule.c
-@@ -116,7 +116,7 @@ char *PyCursesVersion = "2.2";
- #defines many common symbols (such as "lines") which breaks the
- curses module in other ways. So the code will just specify
- explicit prototypes here. */
--extern int setupterm(char *,int,int *);
-+//extern int setupterm(char *,int,int *);
- #ifdef __sgi
- #include <term.h>
- #endif
diff --git a/poky/meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch b/poky/meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch
deleted file mode 100644
index ae74ef531..000000000
--- a/poky/meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 7fd121bb7d6c25c2e0a1c31cf76fb9bd4a9794de Mon Sep 17 00:00:00 2001
-From: Markus Lehtonen <markus.lehtonen@linux.intel.com>
-Date: Tue, 14 Aug 2018 14:11:35 +0800
-Subject: [PATCH 1/2] Use correct CFLAGS for extensions when cross-compiling
-
-Take PY_CFLAGS_NODIST into account, like in native build. This is needed
-in order to to profile-optimized build. Also, pass EXTRA_CFLAGS to
-profile-optimized build.
-
-Upstream-Status: Pending
-
-Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
----
- Makefile.pre.in | 4 ++--
- setup.py | 3 ++-
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index e2d5d3d..84bc3ff 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -478,7 +478,7 @@ profile-opt:
- $(MAKE) profile-removal
-
- build_all_generate_profile:
-- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)"
-+ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)"
-
- run_profile_task:
- : # FIXME: can't run for a cross build
-@@ -488,7 +488,7 @@ build_all_merge_profile:
- $(LLVM_PROF_MERGER)
-
- build_all_use_profile:
-- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_USE_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) @LTOFLAGS@"
-+ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_USE_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) @LTOFLAGS@"
-
- # Compile and run with gcov
- .PHONY=coverage coverage-lcov coverage-report
-diff --git a/setup.py b/setup.py
-index add3346..65e83b1 100644
---- a/setup.py
-+++ b/setup.py
-@@ -263,7 +263,8 @@ class PyBuildExt(build_ext):
- # compilers
- if compiler is not None:
- if cross_compiling:
-- (ccshared,cflags) = (os.environ.get('CCSHARED') or '', os.environ.get('CFLAGS') or '')
-+ (ccshared,cflags) = (os.environ.get('CCSHARED') or '',
-+ (os.environ.get('CFLAGS') or '') + ' ' + sysconfig.get_config_var('PY_CFLAGS_NODIST'))
- else:
- (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
- args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch b/poky/meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch
deleted file mode 100644
index f29ae5337..000000000
--- a/poky/meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Upstream-Status: Pending
-
-We should make sure that sysroot is used by gcc instead of assuming
-hardcoded locations for include paths
-
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: Python-3.4.2/configure.ac
-===================================================================
---- Python-3.4.2.orig/configure.ac
-+++ Python-3.4.2/configure.ac
-@@ -4434,7 +4434,7 @@ fi
-
- # first curses header check
- ac_save_cppflags="$CPPFLAGS"
--CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
-+CPPFLAGS="$CPPFLAGS -I=/usr/include/ncursesw"
-
- AC_CHECK_HEADERS(curses.h ncurses.h)
-
diff --git a/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch b/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
index a3cc48c9a..24e67b4ca 100644
--- a/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
+++ b/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
@@ -1,17 +1,24 @@
-_tkinter module needs tk module along with tcl. tk is not yet integrated
-in yocto so we skip the check for this module.
-Avoid a warning by not adding this module to missing variable.
+From fead48c8b501a8d7c3db21df2e599f90f38f11d3 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@gherzan.ro>
+Date: Mon, 28 Jan 2019 15:57:54 +0000
+Subject: [PATCH] _tkinter module needs tk module along with tcl. tk is not yet
+ integrated in yocto so we skip the check for this module. Avoid a warning by
+ not adding this module to missing variable.
Upstream-Status: Inappropriate [distribution]
Also simply disable the tk module since its not in DEPENDS.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-Index: Python-3.5.3/setup.py
-===================================================================
---- Python-3.5.3.orig/setup.py
-+++ Python-3.5.3/setup.py
-@@ -1558,10 +1558,12 @@ class PyBuildExt(build_ext):
+---
+ setup.py | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index fbec00d..b7a36a6 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1623,10 +1623,12 @@ class PyBuildExt(build_ext):
self.extensions.extend(exts)
# Call the method for detecting whether _tkinter can be compiled
@@ -25,5 +32,5 @@ Index: Python-3.5.3/setup.py
+ #if '_tkinter' not in [e.name for e in self.extensions]:
+ # missing.append('_tkinter')
- ## # Uncomment these lines if you want to play with xxmodule.c
- ## ext = Extension('xx', ['xxmodule.c'])
+ # Build the _uuid module if possible
+ uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"])
diff --git a/poky/meta/recipes-devtools/python/python3/cgi_py.patch b/poky/meta/recipes-devtools/python/python3/cgi_py.patch
index de504f9dc..6c4ba5432 100644
--- a/poky/meta/recipes-devtools/python/python3/cgi_py.patch
+++ b/poky/meta/recipes-devtools/python/python3/cgi_py.patch
@@ -1,11 +1,20 @@
-Lib/cgi.py: Update the script as mentioned in the comment
+From 62336285cba38017b35cb761c03f0c7e80a671a3 Mon Sep 17 00:00:00 2001
+From: Mark Hatle <mark.hatle@windriver.com>
+Date: Wed, 21 Sep 2011 20:55:33 -0500
+Subject: [PATCH] Lib/cgi.py: Update the script as mentioned in the comment
Upstream-Status: Inappropriate [distribution]
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---- Python-2.6.6/Lib/cgi.py.orig 2010-08-01 22:14:27.000000000 -0500
-+++ Python-2.6.6/Lib/cgi.py 2011-09-21 15:28:40.478208631 -0500
+---
+ Lib/cgi.py | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
+
+diff --git a/Lib/cgi.py b/Lib/cgi.py
+index 8cf6687..094c7b4 100755
+--- a/Lib/cgi.py
++++ b/Lib/cgi.py
@@ -1,13 +1,4 @@
-#! /usr/local/bin/python
-
diff --git a/poky/meta/recipes-devtools/python/python3/check_build_completeness.py b/poky/meta/recipes-devtools/python/python3/check_build_completeness.py
new file mode 100755
index 000000000..a1eace3f5
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/check_build_completeness.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python3
+import sys
+logfile = open(sys.argv[1]).read()
+
+necessary_bits = logfile.find("The necessary bits to build these optional modules were not found")
+to_find_bits = logfile.find("To find the necessary bits, look in setup.py in detect_modules() for the module's name.")
+if necessary_bits != -1:
+ print("%s" %(logfile[necessary_bits:to_find_bits]))
+
+failed_to_build = logfile.find("Failed to build these modules:")
+if failed_to_build != -1:
+ failed_to_build_end = logfile.find("\n\n", failed_to_build)
+ print("%s" %(logfile[failed_to_build:failed_to_build_end]))
+
+if necessary_bits != -1 or failed_to_build != -1:
+ sys.exit(1)
+
diff --git a/poky/meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch b/poky/meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch
deleted file mode 100644
index 97214f9aa..000000000
--- a/poky/meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7c4f8d87473d6238c120ec6031b58f83a17a39a5 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 28 Dec 2015 22:52:06 -0800
-Subject: [PATCH] configure.ac: fix LIBPL
-
-Use LIBDIR rather than prefix/lib, so that it would work when lib64.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 63aef8e..aefb27f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4366,7 +4366,7 @@ AC_MSG_RESULT($LDVERSION)
-
- dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
- AC_SUBST(PY_ENABLE_SHARED)
--LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"
-+LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}"
- AC_SUBST(LIBPL)
-
- # Check whether right shifting a negative integer extends the sign bit
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/python/python3/create_manifest3.py b/poky/meta/recipes-devtools/python/python3/create_manifest3.py
index fddb23cdc..4da02a299 100644
--- a/poky/meta/recipes-devtools/python/python3/create_manifest3.py
+++ b/poky/meta/recipes-devtools/python/python3/create_manifest3.py
@@ -22,7 +22,7 @@
#
#
# This way we will create a new manifest from the data structure that was built during
-# this process, ont this new manifest each package will contain specifically only
+# this process, on this new manifest each package will contain specifically only
# what it needs to run.
#
# There are some caveats which we try to deal with, such as repeated files on different
@@ -36,7 +36,7 @@
# Tha method to handle cached files does not work when a module includes a folder which
# itself contains the pycache folder, gladly this is almost never the case.
#
-# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29@gmail.com>
+# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29 at gmail dot com>
import sys
@@ -78,9 +78,21 @@ def isCached(item):
else:
return False
+def prepend_comments(comments, json_manifest):
+ with open(json_manifest, 'r+') as manifest:
+ json_contents = manifest.read()
+ manifest.seek(0, 0)
+ manifest.write(comments + json_contents)
+
# Read existing JSON manifest
with open('python3-manifest.json') as manifest:
- old_manifest = json.load(manifest, object_pairs_hook=collections.OrderedDict)
+ # The JSON format doesn't allow comments so we hack the call to keep the comments using a marker
+ manifest_str = manifest.read()
+ json_start = manifest_str.find('# EOC') + 6 # EOC + \n
+ manifest.seek(0)
+ comments = manifest.read(json_start)
+ manifest_str = manifest.read()
+ old_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
#
# First pass to get core-package functionality, because we base everything on the fact that core is actually working
@@ -298,7 +310,13 @@ for pypkg in old_manifest:
pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAJMIN}')
inFolders = False
for folder in allfolders:
- if folder in pymodule_dep:
+ # The module could have a directory named after it, e.g. xml, if we take out the filename from the path
+ # we'll end up with ${libdir}, and we want ${libdir}/xml
+ if isFolder(pymodule_dep):
+ check_path = pymodule_dep
+ else:
+ check_path = os.path.dirname(pymodule_dep)
+ if folder in check_path :
inFolders = True # Did we find a folder?
folderFound = False # Second flag to break inner for
# Loop only through packages which contain folders
@@ -402,6 +420,8 @@ with open('python3-manifest.json.new','w') as outfile:
json.dump(new_manifest,outfile, indent=4)
outfile.write('\n')
+prepend_comments(comments,'python3-manifest.json.new')
+
if (repeated):
error_msg = '\n\nERROR:\n'
error_msg += 'The following files are repeated (contained in more than one package),\n'
diff --git a/poky/meta/recipes-devtools/python/python3/fix_for_using_different_libdir.patch b/poky/meta/recipes-devtools/python/python3/fix_for_using_different_libdir.patch
deleted file mode 100644
index 0610565d3..000000000
--- a/poky/meta/recipes-devtools/python/python3/fix_for_using_different_libdir.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Upstream-Status: Inappropriate [Embedded specific]
-
-This patch fixes issuing with different libdir like lib64.
-This patch makes the native python binary modules findable
-in the install process of the host python.
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: 2012/03/14
-
-Updated for python 2.7.3
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: 2012/05/01
-
-Index: Python-3.3.0rc2/Lib/sysconfig.py
-===================================================================
---- Python-3.3.0rc2.orig/Lib/sysconfig.py 2012-09-20 22:50:11.000000000 -0700
-+++ Python-3.3.0rc2/Lib/sysconfig.py 2012-09-20 22:53:01.561123396 -0700
-@@ -21,9 +21,9 @@
-
- _INSTALL_SCHEMES = {
- 'posix_prefix': {
-- 'stdlib': '{installed_base}/'+sys.lib+'/python{py_version_short}',
-+ 'stdlib': '{base}/'+sys.lib+'/python{py_version_short}',
- 'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}',
-- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
-+ 'purelib': '{base}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'platlib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'include':
- '{installed_base}/include/python{py_version_short}{abiflags}',
-@@ -83,7 +83,7 @@
- 'posix_user': {
- 'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
- 'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
-- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
-+ 'purelib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'platlib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'include': '{userbase}/include/python{py_version_short}',
- 'scripts': '{userbase}/bin',
-Index: Python-3.3.0rc2/Makefile.pre.in
-===================================================================
---- Python-3.3.0rc2.orig/Makefile.pre.in 2012-09-20 22:50:11.000000000 -0700
-+++ Python-3.3.0rc2/Makefile.pre.in 2012-09-20 22:50:54.245123997 -0700
-@@ -1080,9 +1080,9 @@
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH} $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH} $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-
- # Create the PLATDIR source directory, if one wasn't distributed..
diff --git a/poky/meta/recipes-devtools/python/python3/float-endian.patch b/poky/meta/recipes-devtools/python/python3/float-endian.patch
deleted file mode 100644
index 6ba3f5c25..000000000
--- a/poky/meta/recipes-devtools/python/python3/float-endian.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles,
-and falls back onto "I don't know" if it can't run code. This results in
-crippled floating point numbers in Python, and the regression tests fail.
-
-Instead of running code, take a macro from autoconf-archive which compiles C
-with a special double in which has an ASCII representation, and then greps the
-binary to identify the format.
-
-Upstream-Status: Submitted [https://bugs.python.org/issue34585]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 50df2a4c3a65ed06322be7c26d42b06ce81730c1 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Wed, 5 Sep 2018 11:45:52 +0100
-Subject: [PATCH] Don't do runtime test to get float byte order
-
----
- configure.ac | 74 +++++------------------------------
- m4/ax_c_float_words_bigendian.m4 | 83 ++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 92 insertions(+), 65 deletions(-)
- create mode 100644 m4/ax_c_float_words_bigendian.m4
-
-diff --git a/configure.ac b/configure.ac
-index c9b755f0f4..1215969871 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -9,6 +9,8 @@ AC_PREREQ(2.65)
-
- AC_INIT(python, PYTHON_VERSION, https://bugs.python.org/)
-
-+AC_CONFIG_MACRO_DIR(m4)
-+
- AC_SUBST(BASECPPFLAGS)
- if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
- # If we're building out-of-tree, we need to make sure the following
-@@ -4128,77 +4130,19 @@ fi
- # * Check for various properties of floating point *
- # **************************************************
-
--AC_MSG_CHECKING(whether C doubles are little-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_little_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x05\x04\x03\x02\x01\xff\x3f\x43", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_little_endian_double=yes],
--[ac_cv_little_endian_double=no],
--[ac_cv_little_endian_double=no])])
--AC_MSG_RESULT($ac_cv_little_endian_double)
--if test "$ac_cv_little_endian_double" = yes
--then
-- AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
-- [Define if C doubles are 64-bit IEEE 754 binary format, stored
-- with the least significant byte first])
--fi
--
--AC_MSG_CHECKING(whether C doubles are big-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_big_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x43\x3f\xff\x01\x02\x03\x04\x05", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_big_endian_double=yes],
--[ac_cv_big_endian_double=no],
--[ac_cv_big_endian_double=no])])
--AC_MSG_RESULT($ac_cv_big_endian_double)
--if test "$ac_cv_big_endian_double" = yes
-+AX_C_FLOAT_WORDS_BIGENDIAN
-+if test "$ax_cv_c_float_words_bigendian" = "yes"
- then
- AC_DEFINE(DOUBLE_IS_BIG_ENDIAN_IEEE754, 1,
- [Define if C doubles are 64-bit IEEE 754 binary format, stored
- with the most significant byte first])
--fi
--
--# Some ARM platforms use a mixed-endian representation for doubles.
--# While Python doesn't currently have full support for these platforms
--# (see e.g., issue 1762561), we can at least make sure that float <-> string
--# conversions work.
--AC_MSG_CHECKING(whether C doubles are ARM mixed-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_mixed_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x01\xff\x3f\x43\x05\x04\x03\x02", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_mixed_endian_double=yes],
--[ac_cv_mixed_endian_double=no],
--[ac_cv_mixed_endian_double=no])])
--AC_MSG_RESULT($ac_cv_mixed_endian_double)
--if test "$ac_cv_mixed_endian_double" = yes
-+elif test "$ax_cv_c_float_words_bigendian" = "no"
- then
-- AC_DEFINE(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754, 1,
-+ AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
- [Define if C doubles are 64-bit IEEE 754 binary format, stored
-- in ARM mixed-endian order (byte order 45670123)])
-+ with the least significant byte first])
-+else
-+ AC_MSG_ERROR([Cannot identify floating point byte order])
- fi
-
- # The short float repr introduced in Python 3.1 requires the
-diff --git a/m4/ax_c_float_words_bigendian.m4 b/m4/ax_c_float_words_bigendian.m4
-new file mode 100644
-index 0000000000..216b90d803
---- /dev/null
-+++ b/m4/ax_c_float_words_bigendian.m4
-@@ -0,0 +1,83 @@
-+# ===============================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html
-+# ===============================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
-+#
-+# DESCRIPTION
-+#
-+# Checks the ordering of words within a multi-word float. This check is
-+# necessary because on some systems (e.g. certain ARM systems), the float
-+# word ordering can be different from the byte ordering. In a multi-word
-+# float context, "big-endian" implies that the word containing the sign
-+# bit is found in the memory location with the lowest address. This
-+# implementation was inspired by the AC_C_BIGENDIAN macro in autoconf.
-+#
-+# The endianness is detected by first compiling C code that contains a
-+# special double float value, then grepping the resulting object file for
-+# certain strings of ASCII values. The double is specially crafted to have
-+# a binary representation that corresponds with a simple string. In this
-+# implementation, the string "noonsees" was selected because the
-+# individual word values ("noon" and "sees") are palindromes, thus making
-+# this test byte-order agnostic. If grep finds the string "noonsees" in
-+# the object file, the target platform stores float words in big-endian
-+# order. If grep finds "seesnoon", float words are in little-endian order.
-+# If neither value is found, the user is instructed to specify the
-+# ordering.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Daniel Amelang <dan@amelang.net>
-+#
-+# 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 11
-+
-+AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
-+ [AC_CACHE_CHECK(whether float word ordering is bigendian,
-+ ax_cv_c_float_words_bigendian, [
-+
-+ax_cv_c_float_words_bigendian=unknown
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-+
-+double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
-+
-+]])], [
-+
-+if grep noonsees conftest.$ac_objext >/dev/null ; then
-+ ax_cv_c_float_words_bigendian=yes
-+fi
-+if grep seesnoon conftest.$ac_objext >/dev/null ; then
-+ if test "$ax_cv_c_float_words_bigendian" = unknown; then
-+ ax_cv_c_float_words_bigendian=no
-+ else
-+ ax_cv_c_float_words_bigendian=unknown
-+ fi
-+fi
-+
-+])])
-+
-+case $ax_cv_c_float_words_bigendian in
-+ yes)
-+ m4_default([$1],
-+ [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
-+ [Define to 1 if your system stores words within floats
-+ with the most significant word first])]) ;;
-+ no)
-+ $2 ;;
-+ *)
-+ m4_default([$3],
-+ [AC_MSG_ERROR([
-+
-+Unknown float word ordering. You need to manually preset
-+ax_cv_c_float_words_bigendian=no (or yes) according to your system.
-+
-+ ])]) ;;
-+esac
-+
-+])# AX_C_FLOAT_WORDS_BIGENDIAN
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/python/python3/ftplib.patch b/poky/meta/recipes-devtools/python/python3/ftplib.patch
deleted file mode 100644
index 49c5b2736..000000000
--- a/poky/meta/recipes-devtools/python/python3/ftplib.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From cabe916dc694997d4892b58986e73a713d5a2f8d Mon Sep 17 00:00:00 2001
-From: "Miss Islington (bot)"
- <31488909+miss-islington@users.noreply.github.com>
-Date: Thu, 16 Aug 2018 15:38:03 -0400
-Subject: [PATCH] [3.6] bpo-34391: Fix ftplib test for TLS 1.3 (GH-8787)
- (#8790)
-
-Read from data socket to avoid "[SSL] shutdown while in init" exception
-during shutdown of the dummy server.
-
-Signed-off-by: Christian Heimes <christian@python.org>
-
-
-<!-- issue-number: [bpo-34391](https://www.bugs.python.org/issue34391) -->
-https://bugs.python.org/issue34391
-<!-- /issue-number -->
-(cherry picked from commit 1590c393360df059160145e7475754427bfc6680)
-
-
-Co-authored-by: Christian Heimes <christian@python.org>
----
- Lib/test/test_ftplib.py | 5 +++++
- Misc/NEWS.d/next/Tests/2018-08-16-18-48-47.bpo-34391.ouNfxC.rst | 1 +
- 2 files changed, 6 insertions(+)
- create mode 100644 Misc/NEWS.d/next/Tests/2018-08-16-18-48-47.bpo-34391.ouNfxC.rst
-
-diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
-index 44dd73aeca..4ff2f71afb 100644
---- a/Lib/test/test_ftplib.py
-+++ b/Lib/test/test_ftplib.py
-@@ -876,18 +876,23 @@ class TestTLS_FTPClass(TestCase):
- # clear text
- with self.client.transfercmd('list') as sock:
- self.assertNotIsInstance(sock, ssl.SSLSocket)
-+ self.assertEqual(sock.recv(1024), LIST_DATA.encode('ascii'))
- self.assertEqual(self.client.voidresp(), "226 transfer complete")
-
- # secured, after PROT P
- self.client.prot_p()
- with self.client.transfercmd('list') as sock:
- self.assertIsInstance(sock, ssl.SSLSocket)
-+ # consume from SSL socket to finalize handshake and avoid
-+ # "SSLError [SSL] shutdown while in init"
-+ self.assertEqual(sock.recv(1024), LIST_DATA.encode('ascii'))
- self.assertEqual(self.client.voidresp(), "226 transfer complete")
-
- # PROT C is issued, the connection must be in cleartext again
- self.client.prot_c()
- with self.client.transfercmd('list') as sock:
- self.assertNotIsInstance(sock, ssl.SSLSocket)
-+ self.assertEqual(sock.recv(1024), LIST_DATA.encode('ascii'))
- self.assertEqual(self.client.voidresp(), "226 transfer complete")
-
- def test_login(self):
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/python/python3/host_include_contamination.patch b/poky/meta/recipes-devtools/python/python3/host_include_contamination.patch
deleted file mode 100644
index ef2054d9a..000000000
--- a/poky/meta/recipes-devtools/python/python3/host_include_contamination.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-when building python for qemux86-64 on ubuntu 11.10/64bit
-it gropes into host includes and then mixes them with cross
-includes and as a result some modules fail to compile and link
-one of the modules is python-elementtree which is then not
-found during image creation
-
-Proble is that setup.py tries to add native includes that newer
-ubuntu has introduced for multiarch support. But that should
-only happen for native builds and not cross building python
-so we add a check here.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: Python-3.3.0rc2/setup.py
-===================================================================
---- Python-3.3.0rc2.orig/setup.py 2012-09-20 21:54:50.000000000 -0700
-+++ Python-3.3.0rc2/setup.py 2012-09-20 21:57:35.029123858 -0700
-@@ -402,6 +402,9 @@
-
- if not find_executable('dpkg-architecture'):
- return
-+ if cross_compiling:
-+ return
-+
- opt = ''
- if cross_compiling:
- opt = '-t' + sysconfig.get_config_var('HOST_GNU_TYPE')
diff --git a/poky/meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch b/poky/meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch
deleted file mode 100644
index 5c3af6b62..000000000
--- a/poky/meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From a784b70d47ba2104afbcfd805e2a66cdc2109ec5 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 4 Aug 2017 11:16:14 +0800
-Subject: [PATCH] setup.py: pass missing libraries to Extension for multiprocessing module
-
-In the following commit:
-...
-commit e711cafab13efc9c1fe6c5cd75826401445eb585
-Author: Benjamin Peterson <benjamin@python.org>
-Date: Wed Jun 11 16:44:04 2008 +0000
-
- Merged revisions 64104,64117 via svnmerge from
- svn+ssh://pythondev@svn.python.org/python/trunk
-...
-(see diff in setup.py)
-It assigned libraries for multiprocessing module according
-the host_platform, but not pass it to Extension.
-
-In glibc, the following commit caused two definition of
-sem_getvalue are different.
-https://sourceware.org/git/?p=glibc.git;a=commit;h=042e1521c794a945edc43b5bfa7e69ad70420524
-(see diff in nptl/sem_getvalue.c for detail)
-`__new_sem_getvalue' is the latest sem_getvalue@@GLIBC_2.1
-and `__old_sem_getvalue' is to compat the old version
-sem_getvalue@GLIBC_2.0.
-
-To build python for embedded Linux systems:
-http://www.yoctoproject.org/docs/2.3.1/yocto-project-qs/yocto-project-qs.html
-If not explicitly link to library pthread (-lpthread), it will
-load glibc's sem_getvalue randomly at runtime.
-
-Such as build python on linux x86_64 host and run the python
-on linux x86_32 target. If not link library pthread, it caused
-multiprocessing bounded semaphore could not work correctly.
-...
->>> import multiprocessing
->>> pool_sema = multiprocessing.BoundedSemaphore(value=1)
->>> pool_sema.acquire()
-True
->>> pool_sema.release()
-Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
-ValueError: semaphore or lock released too many times
-...
-
-And the semaphore issue also caused multiprocessing.Queue().put() hung.
-
-Upstream-Status: Submitted [https://github.com/python/cpython/pull/2999]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- setup.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 4f0f522..d05707d 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1606,8 +1606,10 @@ class PyBuildExt(build_ext):
- elif host_platform.startswith('netbsd'):
- macros = dict()
- libraries = []
--
-- else: # Linux and other unices
-+ elif host_platform.startswith(('linux')):
-+ macros = dict()
-+ libraries = ['pthread']
-+ else: # Other unices
- macros = dict()
- libraries = ['rt']
-
-@@ -1626,6 +1628,7 @@ class PyBuildExt(build_ext):
- if sysconfig.get_config_var('WITH_THREAD'):
- exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
- define_macros=list(macros.items()),
-+ libraries=libraries,
- include_dirs=["Modules/_multiprocessing"]))
- else:
- missing.append('_multiprocessing')
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python3/python-3.3-multilib.patch b/poky/meta/recipes-devtools/python/python3/python-3.3-multilib.patch
deleted file mode 100644
index cc35dc161..000000000
--- a/poky/meta/recipes-devtools/python/python3/python-3.3-multilib.patch
+++ /dev/null
@@ -1,363 +0,0 @@
-From 51fe6f22d0ba113674fb358bd11d75fe659bd26e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 14 May 2013 15:00:26 -0700
-Subject: [PATCH 01/13] get the sys.lib from python itself and do not use
- hardcoded value of 'lib'
-
-02/2015 Rebased for 3.4.2
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
----
- Include/pythonrun.h | 3 +++
- Lib/distutils/command/install.py | 4 +++-
- Lib/pydoc.py | 2 +-
- Lib/site.py | 4 ++--
- Lib/sysconfig.py | 18 +++++++++---------
- Lib/trace.py | 4 ++--
- Makefile.pre.in | 7 +++++--
- Modules/getpath.c | 10 +++++++++-
- Python/getplatform.c | 20 ++++++++++++++++++++
- Python/sysmodule.c | 4 ++++
- configure.ac | 35 +++++++++++++++++++++++++++++++++++
- setup.py | 9 ++++-----
- 12 files changed, 97 insertions(+), 23 deletions(-)
-
-Index: Python-3.5.4/Include/pythonrun.h
-===================================================================
---- Python-3.5.4.orig/Include/pythonrun.h
-+++ Python-3.5.4/Include/pythonrun.h
-@@ -23,6 +23,9 @@ typedef struct {
- } PyCompilerFlags;
- #endif
-
-+PyAPI_FUNC(const char *) Py_GetArch(void);
-+PyAPI_FUNC(const char *) Py_GetLib(void);
-+
- #ifndef Py_LIMITED_API
- PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);
- PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *);
-Index: Python-3.5.4/Lib/distutils/command/install.py
-===================================================================
---- Python-3.5.4.orig/Lib/distutils/command/install.py
-+++ Python-3.5.4/Lib/distutils/command/install.py
-@@ -19,6 +19,8 @@ from site import USER_BASE
- from site import USER_SITE
- HAS_USER_SITE = True
-
-+libname = sys.lib
-+
- WINDOWS_SCHEME = {
- 'purelib': '$base/Lib/site-packages',
- 'platlib': '$base/Lib/site-packages',
-@@ -29,8 +31,8 @@ WINDOWS_SCHEME = {
-
- INSTALL_SCHEMES = {
- 'unix_prefix': {
-- 'purelib': '$base/lib/python$py_version_short/site-packages',
-- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+ 'purelib': '$platbase/'+libname+'/python$py_version_short/site-packages',
-+ 'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages',
- 'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
- 'scripts': '$base/bin',
- 'data' : '$base',
-Index: Python-3.5.4/Lib/pydoc.py
-===================================================================
---- Python-3.5.4.orig/Lib/pydoc.py
-+++ Python-3.5.4/Lib/pydoc.py
-@@ -389,7 +389,7 @@ class Doc:
- docmodule = docclass = docroutine = docother = docproperty = docdata = fail
-
- def getdocloc(self, object,
-- basedir=os.path.join(sys.base_exec_prefix, "lib",
-+ basedir=os.path.join(sys.base_exec_prefix, sys.lib,
- "python%d.%d" % sys.version_info[:2])):
- """Return the location of module docs or None"""
-
-Index: Python-3.5.4/Lib/site.py
-===================================================================
---- Python-3.5.4.orig/Lib/site.py
-+++ Python-3.5.4/Lib/site.py
-@@ -303,12 +303,12 @@ def getsitepackages(prefixes=None):
- seen.add(prefix)
-
- if os.sep == '/':
-- sitepackages.append(os.path.join(prefix, "lib",
-+ sitepackages.append(os.path.join(prefix, sys.lib,
- "python" + sys.version[:3],
- "site-packages"))
- else:
- sitepackages.append(prefix)
-- sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
-+ sitepackages.append(os.path.join(prefix, sys.lib, "site-packages"))
- if sys.platform == "darwin":
- # for framework builds *only* we add the standard Apple
- # locations.
-Index: Python-3.5.4/Lib/sysconfig.py
-===================================================================
---- Python-3.5.4.orig/Lib/sysconfig.py
-+++ Python-3.5.4/Lib/sysconfig.py
-@@ -20,10 +20,10 @@ __all__ = [
-
- _INSTALL_SCHEMES = {
- 'posix_prefix': {
-- 'stdlib': '{installed_base}/lib/python{py_version_short}',
-- 'platstdlib': '{platbase}/lib/python{py_version_short}',
-- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
-+ 'stdlib': '{installed_base}/'+sys.lib+'/python{py_version_short}',
-+ 'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}',
-+ 'purelib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages',
-+ 'platlib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'include':
- '{installed_base}/include/python{py_version_short}{abiflags}',
- 'platinclude':
-@@ -32,10 +32,10 @@ _INSTALL_SCHEMES = {
- 'data': '{base}',
- },
- 'posix_home': {
-- 'stdlib': '{installed_base}/lib/python',
-- 'platstdlib': '{base}/lib/python',
-- 'purelib': '{base}/lib/python',
-- 'platlib': '{base}/lib/python',
-+ 'stdlib': '{installed_base}/'+sys.lib+'/python',
-+ 'platstdlib': '{base}/'+sys.lib+'/python',
-+ 'purelib': '{base}/'+sys.lib+'/python',
-+ 'platlib': '{base}/'+sys.lib+'/python',
- 'include': '{installed_base}/include/python',
- 'platinclude': '{installed_base}/include/python',
- 'scripts': '{base}/bin',
-@@ -61,10 +61,10 @@ _INSTALL_SCHEMES = {
- 'data': '{userbase}',
- },
- 'posix_user': {
-- 'stdlib': '{userbase}/lib/python{py_version_short}',
-- 'platstdlib': '{userbase}/lib/python{py_version_short}',
-- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
-+ 'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
-+ 'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
-+ 'purelib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
-+ 'platlib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'include': '{userbase}/include/python{py_version_short}',
- 'scripts': '{userbase}/bin',
- 'data': '{userbase}',
-Index: Python-3.5.4/Lib/trace.py
-===================================================================
---- Python-3.5.4.orig/Lib/trace.py
-+++ Python-3.5.4/Lib/trace.py
-@@ -749,10 +749,10 @@ def main(argv=None):
- # should I also call expanduser? (after all, could use $HOME)
-
- s = s.replace("$prefix",
-- os.path.join(sys.base_prefix, "lib",
-+ os.path.join(sys.base_prefix, sys.lib,
- "python" + sys.version[:3]))
- s = s.replace("$exec_prefix",
-- os.path.join(sys.base_exec_prefix, "lib",
-+ os.path.join(sys.base_exec_prefix, sys.lib,
- "python" + sys.version[:3]))
- s = os.path.normpath(s)
- ignore_dirs.append(s)
-Index: Python-3.5.4/Makefile.pre.in
-===================================================================
---- Python-3.5.4.orig/Makefile.pre.in
-+++ Python-3.5.4/Makefile.pre.in
-@@ -109,6 +109,8 @@ CFLAGS_ALIASING=@CFLAGS_ALIASING@
-
- # Machine-dependent subdirectories
- MACHDEP= @MACHDEP@
-+LIB= @LIB@
-+ARCH= @ARCH@
-
- # Multiarch directory (may be empty)
- MULTIARCH= @MULTIARCH@
-@@ -128,7 +130,7 @@ LIBDIR= @libdir@
- MANDIR= @mandir@
- INCLUDEDIR= @includedir@
- CONFINCLUDEDIR= $(exec_prefix)/include
--SCRIPTDIR= $(prefix)/lib
-+SCRIPTDIR= @libdir@
- ABIFLAGS= @ABIFLAGS@
-
- # Detailed destination directories
-@@ -731,6 +733,7 @@ Modules/getpath.o: $(srcdir)/Modules/get
- -DEXEC_PREFIX='"$(exec_prefix)"' \
- -DVERSION='"$(VERSION)"' \
- -DVPATH='"$(VPATH)"' \
-+ -DARCH='"$(ARCH)"' -DLIB='"$(LIB)"' \
- -o $@ $(srcdir)/Modules/getpath.c
-
- Programs/python.o: $(srcdir)/Programs/python.c
-@@ -813,7 +816,7 @@ regen-opcode:
- Python/compile.o Python/symtable.o Python/ast.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h
-
- Python/getplatform.o: $(srcdir)/Python/getplatform.c
-- $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
-+ $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DARCH='"$(ARCH)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c
-
- Python/importdl.o: $(srcdir)/Python/importdl.c
- $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-Index: Python-3.5.4/Modules/getpath.c
-===================================================================
---- Python-3.5.4.orig/Modules/getpath.c
-+++ Python-3.5.4/Modules/getpath.c
-@@ -105,6 +105,13 @@
- #error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined"
- #endif
-
-+#define LIB_PYTHON LIB "/python" VERSION
-+
-+#ifndef PYTHONPATH
-+#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \
-+ EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload"
-+#endif
-+
- #ifndef LANDMARK
- #define LANDMARK L"os.py"
- #endif
-@@ -113,6 +120,7 @@ static wchar_t prefix[MAXPATHLEN+1];
- static wchar_t exec_prefix[MAXPATHLEN+1];
- static wchar_t progpath[MAXPATHLEN+1];
- static wchar_t *module_search_path = NULL;
-+static wchar_t *lib_python = L"" LIB_PYTHON;
-
- /* Get file status. Encode the path to the locale encoding. */
-
-@@ -494,7 +502,7 @@ calculate_path(void)
- _pythonpath = Py_DecodeLocale(PYTHONPATH, NULL);
- _prefix = Py_DecodeLocale(PREFIX, NULL);
- _exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL);
-- lib_python = Py_DecodeLocale("lib/python" VERSION, NULL);
-+ lib_python = Py_DecodeLocale(LIB_PYTHON, NULL);
-
- if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) {
- Py_FatalError(
-Index: Python-3.5.4/Python/getplatform.c
-===================================================================
---- Python-3.5.4.orig/Python/getplatform.c
-+++ Python-3.5.4/Python/getplatform.c
-@@ -10,3 +10,23 @@ Py_GetPlatform(void)
- {
- return PLATFORM;
- }
-+
-+#ifndef ARCH
-+#define ARCH "unknown"
-+#endif
-+
-+const char *
-+Py_GetArch(void)
-+{
-+ return ARCH;
-+}
-+
-+#ifndef LIB
-+#define LIB "lib"
-+#endif
-+
-+const char *
-+Py_GetLib(void)
-+{
-+ return LIB;
-+}
-Index: Python-3.5.4/Python/sysmodule.c
-===================================================================
---- Python-3.5.4.orig/Python/sysmodule.c
-+++ Python-3.5.4/Python/sysmodule.c
-@@ -1827,6 +1827,10 @@ _PySys_Init(void)
- PyUnicode_FromString(Py_GetCopyright()));
- SET_SYS_FROM_STRING("platform",
- PyUnicode_FromString(Py_GetPlatform()));
-+ SET_SYS_FROM_STRING("arch",
-+ PyUnicode_FromString(Py_GetArch()));
-+ SET_SYS_FROM_STRING("lib",
-+ PyUnicode_FromString(Py_GetLib()));
- SET_SYS_FROM_STRING("executable",
- PyUnicode_FromWideChar(
- Py_GetProgramFullPath(), -1));
-Index: Python-3.5.4/configure.ac
-===================================================================
---- Python-3.5.4.orig/configure.ac
-+++ Python-3.5.4/configure.ac
-@@ -885,6 +885,41 @@ PLATDIR=plat-$MACHDEP
- AC_SUBST(PLATDIR)
- AC_SUBST(PLATFORM_TRIPLET)
-
-+AC_SUBST(ARCH)
-+AC_MSG_CHECKING(ARCH)
-+ARCH=`uname -m`
-+case $ARCH in
-+i?86) ARCH=i386;;
-+esac
-+AC_MSG_RESULT($ARCH)
-+
-+AC_SUBST(LIB)
-+AC_MSG_CHECKING(LIB)
-+case $ac_sys_system in
-+Linux*)
-+ # Test if the compiler is 64bit
-+ echo 'int i;' > conftest.$ac_ext
-+ python_cv_cc_64bit_output=no
-+ if AC_TRY_EVAL(ac_compile); then
-+ case `/usr/bin/file conftest.$ac_objext` in
-+ *"ELF 64"*)
-+ python_cv_cc_64bit_output=yes
-+ ;;
-+ esac
-+ fi
-+ rm -rf conftest*
-+ ;;
-+esac
-+
-+case $ARCH:$python_cv_cc_64bit_output in
-+ppc64:yes | powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes)
-+ LIB="lib64"
-+ ;;
-+*:*)
-+ LIB="lib"
-+ ;;
-+esac
-+AC_MSG_RESULT($LIB)
-
- AC_MSG_CHECKING([for -Wl,--no-as-needed])
- save_LDFLAGS="$LDFLAGS"
-Index: Python-3.5.4/setup.py
-===================================================================
---- Python-3.5.4.orig/setup.py
-+++ Python-3.5.4/setup.py
-@@ -494,7 +494,7 @@ class PyBuildExt(build_ext):
- # directories (i.e. '.' and 'Include') must be first. See issue
- # 10520.
- if not cross_compiling:
-- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+ add_dir_to_list(self.compiler.library_dirs, os.path.join('/usr/local', sys.lib))
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- # only change this for cross builds for 3.3, issues on Mageia
- if cross_compiling:
-@@ -552,8 +552,7 @@ class PyBuildExt(build_ext):
- # be assumed that no additional -I,-L directives are needed.
- if not cross_compiling:
- lib_dirs = self.compiler.library_dirs + [
-- '/lib64', '/usr/lib64',
-- '/lib', '/usr/lib',
-+ '/' + sys.lib, '/usr/' + sys.lib,
- ]
- inc_dirs = self.compiler.include_dirs + ['/usr/include']
- else:
-@@ -745,11 +744,11 @@ class PyBuildExt(build_ext):
- elif curses_library:
- readline_libs.append(curses_library)
- elif self.compiler.find_library_file(lib_dirs +
-- ['/usr/lib/termcap'],
-+ ['/usr/'+sys.lib+'/termcap'],
- 'termcap'):
- readline_libs.append('termcap')
- exts.append( Extension('readline', ['readline.c'],
-- library_dirs=['/usr/lib/termcap'],
-+ library_dirs=['/usr/'+sys.lib+'/termcap'],
- extra_link_args=readline_extra_link_args,
- libraries=readline_libs) )
- else:
diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
index 5329bf7c5..0a4ab2cbe 100644
--- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -1,3 +1,93 @@
+# DO NOT (entirely) modify this file manually, please read.
+#
+# IMPORTANT NOTE:
+# Please keep in mind that the create_manifest task relies on the fact the the
+# target and native Python packages are the same, and it also needs to be executed
+# with a fully working native package (with all the PACKAGECONFIGs enabled and all
+# and all the modules should be working, check log.do_compile), otherwise the script
+# will fail to find dependencies correctly, this note is valid either if you are
+# upgrading to a new Python version or adding a new package.
+#
+#
+# If you are adding a new package please follow the next steps:
+# How to add a new package:
+# - If a user wants to add a new package all that has to be done is:
+# Modify the python3-manifest.json file, and add the required file(s) to the FILES list,
+# fill up the SUMMARY section as well, the script should handle all the rest.
+#
+# Real example:
+# We want to add a web browser package, including the file webbrowser.py
+# which at the moment is on python3-misc.
+# "webbrowser": {
+# "files": ["${libdir}/python${PYTHON_MAJMIN}/lib-dynload/webbrowser.py"],
+# "rdepends": [],
+# "summary": "Python Web Browser support"}
+#
+# * Note that the rdepends field was left empty
+#
+# We run $ bitbake python3 -c create_manifest and the resulting manifest
+# should be completed after a few seconds, showing something like:
+# "webbrowser": {
+# "files": ["${libdir}/python${PYTHON_MAJMIN}/webbrowser.py"],
+# "rdepends": ["core","fcntl","io","pickle","shell","subprocess"],
+# "summary": "Python Web Browser support"}
+#
+#
+# If you are upgrading Python to a new version please follow the next steps:
+# After each Python upgrade, the create_manifest task should be executed, because we
+# don't control what changes on upstream Python, so, some module dependency
+# might have changed without us realizing it, a certain module can either have
+# more or less dependencies, or could be depending on a new file that was just
+# created on the new release and for obvious reasons we wouldn't have it on our
+# old manifest, all of these issues would cause runtime errors on our system.
+#
+# - Upgrade both the native and target Python packages to a new version
+# - Run the create_manifest task for the target Python package as its shown below:
+#
+# $ bitbake python3 -c create_manifest
+#
+# This will automatically replace your manifest file located under the Python directory
+# with an new one, which contains the new dependencies (if any).
+#
+# Several things could have gone wrong here, I will try to explain a few:
+#
+# a) A new file was introduced on this release, e.g. sha3*.so:
+# The task will check what its needed to import every module, more than one module would
+# would probably depend on sha3*.so, although only one module should contain it.
+#
+# After running the task, the new manifest will have the sha3*.so file on more than one
+# module, you need to manually decide which one of them should get it and delete it from
+# the others, for example sha3*.so should likely be on ${PN}-crypt.
+# Once you have deleted from the others you need to run the create_manifest task again,
+# this will populate the other module's rdepends fields, with ${PN}-crypt and you should be
+# good to go.
+#
+# b) The native package wasn't built correctly and its missing a certain module:
+# As mentioned before, you need to make sure the native package was built with all the modules
+# because it is used as base to build the manifest file, you need to manually check log.do_compile
+# since it won't error out the compile function if its only missing a couple of modules.
+#
+# e.g. missing the _uuid module, log.do_compile would show the following:
+# Python build finished successfully!
+# The necessary bits to build these optional modules were not found:
+# _uuid
+#
+# What will happen here is that the new manifest would not be aware that the _uuid module exists, so
+# not only we won't know of any dependencies to it, but also, the _uuid* files will be packaged on
+# the misc package (which is where any file that doesn't belong anywhere else ends up).
+#
+# This will eventually cause runtime errors on our system if we don't include the misc package on
+# on our image, because the _uuid files will be missing.
+# If we build the _uuid module correctly and run the create_manifest task the _uuid files will be
+# detected correctly along with its dependencies, and we will get a working manifest.
+#
+# This is the reason why it is important to make sure we have a fully working native build,
+# so we can avoid these errors.
+#
+#
+#
+# DO NOT MODIFY THE NEXT LINE!, IT IS USED AS A MARKER FOR THE ACTUAL JSON MANIFEST
+# EOC
{
"tests": {
"summary": "Python test suite",
@@ -19,7 +109,7 @@
"core"
],
"files": [
- "${bindir}/2to3-*",
+ "${bindir}/2to3*",
"${libdir}/python${PYTHON_MAJMIN}/lib2to3"
],
"cached": []
@@ -27,24 +117,18 @@
"asyncio": {
"summary": "Python Asynchronous I/",
"rdepends": [
- "compression",
"core",
- "crypt",
"io",
"logging",
- "math",
- "multiprocessing",
"netclient",
- "pickle",
- "shell",
- "stringold",
- "threading",
- "unixadmin"
+ "numbers",
+ "stringold"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/asyncio",
"${libdir}/python${PYTHON_MAJMIN}/concurrent",
- "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures"
+ "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so"
],
"cached": []
},
@@ -84,19 +168,7 @@
"compile": {
"summary": "Python bytecode compilation support",
"rdepends": [
- "asyncio",
- "compression",
- "core",
- "crypt",
- "io",
- "logging",
- "math",
- "multiprocessing",
- "pickle",
- "shell",
- "stringold",
- "threading",
- "unixadmin"
+ "core"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/compileall.py",
@@ -140,6 +212,7 @@
"files": [
"${bindir}/python*[!-config]",
"${includedir}/python${PYTHON_BINABI}/pyconfig*.h",
+ "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]",
"${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
"${libdir}/python${PYTHON_MAJMIN}/UserList.py",
"${libdir}/python${PYTHON_MAJMIN}/UserString.py",
@@ -149,7 +222,7 @@
"${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py",
"${libdir}/python${PYTHON_MAJMIN}/_markupbase.py",
"${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py",
- "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py",
+ "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py",
"${libdir}/python${PYTHON_MAJMIN}/_weakrefset.py",
"${libdir}/python${PYTHON_MAJMIN}/abc.py",
"${libdir}/python${PYTHON_MAJMIN}/argparse.py",
@@ -323,9 +396,13 @@
"files": [
"${libdir}/python${PYTHON_MAJMIN}/crypt.py",
"${libdir}/python${PYTHON_MAJMIN}/hashlib.py",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_blake2.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_crypt.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so"
],
"cached": [
@@ -415,9 +492,7 @@
"${libdir}/*.la",
"${libdir}/*.o",
"${libdir}/lib*${SOLIBSDEV}",
- "${libdir}/pkgconfig",
- "${libdir}/python${PYTHON_MAJMIN}/config*/Makefile",
- "${libdir}/python${PYTHON_MAJMIN}/config*/Makefile/__pycache__"
+ "${libdir}/pkgconfig"
],
"rdepends": [
"core"
@@ -730,7 +805,9 @@
"multiprocessing": {
"summary": "Python multiprocessing support",
"rdepends": [
- "core"
+ "core",
+ "io",
+ "pickle"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multiprocessing.*.so",
@@ -741,18 +818,14 @@
"netclient": {
"summary": "Python Internet Protocol clients",
"rdepends": [
- "compression",
"core",
"crypt",
- "ctypes",
"datetime",
"email",
"io",
"math",
"mime",
- "shell",
- "stringold",
- "unixadmin"
+ "stringold"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/base64.py",
@@ -760,6 +833,7 @@
"${libdir}/python${PYTHON_MAJMIN}/hmac.py",
"${libdir}/python${PYTHON_MAJMIN}/http",
"${libdir}/python${PYTHON_MAJMIN}/http/__pycache__",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_uuid.*.so",
"${libdir}/python${PYTHON_MAJMIN}/mimetypes.py",
"${libdir}/python${PYTHON_MAJMIN}/nntplib.py",
"${libdir}/python${PYTHON_MAJMIN}/poplib.py",
@@ -814,13 +888,16 @@
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/_pydecimal.py",
+ "${libdir}/python${PYTHON_MAJMIN}/contextvars.py",
"${libdir}/python${PYTHON_MAJMIN}/decimal.py",
"${libdir}/python${PYTHON_MAJMIN}/fractions.py",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_contextvars.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_decimal.*.so",
"${libdir}/python${PYTHON_MAJMIN}/numbers.py"
],
"cached": [
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pydecimal.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextvars.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/decimal.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/fractions.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/numbers.*.pyc"
@@ -1044,13 +1121,12 @@
"files": [
"${libdir}/python${PYTHON_MAJMIN}/_dummy_thread.py",
"${libdir}/python${PYTHON_MAJMIN}/_threading_local.py",
- "${libdir}/python${PYTHON_MAJMIN}/dummy_threading.py",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_queue.*.so",
"${libdir}/python${PYTHON_MAJMIN}/queue.py"
],
"cached": [
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_dummy_thread.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_threading_local.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dummy_threading.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/queue.*.pyc"
]
},
@@ -1060,6 +1136,7 @@
"core"
],
"files": [
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so",
"${libdir}/python${PYTHON_MAJMIN}/tkinter"
],
"cached": []
@@ -1119,8 +1196,8 @@
"unixadmin"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/venv",
- "${bindir}/pyvenv*"
+ "${bindir}/pyvenv*",
+ "${libdir}/python${PYTHON_MAJMIN}/venv"
],
"cached": []
},
diff --git a/poky/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch b/poky/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch
deleted file mode 100644
index a4f8bd471..000000000
--- a/poky/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 53ed216d7bf70dd2a925432b6805a701e5fc3e0e Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 17 Nov 2014 06:44:47 +0000
-Subject: [PATCH] python3 use CROSSPYTHONPATH for PYTHON_FOR_BUILD
-
-Upstream-Status: Inappropriate [Cross compile specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: Python-3.5.4/configure.ac
-===================================================================
---- Python-3.5.4.orig/configure.ac
-+++ Python-3.5.4/configure.ac
-@@ -73,7 +73,7 @@ if test "$cross_compiling" = yes; then
- AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
- fi
- AC_MSG_RESULT($interp)
-- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp
-+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH) '$interp
- fi
- elif test "$cross_compiling" = maybe; then
- AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
diff --git a/poky/meta/recipes-devtools/python/python3/regen-all.patch b/poky/meta/recipes-devtools/python/python3/regen-all.patch
deleted file mode 100644
index 36b9d9d91..000000000
--- a/poky/meta/recipes-devtools/python/python3/regen-all.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-python3-native: run regen-importlib target correctly
-
-regen-importlib depends on other regen- targets, so we must be sure to
-run it after (most of) the others. In reality, we do not need to run it
-at all since "make" will invoke it, if necessary. We do not want to
-rely on that, though.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
-
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -709,7 +709,8 @@ regen-importlib: Programs/_freeze_import
- ############################################################################
- # Regenerate all generated files
-
--regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar regen-ast regen-importlib
-+regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar regen-ast
-+ $(MAKE) regen-importlib
-
- ############################################################################
- # Special rules for object files
diff --git a/poky/meta/recipes-devtools/python/python3/run-ptest b/poky/meta/recipes-devtools/python/python3/run-ptest
index 3863c6d31..20c9274df 100644
--- a/poky/meta/recipes-devtools/python/python3/run-ptest
+++ b/poky/meta/recipes-devtools/python/python3/run-ptest
@@ -1,3 +1,3 @@
#!/bin/sh
-python3 -m test -v | sed -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
+python3 -m test -W | sed -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
diff --git a/poky/meta/recipes-devtools/python/python3/setup.py-check-cross_compiling-when-get-FLAGS.patch b/poky/meta/recipes-devtools/python/python3/setup.py-check-cross_compiling-when-get-FLAGS.patch
deleted file mode 100644
index fc2e12dfe..000000000
--- a/poky/meta/recipes-devtools/python/python3/setup.py-check-cross_compiling-when-get-FLAGS.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 8dad810f3a3d073f09ad72e1a3ee0a895eab2ca1 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sun, 18 Jan 2015 19:05:36 -0800
-Subject: [PATCH] setup.py:check cross_compiling when get FLAGS
-
-Fixed when compile target pythnon3:
-gcc -isystem/path/to/sysroots/x86_64-linux/usr/include \
- -L=/path/to/sysroots/x86_64-linux/usr/lib
-
-This is incorrect, the native sysroot should not be used by target
-python3.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- setup.py | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index e8339cd..83fd31f 100644
---- a/setup.py
-+++ b/setup.py
-@@ -238,7 +238,10 @@ class PyBuildExt(build_ext):
- # unfortunately, distutils doesn't let us provide separate C and C++
- # compilers
- if compiler is not None:
-- (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
-+ if cross_compiling:
-+ (ccshared,cflags) = (os.environ.get('CCSHARED') or '', os.environ.get('CFLAGS') or '')
-+ else:
-+ (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
- args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
- self.compiler.set_executables(**args)
-
-@@ -457,7 +460,10 @@ class PyBuildExt(build_ext):
- ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
- ('LDFLAGS', '-L', self.compiler.library_dirs),
- ('CPPFLAGS', '-I', self.compiler.include_dirs)):
-- env_val = sysconfig.get_config_var(env_var)
-+ if cross_compiling:
-+ env_val = os.environ.get(env_var)
-+ else:
-+ env_val = sysconfig.get_config_var(env_var)
- if env_val:
- # To prevent optparse from raising an exception about any
- # options in env_val that it doesn't know about we strip out
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/python/python3/setuptweaks.patch b/poky/meta/recipes-devtools/python/python3/setuptweaks.patch
deleted file mode 100644
index 3a91b1916..000000000
--- a/poky/meta/recipes-devtools/python/python3/setuptweaks.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-This patch removes various ways native system options can pass into the python
-compilation and somehow break C modules.
-
-Upstream-Status: Inappropriate [OE Specific]
-
-RP 2012/04/23
-
-Index: Python-2.7.2/setup.py
-===================================================================
---- Python-2.7.2.orig/setup.py 2012-04-23 20:03:47.295582553 +0000
-+++ Python-2.7.2/setup.py 2012-04-23 20:03:15.000000000 +0000
-@@ -231,7 +231,13 @@
- # compilers
- if compiler is not None:
- (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
-- args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
-+ # Need to filter out -isysroot from the flags. Ideally should
-+ # figure out target flags here.
-+ flags = []
-+ for f in cflags.split():
-+ if not f.startswith("-isystem"):
-+ flags.append(f)
-+ args['compiler_so'] = compiler + ' ' + ccshared + ' ' + ' '.join(flags)
- self.compiler.set_executables(**args)
-
- build_ext.build_extensions(self)
-@@ -393,7 +399,6 @@
- # into configure and stored in the Makefile (issue found on OS X 10.3).
- for env_var, arg_name, dir_list in (
- ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
-- ('LDFLAGS', '-L', self.compiler.library_dirs),
- ('CPPFLAGS', '-I', self.compiler.include_dirs)):
- env_val = sysconfig.get_config_var(env_var)
- if env_val:
-@@ -419,16 +424,16 @@
- for directory in reversed(options.dirs):
- add_dir_to_list(dir_list, directory)
-
-- if os.path.normpath(sys.prefix) != '/usr' \
-- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
-+# if os.path.normpath(sys.prefix) != '/usr' \
-+# and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
- # building a framework with different architectures than
- # the one that is currently installed (issue #7473)
-- add_dir_to_list(self.compiler.library_dirs,
-- sysconfig.get_config_var("LIBDIR"))
-- add_dir_to_list(self.compiler.include_dirs,
-- sysconfig.get_config_var("INCLUDEDIR"))
-+# add_dir_to_list(self.compiler.library_dirs,
-+# sysconfig.get_config_var("LIBDIR"))
-+# add_dir_to_list(self.compiler.include_dirs,
-+# sysconfig.get_config_var("INCLUDEDIR"))
-
- try:
- have_unicode = unicode
diff --git a/poky/meta/recipes-devtools/python/python3/signal.patch b/poky/meta/recipes-devtools/python/python3/signal.patch
deleted file mode 100644
index 534a09777..000000000
--- a/poky/meta/recipes-devtools/python/python3/signal.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 4315389df3c4e8c1f94a18ab11a4b234762132b1 Mon Sep 17 00:00:00 2001
-From: Antoine Pitrou <pitrou@free.fr>
-Date: Mon, 23 Apr 2018 22:22:49 +0200
-Subject: [PATCH] [3.6] bpo-33329: Fix multiprocessing regression on newer
- glibcs (GH-6575) (GH-6582)
-
-Starting with glibc 2.27.9000-xxx, sigaddset() can return EINVAL for some
-reserved signal numbers between 1 and NSIG. The `range(1, NSIG)` idiom
-is commonly used to select all signals for blocking with `pthread_sigmask`.
-So we ignore the sigaddset() return value until we expose sigfillset()
-to provide a better idiom.
-(cherry picked from commit 25038ecfb665bef641abf8cb61afff7505b0e008)
----
- .../next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst | 1 +
- Modules/signalmodule.c | 14 ++++++++------
- 2 files changed, 9 insertions(+), 6 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst
-
-diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
-index e0d06b434d..138e74e8a9 100644
---- a/Modules/signalmodule.c
-+++ b/Modules/signalmodule.c
-@@ -744,7 +744,6 @@ iterable_to_sigset(PyObject *iterable, sigset_t *mask)
- int result = -1;
- PyObject *iterator, *item;
- long signum;
-- int err;
-
- sigemptyset(mask);
-
-@@ -766,11 +765,14 @@ iterable_to_sigset(PyObject *iterable, sigset_t *mask)
- Py_DECREF(item);
- if (signum == -1 && PyErr_Occurred())
- goto error;
-- if (0 < signum && signum < NSIG)
-- err = sigaddset(mask, (int)signum);
-- else
-- err = 1;
-- if (err) {
-+ if (0 < signum && signum < NSIG) {
-+ /* bpo-33329: ignore sigaddset() return value as it can fail
-+ * for some reserved signals, but we want the `range(1, NSIG)`
-+ * idiom to allow selecting all valid signals.
-+ */
-+ (void) sigaddset(mask, (int)signum);
-+ }
-+ else {
- PyErr_Format(PyExc_ValueError,
- "signal number %ld out of range", signum);
- goto error;
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/python/python3/sitecustomize.py b/poky/meta/recipes-devtools/python/python3/sitecustomize.py
deleted file mode 100644
index 4c8b5e2ba..000000000
--- a/poky/meta/recipes-devtools/python/python3/sitecustomize.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# OpenEmbedded sitecustomize.py (C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
-# GPLv2 or later
-# Version: 20081123
-# Features:
-# * set proper default encoding
-# * enable readline completion in the interactive interpreter
-# * load command line history on startup
-# * save command line history on exit
-
-import os
-
-def __exithandler():
- try:
- readline.write_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) )
- except IOError:
- pass
-
-def __registerExitHandler():
- import atexit
- atexit.register( __exithandler )
-
-def __enableReadlineSupport():
- readline.set_history_length( 1000 )
- readline.parse_and_bind( "tab: complete" )
- try:
- readline.read_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) )
- except IOError:
- pass
-
-import sys
-try:
- import rlcompleter, readline
-except ImportError:
- pass
-else:
- __registerExitHandler()
- __enableReadlineSupport()
diff --git a/poky/meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch b/poky/meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch
deleted file mode 100644
index 32ecab9fe..000000000
--- a/poky/meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-The compiled .pyc files contain time stamp corresponding to the compile time.
-This prevents binary reproducibility. This patch allows to achieve binary
-reproducibility by overriding the build time stamp by the value
-exported via SOURCE_DATE_EPOCH.
-
-Upstream-Status: Backport
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
-
-From aeab488630fdb1b56a8d0b0c13fa88706b2afe9b Mon Sep 17 00:00:00 2001
-From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
-Date: Sat, 25 Feb 2017 06:42:28 +0100
-Subject: [PATCH] bpo-29708: support SOURCE_DATE_EPOCH env var in py_compile
-
-to allow for reproducible builds of python packages
-
-See https://reproducible-builds.org/ for why this is good
-and https://reproducible-builds.org/specs/source-date-epoch/
-for the definition of this variable.
-
-Background:
-In some distributions like openSUSE, binary rpms contain precompiled .pyc files.
-
-And packages like amqp or twisted dynamically generate .py files at build time
-so those have the current time and that timestamp gets embedded
-into the .pyc file header.
-When we then adapt file timestamps in rpms to be constant,
-the timestamp in the .pyc header will no more match
-the .py timestamp in the filesystem.
-The software will still work, but it will not use the .pyc file as it should.
----
- Doc/library/py_compile.rst | 4 ++++
- Lib/py_compile.py | 4 ++++
- Lib/test/test_py_compile.py | 19 +++++++++++++++++++
- 3 files changed, 27 insertions(+)
-
-diff --git a/Doc/library/py_compile.rst b/Doc/library/py_compile.rst
-index 0af8fb1..841f3e8 100644
---- a/Doc/library/py_compile.rst
-+++ b/Doc/library/py_compile.rst
-@@ -53,6 +53,10 @@ byte-code cache files in the directory containing the source code.
- :func:`compile` function. The default of ``-1`` selects the optimization
- level of the current interpreter.
-
-+ If the SOURCE_DATE_EPOCH environment variable is set, the .py file mtime
-+ and timestamp entry in .pyc file header, will be limited to this value.
-+ See https://reproducible-builds.org/specs/source-date-epoch/ for more info.
-+
- .. versionchanged:: 3.2
- Changed default value of *cfile* to be :PEP:`3147`-compliant. Previous
- default was *file* + ``'c'`` (``'o'`` if optimization was enabled).
-diff --git a/Lib/py_compile.py b/Lib/py_compile.py
-index 11c5b50..62dcdc7 100644
---- a/Lib/py_compile.py
-+++ b/Lib/py_compile.py
-@@ -137,6 +137,10 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1):
- except FileExistsError:
- pass
- source_stats = loader.path_stats(file)
-+ sde = os.environ.get('SOURCE_DATE_EPOCH')
-+ if sde and source_stats['mtime'] > int(sde):
-+ source_stats['mtime'] = int(sde)
-+ os.utime(file, (source_stats['mtime'], source_stats['mtime']))
- bytecode = importlib._bootstrap_external._code_to_bytecode(
- code, source_stats['mtime'], source_stats['size'])
- mode = importlib._bootstrap_external._calc_mode(file)
-diff --git a/Lib/test/test_py_compile.py b/Lib/test/test_py_compile.py
-index 4a6caa5..3d09963 100644
---- a/Lib/test/test_py_compile.py
-+++ b/Lib/test/test_py_compile.py
-@@ -98,6 +98,25 @@ def test_bad_coding(self):
- self.assertFalse(os.path.exists(
- importlib.util.cache_from_source(bad_coding)))
-
-+ def test_source_date_epoch(self):
-+ testtime = 123456789
-+ orig_sde = os.getenv("SOURCE_DATE_EPOCH")
-+ os.environ["SOURCE_DATE_EPOCH"] = str(testtime)
-+ py_compile.compile(self.source_path, self.pyc_path)
-+ if orig_sde:
-+ os.environ["SOURCE_DATE_EPOCH"] = orig_sde
-+ else:
-+ del os.environ["SOURCE_DATE_EPOCH"]
-+ self.assertTrue(os.path.exists(self.pyc_path))
-+ self.assertFalse(os.path.exists(self.cache_path))
-+ statinfo = os.stat(self.source_path)
-+ self.assertEqual(statinfo.st_mtime, testtime)
-+ f = open(self.pyc_path, "rb")
-+ f.read(4)
-+ timebytes = f.read(4) # read timestamp from pyc header
-+ f.close()
-+ self.assertEqual(timebytes, (testtime).to_bytes(4, 'little'))
-+
- @unittest.skipIf(sys.flags.optimize > 0, 'test does not work with -O')
- def test_double_dot_no_clobber(self):
- # http://bugs.python.org/issue22966
diff --git a/poky/meta/recipes-devtools/python/python3/sysconfig.py-add-_PYTHON_PROJECT_SRC.patch b/poky/meta/recipes-devtools/python/python3/sysconfig.py-add-_PYTHON_PROJECT_SRC.patch
deleted file mode 100644
index c89d9a3d8..000000000
--- a/poky/meta/recipes-devtools/python/python3/sysconfig.py-add-_PYTHON_PROJECT_SRC.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From fc93b3cc23b4f9698ae92a42986dbb02b6f19588 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sun, 18 Jan 2015 06:29:50 -0800
-Subject: [PATCH] sysconfig.py: add _PYTHON_PROJECT_SRC
-
-python3 has introduced _PYTHON_PROJECT_BASE which is used for separate B
-and S, but it doesn't work when compile Modules, the target python3 runs
-python3-native's sysconfig to get srcdir which is the native's, there
-would be errors when native's srcdir has been removed, add
-_PYTHON_PROJECT_SRC to fix the problem.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- Lib/distutils/sysconfig.py | 5 ++++-
- Lib/sysconfig.py | 5 ++++-
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-Index: Python-3.5.3/Lib/distutils/sysconfig.py
-===================================================================
---- Python-3.5.3.orig/Lib/distutils/sysconfig.py
-+++ Python-3.5.3/Lib/distutils/sysconfig.py
-@@ -498,7 +498,10 @@ def get_config_vars(*args):
- _config_vars['SO'] = SO
-
- # Always convert srcdir to an absolute path
-- srcdir = _config_vars.get('srcdir', project_base)
-+ if "_PYTHON_PROJECT_SRC" in os.environ:
-+ srcdir = os.path.abspath(os.environ["_PYTHON_PROJECT_SRC"])
-+ else:
-+ srcdir = _config_vars.get('srcdir', project_base)
- if os.name == 'posix':
- if python_build:
- # If srcdir is a relative path (typically '.' or '..')
-Index: Python-3.5.3/Lib/sysconfig.py
-===================================================================
---- Python-3.5.3.orig/Lib/sysconfig.py
-+++ Python-3.5.3/Lib/sysconfig.py
-@@ -544,7 +544,10 @@ def get_config_vars(*args):
- _CONFIG_VARS['userbase'] = _getuserbase()
-
- # Always convert srcdir to an absolute path
-- srcdir = _CONFIG_VARS.get('srcdir', _PROJECT_BASE)
-+ if "_PYTHON_PROJECT_SRC" in os.environ:
-+ srcdir = os.path.abspath(os.environ["_PYTHON_PROJECT_SRC"])
-+ else:
-+ srcdir = _CONFIG_VARS.get('srcdir', _PROJECT_BASE)
- if os.name == 'posix':
- if _PYTHON_BUILD:
- # If srcdir is a relative path (typically '.' or '..')
diff --git a/poky/meta/recipes-devtools/python/python3/sysroot-include-headers.patch b/poky/meta/recipes-devtools/python/python3/sysroot-include-headers.patch
deleted file mode 100644
index 785b5567f..000000000
--- a/poky/meta/recipes-devtools/python/python3/sysroot-include-headers.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Dont search hardcoded paths, we might be doing a cross-build
-Use '=' in-front to let compiler append sysroot, if it can
-
-Should fix things like
-
-configure:6972: arm-angstrom-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -DNDEBUG -fno-inline -D__SOFTFP__ --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone -c -O2 -pipe -g -feliminate-unused-debug-types -I/usr/include/ncursesw conftest.c >&5
-cc1: warning: include location "/usr/include/ncursesw" is unsafe for cross-compilation [-Wpoison-system-directories]
-
-
-Signed-off-by: Khem Raj
-Upstream-Status: Pending
-
-
-Index: Python-3.3.2/setup.py
-===================================================================
---- Python-3.3.2.orig/setup.py 2013-07-30 01:30:48.000000000 -0700
-+++ Python-3.3.2/setup.py 2013-07-30 01:41:11.697862723 -0700
-@@ -1210,7 +1210,7 @@
- panel_library = 'panel'
- if curses_library == 'ncursesw':
- curses_defines.append(('HAVE_NCURSESW', '1'))
-- curses_includes.append('/usr/include/ncursesw')
-+ curses_includes.append('=/usr/include/ncursesw')
- # Bug 1464056: If _curses.so links with ncursesw,
- # _curses_panel.so must link with panelw.
- panel_library = 'panelw'
-@@ -1819,7 +1819,7 @@
- if host_platform == 'darwin':
- # OS X 10.5 comes with libffi.dylib; the include files are
- # in /usr/include/ffi
-- inc_dirs.append('/usr/include/ffi')
-+ inc_dirs.append('=/usr/include/ffi')
-
- ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")]
- if not ffi_inc or ffi_inc[0] == '':
diff --git a/poky/meta/recipes-devtools/python/python3/tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch b/poky/meta/recipes-devtools/python/python3/tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch
deleted file mode 100644
index 8d037278b..000000000
--- a/poky/meta/recipes-devtools/python/python3/tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 5d6509313198ec9b686cad50b002212e4344004b Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 11 Mar 2016 01:15:45 -0500
-Subject: [PATCH] configure.ac: tweak MULTIARCH for powerpc-linux-gnuspe
-
-For p1022ds bsp, the MULTIARCH is powerpc-linux-gnuspev1 and
-python3 did not recognize the extra 'v1' which caused python3
-configure error for the platform triplet.
-
-Q:Why Python3 check platform triplet?
-
-A:Under Linux, GNU/KFreeBSD and the Hurd, C extensions now include
-the architecture triplet in the extension name, to make it easy to
-test builds for different ABIs in the same working tree.
-
-Here is the generated C extensions which take platform triplet into account.
-...
-|image/usr/lib/python3.5/lib-dynload/_datetime.cpython-35m-powerpc-linux-gnuspe.so
-...
-
-https://bugs.python.org/issue22980
-https://www.python.org/dev/peps/pep-3149/
-https://bugs.python.org/review/22980/patch/14593/54808
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 9eb3d22..c34a9a0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -724,6 +724,13 @@ fi
-
-
- MULTIARCH=$($CC --print-multiarch 2>/dev/null)
-+
-+# Tweak MULTIARCH
-+if test x$MULTIARCH = xpowerpc-linux-gnuspev1
-+then
-+ MULTIARCH="powerpc-linux-gnuspe"
-+fi
-+
- AC_SUBST(MULTIARCH)
-
- AC_MSG_CHECKING([for the platform triplet based on compiler characteristics])
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/unixccompiler.patch b/poky/meta/recipes-devtools/python/python3/unixccompiler.patch
deleted file mode 100644
index 3e2b1d1c2..000000000
--- a/poky/meta/recipes-devtools/python/python3/unixccompiler.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Upstream-Status: Pending
-
-The CC variable,sometimes like:"x86_64-poky-linux-gcc -m64 --sysroot=/${TMPDIR}/sysroots/qemux86-64", contains option information.
-This will lead to wrong compiler name "qemux86-64" rather than "x86_64-poky-linux-gcc" when python finding the compiler name.
-
-Secondly add -L=<path> this way linker will be able to resolve /usr/lib w.r.t sysroot and not
-use hardcoded /usr/lib to look for libs which is wrong in cross compile environment and this will work
-ok on native systems too since sysroot for native compilers is /
-
-Signed-off-by: Mei Lei <lei.mei@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: Python-3.3.2/Lib/distutils/unixccompiler.py
-===================================================================
---- Python-3.3.2.orig/Lib/distutils/unixccompiler.py 2013-05-15 09:32:54.000000000 -0700
-+++ Python-3.3.2/Lib/distutils/unixccompiler.py 2013-08-01 00:58:18.629056286 -0700
-@@ -202,7 +202,9 @@
- # ccompiler.py.
-
- def library_dir_option(self, dir):
-- return "-L" + dir
-+ if dir.startswith("/"):
-+ return "-L=" + dir
-+ return "-L" + dir
-
- def _is_gcc(self, compiler_name):
- return "gcc" in compiler_name or "g++" in compiler_name
-@@ -221,7 +221,7 @@
- # this time, there's no way to determine this information from
- # the configuration data stored in the Python installation, so
- # we use this hack.
-- compiler = os.path.basename(sysconfig.get_config_var("CC"))
-+ compiler = sysconfig.get_config_var("CC")
- if sys.platform[:6] == "darwin":
- # MacOSX's linker doesn't understand the -R flag at all
- return "-L" + dir
diff --git a/poky/meta/recipes-devtools/python/python3_3.5.6.bb b/poky/meta/recipes-devtools/python/python3_3.5.6.bb
deleted file mode 100644
index 2cb65045a..000000000
--- a/poky/meta/recipes-devtools/python/python3_3.5.6.bb
+++ /dev/null
@@ -1,327 +0,0 @@
-require recipes-devtools/python/python3.inc
-
-DEPENDS = "python3-native libffi bzip2 gdbm openssl \
- sqlite3 zlib virtual/libintl xz qemu-native \
- qemu-helper-native virtual/crypt"
-
-DISTRO_SRC_URI ?= "file://sitecustomize.py"
-DISTRO_SRC_URI_linuxstdbase = ""
-SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
-file://python-config.patch \
-file://030-fixup-include-dirs.patch \
-file://130-readline-setup.patch \
-file://150-fix-setupterm.patch \
-file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch \
-file://tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch \
-file://support_SOURCE_DATE_EPOCH_in_py_compile.patch \
-${DISTRO_SRC_URI} \
-"
-
-SRC_URI += "\
- file://03-fix-tkinter-detection.patch \
- file://avoid_warning_about_tkinter.patch \
- file://cgi_py.patch \
- file://host_include_contamination.patch \
- file://python-3.3-multilib.patch \
- file://sysroot-include-headers.patch \
- file://unixccompiler.patch \
- file://avoid-ncursesw-include-path.patch \
- file://python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \
- file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch \
- file://setup.py-check-cross_compiling-when-get-FLAGS.patch \
- file://configure.ac-fix-LIBPL.patch \
- file://0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch \
- file://pass-missing-libraries-to-Extension-for-mul.patch \
- file://Use-correct-CFLAGS-for-extensions-when-cross-compili.patch \
- file://0002-Makefile-add-target-to-split-profile-generation.patch \
- file://float-endian.patch \
- file://ftplib.patch \
- file://signal.patch \
- file://0001-Issue-28043-SSLContext-has-improved-default-settings.patch \
- file://0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch \
- file://0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch \
- file://0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch \
- file://0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch \
- file://run-ptest \
- "
-
-inherit multilib_header python3native update-alternatives qemu ptest
-
-MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
-
-ALTERNATIVE_${PN}-dev = "python-config"
-ALTERNATIVE_LINK_NAME[python-config] = "${bindir}/python${PYTHON_BINABI}-config"
-ALTERNATIVE_TARGET[python-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"
-
-CONFIGUREOPTS += " --with-system-ffi "
-
-CACHED_CONFIGUREVARS = "ac_cv_have_chflags=no \
- ac_cv_have_lchflags=no \
- ac_cv_have_long_long_format=yes \
- ac_cv_buggy_getaddrinfo=no \
- ac_cv_file__dev_ptmx=yes \
- ac_cv_file__dev_ptc=no \
-"
-
-TARGET_CC_ARCH += "-DNDEBUG -fno-inline"
-SDK_CC_ARCH += "-DNDEBUG -fno-inline"
-EXTRA_OEMAKE += "CROSS_COMPILE=yes"
-EXTRA_OECONF += "CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ --without-ensurepip"
-
-PYTHON3_PROFILE_TASK ?= "./python -m test.regrtest --pgo test_grammar test_opcodes test_dict test_builtin test_exceptions test_types test_support || true"
-
-export CROSS_COMPILE = "${TARGET_PREFIX}"
-export CCSHARED = "-fPIC"
-
-# Fix cross compilation of different modules
-export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/:${B}/build/lib.linux-${TARGET_ARCH}-${PYTHON_MAJMIN}:${S}/Lib:${S}/Lib/plat-linux"
-
-PACKAGECONFIG ??= "readline ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'pgo', '', d)}"
-PACKAGECONFIG[readline] = ",,readline"
-# Use profile guided optimisation by running PyBench inside qemu-user
-PACKAGECONFIG[pgo] = "--enable-optimizations"
-
-do_configure_append() {
- rm -f ${S}/Makefile.orig
-}
-
-run_make() {
- oe_runmake PGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \
- HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \
- STAGING_LIBDIR=${STAGING_LIBDIR} \
- STAGING_INCDIR=${STAGING_INCDIR} \
- STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
- LIB=${baselib} \
- ARCH=${TARGET_ARCH} \
- OPT="${CFLAGS}" \
- "$@"
-}
-
-do_compile() {
- # regenerate platform specific files, because they depend on system headers
- cd ${S}/Lib/plat-linux*
- include=${STAGING_INCDIR} ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
- ${S}/Tools/scripts/h2py.py -i '(u_long)' \
- ${STAGING_INCDIR}/dlfcn.h \
- ${STAGING_INCDIR}/linux/cdrom.h \
- ${STAGING_INCDIR}/netinet/in.h \
- ${STAGING_INCDIR}/sys/types.h
- sed -e 's,${STAGING_DIR_HOST},,g' -i *.py
- cd -
-
- # remove any bogus LD_LIBRARY_PATH
- sed -i -e s,RUNSHARED=.*,RUNSHARED=, Makefile
-
- if [ ! -f Makefile.orig ]; then
- install -m 0644 Makefile Makefile.orig
- fi
- sed -i -e 's,^CONFIGURE_LDFLAGS=.*,CONFIGURE_LDFLAGS=-L. -L${STAGING_LIBDIR},g' \
- -e 's,libdir=${libdir},libdir=${STAGING_LIBDIR},g' \
- -e 's,libexecdir=${libexecdir},libexecdir=${STAGING_DIR_HOST}${libexecdir},g' \
- -e 's,^LIBDIR=.*,LIBDIR=${STAGING_LIBDIR},g' \
- -e 's,includedir=${includedir},includedir=${STAGING_INCDIR},g' \
- -e 's,^INCLUDEDIR=.*,INCLUDE=${STAGING_INCDIR},g' \
- -e 's,^CONFINCLUDEDIR=.*,CONFINCLUDE=${STAGING_INCDIR},g' \
- Makefile
- # save copy of it now, because if we do it in do_install and
- # then call do_install twice we get Makefile.orig == Makefile.sysroot
- install -m 0644 Makefile Makefile.sysroot
-
- if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then
- run_make profile-opt
- qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"
- cat >pgo-wrapper <<EOF
-#!/bin/sh
-cd ${B}
-$qemu_binary "\$@"
-EOF
- chmod +x pgo-wrapper
- bbnote Gathering profiling data
- ./pgo-wrapper ${PYTHON3_PROFILE_TASK}
- bbnote Profiling data gathered, rebuilding
- run_make clean_and_use_profile
- else
- run_make libpython3.so
- run_make
- fi
-}
-
-do_install() {
- # make install needs the original Makefile, or otherwise the inclues would
- # go to ${D}${STAGING...}/...
- install -m 0644 Makefile.orig Makefile
-
- install -d ${D}${libdir}/pkgconfig
- install -d ${D}${libdir}/python${PYTHON_MAJMIN}/config
-
- # rerun the build once again with original makefile this time
- # run install in a separate step to avoid compile/install race
- if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then
- run_make DESTDIR=${D} LIBDIR=${libdir} build_all_use_profile
- else
- run_make DESTDIR=${D} LIBDIR=${libdir}
- fi
-
- run_make DESTDIR=${D} LIBDIR=${libdir} install
-
- # avoid conflict with 2to3 from Python 2
- rm -f ${D}/${bindir}/2to3
-
- install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
- install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile
-
- if [ -e ${WORKDIR}/sitecustomize.py ]; then
- install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}
- fi
-
- oe_multilib_header python${PYTHON_BINABI}/pyconfig.h
-}
-
-do_install_append_class-nativesdk () {
- create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} PYTHONHOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
-}
-
-SSTATE_SCAN_FILES += "Makefile"
-PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
-
-py_package_preprocess () {
- # copy back the old Makefile to fix target package
- install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
- install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile
- # Remove references to buildmachine paths in target Makefile and _sysconfigdata
- sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -e 's:${RECIPE_SYSROOT}::g' \
- -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py \
- ${PKGD}/${bindir}/python${PYTHON_BINABI}-config
-
- # Recompile _sysconfigdata after modifying it
- cd ${PKGD}
- ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \
- -c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py')"
- ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \
- -c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py', optimize=1)"
- ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \
- -c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py', optimize=2)"
- cd -
-
- mv ${PKGD}/${bindir}/python${PYTHON_BINABI}-config ${PKGD}/${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}
-}
-
-PACKAGES_remove = "${PN}"
-
-# manual dependency additions
-RPROVIDES_${PN}-modules = "${PN}"
-RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
-RRECOMMENDS_${PN}-crypt = "openssl ca-certificates"
-
-FILES_${PN}-2to3 += "${bindir}/2to3-${PYTHON_MAJMIN}"
-FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
-FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
-
-# provide python-pyvenv from python3-venv
-RPROVIDES_${PN}-venv += "${PN}-pyvenv"
-
-# package libpython3
-PACKAGES =+ "libpython3 libpython3-staticdev"
-FILES_libpython3 = "${libdir}/libpython*.so.*"
-FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}/libpython${PYTHON_BINABI}.a"
-INSANE_SKIP_${PN}-dev += "dev-elf"
-
-# catch all the rest (unsorted)
-PACKAGES += "${PN}-misc"
-RDEPENDS_${PN}-misc += "${PN}-core ${PN}-email ${PN}-codecs"
-RDEPENDS_${PN}-modules += "${PN}-misc"
-FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}"
-
-# catch manpage
-PACKAGES += "${PN}-man"
-FILES_${PN}-man = "${datadir}/man"
-
-RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2"
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "nativesdk"
-
-# We want bytecode precompiled .py files (.pyc's) by default
-# but the user may set it on their own conf
-INCLUDE_PYCS ?= "1"
-
-python(){
- import collections, json
-
- filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json')
- # This python changes the datastore based on the contents of a file, so mark
- # that dependency.
- bb.parse.mark_dependency(d, filename)
-
- with open(filename) as manifest_file:
- python_manifest=json.load(manifest_file, object_pairs_hook=collections.OrderedDict)
-
- include_pycs = d.getVar('INCLUDE_PYCS')
-
- packages = d.getVar('PACKAGES').split()
- pn = d.getVar('PN')
-
- newpackages=[]
- for key in python_manifest:
- pypackage= pn + '-' + key
-
- if pypackage not in packages:
- # We need to prepend, otherwise python-misc gets everything
- # so we use a new variable
- newpackages.append(pypackage)
-
- # "Build" python's manifest FILES, RDEPENDS and SUMMARY
- d.setVar('FILES_' + pypackage, '')
- for value in python_manifest[key]['files']:
- d.appendVar('FILES_' + pypackage, ' ' + value)
-
- # Add cached files
- if include_pycs == '1':
- for value in python_manifest[key]['cached']:
- d.appendVar('FILES_' + pypackage, ' ' + value)
-
- for value in python_manifest[key]['rdepends']:
- # Make it work with or without $PN
- if '${PN}' in value:
- value=value.split('-')[1]
- d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
- d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
-
- # Prepending so to avoid python-misc getting everything
- packages = newpackages + packages
- d.setVar('PACKAGES', ' '.join(packages))
- d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
-}
-
-# Files needed to create a new manifest
-SRC_URI += "file://create_manifest3.py file://get_module_deps3.py file://python3-manifest.json"
-
-do_create_manifest() {
- # This task should be run with every new release of Python.
- # We must ensure that PACKAGECONFIG enables everything when creating
- # a new manifest, this is to base our new manifest on a complete
- # native python build, containing all dependencies, otherwise the task
- # wont be able to find the required files.
- # e.g. BerkeleyDB is an optional build dependency so it may or may not
- # be present, we must ensure it is.
-
- cd ${WORKDIR}
- # This needs to be executed by python-native and NOT by HOST's python
- nativepython3 create_manifest3.py ${PYTHON_MAJMIN}
- cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json
-}
-
-# bitbake python -c create_manifest
-addtask do_create_manifest
-
-# Make sure we have native python ready when we create a new manifest
-do_create_manifest[depends] += "python3:do_prepare_recipe_sysroot"
-do_create_manifest[depends] += "python3:do_patch"
diff --git a/poky/meta/recipes-devtools/python/python3_3.7.2.bb b/poky/meta/recipes-devtools/python/python3_3.7.2.bb
new file mode 100644
index 000000000..5c64bc8aa
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3_3.7.2.bb
@@ -0,0 +1,290 @@
+SUMMARY = "The Python Programming Language"
+HOMEPAGE = "http://www.python.org"
+LICENSE = "PSFv2"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f257cc14f81685691652a3d3e1b5d754"
+
+SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
+ file://run-ptest \
+ file://create_manifest3.py \
+ file://get_module_deps3.py \
+ file://python3-manifest.json \
+ file://check_build_completeness.py \
+ file://cgi_py.patch \
+ file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
+ ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
+ file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \
+ file://python-config.patch \
+ file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
+ file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
+ file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
+ file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \
+ file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
+ "
+
+SRC_URI_append_class-native = " \
+ file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
+ file://12-distutils-prefix-is-inside-staging-area.patch \
+ "
+
+SRC_URI[md5sum] = "df6ec36011808205beda239c72f947cb"
+SRC_URI[sha256sum] = "d83fe8ce51b1bb48bbcf0550fd265b9a75cdfdfa93f916f9e700aef8444bf1bb"
+
+# exclude pre-releases for both python 2.x and 3.x
+UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
+
+CVE_PRODUCT = "python"
+
+PYTHON_MAJMIN = "3.7"
+PYTHON_BINABI = "${PYTHON_MAJMIN}m"
+
+S = "${WORKDIR}/Python-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
+
+MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
+
+ALTERNATIVE_${PN}-dev = "python-config"
+ALTERNATIVE_LINK_NAME[python-config] = "${bindir}/python${PYTHON_BINABI}-config"
+ALTERNATIVE_TARGET[python-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"
+
+
+DEPENDS = "bzip2-replacement-native libffi bzip2 gdbm openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2"
+DEPENDS_append_class-target = " python3-native"
+DEPENDS_append_class-nativesdk = " python3-native"
+
+EXTRA_OECONF = " --without-ensurepip --enable-shared"
+EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}"
+
+
+EXTRANATIVEPATH += "python3-native"
+
+CACHED_CONFIGUREVARS = " \
+ ac_cv_file__dev_ptmx=yes \
+ ac_cv_file__dev_ptc=no \
+ ac_cv_working_tzset=yes \
+"
+
+PACKAGECONFIG_class-target ??= "readline ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'pgo', '', d)}"
+PACKAGECONFIG_class-native ??= "readline"
+PACKAGECONFIG_class-nativesdk ??= "readline"
+PACKAGECONFIG[readline] = ",,readline"
+# Use profile guided optimisation by running PyBench inside qemu-user
+PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
+PACKAGECONFIG[tk] = ",,tk"
+
+CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
+
+EXTRA_OEMAKE = '\
+ STAGING_LIBDIR=${STAGING_LIBDIR} \
+ STAGING_INCDIR=${STAGING_INCDIR} \
+ LIB=${baselib} \
+'
+
+do_compile_prepend_class-target() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then
+ qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"
+ cat >pgo-wrapper <<EOF
+#!/bin/sh
+cd ${B}
+$qemu_binary "\$@"
+EOF
+ chmod +x pgo-wrapper
+ fi
+}
+
+do_install_prepend() {
+ ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile
+}
+
+do_install_append_class-target() {
+ oe_multilib_header python${PYTHON_BINABI}/pyconfig.h
+}
+
+do_install_append_class-native() {
+ # Make sure we use /usr/bin/env python
+ for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
+ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
+ done
+ # Add a symlink to the native Python so that scripts can just invoke
+ # "nativepython" and get the right one without needing absolute paths
+ # (these often end up too long for the #! parser in the kernel as the
+ # buffer is 128 bytes long).
+ ln -s python3-native/python3 ${D}${bindir}/nativepython3
+}
+
+do_install_append() {
+ mkdir -p ${D}${libdir}/python-sysconfigdata
+ sysconfigfile=`find ${D} -name _sysconfig*.py`
+ cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
+
+ sed -i \
+ -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \
+ -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
+ -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
+ -e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \
+ -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \
+ ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
+}
+
+SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
+PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
+
+py_package_preprocess () {
+ # Remove references to buildmachine paths in target Makefile and _sysconfigdata
+ sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${HOSTTOOLS_DIR}/::g' \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ -e 's:${RECIPE_SYSROOT}::g' \
+ -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+ ${PKGD}/${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
+ ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \
+ ${PKGD}/${bindir}/python${PYTHON_BINABI}-config
+
+ # Recompile _sysconfigdata after modifying it
+ cd ${PKGD}
+ sysconfigfile=`find . -name _sysconfigdata_*.py`
+ ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
+ -c "from py_compile import compile; compile('$sysconfigfile')"
+ ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
+ -c "from py_compile import compile; compile('$sysconfigfile', optimize=1)"
+ ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
+ -c "from py_compile import compile; compile('$sysconfigfile', optimize=2)"
+ cd -
+
+ mv ${PKGD}/${bindir}/python${PYTHON_BINABI}-config ${PKGD}/${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}
+
+ #Remove the unneeded copy of target sysconfig data
+ rm -rf ${PKGD}/${libdir}/python-sysconfigdata
+}
+
+# We want bytecode precompiled .py files (.pyc's) by default
+# but the user may set it on their own conf
+INCLUDE_PYCS ?= "1"
+
+python(){
+ import collections, json
+
+ filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json')
+ # This python changes the datastore based on the contents of a file, so mark
+ # that dependency.
+ bb.parse.mark_dependency(d, filename)
+
+ with open(filename) as manifest_file:
+ manifest_str = manifest_file.read()
+ json_start = manifest_str.find('# EOC') + 6
+ manifest_file.seek(json_start)
+ manifest_str = manifest_file.read()
+ python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
+
+ # First set RPROVIDES for -native case
+ # Hardcoded since it cant be python3-native-foo, should be python3-foo-native
+ pn = 'python3'
+ rprovides = d.getVar('RPROVIDES').split()
+
+ for key in python_manifest:
+ pypackage = pn + '-' + key + '-native'
+ if pypackage not in rprovides:
+ rprovides.append(pypackage)
+
+ d.setVar('RPROVIDES_class-native', ' '.join(rprovides))
+
+ # Then work on the target
+ include_pycs = d.getVar('INCLUDE_PYCS')
+
+ packages = d.getVar('PACKAGES').split()
+ pn = d.getVar('PN')
+
+ newpackages=[]
+ for key in python_manifest:
+ pypackage= pn + '-' + key
+
+ if pypackage not in packages:
+ # We need to prepend, otherwise python-misc gets everything
+ # so we use a new variable
+ newpackages.append(pypackage)
+
+ # "Build" python's manifest FILES, RDEPENDS and SUMMARY
+ d.setVar('FILES_' + pypackage, '')
+ for value in python_manifest[key]['files']:
+ d.appendVar('FILES_' + pypackage, ' ' + value)
+
+ # Add cached files
+ if include_pycs == '1':
+ for value in python_manifest[key]['cached']:
+ d.appendVar('FILES_' + pypackage, ' ' + value)
+
+ for value in python_manifest[key]['rdepends']:
+ # Make it work with or without $PN
+ if '${PN}' in value:
+ value=value.split('-')[1]
+ d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
+ d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
+
+ # Prepending so to avoid python-misc getting everything
+ packages = newpackages + packages
+ d.setVar('PACKAGES', ' '.join(packages))
+ d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
+}
+
+# Files needed to create a new manifest
+
+do_create_manifest() {
+ # This task should be run with every new release of Python.
+ # We must ensure that PACKAGECONFIG enables everything when creating
+ # a new manifest, this is to base our new manifest on a complete
+ # native python build, containing all dependencies, otherwise the task
+ # wont be able to find the required files.
+ # e.g. BerkeleyDB is an optional build dependency so it may or may not
+ # be present, we must ensure it is.
+
+ cd ${WORKDIR}
+ # This needs to be executed by python-native and NOT by HOST's python
+ nativepython3 create_manifest3.py ${PYTHON_MAJMIN}
+ cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json
+}
+
+# bitbake python -c create_manifest
+addtask do_create_manifest
+
+# Make sure we have native python ready when we create a new manifest
+do_create_manifest[depends] += "${PN}:do_prepare_recipe_sysroot"
+do_create_manifest[depends] += "${PN}:do_patch"
+
+# manual dependency additions
+RPROVIDES_${PN}-modules = "${PN}"
+RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
+RRECOMMENDS_${PN}-crypt_append_class-target = " openssl ca-certificates"
+RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
+
+FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
+FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
+
+# provide python-pyvenv from python3-venv
+RPROVIDES_${PN}-venv += "python3-pyvenv"
+
+# package libpython3
+PACKAGES =+ "libpython3 libpython3-staticdev"
+FILES_libpython3 = "${libdir}/libpython*.so.*"
+FILES_libpython3-staticdev += "${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-*/libpython${PYTHON_BINABI}.a"
+INSANE_SKIP_${PN}-dev += "dev-elf"
+
+# catch all the rest (unsorted)
+PACKAGES += "${PN}-misc"
+RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs"
+RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
+RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
+FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
+
+# catch manpage
+PACKAGES += "${PN}-man"
+FILES_${PN}-man = "${datadir}/man"
+
+RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils"
+RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk', '', d)}"
+RDEPENDS_${PN}-dev = ""
+
diff --git a/poky/meta/recipes-devtools/python/python_2.7.15.bb b/poky/meta/recipes-devtools/python/python_2.7.15.bb
index c22c762d9..c459af06f 100644
--- a/poky/meta/recipes-devtools/python/python_2.7.15.bb
+++ b/poky/meta/recipes-devtools/python/python_2.7.15.bb
@@ -21,7 +21,7 @@ SRC_URI += "\
file://setuptweaks.patch \
file://check-if-target-is-64b-not-host.patch \
file://search_db_h_in_inc_dirs_and_avoid_warning.patch \
- file://avoid_warning_about_tkinter.patch \
+ ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
file://avoid_warning_for_sunos_specific_module.patch \
file://python-2.7.3-remove-bsdb-rpath.patch \
file://run-ptest \
@@ -33,6 +33,7 @@ SRC_URI += "\
file://float-endian.patch \
file://0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch \
file://0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch \
+ file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \
"
S = "${WORKDIR}/Python-${PV}"
@@ -41,10 +42,11 @@ inherit autotools multilib_header python-dir pythonnative ptest
CONFIGUREOPTS += " --with-system-ffi "
-EXTRA_OECONF += "ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no"
+EXTRA_OECONF += "ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no ac_cv_working_tzset=yes"
PACKAGECONFIG ??= "bdb"
PACKAGECONFIG[bdb] = ",,db"
+PACKAGECONFIG[tk] = ",,tk"
do_configure_append() {
rm -f ${S}/Makefile.orig
@@ -129,6 +131,9 @@ do_install() {
if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'bdb', d)}" ]; then
rm -rf ${D}/${libdir}/python${PYTHON_MAJMIN}/bsddb
fi
+
+ # Python 3.x version of 2to3 is now the default
+ mv ${D}/${bindir}/2to3 ${D}/${bindir}/2to3-${PYTHON_MAJMIN}
}
do_install_append_class-nativesdk () {
@@ -171,8 +176,8 @@ FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}"
RDEPENDS_${PN}-modules += "${PN}-misc"
# ptest
-RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip"
-
+RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip tzdata-europe coreutils"
+RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk', '', d)}"
# catch manpage
PACKAGES += "${PN}-man"
FILES_${PN}-man = "${datadir}/man"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
index d86b15517..d9d9da0fa 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Helper utilities needed by the runqemu script"
LICENSE = "GPLv2"
-RDEPENDS_${PN} = "qemu-native"
+RDEPENDS_${PN} = "qemu-system-native"
PR = "r1"
LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999"
@@ -20,5 +20,5 @@ do_install() {
install tunctl ${D}${bindir}/
}
-DEPENDS += "qemu-native"
+DEPENDS += "qemu-system-native"
addtask addto_recipe_sysroot after do_populate_sysroot before do_build
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native.inc b/poky/meta/recipes-devtools/qemu/qemu-native.inc
new file mode 100644
index 000000000..4373ad9e6
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu-native.inc
@@ -0,0 +1,17 @@
+inherit native
+
+require qemu.inc
+
+SRC_URI_append = " \
+ file://0012-fix-libcap-header-issue-on-some-distro.patch \
+ file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \
+ "
+EXTRA_OECONF_append = " --python=python2.7"
+
+EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
+
+LDFLAGS_append = " -fuse-ld=bfd"
+
+do_install_append() {
+ ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
+}
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb
new file mode 100644
index 000000000..c8acff8e1
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb
@@ -0,0 +1,9 @@
+BPN = "qemu"
+
+DEPENDS = "glib-2.0-native zlib-native"
+
+require qemu-native.inc
+
+EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
+
+PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb
new file mode 100644
index 000000000..5bf528bec
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb
@@ -0,0 +1,23 @@
+BPN = "qemu"
+
+require qemu-native.inc
+
+# As some of the files installed by qemu-native and qemu-system-native
+# are the same, we depend on qemu-native to get the full installation set
+# and avoid file clashes
+DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native"
+
+EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
+
+PACKAGECONFIG ??= "fdt alsa kvm"
+
+# Handle distros such as CentOS 5 32-bit that do not have kvm support
+PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
+
+do_install_append() {
+ install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
+
+ # The following is also installed by qemu-native
+ rm -f ${D}${datadir}/qemu/trace-events-all
+ rm -rf ${D}${datadir}/qemu/keymaps
+}
diff --git a/poky/meta/recipes-devtools/qemu/qemu-targets.inc b/poky/meta/recipes-devtools/qemu/qemu-targets.inc
index 810401daa..550d6f0ab 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-targets.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu-targets.inc
@@ -1,6 +1,7 @@
-# possible arch values are arm aarch64 mips mipsel mips64 mips64el ppc ppc64 ppc64abi32
-# ppcemb armeb alpha sparc32plus i386 x86_64 cris m68k microblaze sparc sparc32
-# sparc32plus
+# possible arch values are:
+# aarch64 arm armeb alpha cris i386 x86_64 m68k microblaze
+# mips mipsel mips64 mips64el ppc ppc64 ppc64abi32 ppcemb
+# riscv32 riscv64 sparc sparc32 sparc32plus
def get_qemu_target_list(d):
import bb
@@ -20,3 +21,8 @@ def get_qemu_target_list(d):
return softmmuonly + ''.join([arch + "-softmmu" + "," for arch in archs]).rstrip(',')
return softmmuonly + linuxuseronly + ''.join([arch + "-linux-user" + "," + arch + "-softmmu" + "," for arch in archs]).rstrip(',')
+def get_qemu_usermode_target_list(d):
+ return ",".join(filter(lambda i: "-linux-user" in i, get_qemu_target_list(d).split(',')))
+
+def get_qemu_system_target_list(d):
+ return ",".join(filter(lambda i: "-linux-user" not in i, get_qemu_target_list(d).split(',')))
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index b05c1cee9..e503aa866 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -1,12 +1,66 @@
SUMMARY = "Fast open source processor emulator"
HOMEPAGE = "http://qemu.org"
LICENSE = "GPLv2 & LGPLv2.1"
-DEPENDS = "glib-2.0 zlib pixman"
-RDEPENDS_${PN}_class-target += "bash"
+
+RDEPENDS_${PN}-ptest = "bash make"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
+ file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
+
+SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
+ file://powerpc_rom.bin \
+ file://0001-sdl.c-allow-user-to-disable-pointer-grabs.patch \
+ file://0002-qemu-Add-missing-wacom-HID-descriptor.patch \
+ file://0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
+ file://run-ptest \
+ file://0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
+ file://0005-qemu-disable-Valgrind.patch \
+ file://0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch \
+ file://0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
+ file://0008-chardev-connect-socket-to-a-spawned-command.patch \
+ file://0009-apic-fixup-fallthrough-to-PIC.patch \
+ file://0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
+ file://0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \
+ file://0001-Add-a-missing-X11-include.patch \
+ file://0001-egl-headless-add-egl_create_context.patch \
+ file://0014-fix-CVE-2018-16872.patch \
+ file://0015-fix-CVE-2018-20124.patch \
+ file://0016-fix-CVE-2018-20125.patch \
+ file://0017-fix-CVE-2018-20126.patch \
+ file://0018-fix-CVE-2018-20191.patch \
+ file://0019-fix-CVE-2018-20216.patch \
+ file://CVE-2019-3812.patch \
+ "
+UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
+
+SRC_URI[md5sum] = "fb687ce0b02d3bf4327e36d3b99427a8"
+SRC_URI[sha256sum] = "6a0508df079a0a33c2487ca936a56c12122f105b8a96a44374704bef6c69abfc"
+
+COMPATIBLE_HOST_mipsarchn32 = "null"
+COMPATIBLE_HOST_mipsarchn64 = "null"
+
+do_install_append() {
+ # Prevent QA warnings about installed ${localstatedir}/run
+ if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
+}
+
+do_compile_ptest() {
+ make buildtest-TESTS
+}
+
+do_install_ptest() {
+ cp -rL ${B}/tests ${D}${PTEST_PATH}
+ find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {}
+
+ cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests
+ # Don't check the file genreated by configure
+ sed -i -e '/wildcard config-host.mak/d' \
+ -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include
+}
+
require qemu-targets.inc
-inherit pkgconfig bluetooth
-BBCLASSEXTEND = "native nativesdk"
+inherit pkgconfig bluetooth ptest
# QEMU_TARGETS is overridable variable
QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc riscv32 riscv64 sh4 x86_64"
@@ -25,15 +79,9 @@ EXTRA_OECONF = " \
--with-confsuffix=/${BPN} \
--disable-strip \
--disable-werror \
- --target-list=${@get_qemu_target_list(d)} \
--extra-cflags='${CFLAGS}' \
${PACKAGECONFIG_CONFARGS} \
"
-EXTRA_OECONF_append_class-native = " --python=python2.7"
-
-EXTRA_OEMAKE_append_class-native = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
-
-LDFLAGS_append_class-native = " -fuse-ld=bfd"
export LIBTOOL="${HOST_SYS}-libtool"
@@ -70,19 +118,20 @@ do_install_append() {
}
# END of qemu-mips workaround
-PACKAGECONFIG ??= " \
- fdt sdl kvm \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
-"
-PACKAGECONFIG_class-native ??= "fdt alsa kvm"
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
+make_qemu_wrapper() {
+ gdk_pixbuf_module_file=`pkg-config --variable=gdk_pixbuf_cache_file gdk-pixbuf-2.0`
-# Handle distros such as CentOS 5 32-bit that do not have kvm support
-PACKAGECONFIG_class-native_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
+ for tool in `ls ${D}${bindir}/qemu-system-*`; do
+ create_wrapper $tool \
+ GDK_PIXBUF_MODULE_FILE=$gdk_pixbuf_module_file \
+ FONTCONFIG_PATH=/etc/fonts \
+ GTK_THEME=Adwaita
+ done
+}
-# Disable kvm on targets that do not support it
-PACKAGECONFIG_remove_darwin = "kvm"
-PACKAGECONFIG_remove_mingw32 = "kvm"
+# Disable kvm/virgl/mesa on targets that do not support it
+PACKAGECONFIG_remove_darwin = "kvm virglrenderer glx gtk+"
+PACKAGECONFIG_remove_mingw32 = "kvm virglrenderer glx gtk+"
PACKAGECONFIG[sdl] = "--enable-sdl --with-sdlabi=2.0,--disable-sdl,libsdl2"
PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
@@ -95,7 +144,7 @@ PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng
PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl,"
PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss,"
PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,"
-PACKAGECONFIG[gtk+] = "--enable-gtk --with-gtkabi=3.0 --enable-vte,--disable-gtk --disable-vte,gtk+3 vte"
+PACKAGECONFIG[gtk+] = "--enable-gtk --enable-vte,--disable-gtk --disable-vte,gtk+3 vte gettext-native"
PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng,"
PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2,"
PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt,"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch
new file mode 100644
index 000000000..192936e1e
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch
@@ -0,0 +1,65 @@
+From eb1a215a4f86dde4493c3e22ad9f6d698850915e Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 20 Dec 2018 18:06:29 +0100
+Subject: [PATCH] egl-helpers.h: do not depend on X11 Window type, use
+ EGLNativeWindowType
+
+It was assumed that mesa provides the necessary X11 includes,
+but it is not always the case, as it can be configured without x11 support.
+
+Upstream-Status: Submitted [http://lists.nongnu.org/archive/html/qemu-devel/2019-01/msg03706.html]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ include/ui/egl-helpers.h | 2 +-
+ ui/egl-helpers.c | 4 ++--
+ ui/gtk-egl.c | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/include/ui/egl-helpers.h b/include/ui/egl-helpers.h
+index 9db7293b..3fc656a7 100644
+--- a/include/ui/egl-helpers.h
++++ b/include/ui/egl-helpers.h
+@@ -43,7 +43,7 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf);
+
+ #endif
+
+-EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win);
++EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType win);
+
+ int qemu_egl_init_dpy_x11(EGLNativeDisplayType dpy, DisplayGLMode mode);
+ int qemu_egl_init_dpy_mesa(EGLNativeDisplayType dpy, DisplayGLMode mode);
+diff --git a/ui/egl-helpers.c b/ui/egl-helpers.c
+index 4f475142..5e115b3f 100644
+--- a/ui/egl-helpers.c
++++ b/ui/egl-helpers.c
+@@ -273,14 +273,14 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf)
+
+ /* ---------------------------------------------------------------------- */
+
+-EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win)
++EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType win)
+ {
+ EGLSurface esurface;
+ EGLBoolean b;
+
+ esurface = eglCreateWindowSurface(qemu_egl_display,
+ qemu_egl_config,
+- (EGLNativeWindowType)win, NULL);
++ win, NULL);
+ if (esurface == EGL_NO_SURFACE) {
+ error_report("egl: eglCreateWindowSurface failed");
+ return NULL;
+diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c
+index 5420c236..1f941162 100644
+--- a/ui/gtk-egl.c
++++ b/ui/gtk-egl.c
+@@ -54,7 +54,7 @@ void gd_egl_init(VirtualConsole *vc)
+ }
+
+ vc->gfx.ectx = qemu_egl_init_ctx();
+- vc->gfx.esurface = qemu_egl_init_surface_x11(vc->gfx.ectx, x11_window);
++ vc->gfx.esurface = qemu_egl_init_surface_x11(vc->gfx.ectx, (EGLNativeWindowType)x11_window);
+
+ assert(vc->gfx.esurface);
+ }
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch
new file mode 100644
index 000000000..d9326c017
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch
@@ -0,0 +1,50 @@
+From 952e5d584f5aabe41298c278065fe628f3f7aa7a Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Thu, 29 Nov 2018 13:35:02 +0100
+Subject: [PATCH] egl-headless: add egl_create_context
+
+We must set the correct context (via eglMakeCurrent) before
+calling qemu_egl_create_context, so we need a thin wrapper and can't
+hook qemu_egl_create_context directly as ->dpy_gl_ctx_create callback.
+
+Reported-by: Frederik Carlier <frederik.carlier@quamotion.mobi>
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Message-id: 20181129123502.30129-1-kraxel@redhat.com
+
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=952e5d584f5aabe41298c278065fe628f3f7aa7a]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ ui/egl-headless.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/ui/egl-headless.c b/ui/egl-headless.c
+index 4cf3bbc0e4..519e7bad32 100644
+--- a/ui/egl-headless.c
++++ b/ui/egl-headless.c
+@@ -38,6 +38,14 @@ static void egl_gfx_switch(DisplayChangeListener *dcl,
+ edpy->ds = new_surface;
+ }
+
++static QEMUGLContext egl_create_context(DisplayChangeListener *dcl,
++ QEMUGLParams *params)
++{
++ eglMakeCurrent(qemu_egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE,
++ qemu_egl_rn_ctx);
++ return qemu_egl_create_context(dcl, params);
++}
++
+ static void egl_scanout_disable(DisplayChangeListener *dcl)
+ {
+ egl_dpy *edpy = container_of(dcl, egl_dpy, dcl);
+@@ -150,7 +158,7 @@ static const DisplayChangeListenerOps egl_ops = {
+ .dpy_gfx_update = egl_gfx_update,
+ .dpy_gfx_switch = egl_gfx_switch,
+
+- .dpy_gl_ctx_create = qemu_egl_create_context,
++ .dpy_gl_ctx_create = egl_create_context,
+ .dpy_gl_ctx_destroy = qemu_egl_destroy_context,
+ .dpy_gl_ctx_make_current = qemu_egl_make_context_current,
+ .dpy_gl_ctx_get_current = qemu_egl_get_current_context,
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch
index b8a9206fe..5b9a1f911 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch
@@ -1,4 +1,4 @@
-From 18fb45c34a473c4ba247bb82bcea94b7c3ba493a Mon Sep 17 00:00:00 2001
+From c53ddb5acbee56db6423f369b9f9a9b62501b4af Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Wed, 18 Sep 2013 14:04:54 +0100
Subject: [PATCH] sdl.c: allow user to disable pointer grabs
@@ -21,15 +21,16 @@ the current grabbing behaviour for everyone else.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Eric BĂ©nard <eric@eukrea.com>
+
---
ui/sdl.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/ui/sdl.c b/ui/sdl.c
-index a5fd503c25..ab8d1b1eb1 100644
+index 190b16f5..aa89471d 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
-@@ -68,6 +68,11 @@ static int idle_counter;
+@@ -69,6 +69,11 @@ static int idle_counter;
static const guint16 *keycode_map;
static size_t keycode_maplen;
@@ -41,7 +42,7 @@ index a5fd503c25..ab8d1b1eb1 100644
#define SDL_REFRESH_INTERVAL_BUSY 10
#define SDL_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \
/ SDL_REFRESH_INTERVAL_BUSY + 1)
-@@ -398,14 +403,16 @@ static void sdl_grab_start(void)
+@@ -399,14 +404,16 @@ static void sdl_grab_start(void)
}
} else
sdl_hide_cursor();
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch b/poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch
index 90e4b800b..4de268883 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch
@@ -1,4 +1,4 @@
-From 41603f745caaecdc7c9d760fb7d2df01ccc60128 Mon Sep 17 00:00:00 2001
+From 7ac3c84f28866491c58cc0f52a25a706949c8ef3 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Thu, 27 Nov 2014 14:04:29 +0000
Subject: [PATCH] qemu: Add missing wacom HID descriptor
@@ -13,12 +13,13 @@ Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted
2014/11/27
+
---
hw/usb/dev-wacom.c | 94 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 93 insertions(+), 1 deletion(-)
diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c
-index bf70013059..2f6e129732 100644
+index ac0bc83b..6f9b22d4 100644
--- a/hw/usb/dev-wacom.c
+++ b/hw/usb/dev-wacom.c
@@ -72,6 +72,89 @@ static const USBDescStrings desc_strings = {
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
index 0d43271c4..668fc4680 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
@@ -1,4 +1,4 @@
-From a9a669448ba6f1b295427e271d99f61736fc5189 Mon Sep 17 00:00:00 2001
+From aac8834bfd5b79e724f2593895847b50968a1223 Mon Sep 17 00:00:00 2001
From: Juro Bystricky <juro.bystricky@intel.com>
Date: Thu, 31 Aug 2017 11:06:56 -0700
Subject: [PATCH] Add subpackage -ptest which runs all unit test cases for
@@ -9,15 +9,16 @@ Upstream-Status: Pending
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
+
---
tests/Makefile.include | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tests/Makefile.include b/tests/Makefile.include
-index 3b9a5e31a2..dfbcd728d7 100644
+index fb0b449c..afedabd4 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
-@@ -972,4 +972,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
+@@ -967,4 +967,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
-include $(wildcard tests/*.d)
-include $(wildcard tests/libqos/*.d)
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch
index 5152dcafe..b4d4c587b 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch
@@ -1,4 +1,4 @@
-From dd4404a334a545e9beafa1b1e41b3a8f35ef31a9 Mon Sep 17 00:00:00 2001
+From 3de7a5635093c31dcb960ce9dff27da629b85d4d Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Fri, 28 Mar 2014 17:42:43 +0800
Subject: [PATCH] qemu: Add addition environment space to boot loader
@@ -13,12 +13,13 @@ to only 256 bytes. This patch expands the limit.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
---
hw/mips/mips_malta.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
-index f6513a4fd5..d5efafb1e8 100644
+index c1cf0fe1..decffd2f 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -62,7 +62,7 @@
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch
index 70baf0fb0..f0cf8148e 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch
@@ -1,4 +1,4 @@
-From 4475b3d97371e588540333988a97d7df3ec2c65a Mon Sep 17 00:00:00 2001
+From 32e8a94b6ae664d9b5689e19d495e304c0f41954 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 20 Oct 2015 22:19:08 +0100
Subject: [PATCH] qemu: disable Valgrind
@@ -7,15 +7,16 @@ There isn't an option to enable or disable valgrind support, so disable it to av
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
+
---
configure | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/configure b/configure
-index 0a19b033bc..69e05fb6c0 100755
+index 0a3c6a72..069e0daa 100755
--- a/configure
+++ b/configure
-@@ -4895,15 +4895,6 @@ fi
+@@ -5044,15 +5044,6 @@ fi
# check if we have valgrind/valgrind.h
valgrind_h=no
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch
index a9d798cef..4b2f0137e 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch
@@ -1,4 +1,4 @@
-From c532bcdae8259b0f71723cda331ded4dbb0fa908 Mon Sep 17 00:00:00 2001
+From 02f80ee81681b6307a8032128a07686183662270 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 9 Mar 2016 22:49:02 +0000
Subject: [PATCH] qemu: Limit paths searched during user mode emulation
@@ -19,12 +19,13 @@ paths.
RP
2016/3/9
Upstream-Status: Pending
+
---
util/path.c | 44 ++++++++++++++++++++++----------------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/util/path.c b/util/path.c
-index 7f9fc272fb..a416cd4ac2 100644
+index 7f9fc272..a416cd4a 100644
--- a/util/path.c
+++ b/util/path.c
@@ -15,6 +15,7 @@ struct pathelem
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
index 12456bb5c..4163e5188 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
@@ -1,18 +1,19 @@
-From 2d29d52b6f755758cfca6af0bcfd78091e16a7bc Mon Sep 17 00:00:00 2001
+From 74bce35b71f4733c13e96f96e25956ff943fae20 Mon Sep 17 00:00:00 2001
From: Stephen Arnold <sarnold@vctlabs.com>
Date: Sun, 12 Jun 2016 18:09:56 -0700
Subject: [PATCH] qemu-native: set ld.bfd, fix cflags, and set some environment
Upstream-Status: Pending
+
---
configure | 4 ----
1 file changed, 4 deletions(-)
diff --git a/configure b/configure
-index 69e05fb6c0..12fc3d8bdc 100755
+index 069e0daa..5b97f3c1 100755
--- a/configure
+++ b/configure
-@@ -5413,10 +5413,6 @@ write_c_skeleton
+@@ -5622,10 +5622,6 @@ write_c_skeleton
if test "$gcov" = "yes" ; then
CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch
index 2afe4e937..e5a2d4abc 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch
@@ -1,4 +1,4 @@
-From 20a09bb18907e67565c54fc505a741cbbef53f7f Mon Sep 17 00:00:00 2001
+From 9c1e976290e87a83ab1bfe38eb7ff3521ff0d684 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@xilinx.com>
Date: Thu, 21 Dec 2017 11:35:16 -0800
Subject: [PATCH] chardev: connect socket to a spawned command
@@ -44,6 +44,7 @@ as simple as possible.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+
---
chardev/char-socket.c | 102 ++++++++++++++++++++++++++++++++++++++++++
chardev/char.c | 3 ++
@@ -51,10 +52,10 @@ Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
3 files changed, 110 insertions(+)
diff --git a/chardev/char-socket.c b/chardev/char-socket.c
-index 159e69c3b1..84778cf31a 100644
+index eaa8e8b6..959ed183 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
-@@ -934,6 +934,68 @@ static gboolean socket_reconnect_timeout(gpointer opaque)
+@@ -987,6 +987,68 @@ static gboolean socket_reconnect_timeout(gpointer opaque)
return false;
}
@@ -123,7 +124,7 @@ index 159e69c3b1..84778cf31a 100644
static void qmp_chardev_open_socket(Chardev *chr,
ChardevBackend *backend,
bool *be_opened,
-@@ -941,6 +1003,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
+@@ -994,6 +1056,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
{
SocketChardev *s = SOCKET_CHARDEV(chr);
ChardevSocket *sock = backend->u.socket.data;
@@ -133,7 +134,7 @@ index 159e69c3b1..84778cf31a 100644
bool do_nodelay = sock->has_nodelay ? sock->nodelay : false;
bool is_listen = sock->has_server ? sock->server : true;
bool is_telnet = sock->has_telnet ? sock->telnet : false;
-@@ -1008,6 +1073,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
+@@ -1072,6 +1137,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
s->reconnect_time = reconnect;
}
@@ -145,10 +146,10 @@ index 159e69c3b1..84778cf31a 100644
+ *be_opened = true;
+ } else
+#endif
- /* If reconnect_time is set, will do that in chr_machine_done. */
- if (!s->reconnect_time) {
- if (s->is_listen) {
-@@ -1065,9 +1138,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+ if (s->reconnect_time) {
+ tcp_chr_connect_async(chr);
+ } else {
+@@ -1131,9 +1204,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
const char *port = qemu_opt_get(opts, "port");
const char *fd = qemu_opt_get(opts, "fd");
const char *tls_creds = qemu_opt_get(opts, "tls-creds");
@@ -175,7 +176,7 @@ index 159e69c3b1..84778cf31a 100644
if ((!!path + !!fd + !!host) != 1) {
error_setg(errp,
"Exactly one of 'path', 'fd' or 'host' required");
-@@ -1112,12 +1202,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+@@ -1180,12 +1270,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
sock->reconnect = reconnect;
sock->tls_creds = g_strdup(tls_creds);
@@ -201,10 +202,10 @@ index 159e69c3b1..84778cf31a 100644
addr->type = SOCKET_ADDRESS_LEGACY_KIND_INET;
addr->u.inet.data = g_new(InetSocketAddress, 1);
diff --git a/chardev/char.c b/chardev/char.c
-index 76d866e6fe..9747d51d7c 100644
+index 152dde53..62d5b578 100644
--- a/chardev/char.c
+++ b/chardev/char.c
-@@ -792,6 +792,9 @@ QemuOptsList qemu_chardev_opts = {
+@@ -818,6 +818,9 @@ QemuOptsList qemu_chardev_opts = {
},{
.name = "path",
.type = QEMU_OPT_STRING,
@@ -215,10 +216,10 @@ index 76d866e6fe..9747d51d7c 100644
.name = "host",
.type = QEMU_OPT_STRING,
diff --git a/qapi/char.json b/qapi/char.json
-index ae19dcd1ed..6de0f29bcd 100644
+index 79bac598..97bd161a 100644
--- a/qapi/char.json
+++ b/qapi/char.json
-@@ -241,6 +241,10 @@
+@@ -242,6 +242,10 @@
#
# @addr: socket address to listen on (server=true)
# or connect to (server=false)
@@ -229,7 +230,7 @@ index ae19dcd1ed..6de0f29bcd 100644
# @tls-creds: the ID of the TLS credentials object (since 2.6)
# @server: create server socket (default: true)
# @wait: wait for incoming connection on server
-@@ -258,6 +262,7 @@
+@@ -261,6 +265,7 @@
# Since: 1.4
##
{ 'struct': 'ChardevSocket', 'data': { 'addr' : 'SocketAddressLegacy',
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch
index 5969d9387..1d3a2b5b2 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch
@@ -1,4 +1,4 @@
-From 5046c21efdbc7413cddd5c5dbd9e1d53258d3e8c Mon Sep 17 00:00:00 2001
+From 4829da131996548dc86775b8b97a29c436f3d130 Mon Sep 17 00:00:00 2001
From: Mark Asselstine <mark.asselstine@windriver.com>
Date: Tue, 26 Feb 2013 11:43:28 -0500
Subject: [PATCH] apic: fixup fallthrough to PIC
@@ -24,12 +24,13 @@ serviced, is -1.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html]
Signed-off-by: He Zhe <zhe.he@windriver.com>
+
---
hw/intc/apic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/intc/apic.c b/hw/intc/apic.c
-index 6fda52b86c..cd7291962d 100644
+index 97ffdd82..ef23430e 100644
--- a/hw/intc/apic.c
+++ b/hw/intc/apic.c
@@ -603,7 +603,7 @@ int apic_accept_pic_intr(DeviceState *dev)
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
index e110f6334..c0d7914be 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
@@ -1,4 +1,4 @@
-From 3cd92c7a885e4997ef6843313298c1d748d6ca39 Mon Sep 17 00:00:00 2001
+From bce25c9cda73569963615ffd31ed949cbe3a3781 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@xilinx.com>
Date: Wed, 17 Jan 2018 10:51:49 -0800
Subject: [PATCH] linux-user: Fix webkitgtk hangs on 32-bit x86 target
@@ -13,15 +13,16 @@ to what it was before the problematic commit.
Upstream-Status: Submitted http://lists.gnu.org/archive/html/qemu-devel/2018-01/msg04185.html
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
+
---
linux-user/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/main.c b/linux-user/main.c
-index 8907a84114..ea42c43610 100644
+index 923cbb75..fe0b9ff4 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
-@@ -79,7 +79,7 @@ do { \
+@@ -69,7 +69,7 @@ int have_guest_base;
(TARGET_LONG_BITS == 32 || defined(TARGET_ABI32))
/* There are a number of places where we assign reserved_va to a variable
of type abi_ulong and expect it to fit. Avoid the last page. */
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch b/poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
index 41626eb87..066ea7865 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
@@ -1,4 +1,4 @@
-From 3ed26be2091436296933ed2146f7269c791c7bfe Mon Sep 17 00:00:00 2001
+From 496231774f8bc17ecfaf543a6603e3cad3f3f74e Mon Sep 17 00:00:00 2001
From: Martin Jansa <martin.jansa@lge.com>
Date: Fri, 1 Jun 2018 08:41:07 +0000
Subject: [PATCH] Revert "linux-user: fix mmap/munmap/mprotect/mremap/shmat"
@@ -14,6 +14,7 @@ http://lists.openembedded.org/pipermail/openembedded-core/2018-June/151382.html
This reverts commit ebf9a3630c911d0cfc9c20f7cafe9ba4f88cf583.
Upstream-Status: Pending
+
---
include/exec/cpu-all.h | 6 +-----
include/exec/cpu_ldst.h | 16 +++++++++-------
@@ -22,10 +23,10 @@ Upstream-Status: Pending
4 files changed, 15 insertions(+), 29 deletions(-)
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
-index f4fa94e966..0b141683f0 100644
+index 117d2fbb..90558c14 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
-@@ -159,12 +159,8 @@ extern unsigned long guest_base;
+@@ -163,12 +163,8 @@ extern unsigned long guest_base;
extern int have_guest_base;
extern unsigned long reserved_va;
@@ -40,12 +41,12 @@ index f4fa94e966..0b141683f0 100644
#include "exec/hwaddr.h"
diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
-index 5de8c8a5af..191f2e962a 100644
+index 95906849..ed17b3f6 100644
--- a/include/exec/cpu_ldst.h
+++ b/include/exec/cpu_ldst.h
-@@ -51,13 +51,15 @@
+@@ -62,13 +62,15 @@ typedef uint64_t abi_ptr;
/* All direct uses of g2h and h2g need to go away for usermode softmmu. */
- #define g2h(x) ((void *)((unsigned long)(target_ulong)(x) + guest_base))
+ #define g2h(x) ((void *)((unsigned long)(abi_ptr)(x) + guest_base))
-#define guest_addr_valid(x) ((x) <= GUEST_ADDR_MAX)
-#define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base)
@@ -67,10 +68,10 @@ index 5de8c8a5af..191f2e962a 100644
#define h2g_nocheck(x) ({ \
unsigned long __ret = (unsigned long)(x) - guest_base; \
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index 9168a2051c..de85669aab 100644
+index 41e0983c..d0ee1c53 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
-@@ -80,7 +80,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
+@@ -79,7 +79,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
return -TARGET_EINVAL;
len = TARGET_PAGE_ALIGN(len);
end = start + len;
@@ -79,7 +80,7 @@ index 9168a2051c..de85669aab 100644
return -TARGET_ENOMEM;
}
prot &= PROT_READ | PROT_WRITE | PROT_EXEC;
-@@ -482,8 +482,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
+@@ -490,8 +490,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
* It can fail only on 64-bit host with 32-bit target.
* On any other target/host host mmap() handles this error correctly.
*/
@@ -90,7 +91,7 @@ index 9168a2051c..de85669aab 100644
goto fail;
}
-@@ -623,10 +623,8 @@ int target_munmap(abi_ulong start, abi_ulong len)
+@@ -631,10 +631,8 @@ int target_munmap(abi_ulong start, abi_ulong len)
if (start & ~TARGET_PAGE_MASK)
return -TARGET_EINVAL;
len = TARGET_PAGE_ALIGN(len);
@@ -102,7 +103,7 @@ index 9168a2051c..de85669aab 100644
mmap_lock();
end = start + len;
real_start = start & qemu_host_page_mask;
-@@ -681,13 +679,6 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
+@@ -689,13 +687,6 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
int prot;
void *host_addr;
@@ -117,10 +118,10 @@ index 9168a2051c..de85669aab 100644
if (flags & MREMAP_FIXED) {
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 643b8833de..271f215147 100644
+index 280137da..efdd0006 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -4919,9 +4919,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
+@@ -3818,9 +3818,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
return -TARGET_EINVAL;
}
}
@@ -130,7 +131,7 @@ index 643b8833de..271f215147 100644
mmap_lock();
-@@ -7497,7 +7494,7 @@ static int open_self_maps(void *cpu_env, int fd)
+@@ -6582,7 +6579,7 @@ static int open_self_maps(void *cpu_env, int fd)
}
if (h2g_valid(min)) {
int flags = page_get_flags(h2g(min));
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch b/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch
index aa24f7294..9cbe83881 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch
@@ -1,4 +1,4 @@
-From bb9e48e331eee06d7bac1dce809c70191d1a3b4d Mon Sep 17 00:00:00 2001
+From d3e0b8dac7c2eb20d7fcff747bc98b981f4398ef Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 12 Mar 2013 09:54:06 +0800
Subject: [PATCH] fix libcap header issue on some distro
@@ -54,12 +54,13 @@ http://patchwork.linuxtv.org/patch/12748/
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
fsdev/virtfs-proxy-helper.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c
-index 6f132c5ff1..8329950c26 100644
+index 6f132c5f..8329950c 100644
--- a/fsdev/virtfs-proxy-helper.c
+++ b/fsdev/virtfs-proxy-helper.c
@@ -13,7 +13,6 @@
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
index 8a9141acd..27e508c5a 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
@@ -1,4 +1,4 @@
-From edc8dba74c7a4a2121d76c982be0074183bf080a Mon Sep 17 00:00:00 2001
+From 861c522df7791d7e93743d5641f3ef2a5a3c4632 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
Date: Wed, 12 Aug 2015 15:11:30 -0500
Subject: [PATCH] cpus.c: Add error messages when qemi_cpu_kick_thread fails.
@@ -12,6 +12,7 @@ current cpu information.
Upstream-Status: Inappropriate
Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
+
---
cpus.c | 5 +++++
custom_debug.h | 24 ++++++++++++++++++++++++
@@ -19,10 +20,10 @@ Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
create mode 100644 custom_debug.h
diff --git a/cpus.c b/cpus.c
-index 38eba8bff3..b84a60a4f3 100644
+index 0ddeeefc..4f3a5624 100644
--- a/cpus.c
+++ b/cpus.c
-@@ -1690,6 +1690,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
+@@ -1768,6 +1768,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
return NULL;
}
@@ -31,7 +32,7 @@ index 38eba8bff3..b84a60a4f3 100644
static void qemu_cpu_kick_thread(CPUState *cpu)
{
#ifndef _WIN32
-@@ -1702,6 +1704,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu)
+@@ -1780,6 +1782,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu)
err = pthread_kill(cpu->thread->thread, SIG_IPI);
if (err) {
fprintf(stderr, "qemu:%s: %s", __func__, strerror(err));
@@ -43,7 +44,7 @@ index 38eba8bff3..b84a60a4f3 100644
#else /* _WIN32 */
diff --git a/custom_debug.h b/custom_debug.h
new file mode 100644
-index 0000000000..f029e45547
+index 00000000..f029e455
--- /dev/null
+++ b/custom_debug.h
@@ -0,0 +1,24 @@
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch b/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch
new file mode 100644
index 000000000..412aa1604
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch
@@ -0,0 +1,85 @@
+CVE: CVE-2018-16872
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=bab9df35]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From bab9df35ce73d1c8e19a37e2737717ea1c984dc1 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Thu, 13 Dec 2018 13:25:11 +0100
+Subject: [PATCH] usb-mtp: use O_NOFOLLOW and O_CLOEXEC.
+
+Open files and directories with O_NOFOLLOW to avoid symlinks attacks.
+While being at it also add O_CLOEXEC.
+
+usb-mtp only handles regular files and directories and ignores
+everything else, so users should not see a difference.
+
+Because qemu ignores symlinks, carrying out a successful symlink attack
+requires swapping an existing file or directory below rootdir for a
+symlink and winning the race against the inotify notification to qemu.
+
+Fixes: CVE-2018-16872
+Cc: Prasad J Pandit <ppandit@redhat.com>
+Cc: Bandan Das <bsd@redhat.com>
+Reported-by: Michael Hanselmann <public@hansmi.ch>
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Reviewed-by: Michael Hanselmann <public@hansmi.ch>
+Message-id: 20181213122511.13853-1-kraxel@redhat.com
+---
+ hw/usb/dev-mtp.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
+index 100b7171f4..36c43b8c20 100644
+--- a/hw/usb/dev-mtp.c
++++ b/hw/usb/dev-mtp.c
+@@ -653,13 +653,18 @@ static void usb_mtp_object_readdir(MTPState *s, MTPObject *o)
+ {
+ struct dirent *entry;
+ DIR *dir;
++ int fd;
+
+ if (o->have_children) {
+ return;
+ }
+ o->have_children = true;
+
+- dir = opendir(o->path);
++ fd = open(o->path, O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
++ if (fd < 0) {
++ return;
++ }
++ dir = fdopendir(fd);
+ if (!dir) {
+ return;
+ }
+@@ -1007,7 +1012,7 @@ static MTPData *usb_mtp_get_object(MTPState *s, MTPControl *c,
+
+ trace_usb_mtp_op_get_object(s->dev.addr, o->handle, o->path);
+
+- d->fd = open(o->path, O_RDONLY);
++ d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW);
+ if (d->fd == -1) {
+ usb_mtp_data_free(d);
+ return NULL;
+@@ -1031,7 +1036,7 @@ static MTPData *usb_mtp_get_partial_object(MTPState *s, MTPControl *c,
+ c->argv[1], c->argv[2]);
+
+ d = usb_mtp_data_alloc(c);
+- d->fd = open(o->path, O_RDONLY);
++ d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW);
+ if (d->fd == -1) {
+ usb_mtp_data_free(d);
+ return NULL;
+@@ -1658,7 +1663,7 @@ static void usb_mtp_write_data(MTPState *s)
+ 0, 0, 0, 0);
+ goto done;
+ }
+- d->fd = open(path, O_CREAT | O_WRONLY, mask);
++ d->fd = open(path, O_CREAT | O_WRONLY | O_CLOEXEC | O_NOFOLLOW, mask);
+ if (d->fd == -1) {
+ usb_mtp_queue_result(s, RES_STORE_FULL, d->trans,
+ 0, 0, 0, 0);
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch b/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch
new file mode 100644
index 000000000..985b81940
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch
@@ -0,0 +1,60 @@
+CVE: CVE-2018-20124
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=0e68373]
+
+Backport patch to fix CVE-2018-20124. Update context and stay with current
+function comp_handler() which has been replaced with complete_work() in latest
+git repo.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From 0e68373cc2b3a063ce067bc0cc3edaf370752890 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Thu, 13 Dec 2018 01:00:34 +0530
+Subject: [PATCH] rdma: check num_sge does not exceed MAX_SGE
+
+rdma back-end has scatter/gather array ibv_sge[MAX_SGE=4] set
+to have 4 elements. A guest could send a 'PvrdmaSqWqe' ring element
+with 'num_sge' set to > MAX_SGE, which may lead to OOB access issue.
+Add check to avoid it.
+
+Reported-by: Saar Amar <saaramar5@gmail.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
+Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
+---
+ hw/rdma/rdma_backend.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c
+index d7a4bbd9..7f8028f8 100644
+--- a/hw/rdma/rdma_backend.c
++++ b/hw/rdma/rdma_backend.c
+@@ -311,9 +311,9 @@ void rdma_backend_post_send(RdmaBackendDev *backend_dev,
+ }
+
+ pr_dbg("num_sge=%d\n", num_sge);
+- if (!num_sge) {
+- pr_dbg("num_sge=0\n");
+- comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx);
++ if (!num_sge || num_sge > MAX_SGE) {
++ pr_dbg("invalid num_sge=%d\n", num_sge);
++ comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx);
+ return;
+ }
+
+@@ -390,9 +390,9 @@ void rdma_backend_post_recv(RdmaBackendDev *backend_dev,
+ }
+
+ pr_dbg("num_sge=%d\n", num_sge);
+- if (!num_sge) {
+- pr_dbg("num_sge=0\n");
+- comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx);
++ if (!num_sge || num_sge > MAX_SGE) {
++ pr_dbg("invalid num_sge=%d\n", num_sge);
++ comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx);
+ return;
+ }
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch b/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch
new file mode 100644
index 000000000..56559c838
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch
@@ -0,0 +1,54 @@
+CVE: CVE-2018-20125
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=2c858ce]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From 2c858ce5da8ae6689c75182b73bc455a291cad41 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Thu, 13 Dec 2018 01:00:36 +0530
+Subject: [PATCH] pvrdma: check number of pages when creating rings
+
+When creating CQ/QP rings, an object can have up to
+PVRDMA_MAX_FAST_REG_PAGES 8 pages. Check 'npages' parameter
+to avoid excessive memory allocation or a null dereference.
+
+Reported-by: Li Qiang <liq3ea@163.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
+Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
+---
+ hw/rdma/vmw/pvrdma_cmd.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c
+index 3b94545761..f236ac4795 100644
+--- a/hw/rdma/vmw/pvrdma_cmd.c
++++ b/hw/rdma/vmw/pvrdma_cmd.c
+@@ -259,6 +259,11 @@ static int create_cq_ring(PCIDevice *pci_dev , PvrdmaRing **ring,
+ int rc = -EINVAL;
+ char ring_name[MAX_RING_NAME_SZ];
+
++ if (!nchunks || nchunks > PVRDMA_MAX_FAST_REG_PAGES) {
++ pr_dbg("invalid nchunks: %d\n", nchunks);
++ return rc;
++ }
++
+ pr_dbg("pdir_dma=0x%llx\n", (long long unsigned int)pdir_dma);
+ dir = rdma_pci_dma_map(pci_dev, pdir_dma, TARGET_PAGE_SIZE);
+ if (!dir) {
+@@ -372,6 +377,12 @@ static int create_qp_rings(PCIDevice *pci_dev, uint64_t pdir_dma,
+ char ring_name[MAX_RING_NAME_SZ];
+ uint32_t wqe_sz;
+
++ if (!spages || spages > PVRDMA_MAX_FAST_REG_PAGES
++ || !rpages || rpages > PVRDMA_MAX_FAST_REG_PAGES) {
++ pr_dbg("invalid pages: %d, %d\n", spages, rpages);
++ return rc;
++ }
++
+ pr_dbg("pdir_dma=0x%llx\n", (long long unsigned int)pdir_dma);
+ dir = rdma_pci_dma_map(pci_dev, pdir_dma, TARGET_PAGE_SIZE);
+ if (!dir) {
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch b/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch
new file mode 100644
index 000000000..8329f2cfd
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch
@@ -0,0 +1,113 @@
+CVE: CVE-2018-20126
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=509f57c]
+
+Backport and rebase patch to fix CVE-2018-20126.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From 509f57c98e7536905bb4902363d0cba66ce7e089 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Thu, 13 Dec 2018 01:00:37 +0530
+Subject: [PATCH] pvrdma: release ring object in case of an error
+
+create_cq and create_qp routines allocate ring object, but it's
+not released in case of an error, leading to memory leakage.
+
+Reported-by: Li Qiang <liq3ea@163.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
+Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
+---
+ hw/rdma/vmw/pvrdma_cmd.c | 41 ++++++++++++++++++++++++++++++-----------
+ 1 file changed, 30 insertions(+), 11 deletions(-)
+
+diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c
+index 4faeb21..9b6796f 100644
+--- a/hw/rdma/vmw/pvrdma_cmd.c
++++ b/hw/rdma/vmw/pvrdma_cmd.c
+@@ -310,6 +310,14 @@ out:
+ return rc;
+ }
+
++static void destroy_cq_ring(PvrdmaRing *ring)
++{
++ pvrdma_ring_free(ring);
++ /* ring_state was in slot 1, not 0 so need to jump back */
++ rdma_pci_dma_unmap(ring->dev, --ring->ring_state, TARGET_PAGE_SIZE);
++ g_free(ring);
++}
++
+ static int create_cq(PVRDMADev *dev, union pvrdma_cmd_req *req,
+ union pvrdma_cmd_resp *rsp)
+ {
+@@ -333,6 +341,10 @@ static int create_cq(PVRDMADev *dev, union pvrdma_cmd_req *req,
+
+ resp->hdr.err = rdma_rm_alloc_cq(&dev->rdma_dev_res, &dev->backend_dev,
+ cmd->cqe, &resp->cq_handle, ring);
++ if (resp->hdr.err) {
++ destroy_cq_ring(ring);
++ }
++
+ resp->cqe = cmd->cqe;
+
+ out:
+@@ -356,10 +368,7 @@ static int destroy_cq(PVRDMADev *dev, union pvrdma_cmd_req *req,
+ }
+
+ ring = (PvrdmaRing *)cq->opaque;
+- pvrdma_ring_free(ring);
+- /* ring_state was in slot 1, not 0 so need to jump back */
+- rdma_pci_dma_unmap(PCI_DEVICE(dev), --ring->ring_state, TARGET_PAGE_SIZE);
+- g_free(ring);
++ destroy_cq_ring(ring);
+
+ rdma_rm_dealloc_cq(&dev->rdma_dev_res, cmd->cq_handle);
+
+@@ -451,6 +460,17 @@ out:
+ return rc;
+ }
+
++static void destroy_qp_rings(PvrdmaRing *ring)
++{
++ pr_dbg("sring=%p\n", &ring[0]);
++ pvrdma_ring_free(&ring[0]);
++ pr_dbg("rring=%p\n", &ring[1]);
++ pvrdma_ring_free(&ring[1]);
++
++ rdma_pci_dma_unmap(ring->dev, ring->ring_state, TARGET_PAGE_SIZE);
++ g_free(ring);
++}
++
+ static int create_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
+ union pvrdma_cmd_resp *rsp)
+ {
+@@ -482,6 +502,11 @@ static int create_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
+ cmd->max_recv_wr, cmd->max_recv_sge,
+ cmd->recv_cq_handle, rings, &resp->qpn);
+
++ if (resp->hdr.err) {
++ destroy_qp_rings(rings);
++ return resp->hdr.err;
++ }
++
+ resp->max_send_wr = cmd->max_send_wr;
+ resp->max_recv_wr = cmd->max_recv_wr;
+ resp->max_send_sge = cmd->max_send_sge;
+@@ -555,13 +580,7 @@ static int destroy_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
+ rdma_rm_dealloc_qp(&dev->rdma_dev_res, cmd->qp_handle);
+
+ ring = (PvrdmaRing *)qp->opaque;
+- pr_dbg("sring=%p\n", &ring[0]);
+- pvrdma_ring_free(&ring[0]);
+- pr_dbg("rring=%p\n", &ring[1]);
+- pvrdma_ring_free(&ring[1]);
+-
+- rdma_pci_dma_unmap(PCI_DEVICE(dev), ring->ring_state, TARGET_PAGE_SIZE);
+- g_free(ring);
++ destroy_qp_rings(ring);
+
+ return 0;
+ }
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch b/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch
new file mode 100644
index 000000000..8f8ff0567
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch
@@ -0,0 +1,47 @@
+CVE: CVE-2018-20191
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=2aa8645]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From 2aa86456fb938a11f2b7bd57c8643c213218681c Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Thu, 13 Dec 2018 01:00:35 +0530
+Subject: [PATCH] pvrdma: add uar_read routine
+
+Define skeleton 'uar_read' routine. Avoid NULL dereference.
+
+Reported-by: Li Qiang <liq3ea@163.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
+Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
+---
+ hw/rdma/vmw/pvrdma_main.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c
+index 64de16fb52..838ad8a949 100644
+--- a/hw/rdma/vmw/pvrdma_main.c
++++ b/hw/rdma/vmw/pvrdma_main.c
+@@ -448,6 +448,11 @@ static const MemoryRegionOps regs_ops = {
+ },
+ };
+
++static uint64_t uar_read(void *opaque, hwaddr addr, unsigned size)
++{
++ return 0xffffffff;
++}
++
+ static void uar_write(void *opaque, hwaddr addr, uint64_t val, unsigned size)
+ {
+ PVRDMADev *dev = opaque;
+@@ -489,6 +494,7 @@ static void uar_write(void *opaque, hwaddr addr, uint64_t val, unsigned size)
+ }
+
+ static const MemoryRegionOps uar_ops = {
++ .read = uar_read,
+ .write = uar_write,
+ .endianness = DEVICE_LITTLE_ENDIAN,
+ .impl = {
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch b/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch
new file mode 100644
index 000000000..c02bad3bb
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch
@@ -0,0 +1,85 @@
+CVE: CVE-2018-20216
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=f1e2e38]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From f1e2e38ee0136b7710a2caa347049818afd57a1b Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Thu, 13 Dec 2018 01:00:39 +0530
+Subject: [PATCH] pvrdma: check return value from pvrdma_idx_ring_has_ routines
+
+pvrdma_idx_ring_has_[data/space] routines also return invalid
+index PVRDMA_INVALID_IDX[=-1], if ring has no data/space. Check
+return value from these routines to avoid plausible infinite loops.
+
+Reported-by: Li Qiang <liq3ea@163.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
+Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
+---
+ hw/rdma/vmw/pvrdma_dev_ring.c | 29 +++++++++++------------------
+ 1 file changed, 11 insertions(+), 18 deletions(-)
+
+diff --git a/hw/rdma/vmw/pvrdma_dev_ring.c b/hw/rdma/vmw/pvrdma_dev_ring.c
+index 01247fc041..e8e5b502f6 100644
+--- a/hw/rdma/vmw/pvrdma_dev_ring.c
++++ b/hw/rdma/vmw/pvrdma_dev_ring.c
+@@ -73,23 +73,16 @@ out:
+
+ void *pvrdma_ring_next_elem_read(PvrdmaRing *ring)
+ {
++ int e;
+ unsigned int idx = 0, offset;
+
+- /*
+- pr_dbg("%s: t=%d, h=%d\n", ring->name, ring->ring_state->prod_tail,
+- ring->ring_state->cons_head);
+- */
+-
+- if (!pvrdma_idx_ring_has_data(ring->ring_state, ring->max_elems, &idx)) {
++ e = pvrdma_idx_ring_has_data(ring->ring_state, ring->max_elems, &idx);
++ if (e <= 0) {
+ pr_dbg("No more data in ring\n");
+ return NULL;
+ }
+
+ offset = idx * ring->elem_sz;
+- /*
+- pr_dbg("idx=%d\n", idx);
+- pr_dbg("offset=%d\n", offset);
+- */
+ return ring->pages[offset / TARGET_PAGE_SIZE] + (offset % TARGET_PAGE_SIZE);
+ }
+
+@@ -105,20 +98,20 @@ void pvrdma_ring_read_inc(PvrdmaRing *ring)
+
+ void *pvrdma_ring_next_elem_write(PvrdmaRing *ring)
+ {
+- unsigned int idx, offset, tail;
++ int idx;
++ unsigned int offset, tail;
+
+- /*
+- pr_dbg("%s: t=%d, h=%d\n", ring->name, ring->ring_state->prod_tail,
+- ring->ring_state->cons_head);
+- */
+-
+- if (!pvrdma_idx_ring_has_space(ring->ring_state, ring->max_elems, &tail)) {
++ idx = pvrdma_idx_ring_has_space(ring->ring_state, ring->max_elems, &tail);
++ if (idx <= 0) {
+ pr_dbg("CQ is full\n");
+ return NULL;
+ }
+
+ idx = pvrdma_idx(&ring->ring_state->prod_tail, ring->max_elems);
+- /* TODO: tail == idx */
++ if (idx < 0 || tail != idx) {
++ pr_dbg("invalid idx\n");
++ return NULL;
++ }
+
+ offset = idx * ring->elem_sz;
+ return ring->pages[offset / TARGET_PAGE_SIZE] + (offset % TARGET_PAGE_SIZE);
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-10839.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-10839.patch
deleted file mode 100644
index 7e1e442a4..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-10839.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From fdc89e90fac40c5ca2686733df17b6423fb8d8fb Mon Sep 17 00:00:00 2001
-From: Jason Wang <jasowang@redhat.com>
-Date: Wed, 30 May 2018 13:08:15 +0800
-Subject: [PATCH] ne2000: fix possible out of bound access in ne2000_receive
-
-In ne2000_receive(), we try to assign size_ to size which converts
-from size_t to integer. This will cause troubles when size_ is greater
-INT_MAX, this will lead a negative value in size and it can then pass
-the check of size < MIN_BUF_SIZE which may lead out of bound access of
-for both buf and buf1.
-
-Fixing by converting the type of size to size_t.
-
-CC: qemu-stable@nongnu.org
-Reported-by: Daniel Shapira <daniel@twistlock.com>
-Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
-Signed-off-by: Jason Wang <jasowang@redhat.com>
-
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commitdiff
-;h=fdc89e90fac40c5ca2686733df17b6423fb8d8fb#patch1]
-
-CVE: CVE-2018-10839
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- hw/net/ne2000.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
-index 07d79e3..869518e 100644
---- a/hw/net/ne2000.c
-+++ b/hw/net/ne2000.c
-@@ -174,7 +174,7 @@ static int ne2000_buffer_full(NE2000State *s)
- ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
- {
- NE2000State *s = qemu_get_nic_opaque(nc);
-- int size = size_;
-+ size_t size = size_;
- uint8_t *p;
- unsigned int total_len, next, avail, len, index, mcast_idx;
- uint8_t buf1[60];
-@@ -182,7 +182,7 @@ ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
- { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-
- #if defined(DEBUG_NE2000)
-- printf("NE2000: received len=%d\n", size);
-+ printf("NE2000: received len=%zu\n", size);
- #endif
-
- if (s->cmd & E8390_STOP || ne2000_buffer_full(s))
---
-1.8.3.1
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-15746.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-15746.patch
deleted file mode 100644
index 2f61ea005..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-15746.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 9acf4c64dd4560bd268006d7356c7455fab7e5b1 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 6 Sep 2018 14:52:12 +0800
-Subject: [PATCH] seccomp: set the seccomp filter to all threads
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When using "-seccomp on", the seccomp policy is only applied to the
-main thread, the vcpu worker thread and other worker threads created
-after seccomp policy is applied; the seccomp policy is not applied to
-e.g. the RCU thread because it is created before the seccomp policy is
-applied and SECCOMP_FILTER_FLAG_TSYNC isn't used.
-
-This can be verified with
-for task in /proc/`pidof qemu`/task/*; do cat $task/status | grep Secc ; done
-Seccomp: 2
-Seccomp: 0
-Seccomp: 0
-Seccomp: 2
-Seccomp: 2
-Seccomp: 2
-
-Starting with libseccomp 2.2.0 and kernel >= 3.17, we can use
-seccomp_attr_set(ctx, > SCMP_FLTATR_CTL_TSYNC, 1) to update the policy
-on all threads.
-
-libseccomp requirement was bumped to 2.2.0 in previous patch.
-libseccomp should fail to set the filter if it can't honour
-SCMP_FLTATR_CTL_TSYNC (untested), and thus -sandbox will now fail on
-kernel < 3.17.
-
-Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-Acked-by: Eduardo Otubo <otubo@redhat.com>
-
-Upstream-Status: Backport[https://github.com/qemu/qemu/commit/
-70dfabeaa79ba4d7a3b699abe1a047c8012db114#diff-18106d3b47a2d249f9d41e772b7db22d]
-
-CVE: CVE-2018-15746
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- qemu-seccomp.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/qemu-seccomp.c b/qemu-seccomp.c
-index 9cd8eb9..ba5500a 100644
---- a/qemu-seccomp.c
-+++ b/qemu-seccomp.c
-@@ -120,6 +120,11 @@ static int seccomp_start(uint32_t seccomp_opts)
- goto seccomp_return;
- }
-
-+ rc = seccomp_attr_set(ctx, SCMP_FLTATR_CTL_TSYNC, 1);
-+ if (rc != 0) {
-+ goto seccomp_return;
-+ }
-+
- for (i = 0; i < ARRAY_SIZE(blacklist); i++) {
- if (!(seccomp_opts & blacklist[i].set)) {
- continue;
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17958.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17958.patch
deleted file mode 100644
index af40ff275..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17958.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 06e88ca78d056ea4de885e3a1496805179dc47bc Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 15 Oct 2018 16:33:04 +0800
-Subject: [PATCH] ne2000: fix possible out of bound access in ne2000_receive
-
-In ne2000_receive(), we try to assign size_ to size which converts
-from size_t to integer. This will cause troubles when size_ is greater
-INT_MAX, this will lead a negative value in size and it can then pass
-the check of size < MIN_BUF_SIZE which may lead out of bound access of
-for both buf and buf1.
-
-Fixing by converting the type of size to size_t.
-
-CC: address@hidden
-Reported-by: Daniel Shapira <address@hidden>
-Reviewed-by: Michael S. Tsirkin <address@hidden>
-Signed-off-by: Jason Wang <address@hidden>
-
-Upstream-Status: Backport [https://lists.gnu.org/archive/html/qemu-devel/2018-09/msg03273.html]
-
-CVE: CVE-2018-17958
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- hw/net/ne2000.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
-index 07d79e3..869518e 100644
---- a/hw/net/ne2000.c
-+++ b/hw/net/ne2000.c
-@@ -174,7 +174,7 @@ static int ne2000_buffer_full(NE2000State *s)
- ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
- {
- NE2000State *s = qemu_get_nic_opaque(nc);
-- int size = size_;
-+ size_t size = size_;
- uint8_t *p;
- unsigned int total_len, next, avail, len, index, mcast_idx;
- uint8_t buf1[60];
-@@ -182,7 +182,7 @@ ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
- { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-
- #if defined(DEBUG_NE2000)
-- printf("NE2000: received len=%d\n", size);
-+ printf("NE2000: received len=%zu\n", size);
- #endif
-
- if (s->cmd & E8390_STOP || ne2000_buffer_full(s))
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17962.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17962.patch
deleted file mode 100644
index 88bfd811e..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17962.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 20abe443ad9464b18ac494f71f7d53f19ee3748f Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 15 Oct 2018 16:38:08 +0800
-Subject: [PATCH] rtl8139: fix possible out of bound access
-
-In rtl8139_do_receive(), we try to assign size_ to size which converts
-from size_t to integer. This will cause troubles when size_ is greater
-INT_MAX, this will lead a negative value in size and it can then pass
-the check of size < MIN_BUF_SIZE which may lead out of bound access of
-for both buf and buf1.
-
-Fixing by converting the type of size to size_t.
-
-CC: address@hidden
-Reported-by: Daniel Shapira <address@hidden>
-Reviewed-by: Michael S. Tsirkin <address@hidden>
-Signed-off-by: Jason Wang <address@hidden>
-
-Upstream-Status: Backport [https://lists.gnu.org/archive/html/qemu-devel/2018-09/msg03269.html]
-
-CVE: CVE-2018-17962
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- hw/net/rtl8139.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
-index 46daa16..2342a09 100644
---- a/hw/net/rtl8139.c
-+++ b/hw/net/rtl8139.c
-@@ -817,7 +817,7 @@ static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf, size_t
- RTL8139State *s = qemu_get_nic_opaque(nc);
- PCIDevice *d = PCI_DEVICE(s);
- /* size is the length of the buffer passed to the driver */
-- int size = size_;
-+ size_t size = size_;
- const uint8_t *dot1q_buf = NULL;
-
- uint32_t packet_header = 0;
-@@ -826,7 +826,7 @@ static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf, size_t
- static const uint8_t broadcast_macaddr[6] =
- { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-
-- DPRINTF(">>> received len=%d\n", size);
-+ DPRINTF(">>> received len=%zu\n", size);
-
- /* test if board clock is stopped */
- if (!s->clock_enabled)
-@@ -1035,7 +1035,7 @@ static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf, size_t
-
- if (size+4 > rx_space)
- {
-- DPRINTF("C+ Rx mode : descriptor %d size %d received %d + 4\n",
-+ DPRINTF("C+ Rx mode : descriptor %d size %d received %zu + 4\n",
- descriptor, rx_space, size);
-
- s->IntrStatus |= RxOverflow;
-@@ -1148,7 +1148,7 @@ static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf, size_t
- if (avail != 0 && RX_ALIGN(size + 8) >= avail)
- {
- DPRINTF("rx overflow: rx buffer length %d head 0x%04x "
-- "read 0x%04x === available 0x%04x need 0x%04x\n",
-+ "read 0x%04x === available 0x%04x need 0x%04zx\n",
- s->RxBufferSize, s->RxBufAddr, s->RxBufPtr, avail, size + 8);
-
- s->IntrStatus |= RxOverflow;
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17963.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17963.patch
deleted file mode 100644
index 054cdc867..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2018-17963.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e5ff72a8005dd1d9c0f63f8a9cc4298df5bb7551 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 15 Oct 2018 16:39:46 +0800
-Subject: [PATCH] pcnet: fix possible buffer overflow
-
-In pcnet_receive(), we try to assign size_ to size which converts from
-size_t to integer. This will cause troubles when size_ is greater
-INT_MAX, this will lead a negative value in size and it can then pass
-the check of size < MIN_BUF_SIZE which may lead out of bound access
-for both buf and buf1.
-
-Fixing by converting the type of size to size_t.
-
-CC: address@hidden
-Reported-by: Daniel Shapira <address@hidden>
-Reviewed-by: Michael S. Tsirkin <address@hidden>
-Signed-off-by: Jason Wang <address@hidden>
-
-Upstream-Status: Backport [https://lists.gnu.org/archive/html/qemu-devel/2018-09/msg03268.html]
-
-CVE: CVE-2018-17963
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- hw/net/pcnet.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
-index 0c44554..d9ba04b 100644
---- a/hw/net/pcnet.c
-+++ b/hw/net/pcnet.c
-@@ -988,14 +988,14 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
- uint8_t buf1[60];
- int remaining;
- int crc_err = 0;
-- int size = size_;
-+ size_t size = size_;
-
- if (CSR_DRX(s) || CSR_STOP(s) || CSR_SPND(s) || !size ||
- (CSR_LOOP(s) && !s->looptest)) {
- return -1;
- }
- #ifdef PCNET_DEBUG
-- printf("pcnet_receive size=%d\n", size);
-+ printf("pcnet_receive size=%zu\n", size);
- #endif
-
- /* if too small buffer, then expand it */
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch
new file mode 100644
index 000000000..7de5882b3
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch
@@ -0,0 +1,39 @@
+QEMU, through version 2.10 and through version 3.1.0, is vulnerable to an
+out-of-bounds read of up to 128 bytes in the hw/i2c/i2c-ddc.c:i2c_ddc()
+function. A local attacker with permission to execute i2c commands could exploit
+this to read stack memory of the qemu process on the host.
+
+CVE: CVE-2019-3812
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From b05b267840515730dbf6753495d5b7bd8b04ad1c Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Tue, 8 Jan 2019 11:23:01 +0100
+Subject: [PATCH] i2c-ddc: fix oob read
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Suggested-by: Michael Hanselmann <public@hansmi.ch>
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Reviewed-by: Michael Hanselmann <public@hansmi.ch>
+Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Message-id: 20190108102301.1957-1-kraxel@redhat.com
+---
+ hw/i2c/i2c-ddc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hw/i2c/i2c-ddc.c b/hw/i2c/i2c-ddc.c
+index be34fe072cf..0a0367ff38f 100644
+--- a/hw/i2c/i2c-ddc.c
++++ b/hw/i2c/i2c-ddc.c
+@@ -56,7 +56,7 @@ static int i2c_ddc_rx(I2CSlave *i2c)
+ I2CDDCState *s = I2CDDC(i2c);
+
+ int value;
+- value = s->edid_blob[s->reg];
++ value = s->edid_blob[s->reg % sizeof(s->edid_blob)];
+ s->reg++;
+ return value;
+ }
diff --git a/poky/meta/recipes-devtools/qemu/qemu_3.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu_3.0.0.bb
deleted file mode 100644
index 776548b05..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu_3.0.0.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-require qemu.inc
-
-inherit ptest
-
-RDEPENDS_${PN}-ptest = "bash make"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
- file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
-
-SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
- file://powerpc_rom.bin \
- file://0001-sdl.c-allow-user-to-disable-pointer-grabs.patch \
- file://0002-qemu-Add-missing-wacom-HID-descriptor.patch \
- file://0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
- file://run-ptest \
- file://0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
- file://0005-qemu-disable-Valgrind.patch \
- file://0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch \
- file://0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
- file://0008-chardev-connect-socket-to-a-spawned-command.patch \
- file://0009-apic-fixup-fallthrough-to-PIC.patch \
- file://0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
- file://0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \
- file://CVE-2018-15746.patch \
- file://CVE-2018-17958.patch \
- file://CVE-2018-17962.patch \
- file://CVE-2018-17963.patch \
- "
-UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
-
-SRC_URI_append_class-native = " \
- file://0012-fix-libcap-header-issue-on-some-distro.patch \
- file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \
- "
-
-SRC_URI[md5sum] = "6a5c8df583406ea24ef25b239c3243e0"
-SRC_URI[sha256sum] = "8d7af64fe8bd5ea5c3bdf17131a8b858491bcce1ee3839425a6d91fb821b5713"
-
-COMPATIBLE_HOST_mipsarchn32 = "null"
-COMPATIBLE_HOST_mipsarchn64 = "null"
-
-do_install_append() {
- # Prevent QA warnings about installed ${localstatedir}/run
- if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
- install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
-}
-
-do_compile_ptest() {
- make buildtest-TESTS
-}
-
-do_install_ptest() {
- cp -rL ${B}/tests ${D}${PTEST_PATH}
- find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {}
-
- cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests
- # Don't check the file genreated by configure
- sed -i -e '/wildcard config-host.mak/d' \
- -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include
-}
diff --git a/poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb
new file mode 100644
index 000000000..04d8bee99
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb
@@ -0,0 +1,22 @@
+BBCLASSEXTEND = "nativesdk"
+
+require qemu.inc
+
+DEPENDS = "glib-2.0 zlib pixman"
+
+RDEPENDS_${PN}_class-target += "bash"
+
+EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
+
+do_install_append_class-nativesdk() {
+ ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
+}
+
+PACKAGECONFIG ??= " \
+ fdt sdl kvm \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
+"
+PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
+
+
diff --git a/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb b/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb
index 4aada5232..a0448a180 100644
--- a/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb
@@ -20,8 +20,9 @@ do_install () {
#!/bin/sh
set -x
-if [ ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d)} = False ]; then
- echo "qemuwrapper: qemu usermode is not supported"
+if [ ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d)} = False -a "${PN}" != "nativesdk-qemuwrapper-cross" ]; then
+ echo "qemuwrapper: qemu usermode is not supported"
+ exit 1
fi
diff --git a/poky/meta/recipes-devtools/quilt/quilt-native.inc b/poky/meta/recipes-devtools/quilt/quilt-native.inc
deleted file mode 100644
index c7067042e..000000000
--- a/poky/meta/recipes-devtools/quilt/quilt-native.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-RDEPENDS_${PN} = "diffstat-native patch-native bzip2-native util-linux-native"
-
-INHIBIT_AUTOTOOLS_DEPS = "1"
-
-inherit native
-
-PATCHTOOL = "patch"
-EXTRA_OECONF_append = " --disable-nls"
-
-do_configure () {
- oe_runconf
-}
-
-do_install_append () {
- # Dummy quiltrc file for patch.bbclass
- install -d ${D}${sysconfdir}/
- touch ${D}${sysconfdir}/quiltrc
-}
diff --git a/poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb b/poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb
index 6bc7dcdb7..22374425f 100644
--- a/poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb
+++ b/poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb
@@ -1,2 +1,2 @@
require quilt.inc
-require quilt-native.inc
+inherit native
diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc
index 48ed9babf..150df3d57 100644
--- a/poky/meta/recipes-devtools/quilt/quilt.inc
+++ b/poky/meta/recipes-devtools/quilt/quilt.inc
@@ -11,14 +11,21 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \
file://0001-tests-Allow-different-output-from-mv.patch \
"
+SRC_URI_append_class-target = " file://gnu_patch_test_fix_target.patch"
+
SRC_URI[md5sum] = "c67ba0228f5b7b8bbe469474661f92d6"
SRC_URI[sha256sum] = "f6cbc788e5cbbb381a3c6eab5b9efce67c776a8662a7795c7432fd27aa096819"
inherit autotools-brokensep ptest
+INHIBIT_AUTOTOOLS_DEPS_class-native = "1"
+PATCHTOOL_class-native = "patch"
+
CLEANBROKEN = "1"
EXTRA_OECONF = "--with-perl='${USRBINPATH}/env perl' --with-patch=patch"
+EXTRA_OECONF_append_class-native = " --disable-nls"
+EXTRA_AUTORECONF += "--exclude=aclocal"
CACHED_CONFIGUREVARS += "ac_cv_path_BASH=/bin/bash"
@@ -33,6 +40,10 @@ do_configure_append () {
sed -e 's,^COMPAT_SYMLINKS.*:=.*,COMPAT_SYMLINKS :=,' -i ${S}/Makefile
}
+do_configure_class-native () {
+ oe_runconf
+}
+
# quilt Makefiles install to BUILD_ROOT instead of DESTDIR
do_install () {
oe_runmake 'BUILD_ROOT=${D}' install
@@ -40,6 +51,12 @@ do_install () {
rm -rf ${D}/${datadir}/emacs
}
+do_install_append_class-native () {
+ # Dummy quiltrc file for patch.bbclass
+ install -d ${D}${sysconfdir}/
+ touch ${D}${sysconfdir}/quiltrc
+}
+
do_compile_ptest() {
oe_runmake bin/patch-wrapper test/.depend
}
@@ -61,7 +78,9 @@ FILES_guards = "${bindir}/guards"
FILES_${PN}-doc = "${mandir}/man1/quilt.1 ${docdir}/${BPN}"
FILES_guards-doc = "${mandir}/man1/guards.1"
-RDEPENDS_${PN} = "bash"
+RDEPENDS_${PN} = "bash patch diffstat bzip2 util-linux"
+RDEPENDS_${PN}_class-native = "diffstat-native patch-native bzip2-native"
+
RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \
perl-module-filehandle perl-module-getopt-std \
perl-module-posix perl-module-file-temp \
diff --git a/poky/meta/recipes-devtools/quilt/quilt_0.65.bb b/poky/meta/recipes-devtools/quilt/quilt_0.65.bb
index 5bf818d0b..ff9726576 100644
--- a/poky/meta/recipes-devtools/quilt/quilt_0.65.bb
+++ b/poky/meta/recipes-devtools/quilt/quilt_0.65.bb
@@ -1,8 +1,2 @@
require quilt.inc
inherit gettext
-
-SRC_URI += "file://gnu_patch_test_fix_target.patch"
-
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-RDEPENDS_${PN} += "patch diffstat bzip2 util-linux"
diff --git a/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch b/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch
new file mode 100644
index 000000000..43e9859ef
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch
@@ -0,0 +1,55 @@
+From 989e425d416474c191b020d0825895e3df4bd033 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 10 Jan 2019 18:14:18 +0100
+Subject: [PATCH] rpmscript.c: change logging level around scriptlets to INFO
+ from DEBUG
+
+That way we can debug scriptlet failures without writing lots of
+irrelevant noise to rootfs logs.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ lib/rpmscript.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/rpmscript.c b/lib/rpmscript.c
+index 2b0e43862..e319673f1 100644
+--- a/lib/rpmscript.c
++++ b/lib/rpmscript.c
+@@ -226,7 +226,7 @@ static char * writeScript(const char *cmd, const char *script)
+ if (Ferror(fd))
+ goto exit;
+
+- if (rpmIsDebug() && (rstreq(cmd, "/bin/sh") || rstreq(cmd, "/bin/bash"))) {
++ if (rpmIsVerbose() && (rstreq(cmd, "/bin/sh") || rstreq(cmd, "/bin/bash"))) {
+ static const char set_x[] = "set -x\n";
+ /* Assume failures will be caught by the write below */
+ Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd);
+@@ -258,7 +258,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
+ char *mline = NULL;
+ rpmRC rc = RPMRC_FAIL;
+
+- rpmlog(RPMLOG_DEBUG, "%s: scriptlet start\n", sname);
++ rpmlog(RPMLOG_INFO, "%s: scriptlet start\n", sname);
+
+ if (script) {
+ fn = writeScript(*argvp[0], script);
+@@ -310,7 +310,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
+ sname, strerror(errno));
+ goto exit;
+ } else if (pid == 0) {/* Child */
+- rpmlog(RPMLOG_DEBUG, "%s: execv(%s) pid %d\n",
++ rpmlog(RPMLOG_INFO, "%s: execv(%s) pid %d\n",
+ sname, *argvp[0], (unsigned)getpid());
+
+ fclose(in);
+@@ -353,7 +353,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
+ reaped = waitpid(pid, &status, 0);
+ } while (reaped == -1 && errno == EINTR);
+
+- rpmlog(RPMLOG_DEBUG, "%s: waitpid(%d) rc %d status %x\n",
++ rpmlog(RPMLOG_INFO, "%s: waitpid(%d) rc %d status %x\n",
+ sname, (unsigned)pid, (unsigned)reaped, status);
+
+ if (reaped < 0) {
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb
new file mode 100644
index 000000000..063f4269a
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb
@@ -0,0 +1,152 @@
+SUMMARY = "The RPM package management system"
+DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \
+package management system capable of installing, uninstalling, \
+verifying, querying, and updating software packages. Each software \
+package consists of an archive of files along with information about \
+the package like its version, a description, etc."
+
+SUMMARY_${PN}-dev = "Development files for manipulating RPM packages"
+DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \
+development files will simplify the process of writing programs that \
+manipulate RPM packages and databases. These files are intended to \
+simplify the process of creating graphical package managers or any \
+other tools that need an intimate knowledge of RPM packages in order \
+to function."
+
+SUMMARY_python3-rpm = "Python bindings for apps which will manupulate RPM packages"
+DESCRIPTION_python3-rpm = "The python3-rpm package contains a module that permits applications \
+written in the Python programming language to use the interface \
+supplied by the RPM Package Manager libraries."
+
+HOMEPAGE = "http://www.rpm.org"
+
+# libraries are also LGPL - how to express this?
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
+
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
+ file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
+ file://0001-Do-not-read-config-files-from-HOME.patch \
+ file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
+ file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \
+ file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \
+ file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \
+ file://0001-Fix-build-with-musl-C-library.patch \
+ file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
+ file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
+ file://0001-Split-binary-package-building-into-a-separate-functi.patch \
+ file://0002-Run-binary-package-creation-via-thread-pools.patch \
+ file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
+ file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
+ file://0001-perl-disable-auto-reqs.patch \
+ file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
+ file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
+ "
+
+PE = "1"
+SRCREV = "4a9440006398646583f0d9ae1837dad2875013aa"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python3"
+DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
+
+inherit autotools gettext pkgconfig python3native
+export PYTHON_ABI
+
+# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
+EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
+
+EXTRA_OECONF_append = " --without-lua --enable-python"
+EXTRA_OECONF_append_libc-musl = " --disable-nls"
+
+# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
+#
+# --localstatedir prevents rpm from writing its database to native sysroot when building images
+#
+# Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled.
+# Also disable plugins by default for native.
+EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
+EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
+
+ASNEEDED = ""
+
+# Direct rpm-native to read configuration from our sysroot, not the one it was compiled in
+# libmagic also has sysroot path contamination, so override it
+
+WRAPPER_TOOLS = " \
+ ${bindir}/rpm \
+ ${bindir}/rpm2archive \
+ ${bindir}/rpm2cpio \
+ ${bindir}/rpmbuild \
+ ${bindir}/rpmdb \
+ ${bindir}/rpmgraph \
+ ${bindir}/rpmkeys \
+ ${bindir}/rpmsign \
+ ${bindir}/rpmspec \
+ ${libdir}/rpm/rpmdeps \
+"
+
+do_install_append_class-native() {
+ for tool in ${WRAPPER_TOOLS}; do
+ create_wrapper ${D}$tool \
+ RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
+ RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \
+ MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \
+ RPM_NO_CHROOT_FOR_SCRIPTS=1
+ done
+}
+
+do_install_append_class-nativesdk() {
+ for tool in ${WRAPPER_TOOLS}; do
+ create_wrapper ${D}$tool \
+ RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir'), d.getVar('bindir'))}/rpm \
+ RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir'), d.getVar('bindir'))}/..} \
+ MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))}/misc/magic.mgc \
+ RPM_NO_CHROOT_FOR_SCRIPTS=1
+ done
+
+ rm -rf ${D}/var
+}
+
+# Rpm's make install creates var/tmp which clashes with base-files packaging
+do_install_append_class-target() {
+ rm -rf ${D}/var
+}
+
+do_install_append () {
+ sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
+ ${D}/${libdir}/rpm/macros
+
+ sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
+ ${D}${libdir}/rpm/pythondistdeps.py \
+ ${D}${libdir}/rpm/python-macro-helper
+}
+
+FILES_${PN} += "${libdir}/rpm-plugins/*.so \
+ "
+
+FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \
+ "
+
+PACKAGES += "python3-rpm"
+PROVIDES += "python3-rpm"
+FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
+
+# rpm 5.x was packaging the rpm build tools separately
+RPROVIDES_${PN} += "rpm-build"
+
+RDEPENDS_${PN} = "bash perl python3-core"
+
+PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess"
+
+# Do not specify a sysroot when compiling on a target.
+rpm_package_preprocess () {
+ sed -i -e 's:--sysroot[^ ]*::g' \
+ ${PKGD}/${libdir}/rpm/macros
+}
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.bb b/poky/meta/recipes-devtools/rpm/rpm_4.14.2.bb
deleted file mode 100644
index 75ef3f4d0..000000000
--- a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.bb
+++ /dev/null
@@ -1,151 +0,0 @@
-SUMMARY = "The RPM package management system"
-DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \
-package management system capable of installing, uninstalling, \
-verifying, querying, and updating software packages. Each software \
-package consists of an archive of files along with information about \
-the package like its version, a description, etc."
-
-SUMMARY_${PN}-dev = "Development files for manipulating RPM packages"
-DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \
-development files will simplify the process of writing programs that \
-manipulate RPM packages and databases. These files are intended to \
-simplify the process of creating graphical package managers or any \
-other tools that need an intimate knowledge of RPM packages in order \
-to function."
-
-SUMMARY_python3-rpm = "Python bindings for apps which will manupulate RPM packages"
-DESCRIPTION_python3-rpm = "The python3-rpm package contains a module that permits applications \
-written in the Python programming language to use the interface \
-supplied by the RPM Package Manager libraries."
-
-HOMEPAGE = "http://www.rpm.org"
-
-# libraries are also LGPL - how to express this?
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
-
-SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
- file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
- file://0001-Do-not-read-config-files-from-HOME.patch \
- file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
- file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \
- file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \
- file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \
- file://0001-Fix-build-with-musl-C-library.patch \
- file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
- file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
- file://0001-Split-binary-package-building-into-a-separate-functi.patch \
- file://0002-Run-binary-package-creation-via-thread-pools.patch \
- file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
- file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
- file://0001-perl-disable-auto-reqs.patch \
- file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
- "
-
-PE = "1"
-SRCREV = "753f6941dc32e94047b7cfe713ddd604a810b4db"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python3"
-DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
-
-inherit autotools gettext pkgconfig python3native
-export PYTHON_ABI
-
-# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
-EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
-
-EXTRA_OECONF_append = " --without-lua --enable-python"
-EXTRA_OECONF_append_libc-musl = " --disable-nls"
-
-# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
-#
-# --localstatedir prevents rpm from writing its database to native sysroot when building images
-#
-# Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled.
-# Also disable plugins by default for native.
-EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
-EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
-
-ASNEEDED = ""
-
-# Direct rpm-native to read configuration from our sysroot, not the one it was compiled in
-# libmagic also has sysroot path contamination, so override it
-
-WRAPPER_TOOLS = " \
- ${bindir}/rpm \
- ${bindir}/rpm2archive \
- ${bindir}/rpm2cpio \
- ${bindir}/rpmbuild \
- ${bindir}/rpmdb \
- ${bindir}/rpmgraph \
- ${bindir}/rpmkeys \
- ${bindir}/rpmsign \
- ${bindir}/rpmspec \
- ${libdir}/rpm/rpmdeps \
-"
-
-do_install_append_class-native() {
- for tool in ${WRAPPER_TOOLS}; do
- create_wrapper ${D}$tool \
- RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
- RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \
- MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \
- RPM_NO_CHROOT_FOR_SCRIPTS=1
- done
-}
-
-do_install_append_class-nativesdk() {
- for tool in ${WRAPPER_TOOLS}; do
- create_wrapper ${D}$tool \
- RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir'), d.getVar('bindir'))}/rpm \
- RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir'), d.getVar('bindir'))}/..} \
- MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))}/misc/magic.mgc \
- RPM_NO_CHROOT_FOR_SCRIPTS=1
- done
-
- rm -rf ${D}/var
-}
-
-# Rpm's make install creates var/tmp which clashes with base-files packaging
-do_install_append_class-target() {
- rm -rf ${D}/var
-}
-
-do_install_append () {
- sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
- ${D}/${libdir}/rpm/macros
-
- sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
- ${D}${libdir}/rpm/pythondistdeps.py \
- ${D}${libdir}/rpm/python-macro-helper
-}
-
-FILES_${PN} += "${libdir}/rpm-plugins/*.so \
- "
-
-FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \
- "
-
-PACKAGES += "python3-rpm"
-PROVIDES += "python3-rpm"
-FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
-
-# rpm 5.x was packaging the rpm build tools separately
-RPROVIDES_${PN} += "rpm-build"
-
-RDEPENDS_${PN} = "bash perl python3-core"
-
-PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess"
-
-# Do not specify a sysroot when compiling on a target.
-rpm_package_preprocess () {
- sed -i -e 's:--sysroot[^ ]*::g' \
- ${PKGD}/${libdir}/rpm/macros
-}
diff --git a/poky/meta/recipes-devtools/ruby/ruby.inc b/poky/meta/recipes-devtools/ruby/ruby.inc
index 5a5bef202..eaf5d13ac 100644
--- a/poky/meta/recipes-devtools/ruby/ruby.inc
+++ b/poky/meta/recipes-devtools/ruby/ruby.inc
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "\
"
DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline"
-DEPENDS_class-native = "openssl-native libyaml-native"
+DEPENDS_class-native = "openssl-native libyaml-native readline-native"
SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \
diff --git a/poky/meta/recipes-devtools/ruby/ruby/CVE-2018-1000073.patch b/poky/meta/recipes-devtools/ruby/ruby/CVE-2018-1000073.patch
deleted file mode 100644
index 22fa1b5f4..000000000
--- a/poky/meta/recipes-devtools/ruby/ruby/CVE-2018-1000073.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 1b931fc03b819b9a0214be3eaca844ef534175e2 Mon Sep 17 00:00:00 2001
-From: Jonathan Claudius <jclaudius@mozilla.com>
-Date: Wed, 7 Feb 2018 23:54:52 -0500
-Subject: [PATCH] Non-working patch for deducing symlinked base-dirs
-
----
-CVE: CVE-2018-1000073
-
-Fixed in ruby 2.7.6.
-
-Upstream-Status: Backport [github.com/rubygems/rubygems/commit/1b931fc...]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
- lib/rubygems/package.rb | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/rubygems/package.rb b/lib/rubygems/package.rb
-index dede959..cb9c74a 100644
---- a/lib/rubygems/package.rb
-+++ b/lib/rubygems/package.rb
-@@ -421,6 +421,8 @@ EOM
- destination_dir = File.expand_path destination_dir
-
- destination = File.join destination_dir, filename
-+ destination = File.realpath destination if
-+ File.respond_to? :realpath
- destination = File.expand_path destination
-
- raise Gem::Package::PathError.new(destination, destination_dir) unless
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb b/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb
index e9f045378..3fb427e90 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb
@@ -3,7 +3,6 @@ require ruby.inc
SRC_URI += " \
file://ruby-CVE-2017-9226.patch \
file://ruby-CVE-2017-9228.patch \
- file://CVE-2018-1000073.patch \
"
SRC_URI[md5sum] = "20c85b67846d49622ef3b24230803fef"
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index 2f4126345..e871f1cbf 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -2,16 +2,12 @@
# and I don't think the kernel supports it any more.
SUMMARY = "Tools for manipulating SquashFS filesystems"
SECTION = "base"
-LICENSE = "GPL-2 & PD"
-LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://../../7zC.txt;beginline=12;endline=16;md5=2056cd6d919ebc3807602143c7449a7c \
-"
-DEPENDS = "attr zlib xz lzo lz4"
+LICENSE = "GPL-2"
+LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PV = "4.3+gitr${SRCPV}"
SRCREV = "9c1db6d13a51a2e009f0027ef336ce03624eac0d"
SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https \
- http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2;name=lzma \
file://0001-mksquashfs.c-get-inline-functions-work-with-C99.patch;striplevel=2 \
file://squashfs-tools-4.3-sysmacros.patch;striplevel=2 \
file://fix-compat.patch \
@@ -23,14 +19,20 @@ SRC_URI[lzma.sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e
S = "${WORKDIR}/git/squashfs-tools"
-# EXTRA_OEMAKE is typically: -e MAKEFLAGS=
-# the -e causes problems as CFLAGS is modified in the Makefile, so
-# we redefine EXTRA_OEMAKE here
-EXTRA_OEMAKE = "MAKEFLAGS= LZMA_SUPPORT=1 LZMA_DIR=../.. XZ_SUPPORT=1 LZO_SUPPORT=1 LZ4_SUPPORT=1"
+EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
+
+PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr"
+PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib"
+PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz"
+PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo"
+PACKAGECONFIG[lz4] = "LZ4_SUPPORT=1,LZ4_SUPPORT=0,lz4"
+PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz"
+PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr"
do_compile() {
oe_runmake mksquashfs unsquashfs
}
+
do_install () {
install -d ${D}${sbindir}
install -m 0755 mksquashfs ${D}${sbindir}/
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch b/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
index 7f59210ca..daafceb37 100644
--- a/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
+++ b/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
@@ -1,4 +1,4 @@
-From 1f0c22b79045cfcdc976643f383c1d09589d3087 Mon Sep 17 00:00:00 2001
+From af1fdce78bff4343f3c84ea118abdc3c739fc646 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 16:23:56 +0000
Subject: [PATCH] Fix build when using non-glibc libc implementation on ppc
@@ -8,15 +8,16 @@ musl does not
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
ptrace.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/ptrace.h b/ptrace.h
-index d8af976..4978a69 100644
+index 89d4b95..b3f45bb 100644
--- a/ptrace.h
+++ b/ptrace.h
-@@ -52,7 +52,13 @@ extern long ptrace(int, int, char *, long);
+@@ -30,7 +30,13 @@
# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
#endif
@@ -31,6 +32,3 @@ index d8af976..4978a69 100644
#ifdef HAVE_STRUCT_IA64_FPREG
# undef ia64_fpreg
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch b/poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch
index 4f1370616..52d2cdcdc 100644
--- a/poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch
+++ b/poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch
@@ -1,4 +1,4 @@
-From 83757523c50748ea845c1e220b1c3b2080d3cc49 Mon Sep 17 00:00:00 2001
+From d225aaa8841f47ba8aa7b353b0ac3028d5913efe Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Thu, 9 Feb 2017 01:27:49 -0800
Subject: [PATCH] caps-abbrev.awk: fix gawk's path
@@ -8,6 +8,7 @@ It should be /usr/bin/gawk as other scripts use in this package.
Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
---
tests-m32/caps-abbrev.awk | 2 +-
tests-mx32/caps-abbrev.awk | 2 +-
@@ -15,7 +16,7 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests-m32/caps-abbrev.awk b/tests-m32/caps-abbrev.awk
-index 86de7f2..0535cac 100644
+index c00023b..a56cd56 100644
--- a/tests-m32/caps-abbrev.awk
+++ b/tests-m32/caps-abbrev.awk
@@ -1,4 +1,4 @@
@@ -25,7 +26,7 @@ index 86de7f2..0535cac 100644
# This file is part of caps strace test.
#
diff --git a/tests-mx32/caps-abbrev.awk b/tests-mx32/caps-abbrev.awk
-index 86de7f2..0535cac 100644
+index c00023b..a56cd56 100644
--- a/tests-mx32/caps-abbrev.awk
+++ b/tests-mx32/caps-abbrev.awk
@@ -1,4 +1,4 @@
@@ -35,7 +36,7 @@ index 86de7f2..0535cac 100644
# This file is part of caps strace test.
#
diff --git a/tests/caps-abbrev.awk b/tests/caps-abbrev.awk
-index 86de7f2..0535cac 100644
+index c00023b..a56cd56 100644
--- a/tests/caps-abbrev.awk
+++ b/tests/caps-abbrev.awk
@@ -1,4 +1,4 @@
@@ -44,6 +45,3 @@ index 86de7f2..0535cac 100644
#
# This file is part of caps strace test.
#
---
-2.10.2
-
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch b/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch
new file mode 100644
index 000000000..a5dccfb08
--- /dev/null
+++ b/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch
@@ -0,0 +1,98 @@
+From 2c8b6de913973274e877639658e9e7273a012adb Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Tue, 8 Jan 2019 19:23:44 +0000
+Subject: [PATCH] mips o32: fix build
+
+Upstream-Status: Backport
+
+Commit 917c2ccf3a67 "Refactor stack pointers" moved mips_REG_* macros
+from linux/mips/arch_regs.h to linux/mips/arch_regs.c because these
+macros are no longer used outside syscall.c or files included by
+syscall.c, but this caused a build regression on mips o32 because
+decode_syscall_subcall() uses mips_REG_SP prior to its definition.
+
+* syscall.c (decode_syscall_subcall): Move ...
+* linux/mips/get_syscall_args.c: ... here.
+
+Reported-by: Baruch Siach <baruch@tkos.co.il>
+Fixes: v4.26~61 "Refactor stack pointers"
+---
+ linux/mips/get_syscall_args.c | 26 ++++++++++++++++++++++++++
+ syscall.c | 27 ++-------------------------
+ 2 files changed, 29 insertions(+), 25 deletions(-)
+
+diff --git a/linux/mips/get_syscall_args.c b/linux/mips/get_syscall_args.c
+index 387aa852..e2889f98 100644
+--- a/linux/mips/get_syscall_args.c
++++ b/linux/mips/get_syscall_args.c
+@@ -37,3 +37,29 @@ arch_get_syscall_args(struct tcb *tcp)
+ #endif
+ return 1;
+ }
++
++#ifdef SYS_syscall_subcall
++static void
++decode_syscall_subcall(struct tcb *tcp)
++{
++ if (!scno_is_valid(tcp->u_arg[0]))
++ return;
++ tcp->scno = tcp->u_arg[0];
++ tcp->qual_flg = qual_flags(tcp->scno);
++ tcp->s_ent = &sysent[tcp->scno];
++ memmove(&tcp->u_arg[0], &tcp->u_arg[1],
++ sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0]));
++ /*
++ * Fetching the last arg of 7-arg syscalls (fadvise64_64
++ * and sync_file_range) requires additional code,
++ * see linux/mips/get_syscall_args.c
++ */
++ if (tcp->s_ent->nargs == MAX_ARGS) {
++ if (umoven(tcp,
++ mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]),
++ sizeof(tcp->u_arg[0]),
++ &tcp->u_arg[MAX_ARGS - 1]) < 0)
++ tcp->u_arg[MAX_ARGS - 1] = 0;
++ }
++}
++#endif /* SYS_syscall_subcall */
+diff --git a/syscall.c b/syscall.c
+index d78f51dd..51fcc721 100644
+--- a/syscall.c
++++ b/syscall.c
+@@ -349,31 +349,8 @@ decode_ipc_subcall(struct tcb *tcp)
+ #endif /* SYS_ipc_subcall */
+
+ #ifdef SYS_syscall_subcall
+-static void
+-decode_syscall_subcall(struct tcb *tcp)
+-{
+- if (!scno_is_valid(tcp->u_arg[0]))
+- return;
+- tcp->scno = tcp->u_arg[0];
+- tcp->qual_flg = qual_flags(tcp->scno);
+- tcp->s_ent = &sysent[tcp->scno];
+- memmove(&tcp->u_arg[0], &tcp->u_arg[1],
+- sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0]));
+-# ifdef LINUX_MIPSO32
+- /*
+- * Fetching the last arg of 7-arg syscalls (fadvise64_64
+- * and sync_file_range) requires additional code,
+- * see linux/mips/get_syscall_args.c
+- */
+- if (tcp->s_ent->nargs == MAX_ARGS) {
+- if (umoven(tcp,
+- mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]),
+- sizeof(tcp->u_arg[0]),
+- &tcp->u_arg[MAX_ARGS - 1]) < 0)
+- tcp->u_arg[MAX_ARGS - 1] = 0;
+- }
+-# endif /* LINUX_MIPSO32 */
+-}
++/* The implementation is architecture specific. */
++static void decode_syscall_subcall(struct tcb *);
+ #endif /* SYS_syscall_subcall */
+
+ static void
+--
+2.17.0
+
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch b/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch
index 52096b28c..becee79d1 100644
--- a/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch
+++ b/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch
@@ -1,4 +1,4 @@
-From 9f3fd388ae7c46420bccba405468690ed46d669a Mon Sep 17 00:00:00 2001
+From 879ae71c472ce522f1b3514d2abf6ad49b4acc07 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 18 Sep 2017 22:51:32 -0700
Subject: [PATCH] tests/sigaction: Check for mips and alpha before using
@@ -12,18 +12,18 @@ Fixes
| ../../strace-4.18/tests/sigaction.c:177:36: error: 'struct_set_sa {aka struct set_sa}' has no member named 'restorer'
| # define SA_RESTORER_ARGS , new_act->restorer
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
tests/sigaction.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/sigaction.c b/tests/sigaction.c
-index 7b46944..f46cda7 100644
+index 95be197..54819f9 100644
--- a/tests/sigaction.c
+++ b/tests/sigaction.c
-@@ -170,7 +170,7 @@ main(void)
+@@ -156,7 +156,7 @@ main(void)
sigdelset(mask.libc, SIGHUP);
memcpy(new_act->mask, mask.old, sizeof(mask.old));
@@ -32,6 +32,3 @@ index 7b46944..f46cda7 100644
new_act->flags = SA_RESTORER;
new_act->restorer = (unsigned long) 0xdeadfacecafef00dULL;
# define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx"
---
-2.14.1
-
diff --git a/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch b/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
index 460b6e26e..08fa5c53b 100644
--- a/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
+++ b/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
@@ -1,4 +1,4 @@
-From 207fc7814bbeb0241382329215d21fd3b57066f9 Mon Sep 17 00:00:00 2001
+From ef5040b4f15006a22ac63a3bacfceac36ffc2045 Mon Sep 17 00:00:00 2001
From: Gabriel Barbu <gabriel.barbu@enea.com>
Date: Thu, 25 Jul 2013 15:28:33 +0200
Subject: [PATCH] strace: Add ptest
@@ -14,10 +14,10 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
1 file changed, 19 insertions(+)
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index a2f3950..4fa97e2 100644
+index 825c989..4623c48 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
-@@ -34,6 +34,7 @@ SIZEOF_LONG = @SIZEOF_LONG@
+@@ -14,6 +14,7 @@ SIZEOF_LONG = @SIZEOF_LONG@
MPERS_NAME =
MPERS_CC_FLAGS =
ARCH_MFLAGS =
@@ -25,7 +25,7 @@ index a2f3950..4fa97e2 100644
AM_CFLAGS = $(WARN_CFLAGS)
AM_CPPFLAGS = $(ARCH_MFLAGS) \
-I$(builddir) \
-@@ -490,3 +491,21 @@ BUILT_SOURCES = ksysent.h
+@@ -477,3 +478,21 @@ BUILT_SOURCES = ksysent.h
CLEANFILES = ksysent.h
include ../scno.am
diff --git a/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch b/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
index 9e5ec1109..d6354bf4b 100644
--- a/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
+++ b/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
@@ -1,4 +1,4 @@
-From bee0680754730498485e24dd037303318c68916c Mon Sep 17 00:00:00 2001
+From ed30a4fc4dc264ce5f5881462e03ae13c921bfed Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Mon, 18 Jan 2016 13:33:50 -0800
Subject: [PATCH] strace: remove need for scripts
@@ -16,10 +16,10 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index ad1d00f..96fa205 100644
+index 8045ebd..4319709 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -32,12 +32,12 @@
+@@ -12,12 +12,12 @@
AC_PREREQ(2.57)
AC_INIT([strace],
diff --git a/poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch b/poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch
index b24378bfe..0d3192b34 100644
--- a/poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch
+++ b/poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch
@@ -1,3 +1,8 @@
+From 20c184a7ab3fb7be67fb7626c411e756ea61d2f5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Aug 2016 23:47:57 -0700
+Subject: [PATCH] strace: Fix build with mips/mips64 on musl
+
SIGEMT is not defined everywhere e.g musl does
not define it. Therefore check it being defined
before using it.
@@ -8,11 +13,15 @@ Fixes errors e.g.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
-Index: strace-4.13/tests/signal2name.c
-===================================================================
---- strace-4.13.orig/tests/signal2name.c
-+++ strace-4.13/tests/signal2name.c
-@@ -42,7 +42,9 @@ signal2name(int sig)
+---
+ tests/signal2name.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/signal2name.c b/tests/signal2name.c
+index 1d8e7c5..6722aa1 100644
+--- a/tests/signal2name.c
++++ b/tests/signal2name.c
+@@ -49,7 +49,9 @@ signal2name(int sig)
CASE(SIGEMT);
CASE(SIGLOST);
#elif defined MIPS
diff --git a/poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch b/poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch
index 3d4913d68..a9bd900da 100644
--- a/poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch
+++ b/poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch
@@ -1,4 +1,4 @@
-From 154af50ed7ed8b91838d713052ebf29b0b14f765 Mon Sep 17 00:00:00 2001
+From cc97307e8e39a81999c6a365d057487a02e6128e Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Mon, 18 Jan 2016 11:00:00 -0800
Subject: [PATCH] mpers.m4: more robust test for -m32/-mx32 compile support
@@ -18,15 +18,16 @@ detects the limitations of the OE toolchain.
Upstream-Status: Pending
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
---
m4/mpers.m4 | 2 ++
1 file changed, 2 insertions(+)
-Index: strace-4.22/m4/mpers.m4
-===================================================================
---- strace-4.22.orig/m4/mpers.m4
-+++ strace-4.22/m4/mpers.m4
-@@ -108,6 +108,7 @@ case "$arch" in
+diff --git a/m4/mpers.m4 b/m4/mpers.m4
+index 13725d7..d8578ea 100644
+--- a/m4/mpers.m4
++++ b/m4/mpers.m4
+@@ -88,6 +88,7 @@ case "$arch" in
CFLAGS="$CFLAGS MPERS_CFLAGS $IFLAG"
AC_CACHE_CHECK([for mpers_name personality compile support], [st_cv_cc],
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <stdint.h>
@@ -34,7 +35,7 @@ Index: strace-4.22/m4/mpers.m4
int main(){return 0;}]])],
[st_cv_cc=yes],
[st_cv_cc=no])])
-@@ -115,6 +116,7 @@ case "$arch" in
+@@ -95,6 +96,7 @@ case "$arch" in
AC_CACHE_CHECK([for mpers_name personality runtime support],
[st_cv_runtime],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdint.h>
diff --git a/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch b/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
index f6ffa8e7a..7077048c7 100644
--- a/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
+++ b/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
@@ -1,4 +1,4 @@
-From 3836518c46bd5bb3e71371b1b18274bf2d487133 Mon Sep 17 00:00:00 2001
+From f0d7ebf48441e0b090c3e6053b8c845d0a4a3b18 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Mon, 18 Jan 2016 11:01:00 -0800
Subject: [PATCH] update gawk paths, /bin/gawk -> /usr/bin/gawk
@@ -11,6 +11,7 @@ from #!/bin/gawk to #!/usr/bin/gawk. Fixes missing RDPENDS QA tests:
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
---
mpers.awk | 2 +-
tests-m32/caps.awk | 2 +-
@@ -25,7 +26,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
10 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/mpers.awk b/mpers.awk
-index fe54763..b5238a8 100644
+index 17f8f2b..d69dcd5 100644
--- a/mpers.awk
+++ b/mpers.awk
@@ -1,4 +1,4 @@
@@ -35,7 +36,7 @@ index fe54763..b5238a8 100644
# Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
# Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
diff --git a/tests-m32/caps.awk b/tests-m32/caps.awk
-index c6e31ef..5efc6cc 100644
+index 941564a..0bcc3ff 100644
--- a/tests-m32/caps.awk
+++ b/tests-m32/caps.awk
@@ -1,4 +1,4 @@
@@ -45,17 +46,17 @@ index c6e31ef..5efc6cc 100644
# This file is part of caps strace test.
#
diff --git a/tests-m32/match.awk b/tests-m32/match.awk
-index abfbae9..f2740bf 100644
+index d91c518..ee5d908 100644
--- a/tests-m32/match.awk
+++ b/tests-m32/match.awk
@@ -1,4 +1,4 @@
-#!/bin/gawk
+#!/usr/bin/gawk
#
- # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ # Copyright (c) 2014-2018 Dmitry V. Levin <ldv@altlinux.org>
# All rights reserved.
diff --git a/tests-m32/rt_sigaction.awk b/tests-m32/rt_sigaction.awk
-index 9c3a9ed..8414243 100644
+index 81dd813..9cd9549 100644
--- a/tests-m32/rt_sigaction.awk
+++ b/tests-m32/rt_sigaction.awk
@@ -1,4 +1,4 @@
@@ -65,7 +66,7 @@ index 9c3a9ed..8414243 100644
# Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
# Copyright (c) 2016 Elvira Khabirova <lineprinter0@gmail.com>
diff --git a/tests-mx32/caps.awk b/tests-mx32/caps.awk
-index c6e31ef..5efc6cc 100644
+index 941564a..0bcc3ff 100644
--- a/tests-mx32/caps.awk
+++ b/tests-mx32/caps.awk
@@ -1,4 +1,4 @@
@@ -75,17 +76,17 @@ index c6e31ef..5efc6cc 100644
# This file is part of caps strace test.
#
diff --git a/tests-mx32/match.awk b/tests-mx32/match.awk
-index abfbae9..f2740bf 100644
+index d91c518..ee5d908 100644
--- a/tests-mx32/match.awk
+++ b/tests-mx32/match.awk
@@ -1,4 +1,4 @@
-#!/bin/gawk
+#!/usr/bin/gawk
#
- # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ # Copyright (c) 2014-2018 Dmitry V. Levin <ldv@altlinux.org>
# All rights reserved.
diff --git a/tests-mx32/rt_sigaction.awk b/tests-mx32/rt_sigaction.awk
-index 9c3a9ed..8414243 100644
+index 81dd813..9cd9549 100644
--- a/tests-mx32/rt_sigaction.awk
+++ b/tests-mx32/rt_sigaction.awk
@@ -1,4 +1,4 @@
@@ -95,7 +96,7 @@ index 9c3a9ed..8414243 100644
# Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
# Copyright (c) 2016 Elvira Khabirova <lineprinter0@gmail.com>
diff --git a/tests/caps.awk b/tests/caps.awk
-index c6e31ef..5efc6cc 100644
+index 941564a..0bcc3ff 100644
--- a/tests/caps.awk
+++ b/tests/caps.awk
@@ -1,4 +1,4 @@
@@ -105,17 +106,17 @@ index c6e31ef..5efc6cc 100644
# This file is part of caps strace test.
#
diff --git a/tests/match.awk b/tests/match.awk
-index abfbae9..f2740bf 100644
+index d91c518..ee5d908 100644
--- a/tests/match.awk
+++ b/tests/match.awk
@@ -1,4 +1,4 @@
-#!/bin/gawk
+#!/usr/bin/gawk
#
- # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ # Copyright (c) 2014-2018 Dmitry V. Levin <ldv@altlinux.org>
# All rights reserved.
diff --git a/tests/rt_sigaction.awk b/tests/rt_sigaction.awk
-index 9c3a9ed..8414243 100644
+index 81dd813..9cd9549 100644
--- a/tests/rt_sigaction.awk
+++ b/tests/rt_sigaction.awk
@@ -1,4 +1,4 @@
diff --git a/poky/meta/recipes-devtools/strace/strace_4.24.bb b/poky/meta/recipes-devtools/strace/strace_4.24.bb
deleted file mode 100644
index 9e40a064f..000000000
--- a/poky/meta/recipes-devtools/strace/strace_4.24.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "System call tracing tool"
-HOMEPAGE = "http://strace.io"
-SECTION = "console/utils"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6ddb91734b9c705f3e87362e97e5f64b"
-
-SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
- file://disable-git-version-gen.patch \
- file://more-robust-test-for-m32-mx32-compile-support.patch \
- file://update-gawk-paths.patch \
- file://Makefile-ptest.patch \
- file://run-ptest \
- file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \
- file://mips-SIGEMT.patch \
- file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
- file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
- "
-SRC_URI[md5sum] = "8780136849c85acf76ad3a522aa4462a"
-SRC_URI[sha256sum] = "1f4e59fc1edfa2bfb4adf2a748623dc25b105ec79713dd84404199f91b0b0634"
-
-inherit autotools ptest bluetooth
-
-PACKAGECONFIG_class-target ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
-"
-
-PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,${BLUEZ}"
-PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
-
-EXTRA_OECONF += "--enable-mpers=no"
-
-CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
-
-TESTDIR = "tests"
-
-do_install_append() {
- # We don't ship strace-graph here because it needs perl
- rm ${D}${bindir}/strace-graph
-}
-
-do_compile_ptest() {
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
- install -m 755 ${S}/test-driver ${D}${PTEST_PATH}
- install -m 644 ${B}/config.h ${D}${PTEST_PATH}
- sed -i -e '/^src/s/strace.*[1-9]/ptest/' \
- -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -e 's:${RECIPE_SYSROOT}::g' \
- -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- -e '/^DEB_CHANGELOGTIME/d' \
- -e '/^RPM_CHANGELOGTIME/d' \
- ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
-}
-
-RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed"
-
-BBCLASSEXTEND = "native"
-TOOLCHAIN = "gcc"
diff --git a/poky/meta/recipes-devtools/strace/strace_4.26.bb b/poky/meta/recipes-devtools/strace/strace_4.26.bb
new file mode 100644
index 000000000..24f92c99e
--- /dev/null
+++ b/poky/meta/recipes-devtools/strace/strace_4.26.bb
@@ -0,0 +1,57 @@
+SUMMARY = "System call tracing tool"
+HOMEPAGE = "http://strace.io"
+SECTION = "console/utils"
+LICENSE = "LGPL-2.1+ & GPL-2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5c84d1c6e48e7961ccd2cd2ae32f7bf1"
+
+SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
+ file://disable-git-version-gen.patch \
+ file://more-robust-test-for-m32-mx32-compile-support.patch \
+ file://update-gawk-paths.patch \
+ file://Makefile-ptest.patch \
+ file://run-ptest \
+ file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \
+ file://mips-SIGEMT.patch \
+ file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
+ file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
+ file://0001-mips-o32-fix-build.patch \
+ "
+SRC_URI[md5sum] = "daa51acc0c7c696221ec03cf0b30a7af"
+SRC_URI[sha256sum] = "7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c"
+
+inherit autotools ptest bluetooth
+
+PACKAGECONFIG_class-target ??= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
+"
+
+PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,${BLUEZ}"
+PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
+
+EXTRA_OECONF += "--enable-mpers=no"
+
+CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
+
+TESTDIR = "tests"
+PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
+
+do_install_append() {
+ # We don't ship strace-graph here because it needs perl
+ rm ${D}${bindir}/strace-graph
+}
+
+do_compile_ptest() {
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
+ install -m 755 ${S}/test-driver ${D}${PTEST_PATH}
+ install -m 644 ${B}/config.h ${D}${PTEST_PATH}
+ sed -i -e '/^src/s/strace.*[1-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
+}
+
+RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed"
+
+BBCLASSEXTEND = "native"
+TOOLCHAIN = "gcc"
diff --git a/poky/meta/recipes-devtools/subversion/subversion/serf.m4-Regex-modified-to-allow-D-in-paths.patch b/poky/meta/recipes-devtools/subversion/subversion/serf.m4-Regex-modified-to-allow-D-in-paths.patch
deleted file mode 100644
index 9fed3cf6c..000000000
--- a/poky/meta/recipes-devtools/subversion/subversion/serf.m4-Regex-modified-to-allow-D-in-paths.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f1b6e49f12a18eabe88eb732b578a16281d09499 Mon Sep 17 00:00:00 2001
-From: Jose Lamego <jose.a.lamego@linux.intel.com>
-Date: Thu, 2 Jul 2015 11:37:43 +0000
-Subject: [PATCH] serf.m4: Regex modified to allow '-D' in paths
-
-Upstream-Status: Accepted
-
-The patch is merged by subversion upstream with replacing '[[:space:]]' with ' '.
-
-http://svn.apache.org/viewvc/subversion/trunk/build/ac-macros/serf.m4?r1=1594156&r2=1689824
-
-Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com>
----
- build/ac-macros/serf.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/ac-macros/serf.m4 b/build/ac-macros/serf.m4
-index ae11e75..ff8cbae 100644
---- a/build/ac-macros/serf.m4
-+++ b/build/ac-macros/serf.m4
-@@ -168,7 +168,7 @@
- if $PKG_CONFIG $serf_pc_arg --atleast-version=$serf_check_version; then
- AC_MSG_RESULT([yes])
- serf_found=yes
-- SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_pc_arg --cflags | $SED -e 's/-D[^ ]*//g'`]
-+ SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_pc_arg --cflags | $SED -e 's/ -D[^ ]*//g' -e 's/^-D[^ ]*//g'`]
- SVN_SERF_LIBS=`$PKG_CONFIG $serf_pc_arg --libs-only-l`
- dnl don't use --libs-only-L because then we might miss some options
- LDFLAGS=["$LDFLAGS `$PKG_CONFIG $serf_pc_arg --libs | $SED -e 's/-l[^ ]*//g'`"]
---
-1.8.4.5
-
diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.10.0.bb b/poky/meta/recipes-devtools/subversion/subversion_1.10.0.bb
deleted file mode 100644
index 42c2562bf..000000000
--- a/poky/meta/recipes-devtools/subversion/subversion_1.10.0.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "Subversion (svn) version control system client"
-HOMEPAGE = "http://subversion.apache.org"
-SECTION = "console/network"
-LICENSE = "Apache-2 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=83206f39819e7a4dfca2ff7c190f6ce0"
-
-DEPENDS = "apr-util serf sqlite3 file lz4"
-DEPENDS_append_class-native = " file-replacement-native"
-
-SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://disable_macos.patch \
- file://0001-Fix-libtool-name-in-configure.ac.patch \
- file://serfmacro.patch \
- "
-
-SRC_URI[md5sum] = "0126847f9e8cb8ed0b90a6a18b203309"
-SRC_URI[sha256sum] = "2cf23f3abb837dea0585a6b0ebd70e80e01f95bddef7c1aa097c18e3eaa6b584"
-
-inherit autotools pkgconfig gettext
-
-PACKAGECONFIG ?= ""
-
-PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl"
-PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring,--without-gnome-keyring,glib-2.0 gnome-keyring"
-
-EXTRA_OECONF = " \
- --with-apr=${STAGING_BINDIR_CROSS} \
- --with-apr-util=${STAGING_BINDIR_CROSS} \
- --without-apxs \
- --without-berkeley-db \
- --without-swig \
- --disable-keychain \
- --with-utf8proc=internal \
- ac_cv_path_RUBY=none \
-"
-
-acpaths = "-I build/ -I build/ac-macros/"
-
-CPPFLAGS += "-P"
-BUILD_CPPFLAGS += "-P"
-
-do_configure_prepend () {
- rm -f ${S}/libtool
- rm -f ${S}/build/libtool.m4 ${S}/build/ltmain.sh ${S}/build/ltoptions.m4 ${S}/build/ltsugar.m4 ${S}/build/ltversion.m4 ${S}/build/lt~obsolete.m4
- rm -f ${S}/aclocal.m4
- sed -i -e 's:with_sasl="/usr/local":with_sasl="${STAGING_DIR}":' ${S}/build/ac-macros/sasl.m4
-}
-
-#| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_local/libsvn_ra_local-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| /usr/bin/ld: cannot find -lsvn_delta-1| collect2: ld returned 1 exit status| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_svn/libsvn_ra_svn-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_serf/libsvn_ra_serf-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
-#| x86_64-linux-libtool: install: error: relink `libsvn_ra_serf-1.la' with the above command before installing it
-#| x86_64-linux-libtool: install: warning: `../../subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
-#| /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/subversion-1.8.9/build-outputs.mk:1090: recipe for target 'install-serf-lib' failed
-#| make: *** [install-serf-lib] Error 1
-PARALLEL_MAKEINST = ""
-
-RDEPENDS_${PN} = "serf"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb b/poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb
new file mode 100644
index 000000000..8abac7408
--- /dev/null
+++ b/poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Subversion (svn) version control system client"
+HOMEPAGE = "http://subversion.apache.org"
+SECTION = "console/network"
+LICENSE = "Apache-2 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=83206f39819e7a4dfca2ff7c190f6ce0"
+
+DEPENDS = "apr-util serf sqlite3 file lz4"
+DEPENDS_append_class-native = " file-replacement-native"
+
+SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://disable_macos.patch \
+ file://0001-Fix-libtool-name-in-configure.ac.patch \
+ file://serfmacro.patch \
+ "
+
+SRC_URI[md5sum] = "5797bf701d2d868fa964c7bbc4931267"
+SRC_URI[sha256sum] = "9efd2750ca4d72ec903431a24b9c732b6cbb84aad9b7563f59dd96dea5be60bb"
+
+inherit autotools pkgconfig gettext
+
+PACKAGECONFIG ?= ""
+
+PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl"
+PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring,--without-gnome-keyring,glib-2.0 gnome-keyring"
+
+EXTRA_OECONF = " \
+ --with-apr=${STAGING_BINDIR_CROSS} \
+ --with-apr-util=${STAGING_BINDIR_CROSS} \
+ --without-apxs \
+ --without-berkeley-db \
+ --without-swig \
+ --disable-keychain \
+ --with-utf8proc=internal \
+ ac_cv_path_RUBY=none \
+"
+
+acpaths = "-I build/ -I build/ac-macros/"
+
+CPPFLAGS += "-P"
+BUILD_CPPFLAGS += "-P"
+
+do_configure_prepend () {
+ rm -f ${S}/libtool
+ rm -f ${S}/build/libtool.m4 ${S}/build/ltmain.sh ${S}/build/ltoptions.m4 ${S}/build/ltsugar.m4 ${S}/build/ltversion.m4 ${S}/build/lt~obsolete.m4
+ rm -f ${S}/aclocal.m4
+ sed -i -e 's:with_sasl="/usr/local":with_sasl="${STAGING_DIR}":' ${S}/build/ac-macros/sasl.m4
+}
+
+#| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_local/libsvn_ra_local-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| /usr/bin/ld: cannot find -lsvn_delta-1| collect2: ld returned 1 exit status| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_svn/libsvn_ra_svn-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_serf/libsvn_ra_serf-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
+#| x86_64-linux-libtool: install: error: relink `libsvn_ra_serf-1.la' with the above command before installing it
+#| x86_64-linux-libtool: install: warning: `../../subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
+#| /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/subversion-1.8.9/build-outputs.mk:1090: recipe for target 'install-serf-lib' failed
+#| make: *** [install-serf-lib] Error 1
+PARALLEL_MAKEINST = ""
+
+RDEPENDS_${PN} = "serf"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/swig/swig.inc b/poky/meta/recipes-devtools/swig/swig.inc
index aec544997..00b9c5b60 100644
--- a/poky/meta/recipes-devtools/swig/swig.inc
+++ b/poky/meta/recipes-devtools/swig/swig.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \
SECTION = "devel"
-DEPENDS = "libpcre"
+DEPENDS = "libpcre bison-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
@@ -38,14 +38,14 @@ EXTRA_OECONF = " \
--without-tcl \
"
+EXTRA_AUTORECONF += "-I Tools/config"
+
BBCLASSEXTEND = "native nativesdk"
-do_configure() {
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/Tools/config
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/Tools/config
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- oe_runconf
+# necessary together with bison dependency until a new upstream version after
+# 3.0.12 includes 0001-Fix-generated-code-for-constant-expressions-containi.patch
+do_configure_append() {
+ mkdir -p ${B}/Source/CParse
}
do_install_append_class-nativesdk() {
diff --git a/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch b/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch
new file mode 100644
index 000000000..f4ed782a8
--- /dev/null
+++ b/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch
@@ -0,0 +1,179 @@
+From 90ba174fcea1618af57aa594199541d47a89b7f6 Mon Sep 17 00:00:00 2001
+From: William S Fulton <wsf@fultondesigns.co.uk>
+Date: Sun, 17 Sep 2017 19:02:55 +0100
+Subject: [PATCH 1/2] Fix generated code for constant expressions containing
+ wchar_t L literals.
+
+Such as:
+ # define __WCHAR_MAX (0x7fffffff + L'\0')
+
+Reported on swig-user mailing list.
+---
+ CHANGES.current | 5 +++++
+ Examples/test-suite/csharp/preproc_constants_c_runme.cs | 3 ++-
+ Examples/test-suite/csharp/preproc_constants_runme.cs | 2 ++
+ Examples/test-suite/d/preproc_constants_c_runme.1.d | 2 ++
+ Examples/test-suite/d/preproc_constants_c_runme.2.d | 2 ++
+ Examples/test-suite/d/preproc_constants_runme.1.d | 2 ++
+ Examples/test-suite/d/preproc_constants_runme.2.d | 2 ++
+ Examples/test-suite/php/preproc_constants_c_runme.php | 2 ++
+ Examples/test-suite/php/preproc_constants_runme.php | 2 ++
+ Examples/test-suite/php5/preproc_constants_c_runme.php | 2 ++
+ Examples/test-suite/php5/preproc_constants_runme.php | 2 ++
+ Examples/test-suite/preproc_constants.i | 3 +++
+ Source/CParse/parser.y | 2 +-
+ 13 files changed, 29 insertions(+), 2 deletions(-)
+
+Upstream-Status: Backport
+[https://github.com/swig/swig/commit/90ba174fcea1618af57aa594199541d47a89b7f6]
+Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
+diff --git a/Examples/test-suite/csharp/preproc_constants_c_runme.cs b/Examples/test-suite/csharp/preproc_constants_c_runme.cs
+index 76c684d..1c28e49 100644
+--- a/Examples/test-suite/csharp/preproc_constants_c_runme.cs
++++ b/Examples/test-suite/csharp/preproc_constants_c_runme.cs
+@@ -61,7 +61,8 @@ public class runme {
+ assert( typeof(int) == preproc_constants_c.EXPR_LAND.GetType() );
+ assert( typeof(int) == preproc_constants_c.EXPR_LOR.GetType() );
+ assert( typeof(double) == preproc_constants_c.EXPR_CONDITIONAL.GetType() );
+-
++ assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MAX.GetType() );
++ assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MIN.GetType() );
+ }
+ static void assert(bool assertion) {
+ if (!assertion)
+diff --git a/Examples/test-suite/csharp/preproc_constants_runme.cs b/Examples/test-suite/csharp/preproc_constants_runme.cs
+index 9fae591..6b02e30 100644
+--- a/Examples/test-suite/csharp/preproc_constants_runme.cs
++++ b/Examples/test-suite/csharp/preproc_constants_runme.cs
+@@ -60,6 +60,8 @@ public class runme {
+ assert( typeof(bool) == preproc_constants.EXPR_LAND.GetType() );
+ assert( typeof(bool) == preproc_constants.EXPR_LOR.GetType() );
+ assert( typeof(double) == preproc_constants.EXPR_CONDITIONAL.GetType() );
++ assert( typeof(int) == preproc_constants.EXPR_WCHAR_MAX.GetType() );
++ assert( typeof(int) == preproc_constants.EXPR_WCHAR_MIN.GetType() );
+
+ }
+ static void assert(bool assertion) {
+diff --git a/Examples/test-suite/d/preproc_constants_c_runme.1.d b/Examples/test-suite/d/preproc_constants_c_runme.1.d
+index d846c71..2b349af 100644
+--- a/Examples/test-suite/d/preproc_constants_c_runme.1.d
++++ b/Examples/test-suite/d/preproc_constants_c_runme.1.d
+@@ -61,4 +61,6 @@ void main() {
+ static assert(is(int == typeof(EXPR_LAND())));
+ static assert(is(int == typeof(EXPR_LOR())));
+ static assert(is(double == typeof(EXPR_CONDITIONAL())));
++ static assert(is(int == typeof(EXPR_WCHAR_MAX())));
++ static assert(is(int == typeof(EXPR_WCHAR_MIN())));
+ }
+diff --git a/Examples/test-suite/d/preproc_constants_c_runme.2.d b/Examples/test-suite/d/preproc_constants_c_runme.2.d
+index 9bdbb93..1bac525 100644
+--- a/Examples/test-suite/d/preproc_constants_c_runme.2.d
++++ b/Examples/test-suite/d/preproc_constants_c_runme.2.d
+@@ -61,4 +61,6 @@ void main() {
+ static assert(is(int == typeof(EXPR_LAND())));
+ static assert(is(int == typeof(EXPR_LOR())));
+ static assert(is(double == typeof(EXPR_CONDITIONAL())));
++ static assert(is(int == typeof(EXPR_WCHAR_MAX())));
++ static assert(is(int == typeof(EXPR_WCHAR_MIN())));
+ }
+diff --git a/Examples/test-suite/d/preproc_constants_runme.1.d b/Examples/test-suite/d/preproc_constants_runme.1.d
+index 009405f..f743f48 100644
+--- a/Examples/test-suite/d/preproc_constants_runme.1.d
++++ b/Examples/test-suite/d/preproc_constants_runme.1.d
+@@ -60,4 +60,6 @@ void main() {
+ static assert(is(bool == typeof(EXPR_LAND())));
+ static assert(is(bool == typeof(EXPR_LOR())));
+ static assert(is(double == typeof(EXPR_CONDITIONAL())));
++ static assert(is(int == typeof(EXPR_WCHAR_MAX())));
++ static assert(is(int == typeof(EXPR_WCHAR_MIN())));
+ }
+diff --git a/Examples/test-suite/d/preproc_constants_runme.2.d b/Examples/test-suite/d/preproc_constants_runme.2.d
+index 2d92ef0..0d96c37 100644
+--- a/Examples/test-suite/d/preproc_constants_runme.2.d
++++ b/Examples/test-suite/d/preproc_constants_runme.2.d
+@@ -60,4 +60,6 @@ void main() {
+ static assert(is(bool == typeof(EXPR_LAND())));
+ static assert(is(bool == typeof(EXPR_LOR())));
+ static assert(is(double == typeof(EXPR_CONDITIONAL())));
++ static assert(is(int == typeof(EXPR_WCHAR_MAX())));
++ static assert(is(int == typeof(EXPR_WCHAR_MIN())));
+ }
+diff --git a/Examples/test-suite/php/preproc_constants_c_runme.php b/Examples/test-suite/php/preproc_constants_c_runme.php
+index af9b76e..e59fe18 100644
+--- a/Examples/test-suite/php/preproc_constants_c_runme.php
++++ b/Examples/test-suite/php/preproc_constants_c_runme.php
+@@ -62,5 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant
+ check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type");
+ check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type");
+ check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type");
++check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type");
++check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type");
+
+ ?>
+diff --git a/Examples/test-suite/php/preproc_constants_runme.php b/Examples/test-suite/php/preproc_constants_runme.php
+index 5c9119b..8e117ea 100644
+--- a/Examples/test-suite/php/preproc_constants_runme.php
++++ b/Examples/test-suite/php/preproc_constants_runme.php
+@@ -61,5 +61,7 @@ check::equal(gettype(preproc_constants::EXPR_OR), "integer", "preproc_constants.
+ check::equal(gettype(preproc_constants::EXPR_LAND), "boolean", "preproc_constants.EXPR_LAND has unexpected type");
+ check::equal(gettype(preproc_constants::EXPR_LOR), "boolean", "preproc_constants.EXPR_LOR has unexpected type");
+ check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type");
++check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type");
++check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type");
+
+ ?>
+diff --git a/Examples/test-suite/php5/preproc_constants_c_runme.php b/Examples/test-suite/php5/preproc_constants_c_runme.php
+index 1ea0195..d978fab 100644
+--- a/Examples/test-suite/php5/preproc_constants_c_runme.php
++++ b/Examples/test-suite/php5/preproc_constants_c_runme.php
+@@ -62,5 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant
+ check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type");
+ check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type");
+ check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type");
++check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type");
++check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type");
+
+ ?>
+diff --git a/Examples/test-suite/php5/preproc_constants_runme.php b/Examples/test-suite/php5/preproc_constants_runme.php
+index fb9ee4f..7527026 100644
+--- a/Examples/test-suite/php5/preproc_constants_runme.php
++++ b/Examples/test-suite/php5/preproc_constants_runme.php
+@@ -70,5 +70,7 @@ check::equal(gettype(preproc_constants::EXPR_LAND), "integer", "preproc_constant
+ check::equal(gettype(preproc_constants::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type");
+
+ check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type");
++check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type");
++check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type");
+
+ ?>
+diff --git a/Examples/test-suite/preproc_constants.i b/Examples/test-suite/preproc_constants.i
+index 3a999ad..16b44c9 100644
+--- a/Examples/test-suite/preproc_constants.i
++++ b/Examples/test-suite/preproc_constants.i
+@@ -87,6 +87,9 @@
+ #define EXPR_LOR 0xFF || 1
+ #define EXPR_CONDITIONAL true ? 2 : 2.2
+
++#define EXPR_WCHAR_MAX (0x7fffffff + L'\0')
++#define EXPR_WCHAR_MIN (-EXPR_WCHAR_MAX - 1)
++
+ #define EXPR_CHAR_COMPOUND_ADD 'A' + 12
+ #define EXPR_CHAR_COMPOUND_LSHIFT 'B' << 6
+ #define H_SUPPRESS_SCALING_MAGIC (('s'<<24) | ('u'<<16) | ('p'<<8) | 'p')
+diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y
+index 2e92cd0..273dadb 100644
+--- a/Source/CParse/parser.y
++++ b/Source/CParse/parser.y
+@@ -194,7 +194,7 @@ int SWIG_cparse_template_reduce(int treduce) {
+ * ----------------------------------------------------------------------------- */
+
+ static int promote_type(int t) {
+- if (t <= T_UCHAR || t == T_CHAR) return T_INT;
++ if (t <= T_UCHAR || t == T_CHAR || t == T_WCHAR) return T_INT;
+ return t;
+ }
+
+--
+2.9.5
+
diff --git a/poky/meta/recipes-devtools/swig/swig_3.0.12.bb b/poky/meta/recipes-devtools/swig/swig_3.0.12.bb
index fe9d0747f..45026c970 100644
--- a/poky/meta/recipes-devtools/swig/swig_3.0.12.bb
+++ b/poky/meta/recipes-devtools/swig/swig_3.0.12.bb
@@ -5,6 +5,7 @@ SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.pat
file://0001-Add-Node-7.x-aka-V8-5.2-support.patch \
file://swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch \
file://Python-Fix-new-GCC8-warnings-in-generated-code.patch \
+ file://0001-Fix-generated-code-for-constant-expressions-containi.patch \
"
SRC_URI[md5sum] = "82133dfa7bba75ff9ad98a7046be687c"
SRC_URI[sha256sum] = "7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d"
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0001-install-don-t-install-obsolete-file-com32.ld.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0001-install-don-t-install-obsolete-file-com32.ld.patch
new file mode 100644
index 000000000..bfd7f41b1
--- /dev/null
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0001-install-don-t-install-obsolete-file-com32.ld.patch
@@ -0,0 +1,32 @@
+From bf6db5b48ec25f83939f1fdebb59028bc3c40b00 Mon Sep 17 00:00:00 2001
+From: "H. Peter Anvin (Intel)" <hpa@zytor.com>
+Date: Wed, 6 Feb 2019 11:30:51 -0800
+Subject: [PATCH] install: don't install obsolete file com32.ld
+
+com32.ld has been obsolete for a long time, and has been removed now;
+don't install it either.
+
+Reported-by: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
+Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
+
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ com32/lib/Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/com32/lib/Makefile b/com32/lib/Makefile
+index 74fff149..6a931492 100644
+--- a/com32/lib/Makefile
++++ b/com32/lib/Makefile
+@@ -113,7 +113,6 @@ spotless: clean
+
+ install: all
+ mkdir -m 755 -p $(INSTALLROOT)$(COM32DIR)
+- install -m 644 $(SRC)/com32.ld $(INSTALLROOT)$(COM32DIR)
+ -rm -rf $(INSTALLROOT)$(COM32DIR)/include
+ cp -r $(SRC)/../include $(INSTALLROOT)$(COM32DIR)
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch
index 2400c98d6..f1d01fa43 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch
@@ -1,8 +1,7 @@
-From 78d76b87a4b855e6b661ae457283a63f385c04c9 Mon Sep 17 00:00:00 2001
+From efce87e5ab98664c57e5f4e3955a2f3747df5737 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Fri, 2 Jan 2015 12:26:46 +0800
-Subject: [PATCH 8/9] libinstaller/syslinuxext: implement
- syslinux_patch_bootsect()
+Subject: [PATCH] libinstaller/syslinuxext: implement syslinux_patch_bootsect()
Move the related from extlinux/main.c to libinstaller/syslinuxext.c, the
syslinux_patch_bootsect() are used by both extlinux/main.c and
@@ -12,17 +11,21 @@ Upstream-Status: Submitted
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Tested-by: Du Dolpher <dolpher.du@intel.com>
+
+Edited to include sysmacros.h
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
extlinux/Makefile | 3 +-
- extlinux/main.c | 167 +-------------------------------------------
- libinstaller/syslinuxext.c | 170 +++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 175 insertions(+), 165 deletions(-)
+ extlinux/main.c | 167 +-----------------------------------
+ libinstaller/syslinuxext.c | 171 +++++++++++++++++++++++++++++++++++++
+ 3 files changed, 176 insertions(+), 165 deletions(-)
diff --git a/extlinux/Makefile b/extlinux/Makefile
-index 02d1db5..90dd92f 100644
+index 1721ee54..62a49728 100644
--- a/extlinux/Makefile
+++ b/extlinux/Makefile
-@@ -31,7 +31,8 @@ SRCS = main.c \
+@@ -32,7 +32,8 @@ SRCS = main.c \
../libinstaller/advio.c \
../libinstaller/bootsect_bin.c \
../libinstaller/ldlinuxc32_bin.c \
@@ -33,10 +36,10 @@ index 02d1db5..90dd92f 100644
.SUFFIXES: .c .o .i .s .S
diff --git a/extlinux/main.c b/extlinux/main.c
-index 09740bd..6fe026e 100644
+index ebff7eae..9add50fb 100644
--- a/extlinux/main.c
+++ b/extlinux/main.c
-@@ -60,6 +60,7 @@
+@@ -62,6 +62,7 @@
#include "setadv.h"
#include "syslxopt.h" /* unified options */
#include "mountinfo.h"
@@ -44,7 +47,7 @@ index 09740bd..6fe026e 100644
#ifdef DEBUG
# define dprintf printf
-@@ -67,10 +68,6 @@
+@@ -69,10 +70,6 @@
# define dprintf(...) ((void)0)
#endif
@@ -55,10 +58,11 @@ index 09740bd..6fe026e 100644
/* Since we have unused 2048 bytes in the primary AG of an XFS partition,
* we will use the first 0~512 bytes starting from 2048 for the Syslinux
* boot sector.
-@@ -92,136 +89,6 @@ static char subvol[BTRFS_SUBVOL_MAX];
+@@ -93,136 +90,6 @@ static char subvol[BTRFS_SUBVOL_MAX];
+ #define BTRFS_ADV_OFFSET (BTRFS_BOOT_AREA_A_OFFSET + BTRFS_BOOT_AREA_A_SIZE \
- 2*ADV_SIZE)
- /*
+-/*
- * Get the size of a block device
- */
-static uint64_t get_size(int devfd)
@@ -188,11 +192,10 @@ index 09740bd..6fe026e 100644
- return rv;
-}
-
--/*
+ /*
* Query the device geometry and put it into the boot sector.
* Map the file and put the map in the boot sector and file.
- * Stick the "current directory" inode number into the file.
-@@ -231,11 +98,8 @@ ok:
+@@ -233,11 +100,8 @@ ok:
static int patch_file_and_bootblock(int fd, const char *dir, int devfd)
{
struct stat dirst, xdst;
@@ -204,7 +207,7 @@ index 09740bd..6fe026e 100644
char *dirpath, *subpath, *xdirpath;
int rv;
-@@ -279,33 +143,8 @@ static int patch_file_and_bootblock(int fd, const char *dir, int devfd)
+@@ -281,33 +145,8 @@ static int patch_file_and_bootblock(int fd, const char *dir, int devfd)
/* Now subpath should contain the path relative to the fs base */
dprintf("subpath = %s\n", subpath);
@@ -241,14 +244,15 @@ index 09740bd..6fe026e 100644
/* Construct the boot file map */
diff --git a/libinstaller/syslinuxext.c b/libinstaller/syslinuxext.c
-index bb54cef..5a4423b 100644
+index bb54cefc..9ae82884 100644
--- a/libinstaller/syslinuxext.c
+++ b/libinstaller/syslinuxext.c
-@@ -1,7 +1,177 @@
+@@ -1,7 +1,178 @@
#define _GNU_SOURCE
+#include <sys/stat.h>
+#include <sys/types.h>
++#include <sys/sysmacros.h>
+#include <getopt.h>
+#include <ext2fs/ext2fs.h>
+
@@ -423,5 +427,5 @@ index bb54cef..5a4423b 100644
}
--
-1.9.1
+2.17.1
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0010-gcc46-compatibility.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0010-gcc46-compatibility.patch
deleted file mode 100644
index 6279258c2..000000000
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0010-gcc46-compatibility.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-don't break with old compilers and -DGNU_EFI_USE_MS_ABI
-It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current
-compiler doesn't support it, and gnu-efi should transparently fall back to
-using legacy techniques to set the calling convention. We don't get type
-checking, but at least it will still compile.
-
-Adapted from gnu-efi
-
-Author: Steve Langasek <steve.langasek@ubuntu.com>
-Upstream-Status: Pending
-
-Index: syslinux-6.03/efi64/include/efi/x86_64/efibind.h
-===================================================================
---- syslinux-6.03.orig/efi64/include/efi/x86_64/efibind.h
-+++ syslinux-6.03/efi64/include/efi/x86_64/efibind.h
-@@ -25,8 +25,6 @@ Revision History
- #if defined(GNU_EFI_USE_MS_ABI)
- #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
- #define HAVE_USE_MS_ABI 1
-- #else
-- #error Compiler is too old for GNU_EFI_USE_MS_ABI
- #endif
- #endif
-
-Index: syslinux-6.03/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
-===================================================================
---- syslinux-6.03.orig/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
-+++ syslinux-6.03/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
-@@ -25,8 +25,6 @@ Revision History
- #if defined(GNU_EFI_USE_MS_ABI)
- #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
- #define HAVE_USE_MS_ABI 1
-- #else
-- #error Compiler is too old for GNU_EFI_USE_MS_ABI
- #endif
- #endif
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0011-mk-MMD-does-not-take-any-arguments.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0011-mk-MMD-does-not-take-any-arguments.patch
deleted file mode 100644
index 443c1ccc5..000000000
--- a/poky/meta/recipes-devtools/syslinux/syslinux/0011-mk-MMD-does-not-take-any-arguments.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0f3d83c25491951f1fa84c7957358ef3d1bcd8a9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 9 Sep 2015 17:39:22 +0000
-Subject: [PATCH] mk: -MMD does not take any arguments
-
-Specify -Wp for each option, clang seems to not accept
--Wp,-x,y,-a,b
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- mk/syslinux.mk | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: syslinux-6.03/mk/syslinux.mk
-===================================================================
---- syslinux-6.03.orig/mk/syslinux.mk
-+++ syslinux-6.03/mk/syslinux.mk
-@@ -82,11 +82,11 @@ ARCH ?= $(strip $(SUBARCH))
- GCCWARN = -W -Wall -Wstrict-prototypes $(DEBUGOPT)
-
- # Common stanza to make gcc generate .*.d dependency files
--MAKEDEPS = -Wp,-MT,$@,-MD,$(dir $@).$(notdir $@).d
-+MAKEDEPS = -MT $@ -MD
-
- # Dependencies that exclude system headers; use whenever we use
- # header files from the platform.
--UMAKEDEPS = -Wp,-MT,$@,-MMD,$(dir $@).$(notdir $@).d
-+UMAKEDEPS = -MT $@ -MMD
-
- # Items that are only appropriate during development; this file is
- # removed when tarballs are generated.
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-6.03-sysmacros.patch b/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-6.03-sysmacros.patch
deleted file mode 100644
index 3ce46da10..000000000
--- a/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-6.03-sysmacros.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-https://bugs.gentoo.org/579928
-
-From d84db34dbe39d55b4d7e868764c056689aa0793b Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 19 Apr 2016 01:56:41 -0400
-Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev
-
-These functions are defined in sys/sysmacros.h, so add the include to
-main.c. This is already handled correctly in mountinfo.c. Otherwise
-we get build failures like:
-
-main.o: In function 'find_device_sysfs':
-extlinux/main.c:1131: undefined reference to 'minor'
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-
-The first part wasn't enough in OE build, I had to add the same for syslinuxext.c.
----
- extlinux/main.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/extlinux/main.c b/extlinux/main.c
-index a7ebd49..ebff7ea 100644
---- a/extlinux/main.c
-+++ b/extlinux/main.c
-@@ -38,6 +38,7 @@
- #include <sysexits.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/mount.h>
- #include <sys/vfs.h>
---- a/libinstaller/syslinuxext.c 2017-02-22 20:17:05.336869181 +0100
-+++ b/libinstaller/syslinuxext.c 2017-02-22 20:16:47.500868751 +0100
-@@ -2,6 +2,7 @@
-
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <getopt.h>
- #include <ext2fs/ext2fs.h>
-
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-fix-parallel-building-issue.patch b/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-fix-parallel-building-issue.patch
deleted file mode 100644
index 312b1e8ae..000000000
--- a/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-fix-parallel-building-issue.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-syslinux-native: fix parallel building issue
-
-There might be an error when parallel build:
-
-[snip]
-cp: cannot create directory `tmp/sysroots/x86_64-linux/usr/share/
-syslinux/com32/include/gplinclude': No such file or directory
-make[4]: *** [install] Error 1
-make[3]: *** [gpllib] Error 2
-[snip]
-
-This is a potential issue. In ${S}/com32/gpllib/Makefile file,
-install target wants to copy $(SRC)/../gplinclude to
-$(INSTALLROOT)$(COM32DIR)/include/ directory, but in ${S}/com32/lib/Makefile
-file, the install target will remove $(INSTALLROOT)$(COM32DIR)/include
-directory. We need to do com32/lib first.
-
-The patch make com32/gpllib depends on com32/lib to fix this issue.
-
-Upstream-Status: Pending
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
----
- com32/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-Index: syslinux-6.03/com32/Makefile
-===================================================================
---- syslinux-6.03.orig/com32/Makefile
-+++ syslinux-6.03/com32/Makefile
-@@ -21,3 +21,4 @@ rosh: lib libutil
- samples: libutil elflink/ldlinux
- sysdump: lib libutil libupload gpllib
- lua/src: cmenu modules
-+gpllib: lib
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-libupload-depend-lib.patch b/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-libupload-depend-lib.patch
deleted file mode 100644
index 6ba96aeb5..000000000
--- a/poky/meta/recipes-devtools/syslinux/syslinux/syslinux-libupload-depend-lib.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 490fc3bbd65c2c252c1fdf3da0fac9898aa9eea6 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Fri, 15 Aug 2014 21:09:16 -0700
-Subject: [PATCH] com32/Makefile: fix parallel issue
-
-Fixed:
-cp -r syslinux-6.01/com32/libupload/*.h image/usr/share/syslinux/com32/include/
-[snip]
-rm -rf image/usr/share/syslinux/com32/include
-[snip]
-cp: cannot create regular file `image/usr/share/syslinux/com32/include/serial.h': No such file or directory
-
-The cp is happened in the "libupload" dir, while "rm -fr" is happend in
-"lib" dir, let "libupload" depend "lib" will fix the problem.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- com32/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-Index: syslinux-6.03/com32/Makefile
-===================================================================
---- syslinux-6.03.orig/com32/Makefile
-+++ syslinux-6.03/com32/Makefile
-@@ -22,3 +22,4 @@ samples: libutil elflink/ldlinux
- sysdump: lib libutil libupload gpllib
- lua/src: cmenu modules
- gpllib: lib
-+libupload: lib
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux_6.03.bb b/poky/meta/recipes-devtools/syslinux/syslinux_6.03.bb
deleted file mode 100644
index f8b109409..000000000
--- a/poky/meta/recipes-devtools/syslinux/syslinux_6.03.bb
+++ /dev/null
@@ -1,90 +0,0 @@
-SUMMARY = "Multi-purpose linux bootloader"
-HOMEPAGE = "http://www.syslinux.org/"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://README;beginline=35;endline=41;md5=558f2c71cb1fb9ba511ccd4858e48e8a"
-
-# If you really want to run syslinux, you need mtools. We just want the
-# ldlinux.* stuff for now, so skip mtools-native
-DEPENDS = "nasm-native util-linux e2fsprogs"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/boot/syslinux/syslinux-${PV}.tar.xz \
- file://syslinux-fix-parallel-building-issue.patch \
- file://syslinux-libupload-depend-lib.patch \
- file://syslinux-remove-clean-script.patch \
- file://0001-linux-syslinux-support-ext2-3-4-device.patch \
- file://0002-linux-syslinux-implement-open_ext2_fs.patch \
- file://0003-linux-syslinux-implement-install_to_ext2.patch \
- file://0004-linux-syslinux-add-ext_file_read-and-ext_file_write.patch \
- file://0005-linux-syslinux-implement-handle_adv_on_ext.patch \
- file://0006-linux-syslinux-implement-write_to_ext-and-add-syslin.patch \
- file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \
- file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
- file://0009-linux-syslinux-implement-install_bootblock.patch \
- file://0010-gcc46-compatibility.patch \
- file://0011-mk-MMD-does-not-take-any-arguments.patch \
- file://syslinux-6.03-sysmacros.patch \
- "
-
-SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13"
-SRC_URI[sha256sum] = "26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e"
-
-COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)'
-# Don't let the sanity checker trip on the 32 bit real mode BIOS binaries
-INSANE_SKIP_${PN}-misc = "arch"
-INSANE_SKIP_${PN}-chain = "arch"
-
-EXTRA_OEMAKE = " \
- BINDIR=${bindir} SBINDIR=${sbindir} LIBDIR=${libdir} \
- DATADIR=${datadir} MANDIR=${mandir} INCDIR=${includedir} \
-"
-
-do_configure() {
- # drop win32 targets or build fails
- sed -e 's,win32/\S*,,g' -i Makefile
-
- # clean installer executables included in source tarball
- oe_runmake clean firmware="efi32" EFIINC="${includedir}"
- # NOTE: There is a temporary work around above to specify
- # the efi32 as the firmware else the pre-built bios
- # files get erased contrary to the doc/distib.txt
- # In the future this should be "bios" and not "efi32".
-}
-
-do_compile() {
- # Make sure the recompile is OK.
- # Though the ${B} should always exist, still check it before find and rm.
- [ -d "${B}" ] && find ${B} -name '.*.d' -type f -exec rm -f {} \;
-
- # Rebuild only the installer; keep precompiled bootloaders
- # as per author's request (doc/distrib.txt)
- oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" LDFLAGS="${LDFLAGS}" firmware="bios" installer
-}
-
-do_install() {
- oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" install INSTALLROOT="${D}" firmware="bios"
-
- install -d ${D}${datadir}/syslinux/
- install -m 644 ${S}/bios/core/ldlinux.sys ${D}${datadir}/syslinux/
- install -m 644 ${S}/bios/core/ldlinux.bss ${D}${datadir}/syslinux/
- install -m 755 ${S}/bios/linux/syslinux-nomtools ${D}${bindir}/
-}
-
-PACKAGES += "${PN}-nomtools ${PN}-extlinux ${PN}-mbr ${PN}-chain ${PN}-pxelinux ${PN}-isolinux ${PN}-misc"
-
-RDEPENDS_${PN} += "mtools"
-RDEPENDS_${PN}-nomtools += "libext2fs"
-RDEPENDS_${PN}-misc += "perl"
-
-FILES_${PN} = "${bindir}/syslinux"
-FILES_${PN}-nomtools = "${bindir}/syslinux-nomtools"
-FILES_${PN}-extlinux = "${sbindir}/extlinux"
-FILES_${PN}-mbr = "${datadir}/${BPN}/mbr.bin"
-FILES_${PN}-chain = "${datadir}/${BPN}/chain.c32"
-FILES_${PN}-isolinux = "${datadir}/${BPN}/isolinux.bin"
-FILES_${PN}-pxelinux = "${datadir}/${BPN}/pxelinux.0"
-FILES_${PN}-dev += "${datadir}/${BPN}/com32/lib*${SOLIBS} ${datadir}/${BPN}/com32/include ${datadir}/${BPN}/com32/com32.ld"
-FILES_${PN}-staticdev += "${datadir}/${BPN}/com32/lib*.a ${libdir}/${BPN}/com32/lib*.a"
-FILES_${PN}-misc = "${datadir}/${BPN}/* ${libdir}/${BPN}/* ${bindir}/*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
new file mode 100644
index 000000000..67e5d57d4
--- /dev/null
+++ b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -0,0 +1,91 @@
+SUMMARY = "Multi-purpose linux bootloader"
+HOMEPAGE = "http://www.syslinux.org/"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+ file://README;beginline=35;endline=41;md5=558f2c71cb1fb9ba511ccd4858e48e8a"
+
+# If you really want to run syslinux, you need mtools. We just want the
+# ldlinux.* stuff for now, so skip mtools-native
+DEPENDS = "nasm-native util-linux e2fsprogs"
+PV = "6.04-pre2"
+
+SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz \
+ file://syslinux-remove-clean-script.patch \
+ file://0001-linux-syslinux-support-ext2-3-4-device.patch \
+ file://0002-linux-syslinux-implement-open_ext2_fs.patch \
+ file://0003-linux-syslinux-implement-install_to_ext2.patch \
+ file://0004-linux-syslinux-add-ext_file_read-and-ext_file_write.patch \
+ file://0005-linux-syslinux-implement-handle_adv_on_ext.patch \
+ file://0006-linux-syslinux-implement-write_to_ext-and-add-syslin.patch \
+ file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \
+ file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
+ file://0009-linux-syslinux-implement-install_bootblock.patch \
+ file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
+ "
+
+SRC_URI[md5sum] = "2b31c78f087f99179feb357da312d7ec"
+SRC_URI[sha256sum] = "4441a5d593f85bb6e8d578cf6653fb4ec30f9e8f4a2315a3d8f2d0a8b3fadf94"
+
+UPSTREAM_CHECK_URI = "https://www.zytor.com/pub/syslinux/"
+UPSTREAM_CHECK_REGEX = "syslinux-(?P<pver>.+)\.tar"
+UPSTREAM_VERSION_UNKNOWN = "1"
+
+COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)'
+# Don't let the sanity checker trip on the 32 bit real mode BIOS binaries
+INSANE_SKIP_${PN}-misc = "arch"
+INSANE_SKIP_${PN}-chain = "arch"
+
+EXTRA_OEMAKE = " \
+ BINDIR=${bindir} SBINDIR=${sbindir} LIBDIR=${libdir} \
+ DATADIR=${datadir} MANDIR=${mandir} INCDIR=${includedir} \
+"
+
+do_configure() {
+ # drop win32 targets or build fails
+ sed -e 's,win32/\S*,,g' -i Makefile
+
+ # clean installer executables included in source tarball
+ oe_runmake clean firmware="efi32" EFIINC="${includedir}"
+ # NOTE: There is a temporary work around above to specify
+ # the efi32 as the firmware else the pre-built bios
+ # files get erased contrary to the doc/distib.txt
+ # In the future this should be "bios" and not "efi32".
+}
+
+do_compile() {
+ # Make sure the recompile is OK.
+ # Though the ${B} should always exist, still check it before find and rm.
+ [ -d "${B}" ] && find ${B} -name '.*.d' -type f -exec rm -f {} \;
+
+ # Rebuild only the installer; keep precompiled bootloaders
+ # as per author's request (doc/distrib.txt)
+ oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" LDFLAGS="${LDFLAGS}" firmware="bios" installer
+}
+
+do_install() {
+ oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" firmware="bios" install INSTALLROOT="${D}"
+
+ install -d ${D}${datadir}/syslinux/
+ install -m 644 ${S}/bios/core/ldlinux.sys ${D}${datadir}/syslinux/
+ install -m 644 ${S}/bios/core/ldlinux.bss ${D}${datadir}/syslinux/
+ install -m 755 ${S}/bios/linux/syslinux-nomtools ${D}${bindir}/
+}
+
+PACKAGES += "${PN}-nomtools ${PN}-extlinux ${PN}-mbr ${PN}-chain ${PN}-pxelinux ${PN}-isolinux ${PN}-misc"
+
+RDEPENDS_${PN} += "mtools"
+RDEPENDS_${PN}-nomtools += "libext2fs"
+RDEPENDS_${PN}-misc += "perl"
+
+FILES_${PN} = "${bindir}/syslinux"
+FILES_${PN}-nomtools = "${bindir}/syslinux-nomtools"
+FILES_${PN}-extlinux = "${sbindir}/extlinux"
+FILES_${PN}-mbr = "${datadir}/${BPN}/mbr.bin"
+FILES_${PN}-chain = "${datadir}/${BPN}/chain.c32"
+FILES_${PN}-isolinux = "${datadir}/${BPN}/isolinux.bin"
+FILES_${PN}-pxelinux = "${datadir}/${BPN}/pxelinux.0"
+FILES_${PN}-dev += "${datadir}/${BPN}/com32/lib*${SOLIBS} ${datadir}/${BPN}/com32/include ${datadir}/${BPN}/com32/com32.ld"
+FILES_${PN}-staticdev += "${datadir}/${BPN}/com32/lib*.a ${libdir}/${BPN}/com32/lib*.a"
+FILES_${PN}-misc = "${datadir}/${BPN}/* ${libdir}/${BPN}/* ${bindir}/*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
index d901c18c3..b4bd4ca63 100644
--- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
+++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
@@ -41,6 +41,7 @@ LCL_STOP_SERVICES = "-DSERVICE_RunControl=0 -DSERVICE_Breakpoints=0 \
# These features don't compile for several cases.
#
+CFLAGS_append_arc = " ${LCL_STOP_SERVICES}"
CFLAGS_append_mips = " ${LCL_STOP_SERVICES}"
CFLAGS_append_mips64 = " ${LCL_STOP_SERVICES}"
CFLAGS_append_libc-musl = " ${LCL_STOP_SERVICES}"
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
index dadba655f..22bb69ae0 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -1,8 +1,13 @@
#!/bin/sh
-for i in `ls tests/*.test |awk -F/ '{print $2}'`; \
- do TCL_LIBRARY=library ./tcltest tests/all.tcl -file $i >$i.tmp 2>&1; \
- grep -q "^Files with failing tests:" $i.tmp; \
- if [ $? -eq 0 ]; then echo "FAIL: $i"; \
- else echo "PASS: $i"; rm -f $i.tmp; fi; \
+for i in `ls tests/*.test | awk -F/ '{print $2}'`; do
+ TCL_LIBRARY=library ./tcltest tests/all.tcl -file $i >$i.log 2>&1
+ grep -q "^Files with failing tests:" $i.log
+ if [ $? -eq 0 ]; then
+ echo "FAIL: $i"
+ cat $i.log
+ else
+ echo "PASS: $i"
+ fi
+ rm -f $i.log
done
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_8.6.8.bb b/poky/meta/recipes-devtools/tcltk/tcl_8.6.8.bb
deleted file mode 100644
index 4be2e8940..000000000
--- a/poky/meta/recipes-devtools/tcltk/tcl_8.6.8.bb
+++ /dev/null
@@ -1,101 +0,0 @@
-SUMMARY = "Tool Command Language"
-HOMEPAGE = "http://tcl.sourceforge.net"
-SECTION = "devel/tcltk"
-
-# http://www.tcl.tk/software/tcltk/license.html
-LICENSE = "tcl & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://../license.terms;md5=058f6229798281bbcac4239c788cfa38 \
- file://../compat/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
- file://../library/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
- file://../macosx/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
- file://../tests/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
- file://../win/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
-"
-
-DEPENDS = "tcl-native zlib"
-
-BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
- file://tcl-add-soname.patch"
-SRC_URI = "${BASE_SRC_URI} \
- file://fix_non_native_build_issue.patch \
- file://fix_issue_with_old_distro_glibc.patch \
- file://no_packages.patch \
- file://tcl-remove-hardcoded-install-path.patch \
- file://alter-includedir.patch \
- file://run-ptest \
-"
-SRC_URI[md5sum] = "81656d3367af032e0ae6157eff134f89"
-SRC_URI[sha256sum] = "c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a"
-
-SRC_URI_class-native = "${BASE_SRC_URI}"
-
-S = "${WORKDIR}/${BPN}${PV}/unix"
-
-VER = "${PV}"
-
-inherit autotools ptest binconfig
-
-EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}"
-
-do_compile_prepend() {
- echo > ${S}/../compat/fixstrtod.c
-}
-
-do_install() {
- autotools_do_install
- oe_runmake 'DESTDIR=${D}' install-private-headers
- ln -sf ./tclsh${VER} ${D}${bindir}/tclsh
- ln -sf tclsh8.6 ${D}${bindir}/tclsh${VER}
- sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tclConfig.sh
- sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tclConfig.sh
- install -d ${D}${bindir_crossscripts}
- install -m 0755 tclConfig.sh ${D}${bindir_crossscripts}
- install -m 0755 tclConfig.sh ${D}${libdir}
- for dir in compat generic unix; do
- install -d ${D}${includedir}/${BPN}${VER}/$dir
- install -m 0644 ${S}/../$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/
- done
-}
-
-SYSROOT_DIRS += "${bindir_crossscripts}"
-
-PACKAGES =+ "tcl-lib"
-FILES_tcl-lib = "${libdir}/libtcl8.6.so.*"
-FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8"
-FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh"
-
-# isn't getting picked up by shlibs code
-RDEPENDS_${PN} += "tcl-lib"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}-ptest += "libgcc"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_compile_ptest() {
- oe_runmake tcltest
-}
-
-do_install_ptest() {
- cp ${B}/tcltest ${D}${PTEST_PATH}
- cp -r ${S}/../library ${D}${PTEST_PATH}
- cp -r ${S}/../tests ${D}${PTEST_PATH}
-}
-
-# Fix some paths that might be used by Tcl extensions
-BINCONFIG_GLOB = "*Config.sh"
-
-# Fix the path in sstate
-SSTATE_SCAN_FILES += "*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}/tclConfig.sh
-
- rm -f ${PKGD}${bindir_crossscripts}/tclConfig.sh
-}
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_8.6.9.bb b/poky/meta/recipes-devtools/tcltk/tcl_8.6.9.bb
new file mode 100644
index 000000000..7f3778153
--- /dev/null
+++ b/poky/meta/recipes-devtools/tcltk/tcl_8.6.9.bb
@@ -0,0 +1,101 @@
+SUMMARY = "Tool Command Language"
+HOMEPAGE = "http://tcl.sourceforge.net"
+SECTION = "devel/tcltk"
+
+# http://www.tcl.tk/software/tcltk/license.html
+LICENSE = "tcl & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://../license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+ file://../compat/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+ file://../library/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+ file://../macosx/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+ file://../tests/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+ file://../win/license.terms;md5=058f6229798281bbcac4239c788cfa38 \
+"
+
+DEPENDS = "tcl-native zlib"
+
+BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
+ file://tcl-add-soname.patch"
+SRC_URI = "${BASE_SRC_URI} \
+ file://fix_non_native_build_issue.patch \
+ file://fix_issue_with_old_distro_glibc.patch \
+ file://no_packages.patch \
+ file://tcl-remove-hardcoded-install-path.patch \
+ file://alter-includedir.patch \
+ file://run-ptest \
+"
+SRC_URI[md5sum] = "aa0a121d95a0e7b73a036f26028538d4"
+SRC_URI[sha256sum] = "ad0cd2de2c87b9ba8086b43957a0de3eb2eb565c7159d5f53ccbba3feb915f4e"
+
+SRC_URI_class-native = "${BASE_SRC_URI}"
+
+S = "${WORKDIR}/${BPN}${PV}/unix"
+
+VER = "${PV}"
+
+inherit autotools ptest binconfig
+
+EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}"
+
+do_compile_prepend() {
+ echo > ${S}/../compat/fixstrtod.c
+}
+
+do_install() {
+ autotools_do_install
+ oe_runmake 'DESTDIR=${D}' install-private-headers
+ ln -sf ./tclsh${VER} ${D}${bindir}/tclsh
+ ln -sf tclsh8.6 ${D}${bindir}/tclsh${VER}
+ sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tclConfig.sh
+ sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tclConfig.sh
+ install -d ${D}${bindir_crossscripts}
+ install -m 0755 tclConfig.sh ${D}${bindir_crossscripts}
+ install -m 0755 tclConfig.sh ${D}${libdir}
+ for dir in compat generic unix; do
+ install -d ${D}${includedir}/${BPN}${VER}/$dir
+ install -m 0644 ${S}/../$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/
+ done
+}
+
+SYSROOT_DIRS += "${bindir_crossscripts}"
+
+PACKAGES =+ "tcl-lib"
+FILES_tcl-lib = "${libdir}/libtcl8.6.so.*"
+FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8"
+FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh"
+
+# isn't getting picked up by shlibs code
+RDEPENDS_${PN} += "tcl-lib"
+RDEPENDS_${PN}_class-native = ""
+RDEPENDS_${PN}-ptest += "libgcc"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_compile_ptest() {
+ oe_runmake tcltest
+}
+
+do_install_ptest() {
+ cp ${B}/tcltest ${D}${PTEST_PATH}
+ cp -r ${S}/../library ${D}${PTEST_PATH}
+ cp -r ${S}/../tests ${D}${PTEST_PATH}
+}
+
+# Fix some paths that might be used by Tcl extensions
+BINCONFIG_GLOB = "*Config.sh"
+
+# Fix the path in sstate
+SSTATE_SCAN_FILES += "*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}/tclConfig.sh
+
+ rm -f ${PKGD}${bindir_crossscripts}/tclConfig.sh
+}
diff --git a/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch b/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch
index 477504dca..e521bc854 100644
--- a/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch
+++ b/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch
@@ -1,4 +1,4 @@
-From 57f6b661d7865e8cecd17be36fab68f7f8447998 Mon Sep 17 00:00:00 2001
+From b2723ff18b70c67c8a7fab5375a7f3c442d49790 Mon Sep 17 00:00:00 2001
From: Rico Tzschichholz <ricotz@ubuntu.com>
Date: Wed, 6 Sep 2017 18:52:55 +0200
Subject: [PATCH] libvaladoc: Allow disabling the graphviz dependency of
@@ -10,10 +10,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Upstream-Status: Submitted [bugzilla link above]
---
- configure.ac | 60 +++++++++++++++++++----------------
- libvaladoc/Makefile.am | 25 +++++++++++----
- libvaladoc/html/basicdoclet.vala | 8 +++++
- libvaladoc/html/htmlmarkupwriter.vala | 4 +++
+ configure.ac | 60 ++++++++++++++-------------
+ libvaladoc/Makefile.am | 25 ++++++++---
+ libvaladoc/html/basicdoclet.vala | 8 ++++
+ libvaladoc/html/htmlmarkupwriter.vala | 4 ++
4 files changed, 63 insertions(+), 34 deletions(-)
diff --git a/configure.ac b/configure.ac
@@ -88,10 +88,10 @@ index 730c72d..af81986 100644
AC_PATH_PROG([XSLTPROC], [xsltproc], :)
diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
-index 384292f..cce50d8 100644
+index f3f790e..3c5dc4c 100644
--- a/libvaladoc/Makefile.am
+++ b/libvaladoc/Makefile.am
-@@ -126,10 +126,6 @@ libvaladoc_la_VALASOURCES = \
+@@ -128,10 +128,6 @@ libvaladoc_la_VALASOURCES = \
content/tablerow.vala \
content/taglet.vala \
content/text.vala \
@@ -102,7 +102,7 @@ index 384292f..cce50d8 100644
parser/manyrule.vala \
parser/oneofrule.vala \
parser/optionalrule.vala \
-@@ -156,13 +152,24 @@ libvaladoc_la_VALASOURCES = \
+@@ -158,13 +154,24 @@ libvaladoc_la_VALASOURCES = \
highlighter/codetoken.vala \
highlighter/highlighter.vala \
html/basicdoclet.vala \
@@ -128,18 +128,20 @@ index 384292f..cce50d8 100644
libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
libvaladoc.vala.stamp \
$(libvaladoc_la_VALASOURCES:.vala=.c) \
-@@ -182,9 +189,9 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
+@@ -184,11 +191,11 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
--library valadoc \
--vapi valadoc@PACKAGE_SUFFIX@.vapi \
--vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \
- --vapidir $(top_srcdir)/vapi --pkg libgvc \
--vapidir $(top_srcdir)/gee --pkg gee \
--vapidir $(top_srcdir)/vala --pkg vala \
+ --vapidir $(top_srcdir)/ccode --pkg ccode \
+ --vapidir $(top_srcdir)/codegen --pkg codegen \
+ $(LIBGVC_PKG) \
--pkg config \
$(filter %.vala %.c,$^)
touch $@
-@@ -211,6 +218,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
+@@ -217,6 +224,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc
cp $< $@
@@ -149,7 +151,7 @@ index 384292f..cce50d8 100644
vapidir = $(datadir)/vala/vapi
dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi
-@@ -218,6 +228,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
+@@ -224,6 +234,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps
cp $< $@
@@ -160,7 +162,7 @@ index 384292f..cce50d8 100644
EXTRA_DIST = \
$(libvaladoc_la_VALASOURCES) \
diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala
-index 37c731c..e0326ef 100644
+index 192e488..ec09602 100644
--- a/libvaladoc/html/basicdoclet.vala
+++ b/libvaladoc/html/basicdoclet.vala
@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
@@ -185,7 +187,7 @@ index 37c731c..e0326ef 100644
}
-@@ -1025,6 +1031,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+@@ -1026,6 +1032,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
}
protected void write_image_block (Api.Node element) {
@@ -193,7 +195,7 @@ index 37c731c..e0326ef 100644
if (element is Class || element is Interface || element is Struct) {
unowned string format = (settings.use_svg_images ? "svg" : "png");
var chart = new Charts.Hierarchy (image_factory, element);
-@@ -1044,6 +1051,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+@@ -1045,6 +1052,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
this.get_img_path_html (element, format)});
writer.add_usemap (chart);
}
diff --git a/poky/meta/recipes-devtools/vala/vala_0.42.0.bb b/poky/meta/recipes-devtools/vala/vala_0.42.0.bb
deleted file mode 100644
index 2b02e0c84..000000000
--- a/poky/meta/recipes-devtools/vala/vala_0.42.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
- file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
- file://disable-graphviz.patch \
- file://0001-Disable-valadoc.patch \
-"
-
-SRC_URI[md5sum] = "aa6eb8097d25b5847ad3fab34c0ff865"
-SRC_URI[sha256sum] = "62a55986da23cf3aaafd7624c32db2a1af11c8419e0bb0751727d10f1f7ab7be"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.42.5.bb b/poky/meta/recipes-devtools/vala/vala_0.42.5.bb
new file mode 100644
index 000000000..eea176616
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.42.5.bb
@@ -0,0 +1,10 @@
+require ${BPN}.inc
+
+SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
+ file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
+ file://disable-graphviz.patch \
+ file://0001-Disable-valadoc.patch \
+"
+
+SRC_URI[md5sum] = "d204eb4fa210995e731e2a9a01c8c772"
+SRC_URI[sha256sum] = "8c33b4abc0573d364781bbfe54a1668ed34956902e471191a31cf05dc87c6e12"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch
new file mode 100644
index 000000000..bedf1c127
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch
@@ -0,0 +1,45 @@
+From 7820fc268fae4353118b6355f1d4b9e1b7eeebec Mon Sep 17 00:00:00 2001
+From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
+Date: Sun, 28 Oct 2018 18:35:11 +0100
+Subject: [PATCH] Fix dependencies between libcoregrind*.a and
+ *m_main.o/*m_libcsetjmp.o
+
+The primary and secondary coregrind libraries must be updated
+when m_main.c or m_libcsetjmp.c are changed.
+
+A dependency was missing between libcoregrind*.a and libnolto_coregrind*.a,
+and so tools were not relinked when m_main.c or m_libcsetjmp.c were
+changed.
+
+Upstream-Status: Backport[git://sourceware.org/git/valgrind.git 7820fc268fae4353118b6355f1d4b9e1b7eeebec]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ coregrind/Makefile.am | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
+index 914a270..8de1996 100644
+--- a/coregrind/Makefile.am
++++ b/coregrind/Makefile.am
+@@ -511,6 +511,8 @@ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS += \
+ endif
+ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_LIBADD = \
+ $(libnolto_coregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_OBJECTS)
++libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_DEPENDENCIES = \
++ libnolto_coregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
+
+ if VGCONF_HAVE_PLATFORM_SEC
+ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
+@@ -531,6 +533,8 @@ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS += \
+ endif
+ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_LIBADD = \
+ $(libnolto_coregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_OBJECTS)
++libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_DEPENDENCIES = \
++ libnolto_coregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
+ endif
+
+ #----------------------------------------------------------------------------
+--
+2.10.2
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch
index 3efe65a94..81ab29f3b 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch
@@ -3,7 +3,7 @@ From: Randy MacLeod <Randy.MacLeod@windriver.com>
Date: Fri, 19 Oct 2018 10:31:12 -0400
Subject: [PATCH] Guard against __GLIBC_PREREQ for musl libc
-Upstream-Status: Pending
+Upstream-Status: Submitted https://bugs.kde.org/show_bug.cgi?id=400162
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch
index 45e5ea3e7..8d2ca5733 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch
@@ -18,7 +18,7 @@ and more importantly also avoid an assembler error:
/tmp/cce22iiw.s:915: Error: symbol `exit_0' is already defined
/tmp/cce22iiw.s:917: Error: symbol `exit' is already defined
-Upstream-Status: Pending
+Upstream-Status: Submitted https://bugs.kde.org/show_bug.cgi?id=400164
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch
new file mode 100644
index 000000000..657f80335
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch
@@ -0,0 +1,37 @@
+From 8c1ebb564f5eca2baeedc27a703200786d1abb0b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 22 Dec 2018 15:28:40 -0800
+Subject: [PATCH] tests/amd64: Do not clobber %rsp register
+
+This is seen with gcc-9.0 compiler now which is fix that gcc community
+did recently
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
+
+Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=402480]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ none/tests/amd64-linux/bug345887.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/none/tests/amd64-linux/bug345887.c b/none/tests/amd64-linux/bug345887.c
+index 0f9237d..4b07fe1 100644
+--- a/none/tests/amd64-linux/bug345887.c
++++ b/none/tests/amd64-linux/bug345887.c
+@@ -20,13 +20,14 @@ static void inner(void)
+ "movq $0x10d, %%r14\n"
+ "movq $0x10e, %%r15\n"
+ // not %rbp as mdb is then not able to reconstruct stack trace
+- "movq $0x10f, %%rsp\n"
++ // not %rsp since gcc ignores it and since gcc >= 9.0 errors about it
++ // see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
+ "movq $0x1234, (%%rax)\n" // should cause SEGV here
+ "ud2" // should never get here
+ : // no output registers
+ : // no input registers
+ : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi",
+- "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "%rsp");
++ "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15");
+ }
+
+ __attribute__((noinline))
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb
index 50f8221eb..db1bd9fc5 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb
@@ -36,6 +36,8 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
file://0001-fix-opcode-not-supported-on-mips32-linux.patch \
file://0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch \
file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \
+ file://0001-tests-amd64-Do-not-clobber-rsp-register.patch \
+ file://0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch \
"
SRC_URI[md5sum] = "74175426afa280184b62591b58c671b3"
SRC_URI[sha256sum] = "037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5"
@@ -56,6 +58,9 @@ COMPATIBLE_HOST_linux-muslx32 = 'null'
COMPATIBLE_HOST_mipsarchr6 = 'null'
COMPATIBLE_HOST_linux-gnun32 = 'null'
+# Disable for powerpc64 with musl
+COMPATIBLE_HOST_libc-musl_powerpc64 = 'null'
+
inherit autotools ptest multilib_header
EXTRA_OECONF = "--enable-tls --without-mpicc"
@@ -63,7 +68,6 @@ EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEIN
# valgrind checks host_cpu "armv7*)", so we need to over-ride the autotools.bbclass default --host option
EXTRA_OECONF_append_arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}"
-TARGET_CC_ARCH_remove_arm = "${@get_mcpu(d)}"
EXTRA_OEMAKE = "-w"
@@ -75,14 +79,6 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
# which fixes build path issue in DWARF.
SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}"
-def get_mcpu(d):
- for arg in (d.getVar('TUNE_CCARGS') or '').split():
- if arg.startswith('-mcpu='):
- return arg
- else:
- continue
- return ""
-
do_configure_prepend () {
rm -rf ${S}/config.h
sed -i -e 's:$(abs_top_builddir):$(pkglibdir)/ptest:g' ${S}/none/tests/Makefile.am
@@ -94,8 +90,6 @@ do_install_append () {
oe_multilib_header valgrind/config.h
}
-TUNE = "${@strip_mcpu(d)}"
-
VALGRINDARCH ?= "${TARGET_ARCH}"
VALGRINDARCH_aarch64 = "arm64"
VALGRINDARCH_x86-64 = "amd64"
diff --git a/poky/meta/recipes-devtools/xmlto/files/catalog.xml b/poky/meta/recipes-devtools/xmlto/files/catalog.xml
deleted file mode 100644
index 6b8833d87..000000000
--- a/poky/meta/recipes-devtools/xmlto/files/catalog.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
-<delegateSystem systemIdStartString="http://docbook.org/xml/" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//OASIS//ELEMENTS DocBook" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//OASIS//DTD XML Exchange Table Model 19990315" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//Norman Walsh//DTD CALS Table Model XML" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//Norman Walsh//ELEMENTS DocBk XML" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//Norman Walsh//DTD DocBook XML" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//Norman Walsh//ENTITIES DocBk XML" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//Norman Walsh//DTD DocBk XML" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//Normal Walsh//Exchange Table Model 19960430" catalog="./docbook-xml.xml"/>
-<delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/" catalog="./docbook-xml.xml"/>
-<delegatePublic publicIdStartString="-//OASIS//DTD DocBook CALS Table Model" catalog="./docbook-xml.xml"/>
-<delegateURI uriStartString="http://docbook.sourceforge.net/release/xsl/" catalog="./docbook-xsl.xml"/>
-<delegateSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/" catalog="./docbook-xsl.xml"/>
-</catalog>
diff --git a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
index 6216d7782..df798dfcd 100644
--- a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
+++ b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
@@ -7,22 +7,23 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SRC_URI = "https://releases.pagure.org/xmlto/xmlto-${PV}.tar.gz \
file://configure.in-drop-the-test-of-xmllint-and-xsltproc.patch \
- file://catalog.xml \
"
SRC_URI[md5sum] = "a1fefad9d83499a15576768f60f847c6"
SRC_URI[sha256sum] = "2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51fd8aad3"
inherit autotools
-RDEPENDS_class-native = "libxslt-native"
-# xmlto needs getopt/xmllint/xsltproc/bash/tail at runtime
+DEPENDS = "libxml2-native"
+
RDEPENDS_${PN} = "docbook-xml-dtd4 \
docbook-xsl-stylesheets \
util-linux \
libxml2 \
+ libxslt \
bash \
"
RDEPENDS_${PN}_append_class-target = " \
+ libxml2-utils \
libxslt-bin \
coreutils \
"
@@ -32,10 +33,8 @@ BBCLASSEXTEND = "native"
EXTRA_OECONF_append = " BASH=/bin/bash GCP=/bin/cp XMLLINT=xmllint XSLTPROC=xsltproc"
-do_install_append() {
- install -d ${D}${sysconfdir}/xml/
- install -m 755 ${WORKDIR}/catalog.xml ${D}${sysconfdir}/xml/catalog.xml
- create_wrapper ${D}/${bindir}/xmlto XML_CATALOG_FILES=${sysconfdir}/xml/catalog.xml
+do_install_append_class-native() {
+ create_wrapper ${D}${bindir}/xmlto XML_CATALOG_FILES=${sysconfdir}/xml/catalog
}
do_populate_sysroot[rdeptask] = "do_populate_sysroot"
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch b/poky/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
new file mode 100644
index 000000000..ca170db00
--- /dev/null
+++ b/poky/meta/recipes-extended/asciidoc/asciidoc/auto-catalogs.patch
@@ -0,0 +1,53 @@
+If SGML_CATALOG_FILES is in the environment, pass --catalogs to xmllint and
+xsltproc. Also pass --nonet to xsltproc to detect future missing stylesheet
+problems.
+
+An earlier version of this patch was filed upstream at
+https://github.com/asciidoc/asciidoc-py3/issues/61 so depending on how that goes
+this could get merged.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/a2x.py b/a2x.py
+index 2d7699a..582d809 100755
+--- a/a2x.py
++++ b/a2x.py
+@@ -57,6 +57,10 @@ LYNX_OPTS = '-dump'
+ W3M_OPTS = '-dump -cols 70 -T text/html -no-graph'
+ XSLTPROC_OPTS = ''
+
++if "SGML_CATALOG_FILES" in os.environ:
++ XMLLINT += " --catalogs"
++ XSLTPROC += " --catalogs"
++
+ ######################################################################
+ # End of configuration file parameters.
+ ######################################################################
+@@ -298,7 +302,7 @@ def exec_xsltproc(xsl_file, xml_file, dst_dir, opts = ''):
+ cwd = os.getcwd()
+ shell_cd(dst_dir)
+ try:
+- shell('"%s" %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
++ shell('%s %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
+ finally:
+ shell_cd(cwd)
+
+@@ -483,7 +487,7 @@ class A2X(AttrDict):
+ self.asciidoc_opts += ' --doctype %s' % self.doctype
+ for attr in self.attributes:
+ self.asciidoc_opts += ' --attribute "%s"' % attr
+-# self.xsltproc_opts += ' --nonet'
++ self.xsltproc_opts += ' --nonet'
+ if self.verbose:
+ self.asciidoc_opts += ' --verbose'
+ self.dblatex_opts += ' -V'
+@@ -634,7 +638,7 @@ class A2X(AttrDict):
+ shell('"%s" --backend docbook -a "a2x-format=%s" %s --out-file "%s" "%s"' %
+ (self.asciidoc, self.format, self.asciidoc_opts, docbook_file, self.asciidoc_file))
+ if not self.no_xmllint and XMLLINT:
+- shell('"%s" --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
++ shell('%s --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
+
+ def to_xhtml(self):
+ self.to_docbook()
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
index 38164d557..751bf0f19 100644
--- a/poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
+++ b/poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
@@ -8,17 +8,25 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
file://COPYRIGHT;md5=029ad5428ba5efa20176b396222d4069"
-SRC_URI = "http://downloads.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "c59018f105be8d022714b826b0be130a"
-SRC_URI[sha256sum] = "78db9d0567c8ab6570a6eff7ffdf84eadd91f2dfc0a92a2d0105d323cab4e1f0"
+SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https \
+ file://auto-catalogs.patch"
+SRCREV = "618f6e6f6b558ed1e5f2588cd60a5a6b4f881ca0"
+PV .= "+py3-git${SRCPV}"
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/asciidoc/files/"
+DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
-inherit autotools-brokensep
+S = "${WORKDIR}/git"
-export DESTDIR = "${D}"
-DEPENDS_class-native = "docbook-xml-dtd4-native"
-RDEPENDS_${PN} += "python"
-BBCLASSEXTEND = "native"
+# Tell xmllint where to find the DocBook XML catalogue, because right now it
+# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
+export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
+# Not using automake
+inherit autotools-brokensep
CLEANBROKEN = "1"
+
+# target and nativesdk needs python3, but for native we can use the host.
+RDEPENDS_${PN} += "python3"
+RDEPENDS_remove_class-native = "python3"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/at/at/fix_parallel_build_error.patch b/poky/meta/recipes-extended/at/at/fix_parallel_build_error.patch
index 100f8898e..30d232412 100644
--- a/poky/meta/recipes-extended/at/at/fix_parallel_build_error.patch
+++ b/poky/meta/recipes-extended/at/at/fix_parallel_build_error.patch
@@ -1,3 +1,8 @@
+From 24ef2a6544f9c7ec01bc7ae73dffa2974a1e251d Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 5 Dec 2018 09:46:22 +0800
+Subject: [PATCH] fix parallel build error
+
make -j was failing sometimesa like this
| ccache i586-poky-linux-gcc -march=i586 --sysroot=/home/nitin/build/build0/tmp/sysroots/i586-poky-linux -I. -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -o atd atd.o daemon.o -lfl -lpam -Wl,-O1 -Wl,--as-needed
| parsetime.l:5:19: fatal error: y.tab.h: No such file or directory
@@ -12,24 +17,24 @@ Nitin <nitin.a.kamble@intel.com>
Upstream-Status: Pending
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
Makefile.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile.in b/Makefile.in
-index dd3c2f8..7897e45 100644
+index 4c11913..18ecc23 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -82,6 +82,8 @@ y.tab.c y.tab.h: parsetime.y
+@@ -83,6 +83,8 @@ y.tab.c y.tab.h: parsetime.y
lex.yy.c: parsetime.l
$(LEX) -i parsetime.l
+parsetime.l: y.tab.h
+
atd.service: atd.service.in
- sed -e 's![@]sbindir[@]!$(sbindir)!g' < $< > $@
+ cat $< | sed -e 's![@]sbindir[@]!$(sbindir)!g' | sed -e 's![@]atjobdir[@]!$(atjobdir)!g' > $@
--
-1.9.1
+2.7.4
diff --git a/poky/meta/recipes-extended/at/at/pam.conf.patch b/poky/meta/recipes-extended/at/at/pam.conf.patch
index b5ceb9ae8..c9f337ede 100644
--- a/poky/meta/recipes-extended/at/at/pam.conf.patch
+++ b/poky/meta/recipes-extended/at/at/pam.conf.patch
@@ -1,27 +1,35 @@
+From 8c8a0b6ba199327d2eafefd6611353e1c483a854 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 5 Dec 2018 10:00:36 +0800
+Subject: [PATCH] fix pam.conf
+
oe doesn't support "@include", use the concrete directive instead.
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-Index: at-3.1.15/pam.conf
-===================================================================
---- at-3.1.15.orig/pam.conf
-+++ at-3.1.15/pam.conf
-@@ -1,10 +1,11 @@
- #
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ pam.conf | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/pam.conf b/pam.conf
+index 3674c0a..2f8d586 100644
+--- a/pam.conf
++++ b/pam.conf
+@@ -2,9 +2,9 @@
# The PAM configuration file for the at daemon
#
-+
-+auth required pam_env.so
-+auth include common-auth
-+account include common-account
-+session include common-session-noninteractive
-+session required pam_limits.so
-+session required pam_loginuid.so
--auth required pam_env.so
-@include common-auth
-@include common-account
--session required pam_loginuid.so
++auth include common-auth
++acount include common-account
+ session required pam_loginuid.so
-@include common-session-noninteractive
--session required pam_limits.so
++session include common-session-noninteractive
+ session required pam_limits.so
+ auth required pam_env.so user_readenv=1
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/at/at_3.1.20.bb b/poky/meta/recipes-extended/at/at_3.1.20.bb
deleted file mode 100644
index b76e83d1d..000000000
--- a/poky/meta/recipes-extended/at/at_3.1.20.bb
+++ /dev/null
@@ -1,78 +0,0 @@
-SUMMARY = "Delayed job execution and batch processing"
-HOMEPAGE = "http://blog.calhariz.com/"
-DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \
-the system load levels drop to a particular level."
-SECTION = "base"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-DEPENDS = "flex flex-native bison-native \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-PACKAGECONFIG ?= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
-"
-
-PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
-
-RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
-"
-
-PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits"
-
-RCONFLICTS_${PN} = "atd"
-RREPLACES_${PN} = "atd"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/a/${BPN}/${BPN}_${PV}.orig.tar.gz \
- file://fix_parallel_build_error.patch \
- file://posixtm.c \
- file://posixtm.h \
- file://file_replacement_with_gplv2.patch \
- file://atd.init \
- file://atd.service \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://makefile-fix-parallel.patch \
- file://0001-remove-glibc-assumption.patch \
- "
-
-PAM_SRC_URI = "file://pam.conf.patch \
- file://configure-add-enable-pam.patch"
-
-SRC_URI[md5sum] = "e7bd7b785b2cbb17e133d6bdc0fb099e"
-SRC_URI[sha256sum] = "0871923cab73050b98ace020664eb2ddc1e669e4166b5abb64d864d02fcefab9"
-
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/at/"
-
-EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
- --with-daemon_username=root \
- --with-daemon_groupname=root \
- --with-jobdir=/var/spool/at/jobs \
- --with-atspool=/var/spool/at/spool \
- ac_cv_header_security_pam_appl_h=${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)} "
-
-inherit autotools-brokensep systemd update-rc.d
-
-INITSCRIPT_NAME = "atd"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "atd.service"
-
-copy_sources() {
- cp -f ${WORKDIR}/posixtm.[ch] ${S}
-}
-do_patch[postfuncs] += "copy_sources"
-
-do_install () {
- oe_runmake -e "IROOT=${D}" install
-
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd
-
- # install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/atd.service
-
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
- install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd
- fi
-}
diff --git a/poky/meta/recipes-extended/at/at_3.1.23.bb b/poky/meta/recipes-extended/at/at_3.1.23.bb
new file mode 100644
index 000000000..b74882d34
--- /dev/null
+++ b/poky/meta/recipes-extended/at/at_3.1.23.bb
@@ -0,0 +1,78 @@
+SUMMARY = "Delayed job execution and batch processing"
+HOMEPAGE = "http://blog.calhariz.com/"
+DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \
+the system load levels drop to a particular level."
+SECTION = "base"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
+DEPENDS = "flex flex-native bison-native \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+PACKAGECONFIG ?= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
+"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
+
+RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
+"
+
+PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits"
+
+RCONFLICTS_${PN} = "atd"
+RREPLACES_${PN} = "atd"
+
+SRC_URI = "http://snapshot.debian.org/archive/debian/20180825T090248Z/pool/main/a/${BPN}/${BPN}_${PV}.orig.tar.gz \
+ file://fix_parallel_build_error.patch \
+ file://posixtm.c \
+ file://posixtm.h \
+ file://file_replacement_with_gplv2.patch \
+ file://atd.init \
+ file://atd.service \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://makefile-fix-parallel.patch \
+ file://0001-remove-glibc-assumption.patch \
+ "
+
+PAM_SRC_URI = "file://pam.conf.patch \
+ file://configure-add-enable-pam.patch"
+
+SRC_URI[md5sum] = "1cec945506b5ddf1d776c92c315fc581"
+SRC_URI[sha256sum] = "97450aa954aaa8a70218cc8e61a33df9fee9f86527e9f861de302fb7a3c81710"
+
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/at/"
+
+EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
+ --with-daemon_username=root \
+ --with-daemon_groupname=root \
+ --with-jobdir=/var/spool/at/jobs \
+ --with-atspool=/var/spool/at/spool \
+ ac_cv_header_security_pam_appl_h=${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)} "
+
+inherit autotools-brokensep systemd update-rc.d
+
+INITSCRIPT_NAME = "atd"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE_${PN} = "atd.service"
+
+copy_sources() {
+ cp -f ${WORKDIR}/posixtm.[ch] ${S}
+}
+do_patch[postfuncs] += "copy_sources"
+
+do_install () {
+ oe_runmake -e "IROOT=${D}" install
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd
+
+ # install systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/atd.service
+
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+ install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd
+ fi
+}
diff --git a/poky/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch b/poky/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch
new file mode 100644
index 000000000..65bca6510
--- /dev/null
+++ b/poky/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch
@@ -0,0 +1,19 @@
+Description: Fix FTBFS with glibc 2.28
+Author: Adrian Bunk <bunk@debian.org>
+Bug-Debian: https://bugs.debian.org/917055
+
+This patch is taken from
+http://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.1.debian.tar.xz
+
+Upstream-Status: Inappropriate [upstream is dead]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+--- blktool-4.orig/blktool.c
++++ blktool-4/blktool.c
+@@ -18,6 +18,7 @@
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <sys/ioctl.h>
++#include <sys/sysmacros.h>
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <getopt.h>
diff --git a/poky/meta/recipes-extended/blktool/blktool/blktool-gnulib-makedev.patch b/poky/meta/recipes-extended/blktool/blktool/blktool-gnulib-makedev.patch
deleted file mode 100644
index 6eea608b2..000000000
--- a/poky/meta/recipes-extended/blktool/blktool/blktool-gnulib-makedev.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-include <sys/sysmacros.h> for major/minor defintions
-
-Fixes
-
-| ../blktool-4.orig/blktool.c: In function 'detect_dev_class':
-| ../blktool-4.orig/blktool.c:295:10: warning: implicit declaration of function 'major' [-Wimplicit-function-declaration]
-| switch (major(st_rdev)) {
-| ^~~~~
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: blktool-4.orig/blktool.c
-===================================================================
---- blktool-4.orig.orig/blktool.c
-+++ blktool-4.orig/blktool.c
-@@ -27,6 +27,7 @@
- #include <linux/cdrom.h>
- #include <linux/major.h>
- #include <scsi/scsi.h>
-+#include <sys/sysmacros.h>
-
- #include "blktool.h"
-
diff --git a/poky/meta/recipes-extended/blktool/blktool_4-7.1.bb b/poky/meta/recipes-extended/blktool/blktool_4-7.1.bb
new file mode 100644
index 000000000..ff2eaa535
--- /dev/null
+++ b/poky/meta/recipes-extended/blktool/blktool_4-7.1.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Tune low-level block device parameters"
+DESCRIPTION = "blktool is used for querying and/or changing settings \
+of a block device. It is like hdparm but a more general tool, as it \
+works on SCSI, IDE and SATA devices."
+HOMEPAGE = "http://packages.debian.org/unstable/admin/blktool"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://blktool.c;beginline=7;endline=8;md5=a5e798ea98fd50972088968a15e5f373"
+
+DEPENDS = "glib-2.0"
+
+SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/b/${BPN}/${BPN}_4.orig.tar.gz;name=tarball \
+ file://0001-fix-typos-in-manpage.patch \
+ file://0002-fix-string-error.patch \
+ file://0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch \
+ file://0004-fix-ftbfs-glibc-2.28.patch \
+ "
+
+SRC_URI[tarball.md5sum] = "62edc09c9908107e69391c87f4f3fd40"
+SRC_URI[tarball.sha256sum] = "b1e6d5912546d2a4b704ec65c2b9664aa3b4663e7d800e06803330335a2cb764"
+
+# for this package we're mostly interested in tracking debian patches,
+# and not in the upstream version where all development has effectively stopped
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/blktool/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
+
+S = "${WORKDIR}/${BPN}-4.orig"
+
+inherit autotools pkgconfig
diff --git a/poky/meta/recipes-extended/blktool/blktool_4-7.bb b/poky/meta/recipes-extended/blktool/blktool_4-7.bb
deleted file mode 100644
index 0e6f7ee6d..000000000
--- a/poky/meta/recipes-extended/blktool/blktool_4-7.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Tune low-level block device parameters"
-DESCRIPTION = "blktool is used for querying and/or changing settings \
-of a block device. It is like hdparm but a more general tool, as it \
-works on SCSI, IDE and SATA devices."
-HOMEPAGE = "http://packages.debian.org/unstable/admin/blktool"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://blktool.c;beginline=7;endline=8;md5=a5e798ea98fd50972088968a15e5f373"
-
-DEPENDS = "glib-2.0"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/b/${BPN}/${BPN}_4.orig.tar.gz;name=tarball \
- file://0001-fix-typos-in-manpage.patch \
- file://0002-fix-string-error.patch \
- file://0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch \
- file://blktool-gnulib-makedev.patch \
- "
-
-SRC_URI[tarball.md5sum] = "62edc09c9908107e69391c87f4f3fd40"
-SRC_URI[tarball.sha256sum] = "b1e6d5912546d2a4b704ec65c2b9664aa3b4663e7d800e06803330335a2cb764"
-
-# for this package we're mostly interested in tracking debian patches,
-# and not in the upstream version where all development has effectively stopped
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/blktool/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
-
-S = "${WORKDIR}/${BPN}-4.orig"
-
-inherit autotools pkgconfig
diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
index 025f45c47..7d04e30d5 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
+++ b/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
@@ -29,7 +29,7 @@ CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=
inherit autotools update-alternatives ptest relative_symlinks
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "bunzip2 bzcat"
+ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2"
#install binaries to bzip2-native under sysroot for replacement-native
EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
diff --git a/poky/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch b/poky/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch
index 2043c890c..ec8b303c4 100644
--- a/poky/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch
+++ b/poky/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch
@@ -1,87 +1,51 @@
-Upstream-Status: Submitted [bugs-cpio]
+Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
-From 3f0bd5a40ad0ceaee78c74a52a7166ed7f08db81 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Thu, 29 Nov 2018 07:03:48 +0100
-Subject: [PATCH] Fix segfault with --append
+From 32d95fe0c90c59352a0ce3102fc9866cbfb0f629 Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray@gnu.org>
+Date: Sat, 1 Dec 2018 11:40:02 +0200
+Subject: [PATCH] Fix sigfault when appending to archive
-The --append mode combines both process_copy_in() and
-process_copy_out() methods, each of them working with different
-(local) file_hdr->c_name buffers. So ensure that
-cpio_set_c_name() isn't using the same static variable for
-maintaining length of different buffers.
+Bug reported by Ross Burton. See
+<http://lists.gnu.org/archive/html/bug-cpio/2018-11/msg00000.html>
-Complements d36ec5f4e93130efb24fb9. Thanks to Ross Burton.
-
-* src/copyin.c (process_copy_in): Always initialize file_hdr.
-* src/copyout.c (process_copy_out): Likewise.
-* src/cpiohdr.h (cpio_file_stat): Add c_name_buflen variable.
-* src/util.c (cpio_set_c_name): Use file_hdr->c_name_buflen.
+* src/util.c: Keep static copy of the buffer pointer; always
+assign it to file_hdr->c_name. Use x2realloc for memory management.
---
- src/copyin.c | 1 +
- src/copyout.c | 1 +
- src/cpiohdr.h | 1 +
- src/util.c | 3 ++-
- 4 files changed, 5 insertions(+), 1 deletion(-)
+ src/util.c | 17 ++++-------------
+ 1 file changed, 4 insertions(+), 13 deletions(-)
-diff --git a/src/copyin.c b/src/copyin.c
-index ba887ae..767c2f8 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -1213,6 +1213,7 @@ process_copy_in ()
-
- newdir_umask = umask (0); /* Reset umask to preserve modes of
- created files */
-+ memset (&file_hdr, 0, sizeof (struct cpio_file_stat));
-
- /* Initialize the copy in. */
- if (pattern_file_name)
-diff --git a/src/copyout.c b/src/copyout.c
-index 7532dac..fb890cb 100644
---- a/src/copyout.c
-+++ b/src/copyout.c
-@@ -594,6 +594,7 @@ process_copy_out ()
-
- /* Initialize the copy out. */
- ds_init (&input_name, 128);
-+ memset (&file_hdr, 0, sizeof (struct cpio_file_stat));
- file_hdr.c_magic = 070707;
-
- /* Check whether the output file might be a tape. */
-diff --git a/src/cpiohdr.h b/src/cpiohdr.h
-index 588135b..cf64f3e 100644
---- a/src/cpiohdr.h
-+++ b/src/cpiohdr.h
-@@ -127,6 +127,7 @@ struct cpio_file_stat /* Internal representation of a CPIO header */
- uint32_t c_chksum;
- char *c_name;
- char *c_tar_linkname;
-+ size_t c_name_buflen;
- };
-
- void cpio_set_c_name(struct cpio_file_stat *file_hdr, char *name);
diff --git a/src/util.c b/src/util.c
-index 10486dc..1256469 100644
+index 10486dc..4e49124 100644
--- a/src/util.c
+++ b/src/util.c
-@@ -1413,7 +1413,7 @@ set_file_times (int fd,
+@@ -1413,22 +1413,13 @@ set_file_times (int fd,
void
cpio_set_c_name (struct cpio_file_stat *file_hdr, char *name)
{
-- static size_t buflen = 0;
-+ size_t buflen = file_hdr->c_name_buflen;
++ static char *buf = NULL;
+ static size_t buflen = 0;
size_t len = strlen (name) + 1;
- if (buflen == 0)
-@@ -1430,6 +1430,7 @@ cpio_set_c_name (struct cpio_file_stat *file_hdr, char *name)
- }
-
+- if (buflen == 0)
+- {
+- buflen = len;
+- if (buflen < 32)
+- buflen = 32;
+- file_hdr->c_name = xmalloc (buflen);
+- }
+- else if (buflen < len)
+- {
+- buflen = len;
+- file_hdr->c_name = xrealloc (file_hdr->c_name, buflen);
+- }
+-
++ while (buflen < len)
++ buf = x2realloc (buf, &buflen);
++ file_hdr->c_name = buf;
file_hdr->c_namesize = len;
-+ file_hdr->c_name_buflen = buflen;
memmove (file_hdr->c_name, name, len);
}
-
--
-2.11.0
+2.18.0
diff --git a/poky/meta/recipes-extended/cpio/cpio_2.12.bb b/poky/meta/recipes-extended/cpio/cpio_2.12.bb
index 6ba8337e5..cb845c307 100644
--- a/poky/meta/recipes-extended/cpio/cpio_2.12.bb
+++ b/poky/meta/recipes-extended/cpio/cpio_2.12.bb
@@ -27,6 +27,9 @@ do_install () {
mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
rmdir ${D}${bindir}/
fi
+
+ # Avoid conflicts with the version from tar
+ mv "${D}${mandir}/man8/rmt.8" "${D}${mandir}/man8/rmt-cpio.8"
}
PACKAGES =+ "${PN}-rmt"
diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc
index c142a4d99..5010f0861 100644
--- a/poky/meta/recipes-extended/cups/cups.inc
+++ b/poky/meta/recipes-extended/cups/cups.inc
@@ -29,7 +29,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi',
${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
-PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam"
+PACKAGECONFIG[pam] = "--enable-pam --with-pam-module=unix, --disable-pam, libpam"
PACKAGECONFIG[systemd] = "--with-systemd=${systemd_system_unitdir},--without-systemd,systemd"
PACKAGECONFIG[xinetd] = "--with-xinetd=${sysconfdir}/xinetd.d,--without-xinetd,xinetd"
diff --git a/poky/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch b/poky/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch
index db013cf08..d6a69f283 100644
--- a/poky/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch
+++ b/poky/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch
@@ -1,20 +1,21 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-From 90069586167b930befce7303aea57078f04b4ed8 Mon Sep 17 00:00:00 2001
+From 1fb07162a9ed187cccf06e34c9bf841d15c6e64e Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Sun, 30 Jan 2011 16:37:27 +0100
Subject: [PATCH] don't try to run generated binaries
+Upstream-Status: Inappropriate [embedded specific]
+
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
---
- ppdc/Makefile | 30 +++++++++++++++---------------
- 1 files changed, 15 insertions(+), 15 deletions(-)
+ ppdc/Makefile | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
-Index: cups-2.2.6/ppdc/Makefile
-===================================================================
---- cups-2.2.6.orig/ppdc/Makefile
-+++ cups-2.2.6/ppdc/Makefile
-@@ -228,8 +228,8 @@ genstrings: genstrings.o libcupsppdc.a
+diff --git a/ppdc/Makefile b/ppdc/Makefile
+index e563988..973dd3f 100644
+--- a/ppdc/Makefile
++++ b/ppdc/Makefile
+@@ -189,8 +189,8 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
$(LD_CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \
$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
@@ -25,10 +26,10 @@ Index: cups-2.2.6/ppdc/Makefile
#
-@@ -246,9 +246,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../cu
- $(LD_CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
+@@ -209,9 +209,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
$(COMMONLIBS) $(LIBZ)
+ $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
- echo Testing PPD compiler...
- ./ppdc-static -l en,fr -I ../data foo.drv
- ./ppdc-static -l en,fr -z -I ../data foo.drv
@@ -38,10 +39,10 @@ Index: cups-2.2.6/ppdc/Makefile
#
-@@ -274,17 +274,17 @@ ppdi-static: ppdc-static ppdi.o libcups
- $(LD_CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
+@@ -240,17 +240,17 @@ ppdi-static: ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
$(COMMONLIBS) $(LIBZ)
+ $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
- echo Testing PPD importer...
- $(RM) -r ppd ppd2 sample-import.drv
- ./ppdc-static -l en -I ../data sample.drv
diff --git a/poky/meta/recipes-extended/cups/cups_2.2.10.bb b/poky/meta/recipes-extended/cups/cups_2.2.10.bb
new file mode 100644
index 000000000..490c84e2f
--- /dev/null
+++ b/poky/meta/recipes-extended/cups/cups_2.2.10.bb
@@ -0,0 +1,6 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
+
+SRC_URI[md5sum] = "3d22d747403ec5dcd0b66d1332564816"
+SRC_URI[sha256sum] = "77c8b2b3bb7fe8b5fbfffc307f2c817b2d7ec67b657f261a1dd1c61ab81205bb"
diff --git a/poky/meta/recipes-extended/cups/cups_2.2.8.bb b/poky/meta/recipes-extended/cups/cups_2.2.8.bb
deleted file mode 100644
index de1bd84bf..000000000
--- a/poky/meta/recipes-extended/cups/cups_2.2.8.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
-
-SRC_URI[md5sum] = "33150d08993a04c8e22176e93805a051"
-SRC_URI[sha256sum] = "3968fc1d26fc48727508db1c1380e36c6694ab90177fd6920aec5f6cc73af9e4"
diff --git a/poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ba1a4bab4..000000000
--- a/poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gnulib.mk b/lib/gnulib.mk
-index e1d74db..c0e92dd 100644
---- a/lib/gnulib.mk
-+++ b/lib/gnulib.mk
-@@ -1882,7 +1882,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 ;; \
---
-2.1.4
-
diff --git a/poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch b/poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch
deleted file mode 100644
index 351f87cab..000000000
--- a/poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Subject: explicitly disable replacing getopt
-
-Explicitly disable replacing getopt to avoid compilation error like below.
-
- xstrtol-error.c:84:26: error: invalid use of undefined type 'struct rpl_option'
-
-Upstream-Status: Inappropriate [workaround]
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- m4/getopt.m4 | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/m4/getopt.m4 b/m4/getopt.m4
-index 3ebc7b7..8934426 100644
---- a/m4/getopt.m4
-+++ b/m4/getopt.m4
-@@ -22,8 +22,8 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
- fi
- ])
- if test $REPLACE_GETOPT = 1; then
-- dnl Arrange for getopt.h to be created.
-- gl_GETOPT_SUBSTITUTE_HEADER
-+ dnl Explicitly disable replacing getopt
-+ :
- fi
- ])
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest b/poky/meta/recipes-extended/diffutils/diffutils/run-ptest
index 695c5e8a7..695c5e8a7 100644
--- a/poky/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest
+++ b/poky/meta/recipes-extended/diffutils/diffutils/run-ptest
diff --git a/poky/meta/recipes-extended/diffutils/diffutils_3.6.bb b/poky/meta/recipes-extended/diffutils/diffutils_3.6.bb
deleted file mode 100644
index 8ba897d18..000000000
--- a/poky/meta/recipes-extended/diffutils/diffutils_3.6.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-require diffutils.inc
-
-SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- file://run-ptest \
-"
-SRC_URI_append_libc-glibc = " file://0001-explicitly-disable-replacing-getopt.patch"
-
-SRC_URI[md5sum] = "07cf286672ced26fba54cd0313bdc071"
-SRC_URI[sha256sum] = "d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6"
-
-EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix"
-
-# Fix "Argument list too long" error when len(TMPDIR) = 410
-acpaths = "-I ./m4"
-
-inherit ptest
-
-RDEPENDS_${PN}-ptest += "make"
-
-do_install_ptest() {
- t=${D}${PTEST_PATH}
- install -D ${S}/build-aux/test-driver $t/build-aux/test-driver
- cp -r ${S}/tests $t/
- install ${B}/tests/Makefile $t/tests/
- sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- -e 's|^Makefile:|_Makefile:|' \
- -e 's|bash|sh|' \
- -e 's|^top_srcdir = \(.*\)|top_srcdir = ..\/|' \
- -e 's|^srcdir = \(.*\)|srcdir = .|' \
- -e 's|"`$(built_programs)`"|diff|' \
- -e 's|gawk|awk|g' \
- -i $t/tests/Makefile
-}
diff --git a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb
new file mode 100644
index 000000000..7daeee351
--- /dev/null
+++ b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb
@@ -0,0 +1,39 @@
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+require diffutils.inc
+
+SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
+ file://run-ptest \
+"
+
+SRC_URI[md5sum] = "4824adc0e95dbbf11dfbdfaad6a1e461"
+SRC_URI[sha256sum] = "b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26"
+
+EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix"
+
+# Fix "Argument list too long" error when len(TMPDIR) = 410
+acpaths = "-I ./m4"
+
+inherit ptest
+
+RDEPENDS_${PN}-ptest += "make"
+
+do_install_ptest() {
+ t=${D}${PTEST_PATH}
+ install -D ${S}/build-aux/test-driver $t/build-aux/test-driver
+ cp -r ${S}/tests $t/
+ install ${B}/tests/Makefile $t/tests/
+ sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${HOSTTOOLS_DIR}/::g' \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+ -e 's|^Makefile:|_Makefile:|' \
+ -e 's|bash|sh|' \
+ -e 's|^top_srcdir = \(.*\)|top_srcdir = ..\/|' \
+ -e 's|^srcdir = \(.*\)|srcdir = .|' \
+ -e 's|"`$(built_programs)`"|diff|' \
+ -e 's|gawk|awk|g' \
+ -i $t/tests/Makefile
+}
diff --git a/poky/meta/recipes-extended/ed/ed_1.14.2.bb b/poky/meta/recipes-extended/ed/ed_1.14.2.bb
deleted file mode 100644
index 87d03b10b..000000000
--- a/poky/meta/recipes-extended/ed/ed_1.14.2.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Line-oriented text editor"
-HOMEPAGE = "http://www.gnu.org/software/ed/"
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \
- file://ed.h;endline=20;md5=4e36b7a40e137f42aee718165590d125 \
- file://main.c;endline=17;md5=c5b8f78f115df187af76868a2aead16a"
-
-SECTION = "base"
-
-# LSB states that ed should be in /bin/
-bindir = "${base_bindir}"
-
-# Upstream regularly removes previous releases from https://ftp.gnu.org/gnu/ed/
-SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz"
-UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
-
-SRC_URI[md5sum] = "273d04778b2a51f7c3cbfcd2001876bf"
-SRC_URI[sha256sum] = "f57962ba930d70d02fc71d6be5c5f2346b16992a455ab9c43be7061dec9810db"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-inherit texinfo
-
-do_configure() {
- ${S}/configure
-}
-
-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/poky/meta/recipes-extended/ed/ed_1.15.bb b/poky/meta/recipes-extended/ed/ed_1.15.bb
new file mode 100644
index 000000000..c79310325
--- /dev/null
+++ b/poky/meta/recipes-extended/ed/ed_1.15.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Line-oriented text editor"
+HOMEPAGE = "http://www.gnu.org/software/ed/"
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \
+ file://ed.h;endline=20;md5=8af8e7dc7275dca05ce6c9e7ece7aec8 \
+ file://main.c;endline=17;md5=d4dd6a62c502712358ca18551f978781 \
+ "
+
+SECTION = "base"
+
+# LSB states that ed should be in /bin/
+bindir = "${base_bindir}"
+
+# Upstream regularly removes previous releases from https://ftp.gnu.org/gnu/ed/
+SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz"
+UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
+
+SRC_URI[md5sum] = "d3aaeb5eb032142948d7a2f98a24899b"
+SRC_URI[sha256sum] = "ad4489c0ad7a108c514262da28e6c2a426946fb408a3977ef1ed34308bdfd174"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+inherit texinfo
+
+do_configure() {
+ ${S}/configure
+}
+
+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/poky/meta/recipes-extended/findutils/findutils_4.6.0.bb b/poky/meta/recipes-extended/findutils/findutils_4.6.0.bb
index 5e4ca9486..3b62ed996 100644
--- a/poky/meta/recipes-extended/findutils/findutils_4.6.0.bb
+++ b/poky/meta/recipes-extended/findutils/findutils_4.6.0.bb
@@ -16,6 +16,6 @@ SRC_URI[md5sum] = "9936aa8009438ce185bea2694a997fc1"
SRC_URI[sha256sum] = "ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d"
# http://savannah.gnu.org/bugs/?27299
-CACHED_CONFIGUREVARS += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', 'gl_cv_func_wcwidth_works=yes', '', d)}"
+CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0001.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0001.patch
deleted file mode 100644
index b2c1ade4b..000000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0001.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From c8c77690199b677f70093824382f0881e643e17b Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Wed, 5 Dec 2018 12:22:13 +0000
-Subject: [PATCH 1/7] Sanitize op stack for error conditions
-
-We save the stacks to an array and store the array for the error handler to
-access.
-
-For SAFER, we traverse the array, and deep copy any op arrays (procedures). As
-we make these copies, we check for operators that do *not* exist in systemdict,
-when we find one, we replace the operator with a name object (of the form
-"/--opname--").
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- psi/int.mak | 3 +-
- psi/interp.c | 8 ++++++
- psi/istack.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- psi/istack.h | 3 ++
- 4 files changed, 91 insertions(+), 1 deletion(-)
-
-diff --git a/psi/int.mak b/psi/int.mak
-index 6ab5bf0..6b349cb 100644
---- a/psi/int.mak
-+++ b/psi/int.mak
-@@ -204,7 +204,8 @@ $(PSOBJ)iparam.$(OBJ) : $(PSSRC)iparam.c $(GH)\
- $(PSOBJ)istack.$(OBJ) : $(PSSRC)istack.c $(GH) $(memory__h)\
- $(ierrors_h) $(gsstruct_h) $(gsutil_h)\
- $(ialloc_h) $(istack_h) $(istkparm_h) $(istruct_h) $(iutil_h) $(ivmspace_h)\
-- $(store_h) $(INT_MAK) $(MAKEDIRS)
-+ $(store_h) $(icstate_h) $(iname_h) $(dstack_h) $(idict_h) \
-+ $(INT_MAK) $(MAKEDIRS)
- $(PSCC) $(PSO_)istack.$(OBJ) $(C_) $(PSSRC)istack.c
-
- $(PSOBJ)iutil.$(OBJ) : $(PSSRC)iutil.c $(GH) $(math__h) $(memory__h) $(string__h)\
-diff --git a/psi/interp.c b/psi/interp.c
-index 6dc0dda..aa5779c 100644
---- a/psi/interp.c
-+++ b/psi/interp.c
-@@ -761,6 +761,7 @@ copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip, ref * arr)
- uint size = ref_stack_count(pstack) - skip;
- uint save_space = ialloc_space(idmemory);
- int code, i;
-+ ref *safety, *safe;
-
- if (size > 65535)
- size = 65535;
-@@ -778,6 +779,13 @@ copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip, ref * arr)
- make_null(&arr->value.refs[i]);
- }
- }
-+ if (pstack == &o_stack && dict_find_string(systemdict, "SAFETY", &safety) > 0 &&
-+ dict_find_string(safety, "safe", &safe) > 0 && r_has_type(safe, t_boolean) &&
-+ safe->value.boolval == true) {
-+ code = ref_stack_array_sanitize(i_ctx_p, arr, arr);
-+ if (code < 0)
-+ return code;
-+ }
- ialloc_set_space(idmemory, save_space);
- return code;
- }
-diff --git a/psi/istack.c b/psi/istack.c
-index 8fe151f..f1a3e51 100644
---- a/psi/istack.c
-+++ b/psi/istack.c
-@@ -27,6 +27,10 @@
- #include "iutil.h"
- #include "ivmspace.h" /* for local/global test */
- #include "store.h"
-+#include "icstate.h"
-+#include "iname.h"
-+#include "dstack.h"
-+#include "idict.h"
-
- /* Forward references */
- static void init_block(ref_stack_t *pstack, const ref *pblock_array,
-@@ -294,6 +298,80 @@ ref_stack_store_check(const ref_stack_t *pstack, ref *parray, uint count,
- return 0;
- }
-
-+int
-+ref_stack_array_sanitize(i_ctx_t *i_ctx_p, ref *sarr, ref *darr)
-+{
-+ int i, code;
-+ ref obj, arr2;
-+ ref *pobj2;
-+ gs_memory_t *mem = (gs_memory_t *)idmemory->current;
-+
-+ if (!r_is_array(sarr) || !r_has_type(darr, t_array))
-+ return_error(gs_error_typecheck);
-+
-+ for (i = 0; i < r_size(sarr); i++) {
-+ code = array_get(mem, sarr, i, &obj);
-+ if (code < 0)
-+ make_null(&obj);
-+ switch(r_type(&obj)) {
-+ case t_operator:
-+ {
-+ int index = op_index(&obj);
-+
-+ if (index > 0 && index < op_def_count) {
-+ const byte *data = (const byte *)(op_index_def(index)->oname + 1);
-+ if (dict_find_string(systemdict, (const char *)data, &pobj2) <= 0) {
-+ byte *s = gs_alloc_bytes(mem, strlen((char *)data) + 5, "ref_stack_array_sanitize");
-+ if (s) {
-+ s[0] = '\0';
-+ strcpy((char *)s, "--");
-+ strcpy((char *)s + 2, (char *)data);
-+ strcpy((char *)s + strlen((char *)data) + 2, "--");
-+ }
-+ else {
-+ s = (byte *)data;
-+ }
-+ code = name_ref(imemory, s, strlen((char *)s), &obj, 1);
-+ if (code < 0) make_null(&obj);
-+ if (s != data)
-+ gs_free_object(mem, s, "ref_stack_array_sanitize");
-+ }
-+ }
-+ else {
-+ make_null(&obj);
-+ }
-+ ref_assign(darr->value.refs + i, &obj);
-+ break;
-+ }
-+ case t_array:
-+ case t_shortarray:
-+ case t_mixedarray:
-+ {
-+ int attrs = r_type_attrs(&obj) & (a_write | a_read | a_execute | a_executable);
-+ /* We only want to copy executable arrays */
-+ if (attrs & (a_execute | a_executable)) {
-+ code = ialloc_ref_array(&arr2, attrs, r_size(&obj), "ref_stack_array_sanitize");
-+ if (code < 0) {
-+ make_null(&arr2);
-+ }
-+ else {
-+ code = ref_stack_array_sanitize(i_ctx_p, &obj, &arr2);
-+ }
-+ ref_assign(darr->value.refs + i, &arr2);
-+ }
-+ else {
-+ ref_assign(darr->value.refs + i, &obj);
-+ }
-+ break;
-+ }
-+ default:
-+ ref_assign(darr->value.refs + i, &obj);
-+ }
-+ }
-+ return 0;
-+}
-+
-+
- /*
- * Store the top 'count' elements of a stack, starting 'skip' elements below
- * the top, into an array, with or without store/undo checking. age=-1 for
-diff --git a/psi/istack.h b/psi/istack.h
-index 051dcbe..54be405 100644
---- a/psi/istack.h
-+++ b/psi/istack.h
-@@ -129,6 +129,9 @@ int ref_stack_store(const ref_stack_t *pstack, ref *parray, uint count,
- uint skip, int age, bool check,
- gs_dual_memory_t *idmem, client_name_t cname);
-
-+int
-+ref_stack_array_sanitize(i_ctx_t *i_ctx_p, ref *sarr, ref *darr);
-+
- /*
- * Pop the top N elements off a stack.
- * The number must not exceed the number of elements in use.
---
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0002.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0002.patch
deleted file mode 100644
index 97c74e7e3..000000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0002.patch
+++ /dev/null
@@ -1,442 +0,0 @@
-From 20001d2bdf3cc60e76241a6ae72b1df01c5424c5 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Thu, 13 Dec 2018 15:28:34 +0000
-Subject: [PATCH 2/7] Any transient procedures that call .force* operators
-
-(i.e. for conditionals or loops) make them executeonly.
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_diskn.ps | 2 +-
- Resource/Init/gs_dps1.ps | 4 ++--
- Resource/Init/gs_fntem.ps | 4 ++--
- Resource/Init/gs_fonts.ps | 12 ++++++------
- Resource/Init/gs_init.ps | 4 ++--
- Resource/Init/gs_lev2.ps | 11 ++++++-----
- Resource/Init/gs_pdfwr.ps | 2 +-
- Resource/Init/gs_res.ps | 4 ++--
- Resource/Init/gs_setpd.ps | 2 +-
- Resource/Init/pdf_base.ps | 13 ++++++++-----
- Resource/Init/pdf_draw.ps | 16 +++++++++-------
- Resource/Init/pdf_font.ps | 6 +++---
- Resource/Init/pdf_main.ps | 4 ++--
- Resource/Init/pdf_ops.ps | 7 ++++---
- 14 files changed, 49 insertions(+), 42 deletions(-)
-
-diff --git a/Resource/Init/gs_diskn.ps b/Resource/Init/gs_diskn.ps
-index fd694bc..8bf2054 100644
---- a/Resource/Init/gs_diskn.ps
-+++ b/Resource/Init/gs_diskn.ps
-@@ -51,7 +51,7 @@ systemdict begin
- mark 5 1 roll ] mark exch { { } forall } forall ]
- //systemdict /.searchabledevs 2 index .forceput
- exch .setglobal
-- }
-+ } executeonly
- if
- } .bind executeonly odef % must be bound and hidden for .forceput
-
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index ec5db61..4fae283 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -78,7 +78,7 @@ level2dict begin
- .currentglobal
- { % Current mode is global; delete from local directory too.
- //systemdict /LocalFontDirectory .knownget
-- { 1 index .forceundef } % LocalFontDirectory is readonly
-+ { 1 index .forceundef } executeonly % LocalFontDirectory is readonly
- if
- }
- { % Current mode is local; if there was a shadowed global
-@@ -126,7 +126,7 @@ level2dict begin
- }
- ifelse
- } forall
-- pop counttomark 2 idiv { .forceundef } repeat pop % readonly
-+ pop counttomark 2 idiv { .forceundef } executeonly repeat pop % readonly
- }
- if
- //SharedFontDirectory exch .forcecopynew pop
-diff --git a/Resource/Init/gs_fntem.ps b/Resource/Init/gs_fntem.ps
-index c1f7651..6eb672a 100644
---- a/Resource/Init/gs_fntem.ps
-+++ b/Resource/Init/gs_fntem.ps
-@@ -401,12 +401,12 @@ currentdict end def
- .forceput % FontInfo can be read-only.
- pop % bool <font>
- exit
-- } if
-+ } executeonly if
- dup /FontInfo get % bool <font> <FI>
- /GlyphNames2Unicode /Unicode /Decoding findresource
- .forceput % FontInfo can be read-only.
- exit
-- } loop
-+ } executeonly loop
- exch setglobal
- } .bind executeonly odef % must be bound and hidden for .forceput
-
-diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps
-index 803faca..290da0c 100644
---- a/Resource/Init/gs_fonts.ps
-+++ b/Resource/Init/gs_fonts.ps
-@@ -374,7 +374,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- /.setnativefontmapbuilt { % set whether we've been run
- dup type /booleantype eq {
- systemdict exch /.nativefontmapbuilt exch .forceput
-- }
-+ } executeonly
- {pop}
- ifelse
- } .bind executeonly odef
-@@ -1007,11 +1007,11 @@ $error /SubstituteFont { } put
- { 2 index gcheck currentglobal
- 2 copy eq {
- pop pop .forceput
-- } {
-+ } executeonly {
- 5 1 roll setglobal
- dup length string copy
- .forceput setglobal
-- } ifelse
-+ } executeonly ifelse
- } .bind executeonly odef % must be bound and hidden for .forceput
-
- % Attempt to load a font from a file.
-@@ -1084,7 +1084,7 @@ $error /SubstituteFont { } put
- .FontDirectory 3 index .forceundef % readonly
- 1 index (r) file .loadfont .FontDirectory exch
- /.setglobal .systemvar exec
-- }
-+ } executeonly
- { .loadfont .FontDirectory
- }
- ifelse
-@@ -1105,7 +1105,7 @@ $error /SubstituteFont { } put
- dup 3 index .fontknownget
- { dup /PathLoad 4 index .putgstringcopy
- 4 1 roll pop pop pop //true exit
-- } if
-+ } executeonly if
-
- % Maybe the file had a different FontName.
- % See if we can get a FontName from the file, and if so,
-@@ -1134,7 +1134,7 @@ $error /SubstituteFont { } put
- ifelse % Stack: origfontname fontdict
- exch pop //true exit
- % Stack: fontdict
-- }
-+ } executeonly
- if pop % Stack: origfontname fontdirectory path
- }
- if pop pop % Stack: origfontname
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index d733124..56c0bd2 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -2357,7 +2357,7 @@ SAFER { .setsafeglobal } if
- % Update the copy of the user parameters.
- mark .currentuserparams counttomark 2 idiv {
- userparams 3 1 roll .forceput % userparams is read-only
-- } repeat pop
-+ } executeonly repeat pop
- % Turn on idiom recognition, if available.
- currentuserparams /IdiomRecognition known {
- /IdiomRecognition //true .definepsuserparam
-@@ -2376,7 +2376,7 @@ SAFER { .setsafeglobal } if
- % Remove real system params from pssystemparams.
- mark .currentsystemparams counttomark 2 idiv {
- pop pssystemparams exch .forceundef
-- } repeat pop
-+ } executeonly repeat pop
- } if
-
- % Set up AlignToPixels :
-diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps
-index 44fe619..0f0d573 100644
---- a/Resource/Init/gs_lev2.ps
-+++ b/Resource/Init/gs_lev2.ps
-@@ -154,7 +154,8 @@ end
- % protect top level of parameters that we copied
- dup type dup /arraytype eq exch /stringtype eq or { readonly } if
- /userparams .systemvar 3 1 roll .forceput % userparams is read-only
-- } {
-+ } executeonly
-+ {
- pop pop
- } ifelse
- } forall
-@@ -224,7 +225,7 @@ end
- % protect top level parameters that we copied
- dup type dup /arraytype eq exch /stringtype eq or { readonly } if
- //pssystemparams 3 1 roll .forceput % pssystemparams is read-only
-- }
-+ } executeonly
- { pop pop
- }
- ifelse
-@@ -934,7 +935,7 @@ mark
- dup /PaintProc get
- 1 index /Implementation known not {
- 1 index dup /Implementation //null .forceput readonly pop
-- } if
-+ } executeonly if
- exec
- }.bind odef
-
-@@ -958,7 +959,7 @@ mark
- dup /PaintProc get
- 1 index /Implementation known not {
- 1 index dup /Implementation //null .forceput readonly pop
-- } if
-+ } executeonly if
- /UNROLLFORMS where {/UNROLLFORMS get}{false}ifelse not
- %% [CTM] <<Form>> PaintProc .beginform -
- {
-@@ -1005,7 +1006,7 @@ mark
- %% Form dictioanry using the /Implementation key).
- 1 dict dup /FormID 4 -1 roll put
- 1 index exch /Implementation exch .forceput readonly pop
-- }
-+ } executeonly
- ifelse
- }
- {
-diff --git a/Resource/Init/gs_pdfwr.ps b/Resource/Init/gs_pdfwr.ps
-index 58e75d3..b425103 100644
---- a/Resource/Init/gs_pdfwr.ps
-+++ b/Resource/Init/gs_pdfwr.ps
-@@ -650,7 +650,7 @@ currentdict /.pdfmarkparams .undef
- } ifelse
- } bind .makeoperator .forceput
- systemdict /.pdf_hooked_DSC_Creator //true .forceput
-- } if
-+ } executeonly if
- pop
- } if
- } {
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index 8eb8bb0..d9b3459 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -152,7 +152,7 @@ setglobal
- % use .forceput / .forcedef later to replace the dummy,
- % empty .Instances dictionary with the real one later.
- readonly
-- } {
-+ }{
- /defineresource cvx /typecheck signaloperror
- } ifelse
- } bind executeonly odef
-@@ -424,7 +424,7 @@ status {
- % As noted above, Category dictionaries are read-only,
- % so we have to use .forcedef here.
- /.Instances 1 index .forcedef % Category dict is read-only
-- } if
-+ } executeonly if
- }
- { .LocalInstances dup //.emptydict eq
- { pop 3 dict localinstancedict Category 2 index put
-diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps
-index e22597e..7875d1f 100644
---- a/Resource/Init/gs_setpd.ps
-+++ b/Resource/Init/gs_setpd.ps
-@@ -634,7 +634,7 @@ NOMEDIAATTRS {
- SETPDDEBUG { (Rolling back.) = pstack flush } if
- 3 index 2 index 3 -1 roll .forceput
- 4 index 1 index .knownget
-- { 4 index 3 1 roll .forceput }
-+ { 4 index 3 1 roll .forceput } executeonly
- { 3 index exch .undef }
- ifelse
- } bind executeonly odef
-diff --git a/Resource/Init/pdf_base.ps b/Resource/Init/pdf_base.ps
-index b45e980..7312729 100644
---- a/Resource/Init/pdf_base.ps
-+++ b/Resource/Init/pdf_base.ps
-@@ -130,26 +130,29 @@ currentdict /num-chars-dict .undef
-
- /.pdfexectoken { % <count> <opdict> <exectoken> .pdfexectoken ?
- PDFDEBUG {
-- pdfdict /PDFSTEPcount known not { pdfdict /PDFSTEPcount 1 .forceput } if
-+ pdfdict /PDFSTEPcount known not { pdfdict /PDFSTEPcount 1 .forceput } executeonly if
- PDFSTEP {
- pdfdict /PDFtokencount 2 copy .knownget { 1 add } { 1 } ifelse .forceput
- PDFSTEPcount 1 gt {
- pdfdict /PDFSTEPcount PDFSTEPcount 1 sub .forceput
-- } {
-+ } executeonly
-+ {
- dup ==only
- ( step # ) print PDFtokencount =only
- ( ? ) print flush 1 //false .outputpage
- (%stdin) (r) file 255 string readline {
- token {
- exch pop pdfdict /PDFSTEPcount 3 -1 roll .forceput
-- } {
-+ } executeonly
-+ {
- pdfdict /PDFSTEPcount 1 .forceput
-- } ifelse % token
-+ } executeonly ifelse % token
- } {
- pop /PDFSTEP //false def % EOF on stdin
- } ifelse % readline
- } ifelse % PDFSTEPcount > 1
-- } {
-+ } executeonly
-+ {
- dup ==only () = flush
- } ifelse % PDFSTEP
- } if % PDFDEBUG
-diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps
-index 6b0ba93..40c6ac8 100644
---- a/Resource/Init/pdf_draw.ps
-+++ b/Resource/Init/pdf_draw.ps
-@@ -1118,14 +1118,14 @@ currentdict end readonly def
- pdfdict /.Qqwarning_issued //true .forceput
- .setglobal
- pdfformaterror
-- } ifelse
-+ } executeonly ifelse
- }
- {
- currentglobal pdfdict gcheck .setglobal
- pdfdict /.Qqwarning_issued //true .forceput
- .setglobal
- pdfformaterror
-- } ifelse
-+ } executeonly ifelse
- end
- } ifelse
- } loop
-@@ -1141,14 +1141,14 @@ currentdict end readonly def
- pdfdict /.Qqwarning_issued //true .forceput
- .setglobal
- pdfformaterror
-- } ifelse
-+ } executeonly ifelse
- }
- {
- currentglobal pdfdict gcheck .setglobal
- pdfdict /.Qqwarning_issued //true .forceput
- .setglobal
- pdfformaterror
-- } ifelse
-+ } executeonly ifelse
- } if
- pop
-
-@@ -2350,9 +2350,10 @@ currentdict /last-ditch-bpc-csp undef
- /IncrementAppearanceNumber {
- pdfdict /AppearanceNumber .knownget {
- 1 add pdfdict /AppearanceNumber 3 -1 roll .forceput
-- }{
-+ } executeonly
-+ {
- pdfdict /AppearanceNumber 0 .forceput
-- } ifelse
-+ } executeonly ifelse
- }bind executeonly odef
-
- /MakeAppearanceName {
-@@ -2510,7 +2511,8 @@ currentdict /last-ditch-bpc-csp undef
- %% want to preserve it.
- pdfdict /.PreservePDFForm false .forceput
- /q cvx /execform cvx 5 -2 roll
-- }{
-+ } executeonly
-+ {
- /q cvx /PDFexecform cvx 5 -2 roll
- } ifelse
-
-diff --git a/Resource/Init/pdf_font.ps b/Resource/Init/pdf_font.ps
-index bea9ea9..4cd62b9 100644
---- a/Resource/Init/pdf_font.ps
-+++ b/Resource/Init/pdf_font.ps
-@@ -714,7 +714,7 @@ currentdict end readonly def
- pop pop pop
- currentdict /.stackdepth .forceundef
- currentdict /.dstackdepth .forceundef
-- }
-+ } executeonly
- {pop pop pop}
- ifelse
-
-@@ -1232,7 +1232,7 @@ currentdict /eexec_pdf_param_dict .undef
- (\n **** Warning: Type 3 glyph has unbalanced q/Q operators \(too many q's\)\n Output may be incorrect.\n)
- pdfformatwarning
- pdfdict /.Qqwarning_issued //true .forceput
-- } if
-+ } executeonly if
- Q
- } repeat
- Q
-@@ -2016,7 +2016,7 @@ currentdict /CMap_read_dict undef
- /CIDFallBack /CIDFont findresource
- } if
- exit
-- } if
-+ } executeonly if
- } if
- } if
-
-diff --git a/Resource/Init/pdf_main.ps b/Resource/Init/pdf_main.ps
-index 00da47a..37e69b3 100644
---- a/Resource/Init/pdf_main.ps
-+++ b/Resource/Init/pdf_main.ps
-@@ -2701,14 +2701,14 @@ currentdict /PDF2PS_matrix_key undef
- pdfdict /.Qqwarning_issued //true .forceput
- .setglobal
- pdfformaterror
-- } ifelse
-+ } executeonly ifelse
- }
- {
- currentglobal pdfdict gcheck .setglobal
- pdfdict /.Qqwarning_issued //true .forceput
- .setglobal
- pdfformaterror
-- } ifelse
-+ } executeonly ifelse
- } if
- } if
- pop
-diff --git a/Resource/Init/pdf_ops.ps b/Resource/Init/pdf_ops.ps
-index 8672d61..aa09641 100644
---- a/Resource/Init/pdf_ops.ps
-+++ b/Resource/Init/pdf_ops.ps
-@@ -184,14 +184,14 @@ currentdict /gput_always_allow .undef
- pdfdict /.Qqwarning_issued //true .forceput
- .setglobal
- pdfformaterror
-- } ifelse
-+ } executeonly ifelse
- }
- {
- currentglobal pdfdict gcheck .setglobal
- pdfdict /.Qqwarning_issued //true .forceput
- .setglobal
- pdfformaterror
-- } ifelse
-+ } executeonly ifelse
- } if
- } bind executeonly odef
-
-@@ -439,7 +439,8 @@ currentdict /gput_always_allow .undef
- dup type /booleantype eq {
- .currentSMask type /dicttype eq {
- .currentSMask /Processed 2 index .forceput
-- } {
-+ } executeonly
-+ {
- .setSMask
- }ifelse
- }{
---
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0003.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0003.patch
deleted file mode 100644
index 02b1dc962..000000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0003.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 60b77b8bf8b6e4d30519c47724631012b530cf0e Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Sat, 15 Dec 2018 09:08:32 +0000
-Subject: [PATCH 3/7] Bug700317: Fix logic for an older change
-
-Unlike almost every other function in gs, dict_find_string() returns 1 on
-success 0 or <0 on failure. The logic for this case was wrong.
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- psi/interp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/psi/interp.c b/psi/interp.c
-index aa5779c..f6c45bb 100644
---- a/psi/interp.c
-+++ b/psi/interp.c
-@@ -703,7 +703,7 @@ again:
- * i.e. it's an internal operator we have hidden
- */
- code = dict_find_string(systemdict, (const char *)bufptr, &tobj);
-- if (code < 0) {
-+ if (code <= 0) {
- buf[0] = buf[1] = buf[rlen + 2] = buf[rlen + 3] = '-';
- rlen += 4;
- bufptr = buf;
---
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0004.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0004.patch
deleted file mode 100644
index cc15453f0..000000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0004.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From d739565534e955c4336731e4ea4eebc895c09c5c Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Tue, 18 Dec 2018 10:42:10 +0000
-Subject: [PATCH 4/7] Harden some uses of .force* operators
-
-by adding a few immediate evalutions
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_dps1.ps | 4 ++--
- Resource/Init/gs_fonts.ps | 20 ++++++++++----------
- Resource/Init/gs_init.ps | 6 +++---
- 3 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index 4fae283..b75ea14 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -74,7 +74,7 @@ level2dict begin
- } odef
- % undefinefont has to take local/global VM into account.
- /undefinefont % <fontname> undefinefont -
-- { .FontDirectory 1 .argindex .forceundef % FontDirectory is readonly
-+ { //.FontDirectory 1 .argindex .forceundef % FontDirectory is readonly
- .currentglobal
- { % Current mode is global; delete from local directory too.
- //systemdict /LocalFontDirectory .knownget
-@@ -85,7 +85,7 @@ level2dict begin
- % definition, copy it into the local directory.
- //systemdict /SharedFontDirectory .knownget
- { 1 index .knownget
-- { .FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly
-+ { //.FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly
- if
- }
- if
-diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps
-index 290da0c..c13a2fc 100644
---- a/Resource/Init/gs_fonts.ps
-+++ b/Resource/Init/gs_fonts.ps
-@@ -516,7 +516,7 @@ buildfontdict 3 /.buildfont3 cvx put
- if
- }
- if
-- dup .FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly
-+ dup //.FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly
- % If the font originated as a resource, register it.
- currentfile .currentresourcefile eq { dup .registerfont } if
- readonly
-@@ -943,7 +943,7 @@ $error /SubstituteFont { } put
- % Try to find a font using only the present contents of Fontmap.
- /.tryfindfont { % <fontname> .tryfindfont <font> true
- % <fontname> .tryfindfont false
-- .FontDirectory 1 index .fontknownget
-+ //.FontDirectory 1 index .fontknownget
- { % Already loaded
- exch pop //true
- }
-@@ -975,7 +975,7 @@ $error /SubstituteFont { } put
- { % Font with a procedural definition
- exec % The procedure will load the font.
- % Check to make sure this really happened.
-- .FontDirectory 1 index .knownget
-+ //.FontDirectory 1 index .knownget
- { exch pop //true exit }
- if
- }
-@@ -1081,11 +1081,11 @@ $error /SubstituteFont { } put
- % because it's different depending on language level.
- .currentglobal exch /.setglobal .systemvar exec
- % Remove the fake definition, if any.
-- .FontDirectory 3 index .forceundef % readonly
-- 1 index (r) file .loadfont .FontDirectory exch
-+ //.FontDirectory 3 index .forceundef % readonly
-+ 1 index (r) file .loadfont //.FontDirectory exch
- /.setglobal .systemvar exec
- } executeonly
-- { .loadfont .FontDirectory
-+ { .loadfont //.FontDirectory
- }
- ifelse
- % Stack: fontname fontfilename fontdirectory
-@@ -1119,8 +1119,8 @@ $error /SubstituteFont { } put
- % Stack: origfontname fontdirectory filefontname fontdict
- 3 -1 roll pop
- % Stack: origfontname filefontname fontdict
-- dup /FontName get dup FontDirectory exch .forceundef
-- GlobalFontDirectory exch .forceundef
-+ dup /FontName get dup //.FontDirectory exch .forceundef
-+ /GlobalFontDirectory .systemvar exch .forceundef
- dup length dict .copydict dup 3 index /FontName exch put
- 2 index exch definefont
- exch
-@@ -1176,10 +1176,10 @@ currentdict /.putgstringcopy .undef
- {
- {
- pop dup type /stringtype eq { cvn } if
-- .FontDirectory 1 index known not {
-+ //.FontDirectory 1 index known not {
- 2 dict dup /FontName 3 index put
- dup /FontType 1 put
-- .FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly
-+ //.FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly
- } {
- pop
- } ifelse
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index 56c0bd2..d9a0829 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -1168,8 +1168,8 @@ errordict /unknownerror .undef
- }ifelse
- }forall
- noaccess pop
-- systemdict /.setsafeerrors .forceundef
-- systemdict /.SAFERERRORLIST .forceundef
-+ //systemdict /.setsafeerrors .forceundef
-+ //systemdict /.SAFERERRORLIST .forceundef
- } bind executeonly odef
-
- SAFERERRORS {.setsafererrors} if
-@@ -2114,7 +2114,7 @@ currentdict /tempfilepaths undef
-
- /.locksafe {
- .locksafe_userparams
-- systemdict /getenv {pop //false} .forceput
-+ //systemdict /getenv {pop //false} .forceput
- % setpagedevice has the side effect of clearing the page, but
- % we will just document that. Using setpagedevice keeps the device
- % properties and pagedevice .LockSafetyParams in agreement even
---
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0005.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0005.patch
deleted file mode 100644
index db70bba21..000000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0005.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 1e830cafa56c6e3e1b08d246eaf5496fe81a0032 Mon Sep 17 00:00:00 2001
-From: Nancy Durgin <nancy.durgin@artifex.com>
-Date: Tue, 27 Nov 2018 12:36:14 -0800
-Subject: [PATCH 5/7] Undef a bunch of internal things in gs_res.ps
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_res.ps | 72 +++++++++++++++++++++++++--------------
- Resource/Init/gs_resmp.ps | 4 +--
- 2 files changed, 49 insertions(+), 27 deletions(-)
-
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index d9b3459..18d5452 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -197,7 +197,7 @@ setglobal
- /.findresource { % <key> <category> findresource <instance>
- 2 copy dup /Category eq
- { pop //Category 0 get begin } { .findcategory } ifelse
-- /FindResource .resourceexec exch pop exch pop
-+ /FindResource //.resourceexec exec exch pop exch pop
- } bind
- end % .Instances of Category
- def
-@@ -223,7 +223,7 @@ def
- not { /defineresource cvx /typecheck signaloperror } if
- } if
- } if
-- /DefineResource .resourceexec
-+ /DefineResource //.resourceexec exec
- 4 1 roll pop pop pop
- } .errorexec
- } bind executeonly odef
-@@ -252,7 +252,7 @@ def
- % without the check.
- /resourcestatus cvx /typecheck signalerror
- } if
-- 2 copy .findcategory /ResourceStatus .resourceexec
-+ 2 copy .findcategory /ResourceStatus //.resourceexec exec
- { 4 2 roll pop pop //true } { pop pop //false } ifelse
- } stopped {
- % Although resourcestatus is an operator, Adobe uses executable name
-@@ -266,7 +266,7 @@ def
- } if
- 1 .argindex 1 index % catch stackunderflow
-
-- { .findcategory /UndefineResource .resourceexec pop pop
-+ { .findcategory /UndefineResource //.resourceexec exec pop pop
- } stopped {
- % Although undefineresource is an operator, Adobe uses executable name
- % here but uses operator for the errors above. CET 23-33
-@@ -315,10 +315,10 @@ currentdict /pssystemparams known not {
- /pssystemparams 10 dict readonly def
- } if
- pssystemparams begin
-- .default_resource_dir
-- /FontResourceDir (Font) .resource_dir_name
-+ //.default_resource_dir exec
-+ /FontResourceDir (Font) //.resource_dir_name exec
- readonly .forcedef % pssys'params is r-o
-- /GenericResourceDir () .resource_dir_name
-+ /GenericResourceDir () //.resource_dir_name exec
- readonly .forcedef % pssys'params is r-o
- pop % .default_resource_dir
- /GenericResourcePathSep
-@@ -387,13 +387,13 @@ status {
- } bind def
- /.localresourceforall { % <key> <value> <args> .localr'forall -
- exch pop
-- 2 copy 0 get .stringmatch { .enumerateresource } { pop pop } ifelse
-+ 2 copy 0 get .stringmatch { //.enumerateresource exec } { pop pop } ifelse
- } bind def
- /.globalresourceforall { % <key> <value> <args> .globalr'forall -
- exch pop
- 2 copy 0 get .stringmatch {
- dup 3 get begin .LocalInstances end 2 index known not {
-- .enumerateresource
-+ //.enumerateresource exec
- } {
- pop pop
- } ifelse
-@@ -408,7 +408,7 @@ status {
- 3 index known {
- pop pop pop
- } {
-- 2 index known { pop pop } { .enumerateresource } ifelse
-+ 2 index known { pop pop } { //.enumerateresource exec } ifelse
- } ifelse
- } bind def
-
-@@ -468,19 +468,19 @@ status {
- % .knownget doesn't fail on null
- /findresource cvx /typecheck signaloperror
- } if
-- dup .getvminstance {
-+ dup //.getvminstance exec {
- exch pop 0 get
- } {
- dup ResourceStatus {
- pop 1 gt {
-- .DoLoadResource .getvminstance not {
-- /findresource cvx .undefinedresource
-+ .DoLoadResource //.getvminstance exec not {
-+ /findresource cvx //.undefinedresource exec
- } if 0 get
- } {
- .GetInstance pop 0 get
- } ifelse
- } {
-- /findresource cvx .undefinedresource
-+ /findresource cvx //.undefinedresource exec
- } ifelse
- } ifelse
- } bind executeonly
-@@ -621,7 +621,7 @@ status {
- .currentglobal not .setglobal
- vmstatus pop exch pop add
- } repeat
--} bind def
-+} bind executeonly odef
- /.DoLoadResource {
- % .LoadResource may push entries on the operand stack.
- % It is an undocumented feature of Adobe implementations,
-@@ -633,8 +633,8 @@ status {
- {.LoadResource} 4 1 roll 4 .execn
- % Stack: ... count key memused
- .vmused exch sub
-- 1 index .getvminstance not {
-- pop dup .undefinedresource % didn't load
-+ 1 index //.getvminstance exec not {
-+ pop dup //.undefinedresource exec % didn't load
- } if
- dup 1 1 put
- 2 3 -1 roll put
-@@ -648,7 +648,7 @@ status {
- { //true setglobal { .runresource } stopped //false setglobal { stop } if }
- ifelse
- }
-- { dup .undefinedresource
-+ { dup //.undefinedresource exec
- }
- ifelse
- } bind
-@@ -758,7 +758,7 @@ counttomark 2 idiv
- /FindResource
- { .Instances 1 index .knownget
- { exch pop }
-- { /findresource cvx .undefinedresource }
-+ { /findresource cvx //.undefinedresource exec }
- ifelse
- } bind executeonly
- /ResourceStatus
-@@ -862,7 +862,7 @@ userdict /.localcsdefaults //false put
- 2 copy /Generic /Category findresource /DefineResource get exec
- exch pop
- exch //.defaultcsnames exch .knownget {
-- 1 index .definedefaultcs
-+ 1 index //.definedefaultcs exec
- currentglobal not { .userdict /.localcsdefaults //true put } if
- } if
- } bind executeonly
-@@ -872,13 +872,13 @@ userdict /.localcsdefaults //false put
- //.defaultcsnames 1 index .knownget {
- % Stack: resname index
- currentglobal {
-- .undefinedefaultcs pop
-+ //.undefinedefaultcs exec pop
- } {
- % We removed the local definition, but there might be a global one.
- exch .GetInstance {
-- 0 get .definedefaultcs
-+ 0 get //.definedefaultcs exec
- } {
-- .undefinedefaultcs
-+ //.undefinedefaultcs exec
- } ifelse
- % Recompute .localcsdefaults by scanning. This is rarely needed.
- .userdict /.localcsdefaults //false //.defaultcsnames {
-@@ -997,7 +997,7 @@ currentdict /.fontstatusaux .undef
- /Generic /Category findresource /UndefineResource get exec
- } bind executeonly
- /FindResource {
-- dup .getvminstance {
-+ dup //.getvminstance exec {
- exch pop 0 get
- } {
- dup ResourceStatus {
-@@ -1024,7 +1024,7 @@ currentdict /.fontstatusaux .undef
- % stack: name font vmused
- % findfont has the prerogative of not calling definefont
- % in certain obscure cases of font substitution.
-- 2 index .getvminstance {
-+ 2 index //.getvminstance exec {
- dup 1 1 put
- 2 3 -1 roll put
- } {
-@@ -1159,3 +1159,25 @@ end % level2dict
-
- %% Replace 1 (gs_resmp.ps)
- (gs_resmp.ps) dup runlibfile VMDEBUG
-+
-+[
-+ /.default_resource_dir
-+ /.resource_dir_name
-+]
-+{systemdict exch .forceundef} forall
-+
-+[
-+ /.definedefaultcs
-+ /.undefinedefaultcs
-+ /.defaultcsnames
-+ /.enumerateresource
-+ /.externalresourceforall
-+ /.getvminstance
-+ /.globalresourceforall
-+ /.localresourceforall
-+ /resourceforall1
-+ /.resourceexec
-+ /.undefinedresource
-+ /.vmused
-+]
-+{level2dict exch .forceundef} forall
-diff --git a/Resource/Init/gs_resmp.ps b/Resource/Init/gs_resmp.ps
-index 9bb4263..cb948d1 100644
---- a/Resource/Init/gs_resmp.ps
-+++ b/Resource/Init/gs_resmp.ps
-@@ -230,7 +230,7 @@ currentpacking //false setpacking
- } {
- dup dup .map exch .knownget { % /Name /Name <<record>>
- dup dup /RecordVirtualMethods get /IsActive get exec {
-- 1 index .getvminstance { % /Name /Name <<record>> holder
-+ 1 index //.getvminstance exec { % /Name /Name <<record>> holder
- 1 get 1 eq
- } {
- //true
-@@ -242,7 +242,7 @@ currentpacking //false setpacking
- DefineResource exec % size bStatusIs1 /Name Instance
- % Make ResourceStatus to return correct values for this instance :
- % Hack: we replace status values in the instance holder :
-- exch .getvminstance pop % size bStatusIs1 Instance holder
-+ exch //.getvminstance exec pop % size bStatusIs1 Instance holder
- dup 5 -1 roll 2 exch put % bStatusIs1 Instance holder
- 3 2 roll { % Instance holder
- 1 1 put % Instance
---
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0006.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0006.patch
deleted file mode 100644
index 79e640b18..000000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0006.patch
+++ /dev/null
@@ -1,596 +0,0 @@
-From 97f9052ce49e6844b06a49ff9e4b8fc1eaf6bd10 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Wed, 9 Jan 2019 14:24:07 +0000
-Subject: [PATCH 6/7] Undefine a bunch of gs_fonts.ps specific procs
-
-Also reorder and add some immediate evaluation, so it still works with the
-undefining.
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_dps1.ps | 3 +-
- Resource/Init/gs_fonts.ps | 275 +++++++++++++++++++++-----------------
- Resource/Init/gs_res.ps | 7 +-
- 3 files changed, 157 insertions(+), 128 deletions(-)
-
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index b75ea14..8700c8c 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -67,7 +67,8 @@ level2dict begin
-
- /selectfont % <fontname> <size> selectfont -
- {
-- { 1 .argindex findfont
-+ {
-+ 1 .argindex findfont
- 1 index dup type /arraytype eq { makefont } { scalefont } ifelse
- setfont pop pop
- } stopped { /selectfont .systemvar $error /errorname get signalerror } if
-diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps
-index c13a2fc..0562235 100644
---- a/Resource/Init/gs_fonts.ps
-+++ b/Resource/Init/gs_fonts.ps
-@@ -100,7 +100,7 @@ userdict /.nativeFontmap .FontDirectory maxlength dict put
- { 2 index token not
- { (Fontmap entry for ) print 1 index =only
- ( ends prematurely! Giving up.) = flush
-- {.loadFontmap} 0 get 1 .quit
-+ {//.loadFontmap exec} 0 get 1 .quit
- } if
- dup /; eq { pop 3 index 3 1 roll .growput exit } if
- pop
-@@ -202,6 +202,14 @@ NOFONTPATH { /FONTPATH () def } if
- { pop }
- { /FONTPATH (GS_FONTPATH) getenv not { () } if def }
- ifelse
-+
-+% The following are dummy definitions that, if we have a FONTPATH, will
-+% be replaced in the following section.
-+% They are here so immediately evaulation will work, and allow them to
-+% undefined at the bottom of the file.
-+/.scanfontbegin{} bind def
-+/.scanfontdir {} bind def
-+
- FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- /FONTPATH [ FONTPATH .pathlist ] def
-
-@@ -242,12 +250,12 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- /.scanfontbegin
- { % Construct the table of all file names already in Fontmap.
- currentglobal //true setglobal
-- .scanfontdict dup maxlength Fontmap length 2 add .max .setmaxlength
-+ //.scanfontdict dup maxlength Fontmap length 2 add .max .setmaxlength
- Fontmap
- { exch pop
- { dup type /stringtype eq
-- { .splitfilename pop .fonttempstring copy .lowerstring cvn
-- .scanfontdict exch //true put
-+ { //.splitfilename exec pop //.fonttempstring copy //.lowerstring exec cvn
-+ //.scanfontdict exch //true put
- }
- { pop
- }
-@@ -280,9 +288,9 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- /txt //true
- .dicttomark def
- /.scan1fontstring 8192 string def
--% %%BeginFont: is not per Adobe documentation, but a few fonts have it.
-+% BeginFont: is not per Adobe documentation, but a few fonts have it.
- /.scanfontheaders [(%!PS-Adobe*) (%!FontType*) (%%BeginFont:*)] def
--0 .scanfontheaders { length .max } forall 6 add % extra for PFB header
-+0 //.scanfontheaders { length .max } forall 6 add % extra for PFB header
- /.scan1fontfirst exch string def
- /.scanfontdir % <dirname> .scanfontdir -
- { currentglobal exch //true setglobal
-@@ -291,10 +299,10 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- 0 0 0 4 -1 roll % found scanned files
- { % stack: <fontcount> <scancount> <filecount> <filename>
- exch 1 add exch % increment filecount
-- dup .splitfilename .fonttempstring copy .lowerstring
-+ dup //.splitfilename exec //.fonttempstring copy //.lowerstring exec
- % stack: <fontcount> <scancount> <filecount+1> <filename>
- % <BASE> <ext>
-- .scanfontskip exch known exch .scanfontdict exch known or
-+ //.scanfontskip exch known exch //.scanfontdict exch known or
- { pop
- % stack: <fontcount> <scancount> <filecount+1>
- }
-@@ -309,7 +317,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- % On some platforms, the file operator will open directories,
- % but an error will occur if we try to read from one.
- % Handle this possibility here.
-- dup .scan1fontfirst { readstring } .internalstopped
-+ dup //.scan1fontfirst { readstring } .internalstopped
- { pop pop () }
- { pop }
- ifelse
-@@ -322,7 +330,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- { dup length 6 sub 6 exch getinterval }
- if
- % Check for font file headers.
-- //false .scanfontheaders
-+ //false //.scanfontheaders
- { 2 index exch .stringmatch or
- }
- forall exch pop
-@@ -335,7 +343,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- { exch copystring exch
- DEBUG { ( ) print dup =only flush } if
- 1 index .definenativefontmap
-- .splitfilename pop //true .scanfontdict 3 1 roll .growput
-+ //.splitfilename exec pop //true //.scanfontdict 3 1 roll .growput
- % Increment fontcount.
- 3 -1 roll 1 add 3 1 roll
- }
-@@ -352,7 +360,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- }
- ifelse
- }
-- .scan1fontstring filenameforall
-+ //.scan1fontstring filenameforall
- QUIET
- { pop pop pop }
- { ( ) print =only ( files, ) print =only ( scanned, ) print
-@@ -422,7 +430,6 @@ systemdict /NONATIVEFONTMAP known .setnativefontmapbuilt
- //true .setnativefontmapbuilt
- } ifelse
- } bind def
--currentdict /.setnativefontmapbuilt .forceundef
-
- % Create the dictionary that registers the .buildfont procedure
- % (called by definefont) for each FontType.
-@@ -526,7 +533,8 @@ buildfontdict 3 /.buildfont3 cvx put
- % We use this only for explicitly aliased fonts, not substituted fonts:
- % we think this matches the observed behavior of Adobe interpreters.
- /.aliasfont % <name> <font> .aliasfont <newFont>
-- { .currentglobal 3 1 roll dup .gcheck .setglobal
-+ {
-+ currentglobal 3 1 roll dup gcheck setglobal
- % <bool> <name> <font>
- dup length 2 add dict % <bool> <name> <font> <dict>
- dup 3 -1 roll % <bool> <name> <dict> <dict> <font>
-@@ -541,7 +549,7 @@ buildfontdict 3 /.buildfont3 cvx put
- % whose FontName is a local non-string, if someone passed a
- % garbage value to findfont. In this case, just don't
- % call definefont at all.
-- 2 index dup type /stringtype eq exch .gcheck or 1 index .gcheck not or
-+ 2 index dup type /stringtype eq exch gcheck or 1 index gcheck not or
- { pop % <bool> <name> <dict>
- 1 index dup type /stringtype eq { cvn } if
- % <bool> <name> <dict> <name1>
-@@ -566,10 +574,11 @@ buildfontdict 3 /.buildfont3 cvx put
- % Don't bind in definefont, since Level 2 redefines it.
- /definefont .systemvar exec
- }
-- { /findfont cvx {.completefont} .errorexec pop exch pop
-+ {
-+ /findfont cvx {.completefont} //.errorexec exec pop exch pop
- }
- ifelse
-- exch .setglobal
-+ exch setglobal
- } odef % so findfont will bind it
-
- % Define .loadfontfile for loading a font. If we recognize Type 1 and/or
-@@ -669,10 +678,19 @@ buildfontdict 3 /.buildfont3 cvx put
- [(Cn) 4] [(Cond) 4] [(Narrow) 4] [(Pkg) 4] [(Compr) 4]
- [(Serif) 8] [(Sans) -8]
- ] readonly def
-+
-+/.fontnamestring { % <fontname> .fontnamestring <string|name>
-+ dup type dup /nametype eq {
-+ pop .namestring
-+ } {
-+ /stringtype ne { pop () } if
-+ } ifelse
-+} bind def
-+
- /.fontnameproperties { % <int> <string|name> .fontnameproperties
- % <int'>
-- .fontnamestring
-- .substituteproperties {
-+ //.fontnamestring exec
-+ //.substituteproperties {
- 2 copy 0 get search {
- pop pop pop dup length 1 sub 1 exch getinterval 3 -1 roll exch {
- dup 0 ge { or } { neg not and } ifelse
-@@ -710,13 +728,7 @@ buildfontdict 3 /.buildfont3 cvx put
- % <other> .nametostring <other>
- dup type /nametype eq { .namestring } if
- } bind def
--/.fontnamestring { % <fontname> .fontnamestring <string|name>
-- dup type dup /nametype eq {
-- pop .namestring
-- } {
-- /stringtype ne { pop () } if
-- } ifelse
--} bind def
-+
- /.substitutefontname { % <fontname> <properties> .substitutefontname
- % <altname|null>
- % Look for properties and/or a face name in the font name.
-@@ -724,7 +736,7 @@ buildfontdict 3 /.buildfont3 cvx put
- % base font; otherwise, use the default font.
- % Note that the "substituted" font name may be the same as
- % the requested one; the caller must check this.
-- exch .fontnamestring {
-+ exch //.fontnamestring exec {
- defaultfontname /Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique
- /Helvetica-Narrow /Helvetica-Narrow-Oblique
- /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique
-@@ -734,12 +746,12 @@ buildfontdict 3 /.buildfont3 cvx put
- } 3 1 roll
- % Stack: facelist properties fontname
- % Look for a face name.
-- .substitutefaces {
-+ //.substitutefaces {
- 2 copy 0 get search {
- pop pop pop
- % Stack: facelist properties fontname [(pattern) family properties]
- dup 2 get 4 -1 roll or 3 1 roll
-- 1 get .substitutefamilies exch get
-+ 1 get //.substitutefamilies exch get
- 4 -1 roll pop 3 1 roll
- } {
- pop pop
-@@ -748,7 +760,7 @@ buildfontdict 3 /.buildfont3 cvx put
- 1 index length mod get exec
- } bind def
- /.substitutefont { % <fontname> .substitutefont <altname>
-- dup 0 exch .fontnameproperties .substitutefontname
-+ dup 0 exch //.fontnameproperties exec .substitutefontname
- % Only accept fonts known in the Fontmap.
- Fontmap 1 index known not
- {
-@@ -814,7 +826,7 @@ FAKEFONTS not { (%END FAKEFONTS) .skipeof } if
- counttomark 1 sub { .aliasfont } repeat end
- % <fontname> mark <font>
- exch pop exch pop
--} odef
-+} bind odef
- /findfont {
- .findfont
- } bind def
-@@ -860,7 +872,7 @@ FAKEFONTS not { (%END FAKEFONTS) .skipeof } if
- } {
- dup .substitutefont
- 2 copy eq { pop defaultfontname } if
-- .checkalias
-+ //.checkalias exec
- QUIET not {
- SHORTERRORS {
- (%%[) print 1 index =only
-@@ -886,8 +898,8 @@ $error /SubstituteFont { } put
- //null 0 1 FONTPATH length 1 sub {
- FONTPATH 1 index get //null ne { exch pop exit } if pop
- } for dup //null ne {
-- dup 0 eq { .scanfontbegin } if
-- FONTPATH 1 index get .scanfontdir
-+ dup 0 eq { //.scanfontbegin exec} if
-+ FONTPATH 1 index get //.scanfontdir exec
- FONTPATH exch //null put //true
- } {
- pop //false
-@@ -897,11 +909,10 @@ $error /SubstituteFont { } put
- % scanning of FONTPATH.
- /.dofindfont { % mark <fontname> .dofindfont % mark <alias> ... <font>
- .tryfindfont not {
--
- % We didn't find the font. If we haven't scanned
- % all the directories in FONTPATH, scan the next one
- % now and look for the font again.
-- .scannextfontdir {
-+ //.scannextfontdir exec {
- % Start over with an empty alias list.
- counttomark 1 sub { pop } repeat % mark <fontname>
- .dofindfont
-@@ -927,6 +938,7 @@ $error /SubstituteFont { } put
- } if
- % Substitute for the font. Don't alias.
- % Same stack as at the beginning of .dofindfont.
-+
- $error /SubstituteFont get exec
- %
- % igorm: I guess the surrounding code assumes that .stdsubstfont
-@@ -935,72 +947,11 @@ $error /SubstituteFont { } put
- % used in .dofindfont and through .stdsubstfont
- % just to represent a simple iteration,
- % which accumulates the aliases after the mark.
-- .stdsubstfont
-+ //.stdsubstfont exec
- } ifelse
- } ifelse
- } if
- } bind def
--% Try to find a font using only the present contents of Fontmap.
--/.tryfindfont { % <fontname> .tryfindfont <font> true
-- % <fontname> .tryfindfont false
-- //.FontDirectory 1 index .fontknownget
-- { % Already loaded
-- exch pop //true
-- }
-- {
-- dup Fontmap exch .knownget
-- { //true //true }
-- { % Unknown font name. Look for a file with the
-- % same name as the requested font.
-- dup .tryloadfont
-- { exch pop //true //false }
-- {
-- % if we can't load by name check the native font map
-- dup .nativeFontmap exch .knownget
-- { //true //true }
-- { //false //false } ifelse
-- } ifelse
-- } ifelse
--
-- { % Try each element of the Fontmap in turn.
-- pop
-- //false exch % (in case we exhaust the list)
-- % Stack: fontname false fontmaplist
-- { exch pop
-- dup type /nametype eq
-- { % Font alias
-- .checkalias .tryfindfont exit
-- }
-- { dup dup type dup /arraytype eq exch /packedarraytype eq or exch xcheck and
-- { % Font with a procedural definition
-- exec % The procedure will load the font.
-- % Check to make sure this really happened.
-- //.FontDirectory 1 index .knownget
-- { exch pop //true exit }
-- if
-- }
-- { % Font file name
-- //true .loadfontloop { //true exit } if
-- }
-- ifelse
-- }
-- ifelse //false
-- }
-- forall
-- % Stack: font true -or- fontname false
-- { //true
-- }
-- { % None of the Fontmap entries worked.
-- % Try loading a file with the same name
-- % as the requested font.
-- .tryloadfont
-- }
-- ifelse
-- }
-- if
-- }
-- ifelse
-- } bind def
-
- % any user of .putgstringcopy must use bind and executeonly
- /.putgstringcopy % <dict> <name> <string> .putgstringcopy -
-@@ -1014,25 +965,6 @@ $error /SubstituteFont { } put
- } executeonly ifelse
- } .bind executeonly odef % must be bound and hidden for .forceput
-
--% Attempt to load a font from a file.
--/.tryloadfont { % <fontname> .tryloadfont <font> true
-- % <fontname> .tryloadfont false
-- dup .nametostring
-- % Hack: check for the presence of the resource machinery.
-- /.genericrfn where {
-- pop
-- pop dup .fonttempstring /FontResourceDir getsystemparam .genericrfn
-- {//false .loadfontloop} .internalstopped {//false} if {
-- //true
-- } {
-- dup .nametostring
-- {//true .loadfontloop} .internalstopped {//false} if
-- } ifelse
-- } {
-- {//true .loadfontloop} .internalstopped {//false} if
-- } ifelse
--} bind def
--
- /.loadfontloop { % <fontname> <filename> <libflag> .loadfontloop
- % <font> true
- % -or-
-@@ -1102,7 +1034,7 @@ $error /SubstituteFont { } put
- } if
-
- % Check to make sure the font was actually loaded.
-- dup 3 index .fontknownget
-+ dup 3 index //.fontknownget exec
- { dup /PathLoad 4 index .putgstringcopy
- 4 1 roll pop pop pop //true exit
- } executeonly if
-@@ -1113,7 +1045,7 @@ $error /SubstituteFont { } put
- exch dup % Stack: origfontname fontdirectory path path
- (r) file .findfontname
- { % Stack: origfontname fontdirectory path filefontname
-- 2 index 1 index .fontknownget
-+ 2 index 1 index //.fontknownget exec
- { % Yes. Stack: origfontname fontdirectory path filefontname fontdict
- dup 4 -1 roll /PathLoad exch .putgstringcopy
- % Stack: origfontname fontdirectory filefontname fontdict
-@@ -1136,7 +1068,7 @@ $error /SubstituteFont { } put
- % Stack: fontdict
- } executeonly
- if pop % Stack: origfontname fontdirectory path
-- }
-+ } executeonly
- if pop pop % Stack: origfontname
-
- % The font definitely did not load correctly.
-@@ -1150,7 +1082,87 @@ $error /SubstituteFont { } put
-
- } bind executeonly odef % must be bound and hidden for .putgstringcopy
-
--currentdict /.putgstringcopy .undef
-+% Attempt to load a font from a file.
-+/.tryloadfont { % <fontname> .tryloadfont <font> true
-+ % <fontname> .tryloadfont false
-+ dup //.nametostring exec
-+ % Hack: check for the presence of the resource machinery.
-+ /.genericrfn where {
-+ pop
-+ pop dup //.fonttempstring /FontResourceDir getsystemparam .genericrfn
-+ {//false .loadfontloop} .internalstopped {//false} if {
-+ //true
-+ } {
-+ dup //.nametostring exec
-+ {//true .loadfontloop} .internalstopped {//false} if
-+ } ifelse
-+ } {
-+ {//true .loadfontloop} .internalstopped {//false} if
-+ } ifelse
-+} bind def
-+
-+% Try to find a font using only the present contents of Fontmap.
-+/.tryfindfont { % <fontname> .tryfindfont <font> true
-+ % <fontname> .tryfindfont false
-+ //.FontDirectory 1 index //.fontknownget exec
-+ { % Already loaded
-+ exch pop //true
-+ }
-+ {
-+ dup Fontmap exch .knownget
-+ { //true //true }
-+ { % Unknown font name. Look for a file with the
-+ % same name as the requested font.
-+ dup //.tryloadfont exec
-+ { exch pop //true //false }
-+ {
-+ % if we can't load by name check the native font map
-+ dup .nativeFontmap exch .knownget
-+ { //true //true }
-+ { //false //false } ifelse
-+ } ifelse
-+ } ifelse
-+
-+ { % Try each element of the Fontmap in turn.
-+ pop
-+ //false exch % (in case we exhaust the list)
-+ % Stack: fontname false fontmaplist
-+ { exch pop
-+ dup type /nametype eq
-+ { % Font alias
-+ //.checkalias exec
-+ .tryfindfont exit
-+ }
-+ { dup dup type dup /arraytype eq exch /packedarraytype eq or exch xcheck and
-+ { % Font with a procedural definition
-+ exec % The procedure will load the font.
-+ % Check to make sure this really happened.
-+ //.FontDirectory 1 index .knownget
-+ { exch pop //true exit }
-+ if
-+ }
-+ { % Font file name
-+ //true .loadfontloop { //true exit } if
-+ }
-+ ifelse
-+ }
-+ ifelse //false
-+ }
-+ forall
-+ % Stack: font true -or- fontname false
-+ { //true
-+ }
-+ { % None of the Fontmap entries worked.
-+ % Try loading a file with the same name
-+ % as the requested font.
-+ //.tryloadfont exec
-+ }
-+ ifelse
-+ }
-+ if
-+ }
-+ ifelse
-+ } bind def
-
- % Define a procedure to load all known fonts.
- % This isn't likely to be very useful.
-@@ -1192,9 +1204,9 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined
- /.loadinitialfonts
- { NOFONTMAP not
- { /FONTMAP where
-- { pop [ FONTMAP .pathlist ]
-+ { pop [ FONTMAP //.pathlist exec]
- { dup VMDEBUG findlibfile
-- { exch pop .loadFontmap }
-+ { exch pop //.loadFontmap exec }
- { /undefinedfilename signalerror }
- ifelse
- }
-@@ -1208,7 +1220,7 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined
- pop pop
- defaultfontmap_content { .definefontmap } forall
- } {
-- .loadFontmap
-+ //.loadFontmap exec
- } ifelse
- } {
- pop pop
-@@ -1272,3 +1284,18 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined
- { .makemodifiedfont
- dup /FontName get exch definefont pop
- } bind def
-+
-+% Undef these, not needed outside this file
-+[
-+ % /.fonttempstring /.scannextfontdir - are also used in gs_res.ps, so are undefined there
-+ % /.fontnameproperties - is used in pdf_font.ps
-+ % /.scanfontheaders - used in gs_cff.ps, gs_ttf.ps
-+ /.loadfontloop /.tryloadfont /.findfont /.pathlist /.loadFontmap /.lowerstring
-+ /.splitfilename /.scanfontdict /.scanfontbegin
-+ /.scanfontskip /.scan1fontstring
-+ /.scan1fontfirst /.scanfontdir
-+ /.setnativefontmapbuilt /.aliasfont
-+ /.setloadingfont /.substitutefaces /.substituteproperties /.substitutefamilies
-+ /.nametostring /.fontnamestring /.checkalias /.fontknownget /.stdsubstfont
-+ /.putgstringcopy
-+] {systemdict exch .forceundef} forall
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index 18d5452..b016113 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -961,7 +961,7 @@ userdict /.localcsdefaults //false put
- dup type /nametype eq { .namestring } if
- dup type /stringtype ne { //false exit } if
- % Check the resource directory.
-- dup .fonttempstring /FontResourceDir getsystemparam .genericrfn
-+ dup //.fonttempstring /FontResourceDir getsystemparam .genericrfn
- status {
- pop pop pop pop //true exit
- } if
-@@ -969,7 +969,7 @@ userdict /.localcsdefaults //false put
- % as the font.
- findlibfile { closefile //true exit } if
- % Scan a FONTPATH directory and try again.
-- .scannextfontdir not { //false exit } if
-+ //.scannextfontdir exec not { //false exit } if
- } loop
- } bind def
-
-@@ -1008,7 +1008,7 @@ currentdict /.fontstatusaux .undef
- } ifelse
- } bind executeonly
- /ResourceForAll {
-- { .scannextfontdir not { exit } if } loop
-+ { //.scannextfontdir exec not { exit } if } loop
- /Generic /Category findresource /ResourceForAll get exec
- } bind executeonly
- /.ResourceFileStatus {
-@@ -1163,6 +1163,7 @@ end % level2dict
- [
- /.default_resource_dir
- /.resource_dir_name
-+ /.fonttempstring /.scannextfontdir % from gs_fonts.ps
- ]
- {systemdict exch .forceundef} forall
-
---
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0007.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0007.patch
deleted file mode 100644
index 5c1f83959..000000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0007.patch
+++ /dev/null
@@ -1,346 +0,0 @@
-From 5c49efe24dda0f2dbd2a09b9159e683cce99b6d8 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Fri, 11 Jan 2019 13:36:36 +0000
-Subject: [PATCH 7/7] Remove .forcedef, and harden .force* ops more
-
-Remove .forcedef and replace all uses with a direct call to .forceput instead.
-
-Ensure every procedure (named and trasient) that calls .forceput is
-executeonly.
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_dps1.ps | 15 +++++++-----
- Resource/Init/gs_init.ps | 28 ++++++++-------------
- Resource/Init/gs_lev2.ps | 51 +++++++++++++++++++--------------------
- Resource/Init/gs_ll3.ps | 5 ++--
- Resource/Init/gs_res.ps | 29 +++++++++++-----------
- Resource/Init/gs_statd.ps | 4 +--
- 6 files changed, 63 insertions(+), 69 deletions(-)
-
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index 8700c8c..3d2cf7a 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -33,14 +33,17 @@ systemdict begin
-
- /SharedFontDirectory .FontDirectory .gcheck
- { .currentglobal //false .setglobal
-+ currentdict
- /LocalFontDirectory .FontDirectory dup maxlength dict copy
-- .forcedef % LocalFontDirectory is local, systemdict is global
-+ .forceput % LocalFontDirectory is local, systemdict is global
- .setglobal .FontDirectory
-- }
-- { /LocalFontDirectory .FontDirectory
-- .forcedef % LocalFontDirectory is local, systemdict is global
-+ } executeonly
-+ {
-+ currentdict
-+ /LocalFontDirectory .FontDirectory
-+ .forceput % LocalFontDirectory is local, systemdict is global
- 50 dict
-- }
-+ }executeonly
- ifelse def
-
- end % systemdict
-@@ -55,7 +58,7 @@ level2dict begin
- { //SharedFontDirectory }
- { /LocalFontDirectory .systemvar } % can't embed ref to local VM
- ifelse .forceput pop % LocalFontDirectory is local, systemdict is global
-- } .bind odef
-+ } .bind executeonly odef
- % Don't just copy (load) the definition of .setglobal:
- % it gets redefined for LL3.
- /setshared { /.setglobal .systemvar exec } odef
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index d9a0829..45bebf4 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -54,7 +54,7 @@ systemdict exch
- dup /userdict
- currentdict dup 200 .setmaxlength % userdict
- .forceput % userdict is local, systemdict is global
-- }
-+ } executeonly
- if begin
-
- % Define dummy local/global operators if needed.
-@@ -299,13 +299,6 @@ QUIET not { printgreeting flush } if
- 1 index exch .makeoperator def
- } .bind def
-
--% Define a special version of def for storing local objects into global
--% dictionaries. Like .forceput, this exists only during initialization.
--/.forcedef { % <key> <value> .forcedef -
-- 1 .argindex pop % check # of args
-- currentdict 3 1 roll .forceput
--} .bind odef
--
- % Define procedures for accessing variables in systemdict and userdict
- % regardless of the contents of the dictionary stack.
- /.systemvar { % <name> .systemvar <value>
-@@ -347,7 +340,7 @@ DELAYBIND
- }
- ifelse
- } .bind def
--} if
-+} executeonly if
-
- %**************** BACKWARD COMPATIBILITY ****************
- /hwsizedict mark /HWSize //null .dicttomark readonly def
-@@ -655,7 +648,7 @@ currentdict /.typenames .undef
- /ifelse .systemvar
- ] cvx executeonly
- exch .setglobal
--} odef
-+} executeonly odef
- systemdict /internaldict dup .makeinternaldict .makeoperator
- .forceput % proc is local, systemdict is global
-
-@@ -1093,7 +1086,7 @@ def
-
- % Define $error. This must be in local VM.
- .currentglobal //false .setglobal
--/$error 40 dict .forcedef % $error is local, systemdict is global
-+currentdict /$error 40 dict .forceput % $error is local, systemdict is global
- % newerror, errorname, command, errorinfo,
- % ostack, estack, dstack, recordstacks,
- % binary, globalmode,
-@@ -1112,8 +1105,8 @@ end
- % Define errordict similarly. It has one entry per error name,
- % plus handleerror. However, some astonishingly badly written PostScript
- % files require it to have at least one empty slot.
--/errordict ErrorNames length 3 add dict
--.forcedef % errordict is local, systemdict is global
-+currentdict /errordict ErrorNames length 3 add dict
-+.forceput % errordict is local, systemdict is global
- .setglobal % back to global VM
- % gserrordict contains all the default error handling methods, but unlike
- % errordict it is noaccess after creation (also it is in global VM).
-@@ -1273,8 +1266,9 @@ end
- (END PROCS) VMDEBUG
-
- % Define the font directory.
-+currentdict
- /FontDirectory //false .setglobal 100 dict //true .setglobal
--.forcedef % FontDirectory is local, systemdict is global
-+.forceput % FontDirectory is local, systemdict is global
-
- % Define the encoding dictionary.
- /EncodingDirectory 16 dict def % enough for Level 2 + PDF standard encodings
-@@ -2333,7 +2327,6 @@ SAFER { .setsafeglobal } if
- //systemdict /UndefinePostScriptOperators get exec
- //systemdict /UndefinePDFOperators get exec
- //systemdict /.forcecopynew .forceundef % remove temptation
-- //systemdict /.forcedef .forceundef % ditto
- //systemdict /.forceput .forceundef % ditto
- //systemdict /.undef .forceundef % ditto
- //systemdict /.forceundef .forceundef % ditto
-@@ -2368,9 +2361,9 @@ SAFER { .setsafeglobal } if
- % (and, if implemented, context switching).
- .currentglobal //false .setglobal
- mark userparams { } forall .dicttomark readonly
-- /userparams exch .forcedef % systemdict is read-only
-+ currentdict exch /userparams exch .forceput % systemdict is read-only
- .setglobal
--} if
-+} executeonly if
- /.currentsystemparams where {
- pop
- % Remove real system params from pssystemparams.
-@@ -2458,7 +2451,6 @@ end
- DELAYBIND not {
- systemdict /.bindnow .undef % We only need this for DELAYBIND
- systemdict /.forcecopynew .undef % remove temptation
-- systemdict /.forcedef .undef % ditto
- systemdict /.forceput .undef % ditto
- systemdict /.forceundef .undef % ditto
- } if
-diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps
-index 0f0d573..9c0c3a6 100644
---- a/Resource/Init/gs_lev2.ps
-+++ b/Resource/Init/gs_lev2.ps
-@@ -304,31 +304,30 @@ end
- psuserparams exch /.checkFilePermitparams load put
- .setglobal
-
--pssystemparams begin
-- /CurDisplayList 0 .forcedef
-- /CurFormCache 0 .forcedef
-- /CurInputDevice () .forcedef
-- /CurOutlineCache 0 .forcedef
-- /CurOutputDevice () .forcedef
-- /CurPatternCache 0 .forcedef
-- /CurUPathCache 0 .forcedef
-- /CurScreenStorage 0 .forcedef
-- /CurSourceList 0 .forcedef
-- /DoPrintErrors //false .forcedef
-- /JobTimeout 0 .forcedef
-- /LicenseID (LN-001) .forcedef % bogus
-- /MaxDisplayList 140000 .forcedef
-- /MaxFormCache 100000 .forcedef
-- /MaxImageBuffer 524288 .forcedef
-- /MaxOutlineCache 65000 .forcedef
-- /MaxPatternCache 100000 .forcedef
-- /MaxUPathCache 300000 .forcedef
-- /MaxScreenStorage 84000 .forcedef
-- /MaxSourceList 25000 .forcedef
-- /PrinterName product .forcedef
-- /RamSize 4194304 .forcedef
-- /WaitTimeout 40 .forcedef
--end
-+pssystemparams
-+dup /CurDisplayList 0 .forceput
-+dup /CurFormCache 0 .forceput
-+dup /CurInputDevice () .forceput
-+dup /CurOutlineCache 0 .forceput
-+dup /CurOutputDevice () .forceput
-+dup /CurPatternCache 0 .forceput
-+dup /CurUPathCache 0 .forceput
-+dup /CurScreenStorage 0 .forceput
-+dup /CurSourceList 0 .forceput
-+dup /DoPrintErrors //false .forceput
-+dup /JobTimeout 0 .forceput
-+dup /LicenseID (LN-001) .forceput % bogus
-+dup /MaxDisplayList 140000 .forceput
-+dup /MaxFormCache 100000 .forceput
-+dup /MaxImageBuffer 524288 .forceput
-+dup /MaxOutlineCache 65000 .forceput
-+dup /MaxPatternCache 100000 .forceput
-+dup /MaxUPathCache 300000 .forceput
-+dup /MaxScreenStorage 84000 .forceput
-+dup /MaxSourceList 25000 .forceput
-+dup /PrinterName product .forceput
-+dup /RamSize 4194304 .forceput
-+ /WaitTimeout 40 .forceput
-
- % Define the procedures for handling comment scanning. The names
- % %ProcessComment and %ProcessDSCComment are known to the interpreter.
-@@ -710,7 +709,7 @@ pop % currentsystemparams
- /statusdict currentdict def
-
- currentdict end
--/statusdict exch .forcedef % statusdict is local, systemdict is global
-+currentdict exch /statusdict exch .forceput % statusdict is local, systemdict is global
-
- % The following compatibility operators are in systemdict. They are
- % defined here, rather than in gs_init.ps, because they require the
-diff --git a/Resource/Init/gs_ll3.ps b/Resource/Init/gs_ll3.ps
-index c86721f..881af44 100644
---- a/Resource/Init/gs_ll3.ps
-+++ b/Resource/Init/gs_ll3.ps
-@@ -521,9 +521,8 @@ end
- % Define additional user and system parameters.
- /HalftoneMode 0 .definepsuserparam
- /MaxSuperScreen 1016 .definepsuserparam
--pssystemparams begin % read-only, so use .forcedef
-- /MaxDisplayAndSourceList 160000 .forcedef
--end
-+% read-only, so use .forceput
-+pssystemparams /MaxDisplayAndSourceList 160000 .forceput
-
- % Define the IdiomSet resource category.
- { /IdiomSet } {
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index b016113..89c0ed6 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -41,10 +41,10 @@ level2dict begin
- % However, Ed Taft of Adobe says their interpreters don't implement this
- % either, so we aren't going to worry about it for a while.
-
--currentglobal //false setglobal systemdict begin
-- /localinstancedict 5 dict
-- .forcedef % localinstancedict is local, systemdict is global
--end //true setglobal
-+currentglobal //false setglobal
-+ systemdict /localinstancedict 5 dict
-+ .forceput % localinstancedict is local, systemdict is global
-+//true setglobal
- /.emptydict 0 dict readonly def
- setglobal
-
-@@ -149,7 +149,7 @@ setglobal
- dup [ exch 0 -1 ] exch
- .Instances 4 2 roll put
- % Make the Category dictionary read-only. We will have to
-- % use .forceput / .forcedef later to replace the dummy,
-+ % use .forceput / .forceput later to replace the dummy,
- % empty .Instances dictionary with the real one later.
- readonly
- }{
-@@ -304,7 +304,8 @@ systemdict begin
- dup () ne {
- .file_name_directory_separator concatstrings
- } if
-- 2 index exch //false .file_name_combine not {
-+ 2 index exch //false
-+ .file_name_combine not {
- (Error: .default_resource_dir returned ) print exch print ( that can't combine with ) print =
- /.default_resource_dir cvx /configurationerror signalerror
- } if
-@@ -317,14 +318,14 @@ currentdict /pssystemparams known not {
- pssystemparams begin
- //.default_resource_dir exec
- /FontResourceDir (Font) //.resource_dir_name exec
-- readonly .forcedef % pssys'params is r-o
-+ readonly currentdict 3 1 roll .forceput % pssys'params is r-o
- /GenericResourceDir () //.resource_dir_name exec
-- readonly .forcedef % pssys'params is r-o
-+ readonly currentdict 3 1 roll .forceput % pssys'params is r-o
- pop % .default_resource_dir
- /GenericResourcePathSep
-- .file_name_separator readonly .forcedef % pssys'params is r-o
-- (%diskFontResourceDir) cvn (/Resource/Font/) readonly .forcedef % pssys'params is r-o
-- (%diskGenericResourceDir) cvn (/Resource/) readonly .forcedef % pssys'params is r-o
-+ .file_name_separator readonly currentdict 3 1 roll .forceput % pssys'params is r-o
-+ currentdict (%diskFontResourceDir) cvn (/Resource/Font/) readonly .forceput % pssys'params is r-o
-+ currentdict (%diskGenericResourceDir) cvn (/Resource/) readonly .forceput % pssys'params is r-o
- end
- end
-
-@@ -422,8 +423,8 @@ status {
- .Instances dup //.emptydict eq {
- pop 3 dict
- % As noted above, Category dictionaries are read-only,
-- % so we have to use .forcedef here.
-- /.Instances 1 index .forcedef % Category dict is read-only
-+ % so we have to use .forceput here.
-+ currentdict /.Instances 2 index .forceput % Category dict is read-only
- } executeonly if
- }
- { .LocalInstances dup //.emptydict eq
-@@ -441,7 +442,7 @@ status {
- { /defineresource cvx /typecheck signaloperror
- }
- ifelse
--} .bind executeonly .makeoperator % executeonly to prevent access to .forcedef
-+} .bind executeonly .makeoperator % executeonly to prevent access to .forceput
- /UndefineResource
- { { dup 2 index .knownget
- { dup 1 get 1 ge
-diff --git a/Resource/Init/gs_statd.ps b/Resource/Init/gs_statd.ps
-index 20d4c96..b6a7659 100644
---- a/Resource/Init/gs_statd.ps
-+++ b/Resource/Init/gs_statd.ps
-@@ -21,10 +21,10 @@ systemdict begin
- % We make statusdict a little larger for Level 2 stuff.
- % Note that it must be allocated in local VM.
- .currentglobal //false .setglobal
-- /statusdict 91 dict .forcedef % statusdict is local, sys'dict global
-+ currentdict /statusdict 91 dict .forceput % statusdict is local, sys'dict global
- % To support the Level 2 job control features,
- % serverdict must also be in local VM.
-- /serverdict 10 dict .forcedef % serverdict is local, sys'dict global
-+ currentdict /serverdict 10 dict .forceput % serverdict is local, sys'dict global
- .setglobal
- end
-
---
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb
index ad4c5e17d..5ca978f86 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb
@@ -32,13 +32,6 @@ SRC_URI = "${SRC_URI_BASE} \
file://ghostscript-9.02-genarch.patch \
file://objarch.h \
file://cups-no-gcrypt.patch \
- file://CVE-2019-6116-0001.patch \
- file://CVE-2019-6116-0002.patch \
- file://CVE-2019-6116-0003.patch \
- file://CVE-2019-6116-0004.patch \
- file://CVE-2019-6116-0005.patch \
- file://CVE-2019-6116-0006.patch \
- file://CVE-2019-6116-0007.patch \
"
SRC_URI_class-native = "${SRC_URI_BASE} \
diff --git a/poky/meta/recipes-extended/grep/grep/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-extended/grep/grep/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ba1a4bab4..000000000
--- a/poky/meta/recipes-extended/grep/grep/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gnulib.mk b/lib/gnulib.mk
-index e1d74db..c0e92dd 100644
---- a/lib/gnulib.mk
-+++ b/lib/gnulib.mk
-@@ -1882,7 +1882,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 ;; \
---
-2.1.4
-
diff --git a/poky/meta/recipes-extended/grep/grep_3.1.bb b/poky/meta/recipes-extended/grep/grep_3.1.bb
deleted file mode 100644
index 71810dc65..000000000
--- a/poky/meta/recipes-extended/grep/grep_3.1.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "GNU grep utility"
-HOMEPAGE = "http://savannah.gnu.org/projects/grep/"
-BUGTRACKER = "http://savannah.gnu.org/bugs/?group=grep"
-SECTION = "console/utils"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8006d9c814277c1bfc4ca22af94b59ee"
-
-SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- "
-
-SRC_URI[md5sum] = "feca7b3e7c7f4aab2b42ecbfc513b070"
-SRC_URI[sha256sum] = "db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e"
-
-inherit autotools gettext texinfo pkgconfig
-
-# Fix "Argument list too long" error when len(TMPDIR) = 410
-acpaths = "-I ./m4"
-
-do_configure_prepend () {
- rm -f ${S}/m4/init.m4
-}
-
-do_install () {
- autotools_do_install
- if [ "${base_bindir}" != "${bindir}" ]; then
- install -d ${D}${base_bindir}
- mv ${D}${bindir}/grep ${D}${base_bindir}/grep
- mv ${D}${bindir}/egrep ${D}${base_bindir}/egrep
- mv ${D}${bindir}/fgrep ${D}${base_bindir}/fgrep
- rmdir ${D}${bindir}/
- fi
-}
-
-inherit update-alternatives
-
-PACKAGECONFIG ??= "pcre"
-PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre"
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "grep egrep fgrep"
-ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep"
-ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep"
-ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep"
-
-export CONFIG_SHELL="/bin/sh"
diff --git a/poky/meta/recipes-extended/grep/grep_3.3.bb b/poky/meta/recipes-extended/grep/grep_3.3.bb
new file mode 100644
index 000000000..704a3ecd0
--- /dev/null
+++ b/poky/meta/recipes-extended/grep/grep_3.3.bb
@@ -0,0 +1,45 @@
+SUMMARY = "GNU grep utility"
+HOMEPAGE = "http://savannah.gnu.org/projects/grep/"
+BUGTRACKER = "http://savannah.gnu.org/bugs/?group=grep"
+SECTION = "console/utils"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "05d0718a1b7cc706a4bdf8115363f1ed"
+SRC_URI[sha256sum] = "b960541c499619efd6afe1fa795402e4733c8e11ebf9fafccc0bb4bccdc5b514"
+
+inherit autotools gettext texinfo pkgconfig
+
+# Fix "Argument list too long" error when len(TMPDIR) = 410
+acpaths = "-I ./m4"
+
+do_configure_prepend () {
+ rm -f ${S}/m4/init.m4
+}
+
+do_install () {
+ autotools_do_install
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ install -d ${D}${base_bindir}
+ mv ${D}${bindir}/grep ${D}${base_bindir}/grep
+ mv ${D}${bindir}/egrep ${D}${base_bindir}/egrep
+ mv ${D}${bindir}/fgrep ${D}${base_bindir}/fgrep
+ rmdir ${D}${bindir}/
+ fi
+}
+
+inherit update-alternatives
+
+PACKAGECONFIG ??= "pcre"
+PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "grep egrep fgrep"
+ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep"
+ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep"
+ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep"
+
+export CONFIG_SHELL="/bin/sh"
diff --git a/poky/meta/recipes-extended/gzip/gzip-1.9/wrong-path-fix.patch b/poky/meta/recipes-extended/gzip/gzip-1.10/wrong-path-fix.patch
index 7c37bc8d2..7c37bc8d2 100644
--- a/poky/meta/recipes-extended/gzip/gzip-1.9/wrong-path-fix.patch
+++ b/poky/meta/recipes-extended/gzip/gzip-1.10/wrong-path-fix.patch
diff --git a/poky/meta/recipes-extended/gzip/gzip-1.9/gnulib.patch b/poky/meta/recipes-extended/gzip/gzip-1.9/gnulib.patch
deleted file mode 100644
index c3cdd72b6..000000000
--- a/poky/meta/recipes-extended/gzip/gzip-1.9/gnulib.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-From 1831628c0630ae96a43586b2a25ca51cbdba3e53 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <address@hidden>
-Date: Mon, 5 Mar 2018 10:56:29 -0800
-Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Daniel P. Berrangé in:
-https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
-* lib/fbufmode.c (fbufmode):
-* lib/fflush.c (clear_ungetc_buffer_preserving_position)
-(disable_seek_optimization, rpl_fflush):
-* lib/fpending.c (__fpending):
-* lib/fpurge.c (fpurge):
-* lib/freadable.c (freadable):
-* lib/freadahead.c (freadahead):
-* lib/freading.c (freading):
-* lib/freadptr.c (freadptr):
-* lib/freadseek.c (freadptrinc):
-* lib/fseeko.c (fseeko):
-* lib/fseterr.c (fseterr):
-* lib/fwritable.c (fwritable):
-* lib/fwriting.c (fwriting):
-Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
-* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
-Define if not already defined.
----
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- ChangeLog | 23 +++++++++++++++++++++++
- lib/fbufmode.c | 2 +-
- lib/fflush.c | 6 +++---
- lib/fpending.c | 2 +-
- lib/fpurge.c | 2 +-
- lib/freadable.c | 2 +-
- lib/freadahead.c | 2 +-
- lib/freading.c | 2 +-
- lib/freadptr.c | 2 +-
- lib/freadseek.c | 2 +-
- lib/fseeko.c | 4 ++--
- lib/fseterr.c | 2 +-
- lib/fwritable.c | 2 +-
- lib/fwriting.c | 2 +-
- lib/stdio-impl.h | 6 ++++++
- 15 files changed, 45 insertions(+), 16 deletions(-)
-
-Index: gzip-1.9/ChangeLog
-===================================================================
---- gzip-1.9.orig/ChangeLog
-+++ gzip-1.9/ChangeLog
-@@ -1,3 +1,26 @@
-+2018-03-05 Paul Eggert <address@hidden>
-+
-+ fflush: adjust to glibc 2.28 libio.h removal
-+ Problem reported by Daniel P. Berrangé in:
-+ https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
-+ * lib/fbufmode.c (fbufmode):
-+ * lib/fflush.c (clear_ungetc_buffer_preserving_position)
-+ (disable_seek_optimization, rpl_fflush):
-+ * lib/fpending.c (__fpending):
-+ * lib/fpurge.c (fpurge):
-+ * lib/freadable.c (freadable):
-+ * lib/freadahead.c (freadahead):
-+ * lib/freading.c (freading):
-+ * lib/freadptr.c (freadptr):
-+ * lib/freadseek.c (freadptrinc):
-+ * lib/fseeko.c (fseeko):
-+ * lib/fseterr.c (fseterr):
-+ * lib/fwritable.c (fwritable):
-+ * lib/fwriting.c (fwriting):
-+ Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
-+ * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
-+ Define if not already defined.
-+
- 2018-01-07 Jim Meyering <meyering@fb.com>
-
- version 1.9
-Index: gzip-1.9/lib/fflush.c
-===================================================================
---- gzip-1.9.orig/lib/fflush.c
-+++ gzip-1.9/lib/fflush.c
-@@ -33,7 +33,7 @@
- #undef fflush
-
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
- static void
-@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
-
- #endif
-
--#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-
- # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
- if (stream == NULL || ! freading (stream))
- return fflush (stream);
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- clear_ungetc_buffer_preserving_position (stream);
-
-Index: gzip-1.9/lib/fpurge.c
-===================================================================
---- gzip-1.9.orig/lib/fpurge.c
-+++ gzip-1.9/lib/fpurge.c
-@@ -62,7 +62,7 @@ fpurge (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_IO_read_end = fp->_IO_read_ptr;
- fp->_IO_write_ptr = fp->_IO_write_base;
- /* Avoid memory leak when there is an active ungetc buffer. */
-Index: gzip-1.9/lib/freading.c
-===================================================================
---- gzip-1.9.orig/lib/freading.c
-+++ gzip-1.9/lib/freading.c
-@@ -31,7 +31,7 @@ freading (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- return ((fp->_flags & _IO_NO_WRITES) != 0
- || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
- && fp->_IO_read_base != NULL));
-Index: gzip-1.9/lib/fseeko.c
-===================================================================
---- gzip-1.9.orig/lib/fseeko.c
-+++ gzip-1.9/lib/fseeko.c
-@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when
- #endif
-
- /* These tests are based on fpurge.c. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- if (fp->_IO_read_end == fp->_IO_read_ptr
- && fp->_IO_write_ptr == fp->_IO_write_base
- && fp->_IO_save_base == NULL)
-@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when
- return -1;
- }
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_flags &= ~_IO_EOF_SEEN;
- fp->_offset = pos;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
-Index: gzip-1.9/lib/fseterr.c
-===================================================================
---- gzip-1.9.orig/lib/fseterr.c
-+++ gzip-1.9/lib/fseterr.c
-@@ -29,7 +29,7 @@ fseterr (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_flags |= _IO_ERR_SEEN;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-Index: gzip-1.9/lib/stdio-impl.h
-===================================================================
---- gzip-1.9.orig/lib/stdio-impl.h
-+++ gzip-1.9/lib/stdio-impl.h
-@@ -18,6 +18,12 @@
- the same implementation of stdio extension API, except that some fields
- have different naming conventions, or their access requires some casts. */
-
-+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
-+ problem by defining it ourselves. FIXME: Do not rely on glibc
-+ internals. */
-+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
-+# define _IO_IN_BACKUP 0x100
-+#endif
-
- /* BSD stdio derived implementations. */
-
diff --git a/poky/meta/recipes-extended/gzip/gzip_1.10.bb b/poky/meta/recipes-extended/gzip/gzip_1.10.bb
new file mode 100644
index 000000000..75de97063
--- /dev/null
+++ b/poky/meta/recipes-extended/gzip/gzip_1.10.bb
@@ -0,0 +1,38 @@
+require gzip.inc
+
+LICENSE = "GPLv3+"
+
+SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI_append_class-target = " file://wrong-path-fix.patch"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e"
+
+PROVIDES_append_class-native = " gzip-replacement-native"
+
+BBCLASSEXTEND = "native"
+
+inherit ptest
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}/src/build-aux
+ cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/src/build-aux/
+ mkdir -p ${D}${PTEST_PATH}/src/tests
+ cp -r ${S}/tests/* ${D}${PTEST_PATH}/src/tests
+ sed -e 's/^abs_srcdir = ..*/abs_srcdir = \.\./' \
+ -e 's/^top_srcdir = ..*/top_srcdir = \.\./' \
+ -e 's/^GREP = ..*/GREP = grep/' \
+ -e 's/^AWK = ..*/AWK = awk/' \
+ -e 's/^srcdir = ..*/srcdir = \./' \
+ -e 's/^Makefile: ..*/Makefile: /' \
+ -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${HOSTTOOLS_DIR}/::g' \
+ -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+ ${B}/tests/Makefile > ${D}${PTEST_PATH}/src/tests/Makefile
+}
+
+SRC_URI[md5sum] = "cf9ee51aff167ff69844d5d7d71c8b20"
+SRC_URI[sha256sum] = "c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68"
diff --git a/poky/meta/recipes-extended/gzip/gzip_1.9.bb b/poky/meta/recipes-extended/gzip/gzip_1.9.bb
deleted file mode 100644
index 19f658652..000000000
--- a/poky/meta/recipes-extended/gzip/gzip_1.9.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-require gzip.inc
-
-LICENSE = "GPLv3+"
-
-SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
- file://run-ptest \
- file://gnulib.patch \
- "
-SRC_URI_append_class-target = " file://wrong-path-fix.patch"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e"
-
-PROVIDES_append_class-native = " gzip-replacement-native"
-
-BBCLASSEXTEND = "native"
-
-inherit ptest
-
-do_install_ptest() {
- mkdir -p ${D}${PTEST_PATH}/src/build-aux
- cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/src/build-aux/
- mkdir -p ${D}${PTEST_PATH}/src/tests
- cp -r ${S}/tests/* ${D}${PTEST_PATH}/src/tests
- sed -e 's/^abs_srcdir = ..*/abs_srcdir = \.\./' \
- -e 's/^top_srcdir = ..*/top_srcdir = \.\./' \
- -e 's/^GREP = ..*/GREP = grep/' \
- -e 's/^AWK = ..*/AWK = awk/' \
- -e 's/^srcdir = ..*/srcdir = \./' \
- -e 's/^Makefile: ..*/Makefile: /' \
- -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${B}/tests/Makefile > ${D}${PTEST_PATH}/src/tests/Makefile
-}
-
-SRC_URI[md5sum] = "929d6a6b832f75b28e3eeeafb30c1d9b"
-SRC_URI[sha256sum] = "5d2d3a3432ef32f24cdb060d278834507b481a75adeca18850c73592f778f6ad"
-
diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.56.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.56.bb
deleted file mode 100644
index 17932ad22..000000000
--- a/poky/meta/recipes-extended/hdparm/hdparm_9.56.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Utility for viewing/manipulating IDE disk drive/driver parameters"
-HOMEPAGE = "http://sourceforge.net/projects/hdparm/"
-DESCRIPTION = "hdparm is a Linux shell utility for viewing \
-and manipulating various IDE drive and driver parameters."
-SECTION = "console/utils"
-
-LICENSE = "BSD & GPLv2"
-LICENSE_${PN} = "BSD"
-LICENSE_${PN}-dbg = "BSD"
-LICENSE_wiper = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
- file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
- file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \
- file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09"
-
-
-PACKAGES =+ "wiper"
-
-FILES_wiper = "${bindir}/wiper.sh"
-
-RDEPENDS_wiper = "bash gawk coreutils"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \
- file://wiper.sh-fix-stat-path.patch \
- "
-
-SRC_URI[md5sum] = "7900608e32834f65d2654fdb696e71a0"
-SRC_URI[sha256sum] = "6ff9ed695f1017396eec4101f990f114b7b0e0a04c5aa6369c0394053d16e4da"
-
-EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
-
-inherit update-alternatives
-
-ALTERNATIVE_${PN} = "hdparm"
-ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm"
-ALTERNATIVE_PRIORITY = "100"
-
-do_install () {
- install -d ${D}/${base_sbindir} ${D}/${mandir}/man8 ${D}/${bindir}
- oe_runmake 'DESTDIR=${D}' 'sbindir=${base_sbindir}' install
- cp ${S}/wiper/wiper.sh ${D}/${bindir}
-}
diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.58.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.58.bb
new file mode 100644
index 000000000..e47dedae8
--- /dev/null
+++ b/poky/meta/recipes-extended/hdparm/hdparm_9.58.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Utility for viewing/manipulating IDE disk drive/driver parameters"
+HOMEPAGE = "http://sourceforge.net/projects/hdparm/"
+DESCRIPTION = "hdparm is a Linux shell utility for viewing \
+and manipulating various IDE drive and driver parameters."
+SECTION = "console/utils"
+
+LICENSE = "BSD & GPLv2"
+LICENSE_${PN} = "BSD"
+LICENSE_${PN}-dbg = "BSD"
+LICENSE_wiper = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
+ file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
+ file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \
+ file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09"
+
+
+PACKAGES =+ "wiper"
+
+FILES_wiper = "${bindir}/wiper.sh"
+
+RDEPENDS_wiper = "bash gawk coreutils"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \
+ file://wiper.sh-fix-stat-path.patch \
+ "
+
+SRC_URI[md5sum] = "4652c49cf096a64683c05f54b4fa4679"
+SRC_URI[sha256sum] = "9ae78e883f3ce071d32ee0f1b9a2845a634fc4dd94a434e653fdbef551c5e10f"
+
+EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
+
+inherit update-alternatives
+
+ALTERNATIVE_${PN} = "hdparm"
+ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm"
+ALTERNATIVE_PRIORITY = "100"
+
+do_install () {
+ install -d ${D}/${base_sbindir} ${D}/${mandir}/man8 ${D}/${bindir}
+ oe_runmake 'DESTDIR=${D}' 'sbindir=${base_sbindir}' install
+ cp ${S}/wiper/wiper.sh ${D}/${bindir}
+}
diff --git a/poky/meta/recipes-extended/images/core-image-kernel-dev.bb b/poky/meta/recipes-extended/images/core-image-kernel-dev.bb
index a40b3aa95..4d16da1ea 100644
--- a/poky/meta/recipes-extended/images/core-image-kernel-dev.bb
+++ b/poky/meta/recipes-extended/images/core-image-kernel-dev.bb
@@ -11,6 +11,7 @@ KERNEL_DEV_MODULE ?= "kernel-modules"
CORE_IMAGE_EXTRA_INSTALL += "${KERNEL_DEV_MODULE} \
${KERNEL_DEV_UTILS} \
${KERNEL_DEV_TOOLS} \
+ systemtap \
"
# We need extra space for things like kernel builds, etc.
@@ -18,3 +19,5 @@ IMAGE_ROOTFS_EXTRA_SPACE_append = " + 3000000"
# Let's define our own subset to test, we can later add a on-target kernel build even!
DEFAULT_TEST_SUITES = "ping ssh df connman syslog scp date parselogs"
+
+IMAGE_FEATURES += "tools-profile"
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.6.2.bb b/poky/meta/recipes-extended/iptables/iptables_1.6.2.bb
index e00824f76..a57cac34e 100644
--- a/poky/meta/recipes-extended/iptables/iptables_1.6.2.bb
+++ b/poky/meta/recipes-extended/iptables/iptables_1.6.2.bb
@@ -39,7 +39,7 @@ PACKAGES += "${PN}-modules"
PACKAGES_DYNAMIC += "^${PN}-module-.*"
python populate_packages_prepend() {
- modules = do_split_packages(d, '${libdir}/xtables', 'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
+ modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
if modules:
metapkg = d.getVar('PN') + '-modules'
d.appendVar('RDEPENDS_' + metapkg, ' ' + ' '.join(modules))
diff --git a/poky/meta/recipes-extended/less/less_530.bb b/poky/meta/recipes-extended/less/less_530.bb
deleted file mode 100644
index c07b12174..000000000
--- a/poky/meta/recipes-extended/less/less_530.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Text file viewer similar to more"
-DESCRIPTION = "Less is a program similar to more, i.e. a terminal \
-based program for viewing text files and the output from other \
-programs. Less offers many features beyond those that more does."
-HOMEPAGE = "http://www.greenwoodsoftware.com/"
-SECTION = "console/utils"
-
-# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less
-# Including email author giving permissing to use BSD
-#
-# From: Mark Nudelman <markn@greenwoodsoftware.com>
-# To: Elizabeth Flanagan <elizabeth.flanagan@intel.com
-# Date: 12/19/11
-#
-# Hi Elizabeth,
-# Using a generic BSD license for less is fine with me.
-# Thanks,
-#
-# --Mark
-#
-
-LICENSE = "GPLv3+ | BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://LICENSE;md5=2ef3e4b8dafc85612bc5254b8081e234"
-DEPENDS = "ncurses"
-
-SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
- "
-
-SRC_URI[md5sum] = "6a39bccf420c946b0fd7ffc64961315b"
-SRC_URI[sha256sum] = "503f91ab0af4846f34f0444ab71c4b286123f0044a4964f1ae781486c617f2e2"
-
-UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
-
-inherit autotools update-alternatives
-
-do_install () {
- oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
-}
-
-ALTERNATIVE_${PN} = "less"
-ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-extended/less/less_550.bb b/poky/meta/recipes-extended/less/less_550.bb
new file mode 100644
index 000000000..bb1618f1e
--- /dev/null
+++ b/poky/meta/recipes-extended/less/less_550.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Text file viewer similar to more"
+DESCRIPTION = "Less is a program similar to more, i.e. a terminal \
+based program for viewing text files and the output from other \
+programs. Less offers many features beyond those that more does."
+HOMEPAGE = "http://www.greenwoodsoftware.com/"
+SECTION = "console/utils"
+
+# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less
+# Including email author giving permissing to use BSD
+#
+# From: Mark Nudelman <markn@greenwoodsoftware.com>
+# To: Elizabeth Flanagan <elizabeth.flanagan@intel.com
+# Date: 12/19/11
+#
+# Hi Elizabeth,
+# Using a generic BSD license for less is fine with me.
+# Thanks,
+#
+# --Mark
+#
+
+LICENSE = "GPLv3+ | BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE;md5=ba01d0cab7f62f7f2204c7780ff6a87d \
+ "
+DEPENDS = "ncurses"
+
+SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
+ "
+
+SRC_URI[md5sum] = "8caff88e34afff512b663d7c690bd2cf"
+SRC_URI[sha256sum] = "6a53639f08d7ed05b6e104b82c32193f79ac01a3eddb20e114e1c261948bd57b"
+
+UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
+
+inherit autotools update-alternatives
+
+do_install () {
+ oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
+}
+
+ALTERNATIVE_${PN} = "less"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch
new file mode 100644
index 000000000..ce638370b
--- /dev/null
+++ b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch
@@ -0,0 +1,38 @@
+CVE: CVE-2018-1000877
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 021efa522ad729ff0f5806c4ce53e4a6cc1daa31 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 20 Nov 2018 17:56:29 +1100
+Subject: [PATCH] Avoid a double-free when a window size of 0 is specified
+
+new_size can be 0 with a malicious or corrupted RAR archive.
+
+realloc(area, 0) is equivalent to free(area), so the region would
+be free()d here and the free()d again in the cleanup function.
+
+Found with a setup running AFL, afl-rb, and qsym.
+---
+ libarchive/archive_read_support_format_rar.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
+index 23452222..6f419c27 100644
+--- a/libarchive/archive_read_support_format_rar.c
++++ b/libarchive/archive_read_support_format_rar.c
+@@ -2300,6 +2300,11 @@ parse_codes(struct archive_read *a)
+ new_size = DICTIONARY_MAX_SIZE;
+ else
+ new_size = rar_fls((unsigned int)rar->unp_size) << 1;
++ if (new_size == 0) {
++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
++ "Zero window size is invalid.");
++ return (ARCHIVE_FATAL);
++ }
+ new_window = realloc(rar->lzss.window, new_size);
+ if (new_window == NULL) {
+ archive_set_error(&a->archive, ENOMEM,
+--
+2.20.0
+
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch
new file mode 100644
index 000000000..7468fd3c9
--- /dev/null
+++ b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch
@@ -0,0 +1,79 @@
+CVE: CVE-2018-1000878
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From bfcfe6f04ed20db2504db8a254d1f40a1d84eb28 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 4 Dec 2018 00:55:22 +1100
+Subject: [PATCH] rar: file split across multi-part archives must match
+
+Fuzzing uncovered some UAF and memory overrun bugs where a file in a
+single file archive reported that it was split across multiple
+volumes. This was caused by ppmd7 operations calling
+rar_br_fillup. This would invoke rar_read_ahead, which would in some
+situations invoke archive_read_format_rar_read_header. That would
+check the new file name against the old file name, and if they didn't
+match up it would free the ppmd7 buffer and allocate a new
+one. However, because the ppmd7 decoder wasn't actually done with the
+buffer, it would continue to used the freed buffer. Both reads and
+writes to the freed region can be observed.
+
+This is quite tricky to solve: once the buffer has been freed it is
+too late, as the ppmd7 decoder functions almost universally assume
+success - there's no way for ppmd_read to signal error, nor are there
+good ways for functions like Range_Normalise to propagate them. So we
+can't detect after the fact that we're in an invalid state - e.g. by
+checking rar->cursor, we have to prevent ourselves from ever ending up
+there. So, when we are in the dangerous part or rar_read_ahead that
+assumes a valid split, we set a flag force read_header to either go
+down the path for split files or bail. This means that the ppmd7
+decoder keeps a valid buffer and just runs out of data.
+
+Found with a combination of AFL, afl-rb and qsym.
+---
+ libarchive/archive_read_support_format_rar.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
+index 6f419c27..a8cc5c94 100644
+--- a/libarchive/archive_read_support_format_rar.c
++++ b/libarchive/archive_read_support_format_rar.c
+@@ -258,6 +258,7 @@ struct rar
+ struct data_block_offsets *dbo;
+ unsigned int cursor;
+ unsigned int nodes;
++ char filename_must_match;
+
+ /* LZSS members */
+ struct huffman_code maincode;
+@@ -1560,6 +1561,12 @@ read_header(struct archive_read *a, struct archive_entry *entry,
+ }
+ return ret;
+ }
++ else if (rar->filename_must_match)
++ {
++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
++ "Mismatch of file parts split across multi-volume archive");
++ return (ARCHIVE_FATAL);
++ }
+
+ rar->filename_save = (char*)realloc(rar->filename_save,
+ filename_size + 1);
+@@ -2933,12 +2940,14 @@ rar_read_ahead(struct archive_read *a, size_t min, ssize_t *avail)
+ else if (*avail == 0 && rar->main_flags & MHD_VOLUME &&
+ rar->file_flags & FHD_SPLIT_AFTER)
+ {
++ rar->filename_must_match = 1;
+ ret = archive_read_format_rar_read_header(a, a->entry);
+ if (ret == (ARCHIVE_EOF))
+ {
+ rar->has_endarc_header = 1;
+ ret = archive_read_format_rar_read_header(a, a->entry);
+ }
++ rar->filename_must_match = 0;
+ if (ret != (ARCHIVE_OK))
+ return NULL;
+ return rar_read_ahead(a, min, avail);
+--
+2.20.0
+
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch
new file mode 100644
index 000000000..9f25932a1
--- /dev/null
+++ b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch
@@ -0,0 +1,50 @@
+CVE: CVE-2018-1000879
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 15bf44fd2c1ad0e3fd87048b3fcc90c4dcff1175 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 4 Dec 2018 14:29:42 +1100
+Subject: [PATCH] Skip 0-length ACL fields
+
+Currently, it is possible to create an archive that crashes bsdtar
+with a malformed ACL:
+
+Program received signal SIGSEGV, Segmentation fault.
+archive_acl_from_text_l (acl=<optimised out>, text=0x7e2e92 "", want_type=<optimised out>, sc=<optimised out>) at libarchive/archive_acl.c:1726
+1726 switch (*s) {
+(gdb) p n
+$1 = 1
+(gdb) p field[n]
+$2 = {start = 0x0, end = 0x0}
+
+Stop this by checking that the length is not zero before beginning
+the switch statement.
+
+I am pretty sure this is the bug mentioned in the qsym paper [1],
+and I was able to replicate it with a qsym + AFL + afl-rb setup.
+
+[1] https://www.usenix.org/conference/usenixsecurity18/presentation/yun
+---
+ libarchive/archive_acl.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libarchive/archive_acl.c b/libarchive/archive_acl.c
+index 512beee1..7beeee86 100644
+--- a/libarchive/archive_acl.c
++++ b/libarchive/archive_acl.c
+@@ -1723,6 +1723,11 @@ archive_acl_from_text_l(struct archive_acl *acl, const char *text,
+ st = field[n].start + 1;
+ len = field[n].end - field[n].start;
+
++ if (len == 0) {
++ ret = ARCHIVE_WARN;
++ continue;
++ }
++
+ switch (*s) {
+ case 'u':
+ if (len == 1 || (len == 4
+--
+2.20.0
+
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch
new file mode 100644
index 000000000..bc264a124
--- /dev/null
+++ b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch
@@ -0,0 +1,44 @@
+CVE: CVE-2018-1000880
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 9c84b7426660c09c18cc349f6d70b5f8168b5680 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 4 Dec 2018 16:33:42 +1100
+Subject: [PATCH] warc: consume data once read
+
+The warc decoder only used read ahead, it wouldn't actually consume
+data that had previously been printed. This means that if you specify
+an invalid content length, it will just reprint the same data over
+and over and over again until it hits the desired length.
+
+This means that a WARC resource with e.g.
+Content-Length: 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665
+but only a few hundred bytes of data, causes a quasi-infinite loop.
+
+Consume data in subsequent calls to _warc_read.
+
+Found with an AFL + afl-rb + qsym setup.
+---
+ libarchive/archive_read_support_format_warc.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libarchive/archive_read_support_format_warc.c b/libarchive/archive_read_support_format_warc.c
+index e8753853..e8fc8428 100644
+--- a/libarchive/archive_read_support_format_warc.c
++++ b/libarchive/archive_read_support_format_warc.c
+@@ -386,6 +386,11 @@ _warc_read(struct archive_read *a, const void **buf, size_t *bsz, int64_t *off)
+ return (ARCHIVE_EOF);
+ }
+
++ if (w->unconsumed) {
++ __archive_read_consume(a, w->unconsumed);
++ w->unconsumed = 0U;
++ }
++
+ rab = __archive_read_ahead(a, 1U, &nrd);
+ if (nrd < 0) {
+ *bsz = 0U;
+--
+2.20.0
+
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch
new file mode 100644
index 000000000..7f39893c2
--- /dev/null
+++ b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch
@@ -0,0 +1,59 @@
+CVE: CVE-2019-1000019
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 65a23f5dbee4497064e9bb467f81138a62b0dae1 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 1 Jan 2019 16:01:40 +1100
+Subject: [PATCH 2/2] 7zip: fix crash when parsing certain archives
+
+Fuzzing with CRCs disabled revealed that a call to get_uncompressed_data()
+would sometimes fail to return at least 'minimum' bytes. This can cause
+the crc32() invocation in header_bytes to read off into invalid memory.
+
+A specially crafted archive can use this to cause a crash.
+
+An ASAN trace is below, but ASAN is not required - an uninstrumented
+binary will also crash.
+
+==7719==ERROR: AddressSanitizer: SEGV on unknown address 0x631000040000 (pc 0x7fbdb3b3ec1d bp 0x7ffe77a51310 sp 0x7ffe77a51150 T0)
+==7719==The signal is caused by a READ memory access.
+ #0 0x7fbdb3b3ec1c in crc32_z (/lib/x86_64-linux-gnu/libz.so.1+0x2c1c)
+ #1 0x84f5eb in header_bytes (/tmp/libarchive/bsdtar+0x84f5eb)
+ #2 0x856156 in read_Header (/tmp/libarchive/bsdtar+0x856156)
+ #3 0x84e134 in slurp_central_directory (/tmp/libarchive/bsdtar+0x84e134)
+ #4 0x849690 in archive_read_format_7zip_read_header (/tmp/libarchive/bsdtar+0x849690)
+ #5 0x5713b7 in _archive_read_next_header2 (/tmp/libarchive/bsdtar+0x5713b7)
+ #6 0x570e63 in _archive_read_next_header (/tmp/libarchive/bsdtar+0x570e63)
+ #7 0x6f08bd in archive_read_next_header (/tmp/libarchive/bsdtar+0x6f08bd)
+ #8 0x52373f in read_archive (/tmp/libarchive/bsdtar+0x52373f)
+ #9 0x5257be in tar_mode_x (/tmp/libarchive/bsdtar+0x5257be)
+ #10 0x51daeb in main (/tmp/libarchive/bsdtar+0x51daeb)
+ #11 0x7fbdb27cab96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
+ #12 0x41dd09 in _start (/tmp/libarchive/bsdtar+0x41dd09)
+
+This was primarly done with afl and FairFuzz. Some early corpus entries
+may have been generated by qsym.
+---
+ libarchive/archive_read_support_format_7zip.c | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/libarchive/archive_read_support_format_7zip.c b/libarchive/archive_read_support_format_7zip.c
+index bccbf8966..b6d1505d3 100644
+--- a/libarchive/archive_read_support_format_7zip.c
++++ b/libarchive/archive_read_support_format_7zip.c
+@@ -2964,13 +2964,7 @@ get_uncompressed_data(struct archive_read *a, const void **buff, size_t size,
+ if (zip->codec == _7Z_COPY && zip->codec2 == (unsigned long)-1) {
+ /* Copy mode. */
+
+- /*
+- * Note: '1' here is a performance optimization.
+- * Recall that the decompression layer returns a count of
+- * available bytes; asking for more than that forces the
+- * decompressor to combine reads by copying data.
+- */
+- *buff = __archive_read_ahead(a, 1, &bytes_avail);
++ *buff = __archive_read_ahead(a, minimum, &bytes_avail);
+ if (bytes_avail <= 0) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch
new file mode 100644
index 000000000..25a76fdcd
--- /dev/null
+++ b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch
@@ -0,0 +1,61 @@
+CVE: CVE-2019-1000020
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 8312eaa576014cd9b965012af51bc1f967b12423 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 1 Jan 2019 17:10:49 +1100
+Subject: [PATCH 1/2] iso9660: Fail when expected Rockridge extensions is
+ missing
+
+A corrupted or malicious ISO9660 image can cause read_CE() to loop
+forever.
+
+read_CE() calls parse_rockridge(), expecting a Rockridge extension
+to be read. However, parse_rockridge() is structured as a while
+loop starting with a sanity check, and if the sanity check fails
+before the loop has run, the function returns ARCHIVE_OK without
+advancing the position in the file. This causes read_CE() to retry
+indefinitely.
+
+Make parse_rockridge() return ARCHIVE_WARN if it didn't read an
+extension. As someone with no real knowledge of the format, this
+seems more apt than ARCHIVE_FATAL, but both the call-sites escalate
+it to a fatal error immediately anyway.
+
+Found with a combination of AFL, afl-rb (FairFuzz) and qsym.
+---
+ libarchive/archive_read_support_format_iso9660.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c
+index 28acfefbb..bad8f1dfe 100644
+--- a/libarchive/archive_read_support_format_iso9660.c
++++ b/libarchive/archive_read_support_format_iso9660.c
+@@ -2102,6 +2102,7 @@ parse_rockridge(struct archive_read *a, struct file_info *file,
+ const unsigned char *p, const unsigned char *end)
+ {
+ struct iso9660 *iso9660;
++ int entry_seen = 0;
+
+ iso9660 = (struct iso9660 *)(a->format->data);
+
+@@ -2257,8 +2258,16 @@ parse_rockridge(struct archive_read *a, struct file_info *file,
+ }
+
+ p += p[2];
++ entry_seen = 1;
++ }
++
++ if (entry_seen)
++ return (ARCHIVE_OK);
++ else {
++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
++ "Tried to parse Rockridge extensions, but none found");
++ return (ARCHIVE_WARN);
+ }
+- return (ARCHIVE_OK);
+ }
+
+ static int
+
diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb
index 46a3d4376..af5ca6529 100644
--- a/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb
+++ b/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb
@@ -34,6 +34,12 @@ EXTRA_OECONF += "--enable-largefile"
SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
file://non-recursive-extract-and-list.patch \
file://bug1066.patch \
+ file://CVE-2018-1000877.patch \
+ file://CVE-2018-1000878.patch \
+ file://CVE-2018-1000879.patch \
+ file://CVE-2018-1000880.patch \
+ file://CVE-2019-1000019.patch \
+ file://CVE-2019-1000020.patch \
"
SRC_URI[md5sum] = "4038e366ca5b659dae3efcc744e72120"
diff --git a/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.0.bb b/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.0.bb
deleted file mode 100644
index 14cc9e519..000000000
--- a/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "pipeline manipulation library"
-DESCRIPTION = "This is a C library for setting up and running pipelines of processes, \
-without needing to involve shell command-line parsing which is often \
-error-prone and insecure."
-HOMEPAGE = "http://libpipeline.nongnu.org/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz"
-SRC_URI[md5sum] = "b7437a5020190cfa84f09c412db38902"
-SRC_URI[sha256sum] = "0d72e12e4f2afff67fd7b9df0a24d7ba42b5a7c9211ac5b3dcccc5cd8b286f2b"
-
-inherit pkgconfig autotools
-
diff --git a/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.1.bb b/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.1.bb
new file mode 100644
index 000000000..a5802074b
--- /dev/null
+++ b/poky/meta/recipes-extended/libpipeline/libpipeline_1.5.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "pipeline manipulation library"
+DESCRIPTION = "This is a C library for setting up and running pipelines of processes, \
+without needing to involve shell command-line parsing which is often \
+error-prone and insecure."
+HOMEPAGE = "http://libpipeline.nongnu.org/"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz"
+SRC_URI[md5sum] = "4c8fe6cd85422baafd6e060f896c61bc"
+SRC_URI[sha256sum] = "d633706b7d845f08b42bc66ddbe845d57e726bf89298e2cee29f09577e2f902f"
+
+inherit pkgconfig autotools
+
+acpaths = "-I ${S}/gl/m4 -I ${S}/m4"
diff --git a/poky/meta/recipes-extended/libsolv/libsolv/0001-Add-fallback-fopencookie-implementation.patch b/poky/meta/recipes-extended/libsolv/libsolv/0001-Add-fallback-fopencookie-implementation.patch
deleted file mode 100644
index e5cb60dd5..000000000
--- a/poky/meta/recipes-extended/libsolv/libsolv/0001-Add-fallback-fopencookie-implementation.patch
+++ /dev/null
@@ -1,251 +0,0 @@
-From 47c6f1b4332a9e4935c48cca826786a6b8fe6f59 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Neal=20Gompa=20=28=E3=83=8B=E3=83=BC=E3=83=AB=E3=83=BB?=
- =?UTF-8?q?=E3=82=B3=E3=82=99=E3=83=B3=E3=83=8F=E3=82=9A=29?=
- <ngompa13@gmail.com>
-Date: Wed, 11 Nov 2015 20:32:17 -0500
-Subject: [PATCH 1/2] Add fallback fopencookie() implementation
-
-In environments where neither fopencookie() nor funopen()
-are implemented, we need to provide a suitable implementation
-of fopencookie() that we can use.
-
-Alex Kanavin: rebased CMakeLists.txt change to apply to latest upstream code.
-
-Upstream-Status: Denied [https://github.com/openSUSE/libsolv/pull/112]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- ext/CMakeLists.txt | 7 ++
- ext/solv_xfopen.c | 10 +--
- ext/solv_xfopen_fallback_fopencookie.c | 123 +++++++++++++++++++++++++++++++++
- ext/solv_xfopen_fallback_fopencookie.h | 28 ++++++++
- 4 files changed, 164 insertions(+), 4 deletions(-)
- create mode 100644 ext/solv_xfopen_fallback_fopencookie.c
- create mode 100644 ext/solv_xfopen_fallback_fopencookie.h
-
-diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
-index b8917a2..fac6c32 100644
---- a/ext/CMakeLists.txt
-+++ b/ext/CMakeLists.txt
-@@ -4,6 +4,13 @@ SET (libsolvext_SRCS
- SET (libsolvext_HEADERS
- tools_util.h solv_xfopen.h testcase.h)
-
-+IF (NOT HAVE_FOPENCOOKIE AND NOT HAVE_FUNOPEN)
-+ SET (libsolvext_SRCS ${libsolvext_SRCS}
-+ solv_xfopen_fallback_fopencookie.c)
-+ SET (libsolvext_HEADERS ${libsolvext_HEADERS}
-+ solv_xfopen_fallback_fopencookie.h)
-+ENDIF (NOT HAVE_FOPENCOOKIE AND NOT HAVE_FUNOPEN)
-+
- IF (ENABLE_RPMDB OR ENABLE_RPMPKG)
- SET (libsolvext_SRCS ${libsolvext_SRCS}
- pool_fileconflicts.c repo_rpmdb.c)
-diff --git a/ext/solv_xfopen.c b/ext/solv_xfopen.c
-index 2c64bb6..eb3a3ad 100644
---- a/ext/solv_xfopen.c
-+++ b/ext/solv_xfopen.c
-@@ -12,6 +12,10 @@
- #include <string.h>
- #include <fcntl.h>
-
-+#if !defined(HAVE_FUNOPEN) && !defined(HAVE_FOPENCOOKIE)
-+#include "solv_xfopen_fallback_fopencookie.h"
-+#endif
-+
- #include "solv_xfopen.h"
- #include "util.h"
-
-@@ -21,7 +25,7 @@ static FILE *cookieopen(void *cookie, const char *mode,
- ssize_t (*cwrite)(void *, const char *, size_t),
- int (*cclose)(void *))
- {
--#ifdef HAVE_FUNOPEN
-+#if defined(HAVE_FUNOPEN) && !defined(HAVE_FOPENCOOKIE)
- if (!cookie)
- return 0;
- return funopen(cookie,
-@@ -30,7 +34,7 @@ static FILE *cookieopen(void *cookie, const char *mode,
- (fpos_t (*)(void *, fpos_t, int))NULL, /* seekfn */
- cclose
- );
--#elif defined(HAVE_FOPENCOOKIE)
-+#else
- cookie_io_functions_t cio;
-
- if (!cookie)
-@@ -42,8 +46,6 @@ static FILE *cookieopen(void *cookie, const char *mode,
- cio.write = cwrite;
- cio.close = cclose;
- return fopencookie(cookie, *mode == 'w' ? "w" : "r", cio);
--#else
--# error Need to implement custom I/O
- #endif
- }
-
-diff --git a/ext/solv_xfopen_fallback_fopencookie.c b/ext/solv_xfopen_fallback_fopencookie.c
-new file mode 100644
-index 0000000..0ce2571
---- /dev/null
-+++ b/ext/solv_xfopen_fallback_fopencookie.c
-@@ -0,0 +1,123 @@
-+/*
-+ * Provides a very limited fopencookie() for environments with a libc
-+ * that lacks it.
-+ *
-+ * Author: zhasha
-+ * Modified for libsolv by Neal Gompa
-+ *
-+ * This program is licensed under the BSD license, read LICENSE.BSD
-+ * for further information.
-+ *
-+ */
-+
-+#define _LARGEFILE64_SOURCE 1
-+#include <pthread.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <sys/types.h>
-+#include <errno.h>
-+#include "solv_xfopen_fallback_fopencookie.h"
-+
-+extern int pipe2(int[2], int);
-+
-+struct ctx {
-+ int fd;
-+ void *cookie;
-+ struct cookie_io_functions_t io;
-+ char buf[1024];
-+};
-+
-+static void *proxy(void *arg)
-+{
-+ struct ctx *ctx = arg;
-+ ssize_t r;
-+ size_t n;
-+
-+ pthread_detach(pthread_self());
-+
-+ while (1) {
-+ r = ctx->io.read ?
-+ (ctx->io.read)(ctx->cookie, ctx->buf, sizeof(ctx->buf)) :
-+ read(ctx->fd, ctx->buf, sizeof(ctx->buf));
-+ if (r < 0) {
-+ if (errno != EINTR) { break; }
-+ continue;
-+ }
-+ if (r == 0) { break; }
-+
-+ while (n > 0) {
-+ r = ctx->io.write ?
-+ (ctx->io.write)(ctx->cookie, ctx->buf + ((size_t)r - n), n) :
-+ write(ctx->fd, ctx->buf + ((size_t)r - n), n);
-+ if (r < 0) {
-+ if (errno != EINTR) { break; }
-+ continue;
-+ }
-+ if (r == 0) { break; }
-+
-+ n -= (size_t)r;
-+ }
-+ if (n > 0) { break; }
-+ }
-+
-+ if (ctx->io.close) { (ctx->io.close)(ctx->cookie); }
-+ close(ctx->fd);
-+ return NULL;
-+}
-+
-+FILE *fopencookie(void *cookie, const char *mode, struct cookie_io_functions_t io)
-+{
-+ struct ctx *ctx = NULL;
-+ int rd = 0, wr = 0;
-+ int p[2] = { -1, -1 };
-+ FILE *f = NULL;
-+ pthread_t dummy;
-+
-+ switch (mode[0]) {
-+ case 'a':
-+ case 'r': rd = 1; break;
-+ case 'w': wr = 1; break;
-+ default:
-+ errno = EINVAL;
-+ return NULL;
-+ }
-+ switch (mode[1]) {
-+ case '\0': break;
-+ case '+':
-+ if (mode[2] == '\0') {
-+ errno = ENOTSUP;
-+ return NULL;
-+ }
-+ default:
-+ errno = EINVAL;
-+ return NULL;
-+ }
-+ if (io.seek) {
-+ errno = ENOTSUP;
-+ return NULL;
-+ }
-+
-+ ctx = malloc(sizeof(*ctx));
-+ if (!ctx) { return NULL; }
-+ if (pipe2(p, O_CLOEXEC) != 0) { goto err; }
-+ if ((f = fdopen(p[wr], mode)) == NULL) { goto err; }
-+ p[wr] = -1;
-+ ctx->fd = p[rd];
-+ ctx->cookie = cookie;
-+ ctx->io.read = rd ? io.read : NULL;
-+ ctx->io.write = wr ? io.write : NULL;
-+ ctx->io.seek = NULL;
-+ ctx->io.close = io.close;
-+ if (pthread_create(&dummy, NULL, proxy, ctx) != 0) { goto err; }
-+
-+ return f;
-+
-+err:
-+ if (p[0] >= 0) { close(p[0]); }
-+ if (p[1] >= 0) { close(p[1]); }
-+ if (f) { fclose(f); }
-+ free(ctx);
-+ return NULL;
-+}
-diff --git a/ext/solv_xfopen_fallback_fopencookie.h b/ext/solv_xfopen_fallback_fopencookie.h
-new file mode 100644
-index 0000000..6a7bfee
---- /dev/null
-+++ b/ext/solv_xfopen_fallback_fopencookie.h
-@@ -0,0 +1,28 @@
-+/*
-+ * Provides a very limited fopencookie() for environments with a libc
-+ * that lacks it.
-+ *
-+ * Author: zhasha
-+ * Modified for libsolv by Neal Gompa
-+ *
-+ * This program is licensed under the BSD license, read LICENSE.BSD
-+ * for further information.
-+ *
-+ */
-+
-+#ifndef SOLV_XFOPEN_FALLBACK_FOPENCOOKIE_H
-+#define SOLV_XFOPEN_FALLBACK_FOPENCOOKIE_H
-+
-+#include <stdio.h>
-+#include <stdint.h>
-+
-+typedef struct cookie_io_functions_t {
-+ ssize_t (*read)(void *, char *, size_t);
-+ ssize_t (*write)(void *, const char *, size_t);
-+ int (*seek)(void *, off64_t, int);
-+ int (*close)(void *);
-+} cookie_io_functions_t;
-+
-+FILE *fopencookie(void *cookie, const char *mode, struct cookie_io_functions_t io);
-+
-+#endif
---
-2.4.0
-
diff --git a/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch b/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch
new file mode 100644
index 000000000..75ef15005
--- /dev/null
+++ b/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch
@@ -0,0 +1,188 @@
+Backport a patch from upstream to use GNUInstallDirs instead of
+hand-coded path logic, so we have proper control over where files end up.
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From b6c9df4c686975ce5009d09dac706a4e83f02a31 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
+Date: Mon, 2 Jul 2018 12:56:41 +0100
+Subject: [PATCH] build: use GNUInstallDirs
+
+Fixes: #128
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
+---
+ CMakeLists.txt | 34 +++++++---------------------------
+ README | 2 +-
+ doc/CMakeLists.txt | 4 ++--
+ examples/solv/CMakeLists.txt | 2 +-
+ ext/CMakeLists.txt | 8 ++++----
+ libsolv.pc.in | 4 ++--
+ libsolvext.pc.in | 4 ++--
+ src/CMakeLists.txt | 8 ++++----
+ tools/CMakeLists.txt | 3 +--
+ 9 files changed, 24 insertions(+), 45 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1deef57d..7e9ffa9b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ PROJECT (libsolv)
+
+-CMAKE_MINIMUM_REQUIRED (VERSION 2.4)
++CMAKE_MINIMUM_REQUIRED (VERSION 2.8.5)
+
+ OPTION (ENABLE_STATIC "Build a static version of the libraries?" OFF)
+ OPTION (DISABLE_SHARED "Do not build a shared version of the libraries?" OFF)
+@@ -38,34 +38,14 @@ OPTION (ENABLE_ZCHUNK_COMPRESSION "Build with zchunk compression support?" OFF)
+ OPTION (WITH_SYSTEM_ZCHUNK "Use system zchunk library?" OFF)
+ OPTION (WITH_LIBXML2 "Build with libxml2 instead of libexpat?" OFF)
+
+-# Library
+-IF (DEFINED LIB)
+- SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}")
+-ELSE (DEFINED LIB)
+- IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
+- SET (LIB_SUFFIX "64")
+- ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
+- SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
+-ENDIF (DEFINED LIB)
+-MESSAGE (STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}")
+-# Library
+-IF (DEFINED INCLUDE)
+- SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE}")
+-else (DEFINED INCLUDE)
+- SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
+-ENDIF (DEFINED INCLUDE)
+-MESSAGE (STATUS "Header files will be installed in ${INCLUDE_INSTALL_DIR}")
+-SET (BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
+-IF (NOT MAN_INSTALL_DIR)
+-SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man")
+-IF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man" AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
+- SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/man")
+-ENDIF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man" AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
+-ENDIF (NOT MAN_INSTALL_DIR)
+-MESSAGE(STATUS "Man pages will be installed in ${MAN_INSTALL_DIR}")
++include (GNUInstallDirs)
++message (STATUS "Libraries will be installed in ${CMAKE_INSTALL_FULL_LIBDIR}")
++message (STATUS "Header files will be installed in ${CMAKE_INSTALL_FULL_INCLUDEDIR}")
++message (STATUS "Binaries will be installed in ${CMAKE_INSTALL_FULL_BINDIR}")
++message (STATUS "Man pages will be installed in ${CMAKE_INSTALL_FULL_MANDIR}")
+
+ IF (NOT PKGCONFIG_INSTALL_DIR)
+- SET (PKGCONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig)
++ SET (PKGCONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ ENDIF (NOT PKGCONFIG_INSTALL_DIR)
+ ####################################################################
+ # CONFIGURATION #
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 66011b48..ed38274e 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -48,8 +48,8 @@ STRING(REGEX REPLACE "([^;]+)" "gen/\\1" libsolv_MANPAGES3 "${libsolv_MANPAGES3}
+
+ INSTALL(FILES
+ ${libsolv_MANPAGES3}
+- DESTINATION "${MAN_INSTALL_DIR}/man3")
++ DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
+
+ INSTALL(FILES
+ ${libsolv_MANPAGES1}
+- DESTINATION "${MAN_INSTALL_DIR}/man1")
++ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
+diff --git a/examples/solv/CMakeLists.txt b/examples/solv/CMakeLists.txt
+index 41f45f74..0f3bd477 100644
+--- a/examples/solv/CMakeLists.txt
++++ b/examples/solv/CMakeLists.txt
+@@ -25,5 +25,5 @@ TARGET_LINK_LIBRARIES (solv libsolvext libsolv ${SYSTEM_LIBRARIES})
+
+ INSTALL(TARGETS
+ solv
+- DESTINATION ${BIN_INSTALL_DIR})
++ DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
+index edc2b9f9..6dd28b1a 100644
+--- a/ext/CMakeLists.txt
++++ b/ext/CMakeLists.txt
+@@ -145,14 +145,14 @@ ENDIF (DISABLE_SHARED)
+
+ SET_TARGET_PROPERTIES(libsolvext PROPERTIES OUTPUT_NAME "solvext")
+ SET_TARGET_PROPERTIES(libsolvext PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
+-SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
++SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
+
+-INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
+-INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
++INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
++INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+ IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
+ ADD_LIBRARY (libsolvext_static STATIC ${libsolvext_SRCS})
+ SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES OUTPUT_NAME "solvext")
+ SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
+-INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
++INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
+diff --git a/libsolv.pc.in b/libsolv.pc.in
+index 40a86230..766146c5 100644
+--- a/libsolv.pc.in
++++ b/libsolv.pc.in
+@@ -1,5 +1,5 @@
+-libdir=@LIB_INSTALL_DIR@
+-includedir=@INCLUDE_INSTALL_DIR@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+ Name: libsolv
+ Description: Library for solving packages
+diff --git a/libsolvext.pc.in b/libsolvext.pc.in
+index d48b6fab..d0078461 100644
+--- a/libsolvext.pc.in
++++ b/libsolvext.pc.in
+@@ -1,5 +1,5 @@
+-libdir=@LIB_INSTALL_DIR@
+-includedir=@INCLUDE_INSTALL_DIR@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+ Name: libsolvext
+ Description: Library for reading repositories
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2e32968e..03ea9119 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -42,14 +42,14 @@ ENDIF (DISABLE_SHARED)
+
+ SET_TARGET_PROPERTIES(libsolv PROPERTIES OUTPUT_NAME "solv")
+ SET_TARGET_PROPERTIES(libsolv PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
+-SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
++SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
+
+-INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
+-INSTALL (TARGETS libsolv LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
++INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
++INSTALL (TARGETS libsolv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+ IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
+ ADD_LIBRARY (libsolv_static STATIC ${libsolv_SRCS})
+ SET_TARGET_PROPERTIES(libsolv_static PROPERTIES OUTPUT_NAME "solv")
+ SET_TARGET_PROPERTIES(libsolv_static PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
+-INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
++INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
+diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
+index 802dc500..0d677f69 100644
+--- a/tools/CMakeLists.txt
++++ b/tools/CMakeLists.txt
+@@ -110,5 +110,4 @@ TARGET_LINK_LIBRARIES (testsolv libsolvext libsolv ${SYSTEM_LIBRARIES})
+ ADD_EXECUTABLE (repo2solv repo2solv.c )
+ TARGET_LINK_LIBRARIES (repo2solv toolstuff libsolvext libsolv ${SYSTEM_LIBRARIES})
+
+-INSTALL (TARGETS ${tools_list} DESTINATION ${BIN_INSTALL_DIR})
+-
++INSTALL (TARGETS ${tools_list} DESTINATION ${CMAKE_INSTALL_BINDIR})
+--
+2.11.0
+
diff --git a/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch b/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch
new file mode 100644
index 000000000..139613a0a
--- /dev/null
+++ b/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch
@@ -0,0 +1,33 @@
+From 19d7cc87adba92d31d5fafdf7db00920d24a96a6 Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Date: Wed, 6 Feb 2019 13:24:04 -0600
+Subject: [PATCH] solver_solve: only disfavor recommends if there are any
+
+In a repo that have pkg 'a' and 'b' available, and 'b' is disfavored,
+but 'a' doesn't recommend 'b', libsolv segfaults on
+solver_addrecommendsrules, since solv->recommendsruleq is null. Only
+call solver_addrecommendsrules if there are recommends rules.
+
+Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+
+Upstream-Status: Accepted
+---
+ src/solver.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/solver.c b/src/solver.c
+index a80090d19..ad78327a8 100644
+--- a/src/solver.c
++++ b/src/solver.c
+@@ -3920,7 +3920,7 @@ solver_solve(Solver *solv, Queue *job)
+ else
+ solv->yumobsrules = solv->yumobsrules_end = solv->nrules;
+
+- if (solv->havedisfavored && solv->strongrecommends)
++ if (solv->havedisfavored && solv->strongrecommends && solv->recommendsruleq)
+ solver_addrecommendsrules(solv);
+ else
+ solv->recommendsrules = solv->recommendsrules_end = solv->nrules;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-extended/libsolv/libsolv/0002-Fixes-to-internal-fopencookie-implementation.patch b/poky/meta/recipes-extended/libsolv/libsolv/0002-Fixes-to-internal-fopencookie-implementation.patch
deleted file mode 100644
index 93b8cc9c1..000000000
--- a/poky/meta/recipes-extended/libsolv/libsolv/0002-Fixes-to-internal-fopencookie-implementation.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 84e12bf7ece49073c559dfd58005132a6099a964 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Neal=20Gompa=20=28=E3=83=8B=E3=83=BC=E3=83=AB=E3=83=BB?=
- =?UTF-8?q?=E3=82=B3=E3=82=99=E3=83=B3=E3=83=8F=E3=82=9A=29?=
- <ngompa13@gmail.com>
-Date: Mon, 23 Nov 2015 18:19:41 -0500
-Subject: [PATCH 2/2] Fixes to internal fopencookie() implementation
-
-Credits to the fixes go to nsz on #musl on Freenode,
-who gloriously fixed the implementation such that
-the tests all pass.
-
-Upstream-Status: Denied [https://github.com/openSUSE/libsolv/pull/112]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- ext/solv_xfopen_fallback_fopencookie.c | 19 ++++++++++---------
- ext/solv_xfopen_fallback_fopencookie.h | 10 +++++-----
- 2 files changed, 15 insertions(+), 14 deletions(-)
-
-diff --git a/ext/solv_xfopen_fallback_fopencookie.c b/ext/solv_xfopen_fallback_fopencookie.c
-index 0ce2571..89426a9 100644
---- a/ext/solv_xfopen_fallback_fopencookie.c
-+++ b/ext/solv_xfopen_fallback_fopencookie.c
-@@ -1,10 +1,10 @@
--/*
-+/*
- * Provides a very limited fopencookie() for environments with a libc
- * that lacks it.
-- *
-- * Author: zhasha
-+ *
-+ * Authors: zhasha & nsz
- * Modified for libsolv by Neal Gompa
-- *
-+ *
- * This program is licensed under the BSD license, read LICENSE.BSD
- * for further information.
- *
-@@ -33,7 +33,7 @@ static void *proxy(void *arg)
- {
- struct ctx *ctx = arg;
- ssize_t r;
-- size_t n;
-+ size_t n, k;
-
- pthread_detach(pthread_self());
-
-@@ -47,17 +47,18 @@ static void *proxy(void *arg)
- }
- if (r == 0) { break; }
-
-+ n = r, k = 0;
- while (n > 0) {
- r = ctx->io.write ?
-- (ctx->io.write)(ctx->cookie, ctx->buf + ((size_t)r - n), n) :
-- write(ctx->fd, ctx->buf + ((size_t)r - n), n);
-+ (ctx->io.write)(ctx->cookie, ctx->buf + k, n) :
-+ write(ctx->fd, ctx->buf + k, n);
- if (r < 0) {
- if (errno != EINTR) { break; }
- continue;
- }
- if (r == 0) { break; }
-
-- n -= (size_t)r;
-+ n -= r, k += r;
- }
- if (n > 0) { break; }
- }
-@@ -77,8 +78,8 @@ FILE *fopencookie(void *cookie, const char *mode, struct cookie_io_functions_t i
-
- switch (mode[0]) {
- case 'a':
-- case 'r': rd = 1; break;
- case 'w': wr = 1; break;
-+ case 'r': rd = 1; break;
- default:
- errno = EINVAL;
- return NULL;
-diff --git a/ext/solv_xfopen_fallback_fopencookie.h b/ext/solv_xfopen_fallback_fopencookie.h
-index 6a7bfee..7223e3f 100644
---- a/ext/solv_xfopen_fallback_fopencookie.h
-+++ b/ext/solv_xfopen_fallback_fopencookie.h
-@@ -1,13 +1,13 @@
--/*
-+/*
- * Provides a very limited fopencookie() for environments with a libc
- * that lacks it.
-- *
-- * Author: zhasha
-+ *
-+ * Authors: zhasha & nsz
- * Modified for libsolv by Neal Gompa
-- *
-+ *
- * This program is licensed under the BSD license, read LICENSE.BSD
- * for further information.
-- *
-+ *
- */
-
- #ifndef SOLV_XFOPEN_FALLBACK_FOPENCOOKIE_H
---
-2.4.0
-
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.6.35.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.6.35.bb
deleted file mode 100644
index 12dfc5d3a..000000000
--- a/poky/meta/recipes-extended/libsolv/libsolv_0.6.35.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Library for solving packages and reading repositories"
-HOMEPAGE = "https://github.com/openSUSE/libsolv"
-BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
-SECTION = "devel"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
-
-DEPENDS = "expat zlib"
-
-SRC_URI = "git://github.com/openSUSE/libsolv.git"
-SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation.patch \
- file://0002-Fixes-to-internal-fopencookie-implementation.patch \
- "
-
-SRCREV = "38c5374d4712667b0b6ada4bf78ddbb343095d0c"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ??= "rpm"
-PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
-
-EXTRA_OECMAKE = "-DLIB=${baselib} -DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON"
-
-PACKAGES =+ "${PN}-tools ${PN}ext"
-
-FILES_${PN}-tools = "${bindir}/*"
-FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb
new file mode 100644
index 000000000..70c8dbc2e
--- /dev/null
+++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Library for solving packages and reading repositories"
+HOMEPAGE = "https://github.com/openSUSE/libsolv"
+BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
+SECTION = "devel"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
+
+DEPENDS = "expat zlib"
+
+SRC_URI = "git://github.com/openSUSE/libsolv.git \
+ file://0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch \
+ file://0001-build-use-GNUInstallDirs.patch \
+"
+
+SRCREV = "dc7d0f1c3113f2c8217563166906bef3eb5d1ee1"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= "rpm"
+PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
+
+EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON"
+
+PACKAGES =+ "${PN}-tools ${PN}ext"
+
+FILES_${PN}-tools = "${bindir}/*"
+FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb b/poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
index 17bc038d6..f978c8c8a 100644
--- a/poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
+++ b/poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
@@ -13,7 +13,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
file://libtirpc-1.0.4-rc1.patch \
file://musl.patch \
"
-
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
SRC_URI[md5sum] = "f8403a10695348854e71d525c4db5931"
SRC_URI[sha256sum] = "86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e"
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd b/poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd
index bf89a60b7..82fbaa523 100644
--- a/poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd
@@ -4,7 +4,7 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/lighttpd
NAME=lighttpd
DESC="Lighttpd Web Server"
-OPTS="-f /etc/lighttpd.conf"
+OPTS="-f /etc/lighttpd/lighttpd.conf"
case "$1" in
start)
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd.service b/poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd.service
deleted file mode 100644
index 66a907aa1..000000000
--- a/poky/meta/recipes-extended/lighttpd/lighttpd/lighttpd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Lightning Fast Webserver With Light System Requirements
-After=network.target
-
-[Service]
-ExecStartPre=@SBINDIR@/lighttpd -t -f @SYSCONFDIR@/lighttpd.conf
-ExecStart=@SBINDIR@/lighttpd -D -f @SYSCONFDIR@/lighttpd.conf
-ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.51.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.51.bb
deleted file mode 100644
index f28fd2f69..000000000
--- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.51.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "Lightweight high-performance web server"
-HOMEPAGE = "http://www.lighttpd.net/"
-BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
-
-SECTION = "net"
-RDEPENDS_${PN} = "lighttpd-module-dirlisting \
- lighttpd-module-indexfile \
- lighttpd-module-staticfile"
-RRECOMMENDS_${PN} = "lighttpd-module-access \
- lighttpd-module-accesslog"
-
-SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
- file://index.html.lighttpd \
- file://lighttpd.conf \
- file://lighttpd \
- file://lighttpd.service \
- file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
- "
-
-SRC_URI[md5sum] = "6e68c19601af332fa3c5f174245f59bf"
-SRC_URI[sha256sum] = "2af9fdb265d1f025bfa634e13770239712ecbd585e4975b8226edf1df74e9c82"
-
-PACKAGECONFIG ??= "openssl pcre zlib \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
-PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
-PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
-PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
-PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
-PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
-PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
-
-EXTRA_OECONF += "--enable-lfs"
-
-inherit autotools pkgconfig update-rc.d gettext systemd
-
-INITSCRIPT_NAME = "lighttpd"
-INITSCRIPT_PARAMS = "defaults 70"
-
-SYSTEMD_SERVICE_${PN} = "lighttpd.service"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
- install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/lighttpd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@BASE_BINDIR@,${base_bindir},g' \
- ${D}${systemd_unitdir}/system/lighttpd.service
- #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
- ln -sf ${localstatedir}/log ${D}/www/logs
- ln -sf ${localstatedir}/tmp ${D}/www/var
-}
-
-FILES_${PN} += "${sysconfdir} /www"
-
-CONFFILES_${PN} = "${sysconfdir}/lighttpd.conf"
-
-PACKAGES_DYNAMIC += "^lighttpd-module-.*"
-
-python populate_packages_prepend () {
- lighttpd_libdir = d.expand('${libdir}')
- do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
-}
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.53.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.53.bb
new file mode 100644
index 000000000..a0b350f35
--- /dev/null
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.53.bb
@@ -0,0 +1,84 @@
+SUMMARY = "Lightweight high-performance web server"
+HOMEPAGE = "http://www.lighttpd.net/"
+BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
+
+SECTION = "net"
+RDEPENDS_${PN} = "lighttpd-module-dirlisting \
+ lighttpd-module-indexfile \
+ lighttpd-module-staticfile"
+RRECOMMENDS_${PN} = "lighttpd-module-access \
+ lighttpd-module-accesslog"
+
+SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
+ file://index.html.lighttpd \
+ file://lighttpd.conf \
+ file://lighttpd \
+ file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
+ "
+
+SRC_URI[md5sum] = "f93436d8d400b2b0e26ee4bcc60b9ac7"
+SRC_URI[sha256sum] = "3bdfce1cf3e9650a556a8c26fb15342c5717c63f530c54693db632b0371dcb78"
+
+PACKAGECONFIG ??= "openssl pcre zlib \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
+PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
+PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
+PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
+PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
+PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
+PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
+PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
+
+EXTRA_OECONF += "--enable-lfs"
+
+inherit autotools pkgconfig update-rc.d gettext systemd
+
+INITSCRIPT_NAME = "lighttpd"
+INITSCRIPT_PARAMS = "defaults 70"
+
+SYSTEMD_SERVICE_${PN} = "lighttpd.service"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
+ install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
+ install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ ${D}${systemd_unitdir}/system/lighttpd.service
+ #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
+ ln -sf ${localstatedir}/log ${D}/www/logs
+ ln -sf ${localstatedir}/tmp ${D}/www/var
+}
+
+FILES_${PN} += "${sysconfdir} /www"
+
+CONFFILES_${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
+
+PACKAGES_DYNAMIC += "^lighttpd-module-.*"
+
+python populate_packages_prepend () {
+ lighttpd_libdir = d.expand('${libdir}')
+ do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
+}
diff --git a/poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch b/poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
index 04cb588db..79805b514 100644
--- a/poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
+++ b/poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
@@ -1,4 +1,4 @@
-From 517cbff66c8bdbf455bc3b7c1a85a4f990d0f9a6 Mon Sep 17 00:00:00 2001
+From c637948ebab5aff5641700c5cf613321ca0a6e6b Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Tue, 17 Feb 2015 21:08:07 -0800
Subject: [PATCH] Act as the "mv" command when rotate log
@@ -10,14 +10,14 @@ Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
- logrotate.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++-----------
- 1 file changed, 60 insertions(+), 12 deletions(-)
+ logrotate.c | 71 ++++++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 59 insertions(+), 12 deletions(-)
diff --git a/logrotate.c b/logrotate.c
-index 4ad58d4..ba05884 100644
+index 54dac90..bf3ec23 100644
--- a/logrotate.c
+++ b/logrotate.c
-@@ -1315,6 +1315,54 @@ static int findNeedRotating(struct logInfo *log, int logNum, int force)
+@@ -1360,6 +1360,53 @@ static int findNeedRotating(struct logInfo *log, int logNum, int force)
return 0;
}
@@ -68,84 +68,83 @@ index 4ad58d4..ba05884 100644
+ return 1;
+}
+
-+
- static int prerotateSingleLog(struct logInfo *log, int logNum,
- struct logState *state, struct logNames *rotNames)
- {
-@@ -1674,15 +1722,15 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
- }
+ /* find the rotated file with the highest index */
+ static int findLastRotated(const struct logNames *rotNames,
+ const char *fileext, const char *compext)
+@@ -1800,15 +1847,15 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
+ }
- message(MESS_DEBUG,
-- "renaming %s to %s (rotatecount %d, logstart %d, i %d), \n",
-+ "moving %s to %s (rotatecount %d, logstart %d, i %d), \n",
- oldName, newName, rotateCount, logStart, i);
+ message(MESS_DEBUG,
+- "renaming %s to %s (rotatecount %d, logstart %d, i %d), \n",
++ "moving %s to %s (rotatecount %d, logstart %d, i %d), \n",
+ oldName, newName, rotateCount, logStart, i);
-- if (!debug && rename(oldName, newName)) {
-+ if (!debug && mvFile(oldName, newName, log, prev_acl)) {
- if (errno == ENOENT) {
- message(MESS_DEBUG, "old log %s does not exist\n",
- oldName);
- } else {
-- message(MESS_ERROR, "error renaming %s to %s: %s\n",
-+ message(MESS_ERROR, "error moving %s to %s: %s\n",
- oldName, newName, strerror(errno));
- hasErrors = 1;
- }
-@@ -1767,21 +1815,21 @@ static int rotateSingleLog(struct logInfo *log, int logNum,
- return 1;
- }
+- if (!debug && rename(oldName, newName)) {
++ if (!debug && mvFile(oldName, newName, log, prev_acl)) {
+ if (errno == ENOENT) {
+ message(MESS_DEBUG, "old log %s does not exist\n",
+ oldName);
+ } else {
+- message(MESS_ERROR, "error renaming %s to %s: %s\n",
++ message(MESS_ERROR, "error moving %s to %s: %s\n",
+ oldName, newName, strerror(errno));
+ hasErrors = 1;
+ }
+@@ -1891,21 +1938,21 @@ static int rotateSingleLog(struct logInfo *log, int logNum,
+ return 1;
+ }
-- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
-+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
- tmpFilename);
-- if (!debug && !hasErrors && rename(log->files[logNum], tmpFilename)) {
-- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
-+ if (!debug && !hasErrors && mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
-+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
- log->files[logNum], tmpFilename,
- strerror(errno));
- hasErrors = 1;
- }
- }
- else {
-- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
-+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
- rotNames->finalName);
- if (!debug && !hasErrors &&
-- rename(log->files[logNum], rotNames->finalName)) {
-- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
-+ mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
-+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
- log->files[logNum], rotNames->finalName,
- strerror(errno));
- hasErrors = 1;
-@@ -2170,7 +2218,7 @@ static int rotateLogSet(struct logInfo *log, int force)
+- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
++ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
+ tmpFilename);
+- if (!debug && !hasErrors && rename(log->files[logNum], tmpFilename)) {
+- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
++ if (!debug && !hasErrors && mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
++ message(MESS_ERROR, "failed to move %s to %s: %s\n",
+ log->files[logNum], tmpFilename,
+ strerror(errno));
+ hasErrors = 1;
+ }
+ }
+ else {
+- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],
++ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum],
+ rotNames->finalName);
+ if (!debug && !hasErrors &&
+- rename(log->files[logNum], rotNames->finalName)) {
+- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
++ mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
++ message(MESS_ERROR, "failed to move %s to %s: %s\n",
+ log->files[logNum], rotNames->finalName,
+ strerror(errno));
+ hasErrors = 1;
+@@ -2297,7 +2344,7 @@ static int rotateLogSet(struct logInfo *log, int force)
return hasErrors;
}
-static int writeState(const char *stateFilename)
+static int writeState(struct logInfo *log, char *stateFilename)
{
- struct logState *p;
- FILE *f;
-@@ -2322,7 +2370,7 @@ static int writeState(const char *stateFilename)
- fclose(f);
+ struct logState *p;
+ FILE *f;
+@@ -2460,7 +2507,7 @@ static int writeState(const char *stateFilename)
+ fclose(f);
- if (error == 0) {
-- if (rename(tmpFilename, stateFilename)) {
-+ if (mvFile(tmpFilename, stateFilename, log, prev_acl)) {
- unlink(tmpFilename);
- error = 1;
- message(MESS_ERROR, "error renaming temp state file %s\n",
-@@ -2648,7 +2696,7 @@ int main(int argc, const char **argv)
- rc |= rotateLogSet(log, force);
+ if (error == 0) {
+- if (rename(tmpFilename, stateFilename)) {
++ if (mvFile(tmpFilename, stateFilename, log, prev_acl)) {
+ unlink(tmpFilename);
+ error = 1;
+ message(MESS_ERROR, "error renaming temp state file %s\n",
+@@ -2805,7 +2852,7 @@ int main(int argc, const char **argv)
+ rc |= rotateLogSet(log, force);
- if (!debug)
-- rc |= writeState(stateFile);
-+ rc |= writeState(log, stateFile);
+ if (!debug)
+- rc |= writeState(stateFile);
++ rc |= writeState(log, stateFile);
- return (rc != 0);
+ return (rc != 0);
}
--
-1.8.3.1
+2.18.1
diff --git a/poky/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch b/poky/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch
index 793d70259..96ff098a3 100644
--- a/poky/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch
+++ b/poky/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch
@@ -1,4 +1,7 @@
-Disable the check for different filesystems
+From e47796c8e8270a3d14f0b06af8a9e916c2225514 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Tue, 8 Jan 2019 06:27:06 +0000
+Subject: [PATCH] Disable the check for different filesystems
The logrotate supports rotate log across different filesystems now, so
disable the check for different filesystems.
@@ -7,26 +10,29 @@ Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
- config.c | 9 ---------
+ config.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/config.c b/config.c
-index dbbf563..64e66f6 100644
+index 633b843..99a4a3b 100644
--- a/config.c
+++ b/config.c
-@@ -1493,15 +1493,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
- goto error;
- }
- }
+@@ -1765,15 +1765,6 @@ duperror:
+ goto error;
+ }
+ }
-
-- if (sb.st_dev != sb2.st_dev
-- && !(newlog->flags & (LOG_FLAG_COPYTRUNCATE | LOG_FLAG_COPY | LOG_FLAG_TMPFILENAME))) {
-- message(MESS_ERROR,
-- "%s:%d olddir %s and log file %s "
-- "are on different devices\n", configFile,
-- lineNum, newlog->oldDir, newlog->files[i]);
-- goto error;
-- }
- }
- }
+- if (sb.st_dev != sb2.st_dev
+- && !(newlog->flags & (LOG_FLAG_COPYTRUNCATE | LOG_FLAG_COPY | LOG_FLAG_TMPFILENAME))) {
+- message(MESS_ERROR,
+- "%s:%d olddir %s and log file %s "
+- "are on different devices\n", configFile,
+- lineNum, newlog->oldDir, newlog->files[i]);
+- goto error;
+- }
+ }
+ }
+--
+2.18.1
+
diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.14.0.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.14.0.bb
deleted file mode 100644
index ccc68ad3a..000000000
--- a/poky/meta/recipes-extended/logrotate/logrotate_3.14.0.bb
+++ /dev/null
@@ -1,99 +0,0 @@
-SUMMARY = "Rotates, compresses, removes and mails system log files"
-SECTION = "console/utils"
-HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
-LICENSE = "GPLv2"
-
-# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
-
-DEPENDS="coreutils popt"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-# When updating logrotate to latest upstream, SRC_URI should point to
-# a proper release tarball from https://github.com/logrotate/logrotate/releases
-# and we have to take the snapshot for now because there is no such
-# tarball available for 3.9.1.
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
- file://act-as-mv-when-rotate.patch \
- file://update-the-manual.patch \
- file://disable-check-different-filesystems.patch \
- "
-
-SRC_URI[md5sum] = "1c0f6e6e490c4bcac0a1e77ad1310683"
-SRC_URI[sha256sum] = "4703bdc0e2df3b322f9dff0aafc99aa9172c9e4acae28b7c924cc7d4e5b29d55"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
-
-PACKAGECONFIG[acl] = ",,acl"
-PACKAGECONFIG[selinux] = ",,libselinux"
-
-CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
- ${sysconfdir}/logrotate.conf \
- ${sysconfdir}/logrotate.d/btmp \
- ${sysconfdir}/logrotate.d/wtmp"
-
-# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
-# optimization variables, so use it rather than EXTRA_CFLAGS.
-EXTRA_OEMAKE = "\
- LFS= \
- OS_NAME='${OS_NAME}' \
- 'CC=${CC}' \
- 'RPM_OPT_FLAGS=${CFLAGS}' \
- 'EXTRA_LDFLAGS=${LDFLAGS}' \
- ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
-"
-
-# OS_NAME in the makefile defaults to `uname -s`. The behavior for
-# freebsd/netbsd is questionable, so leave it as Linux, which only sets
-# INSTALL=install and BASEDIR=/usr.
-OS_NAME = "Linux"
-
-inherit autotools systemd
-
-SYSTEMD_SERVICE_${PN} = "\
- ${BPN}.service \
- ${BPN}.timer \
-"
-
-LOGROTATE_OPTIONS ?= ""
-
-LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
-LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
-LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true"
-
-do_install(){
- oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
- mkdir -p ${D}${sysconfdir}/logrotate.d
- mkdir -p ${D}${localstatedir}/lib
- install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf
- install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp
- install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp
- touch ${D}${localstatedir}/lib/logrotate.status
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
- install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
- [ -z "${LOGROTATE_OPTIONS}" ] ||
- sed -ri \
- -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \
- ${D}${systemd_system_unitdir}/logrotate.service
- sed -ri \
- -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \
- -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \
- -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \
- ${D}${systemd_system_unitdir}/logrotate.timer
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- mkdir -p ${D}${sysconfdir}/cron.daily
- install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
- fi
-}
diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb
new file mode 100644
index 000000000..0f3da2b94
--- /dev/null
+++ b/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb
@@ -0,0 +1,99 @@
+SUMMARY = "Rotates, compresses, removes and mails system log files"
+SECTION = "console/utils"
+HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
+LICENSE = "GPLv2"
+
+# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
+
+DEPENDS="coreutils popt"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+# When updating logrotate to latest upstream, SRC_URI should point to
+# a proper release tarball from https://github.com/logrotate/logrotate/releases
+# and we have to take the snapshot for now because there is no such
+# tarball available for 3.9.1.
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://act-as-mv-when-rotate.patch \
+ file://update-the-manual.patch \
+ file://disable-check-different-filesystems.patch \
+ "
+
+SRC_URI[md5sum] = "320046f0b9fc38337e8827d4c5a866a0"
+SRC_URI[sha256sum] = "313612c4776a305393454c874ef590d8acf84c9ffa648717731dfe902284ff8f"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
+
+PACKAGECONFIG[acl] = ",,acl"
+PACKAGECONFIG[selinux] = ",,libselinux"
+
+CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
+ ${sysconfdir}/logrotate.conf \
+ ${sysconfdir}/logrotate.d/btmp \
+ ${sysconfdir}/logrotate.d/wtmp"
+
+# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
+# optimization variables, so use it rather than EXTRA_CFLAGS.
+EXTRA_OEMAKE = "\
+ LFS= \
+ OS_NAME='${OS_NAME}' \
+ 'CC=${CC}' \
+ 'RPM_OPT_FLAGS=${CFLAGS}' \
+ 'EXTRA_LDFLAGS=${LDFLAGS}' \
+ ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
+"
+
+# OS_NAME in the makefile defaults to `uname -s`. The behavior for
+# freebsd/netbsd is questionable, so leave it as Linux, which only sets
+# INSTALL=install and BASEDIR=/usr.
+OS_NAME = "Linux"
+
+inherit autotools systemd
+
+SYSTEMD_SERVICE_${PN} = "\
+ ${BPN}.service \
+ ${BPN}.timer \
+"
+
+LOGROTATE_OPTIONS ?= ""
+
+LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
+LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
+LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true"
+
+do_install(){
+ oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
+ mkdir -p ${D}${sysconfdir}/logrotate.d
+ mkdir -p ${D}${localstatedir}/lib
+ install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf
+ install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp
+ install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp
+ touch ${D}${localstatedir}/lib/logrotate.status
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
+ install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
+ [ -z "${LOGROTATE_OPTIONS}" ] ||
+ sed -ri \
+ -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \
+ ${D}${systemd_system_unitdir}/logrotate.service
+ sed -ri \
+ -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \
+ -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \
+ -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \
+ ${D}${systemd_system_unitdir}/logrotate.timer
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ mkdir -p ${D}${sysconfdir}/cron.daily
+ install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
+ fi
+}
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-mmap15-mips64-return-EINVAL.patch b/poky/meta/recipes-extended/ltp/ltp/0001-mmap15-mips64-return-EINVAL.patch
deleted file mode 100644
index 18eba27c2..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-mmap15-mips64-return-EINVAL.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b909805b4fc1b72e0ce299afb4abc02720ee81da Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 12 Sep 2018 14:24:35 +0800
-Subject: [PATCH] mmap15: mips64 return EINVAL
-
-In mips64 kernel, system check the addr that passed to mmap:
-
- if (TASK_SIZE - len < addr)
- return -EINVAL;
-
-Link: https://github.com/torvalds/linux/blob/master/arch/mips/mm/mmap.c#L71
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/394]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- testcases/kernel/syscalls/mmap/mmap15.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/testcases/kernel/syscalls/mmap/mmap15.c b/testcases/kernel/syscalls/mmap/mmap15.c
-index eff27d6..a10b5c7 100644
---- a/testcases/kernel/syscalls/mmap/mmap15.c
-+++ b/testcases/kernel/syscalls/mmap/mmap15.c
-@@ -81,9 +81,14 @@ int main(int ac, char **av)
- }
-
- if (errno != ENOMEM) {
-+#ifdef __mips__
-+ tst_resm(TPASS | TERRNO, "mmap into high region "
-+ "failed as expected");
-+#else
- tst_resm(TFAIL | TERRNO, "mmap into high region "
- "failed unexpectedly - expect "
- "errno=ENOMEM, got");
-+#endif
- } else {
- tst_resm(TPASS | TERRNO, "mmap into high region "
- "failed as expected");
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-netns_helper.sh-use-ping-6-when-ping6-is-not-avaliab.patch b/poky/meta/recipes-extended/ltp/ltp/0001-netns_helper.sh-use-ping-6-when-ping6-is-not-avaliab.patch
deleted file mode 100644
index 32e7a0eb2..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-netns_helper.sh-use-ping-6-when-ping6-is-not-avaliab.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 76d8343ad300f6507233abcdf97629290e35848a Mon Sep 17 00:00:00 2001
-From: Lei Yang <Lei.Yang@windriver.com>
-Date: Wed, 29 Aug 2018 11:51:24 +0800
-Subject: [PATCH] netns_helper.sh: use 'ping -6' when ping6 is not avaliable
-
-ping6 has been merged into ping since 2015 by using "ping -6"
-in some distributions (e.g. OpenEmbedded) they dropped ping6 completely
-this patch will let both "ping -6" and ping6 work.
-
-[pvorel: change was done in s20150815:
-ebad35f ("ping: merge `ping6` command into `ping`"),
-before that release switch '-6' didn't exist.
-Upstream leaves ping6 symlink to distributions.]
-
-Upstream-Status: Backport
-[https://github.com/linux-test-project/ltp/commit/76d8343ad300f6507233abcdf97629290e35848a]
-
-Signed-off-by: Lei Yang <Lei.Yang@windriver.com>
-Signed-off-by: Petr Vorel <pvorel@suse.cz>
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- testcases/kernel/containers/netns/netns_helper.sh | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/containers/netns/netns_helper.sh b/testcases/kernel/containers/netns/netns_helper.sh
-index 6aea10b..a9d0459 100755
---- a/testcases/kernel/containers/netns/netns_helper.sh
-+++ b/testcases/kernel/containers/netns/netns_helper.sh
-@@ -168,7 +168,12 @@ netns_setup()
- ipv6)
- IFCONF_IN6_ARG="inet6 add"
- IP0=$6; IP1=$7;
-- tping="ping6"; NETMASK=64
-+ if which ping6 >/dev/null 2>&1; then
-+ tping="ping6"
-+ else
-+ tping="ping -6"
-+ fi
-+ NETMASK=64
- ;;
- *)
- tst_brkm TBROK "second argument must be an ip version (ipv4|ipv6)"
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch b/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
index 4d771c0b9..84736053b 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
@@ -43,8 +43,8 @@ index de51d43..810e5c8 100644
+ * 3. Should get ENOMEM or EINVAL.
*/
- #define _XOPEN_SOURCE 600
-@@ -93,8 +93,8 @@ int main(void)
+ #include <stdio.h>
+@@ -92,8 +92,8 @@ int main(void)
(unsigned long)len);
pa = mmap(addr, len, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, fd,
0);
@@ -55,7 +55,7 @@ index de51d43..810e5c8 100644
exit(PTS_PASS);
}
-@@ -103,6 +103,6 @@ int main(void)
+@@ -102,6 +102,6 @@ int main(void)
else
munmap(pa, len);
close(fd);
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo01-recent-glibc-calls-syscall-directly.patch b/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo01-recent-glibc-calls-syscall-directly.patch
deleted file mode 100644
index c412c89e9..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-sigwaitinfo01-recent-glibc-calls-syscall-directly.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From bb977ca0716ae98f10102c7122fe15bc0ddb5356 Mon Sep 17 00:00:00 2001
-From: "Hongzhi.Song" <hongzhi.song@windriver.com>
-Date: Thu, 20 Sep 2018 21:49:02 -0400
-Subject: [PATCH] sigwaitinfo01: recent glibc calls syscall directly
-
-glibc commit
- 8b0e795aaa44 ("Simplify Linux sig{timed}wait{info} implementations")
-changed sigwaitinfo to call sigtimedwait, which calls rt_sigtimedwait
-syscall directly.
-
-So, an invalid pointer no longer crashes child process and test
-reports failure. Fix it by accepting either crash or EFAULT.
-
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-
-Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2018-September/009338.html]
-
-Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
----
- .../kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 30 +++++++++++++++++++---
- 1 file changed, 26 insertions(+), 4 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-index 95a9436a4..8fa8ac34b 100644
---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-@@ -371,19 +371,41 @@ void test_bad_address2(swi_func sigwaitinfo, int signo)
- tst_brkm(TBROK | TERRNO, NULL, "fork() failed");
- case 0:
- signal(SIGSEGV, SIG_DFL);
-+
-+ /*
-+ * depending on glibc implementation we should
-+ * either crash or get EFAULT
-+ */
- TEST(sigwaitinfo((void *)1, NULL, NULL));
-
-- _exit(0);
-+ if (TEST_RETURN == -1 && TEST_ERRNO == EFAULT)
-+ _exit(0);
-+
-+ tst_resm(TINFO, "swi_func returned: %ld, errno: %d",
-+ TEST_RETURN, TEST_ERRNO);
-+ _exit(1);
-+
- break;
- default:
- break;
- }
-
- SUCCEED_OR_DIE(waitpid, "waitpid failed", pid, &status, 0);
-- if (WIFSIGNALED(status) && WTERMSIG(status) == SIGSEGV)
-+
-+ if ((WIFSIGNALED(status) && WTERMSIG(status) == SIGSEGV)
-+ || (WIFEXITED(status) && WEXITSTATUS(status) == 0)) {
- tst_resm(TPASS, "Test passed");
-- else
-- tst_resm(TFAIL, "Unrecognised child exit code");
-+ return;
-+ }
-+
-+ if (WIFEXITED(status)) {
-+ tst_resm(TFAIL, "Unrecognised child exit code: %d",
-+ WEXITSTATUS(status));
-+ }
-+ if (WIFSIGNALED(status)) {
-+ tst_resm(TFAIL, "Unrecognised child termsig: %d",
-+ WTERMSIG(status));
-+ }
- }
-
- void test_bad_address3(swi_func sigwaitinfo, int signo)
---
-2.11.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-fcntl-make-OFD-command-use-fcntl64-syscall-.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-fcntl-make-OFD-command-use-fcntl64-syscall-.patch
deleted file mode 100644
index 2755596d0..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-fcntl-make-OFD-command-use-fcntl64-syscall-.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From 8de03ea1200480b922d5ba05b69dc94db60496f5 Mon Sep 17 00:00:00 2001
-From: "Hongzhi.Song" <hongzhi.song@windriver.com>
-Date: Sat, 15 Sep 2018 22:39:32 -0400
-Subject: [PATCH] syscalls/fcntl: make OFD command use fcntl64() syscall on
- 32-bit
-
-To cope with glibc commit:
- 06ab719d30b0 ("Fix Linux fcntl OFD locks for non-LFS architectures
-(BZ#20251)")
-
-WIP: Still need to test this with new glibc.
- Test with old glibc look OK so far.
-
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-
-Upstream-Status: Backport
- Backported from upstream maillist
- https://lists.linux.it/pipermail/ltp/2018-September/009370.html
-
-Signed-off-by: Hongzhi Song <hongzhi.song@windriver.com>
----
- testcases/kernel/syscalls/fcntl/fcntl34.c | 12 +++++++---
- testcases/kernel/syscalls/fcntl/fcntl36.c | 23 +++++++++++++-----
- testcases/kernel/syscalls/fcntl/fcntl_common.h | 32 ++++++++++++++++++++++++++
- 3 files changed, 58 insertions(+), 9 deletions(-)
- create mode 100644 testcases/kernel/syscalls/fcntl/fcntl_common.h
-
-diff --git a/testcases/kernel/syscalls/fcntl/fcntl34.c b/testcases/kernel/syscalls/fcntl/fcntl34.c
-index aa29cf9..109f834 100644
---- a/testcases/kernel/syscalls/fcntl/fcntl34.c
-+++ b/testcases/kernel/syscalls/fcntl/fcntl34.c
-@@ -28,6 +28,7 @@
- #include "lapi/fcntl.h"
- #include "tst_safe_pthread.h"
- #include "tst_test.h"
-+#include "fcntl_common.h"
-
- static int thread_cnt;
- static const int max_thread_cnt = 32;
-@@ -68,7 +69,12 @@ void *thread_fn_01(void *arg)
-
- memset(buf, (intptr_t)arg, write_size);
-
-- struct flock64 lck = {
-+ /* see explanation in fcntl_common.h */
-+ #ifdef USE_STRUCT_FLOCK
-+ struct flock lck = {
-+ #else
-+ struct flock64 lck = {
-+ #endif
- .l_whence = SEEK_SET,
- .l_start = 0,
- .l_len = 1,
-@@ -76,13 +82,13 @@ void *thread_fn_01(void *arg)
-
- for (i = 0; i < writes_num; ++i) {
- lck.l_type = F_WRLCK;
-- SAFE_FCNTL(fd, F_OFD_SETLKW, &lck);
-+ my_fcntl(fd, F_OFD_SETLKW, &lck);
-
- SAFE_LSEEK(fd, 0, SEEK_END);
- SAFE_WRITE(1, fd, buf, write_size);
-
- lck.l_type = F_UNLCK;
-- SAFE_FCNTL(fd, F_OFD_SETLKW, &lck);
-+ my_fcntl(fd, F_OFD_SETLKW, &lck);
-
- sched_yield();
- }
-diff --git a/testcases/kernel/syscalls/fcntl/fcntl36.c b/testcases/kernel/syscalls/fcntl/fcntl36.c
-index 3246d13..f263b6b 100644
---- a/testcases/kernel/syscalls/fcntl/fcntl36.c
-+++ b/testcases/kernel/syscalls/fcntl/fcntl36.c
-@@ -57,6 +57,7 @@
- #include "lapi/fcntl.h"
- #include "tst_safe_pthread.h"
- #include "tst_test.h"
-+#include "fcntl_common.h"
-
- static int thread_cnt;
- static int fail_flag = 0;
-@@ -87,7 +88,12 @@ static void *fn_ofd_w(void *arg)
- int fd = SAFE_OPEN(fname, O_RDWR);
- long wt = pa->cnt;
-
-- struct flock64 lck = {
-+ /* see explanation in fcntl_common.h */
-+ #ifdef USE_STRUCT_FLOCK
-+ struct flock lck = {
-+ #else
-+ struct flock64 lck = {
-+ #endif
- .l_whence = SEEK_SET,
- .l_start = pa->offset,
- .l_len = pa->length,
-@@ -99,13 +105,13 @@ static void *fn_ofd_w(void *arg)
- memset(buf, wt, pa->length);
-
- lck.l_type = F_WRLCK;
-- SAFE_FCNTL(fd, F_OFD_SETLKW, &lck);
-+ my_fcntl(fd, F_OFD_SETLKW, &lck);
-
- SAFE_LSEEK(fd, pa->offset, SEEK_SET);
- SAFE_WRITE(1, fd, buf, pa->length);
-
- lck.l_type = F_UNLCK;
-- SAFE_FCNTL(fd, F_OFD_SETLKW, &lck);
-+ my_fcntl(fd, F_OFD_SETLKW, &lck);
-
- wt++;
- if (wt >= 255)
-@@ -166,7 +172,12 @@ static void *fn_ofd_r(void *arg)
- int i;
- int fd = SAFE_OPEN(fname, O_RDWR);
-
-- struct flock64 lck = {
-+ /* see explanation in fcntl_common.h */
-+ #ifdef USE_STRUCT_FLOCK
-+ struct flock lck = {
-+ #else
-+ struct flock64 lck = {
-+ #endif
- .l_whence = SEEK_SET,
- .l_start = pa->offset,
- .l_len = pa->length,
-@@ -178,7 +189,7 @@ static void *fn_ofd_r(void *arg)
- memset(buf, 0, pa->length);
-
- lck.l_type = F_RDLCK;
-- SAFE_FCNTL(fd, F_OFD_SETLKW, &lck);
-+ my_fcntl(fd, F_OFD_SETLKW, &lck);
-
- /* rlock acquired */
- SAFE_LSEEK(fd, pa->offset, SEEK_SET);
-@@ -209,7 +220,7 @@ static void *fn_ofd_r(void *arg)
- }
-
- lck.l_type = F_UNLCK;
-- SAFE_FCNTL(fd, F_OFD_SETLK, &lck);
-+ my_fcntl(fd, F_OFD_SETLK, &lck);
-
- sched_yield();
- }
-diff --git a/testcases/kernel/syscalls/fcntl/fcntl_common.h b/testcases/kernel/syscalls/fcntl/fcntl_common.h
-new file mode 100644
-index 0000000..3fe399b
---- /dev/null
-+++ b/testcases/kernel/syscalls/fcntl/fcntl_common.h
-@@ -0,0 +1,32 @@
-+#include "lapi/syscalls.h"
-+
-+/*
-+ * glibc commit:
-+ * 06ab719d30b0 ("Fix Linux fcntl OFD locks for non-LFS architectures (BZ#20251)")
-+ * changed behavior of arg parameter for OFD commands. It is no
-+ * longer passing arg directly to syscall, but expects it to be
-+ * 'struct flock'.
-+ *
-+ * On 64-bit or _FILE_OFFSET_BITS == 64 we can use fcntl() and
-+ * struct flock with any glibc version. struct flock and flock64
-+ * should be identical.
-+ *
-+ * On 32-bit, older glibc would pass arg directly, recent one treats
-+ * it as 'struct flock' and converts it to 'struct flock64'.
-+ * So, for 32-bit we use fcntl64 syscall directly with struct flock64.
-+ */
-+#if __WORDSIZE == 64 || _FILE_OFFSET_BITS == 64
-+#define USE_STRUCT_FLOCK
-+static int my_fcntl(int fd, int cmd, void *lck)
-+{
-+ return SAFE_FCNTL(fd, cmd, lck);
-+}
-+#else
-+static int my_fcntl(int fd, int cmd, void *lck)
-+{
-+ int ret = tst_syscall(__NR_fcntl64, fd, cmd, lck);
-+ if (ret == -1)
-+ tst_brk(TBROK|TERRNO, "fcntl64");
-+ return ret;
-+}
-+#endif
---
-2.8.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch b/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
index 2df385591..3c66c9436 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
@@ -42,7 +42,7 @@ diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
index 50a12fa..4f1987f 100644
--- a/testcases/kernel/Makefile
+++ b/testcases/kernel/Makefile
-@@ -48,13 +48,16 @@ SUBDIRS += connectors \
+@@ -49,12 +49,15 @@ SUBDIRS += connectors \
logging \
mem \
numa \
@@ -51,7 +51,6 @@ index 50a12fa..4f1987f 100644
security \
timers \
tracing \
- module \
+ifneq ($(LIBC),musl)
+SUBDIRS += pty
diff --git a/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch b/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
index 2f4ca6375..6e6dbf398 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
@@ -16,7 +16,7 @@ diff --git a/include/old/test.h b/include/old/test.h
index b36764d83..cc6f1b551 100644
--- a/include/old/test.h
+++ b/include/old/test.h
-@@ -44,6 +44,9 @@
+@@ -17,6 +17,9 @@
#include <string.h>
#include <stdlib.h>
#include <stdint.h>
diff --git a/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
index 428ac3004..7311ee2e4 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
@@ -1,7 +1,7 @@
-From a3cbee31daae2466bc8dcac36b33a01352693346 Mon Sep 17 00:00:00 2001
+From fc2b47ad979a87bfbd11aeea3f67c26e7fb39e30 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 7 Jan 2016 19:40:08 +0000
-Subject: [PATCH 01/26] Check if __GLIBC_PREREQ is defined before using it
+Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
__GLIBC_PREREQ is specific to glibc so it should be checked if it is
defined or not.
@@ -10,13 +10,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
- testcases/kernel/syscalls/accept4/accept4_01.c | 9 ++++-
- testcases/kernel/syscalls/getcpu/getcpu01.c | 39 +++++++++++++++++++++-
- .../sched_getaffinity/sched_getaffinity01.c | 26 +++++++++++++++
- 3 files changed, 72 insertions(+), 2 deletions(-)
+ .../kernel/syscalls/accept4/accept4_01.c | 9 ++++++-
+ .../sched_getaffinity/sched_getaffinity01.c | 26 +++++++++++++++++++
+ 2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c b/testcases/kernel/syscalls/accept4/accept4_01.c
-index 6072bfa..2b090cb 100644
+index dec4ef93b..c5d74b07f 100644
--- a/testcases/kernel/syscalls/accept4/accept4_01.c
+++ b/testcases/kernel/syscalls/accept4/accept4_01.c
@@ -64,6 +64,7 @@ static void cleanup(void)
@@ -59,131 +58,8 @@ index 6072bfa..2b090cb 100644
#else
acceptfd = accept4(lfd, (struct sockaddr *)&claddr, &addrlen,
closeonexec_flag | nonblock_flag);
-diff --git a/testcases/kernel/syscalls/getcpu/getcpu01.c b/testcases/kernel/syscalls/getcpu/getcpu01.c
-index c927512..921b107 100644
---- a/testcases/kernel/syscalls/getcpu/getcpu01.c
-+++ b/testcases/kernel/syscalls/getcpu/getcpu01.c
-@@ -62,6 +62,7 @@
- #include <dirent.h>
-
- #if defined(__i386__) || defined(__x86_64__)
-+#if defined(__GLIBC__)
- #if __GLIBC_PREREQ(2,6)
- #if defined(__x86_64__)
- #include <utmpx.h>
-@@ -75,10 +76,17 @@ int sys_support = 0;
- #else
- int sys_support = 0;
- #endif
-+#else
-+int sys_support = 0;
-+#endif
-
-+#if defined(__GLIBC__)
- #if !(__GLIBC_PREREQ(2, 7))
- #define CPU_FREE(ptr) free(ptr)
- #endif
-+#else
-+#define CPU_FREE(ptr) free(ptr)
-+#endif
-
- void cleanup(void);
- void setup(void);
-@@ -164,7 +172,11 @@ static inline int getcpu(unsigned *cpu_id, unsigned *node_id,
- {
- #if defined(__i386__)
- return syscall(318, cpu_id, node_id, cache_struct);
--#elif __GLIBC_PREREQ(2,6)
-+#elif defined(__GLIBC__)
-+#if __GLIBC_PREREQ(2,6)
-+ *cpu_id = sched_getcpu();
-+#endif
-+#else
- *cpu_id = sched_getcpu();
- #endif
- return 0;
-@@ -191,15 +203,20 @@ unsigned int set_cpu_affinity(void)
- cpu_set_t *set;
- size_t size;
- int nrcpus = 1024;
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- realloc:
- set = CPU_ALLOC(nrcpus);
- #else
- set = malloc(sizeof(cpu_set_t));
- #endif
-+#else
-+ set = malloc(sizeof(cpu_set_t));
-+#endif
- if (set == NULL) {
- tst_brkm(TFAIL, NULL, "CPU_ALLOC:errno:%d", errno);
- }
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- size = CPU_ALLOC_SIZE(nrcpus);
- CPU_ZERO_S(size, set);
-@@ -207,8 +224,13 @@ realloc:
- size = sizeof(cpu_set_t);
- CPU_ZERO(set);
- #endif
-+#else
-+ size = sizeof(cpu_set_t);
-+ CPU_ZERO(set);
-+#endif
- if (sched_getaffinity(0, size, set) < 0) {
- CPU_FREE(set);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- if (errno == EINVAL && nrcpus < (1024 << 8)) {
- nrcpus = nrcpus << 2;
-@@ -220,10 +242,17 @@ realloc:
- "NR_CPUS of the kernel is more than 1024, so we'd better use a newer glibc(>= 2.7)");
- else
- #endif
-+#else
-+ if (errno == EINVAL)
-+ tst_resm(TFAIL,
-+ "NR_CPUS of the kernel is more than 1024, so we'd better use a newer glibc(>= 2.7)");
-+ else
-+#endif
- tst_resm(TFAIL, "sched_getaffinity:errno:%d", errno);
- tst_exit();
- }
- cpu_max = max_cpuid(size, set);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- CPU_ZERO_S(size, set);
- CPU_SET_S(cpu_max, size, set);
-@@ -231,6 +260,10 @@ realloc:
- CPU_ZERO(set);
- CPU_SET(cpu_max, set);
- #endif
-+#else
-+ CPU_ZERO(set);
-+ CPU_SET(cpu_max, set);
-+#endif
- if (sched_setaffinity(0, size, set) < 0) {
- CPU_FREE(set);
- tst_brkm(TFAIL, NULL, "sched_setaffinity:errno:%d", errno);
-@@ -247,11 +280,15 @@ unsigned int max_cpuid(size_t size, cpu_set_t * set)
- {
- unsigned int index, max = 0;
- for (index = 0; index < size * BITS_PER_BYTE; index++)
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- if (CPU_ISSET_S(index, size, set))
- #else
- if (CPU_ISSET(index, set))
- #endif
-+#else
-+ if (CPU_ISSET(index, set))
-+#endif
- max = index;
- return max;
- }
diff --git a/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c b/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-index 9d6a81a..4ed13b2 100644
+index 02f04b909..d906d7e09 100644
--- a/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
+++ b/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
@@ -67,9 +67,11 @@ do { \
@@ -198,7 +74,7 @@ index 9d6a81a..4ed13b2 100644
int main(int ac, char **av)
{
-@@ -96,14 +98,19 @@ static void do_test(void)
+@@ -96,17 +98,26 @@ static void do_test(void)
pid_t unused_pid;
unsigned len;
@@ -206,27 +82,26 @@ index 9d6a81a..4ed13b2 100644
#if __GLIBC_PREREQ(2, 7)
realloc:
mask = CPU_ALLOC(nrcpus);
- #else
- mask = malloc(sizeof(cpu_set_t));
- #endif
+#else
+ mask = malloc(sizeof(cpu_set_t));
+#endif
+ #else
+ mask = malloc(sizeof(cpu_set_t));
+ #endif
if (mask == NULL)
tst_brkm(TFAIL | TTERRNO, cleanup, "fail to get enough memory");
+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
#if __GLIBC_PREREQ(2, 7)
len = CPU_ALLOC_SIZE(nrcpus);
CPU_ZERO_S(len, mask);
-@@ -111,10 +118,15 @@ realloc:
- len = sizeof(cpu_set_t);
- CPU_ZERO(mask);
- #endif
+#else
+ len = sizeof(cpu_set_t);
+ CPU_ZERO(mask);
+#endif
- /* positive test */
+ #else
+ len = sizeof(cpu_set_t);
+ CPU_ZERO(mask);
+@@ -115,11 +126,18 @@ realloc:
TEST(sched_getaffinity(0, len, mask));
if (TEST_RETURN == -1) {
CPU_FREE(mask);
@@ -234,50 +109,43 @@ index 9d6a81a..4ed13b2 100644
#if __GLIBC_PREREQ(2, 7)
if (errno == EINVAL && nrcpus < (1024 << 8)) {
nrcpus = nrcpus << 2;
-@@ -126,17 +138,27 @@ realloc:
- "newer glibc(>= 2.7)");
- else
- #endif
+ goto realloc;
+ }
+#else
+ if (errno == EINVAL)
+ tst_resm(TFAIL, "NR_CPUS > 1024, we'd better use a "
+ "newer glibc(>= 2.7)");
+ else
+#endif
- tst_resm(TFAIL | TTERRNO, "fail to get cpu affinity");
- cleanup();
- } else {
+ #else
+ if (errno == EINVAL)
+ tst_resm(TFAIL, "NR_CPUS > 1024, we'd better use a "
+@@ -132,8 +150,12 @@ realloc:
tst_resm(TINFO, "cpusetsize is %d", len);
tst_resm(TINFO, "mask.__bits[0] = %lu ", mask->__bits[0]);
for (i = 0; i < num; i++) {
+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
#if __GLIBC_PREREQ(2, 7)
TEST(CPU_ISSET_S(i, len, mask));
- #else
- TEST(CPU_ISSET(i, mask));
- #endif
+#else
+ TEST(CPU_ISSET(i, mask));
+#endif
- if (TEST_RETURN != -1)
- tst_resm(TPASS, "sched_getaffinity() succeed, "
- "this process %d is running "
-@@ -144,11 +166,15 @@ realloc:
+ #else
+ TEST(CPU_ISSET(i, mask));
+ #endif
+@@ -144,8 +166,12 @@ realloc:
}
}
+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
#if __GLIBC_PREREQ(2, 7)
CPU_ZERO_S(len, mask);
- #else
- CPU_ZERO(mask);
- #endif
+#else
+ CPU_ZERO(mask);
+#endif
- /* negative tests */
- QUICK_TEST(sched_getaffinity(0, len, (cpu_set_t *) - 1));
- QUICK_TEST(sched_getaffinity(0, 0, mask));
+ #else
+ CPU_ZERO(mask);
+ #endif
--
-1.9.1
+2.17.1
diff --git a/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch b/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
index 71e32a5e5..665da3bef 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
@@ -19,7 +19,7 @@ diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testca
index b785fe3..2918cc5 100755
--- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
+++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-@@ -283,6 +283,7 @@ test_proc_kill()
+@@ -291,6 +291,7 @@ test_proc_kill()
pid=$!
TST_CHECKPOINT_WAIT 0
echo $pid > tasks
diff --git a/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch b/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch
index e7c927e11..ec5e2ef95 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch
@@ -21,16 +21,18 @@ Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
1 file changed, 52 insertions(+), 40 deletions(-)
diff --git a/testcases/commands/ar/ar01 b/testcases/commands/ar/ar01
-index ddab2e0..d688f76 100644
+index be105f6da..813a51d9c 100644
--- a/testcases/commands/ar/ar01
+++ b/testcases/commands/ar/ar01
-@@ -23,14 +23,26 @@
- # This is a basic ar command test.
+@@ -24,16 +24,28 @@
#
+ AR="${AR:=ar}"
TST_CNT=17
+TST_SETUP=setup
TST_TESTFUNC=test
TST_NEEDS_TMPDIR=1
+ TST_NEEDS_CMDS="$AR"
+
. tst_test.sh
+setup()
@@ -53,7 +55,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -47,9 +59,9 @@ test1()
+@@ -50,9 +62,9 @@ test1()
test2()
{
@@ -66,7 +68,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile4.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -66,8 +78,8 @@ test2()
+@@ -69,8 +81,8 @@ test2()
test3()
{
@@ -77,7 +79,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -84,9 +96,9 @@ test3()
+@@ -87,9 +99,9 @@ test3()
test4()
{
@@ -90,7 +92,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -103,7 +115,7 @@ test4()
+@@ -106,7 +118,7 @@ test4()
test5()
{
@@ -99,7 +101,7 @@ index ddab2e0..d688f76 100644
if [ -s ar.out ]; then
tst_res TFAIL "ar produced output unexpectedly (-c)"
-@@ -117,7 +129,7 @@ test5()
+@@ -120,7 +132,7 @@ test5()
test6()
{
@@ -108,7 +110,7 @@ index ddab2e0..d688f76 100644
if [ -s ar.out ]; then
tst_res TFAIL "ar produced output unexpectedly (-qc)"
-@@ -131,9 +143,9 @@ test6()
+@@ -134,9 +146,9 @@ test6()
test7()
{
@@ -121,7 +123,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file3.in\n" > ar.exp
-@@ -150,9 +162,9 @@ test7()
+@@ -153,9 +165,9 @@ test7()
test8()
{
@@ -134,7 +136,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -169,8 +181,8 @@ test8()
+@@ -172,8 +184,8 @@ test8()
test9()
{
@@ -145,7 +147,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -187,9 +199,9 @@ test9()
+@@ -190,9 +202,9 @@ test9()
test10()
{
@@ -158,7 +160,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -206,9 +218,9 @@ test10()
+@@ -209,9 +221,9 @@ test10()
test11()
{
@@ -171,7 +173,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -225,9 +237,9 @@ test11()
+@@ -228,9 +240,9 @@ test11()
test12()
{
@@ -184,7 +186,7 @@ index ddab2e0..d688f76 100644
printf "This is file one\nThis is file two\nThis is file three\n" > ar.exp
-@@ -244,9 +256,9 @@ test12()
+@@ -247,9 +259,9 @@ test12()
test13()
{
@@ -197,7 +199,7 @@ index ddab2e0..d688f76 100644
ROD ar -t lib.a \> ar.out
printf "file1.in\nfile2.in\nfile3.in\nfile4.in\n" > ar.exp
-@@ -264,14 +276,14 @@ test13()
+@@ -267,14 +279,14 @@ test13()
test14()
{
ROD touch file0.in
@@ -214,7 +216,7 @@ index ddab2e0..d688f76 100644
file0_mtime2=$(ar -tv lib.a | grep file0.in)
file1_mtime2=$(ar -tv lib.a | grep file1.in)
-@@ -293,7 +305,7 @@ test14()
+@@ -296,7 +308,7 @@ test14()
test15()
{
@@ -223,7 +225,7 @@ index ddab2e0..d688f76 100644
ROD ar -tv lib.a \> ar.out
if grep -q '[rwx-]\{9\} [0-9].*/[0-9].*\s*[0-9].*.*file1.in' ar.out; then
-@@ -308,9 +320,9 @@ test15()
+@@ -311,9 +323,9 @@ test15()
test16()
{
@@ -236,7 +238,7 @@ index ddab2e0..d688f76 100644
printf "x - file1.in\nx - file2.in\nx - file3.in\n" > ar.exp
-@@ -332,8 +344,8 @@ test16()
+@@ -335,8 +347,8 @@ test16()
test17()
{
@@ -248,5 +250,5 @@ index ddab2e0..d688f76 100644
printf "x - file2.in\n" > ar.exp
--
-2.7.4
+2.19.0.rc2
diff --git a/poky/meta/recipes-extended/ltp/ltp/0040-read_all-Define-FNM_EXTMATCH-if-not-already-like-und.patch b/poky/meta/recipes-extended/ltp/ltp/0040-read_all-Define-FNM_EXTMATCH-if-not-already-like-und.patch
deleted file mode 100644
index 0245a89f3..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0040-read_all-Define-FNM_EXTMATCH-if-not-already-like-und.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 23518508de307790231d16af307291f1b45e903a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
-Date: Tue, 5 Jun 2018 15:36:30 -0500
-Subject: [PATCH] read_all: Define FNM_EXTMATCH if not already (like under
- musl).
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-With musl, FNM_EXTMATCH is not defined:
-| read_all.c: In function 'read_test':
-| read_all.c:201:41: error: 'FNM_EXTMATCH' undeclared (first use in this function); did you mean 'FNM_NOMATCH'?
-| if (exclude && !fnmatch(exclude, path, FNM_EXTMATCH)) {
-| ^~~~~~~~~~~~
-| FNM_NOMATCH
-| read_all.c:201:41: note: each undeclared identifier is reported only once for each function it appears in
-| <builtin>: recipe for target 'read_all' failed
-| make[4]: *** [read_all] Error 1
-
-Signed-off-by: Daniel DĂ­az <daniel.diaz@linaro.org>
-
-Upstream-Status: Pending
----
- testcases/kernel/fs/read_all/read_all.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/testcases/kernel/fs/read_all/read_all.c b/testcases/kernel/fs/read_all/read_all.c
-index a8e1611..e9ff47a 100644
---- a/testcases/kernel/fs/read_all/read_all.c
-+++ b/testcases/kernel/fs/read_all/read_all.c
-@@ -59,6 +59,10 @@
- #define MAX_PATH 4096
- #define MAX_DISPLAY 40
-
-+#if !defined(FNM_EXTMATCH)
-+#define FNM_EXTMATCH 0
-+#endif
-+
- struct queue {
- sem_t sem;
- int front;
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0041-cve-2017-5669-shmat-for-0-or-PAGESIZE-with-RND-flag-.patch b/poky/meta/recipes-extended/ltp/ltp/0041-cve-2017-5669-shmat-for-0-or-PAGESIZE-with-RND-flag-.patch
deleted file mode 100644
index 0d2d2cbce..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0041-cve-2017-5669-shmat-for-0-or-PAGESIZE-with-RND-flag-.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From b767b73ef027ba8d35f297c7d3659265ac80425b Mon Sep 17 00:00:00 2001
-From: Rafael David Tinoco <rafael.tinoco@canonical.com>
-Date: Wed, 30 May 2018 09:14:34 -0300
-Subject: [PATCH] cve-2017-5669: shmat() for 0 (or <PAGESIZE with RND flag) has
- to fail with REMAPs
-
-Fixes: https://github.com/linux-test-project/ltp/issues/319
-
-According to upstream thread (https://lkml.org/lkml/2018/5/28/2056),
-cve-2017-5669 needs to address the "new" way of handling nil addresses
-for shmat() when used with MAP_FIXED or SHM_REMAP flags.
-
-- mapping nil-page is OK on lower addresses with MAP_FIXED (or else X11 is broken)
-- mapping nil-page is NOT OK with SHM_REMAP on lower addresses
-
-Addresses Davidlohr Bueso's comments/changes:
-
-commit 8f89c007b6de
-Author: Davidlohr Bueso <dave@stgolabs.net>
-Date: Fri May 25 14:47:30 2018 -0700
-
- ipc/shm: fix shmat() nil address after round-down when remapping
-
-commit a73ab244f0da
-Author: Davidlohr Bueso <dave@stgolabs.net>
-Date: Fri May 25 14:47:27 2018 -0700
-
- Revert "ipc/shm: Fix shmat mmap nil-page protection"
-
-For previously test, and now broken, made based on:
-
-commit 95e91b831f87
-Author: Davidlohr Bueso <dave@stgolabs.net>
-Date: Mon Feb 27 14:28:24 2017 -0800
-
- ipc/shm: Fix shmat mmap nil-page protection
-
-Signed-off-by: Rafael David Tinoco <rafael.tinoco@linaro.org>
-Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
-Reviewed-by: Jan Stancek <jstancek@redhat.com>
-
-Upstream-Status: Accepted [https://github.com/linux-test-project/ltp/pull/324]
-CVE: CVE-2017-5669
-Signed-off-by: Rafael David Tinoco <rafael.tinoco@linaro.org>
----
- testcases/cve/cve-2017-5669.c | 20 +++++++++++++++++++-
- 1 file changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/cve/cve-2017-5669.c b/testcases/cve/cve-2017-5669.c
-index 1ca5983..0834626 100644
---- a/testcases/cve/cve-2017-5669.c
-+++ b/testcases/cve/cve-2017-5669.c
-@@ -28,7 +28,20 @@
- * is just to see if we get an access error or some other unexpected behaviour.
- *
- * See commit 95e91b831f (ipc/shm: Fix shmat mmap nil-page protection)
-+ *
-+ * The commit above disallowed SHM_RND maps to zero (and rounded) entirely and
-+ * that broke userland for cases like Xorg. New behavior disallows REMAPs to
-+ * lower addresses (0<=PAGESIZE).
-+ *
-+ * See commit a73ab244f0da (Revert "ipc/shm: Fix shmat mmap nil-page protect...)
-+ * See commit 8f89c007b6de (ipc/shm: fix shmat() nil address after round-dow...)
-+ * See https://github.com/linux-test-project/ltp/issues/319
-+ *
-+ * This test needs root permissions or else security_mmap_addr(), from
-+ * get_unmapped_area(), will cause permission errors when trying to mmap lower
-+ * addresses.
- */
-+
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/shm.h>
-@@ -60,7 +73,11 @@ static void cleanup(void)
- static void run(void)
- {
- tst_res(TINFO, "Attempting to attach shared memory to null page");
-- shm_addr = shmat(shm_id, ((void *)1), SHM_RND);
-+ /*
-+ * shmat() for 0 (or < PAGESIZE with RND flag) has to fail with REMAPs
-+ * https://github.com/linux-test-project/ltp/issues/319
-+ */
-+ shm_addr = shmat(shm_id, ((void *)1), SHM_RND | SHM_REMAP);
- if (shm_addr == (void *)-1) {
- shm_addr = NULL;
- if (errno == EINVAL) {
-@@ -89,6 +106,7 @@ static void run(void)
- }
-
- static struct tst_test test = {
-+ .needs_root = 1,
- .setup = setup,
- .cleanup = cleanup,
- .test_all = run,
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0042-fs-ftest-ftest06.c-Fix-too-small-name-string-and-rel.patch b/poky/meta/recipes-extended/ltp/ltp/0042-fs-ftest-ftest06.c-Fix-too-small-name-string-and-rel.patch
deleted file mode 100644
index 407d98eff..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0042-fs-ftest-ftest06.c-Fix-too-small-name-string-and-rel.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From baeef026f80e19a634a4096e97286419aca1cf68 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Thu, 23 Aug 2018 00:22:04 +0800
-Subject: [PATCH] fs/ftest/ftest06.c: Fix too small name string and related
- failure
-
-The name string is too small to contain normal full path names and causes
-the following failure.
-
-"ftest06 2 TFAIL : ftest06.c:223: Can't chdir(): errno=ENOENT(2): No such file or directory"
-
-Upstream-Status: Submitted [ltp-list@lists.sourceforge.net]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/kernel/fs/ftest/ftest06.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/fs/ftest/ftest06.c b/testcases/kernel/fs/ftest/ftest06.c
-index 2ca7c88..b434067 100644
---- a/testcases/kernel/fs/ftest/ftest06.c
-+++ b/testcases/kernel/fs/ftest/ftest06.c
-@@ -100,7 +100,7 @@ static char *fstyp;
- int main(int ac, char *av[])
- {
- int pid, child, status, count, k, j;
-- char name[3];
-+ char name[MAXPATHLEN];
-
- int lc;
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0043-open-creat-skip-S_ISGID-check-on-files-created-by-no.patch b/poky/meta/recipes-extended/ltp/ltp/0043-open-creat-skip-S_ISGID-check-on-files-created-by-no.patch
deleted file mode 100644
index dc61fcc03..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0043-open-creat-skip-S_ISGID-check-on-files-created-by-no.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 3c87ef2961dedb10d1f674c6a530e00dbab8ec1b Mon Sep 17 00:00:00 2001
-From: Jan Stancek <jstancek@redhat.com>
-Date: Tue, 17 Jul 2018 10:26:39 +0200
-Subject: [PATCH] open|creat: skip S_ISGID check on files created by non-group
- members
-
-0fa3ecd87848 ("Fix up non-directory creation in SGID directories")
-fixes problem described in CVE-2018-13405. This commit is getting
-backported to older streams as well.
-
-This patch removes S_ISGID check for files created by non-group members
-in LTP tests creat08 and open10.
-
-Once 0fa3ecd87848 will be in non-rc kernel, we could add a new test
-for this CVE that would be limited to 4.18+ kernels.
-
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-Acked-by: Cyril Hrubis <chrubis@suse.cz>
-Reviewed-by: Naresh Kamboju <naresh.kamboju@linaro.org>
-
-Upstream-Status: Backport
-[ git://github.com/linux-test-project/ltp.git
- 3c87ef2961dedb10d1f674c6a530e00dbab8ec1b
- "open|creat: skip S_ISGID check on files created by non-group members" ]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/kernel/syscalls/creat/creat08.c | 13 ++++++-------
- testcases/kernel/syscalls/open/open10.c | 12 +++++-------
- 2 files changed, 11 insertions(+), 14 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/creat/creat08.c b/testcases/kernel/syscalls/creat/creat08.c
-index 50f2b3993..d22558ac3 100644
---- a/testcases/kernel/syscalls/creat/creat08.c
-+++ b/testcases/kernel/syscalls/creat/creat08.c
-@@ -361,13 +361,12 @@ int main(int ac, char **av)
- local_flag = FAILED;
- }
-
-- /* Verify modes */
-- if (!(buf.st_mode & S_ISGID)) {
-- tst_resm(TFAIL,
-- "%s: Incorrect modes, setgid bit should be set",
-- setgid_B);
-- local_flag = FAILED;
-- }
-+ /*
-+ * Skip S_ISGID check
-+ * 0fa3ecd87848 ("Fix up non-directory creation in SGID directories")
-+ * clears S_ISGID for files created by non-group members
-+ */
-+
- close(fd);
-
- if (local_flag == PASSED) {
-diff --git a/testcases/kernel/syscalls/open/open10.c b/testcases/kernel/syscalls/open/open10.c
-index 613f2288f..14feec9e1 100644
---- a/testcases/kernel/syscalls/open/open10.c
-+++ b/testcases/kernel/syscalls/open/open10.c
-@@ -345,13 +345,11 @@ int main(int ac, char *av[])
- local_flag = FAILED;
- }
-
-- /* Verify modes */
-- if (!(buf.st_mode & S_ISGID)) {
-- tst_resm(TFAIL,
-- "%s: Incorrect modes, setgid bit not set",
-- setgid_B);
-- local_flag = FAILED;
-- }
-+ /*
-+ * Skip S_ISGID check
-+ * 0fa3ecd87848 ("Fix up non-directory creation in SGID directories")
-+ * clears S_ISGID for files created by non-group members
-+ */
-
- if (local_flag == PASSED) {
- tst_resm(TPASS, "Test passed in block2.");
---
-2.11.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch b/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch
new file mode 100644
index 000000000..c324463e6
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch
@@ -0,0 +1,114 @@
+From 34b91edc70709f32b44f6b3a32c8f18db393e36c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
+Date: Wed, 20 Feb 2019 08:07:27 -0600
+Subject: [PATCH] Define __SIGRTMIN and __SIGRTMAX for MUSL
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Some libc implementations might differ in the definitions they
+include. Exempli gratia: MUSL does not define __SIGRTMAX nor
+__SIGRTMIN.
+
+These two tests fail to build because of the missing
+definitions:
+ testcases/kernel/syscalls/ptrace/ptrace05.c
+ testcases/kernel/syscalls/sighold/sighold02.c
+
+Out of precaution, these two also include this header:
+ lib/tst_sig.c
+ testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
+
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-February/010916.html]
+
+Signed-off-by: Daniel DĂ­az <daniel.diaz@linaro.org>
+---
+ include/lapi/signal.h | 24 +++++++++++++++++++
+ lib/tst_sig.c | 1 +
+ testcases/kernel/syscalls/ptrace/ptrace05.c | 1 +
+ .../syscalls/rt_sigsuspend/rt_sigsuspend01.c | 1 +
+ testcases/kernel/syscalls/sighold/sighold02.c | 1 +
+ 5 files changed, 28 insertions(+)
+ create mode 100644 include/lapi/signal.h
+
+diff --git a/include/lapi/signal.h b/include/lapi/signal.h
+new file mode 100644
+index 000000000..d22965a94
+--- /dev/null
++++ b/include/lapi/signal.h
+@@ -0,0 +1,24 @@
++// SPDX-License-Identifier: GPL-2.0-or-later
++/*
++ * Copyright (c) 2019 Linaro Limited. All rights reserved.
++ * Author: Daniel DĂ­az <daniel.diaz@linaro.org>
++ */
++
++#ifndef LAPI_SIGNAL_H
++#define LAPI_SIGNAL_H
++
++#include <signal.h>
++
++/*
++ * Some libc implementations might differ in the definitions they include. This
++ * covers those differences for all tests to successfully build.
++ */
++
++#ifndef __SIGRTMIN
++# define __SIGRTMIN 32
++#endif
++#ifndef __SIGRTMAX
++# define __SIGRTMAX (_NSIG - 1)
++#endif
++
++#endif
+diff --git a/lib/tst_sig.c b/lib/tst_sig.c
+index 36565e13d..6d77aeafd 100644
+--- a/lib/tst_sig.c
++++ b/lib/tst_sig.c
+@@ -72,6 +72,7 @@
+ #include <signal.h>
+ #include <unistd.h>
+ #include "test.h"
++#include "lapi/signal.h"
+
+ #define MAXMESG 150 /* size of mesg string sent to tst_res */
+
+diff --git a/testcases/kernel/syscalls/ptrace/ptrace05.c b/testcases/kernel/syscalls/ptrace/ptrace05.c
+index 420330029..54cfa4d7b 100644
+--- a/testcases/kernel/syscalls/ptrace/ptrace05.c
++++ b/testcases/kernel/syscalls/ptrace/ptrace05.c
+@@ -38,6 +38,7 @@
+ #include "ptrace.h"
+
+ #include "test.h"
++#include "lapi/signal.h"
+
+ char *TCID = "ptrace05";
+ int TST_TOTAL = 0;
+diff --git a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
+index f17a9aae6..e577cf227 100644
+--- a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
++++ b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
+@@ -18,6 +18,7 @@
+ #include "tst_test.h"
+ #include "lapi/syscalls.h"
+ #include "lapi/safe_rt_signal.h"
++#include "lapi/signal.h"
+
+ static void sig_handler(int sig)
+ {
+diff --git a/testcases/kernel/syscalls/sighold/sighold02.c b/testcases/kernel/syscalls/sighold/sighold02.c
+index d1d4b0b06..b763142df 100644
+--- a/testcases/kernel/syscalls/sighold/sighold02.c
++++ b/testcases/kernel/syscalls/sighold/sighold02.c
+@@ -49,6 +49,7 @@
+ #include <sys/wait.h>
+ #include "test.h"
+ #include "safe_macros.h"
++#include "lapi/signal.h"
+
+ /* _XOPEN_SOURCE disables NSIG */
+ #ifndef NSIG
+--
+2.17.1
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch b/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch
new file mode 100644
index 000000000..24449148f
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch
@@ -0,0 +1,46 @@
+From 430e05c2169ed15aaa6d7f9459edd607603cee02 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
+Date: Mon, 25 Feb 2019 10:44:33 -0600
+Subject: [PATCH] setregid01: Fix security warning for string formatting
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+GCC 8.2.0 complains with the following:
+ setregid01.c: In function 'run':
+ setregid01.c:47:3: error: format not a string literal and no format arguments [-Werror=format-security]
+ tst_res(TFAIL | TTERRNO, tc->msg);
+ ^~~~~~~
+because there is no string formatting in the message. This can
+be seen with CFLAGS set to:
+ -Wformat -Wformat-security -Werror=format-security
+as Yocto Project's Poky does, e.g.:
+ http://errors.yoctoproject.org/Errors/Details/230043/
+
+Upstream-Status: Backport [46e1eda55f188810e6bf3a939b92d604321807ae]
+
+Signed-off-by: Daniel DĂ­az <daniel.diaz@linaro.org>
+Reviewed-by: Enji Cooper <yaneurabeya@gmail.com>
+---
+ testcases/kernel/syscalls/setregid/setregid01.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/testcases/kernel/syscalls/setregid/setregid01.c b/testcases/kernel/syscalls/setregid/setregid01.c
+index f2e41e134..8c9e11918 100644
+--- a/testcases/kernel/syscalls/setregid/setregid01.c
++++ b/testcases/kernel/syscalls/setregid/setregid01.c
+@@ -44,9 +44,9 @@ static void run(unsigned int n)
+ TEST(SETREGID(*tc->arg1, *tc->arg2));
+
+ if (TST_RET == -1)
+- tst_res(TFAIL | TTERRNO, tc->msg);
++ tst_res(TFAIL | TTERRNO, "%s", tc->msg);
+ else
+- tst_res(TPASS, tc->msg);
++ tst_res(TPASS, "%s", tc->msg);
+ }
+
+ static void setup(void)
+--
+2.17.1
+
diff --git a/poky/meta/recipes-extended/ltp/ltp_20180515.bb b/poky/meta/recipes-extended/ltp/ltp_20180515.bb
deleted file mode 100644
index ff85be723..000000000
--- a/poky/meta/recipes-extended/ltp/ltp_20180515.bb
+++ /dev/null
@@ -1,127 +0,0 @@
-SUMMARY = "Linux Test Project"
-DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
-HOMEPAGE = "http://ltp.sourceforge.net"
-SECTION = "console/utils"
-LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \
- file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
- file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
- file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
- file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
- file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \
-"
-
-DEPENDS = "attr libaio libcap acl openssl zip-native"
-DEPENDS_append_libc-musl = " fts "
-EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
-
-# since ltp contains x86-64 assembler which uses the frame-pointer register,
-# set -fomit-frame-pointer x86-64 to handle cases where optimisation
-# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
-# earlier in CFLAGS, etc.
-CFLAGS_append_x86-64 = " -fomit-frame-pointer"
-
-CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
-CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "96cbf48313afa65ef4d693d3441cbfd60a8d9b27"
-
-SRC_URI = "git://github.com/linux-test-project/ltp.git \
- file://0001-mmap15-mips64-return-EINVAL.patch \
- file://0004-build-Add-option-to-select-libc-implementation.patch \
- file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
- file://0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch \
- file://0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
- file://0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch \
- file://0018-guard-mallocopt-with-__GLIBC__.patch \
- file://0020-getdents-define-getdents-getdents64-only-for-glibc.patch \
- file://0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch \
- file://0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch \
- file://0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch \
- file://0026-crash01-Define-_GNU_SOURCE.patch \
- file://0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch \
- file://0034-periodic_output.patch \
- file://0035-fix-test_proc_kill-hang.patch \
- file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
- file://0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch \
- file://0040-read_all-Define-FNM_EXTMATCH-if-not-already-like-und.patch \
- file://0041-cve-2017-5669-shmat-for-0-or-PAGESIZE-with-RND-flag-.patch \
- file://0042-fs-ftest-ftest06.c-Fix-too-small-name-string-and-rel.patch \
- file://0043-open-creat-skip-S_ISGID-check-on-files-created-by-no.patch \
- file://0001-syscalls-fcntl-make-OFD-command-use-fcntl64-syscall-.patch \
- file://0001-sigwaitinfo01-recent-glibc-calls-syscall-directly.patch \
- file://0001-netns_helper.sh-use-ping-6-when-ping6-is-not-avaliab.patch \
- file://0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-export prefix = "/opt/ltp"
-export exec_prefix = "/opt/ltp"
-
-PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl,"
-EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4"
-EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite --with-open-posix-testsuite "
-# ltp network/rpc test cases ftbfs when libtirpc is found
-EXTRA_OECONF += " --without-tirpc "
-
-do_install(){
- install -d ${D}/opt/ltp/
- oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
-
- # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
- # as it lacks dependency on some perl moudle such as LWP::Simple
- # And this script previously works as a tool for analyzing failures from LTP
- # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses
- # http://khack.osdl.org to retrieve ltp test results run on
- # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
- rm -rf ${D}/opt/ltp/bin/STPfailure_report.pl
-
- # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual
- cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases
-}
-
-RDEPENDS_${PN} = "\
- acl \
- at \
- attr \
- bash \
- cpio \
- cronie \
- curl \
- e2fsprogs-mke2fs \
- expect \
- gawk \
- gzip \
- iproute2 \
- ldd \
- libaio \
- logrotate \
- perl \
- python-core \
- procps \
- unzip \
- util-linux \
- which \
- tar \
-"
-
-FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/* /opt/ltp/testcases/data/nm01/lib.a /opt/ltp/lib/libmem.a"
-
-# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
-INHIBIT_PACKAGE_STRIP_FILES = "/opt/ltp/testcases/bin/nm01 /opt/ltp/testcases/bin/ldd01"
-INSANE_SKIP_${PN} += "already-stripped staticdev"
-
-# Avoid file dependency scans, as LTP checks for things that may or may not
-# exist on the running system. For instance it has specific checks for
-# csh and ksh which are not typically part of OpenEmbedded systems (but
-# can be added via additional layers.)
-SKIP_FILEDEPS_${PN} = '1'
diff --git a/poky/meta/recipes-extended/ltp/ltp_20190115.bb b/poky/meta/recipes-extended/ltp/ltp_20190115.bb
new file mode 100644
index 000000000..ddf97e26c
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp_20190115.bb
@@ -0,0 +1,122 @@
+SUMMARY = "Linux Test Project"
+DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
+HOMEPAGE = "https://linux-test-project.github.io/"
+SECTION = "console/utils"
+LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+ file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \
+ file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
+ file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
+ file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
+ file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
+ file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \
+"
+
+DEPENDS = "attr libaio libcap acl openssl zip-native"
+DEPENDS_append_libc-musl = " fts "
+EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
+
+# since ltp contains x86-64 assembler which uses the frame-pointer register,
+# set -fomit-frame-pointer x86-64 to handle cases where optimisation
+# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
+# earlier in CFLAGS, etc.
+CFLAGS_append_x86-64 = " -fomit-frame-pointer"
+
+CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
+SRCREV = "a6a5caef13632e669dda27b0461726eba546a2f3"
+
+SRC_URI = "git://github.com/linux-test-project/ltp.git \
+ file://0004-build-Add-option-to-select-libc-implementation.patch \
+ file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
+ file://0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch \
+ file://0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
+ file://0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch \
+ file://0018-guard-mallocopt-with-__GLIBC__.patch \
+ file://0020-getdents-define-getdents-getdents64-only-for-glibc.patch \
+ file://0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch \
+ file://0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch \
+ file://0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch \
+ file://0026-crash01-Define-_GNU_SOURCE.patch \
+ file://0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch \
+ file://0034-periodic_output.patch \
+ file://0035-fix-test_proc_kill-hang.patch \
+ file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
+ file://0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch \
+ file://0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
+ file://define-sigrtmin-and-sigrtmax-for-musl.patch \
+ file://setregid01-security-string-formatting.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+export prefix = "/opt/ltp"
+export exec_prefix = "/opt/ltp"
+
+PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl,"
+EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4"
+EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite --with-open-posix-testsuite "
+# ltp network/rpc test cases ftbfs when libtirpc is found
+EXTRA_OECONF += " --without-tirpc "
+
+do_install(){
+ install -d ${D}/opt/ltp/
+ oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
+
+ # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
+ # as it lacks dependency on some perl moudle such as LWP::Simple
+ # And this script previously works as a tool for analyzing failures from LTP
+ # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses
+ # http://khack.osdl.org to retrieve ltp test results run on
+ # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
+ rm -rf ${D}/opt/ltp/bin/STPfailure_report.pl
+
+ # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual
+ cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases
+}
+
+RDEPENDS_${PN} = "\
+ acl \
+ at \
+ attr \
+ bash \
+ cpio \
+ cronie \
+ curl \
+ e2fsprogs-mke2fs \
+ expect \
+ file \
+ gawk \
+ gzip \
+ iproute2 \
+ ldd \
+ libaio \
+ logrotate \
+ perl \
+ python-core \
+ procps \
+ quota \
+ unzip \
+ util-linux \
+ which \
+ tar \
+"
+
+FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/* /opt/ltp/testcases/data/nm01/lib.a /opt/ltp/lib/libmem.a"
+
+# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
+INHIBIT_PACKAGE_STRIP_FILES = "/opt/ltp/testcases/bin/nm01 /opt/ltp/testcases/bin/ldd01"
+INSANE_SKIP_${PN} += "already-stripped staticdev"
+
+# Avoid file dependency scans, as LTP checks for things that may or may not
+# exist on the running system. For instance it has specific checks for
+# csh and ksh which are not typically part of OpenEmbedded systems (but
+# can be added via additional layers.)
+SKIP_FILEDEPS_${PN} = '1'
diff --git a/poky/meta/recipes-extended/lzip/lzip_1.20.bb b/poky/meta/recipes-extended/lzip/lzip_1.20.bb
deleted file mode 100644
index d1fc2a1da..000000000
--- a/poky/meta/recipes-extended/lzip/lzip_1.20.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Lossless data compressor based on the LZMA algorithm"
-HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
-SECTION = "console/utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
- file://decoder.cc;beginline=3;endline=16;md5=db09fe3f9573f94d0076f7f07959e6e1"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "21c1517da2ace9689fd953918660b3c3"
-SRC_URI[sha256sum] = "c93b81a5a7788ef5812423d311345ba5d3bd4f5ebf1f693911e3a13553c1290c"
-
-CONFIGUREOPTS = "\
- '--srcdir=${S}' \
- '--prefix=${prefix}' \
- '--exec-prefix=${exec_prefix}' \
- '--bindir=${bindir}' \
- '--datadir=${datadir}' \
- '--infodir=${infodir}' \
- '--sysconfdir=${sysconfdir}' \
- 'CXX=${CXX}' \
- 'CPPFLAGS=${CPPFLAGS}' \
- 'CXXFLAGS=${CXXFLAGS}' \
- 'LDFLAGS=${LDFLAGS}' \
-"
-EXTRA_OEMAKE = ""
-
-B = "${S}/obj"
-do_configure () {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
- # Info dir listing isn't interesting at this point so remove it if it exists.
- if [ -e "${D}${infodir}/dir" ]; then
- rm -f ${D}${infodir}/dir
- fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/lzip/lzip_1.21.bb b/poky/meta/recipes-extended/lzip/lzip_1.21.bb
new file mode 100644
index 000000000..bb3d2a6fe
--- /dev/null
+++ b/poky/meta/recipes-extended/lzip/lzip_1.21.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Lossless data compressor based on the LZMA algorithm"
+HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
+SECTION = "console/utils"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+ file://decoder.cc;beginline=3;endline=16;md5=db09fe3f9573f94d0076f7f07959e6e1"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
+SRC_URI[md5sum] = "c0061730d017ea593a09308edc547128"
+SRC_URI[sha256sum] = "e48b5039d3164d670791f9c5dbaa832bf2df080cb1fbb4f33aa7b3300b670d8b"
+
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+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}' \
+"
+
+do_configure () {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}${infodir}/dir" ]; then
+ rm -f ${D}${infodir}/dir
+ fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.3.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.3.bb
deleted file mode 100644
index cd8d27c33..000000000
--- a/poky/meta/recipes-extended/man-db/man-db_2.8.3.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
-HOMEPAGE = "http://man-db.nongnu.org/"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a"
-
-SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
- file://99_mandb \
- file://man_db.conf-avoid-multilib-install-file-conflict.patch"
-SRC_URI[md5sum] = "6f3055e18fdd1ce5cbbdb30403991ec7"
-SRC_URI[sha256sum] = "5932a1ca366e1ec61a3ece1a3afa0e92f2fdc125b61d236f20cc6ff9d80cc4ac"
-
-DEPENDS = "libpipeline gdbm groff-native base-passwd"
-RDEPENDS_${PN} += "base-passwd"
-
-# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
-USE_NLS_libc-musl = "no"
-
-inherit gettext pkgconfig autotools
-
-EXTRA_OECONF = "--with-pager=less"
-
-do_install() {
- autotools_do_install
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
- fi
-}
-
-do_install_append_libc-musl() {
- rm -f ${D}${libdir}/charset.alias
-}
-
-FILES_${PN} += "${prefix}/lib/tmpfiles.d"
-
-FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
-
-RDEPENDS_${PN} += "groff"
-RRECOMMENDS_${PN} += "less"
-RPROVIDES_${PN} += " man"
-
-def compress_pkg(d):
- if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
- compress = d.getVar("DOC_COMPRESS")
- if compress == "gz":
- return "gzip"
- elif compress == "bz2":
- return "bzip2"
- elif compress == "xz":
- return "xz"
- return ""
-
-RDEPENDS_${PN} += "${@compress_pkg(d)}"
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.4.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.4.bb
new file mode 100644
index 000000000..aa364659e
--- /dev/null
+++ b/poky/meta/recipes-extended/man-db/man-db_2.8.4.bb
@@ -0,0 +1,56 @@
+SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
+HOMEPAGE = "http://man-db.nongnu.org/"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
+ file://99_mandb \
+ file://man_db.conf-avoid-multilib-install-file-conflict.patch"
+SRC_URI[md5sum] = "ab41db551f500e4a595b11203b86c67a"
+SRC_URI[sha256sum] = "103c185f9d8269b9ee3b8a4cb27912b3aa393e952731ef96fedc880723472bc3"
+
+DEPENDS = "libpipeline gdbm groff-native base-passwd"
+RDEPENDS_${PN} += "base-passwd"
+
+# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
+USE_NLS_libc-musl = "no"
+
+inherit gettext pkgconfig autotools
+
+EXTRA_OECONF = "--with-pager=less"
+EXTRA_AUTORECONF += "-I ${S}/gl/m4"
+
+do_install() {
+ autotools_do_install
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
+ fi
+}
+
+do_install_append_libc-musl() {
+ rm -f ${D}${libdir}/charset.alias
+}
+
+FILES_${PN} += "${prefix}/lib/tmpfiles.d"
+
+FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
+
+RDEPENDS_${PN} += "groff"
+RRECOMMENDS_${PN} += "less"
+RPROVIDES_${PN} += " man"
+
+def compress_pkg(d):
+ if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
+ compress = d.getVar("DOC_COMPRESS")
+ if compress == "gz":
+ return "gzip"
+ elif compress == "bz2":
+ return "bzip2"
+ elif compress == "xz":
+ return "xz"
+ return ""
+
+RDEPENDS_${PN} += "${@compress_pkg(d)}"
diff --git a/poky/meta/recipes-extended/man-pages/man-pages_4.16.bb b/poky/meta/recipes-extended/man-pages/man-pages_4.16.bb
index a64587cf0..1f14c891b 100644
--- a/poky/meta/recipes-extended/man-pages/man-pages_4.16.bb
+++ b/poky/meta/recipes-extended/man-pages/man-pages_4.16.bb
@@ -31,6 +31,7 @@ FILES_${PN} = "${mandir}/*"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "passwd.5 getspnam.3"
+ALTERNATIVE_${PN} = "passwd.5 getspnam.3 crypt.3"
ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5"
ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3"
+ALTERNATIVE_LINK_NAME[crypt.3] = "${mandir}/man3/crypt.3"
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.21.bb b/poky/meta/recipes-extended/mc/mc_4.8.21.bb
deleted file mode 100644
index c6a4500b8..000000000
--- a/poky/meta/recipes-extended/mc/mc_4.8.21.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Midnight Commander is an ncurses based file manager"
-HOMEPAGE = "http://www.midnight-commander.org/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
-SECTION = "console/utils"
-DEPENDS = "ncurses glib-2.0 util-linux"
-RDEPENDS_${PN} = "ncurses-terminfo"
-
-SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
- file://0001-mc-replace-perl-w-with-use-warnings.patch \
- "
-SRC_URI[md5sum] = "63d2b90e2198ee79d08eb4a8989220e2"
-SRC_URI[sha256sum] = "251d9f0ef9309ef3eea0fdc4c12b8b61149e5056bef1b2de2ccc7f015d973444"
-
-inherit autotools gettext pkgconfig
-
-#
-# Both Samba (smb) and sftp require package delivered from meta-openembedded
-#
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba,"
-PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
-
-EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x"
-
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
-
-do_install_append () {
- sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
-
- rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
-}
-
-PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
-
-SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
-FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
- ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
- ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
- ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
- ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
- ${libexecdir}/mc/extfs.d/uzip"
-RDEPENDS_${BPN}-helpers-perl = "perl"
-
-SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
-FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
-
-SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts"
-FILES_${BPN}-fish = "${libexecdir}/mc/fish"
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.22.bb b/poky/meta/recipes-extended/mc/mc_4.8.22.bb
new file mode 100644
index 000000000..f64effbce
--- /dev/null
+++ b/poky/meta/recipes-extended/mc/mc_4.8.22.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Midnight Commander is an ncurses based file manager"
+HOMEPAGE = "http://www.midnight-commander.org/"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
+SECTION = "console/utils"
+DEPENDS = "ncurses glib-2.0 util-linux"
+RDEPENDS_${PN} = "ncurses-terminfo"
+
+SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
+ file://0001-mc-replace-perl-w-with-use-warnings.patch \
+ "
+SRC_URI[md5sum] = "29983a215c96030f06d5b112088ec5dc"
+SRC_URI[sha256sum] = "8d9f1c75369967adfd317a05fef9861444ed049b033e4debaeaafc6df218b431"
+
+inherit autotools gettext pkgconfig
+
+#
+# Both Samba (smb) and sftp require package delivered from meta-openembedded
+#
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba,"
+PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
+
+EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
+
+do_install_append () {
+ sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
+
+ rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
+}
+
+PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
+
+SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
+FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
+ ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
+ ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
+ ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
+ ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
+ ${libexecdir}/mc/extfs.d/uzip"
+RDEPENDS_${BPN}-helpers-perl = "perl"
+
+SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
+FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
+
+SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts"
+FILES_${BPN}-fish = "${libexecdir}/mc/fish"
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Compute-abs-diff-in-a-standard-compliant-way.patch b/poky/meta/recipes-extended/mdadm/files/0001-Compute-abs-diff-in-a-standard-compliant-way.patch
new file mode 100644
index 000000000..803a59b3e
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-Compute-abs-diff-in-a-standard-compliant-way.patch
@@ -0,0 +1,31 @@
+From b273e892bd6aaafe448f84356abb78a6d463e784 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Dec 2018 17:22:39 -0800
+Subject: [PATCH] Compute abs diff in a standard compliant way
+
+This make it a bit less implementation defined and silences clang
+warning -Wabsolute-value
+
+| super-intel.c:2822:20: error: taking the absolute value of unsigned type 'unsi
+gned long long' has no effect [-Werror,-Wabsolute-value]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ super-intel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/super-intel.c b/super-intel.c
+index 6438987..10d7218 100644
+--- a/super-intel.c
++++ b/super-intel.c
+@@ -2819,7 +2819,7 @@ static unsigned long long calc_component_size(struct imsm_map *map,
+ * 2048 blocks per each device. If the difference is higher it means
+ * that array size was expanded and num_data_stripes was not updated.
+ */
+- if ((unsigned int)abs(calc_dev_size - dev_size) >
++ if ((unsigned int)abs((int)calc_dev_size - (int)dev_size) >
+ (1 << SECT_PER_MB_SHIFT) * member_disks) {
+ component_size = dev_size / member_disks;
+ dprintf("Invalid num_data_stripes in metadata; expected=%llu, found=%llu\n",
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Disable-gcc8-warnings.patch b/poky/meta/recipes-extended/mdadm/files/0001-Disable-gcc8-warnings.patch
deleted file mode 100644
index 739652cd5..000000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-Disable-gcc8-warnings.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From b83218de2623c0bbe9af355a81ae8385d7f30cfc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 9 May 2018 12:56:41 -0700
-Subject: [PATCH] Disable gcc8 warnings
-
-This is needed until
-https://bugzilla.redhat.com/show_bug.cgi?id=1553958
-
-Fix super0.c issue which is triggered only in DEBUG_BUILD with -O1 (or any
-configuration without -ftree-vrp or with -fno-tree-vrp)
-
-super0.c: In function 'examine_super0':
-super0.c:238:32: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
- snprintf(nb, sizeof(nb), "%4d", d);
- ^
-
-Upstream-Status: Inappropriate [Workaround]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- Monitor.c | 4 +++-
- mdopen.c | 4 ++++
- super-ddf.c | 4 ++++
- super-intel.c | 6 ++++++
- super1.c | 5 +++++
- super0.c | 2 +-
- 6 files changed, 22 insertions(+), 1 deletion(-)
-
-diff --git a/super0.c b/super0.c
-index f5b4507..264b598 100644
---- a/super0.c
-+++ b/super0.c
-@@ -231,7 +231,7 @@
- d++) {
- mdp_disk_t *dp;
- char *dv;
-- char nb[11];
-+ char nb[12];
- int wonly, failfast;
- if (d>=0) dp = &sb->disks[d];
- else dp = &sb->this_disk;
-diff --git a/Monitor.c b/Monitor.c
-index 802a9d9..23b246b 100644
---- a/Monitor.c
-+++ b/Monitor.c
-@@ -441,7 +441,8 @@ static void alert(char *event, char *dev, char *disc, struct alert_info *info)
- event, dev);
- }
- }
--
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-truncation"
- static int check_array(struct state *st, struct mdstat_ent *mdstat,
- int test, struct alert_info *ainfo,
- int increments, char *prefer)
-@@ -683,6 +684,7 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat,
- return 1;
- return 0;
- }
-+#pragma GCC diagnostic pop
-
- static int add_new_arrays(struct mdstat_ent *mdstat, struct state **statelist,
- int test, struct alert_info *info)
-diff --git a/mdopen.c b/mdopen.c
-index 685ca32..406aba4 100644
---- a/mdopen.c
-+++ b/mdopen.c
-@@ -26,6 +26,9 @@
- #include "md_p.h"
- #include <ctype.h>
-
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-truncation"
-+
- void make_parts(char *dev, int cnt)
- {
- /* make 'cnt' partition devices for 'dev'
-@@ -99,6 +102,7 @@ void make_parts(char *dev, int cnt)
- }
- free(name);
- }
-+#pragma GCC diagnostic pop
-
- /*
- * We need a new md device to assemble/build/create an array.
-diff --git a/super-ddf.c b/super-ddf.c
-index 1707ad1..e08d289 100644
---- a/super-ddf.c
-+++ b/super-ddf.c
-@@ -2846,6 +2846,9 @@ static void _set_config_size(struct phys_disk_entry *pde, const struct dl *dl)
- (unsigned long long)cfs, (unsigned long long)(dl->size-cfs));
- }
-
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-overflow"
-+
- /* Add a device to a container, either while creating it or while
- * expanding a pre-existing container
- */
-@@ -2981,6 +2984,7 @@ static int add_to_super_ddf(struct supertype *st,
-
- return 0;
- }
-+#pragma GCC diagnostic pop
-
- static int remove_from_super_ddf(struct supertype *st, mdu_disk_info_t *dk)
- {
-diff --git a/super-intel.c b/super-intel.c
-index 00a2925..44fbead 100644
---- a/super-intel.c
-+++ b/super-intel.c
-@@ -298,6 +298,11 @@ struct md_list {
- };
-
- #define pr_vrb(fmt, arg...) (void) (verbose && pr_err(fmt, ##arg))
-+#pragma GCC diagnostic push
-+# if __GNUC__ == 8
-+# pragma GCC diagnostic ignored "-Wstringop-truncation"
-+# endif
-+#pragma GCC diagnostic ignored "-Wformat-truncation"
-
- static __u8 migr_type(struct imsm_dev *dev)
- {
-@@ -11618,3 +11623,4 @@ struct superswitch super_imsm = {
- .get_bad_blocks = imsm_get_badblocks,
- #endif /* MDASSEMBLE */
- };
-+#pragma GCC diagnostic pop
-diff --git a/super1.c b/super1.c
-index 87a74cb..71c515f 100644
---- a/super1.c
-+++ b/super1.c
-@@ -1091,6 +1091,10 @@ static struct mdinfo *container_content1(struct supertype *st, char *subarray)
- return info;
- }
-
-+#pragma GCC diagnostic push
-+# if __GNUC__ == 8
-+# pragma GCC diagnostic ignored "-Wstringop-truncation"
-+#endif
- static int update_super1(struct supertype *st, struct mdinfo *info,
- char *update,
- char *devname, int verbose,
-@@ -1473,6 +1477,7 @@ static int init_super1(struct supertype *st, mdu_array_info_t *info,
-
- return 1;
- }
-+#pragma GCC diagnostic pop
-
- struct devinfo {
- int fd;
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch b/poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
index a89161404..298f276cd 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
@@ -1,4 +1,4 @@
-From 1f5baf3ad95ae4c39efe4d8ad8b2e642b3a351da Mon Sep 17 00:00:00 2001
+From a9166bf422da1001bac9cc819386bf39b7cd1b73 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Tue, 9 Feb 2016 11:44:01 +0200
Subject: [PATCH] Fix the path of corosync and dlm header files check
@@ -9,28 +9,18 @@ Fix it.
Upstream-Status: Inappropriate [Yocto specific]
Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
-mdadm only works with corosync 2.x which provides header file corosync/cmap.h.
-If build mdadm with corosync 1.x, it fails with:
-
-| member.c:12:27: fatal error: corosync/cmap.h: No such file or directory
-| #include <corosync/cmap.h>
-| ^
-Build with corosync only header file corosync/cmap.h exists.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
-index fd79cfb..34150a9 100644
+index 2767ac6..46bf57b 100644
--- a/Makefile
+++ b/Makefile
-@@ -80,8 +80,8 @@ MDMON_DIR = $(RUN_DIR)
- FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
+@@ -91,8 +91,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
SYSTEMD_DIR=/lib/systemd/system
+ LIB_DIR=/usr/libexec/mdadm
-COROSYNC:=$(shell [ -d /usr/include/corosync ] || echo -DNO_COROSYNC)
-DLM:=$(shell [ -f /usr/include/libdlm.h ] || echo -DNO_DLM)
@@ -39,6 +29,3 @@ index fd79cfb..34150a9 100644
DIRFLAGS = -DMAP_DIR=\"$(MAP_DIR)\" -DMAP_FILE=\"$(MAP_FILE)\"
DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\"
---
-2.4.0
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch b/poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
index a4b7b8acd..12bf6a592 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
@@ -1,4 +1,4 @@
-From a129ee6d80f3b2cda0d827c35fa81a517cf6d505 Mon Sep 17 00:00:00 2001
+From 37c35f94d9d95dbd2b5f8a919f5478be51453590 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 13 Oct 2017 10:27:34 -0700
Subject: [PATCH] Use CC to check for implicit-fallthrough warning support
@@ -8,16 +8,16 @@ its possible that build host gcc is version 7+ but the
cross compile used for compiling mdadm is < version 7
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
+---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index d207ee4..971f255 100644
+index 46bf57b..a075912 100644
--- a/Makefile
+++ b/Makefile
-@@ -48,7 +48,7 @@ ifdef WARN_UNUSED
+@@ -53,7 +53,7 @@ ifdef WARN_UNUSED
CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
endif
@@ -26,6 +26,3 @@ index d207ee4..971f255 100644
ifneq "$(FALLTHROUGH)" "0"
CWFLAGS += -Wimplicit-fallthrough=0
endif
---
-2.14.2
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch b/poky/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
new file mode 100644
index 000000000..fa9c8cc83
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
@@ -0,0 +1,39 @@
+From 3158d3788c2e0fb75ace2c89840bd8a977fb4cb0 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 14 Dec 2018 15:12:31 +0800
+Subject: [PATCH] fix gcc-8 format-truncation warning
+
+While compiling with `-Werror=format-truncation=', it failed
+[snip]
+|super0.c:236:32: error: 'snprintf' output may be truncated
+before the last format character [-Werror=format-truncation=]
+| snprintf(nb, sizeof(nb), "%4d", d);
+| ^
+|super0.c:236:3: note: 'snprintf' output between 5 and 12 bytes
+into a destination of size 11
+| snprintf(nb, sizeof(nb), "%4d", d);
+[snip]
+
+Upstream-Status: Submitted [https://github.com/neilbrown/mdadm/pull/34]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ super0.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/super0.c b/super0.c
+index 756cab5..12c28da 100644
+--- a/super0.c
++++ b/super0.c
+@@ -229,7 +229,7 @@ static void examine_super0(struct supertype *st, char *homehost)
+ d++) {
+ mdp_disk_t *dp;
+ char *dv;
+- char nb[11];
++ char nb[12];
+ int wonly, failfast;
+ if (d>=0) dp = &sb->disks[d];
+ else dp = &sb->this_disk;
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch b/poky/meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
deleted file mode 100644
index acd64ada2..000000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 943616e5dffb79f307e4bd9b249d316212998750 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 18 Dec 2016 08:30:51 +0000
-Subject: [PATCH] include <sys/sysmacros.h> for major/minor defintions
-
-glibc 2.25 is warning about it if applications depend on
-sys/types.h for these macros, it expects to be included
-from <sys/sysmacros.h>
-
-Fixes
-| Grow.c:3534:13: error: In the GNU C Library, "minor" is defined
-| by <sys/sysmacros.h>. For historical compatibility, it is
-| currently defined by <sys/types.h> as well, but we plan to
-| remove this soon. To use "minor", include <sys/sysmacros.h>
-| directly. If you did not intend to use a system-defined macro
-| "minor", you should undefine it after including <sys/types.h>. [-Werror]
-| Query.c: In function 'Query':
-| Query.c:105:13: error: In the GNU C Library, "makedev" is defined
-| by <sys/sysmacros.h>. For historical compatibility, it is
-| currently defined by <sys/types.h> as well, but we plan to
-| remove this soon. To use "makedev", include <sys/sysmacros.h>
-| directly. If you did not intend to use a system-defined macro
-| "makedev", you should undefine it after including <sys/types.h>. [-Werror]
-| makedev((unsigned)disc.major,(unsigned)disc.minor) == stb.st_rdev)
-| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- mdadm.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/mdadm.h b/mdadm.h
-index 8c8f4d1..3ce13b5 100755
---- a/mdadm.h
-+++ b/mdadm.h
-@@ -34,6 +34,7 @@ extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
- #endif
-
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <stdint.h>
- #include <stdlib.h>
---
-1.9.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch
deleted file mode 100644
index ce15170c7..000000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From aa09af0fe2ec0737fa04ffd00957532684e257b9 Mon Sep 17 00:00:00 2001
-From: Xiao Ni <xni@redhat.com>
-Date: Fri, 17 Mar 2017 19:55:42 +0800
-Subject: [PATCH 1/5] mdadm: Add Wimplicit-fallthrough=0 in Makefile
-
-There are many errors like 'error: this statement may fall through'.
-But the logic is right. So add the flag Wimplicit-fallthrough=0
-to disable the error messages. The method I use is from
-https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
-#index-Wimplicit-fallthrough-375
-
-Signed-off-by: Xiao Ni <xni@redhat.com>
-Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
----
-Upstream-Status: Backport
- Makefile | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 0f307ec..e1a7058 100644
---- a/Makefile
-+++ b/Makefile
-@@ -48,6 +48,11 @@ ifdef WARN_UNUSED
- CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
- endif
-
-+FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
-+ifneq "$(FALLTHROUGH)" "0"
-+CWFLAGS += -Wimplicit-fallthrough=0
-+endif
-+
- ifdef DEBIAN
- CPPFLAGS += -DDEBIAN
- endif
---
-2.12.2
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch
new file mode 100644
index 000000000..237f83a87
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch
@@ -0,0 +1,60 @@
+From bf457a83834932ba06de3528b8779a023e73fa7b Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 12 Mar 2019 16:17:29 +0800
+Subject: [PATCH] mdadm: gcc8 maybe-uninitialized/format-overflow warning
+
+while compiled with -Werror=maybe-uninitialized/-Werror=format-overflow=,
+it failed
+
+[snip]
+| Incremental.c: In function 'Incremental_container':
+| Incremental.c:1593:3: error: 'mdfd' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+| close(mdfd);
+| ^~~~~~~~~~~
+
+[snip]
+super-intel.c: In function 'apply_takeover_update':
+| super-intel.c:9615:15: error: '%d' directive writing between 1 and 11 bytes into a region of size 7 [-Werror=format-overflow=]
+| " MISSING_%d", du->index);
+| ^~
+
+Upstream-Status: Submitted [https://github.com/neilbrown/mdadm/pull/36]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Incremental.c | 2 +-
+ super-intel.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Incremental.c b/Incremental.c
+index a4ff7d4..b667868 100644
+--- a/Incremental.c
++++ b/Incremental.c
+@@ -1500,7 +1500,7 @@ static int Incremental_container(struct supertype *st, char *devname,
+ return 0;
+ }
+ for (ra = list ; ra ; ra = ra->next) {
+- int mdfd;
++ int mdfd = 0;
+ char chosen_name[1024];
+ struct map_ent *mp;
+ struct mddev_ident *match = NULL;
+diff --git a/super-intel.c b/super-intel.c
+index 10d7218..c3741ea 100644
+--- a/super-intel.c
++++ b/super-intel.c
+@@ -9612,9 +9612,9 @@ static int apply_takeover_update(struct imsm_update_takeover *u,
+ du->major = 0;
+ du->index = (i * 2) + 1;
+ sprintf((char *)du->disk.serial,
+- " MISSING_%d", du->index);
++ " MISSING_%hu", du->index);
+ sprintf((char *)du->serial,
+- "MISSING_%d", du->index);
++ "MISSING_%hu", du->index);
+ du->next = super->missing;
+ super->missing = du;
+ }
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
index 4cf809290..a1e7e5932 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
@@ -1,4 +1,4 @@
-From 6d369e8f226594632ce4260129509daf7030de0a Mon Sep 17 00:00:00 2001
+From b431cb4e1ed060122fa300dc0008f74080d38f73 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 9 May 2016 22:03:57 +0000
Subject: [PATCH] mdadm.h: Undefine dprintf before redefining
@@ -14,17 +14,16 @@ In file included from policy.c:25:
/mnt/oe/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/bits/stdio2.h:145:12: note: previous definition is here
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
-
+---
mdadm.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mdadm.h b/mdadm.h
-index 230e60f..8c8f4d1 100755
+index 387e681..bb943bf 100644
--- a/mdadm.h
+++ b/mdadm.h
-@@ -1554,11 +1554,13 @@ static inline char *to_subarray(struct mdstat_ent *ent, char *container)
+@@ -1649,11 +1649,13 @@ static inline char *to_subarray(struct mdstat_ent *ent, char *container)
}
#ifdef DEBUG
@@ -38,6 +37,3 @@ index 230e60f..8c8f4d1 100755
#define dprintf(fmt, arg...) \
({ if (0) fprintf(stderr, "%s: %s: " fmt, Name, __func__, ##arg); 0; })
#define dprintf_cont(fmt, arg...) \
---
-1.9.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch b/poky/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch
deleted file mode 100644
index 44351b656..000000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ab18f04cf89ef4e8521c81c50477e1363b2d333b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 28 Apr 2018 09:46:12 -0700
-Subject: [PATCH] use memmove instead of memcpy on overlapping region
-
-Fixes
-super0.c:526:3: error: 'memcpy' accessing 3936 bytes at offsets 156 and 160 overlaps 3932 bytes at offset 160 [-Werror=restrict]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- super0.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/super0.c b/super0.c
-index f5b4507..264b598 100644
---- a/super0.c
-+++ b/super0.c
-@@ -523,7 +523,7 @@ static int update_super0(struct supertype *st, struct mdinfo *info,
- * up 4 bytes before continuing
- */
- __u32 *sb32 = (__u32*)sb;
-- memcpy(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7,
-+ memmove(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7,
- sb32+MD_SB_GENERIC_CONSTANT_WORDS+7+1,
- (MD_SB_WORDS - (MD_SB_GENERIC_CONSTANT_WORDS+7+1))*4);
- if (verbose >= 0)
---
-2.17.0
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch b/poky/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch
deleted file mode 100644
index cbce053a3..000000000
--- a/poky/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From bb4df273041ba206008bdb0ada75ccd97c29f623 Mon Sep 17 00:00:00 2001
-From: Xiao Ni <xni@redhat.com>
-Date: Fri, 17 Mar 2017 19:55:43 +0800
-Subject: [PATCH 2/5] mdadm: Specify enough length when write to buffer
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In Detail.c the buffer path in function Detail is defined as path[200],
-in fact the max lenth of content which needs to write to the buffer is
-287. Because the length of dname of struct dirent is 255.
-During building it reports error:
-error: â€%s’ directive writing up to 255 bytes into a region of size 189
-[-Werror=format-overflow=]
-
-In function examine_super0 there is a buffer nb with length 5.
-But it need to show a int type argument. The lenght of max
-number of int is 10. So the buffer length should be 11.
-
-In human_size function the length of buf is 30. During building
-there is a error:
-output between 20 and 47 bytes into a destination of size 30.
-Change the length to 47.
-
-Signed-off-by: Xiao Ni <xni@redhat.com>
-Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
----
-Upstream-Status: Backport
- Detail.c | 2 +-
- super0.c | 2 +-
- util.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Detail.c b/Detail.c
-index 509b0d4..cb33794 100644
---- a/Detail.c
-+++ b/Detail.c
-@@ -575,7 +575,7 @@ This is pretty boring
- printf(" Member Arrays :");
-
- while (dir && (de = readdir(dir)) != NULL) {
-- char path[200];
-+ char path[287];
- char vbuf[1024];
- int nlen = strlen(sra->sys_name);
- dev_t devid;
-diff --git a/super0.c b/super0.c
-index 938cfd9..f5b4507 100644
---- a/super0.c
-+++ b/super0.c
-@@ -231,7 +231,7 @@ static void examine_super0(struct supertype *st, char *homehost)
- d++) {
- mdp_disk_t *dp;
- char *dv;
-- char nb[5];
-+ char nb[11];
- int wonly, failfast;
- if (d>=0) dp = &sb->disks[d];
- else dp = &sb->this_disk;
-diff --git a/util.c b/util.c
-index f100972..32bd909 100644
---- a/util.c
-+++ b/util.c
-@@ -811,7 +811,7 @@ unsigned long calc_csum(void *super, int bytes)
- #ifndef MDASSEMBLE
- char *human_size(long long bytes)
- {
-- static char buf[30];
-+ static char buf[47];
-
- /* We convert bytes to either centi-M{ega,ibi}bytes or
- * centi-G{igi,ibi}bytes, with appropriate rounding,
---
-2.12.2
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch b/poky/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch
deleted file mode 100644
index dcec84ffc..000000000
--- a/poky/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From bc87af1314325b00c6ac002a60a2b0f0caa81e34 Mon Sep 17 00:00:00 2001
-From: Xiao Ni <xni@redhat.com>
-Date: Sat, 18 Mar 2017 10:33:44 +0800
-Subject: [PATCH 3/5] Replace snprintf with strncpy at some places to avoid
- truncation
-
-In gcc7 there are some building errors like:
-directive output may be truncated writing up to 31 bytes into a region of size 24
-snprintf(str, MPB_SIG_LEN, %s, mpb->sig);
-
-It just need to copy one string to target. So use strncpy to replace it.
-
-For this line code: snprintf(str, MPB_SIG_LEN, %s, mpb->sig);
-Because mpb->sig has the content of version after magic, so
-it's better to use strncpy to replace snprintf too.
-
-Signed-off-by: Xiao Ni <xni@redhat.com>
-Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
----
-Upstream-Status: Backport
- super-intel.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/super-intel.c b/super-intel.c
-index 57c7e75..5499098 100644
---- a/super-intel.c
-+++ b/super-intel.c
-@@ -1811,7 +1811,8 @@ static void examine_super_imsm(struct supertype *st, char *homehost)
- __u32 reserved = imsm_reserved_sectors(super, super->disks);
- struct dl *dl;
-
-- snprintf(str, MPB_SIG_LEN, "%s", mpb->sig);
-+ strncpy(str, (char *)mpb->sig, MPB_SIG_LEN);
-+ str[MPB_SIG_LEN-1] = '\0';
- printf(" Magic : %s\n", str);
- snprintf(str, strlen(MPB_VERSION_RAID0), "%s", get_imsm_version(mpb));
- printf(" Version : %s\n", get_imsm_version(mpb));
-@@ -7142,14 +7143,16 @@ static int update_subarray_imsm(struct supertype *st, char *subarray,
-
- u->type = update_rename_array;
- u->dev_idx = vol;
-- snprintf((char *) u->name, MAX_RAID_SERIAL_LEN, "%s", name);
-+ strncpy((char *) u->name, name, MAX_RAID_SERIAL_LEN);
-+ u->name[MAX_RAID_SERIAL_LEN-1] = '\0';
- append_metadata_update(st, u, sizeof(*u));
- } else {
- struct imsm_dev *dev;
- int i;
-
- dev = get_imsm_dev(super, vol);
-- snprintf((char *) dev->volume, MAX_RAID_SERIAL_LEN, "%s", name);
-+ strncpy((char *) dev->volume, name, MAX_RAID_SERIAL_LEN);
-+ dev->volume[MAX_RAID_SERIAL_LEN-1] = '\0';
- for (i = 0; i < mpb->num_raid_devs; i++) {
- dev = get_imsm_dev(super, i);
- handle_missing(super, dev);
---
-2.12.2
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch b/poky/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch
deleted file mode 100644
index 94fde42e9..000000000
--- a/poky/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5da889032e2d99751ed9fe60016146e9ae8114cd Mon Sep 17 00:00:00 2001
-From: Xiao Ni <xni@redhat.com>
-Date: Sat, 18 Mar 2017 10:33:45 +0800
-Subject: [PATCH 4/5] mdadm: Forced type conversion to avoid truncation
-
-Gcc reports it needs 19 bytes to right to disk->serial. Because the
-type of argument i is int. But the meaning of i is failed disk
-number. So it doesn't need to use 19 bytes. Just add a type
-conversion to avoid this building error
-
-Signed-off-by: Xiao Ni <xni@redhat.com>
-Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
----
-Upstream-Status: Backport
- super-intel.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/super-intel.c b/super-intel.c
-index 5499098..4e466ff 100644
---- a/super-intel.c
-+++ b/super-intel.c
-@@ -5228,7 +5228,7 @@ static int init_super_imsm_volume(struct supertype *st, mdu_array_info_t *info,
- disk->status = CONFIGURED_DISK | FAILED_DISK;
- disk->scsi_id = __cpu_to_le32(~(__u32)0);
- snprintf((char *) disk->serial, MAX_RAID_SERIAL_LEN,
-- "missing:%d", i);
-+ "missing:%d", (__u8)i);
- }
- find_missing(super);
- } else {
---
-2.12.2
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch b/poky/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch
deleted file mode 100644
index 3d9d3b904..000000000
--- a/poky/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 09014233bf10900f7bd8390b3b64ff82bca45222 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 Apr 2017 12:04:15 -0700
-Subject: [PATCH 5/5] Add a comment to indicate valid fallthrough
-
-gcc7 warns about code with fallthroughs, this patch adds
-the comment to indicate a valid fallthrough, helps gcc7
-compiler warnings
-
-This works in cross and native compilation case
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- Grow.c | 4 ++++
- bitmap.c | 8 ++++++++
- mdadm.c | 2 ++
- super-intel.c | 1 +
- util.c | 1 +
- 5 files changed, 16 insertions(+)
-
-diff --git a/Grow.c b/Grow.c
-index 455c5f9..27c73b1 100755
---- a/Grow.c
-+++ b/Grow.c
-@@ -1257,6 +1257,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
- switch (info->new_level) {
- case 4:
- delta_parity = 1;
-+ /* fallthrough */
- case 0:
- re->level = 4;
- re->before.layout = 0;
-@@ -1284,10 +1285,12 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
-
- case 4:
- info->array.layout = ALGORITHM_PARITY_N;
-+ /* fallthrough */
- case 5:
- switch (info->new_level) {
- case 0:
- delta_parity = -1;
-+ /* fallthrough */
- case 4:
- re->level = info->array.level;
- re->before.data_disks = info->array.raid_disks - 1;
-@@ -1343,6 +1346,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
- case 4:
- case 5:
- delta_parity = -1;
-+ /* fallthrough */
- case 6:
- re->level = 6;
- re->before.data_disks = info->array.raid_disks - 2;
-diff --git a/bitmap.c b/bitmap.c
-index ccedfd3..a6ff091 100644
---- a/bitmap.c
-+++ b/bitmap.c
-@@ -82,13 +82,21 @@ static inline int count_dirty_bits_byte(char byte, int num_bits)
-
- switch (num_bits) { /* fall through... */
- case 8: if (byte & 128) num++;
-+ /* fallthrough */
- case 7: if (byte & 64) num++;
-+ /* fallthrough */
- case 6: if (byte & 32) num++;
-+ /* fallthrough */
- case 5: if (byte & 16) num++;
-+ /* fallthrough */
- case 4: if (byte & 8) num++;
-+ /* fallthrough */
- case 3: if (byte & 4) num++;
-+ /* fallthrough */
- case 2: if (byte & 2) num++;
-+ /* fallthrough */
- case 1: if (byte & 1) num++;
-+ /* fallthrough */
- default: break;
- }
-
-diff --git a/mdadm.c b/mdadm.c
-index c3a265b..2d06d3b 100644
---- a/mdadm.c
-+++ b/mdadm.c
-@@ -148,6 +148,7 @@ int main(int argc, char *argv[])
- mode == CREATE || mode == GROW ||
- mode == INCREMENTAL || mode == MANAGE)
- break; /* b means bitmap */
-+ /* fallthrough */
- case Brief:
- c.brief = 1;
- continue;
-@@ -828,6 +829,7 @@ int main(int argc, char *argv[])
-
- case O(INCREMENTAL,NoDegraded):
- pr_err("--no-degraded is deprecated in Incremental mode\n");
-+ /* fallthrough */
- case O(ASSEMBLE,NoDegraded): /* --no-degraded */
- c.runstop = -1; /* --stop isn't allowed for --assemble,
- * so we overload slightly */
-diff --git a/super-intel.c b/super-intel.c
-index 4e466ff..00a2925 100644
---- a/super-intel.c
-+++ b/super-intel.c
-@@ -3271,6 +3271,7 @@ static void getinfo_super_imsm_volume(struct supertype *st, struct mdinfo *info,
- << SECT_PER_MB_SHIFT;
- }
- }
-+ /* fallthrough */
- case MIGR_VERIFY:
- /* we could emulate the checkpointing of
- * 'sync_action=check' migrations, but for now
-diff --git a/util.c b/util.c
-index 32bd909..f2a4d19 100644
---- a/util.c
-+++ b/util.c
-@@ -335,6 +335,7 @@ unsigned long long parse_size(char *size)
- switch (*c) {
- case 'K':
- c++;
-+ /* fallthrough */
- default:
- s *= 2;
- break;
---
-2.12.2
-
diff --git a/poky/meta/recipes-extended/mdadm/files/gcc-4.9.patch b/poky/meta/recipes-extended/mdadm/files/gcc-4.9.patch
deleted file mode 100644
index df21399de..000000000
--- a/poky/meta/recipes-extended/mdadm/files/gcc-4.9.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-super-intel.c:5063:2: error: right-hand operand of comma expression has no effect [-Werror=unused-value]
- snprintf((char *) spare->sig, MAX_SIGNATURE_LENGTH,
- ^
-cc1: all warnings being treated as errors
-make: *** [super-intel.o] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: mdadm-4.0/super-intel.c
-===================================================================
---- mdadm-4.0.orig/super-intel.c
-+++ mdadm-4.0/super-intel.c
-@@ -5725,7 +5725,7 @@ static int write_super_imsm_spares(struc
- spare->cache_size = mpb->cache_size;
- spare->pwr_cycle_count = __cpu_to_le32(1);
-
-- snprintf((char *) spare->sig, MAX_SIGNATURE_LENGTH,
-+ (void)snprintf((char *) spare->sig, MAX_SIGNATURE_LENGTH,
- MPB_SIGNATURE MPB_VERSION_RAID0);
-
- for (d = super->disks; d; d = d->next) {
diff --git a/poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch b/poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
index 00e6657e0..7a2c88870 100644
--- a/poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
+++ b/poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
@@ -1,3 +1,11 @@
+From e37f7f6a0f1ef1b594574d11a8b90b8c861d047b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Sun, 15 Mar 2015 09:02:14 +0000
+Subject: [PATCH] mdadm: Fix build in x32 ABI
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
When try to print time_t values as a long int it causes an error because time_t
data type in x32 ABI is long long int.
@@ -5,11 +13,15 @@ Upstream-Status: Pending
Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
-Index: mdadm-4.0/monitor.c
-===================================================================
---- mdadm-4.0.orig/monitor.c
-+++ mdadm-4.0/monitor.c
-@@ -445,9 +445,12 @@ static int read_and_act(struct active_ar
+---
+ monitor.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/monitor.c b/monitor.c
+index 81537ed..7c33382 100644
+--- a/monitor.c
++++ b/monitor.c
+@@ -445,9 +445,12 @@ static int read_and_act(struct active_array *a, fd_set *fds)
if (FD_ISSET(mdi->bb_fd, fds))
check_for_cleared_bb(a, mdi);
}
diff --git a/poky/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch b/poky/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch
index 267c007c2..8e2a8a904 100644
--- a/poky/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch
+++ b/poky/meta/recipes-extended/mdadm/files/mdadm-fix-ptest-build-errors.patch
@@ -1,4 +1,4 @@
-From c65898b9da82df94e1bae7937e415a7eb80355d5 Mon Sep 17 00:00:00 2001
+From 911f6ea9be0c334885aeff66853b111cbd4066df Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Wed, 10 Feb 2016 17:28:05 +0200
Subject: [PATCH] mdadm-fix-ptest-build-errors
@@ -16,15 +16,16 @@ builds fail with ptest enabled:
Upstream-Status: Pending
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
restripe.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/restripe.c b/restripe.c
-index 56dca73..d24b2b4 100644
+index 31b07e8..592ba5d 100644
--- a/restripe.c
+++ b/restripe.c
-@@ -842,10 +842,14 @@ int test_stripes(int *source, unsigned long long *offsets,
+@@ -864,10 +864,14 @@ int test_stripes(int *source, unsigned long long *offsets,
while (length > 0) {
int disk;
@@ -40,6 +41,3 @@ index 56dca73..d24b2b4 100644
}
for (i = 0 ; i < data_disks ; i++) {
int disk = geo_map(i, start/chunk_size, raid_disks,
---
-2.4.0
-
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.0.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.0.bb
deleted file mode 100644
index 8155ae41b..000000000
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.0.bb
+++ /dev/null
@@ -1,93 +0,0 @@
-SUMMARY = "Tool for managing software RAID under Linux"
-HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
-
-# Some files are GPLv2+ while others are GPLv2.
-LICENSE = "GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
- file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
-
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
- file://gcc-4.9.patch \
- file://mdadm-3.3.2_x32_abi_time_t.patch \
- file://mdadm-fix-ptest-build-errors.patch \
- file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
- file://run-ptest \
- file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
- file://0001-include-sys-sysmacros.h-for-major-minor-defintions.patch \
- file://0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch \
- file://0002-mdadm-Specify-enough-length-when-write-to-buffer.patch \
- file://0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch \
- file://0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch \
- file://0005-Add-a-comment-to-indicate-valid-fallthrough.patch \
- file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
- file://0001-use-memmove-instead-of-memcpy-on-overlapping-region.patch \
- file://0001-Disable-gcc8-warnings.patch \
- file://mdadm.init \
- file://mdmonitor.service \
- "
-SRC_URI[md5sum] = "2cb4feffea9167ba71b5f346a0c0a40d"
-SRC_URI[sha256sum] = "1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9"
-
-CFLAGS += "-fno-strict-aliasing"
-inherit autotools-brokensep systemd
-
-EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"'
-# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
-# prevents 64-bit userland from seeing this definition, instead defaulting
-# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
-# int-ll64.h included
-CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
-CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
-CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
-
-do_compile() {
- # Point to right sbindir
- sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" ${S}/Makefile
- oe_runmake SYSROOT="${STAGING_DIR_TARGET}"
-}
-
-do_install() {
- export STRIP=""
- autotools_do_install
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/
- install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${S}/systemd/mdmonitor.service ${D}/${systemd_unitdir}/system
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor
-}
-
-SYSTEMD_SERVICE_${PN} = "mdmonitor.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_compile_ptest() {
- oe_runmake test
-}
-
-do_install_ptest() {
- cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
- cp ${S}/test ${D}${PTEST_PATH}
- sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/!g' -i ${D}${PTEST_PATH}/test
- ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
- for prg in test_stripe swap_super raid6check
- do
- install -D -m 755 $prg ${D}${PTEST_PATH}/
- done
-}
-
-RDEPENDS_${PN}-ptest += "bash"
-RRECOMMENDS_${PN}-ptest += " \
- coreutils \
- util-linux \
- kernel-module-loop \
- kernel-module-linear \
- kernel-module-raid0 \
- kernel-module-raid1 \
- kernel-module-raid10 \
- kernel-module-raid456 \
-"
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
new file mode 100644
index 000000000..9862a38dc
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -0,0 +1,92 @@
+SUMMARY = "Tool for managing software RAID under Linux"
+HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
+
+# Some files are GPLv2+ while others are GPLv2.
+LICENSE = "GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
+ file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
+
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
+ file://run-ptest \
+ file://mdadm-3.3.2_x32_abi_time_t.patch \
+ file://mdadm-fix-ptest-build-errors.patch \
+ file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
+ file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
+ file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
+ file://0001-Compute-abs-diff-in-a-standard-compliant-way.patch \
+ file://0001-fix-gcc-8-format-truncation-warning.patch \
+ file://mdadm.init \
+ file://mdmonitor.service \
+ file://0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch \
+ "
+SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598"
+SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a"
+
+inherit autotools-brokensep ptest systemd
+
+SYSTEMD_SERVICE_${PN} = "mdmonitor.service mdmon@.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+CFLAGS_append_toolchain-clang = " -Wno-error=address-of-packed-member"
+
+# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
+# prevents 64-bit userland from seeing this definition, instead defaulting
+# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
+# int-ll64.h included
+CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
+CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
+
+EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"'
+
+DEBUG_OPTIMIZATION_append = " -Wno-error"
+
+do_compile() {
+ # Point to right sbindir
+ sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" ${S}/Makefile
+ oe_runmake SYSROOT="${STAGING_DIR_TARGET}"
+}
+
+do_install() {
+ export STRIP=""
+ autotools_do_install
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/
+ install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/mdmonitor.service ${D}/${systemd_unitdir}/system
+ install -m 644 ${S}/systemd/mdmon@.service ${D}/${systemd_unitdir}/system
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor
+}
+
+do_compile_ptest() {
+ oe_runmake test
+}
+
+do_install_ptest() {
+ cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
+ cp ${S}/test ${D}${PTEST_PATH}
+ sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/!g' -i ${D}${PTEST_PATH}/test
+ ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
+ for prg in test_stripe swap_super raid6check
+ do
+ install -D -m 755 $prg ${D}${PTEST_PATH}/
+ done
+}
+
+RDEPENDS_${PN}-ptest += "bash"
+RRECOMMENDS_${PN}-ptest += " \
+ coreutils \
+ util-linux \
+ kernel-module-loop \
+ kernel-module-linear \
+ kernel-module-raid0 \
+ kernel-module-raid1 \
+ kernel-module-raid10 \
+ kernel-module-raid456 \
+"
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
new file mode 100644
index 000000000..611e0cafc
--- /dev/null
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
@@ -0,0 +1,57 @@
+#
+# Copyright (C) 2019 Konsulko Group
+#
+
+SUMMARY = "Full-featured set of base utils"
+DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox"
+
+inherit packagegroup
+
+VIRTUAL-RUNTIME_vim ?= "vim-tiny"
+
+RDEPENDS_${PN} = "\
+ base-passwd \
+ bash \
+ bind-utils \
+ bzip2 \
+ coreutils \
+ cpio \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "debianutils-run-parts", d)} \
+ dhcp-client \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "dhcp-server", d)} \
+ diffutils \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "dpkg-start-stop", d)} \
+ e2fsprogs \
+ ed \
+ file \
+ findutils \
+ gawk \
+ grep \
+ gzip \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "ifupdown", d)} \
+ inetutils \
+ inetutils-ping \
+ inetutils-telnet \
+ inetutils-tftp \
+ inetutils-traceroute \
+ iproute2 \
+ ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "kbd", "", d)} \
+ kmod \
+ less \
+ ncurses-tools \
+ net-tools \
+ parted \
+ patch \
+ procps \
+ psmisc \
+ sed \
+ shadow-base \
+ tar \
+ time \
+ unzip \
+ util-linux \
+ ${VIRTUAL-RUNTIME_vim} \
+ wget \
+ which \
+ xz \
+ "
diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.0.bb b/poky/meta/recipes-extended/pam/libpam_1.3.0.bb
index cc1241020..c124e3bb0 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.3.0.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.3.0.bb
@@ -122,7 +122,7 @@ python populate_packages_prepend () {
pam_filterdir = d.expand('${base_libdir}/security/pam_filter')
pam_pkgname = mlprefix + 'pam-plugin%s'
- do_split_packages(d, pam_libdir, '^pam(.*)\.so$', pam_pkgname,
+ do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname,
'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='')
pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_chkpwd')
pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_update')
@@ -131,7 +131,7 @@ python populate_packages_prepend () {
pam_plugin_append_file('%spam-plugin-timestamp' % mlprefix, pam_sbindir, 'pam_timestamp_check')
pam_plugin_append_file('%spam-plugin-mkhomedir' % mlprefix, pam_sbindir, 'mkhomedir_helper')
pam_plugin_append_file('%spam-plugin-console' % mlprefix, pam_sbindir, 'pam_console_apply')
- do_split_packages(d, pam_filterdir, '^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='')
+ do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='')
}
do_install() {
diff --git a/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb b/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
index fa9f9954b..57c407e0f 100644
--- a/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
+++ b/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
@@ -23,5 +23,5 @@ inherit cpan ptest-perl
RDEPENDS_${PN}-ptest += "perl-module-test-more"
-BBCLASSEXTEND="native"
+BBCLASSEXTEND="native nativesdk"
diff --git a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
index b3e01e9ac..373b522d6 100644
--- a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
+++ b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
@@ -21,4 +21,4 @@ S = "${WORKDIR}/XML-SAX-Base-${PV}"
inherit cpan ptest-perl
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb
index 141830efe..eccd0ad6b 100644
--- a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb
+++ b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb
@@ -29,4 +29,4 @@ do_install_ptest() {
chown -R root:root ${D}${PTEST_PATH}/testfiles
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch b/poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
index b57a006bc..ca13bdbd1 100644
--- a/poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
+++ b/poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
@@ -1,4 +1,4 @@
-From 5dc872bb2fba6421cb8e1ee578f7bd4aaed55f61 Mon Sep 17 00:00:00 2001
+From 115fcf1daff18aa2f2e130d63704f04031878db0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 24 Mar 2016 15:46:14 +0000
Subject: [PATCH] Use UINTPTR_MAX instead of __WORDSIZE
@@ -7,14 +7,13 @@ Do not include sys/user.h since it conflicts with
pt_regs struct from kernel APIs in asm/ptrace.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
-
+---
src/peekfd.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/peekfd.c b/src/peekfd.c
-index cba2130..0d39878 100644
+index 5aa990a..7e8e3fc 100644
--- a/src/peekfd.c
+++ b/src/peekfd.c
@@ -30,8 +30,11 @@
@@ -28,8 +27,8 @@ index cba2130..0d39878 100644
+#include <stdint.h>
#include <getopt.h>
#include <ctype.h>
-
-@@ -228,11 +231,11 @@ int main(int argc, char **argv)
+ #include <dirent.h>
+@@ -266,11 +269,11 @@ int main(int argc, char **argv)
if (WIFSTOPPED(status)) {
#ifdef PPC
struct pt_regs regs;
@@ -46,6 +45,3 @@ index cba2130..0d39878 100644
#elif defined(ARM)
struct pt_regs regs;
ptrace(PTRACE_GETREGS, pid, 0, &regs);
---
-1.9.1
-
diff --git a/poky/meta/recipes-extended/psmisc/psmisc_23.1.bb b/poky/meta/recipes-extended/psmisc/psmisc_23.1.bb
deleted file mode 100644
index f07c9db1e..000000000
--- a/poky/meta/recipes-extended/psmisc/psmisc_23.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require psmisc.inc
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https \
- file://0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch \
- file://0001-Makefile.am-create-src-directory-before-attempting-t.patch \
- "
-SRCREV = "bd952b3063f2466ecab4ec093026cf0c4ce373c7"
-S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/psmisc/psmisc_23.2.bb b/poky/meta/recipes-extended/psmisc/psmisc_23.2.bb
new file mode 100644
index 000000000..38e0a4405
--- /dev/null
+++ b/poky/meta/recipes-extended/psmisc/psmisc_23.2.bb
@@ -0,0 +1,10 @@
+require psmisc.inc
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https \
+ file://0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch \
+ file://0001-Makefile.am-create-src-directory-before-attempting-t.patch \
+ "
+SRCREV = "44eab9a3a63394eae6b79a7ef0a042f57e0c8a8f"
+S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch b/poky/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch
deleted file mode 100644
index bf7aaef5a..000000000
--- a/poky/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-From 7ea36eeece56b59f98e469934e4c20b4da043346 Mon Sep 17 00:00:00 2001
-From: Doran Moppert <dmoppert@redhat.com>
-Date: Thu, 11 May 2017 11:42:54 -0400
-Subject: [PATCH] rpcbind: pair all svc_getargs() calls with svc_freeargs() to
- avoid memory leak
-
-This patch is to address CVE-2017-8779 "rpcbomb" in rpcbind, discussed
-at [1], [2], [3]. The last link suggests this issue is actually a bug
-in rpcbind, which led me here.
-
-The leak caused by the reproducer at [4] appears to come from
-rpcb_service_4(), in the case where svc_getargs() returns false and the
-function had an early return, rather than passing through the cleanup
-path at done:, as would otherwise occur.
-
-It also addresses a couple of other locations where the same fault seems
-to exist, though I haven't been able to exercise those. I hope someone
-more intimate with rpc(3) can confirm my understanding is correct, and
-that I haven't introduced any new bugs.
-
-Without this patch, using the reproducer (and variants) repeatedly
-against rpcbind with a numBytes argument of 1_000_000_000, /proc/$(pidof
-rpcbind)/status reports VmSize increase of 976564 kB each call, and
-VmRSS increase of around 260 kB every 33 calls - the specific numbers
-are probably an artifact of my rhel/glibc version. With the patch,
-there is a small (~50 kB) VmSize increase with the first message, but
-thereafter both VmSize and VmRSS remain steady.
-
-[1]: http://seclists.org/oss-sec/2017/q2/209
-[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1448124
-[3]: https://sourceware.org/ml/libc-alpha/2017-05/msg00129.html
-[4]: https://github.com/guidovranken/rpcbomb/
-
-
-CVE: CVE-2017-8779
-Upstream-Status: Backport
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
----
- src/pmap_svc.c | 56 +++++++++++++++++++++++++++++++++++++++++++++---------
- src/rpcb_svc.c | 2 +-
- src/rpcb_svc_4.c | 2 +-
- src/rpcb_svc_com.c | 8 ++++++++
- 4 files changed, 57 insertions(+), 11 deletions(-)
-
-diff --git a/src/pmap_svc.c b/src/pmap_svc.c
-index 4c744fe..e926cdc 100644
---- a/src/pmap_svc.c
-+++ b/src/pmap_svc.c
-@@ -175,6 +175,7 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long
- long ans;
- uid_t uid;
- char uidbuf[32];
-+ int rc = TRUE;
-
- /*
- * Can't use getpwnam here. We might end up calling ourselves
-@@ -194,7 +195,8 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long
-
- if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (char *)&reg)) {
- svcerr_decode(xprt);
-- return (FALSE);
-+ rc = FALSE;
-+ goto done;
- }
- #ifdef RPCBIND_DEBUG
- if (debugging)
-@@ -205,7 +207,8 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long
-
- if (!check_access(xprt, op, reg.pm_prog, PMAPVERS)) {
- svcerr_weakauth(xprt);
-- return (FALSE);
-+ rc = (FALSE);
-+ goto done;
- }
-
- rpcbreg.r_prog = reg.pm_prog;
-@@ -258,7 +261,16 @@ done_change:
- rpcbs_set(RPCBVERS_2_STAT, ans);
- else
- rpcbs_unset(RPCBVERS_2_STAT, ans);
-- return (TRUE);
-+done:
-+ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)&reg)) {
-+ if (debugging) {
-+ /*(void) xlog(LOG_DEBUG, "unable to free arguments\n");*/
-+ if (doabort) {
-+ rpcbind_abort();
-+ }
-+ }
-+ }
-+ return (rc);
- }
-
- /* ARGSUSED */
-@@ -272,15 +284,18 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
- #ifdef RPCBIND_DEBUG
- char *uaddr;
- #endif
-+ int rc = TRUE;
-
- if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (char *)&reg)) {
- svcerr_decode(xprt);
-- return (FALSE);
-+ rc = FALSE;
-+ goto done;
- }
-
- if (!check_access(xprt, PMAPPROC_GETPORT, reg.pm_prog, PMAPVERS)) {
- svcerr_weakauth(xprt);
-- return FALSE;
-+ rc = FALSE;
-+ goto done;
- }
-
- #ifdef RPCBIND_DEBUG
-@@ -330,21 +345,34 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
- pmap_ipprot2netid(reg.pm_prot) ?: "<unknown>",
- port ? udptrans : "");
-
-- return (TRUE);
-+done:
-+ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)&reg)) {
-+ if (debugging) {
-+ /* (void) xlog(LOG_DEBUG, "unable to free arguments\n");*/
-+ if (doabort) {
-+ rpcbind_abort();
-+ }
-+ }
-+ }
-+ return (rc);
- }
-
- /* ARGSUSED */
- static bool_t
- pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
- {
-+ int rc = TRUE;
-+
- if (!svc_getargs(xprt, (xdrproc_t)xdr_void, NULL)) {
- svcerr_decode(xprt);
-- return (FALSE);
-+ rc = FALSE;
-+ goto done;
- }
-
- if (!check_access(xprt, PMAPPROC_DUMP, 0, PMAPVERS)) {
- svcerr_weakauth(xprt);
-- return FALSE;
-+ rc = FALSE;
-+ goto done;
- }
-
- if ((!svc_sendreply(xprt, (xdrproc_t) xdr_pmaplist_ptr,
-@@ -354,7 +382,17 @@ pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
- rpcbind_abort();
- }
- }
-- return (TRUE);
-+
-+done:
-+ if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)NULL)) {
-+ if (debugging) {
-+ /*(void) xlog(LOG_DEBUG, "unable to free arguments\n");*/
-+ if (doabort) {
-+ rpcbind_abort();
-+ }
-+ }
-+ }
-+ return (rc);
- }
-
- int pmap_netid2ipprot(const char *netid)
-diff --git a/src/rpcb_svc.c b/src/rpcb_svc.c
-index 709e3fb..091f530 100644
---- a/src/rpcb_svc.c
-+++ b/src/rpcb_svc.c
-@@ -166,7 +166,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp)
- svcerr_decode(transp);
- if (debugging)
- (void) xlog(LOG_DEBUG, "rpcbind: could not decode");
-- return;
-+ goto done;
- }
-
- if (rqstp->rq_proc == RPCBPROC_SET
-diff --git a/src/rpcb_svc_4.c b/src/rpcb_svc_4.c
-index 5094879..eebbbbe 100644
---- a/src/rpcb_svc_4.c
-+++ b/src/rpcb_svc_4.c
-@@ -218,7 +218,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp)
- svcerr_decode(transp);
- if (debugging)
- (void) xlog(LOG_DEBUG, "rpcbind: could not decode\n");
-- return;
-+ goto done;
- }
-
- if (rqstp->rq_proc == RPCBPROC_SET
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index 5862c26..cb63afd 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -927,6 +927,14 @@ error:
- if (call_msg.rm_xid != 0)
- (void) free_slot_by_xid(call_msg.rm_xid);
- out:
-+ if (!svc_freeargs(transp, (xdrproc_t) xdr_rmtcall_args, (char *) &a)) {
-+ if (debugging) {
-+ (void) xlog(LOG_DEBUG, "unable to free arguments\n");
-+ if (doabort) {
-+ rpcbind_abort();
-+ }
-+ }
-+ }
- if (local_uaddr)
- free(local_uaddr);
- if (buf_alloc)
---
-1.9.1
-
diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind/pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch b/poky/meta/recipes-extended/rpcbind/rpcbind/pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch
deleted file mode 100644
index 4c23ee01c..000000000
--- a/poky/meta/recipes-extended/rpcbind/rpcbind/pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c49a7ea639eb700823e174fd605bbbe183e229aa Mon Sep 17 00:00:00 2001
-From: Steve Dickson <steved@redhat.com>
-Date: Wed, 17 May 2017 10:52:25 -0400
-Subject: [PATCH] pmapproc_dump: Fixed typo in memory leak patch
-
-commit 7ea36eee introduce a typo that caused
-NIS (aka ypbind) to fail.
-
-Signed-off-by: Steve Dickson <steved@redhat.com>
-
-Upstream-Status: Backport
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- src/pmap_svc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: rpcbind-0.2.4/src/pmap_svc.c
-===================================================================
---- rpcbind-0.2.4.orig/src/pmap_svc.c
-+++ rpcbind-0.2.4/src/pmap_svc.c
-@@ -384,7 +384,7 @@ pmapproc_dump(struct svc_req *rqstp /*__
- }
-
- done:
-- if (!svc_freeargs(xprt, (xdrproc_t) xdr_pmap, (char *)NULL)) {
-+ if (!svc_freeargs(xprt, (xdrproc_t) xdr_void, (char *)NULL)) {
- if (debugging) {
- /*(void) xlog(LOG_DEBUG, "unable to free arguments\n");*/
- if (doabort) {
diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind/rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch b/poky/meta/recipes-extended/rpcbind/rpcbind/rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch
deleted file mode 100644
index 9a000d028..000000000
--- a/poky/meta/recipes-extended/rpcbind/rpcbind/rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 7c7590ad536c0e24bef790cb1e65702fc54db566 Mon Sep 17 00:00:00 2001
-From: Steve Dickson <steved@redhat.com>
-Date: Tue, 30 May 2017 11:27:22 -0400
-Subject: [PATCH] rpcbproc_callit_com: Stop freeing a static pointer
-
-commit 7ea36ee introduced a svc_freeargs() call
-that ended up freeing static pointer.
-
-It turns out the allocations for the rmt_args
-is not necessary . The xdr routines (xdr_bytes) will
-handle the memory management and the largest
-possible message size is UDPMSGSIZE (due to UDP only)
-which is smaller than RPC_BUF_MAX
-
-Signed-off-by: Steve Dickson <steved@redhat.com>
-
-Upstream-Status: Backport
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- src/rpcb_svc_com.c | 39 ++++++---------------------------------
- 1 file changed, 6 insertions(+), 33 deletions(-)
-
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index cb63afd..1fc2229 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -612,9 +612,9 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp,
- struct netconfig *nconf;
- struct netbuf *caller;
- struct r_rmtcall_args a;
-- char *buf_alloc = NULL, *outbufp;
-+ char *outbufp;
- char *outbuf_alloc = NULL;
-- char buf[RPC_BUF_MAX], outbuf[RPC_BUF_MAX];
-+ char outbuf[RPC_BUF_MAX];
- struct netbuf *na = (struct netbuf *) NULL;
- struct rpc_msg call_msg;
- int outlen;
-@@ -635,36 +635,10 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp,
- }
- if (si.si_socktype != SOCK_DGRAM)
- return; /* Only datagram type accepted */
-- sendsz = __rpc_get_t_size(si.si_af, si.si_proto, UDPMSGSIZE);
-- if (sendsz == 0) { /* data transfer not supported */
-- if (reply_type == RPCBPROC_INDIRECT)
-- svcerr_systemerr(transp);
-- return;
-- }
-- /*
-- * Should be multiple of 4 for XDR.
-- */
-- sendsz = ((sendsz + 3) / 4) * 4;
-- if (sendsz > RPC_BUF_MAX) {
--#ifdef notyet
-- buf_alloc = alloca(sendsz); /* not in IDR2? */
--#else
-- buf_alloc = malloc(sendsz);
--#endif /* notyet */
-- if (buf_alloc == NULL) {
-- if (debugging)
-- xlog(LOG_DEBUG,
-- "rpcbproc_callit_com: No Memory!\n");
-- if (reply_type == RPCBPROC_INDIRECT)
-- svcerr_systemerr(transp);
-- return;
-- }
-- a.rmt_args.args = buf_alloc;
-- } else {
-- a.rmt_args.args = buf;
-- }
-+ sendsz = UDPMSGSIZE;
-
- call_msg.rm_xid = 0; /* For error checking purposes */
-+ memset(&a, 0, sizeof(a)); /* Zero out the input buffer */
- if (!svc_getargs(transp, (xdrproc_t) xdr_rmtcall_args, (char *) &a)) {
- if (reply_type == RPCBPROC_INDIRECT)
- svcerr_decode(transp);
-@@ -704,7 +678,8 @@ rpcbproc_callit_com(struct svc_req *rqstp, SVCXPRT *transp,
- if (rbl == (rpcblist_ptr)NULL) {
- #ifdef RPCBIND_DEBUG
- if (debugging)
-- xlog(LOG_DEBUG, "not found\n");
-+ xlog(LOG_DEBUG, "prog %lu vers %lu: not found\n",
-+ a.rmt_prog, a.rmt_vers);
- #endif
- if (reply_type == RPCBPROC_INDIRECT)
- svcerr_noprog(transp);
-@@ -937,8 +912,6 @@ out:
- }
- if (local_uaddr)
- free(local_uaddr);
-- if (buf_alloc)
-- free(buf_alloc);
- if (outbuf_alloc)
- free(outbuf_alloc);
- if (na) {
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb b/poky/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb
deleted file mode 100644
index 3c6774c28..000000000
--- a/poky/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "Universal Addresses to RPC Program Number Mapper"
-DESCRIPTION = "The rpcbind utility is a server that converts RPC \
- program numbers into universal addresses."
-SECTION = "console/network"
-HOMEPAGE = "http://sourceforge.net/projects/rpcbind/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=201237&atid=976751"
-DEPENDS = "libtirpc quota"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \
- file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
- file://init.d \
- file://rpcbind.conf \
- file://rpcbind.socket \
- file://rpcbind.service \
- file://0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch \
- file://pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch \
- file://rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch \
- file://rpcbind_add_option_to_fix_port_number.patch \
- "
-SRC_URI[md5sum] = "cf10cd41ed8228fc54c316191c1f07fe"
-SRC_URI[sha256sum] = "074a9a530dc7c11e0d905aa59bcb0847c009313f02e98d3d798aa9568f414c66"
-
-inherit autotools update-rc.d systemd pkgconfig
-
-PACKAGECONFIG ??= "tcp-wrappers"
-PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
-
-INITSCRIPT_NAME = "rpcbind"
-INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ."
-
-SYSTEMD_SERVICE_${PN} = "rpcbind.service"
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \
- --shell /bin/false --user-group rpc"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \
- --without-systemdsystemunitdir, \
- systemd \
-"
-
-EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc"
-
-do_install_append () {
- mv ${D}${bindir} ${D}${sbindir}
-
- install -d ${D}${sysconfdir}/init.d
- sed -e 's,/etc/,${sysconfdir}/,g' \
- -e 's,/sbin/,${sbindir}/,g' \
- ${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind
- chmod 0755 ${D}${sysconfdir}/init.d/rpcbind
-
- install -m 0755 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir}
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/rpcbind.socket ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/rpcbind.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_unitdir}/system/rpcbind.service
-}
diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb
new file mode 100644
index 000000000..7c96aca36
--- /dev/null
+++ b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb
@@ -0,0 +1,61 @@
+SUMMARY = "Universal Addresses to RPC Program Number Mapper"
+DESCRIPTION = "The rpcbind utility is a server that converts RPC \
+ program numbers into universal addresses."
+SECTION = "console/network"
+HOMEPAGE = "http://sourceforge.net/projects/rpcbind/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=201237&atid=976751"
+DEPENDS = "libtirpc quota"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \
+ file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
+ file://init.d \
+ file://rpcbind.conf \
+ file://rpcbind.socket \
+ file://rpcbind.service \
+ file://rpcbind_add_option_to_fix_port_number.patch \
+ "
+SRC_URI[md5sum] = "ed46f09b9c0fa2d49015f6431bc5ea7b"
+SRC_URI[sha256sum] = "2ce360683963b35c19c43f0ee2c7f18aa5b81ef41c3fdbd15ffcb00b8bffda7a"
+
+inherit autotools update-rc.d systemd pkgconfig
+
+PACKAGECONFIG ??= "tcp-wrappers"
+PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
+
+INITSCRIPT_NAME = "rpcbind"
+INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ."
+
+SYSTEMD_SERVICE_${PN} = "rpcbind.service"
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \
+ --shell /bin/false --user-group rpc"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \
+ --without-systemdsystemunitdir, \
+ systemd \
+"
+
+EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ sed -e 's,/etc/,${sysconfdir}/,g' \
+ -e 's,/sbin/,${sbindir}/,g' \
+ ${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind
+ chmod 0755 ${D}${sysconfdir}/init.d/rpcbind
+
+ install -m 0755 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir}
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/rpcbind.socket ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/rpcbind.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_unitdir}/system/rpcbind.service
+}
diff --git a/poky/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch b/poky/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch
deleted file mode 100644
index 474b3a257..000000000
--- a/poky/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Subject: [PATCH] useradd: copy extended attributes of home
-
-The Home directory wasn't getting the extended attributes
-of /etc/skel. This patch fixes that issue and adds the copy
-of the extended attributes of the root of the home directory.
-
-Upstream-Status: Pending
-
-Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/useradd.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/useradd.c b/src/useradd.c
-index e721e52..c74e491 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -54,6 +54,9 @@
- #include <sys/wait.h>
- #include <time.h>
- #include <unistd.h>
-+#ifdef WITH_ATTR
-+#include <attr/libattr.h>
-+#endif
- #include "chkname.h"
- #include "defines.h"
- #include "faillog.h"
-@@ -2042,6 +2045,9 @@ static void create_home (void)
- (void) chown (prefix_user_home, user_id, user_gid);
- chmod (prefix_user_home,
- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
-+#ifdef WITH_ATTR
-+ attr_copy_file (def_template, user_home, NULL, NULL);
-+#endif
- home_added = true;
- #ifdef WITH_AUDIT
- audit_logger (AUDIT_ADD_USER, Prog,
---
-2.11.0
-
diff --git a/poky/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch b/poky/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch
index 702413659..faa6f68eb 100644
--- a/poky/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch
+++ b/poky/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch
@@ -4,11 +4,11 @@ Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- src/useradd.c | 82 +++++++++++++++++++++++++++++++++++++++--------------------
- 1 file changed, 54 insertions(+), 28 deletions(-)
+ src/useradd.c | 80 +++++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 53 insertions(+), 27 deletions(-)
diff --git a/src/useradd.c b/src/useradd.c
-index 7214e72..3aaf45c 100644
+index 00a3c30..9ecbb58 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -2021,6 +2021,35 @@ static void usr_update (void)
@@ -47,7 +47,7 @@ index 7214e72..3aaf45c 100644
* create_home - create the user's home directory
*
* create_home() creates the user's home directory if it does not
-@@ -2038,42 +2067,39 @@ static void create_home (void)
+@@ -2038,39 +2067,36 @@ static void create_home (void)
fail_exit (E_HOMEDIR);
}
#endif
@@ -74,16 +74,12 @@ index 7214e72..3aaf45c 100644
- (void) chown (prefix_user_home, user_id, user_gid);
- chmod (prefix_user_home,
- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
+- home_added = true;
+ fail_exit (E_HOMEDIR);
+ }
+ (void) chown (prefix_user_home, user_id, user_gid);
+ chmod (prefix_user_home,
+ 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
- #ifdef WITH_ATTR
-- attr_copy_file (def_template, user_home, NULL, NULL);
-+ attr_copy_file (def_template, user_home, NULL, NULL);
- #endif
-- home_added = true;
+ home_added = true;
#ifdef WITH_AUDIT
- audit_logger (AUDIT_ADD_USER, Prog,
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 09c37ef8a..4de21acb7 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -11,7 +11,6 @@ DEPENDS = "virtual/crypt"
UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases"
SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \
file://shadow-4.1.3-dots-in-usernames.patch \
- file://0001-useradd-copy-extended-attributes-of-home.patch \
${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
"
@@ -57,7 +56,7 @@ EXTRA_OECONF += "--without-audit \
NSCDOPT = ""
NSCDOPT_class-native = "--without-nscd"
NSCDOPT_class-nativesdk = "--without-nscd"
-NSCDOPT_libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'libc-spawn', '--with-nscd', '--without-nscd', d)}"
+NSCDOPT_libc-glibc = "--with-nscd"
PAM_PLUGINS = "libpam-runtime \
pam-plugin-faildelay \
diff --git a/poky/meta/recipes-extended/shadow/shadow_4.6.bb b/poky/meta/recipes-extended/shadow/shadow_4.6.bb
index 5675cb8cc..c975395ff 100644
--- a/poky/meta/recipes-extended/shadow/shadow_4.6.bb
+++ b/poky/meta/recipes-extended/shadow/shadow_4.6.bb
@@ -2,7 +2,7 @@ require shadow.inc
# Build falsely assumes that if --enable-libpam is set, we don't need to link against
# libcrypt. This breaks chsh.
-BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', bb.utils.contains('DISTRO_FEATURES', 'libc-crypt', '-lcrypt', '', d), '', d)}"
+BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/sudo/sudo.inc b/poky/meta/recipes-extended/sudo/sudo.inc
index 69dccde59..90f2039bb 100644
--- a/poky/meta/recipes-extended/sudo/sudo.inc
+++ b/poky/meta/recipes-extended/sudo/sudo.inc
@@ -4,8 +4,8 @@ HOMEPAGE = "http://www.sudo.ws"
BUGTRACKER = "http://www.sudo.ws/bugs/"
SECTION = "admin"
LICENSE = "ISC & BSD & Zlib"
-LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=cc4bf2366b059c9598e3947f885931ec \
- file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=805782a8466975716f8376b2be9aedde \
+LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=6c76b73603ac7763ab0516ebfbe67b42 \
+ file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=4a162fc04b86b03f5632180fe6076cda \
file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \
file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \
file://lib/util/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
@@ -13,6 +13,9 @@ LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=cc4bf2366b059c9598e3947f885931ec \
file://lib/util/snprintf.c;beginline=6;endline=34;md5=c82c1b3a5c32e08545c9ec5d71e41e50 \
file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a \
+ file://lib/util/arc4random.c;beginline=3;endline=20;md5=15bdc89c1b003fa4d7353e6296ebfd68 \
+ file://lib/util/arc4random_uniform.c;beginline=3;endline=17;md5=31e630ac814d692fd0ab7a942659b46f \
+ file://lib/util/getentropy.c;beginline=1;endline=19;md5=9f1a275ecd44cc264a2a4d5e06a75292 \
"
inherit autotools
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.8.23.bb b/poky/meta/recipes-extended/sudo/sudo_1.8.23.bb
deleted file mode 100644
index ce32bd187..000000000
--- a/poky/meta/recipes-extended/sudo/sudo_1.8.23.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-require sudo.inc
-
-SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://0001-Include-sys-types.h-for-id_t-definition.patch \
- "
-
-PAM_SRC_URI = "file://sudo.pam"
-
-SRC_URI[md5sum] = "ea444d747feb1decfebdffd0b38b0739"
-SRC_URI[sha256sum] = "d863d29b6fc87bc784a3223350e2b28a2ff2c4738f0fb8f1c92bb38c3017e679"
-
-DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
-
-EXTRA_OECONF += " \
- ac_cv_type_rsize_t=no \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
- "
-
-do_install_append () {
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
- install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
- if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
- echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo
- sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers
- fi
- fi
-
- chmod 4111 ${D}${bindir}/sudo
- chmod 0440 ${D}${sysconfdir}/sudoers
-
- # Explicitly remove the /run directory to avoid QA error
- rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
-}
-
-FILES_${PN} += "${libdir}/tmpfiles.d"
-FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \
- ${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la"
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb b/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb
new file mode 100644
index 000000000..4a3439302
--- /dev/null
+++ b/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb
@@ -0,0 +1,40 @@
+require sudo.inc
+
+SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://0001-Include-sys-types.h-for-id_t-definition.patch \
+ "
+
+PAM_SRC_URI = "file://sudo.pam"
+
+SRC_URI[md5sum] = "b5c184b13b6b5de32af630af2fd013fd"
+SRC_URI[sha256sum] = "7beb68b94471ef56d8a1036dbcdc09a7b58a949a68ffce48b83f837dd33e2ec0"
+
+DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
+
+EXTRA_OECONF += " \
+ ac_cv_type_rsize_t=no \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
+ "
+
+do_install_append () {
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+ install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
+ if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
+ echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo
+ sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers
+ fi
+ fi
+
+ chmod 4111 ${D}${bindir}/sudo
+ chmod 0440 ${D}${sysconfdir}/sudoers
+
+ # Explicitly remove the /run directory to avoid QA error
+ rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
+}
+
+FILES_${PN} += "${libdir}/tmpfiles.d"
+FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \
+ ${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la"
diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd.inc b/poky/meta/recipes-extended/sysklogd/sysklogd.inc
index f151dd87f..749026f85 100644
--- a/poky/meta/recipes-extended/sysklogd/sysklogd.inc
+++ b/poky/meta/recipes-extended/sysklogd/sysklogd.inc
@@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
inherit update-rc.d update-alternatives systemd
-SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \
+SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \
file://no-strip-install.patch \
file://0001-Fix-build-with-musl.patch \
file://0001-fix-problems-that-causes-a-segmentation-fault-under-.patch \
@@ -24,6 +24,7 @@ SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar
file://klogd.service \
file://tmpfiles.sysklogd.conf \
"
+S = "${WORKDIR}/git"
SRC_URI_append_e500v2 = " file://no-vectorization.patch"
diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb
index 975ecc2b6..88bcfd9e4 100644
--- a/poky/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb
+++ b/poky/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb
@@ -1,4 +1,3 @@
require sysklogd.inc
-SRC_URI[md5sum] = "c70599ab0d037fde724f7210c2c8d7f8"
-SRC_URI[sha256sum] = "5166c185ae23c92e8b9feee66a6e3d0bc944bf673112f53e3ecf62e08ce7c201"
+SRCREV = "930a2b1c0d15b14309a49f14e3f30e905456af4d"
diff --git a/poky/meta/recipes-extended/sysstat/sysstat_11.7.4.bb b/poky/meta/recipes-extended/sysstat/sysstat_11.7.4.bb
deleted file mode 100644
index c9b9130e9..000000000
--- a/poky/meta/recipes-extended/sysstat/sysstat_11.7.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require sysstat.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
-
-SRC_URI += "file://0001-Include-needed-headers-explicitly.patch"
-
-SRC_URI[md5sum] = "421f958db80e67a27eda1ff6b8ebcdeb"
-SRC_URI[sha256sum] = "a96265a22784c29888669f961a0896841d177853f8f057efe063e891962b9090"
diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb
new file mode 100644
index 000000000..5daf3f45f
--- /dev/null
+++ b/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb
@@ -0,0 +1,8 @@
+require sysstat.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
+
+SRC_URI += "file://0001-Include-needed-headers-explicitly.patch"
+
+SRC_URI[md5sum] = "0f9b73f60aba6fd49de346bc384902c3"
+SRC_URI[sha256sum] = "55498bf82755ba9fed3e7df61fd26f8f50dd3e7b3b229c731029a4c8ab51a1aa"
diff --git a/poky/meta/recipes-extended/tar/tar_1.30.bb b/poky/meta/recipes-extended/tar/tar_1.30.bb
deleted file mode 100644
index bd24f4762..000000000
--- a/poky/meta/recipes-extended/tar/tar_1.30.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SUMMARY = "GNU file archiving program"
-DESCRIPTION = "GNU tar saves many files together into a single tape \
-or disk archive, and can restore individual files from the archive."
-HOMEPAGE = "http://www.gnu.org/software/tar/"
-SECTION = "base"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2 \
- file://remove-gets.patch \
- file://musl_dirent.patch \
-"
-
-SRC_URI[md5sum] = "8404e4c1fc5a3000228ab2b8ad674a65"
-SRC_URI[sha256sum] = "87592b86cb037c554375f5868bdd3cc57748aef38d6cb741c81065f0beac63b7"
-
-inherit autotools gettext texinfo
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG_append_class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
-
-PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
-
-EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
-
-# Let aclocal use the relative path for the m4 file rather than the
-# absolute since tar has a lot of m4 files, otherwise there might
-# be an "Argument list too long" error when it is built in a long/deep
-# directory.
-acpaths = "-I ./m4"
-
-do_install () {
- autotools_do_install
- ln -s tar ${D}${bindir}/gtar
-}
-
-do_install_append_class-target() {
- if [ "${base_bindir}" != "${bindir}" ]; then
- install -d ${D}${base_bindir}
- mv ${D}${bindir}/tar ${D}${base_bindir}/tar
- mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
- rmdir ${D}${bindir}/
- fi
-}
-
-do_install_append_libc-musl() {
- rm -f ${D}${libdir}/charset.alias
- rmdir ${D}${libdir}
-}
-
-PACKAGES =+ "${PN}-rmt"
-
-FILES_${PN}-rmt = "${base_sbindir}/rmt*"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "tar"
-ALTERNATIVE_${PN}-rmt = "rmt"
-ALTERNATIVE_${PN}_class-nativesdk = ""
-ALTERNATIVE_${PN}-rmt_class-nativesdk = ""
-
-ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
-ALTERNATIVE_LINK_NAME[rmt] = "${base_sbindir}/rmt"
-
-PROVIDES_append_class-native = " tar-replacement-native"
-NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/tar/tar_1.31.bb b/poky/meta/recipes-extended/tar/tar_1.31.bb
new file mode 100644
index 000000000..a78504261
--- /dev/null
+++ b/poky/meta/recipes-extended/tar/tar_1.31.bb
@@ -0,0 +1,65 @@
+SUMMARY = "GNU file archiving program"
+DESCRIPTION = "GNU tar saves many files together into a single tape \
+or disk archive, and can restore individual files from the archive."
+HOMEPAGE = "http://www.gnu.org/software/tar/"
+SECTION = "base"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2 \
+ file://remove-gets.patch \
+ file://musl_dirent.patch \
+"
+
+SRC_URI[md5sum] = "77afa35b696c8d760331fa0e12c2fac9"
+SRC_URI[sha256sum] = "577bd4463eea103bdfc662fc385789e2228dbeb399a1d0b98571ed9ce044f763"
+
+inherit autotools gettext texinfo
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG_append_class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
+
+PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
+
+EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
+
+# Let aclocal use the relative path for the m4 file rather than the
+# absolute since tar has a lot of m4 files, otherwise there might
+# be an "Argument list too long" error when it is built in a long/deep
+# directory.
+acpaths = "-I ./m4"
+
+do_install () {
+ autotools_do_install
+ ln -s tar ${D}${bindir}/gtar
+}
+
+do_install_append_class-target() {
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ install -d ${D}${base_bindir}
+ mv ${D}${bindir}/tar ${D}${base_bindir}/tar
+ mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
+ rmdir ${D}${bindir}/
+ fi
+}
+
+PACKAGES =+ "${PN}-rmt"
+
+FILES_${PN}-rmt = "${base_sbindir}/rmt*"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "tar"
+ALTERNATIVE_${PN}-rmt = "rmt"
+ALTERNATIVE_${PN}_class-nativesdk = ""
+ALTERNATIVE_${PN}-rmt_class-nativesdk = ""
+
+ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
+ALTERNATIVE_LINK_NAME[rmt] = "${base_sbindir}/rmt"
+
+PROVIDES_append_class-native = " tar-replacement-native"
+NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc
new file mode 100644
index 000000000..1ade0075e
--- /dev/null
+++ b/poky/meta/recipes-extended/timezone/timezone.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Timezone data"
+HOMEPAGE = "http://www.iana.org/time-zones"
+SECTION = "base"
+LICENSE = "PD & BSD & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
+
+PV = "2019a"
+
+SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
+ http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
+ "
+
+UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
+
+SRC_URI[tzcode.md5sum] = "27585a20bc5401324f42c8deb6e4677f"
+SRC_URI[tzcode.sha256sum] = "8739f162bc30cdfb482435697f969253abea49595541a0afd5f443fbae433ff5"
+SRC_URI[tzdata.md5sum] = "288f7b1e43018c633da108f13b27cf91"
+SRC_URI[tzdata.sha256sum] = "90366ddf4aa03e37a16cd49255af77f801822310b213f195e2206ead48c59772"
diff --git a/poky/meta/recipes-extended/timezone/tzcode-native.bb b/poky/meta/recipes-extended/timezone/tzcode-native.bb
new file mode 100644
index 000000000..e3582ba67
--- /dev/null
+++ b/poky/meta/recipes-extended/timezone/tzcode-native.bb
@@ -0,0 +1,17 @@
+require timezone.inc
+
+#
+SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
+
+S = "${WORKDIR}"
+
+inherit native
+
+EXTRA_OEMAKE += "cc='${CC}'"
+
+do_install () {
+ install -d ${D}${bindir}/
+ install -m 755 zic ${D}${bindir}/
+ install -m 755 zdump ${D}${bindir}/
+ install -m 755 tzselect ${D}${bindir}/
+}
diff --git a/poky/meta/recipes-extended/timezone/tzdata.bb b/poky/meta/recipes-extended/timezone/tzdata.bb
new file mode 100644
index 000000000..82fe369ba
--- /dev/null
+++ b/poky/meta/recipes-extended/timezone/tzdata.bb
@@ -0,0 +1,209 @@
+require timezone.inc
+
+DEPENDS = "tzcode-native"
+
+inherit allarch
+
+RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
+ timezone-arctic timezone-asia timezone-atlantic \
+ timezone-australia timezone-europe timezone-indian \
+ timezone-iso3166.tab timezone-pacific timezone-zone.tab"
+
+S = "${WORKDIR}"
+
+DEFAULT_TIMEZONE ?= "Universal"
+INSTALL_TIMEZONE_FILE ?= "1"
+
+TZONES= "africa antarctica asia australasia europe northamerica southamerica \
+ factory etcetera backward systemv \
+ "
+# pacificnew
+
+do_compile () {
+ for zone in ${TZONES}; do \
+ ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \
+ -y ${S}/yearistype.sh ${S}/${zone} ; \
+ ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \
+ -y ${S}/yearistype.sh ${S}/${zone} ; \
+ ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \
+ -y ${S}/yearistype.sh ${S}/${zone} ; \
+ done
+}
+
+do_install () {
+ install -d ${D}/$exec_prefix ${D}${datadir}/zoneinfo
+ cp -pPR ${S}/$exec_prefix ${D}/
+ # libc is removing zoneinfo files from package
+ cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
+
+ # Install default timezone
+ if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
+ install -d ${D}${sysconfdir}
+ if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
+ echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
+ fi
+ ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
+ else
+ bberror "DEFAULT_TIMEZONE is set to an invalid value."
+ exit 1
+ fi
+
+ chown -R root:root ${D}
+}
+
+pkg_postinst_${PN} () {
+ etc_lt="$D${sysconfdir}/localtime"
+ src="$D${sysconfdir}/timezone"
+
+ if [ -e ${src} ] ; then
+ tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
+ fi
+
+ if [ -z "${tz}" ] ; then
+ exit 0
+ fi
+
+ if [ ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then
+ echo "You have an invalid TIMEZONE setting in ${src}"
+ echo "Your ${etc_lt} has been reset to Universal; enjoy!"
+ tz="Universal"
+ echo "Updating ${etc_lt} with $D${datadir}/zoneinfo/${tz}"
+ if [ -L ${etc_lt} ] ; then
+ rm -f "${etc_lt}"
+ fi
+ ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}"
+ fi
+}
+
+# Packages primarily organized by directory with a major city
+# in most time zones in the base package
+
+TZ_PACKAGES = " \
+ tzdata-core tzdata-misc tzdata-posix tzdata-right tzdata-africa \
+ tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
+ tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific"
+PACKAGES = "${TZ_PACKAGES} ${PN}"
+
+FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*"
+RPROVIDES_tzdata-africa = "tzdata-africa"
+
+FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \
+ ${datadir}/zoneinfo/US/* \
+ ${datadir}/zoneinfo/Brazil/* \
+ ${datadir}/zoneinfo/Canada/* \
+ ${datadir}/zoneinfo/Mexico/* \
+ ${datadir}/zoneinfo/Chile/*"
+RPROVIDES_tzdata-americas = "tzdata-americas"
+
+FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*"
+RPROVIDES_tzdata-antarctica = "tzdata-antarctica"
+
+FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*"
+RPROVIDES_tzdata-arctic = "tzdata-arctic"
+
+FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \
+ ${datadir}/zoneinfo/Indian/* \
+ ${datadir}/zoneinfo/Mideast/*"
+RPROVIDES_tzdata-asia = "tzdata-asia"
+
+FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*"
+RPROVIDES_tzdata-atlantic = "tzdata-atlantic"
+
+FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*"
+RPROVIDES_tzdata-australia = "tzdata-australia"
+
+FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*"
+RPROVIDES_tzdata-europe = "tzdata-europe"
+
+FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*"
+RPROVIDES_tzdata-pacific = "tzdata-pacific"
+
+FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*"
+RPROVIDES_tzdata-posix = "tzdata-posix"
+
+FILES_tzdata-right += "${datadir}/zoneinfo/right/*"
+RPROVIDES_tzdata-right = "tzdata-right"
+
+FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \
+ ${datadir}/zoneinfo/Egypt \
+ ${datadir}/zoneinfo/Eire \
+ ${datadir}/zoneinfo/Factory \
+ ${datadir}/zoneinfo/GB-Eire \
+ ${datadir}/zoneinfo/Hongkong \
+ ${datadir}/zoneinfo/Iceland \
+ ${datadir}/zoneinfo/Iran \
+ ${datadir}/zoneinfo/Israel \
+ ${datadir}/zoneinfo/Jamaica \
+ ${datadir}/zoneinfo/Japan \
+ ${datadir}/zoneinfo/Kwajalein \
+ ${datadir}/zoneinfo/Libya \
+ ${datadir}/zoneinfo/Navajo \
+ ${datadir}/zoneinfo/Poland \
+ ${datadir}/zoneinfo/Portugal \
+ ${datadir}/zoneinfo/Singapore \
+ ${datadir}/zoneinfo/Turkey"
+RPROVIDES_tzdata-misc = "tzdata-misc"
+
+FILES_tzdata-core += " \
+ ${datadir}/zoneinfo/Pacific/Honolulu \
+ ${datadir}/zoneinfo/America/Anchorage \
+ ${datadir}/zoneinfo/America/Los_Angeles \
+ ${datadir}/zoneinfo/America/Denver \
+ ${datadir}/zoneinfo/America/Chicago \
+ ${datadir}/zoneinfo/America/New_York \
+ ${datadir}/zoneinfo/America/Caracas \
+ ${datadir}/zoneinfo/America/Sao_Paulo \
+ ${datadir}/zoneinfo/Europe/London \
+ ${datadir}/zoneinfo/Europe/Paris \
+ ${datadir}/zoneinfo/Africa/Cairo \
+ ${datadir}/zoneinfo/Europe/Moscow \
+ ${datadir}/zoneinfo/Asia/Dubai \
+ ${datadir}/zoneinfo/Asia/Karachi \
+ ${datadir}/zoneinfo/Asia/Dhaka \
+ ${datadir}/zoneinfo/Asia/Bangkok \
+ ${datadir}/zoneinfo/Asia/Hong_Kong \
+ ${datadir}/zoneinfo/Asia/Tokyo \
+ ${datadir}/zoneinfo/Australia/Darwin \
+ ${datadir}/zoneinfo/Australia/Adelaide \
+ ${datadir}/zoneinfo/Australia/Brisbane \
+ ${datadir}/zoneinfo/Australia/Sydney \
+ ${datadir}/zoneinfo/Pacific/Noumea \
+ ${datadir}/zoneinfo/CET \
+ ${datadir}/zoneinfo/CST6CDT \
+ ${datadir}/zoneinfo/EET \
+ ${datadir}/zoneinfo/EST \
+ ${datadir}/zoneinfo/EST5EDT \
+ ${datadir}/zoneinfo/GB \
+ ${datadir}/zoneinfo/GMT \
+ ${datadir}/zoneinfo/GMT+0 \
+ ${datadir}/zoneinfo/GMT-0 \
+ ${datadir}/zoneinfo/GMT0 \
+ ${datadir}/zoneinfo/Greenwich \
+ ${datadir}/zoneinfo/HST \
+ ${datadir}/zoneinfo/MET \
+ ${datadir}/zoneinfo/MST \
+ ${datadir}/zoneinfo/MST7MDT \
+ ${datadir}/zoneinfo/NZ \
+ ${datadir}/zoneinfo/NZ-CHAT \
+ ${datadir}/zoneinfo/PRC \
+ ${datadir}/zoneinfo/PST8PDT \
+ ${datadir}/zoneinfo/ROC \
+ ${datadir}/zoneinfo/ROK \
+ ${datadir}/zoneinfo/UCT \
+ ${datadir}/zoneinfo/UTC \
+ ${datadir}/zoneinfo/Universal \
+ ${datadir}/zoneinfo/W-SU \
+ ${datadir}/zoneinfo/WET \
+ ${datadir}/zoneinfo/Zulu \
+ ${datadir}/zoneinfo/zone.tab \
+ ${datadir}/zoneinfo/zone1970.tab \
+ ${datadir}/zoneinfo/iso3166.tab \
+ ${datadir}/zoneinfo/Etc/*"
+
+CONFFILES_tzdata-core += "${@ "${sysconfdir}/timezone" if bb.utils.to_boolean(d.getVar('INSTALL_TIMEZONE_FILE')) else "" }"
+CONFFILES_tzdata-core += "${sysconfdir}/localtime"
+
+ALLOW_EMPTY_${PN} = "1"
+RDEPENDS_${PN} = "${TZ_PACKAGES}"
diff --git a/poky/meta/recipes-extended/tzcode/tzcode-native_2018i.bb b/poky/meta/recipes-extended/tzcode/tzcode-native_2018i.bb
deleted file mode 100644
index f056370b4..000000000
--- a/poky/meta/recipes-extended/tzcode/tzcode-native_2018i.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-# note that we allow for us to use data later than our code version
-#
-SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
-LICENSE = "PD & BSD & BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-
-SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
- http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
- "
-
-UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-
-SRC_URI[tzcode.md5sum] = "6a6d98be8fa2fa3485e25343e79188b4"
-SRC_URI[tzcode.sha256sum] = "aaacdb876ca6fb9d58e244b462cbc7578a496b1b10994381b4b32b9f2ded32dc"
-SRC_URI[tzdata.md5sum] = "b3f0a1a789480a036e58466cd0702477"
-SRC_URI[tzdata.sha256sum] = "82c45ef84ca3bc01d0a4a397ba8adeb8f7f199c6550740587c6ac5a7108c00d9"
-
-S = "${WORKDIR}"
-
-inherit native
-
-EXTRA_OEMAKE += "cc='${CC}'"
-
-do_install () {
- install -d ${D}${bindir}/
- install -m 755 zic ${D}${bindir}/
- install -m 755 zdump ${D}${bindir}/
- install -m 755 tzselect ${D}${bindir}/
-}
diff --git a/poky/meta/recipes-extended/tzdata/tzdata_2018i.bb b/poky/meta/recipes-extended/tzdata/tzdata_2018i.bb
deleted file mode 100644
index 4482e89d3..000000000
--- a/poky/meta/recipes-extended/tzdata/tzdata_2018i.bb
+++ /dev/null
@@ -1,215 +0,0 @@
-SUMMARY = "Timezone data"
-HOMEPAGE = "http://www.iana.org/time-zones"
-SECTION = "base"
-LICENSE = "PD & BSD & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-
-DEPENDS = "tzcode-native"
-
-SRC_URI = "http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata"
-UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-
-SRC_URI[tzdata.md5sum] = "b3f0a1a789480a036e58466cd0702477"
-SRC_URI[tzdata.sha256sum] = "82c45ef84ca3bc01d0a4a397ba8adeb8f7f199c6550740587c6ac5a7108c00d9"
-
-inherit allarch
-
-RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
- timezone-arctic timezone-asia timezone-atlantic \
- timezone-australia timezone-europe timezone-indian \
- timezone-iso3166.tab timezone-pacific timezone-zone.tab"
-
-S = "${WORKDIR}"
-
-DEFAULT_TIMEZONE ?= "Universal"
-INSTALL_TIMEZONE_FILE ?= "1"
-
-TZONES= "africa antarctica asia australasia europe northamerica southamerica \
- factory etcetera backward systemv \
- "
-# pacificnew
-
-do_compile () {
- for zone in ${TZONES}; do \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \
- -y ${S}/yearistype.sh ${S}/${zone} ; \
- done
-}
-
-do_install () {
- install -d ${D}/$exec_prefix ${D}${datadir}/zoneinfo
- cp -pPR ${S}/$exec_prefix ${D}/
- # libc is removing zoneinfo files from package
- cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
- cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
- cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
-
- # Install default timezone
- if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
- install -d ${D}${sysconfdir}
- if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
- echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
- fi
- ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
- else
- bberror "DEFAULT_TIMEZONE is set to an invalid value."
- exit 1
- fi
-
- chown -R root:root ${D}
-}
-
-pkg_postinst_${PN} () {
- etc_lt="$D${sysconfdir}/localtime"
- src="$D${sysconfdir}/timezone"
-
- if [ -e ${src} ] ; then
- tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
- fi
-
- if [ -z "${tz}" ] ; then
- exit 0
- fi
-
- if [ ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then
- echo "You have an invalid TIMEZONE setting in ${src}"
- echo "Your ${etc_lt} has been reset to Universal; enjoy!"
- tz="Universal"
- echo "Updating ${etc_lt} with $D${datadir}/zoneinfo/${tz}"
- if [ -L ${etc_lt} ] ; then
- rm -f "${etc_lt}"
- fi
- ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}"
- fi
-}
-
-# Packages primarily organized by directory with a major city
-# in most time zones in the base package
-
-PACKAGES = "tzdata tzdata-misc tzdata-posix tzdata-right tzdata-africa \
- tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
- tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific"
-
-FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*"
-RPROVIDES_tzdata-africa = "tzdata-africa"
-
-FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \
- ${datadir}/zoneinfo/US/* \
- ${datadir}/zoneinfo/Brazil/* \
- ${datadir}/zoneinfo/Canada/* \
- ${datadir}/zoneinfo/Mexico/* \
- ${datadir}/zoneinfo/Chile/*"
-RPROVIDES_tzdata-americas = "tzdata-americas"
-
-FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*"
-RPROVIDES_tzdata-antarctica = "tzdata-antarctica"
-
-FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*"
-RPROVIDES_tzdata-arctic = "tzdata-arctic"
-
-FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \
- ${datadir}/zoneinfo/Indian/* \
- ${datadir}/zoneinfo/Mideast/*"
-RPROVIDES_tzdata-asia = "tzdata-asia"
-
-FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*"
-RPROVIDES_tzdata-atlantic = "tzdata-atlantic"
-
-FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*"
-RPROVIDES_tzdata-australia = "tzdata-australia"
-
-FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*"
-RPROVIDES_tzdata-europe = "tzdata-europe"
-
-FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*"
-RPROVIDES_tzdata-pacific = "tzdata-pacific"
-
-FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*"
-RPROVIDES_tzdata-posix = "tzdata-posix"
-
-FILES_tzdata-right += "${datadir}/zoneinfo/right/*"
-RPROVIDES_tzdata-right = "tzdata-right"
-
-
-FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \
- ${datadir}/zoneinfo/Egypt \
- ${datadir}/zoneinfo/Eire \
- ${datadir}/zoneinfo/Factory \
- ${datadir}/zoneinfo/GB-Eire \
- ${datadir}/zoneinfo/Hongkong \
- ${datadir}/zoneinfo/Iceland \
- ${datadir}/zoneinfo/Iran \
- ${datadir}/zoneinfo/Israel \
- ${datadir}/zoneinfo/Jamaica \
- ${datadir}/zoneinfo/Japan \
- ${datadir}/zoneinfo/Kwajalein \
- ${datadir}/zoneinfo/Libya \
- ${datadir}/zoneinfo/Navajo \
- ${datadir}/zoneinfo/Poland \
- ${datadir}/zoneinfo/Portugal \
- ${datadir}/zoneinfo/Singapore \
- ${datadir}/zoneinfo/Turkey"
-RPROVIDES_tzdata-misc = "tzdata-misc"
-
-
-FILES_${PN} += "${datadir}/zoneinfo/Pacific/Honolulu \
- ${datadir}/zoneinfo/America/Anchorage \
- ${datadir}/zoneinfo/America/Los_Angeles \
- ${datadir}/zoneinfo/America/Denver \
- ${datadir}/zoneinfo/America/Chicago \
- ${datadir}/zoneinfo/America/New_York \
- ${datadir}/zoneinfo/America/Caracas \
- ${datadir}/zoneinfo/America/Sao_Paulo \
- ${datadir}/zoneinfo/Europe/London \
- ${datadir}/zoneinfo/Europe/Paris \
- ${datadir}/zoneinfo/Africa/Cairo \
- ${datadir}/zoneinfo/Europe/Moscow \
- ${datadir}/zoneinfo/Asia/Dubai \
- ${datadir}/zoneinfo/Asia/Karachi \
- ${datadir}/zoneinfo/Asia/Dhaka \
- ${datadir}/zoneinfo/Asia/Bangkok \
- ${datadir}/zoneinfo/Asia/Hong_Kong \
- ${datadir}/zoneinfo/Asia/Tokyo \
- ${datadir}/zoneinfo/Australia/Darwin \
- ${datadir}/zoneinfo/Australia/Adelaide \
- ${datadir}/zoneinfo/Australia/Brisbane \
- ${datadir}/zoneinfo/Australia/Sydney \
- ${datadir}/zoneinfo/Pacific/Noumea \
- ${datadir}/zoneinfo/CET \
- ${datadir}/zoneinfo/CST6CDT \
- ${datadir}/zoneinfo/EET \
- ${datadir}/zoneinfo/EST \
- ${datadir}/zoneinfo/EST5EDT \
- ${datadir}/zoneinfo/GB \
- ${datadir}/zoneinfo/GMT \
- ${datadir}/zoneinfo/GMT+0 \
- ${datadir}/zoneinfo/GMT-0 \
- ${datadir}/zoneinfo/GMT0 \
- ${datadir}/zoneinfo/Greenwich \
- ${datadir}/zoneinfo/HST \
- ${datadir}/zoneinfo/MET \
- ${datadir}/zoneinfo/MST \
- ${datadir}/zoneinfo/MST7MDT \
- ${datadir}/zoneinfo/NZ \
- ${datadir}/zoneinfo/NZ-CHAT \
- ${datadir}/zoneinfo/PRC \
- ${datadir}/zoneinfo/PST8PDT \
- ${datadir}/zoneinfo/ROC \
- ${datadir}/zoneinfo/ROK \
- ${datadir}/zoneinfo/UCT \
- ${datadir}/zoneinfo/UTC \
- ${datadir}/zoneinfo/Universal \
- ${datadir}/zoneinfo/W-SU \
- ${datadir}/zoneinfo/WET \
- ${datadir}/zoneinfo/Zulu \
- ${datadir}/zoneinfo/zone.tab \
- ${datadir}/zoneinfo/zone1970.tab \
- ${datadir}/zoneinfo/iso3166.tab \
- ${datadir}/zoneinfo/Etc/*"
-
-CONFFILES_${PN} += "${@ "${sysconfdir}/timezone" if bb.utils.to_boolean(d.getVar('INSTALL_TIMEZONE_FILE')) else "" }"
-CONFFILES_${PN} += "${sysconfdir}/localtime"
diff --git a/poky/meta/recipes-extended/wget/wget.inc b/poky/meta/recipes-extended/wget/wget.inc
index 3cff656a6..07e8d8e87 100644
--- a/poky/meta/recipes-extended/wget/wget.inc
+++ b/poky/meta/recipes-extended/wget/wget.inc
@@ -3,12 +3,11 @@ HOMEPAGE = "https://www.gnu.org/software/wget/"
SECTION = "console/network"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
-DEPENDS = "gnutls zlib libpcre"
inherit autotools gettext texinfo update-alternatives pkgconfig
-EXTRA_OECONF = "--with-ssl=gnutls --disable-rpath --disable-iri \
- --without-libgnutls-prefix ac_cv_header_uuid_uuid_h=no"
+EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \
+ --disable-rpath"
EXTRA_OEMAKE += 'TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" \
DEBUG_PREFIX_MAP="${DEBUG_PREFIX_MAP}"'
@@ -21,9 +20,17 @@ RRECOMMENDS_${PN} += "ca-certificates"
BBCLASSEXTEND = "nativesdk"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[libuuid] = "--with-libuuid, --without-libuuid,util-linux"
+PACKAGECONFIG ??= "gnutls pcre zlib \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ares] = "--with-cares,--without-cares,c-ares"
+PACKAGECONFIG[gnutls] = "--with-ssl=gnutls,,gnutls"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[iri] = "--enable-iri,--disable-iri,libidn2"
+PACKAGECONFIG[libpsl] = "--with-libpsl,--without-libpsl,libpsl"
+PACKAGECONFIG[libuuid] = "--with-libuuid,--without-libuuid,util-linux"
+PACKAGECONFIG[openssl] = "--with-ssl=openssl,,openssl"
+PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
# Let aclocal use the relative path for the m4 file rather than
# absolute, otherwise there might be an "Argument list too long" error
diff --git a/poky/meta/recipes-extended/wget/wget/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-extended/wget/wget/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index 0b3c6f555..000000000
--- a/poky/meta/recipes-extended/wget/wget/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: wget-1.16.3/lib/Makefile.am
-===================================================================
---- wget-1.16.3.orig/lib/Makefile.am
-+++ wget-1.16.3/lib/Makefile.am
-@@ -846,7 +846,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/poky/meta/recipes-extended/wget/wget_1.19.5.bb b/poky/meta/recipes-extended/wget/wget_1.19.5.bb
deleted file mode 100644
index e37d8c784..000000000
--- a/poky/meta/recipes-extended/wget/wget_1.19.5.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
- file://0002-improve-reproducibility.patch \
- "
-
-SRC_URI[md5sum] = "2db6f03d655041f82eb64b8c8a1fa7da"
-SRC_URI[sha256sum] = "b39212abe1a73f2b28f4c6cb223c738559caac91d6e416a6d91d4b9d55c9faee"
-
-require wget.inc
diff --git a/poky/meta/recipes-extended/wget/wget_1.20.1.bb b/poky/meta/recipes-extended/wget/wget_1.20.1.bb
new file mode 100644
index 000000000..d176bd0ac
--- /dev/null
+++ b/poky/meta/recipes-extended/wget/wget_1.20.1.bb
@@ -0,0 +1,8 @@
+SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
+ file://0002-improve-reproducibility.patch \
+ "
+
+SRC_URI[md5sum] = "f6ebe9c7b375fc9832fb1b2028271fb7"
+SRC_URI[sha256sum] = "b783b390cb571c837b392857945f5a1f00ec6b043177cc42abb8ee1b542ee1b3"
+
+require wget.inc
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.28.3.1.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.28.3.1.bb
deleted file mode 100644
index b46c9d3b4..000000000
--- a/poky/meta/recipes-gnome/epiphany/epiphany_3.28.3.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "WebKit based web browser for GNOME"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \
- gsettings-desktop-schemas libxml2-native \
- glib-2.0 glib-2.0-native json-glib"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
- file://0002-help-meson.build-disable-the-use-of-yelp.patch \
- "
-SRC_URI[archive.md5sum] = "31a4a443e8e22f085a10f80b7e41d5f3"
-SRC_URI[archive.sha256sum] = "690546a701f046c5c2b3a092659589ea6e17cb0f9a81ec3fdb3046b00cede6f7"
-
-EXTRA_OEMESON += " -Ddistributor_name=${DISTRO}"
-
-FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
-RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb
new file mode 100644
index 000000000..a64c82f48
--- /dev/null
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "WebKit based web browser for GNOME"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \
+ gsettings-desktop-schemas libxml2-native \
+ glib-2.0 glib-2.0-native json-glib libdazzle"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
+ file://0002-help-meson.build-disable-the-use-of-yelp.patch \
+ "
+SRC_URI[archive.md5sum] = "fd05702b1c9bcb6a0633de54c4a6ccd2"
+SRC_URI[archive.sha256sum] = "76cdb8db6af2da8c3371a73e2dfd5ba64867b5f1e65fa9621f35348a42ff0d17"
+
+EXTRA_OEMESON += " -Ddistributor_name=${DISTRO}"
+
+FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
+RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.28.0.bb b/poky/meta/recipes-gnome/gcr/gcr_3.28.0.bb
deleted file mode 100644
index 0796362e4..000000000
--- a/poky/meta/recipes-gnome/gcr/gcr_3.28.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "A library for bits of crypto UI and parsing etc"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
-
-DEPENDS = "intltool-native gtk+3 p11-kit glib-2.0 libgcrypt \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
-
-inherit gnomebase gtk-icon-cache gtk-doc distro_features_check upstream-version-is-even vala gobject-introspection
-# depends on gtk+3, but also x11 through gtk+-x11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "5321319307dad34dca2fd52e7c9c01ab"
-SRC_URI[archive.sha256sum] = "15e175d1da7ec486d59749ba34906241c442898118ce224a7b70bf2e849faf0b"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/gcr-3 \
-"
-
-# http://errors.yoctoproject.org/Errors/Details/20229/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-# These files may be out of date or missing our fixes
-# libgcrypt.m4 in particular is calling into libgcrypt-config
-do_configure_prepend() {
- rm -f ${S}/build/m4/*
-}
diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.28.1.bb b/poky/meta/recipes-gnome/gcr/gcr_3.28.1.bb
new file mode 100644
index 000000000..2299199c3
--- /dev/null
+++ b/poky/meta/recipes-gnome/gcr/gcr_3.28.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "A library for bits of crypto UI and parsing etc"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
+
+DEPENDS = "intltool-native gtk+3 p11-kit glib-2.0 libgcrypt \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
+
+inherit gnomebase gtk-icon-cache gtk-doc distro_features_check upstream-version-is-even vala gobject-introspection
+# depends on gtk+3, but also x11 through gtk+-x11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "afd88cacfd54c1ac5b3e0eb35e3aa674"
+SRC_URI[archive.sha256sum] = "95204aa2111c301778ebfbe60975ce3ed698c958430ffcc2a785ac5e593d168b"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/gcr-3 \
+"
+
+# http://errors.yoctoproject.org/Errors/Details/20229/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# These files may be out of date or missing our fixes
+# libgcrypt.m4 in particular is calling into libgcrypt-config
+do_configure_prepend() {
+ rm -f ${S}/build/m4/*
+}
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
new file mode 100644
index 000000000..e638fd3b6
--- /dev/null
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
@@ -0,0 +1,46 @@
+From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 14 Feb 2019 18:06:25 +0100
+Subject: [PATCH] Generate loaders.cache using a native tool when
+ cross-compiling
+
+Otherwise meson would attempt to run a target binary.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gdk-pixbuf/meson.build | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
+index 1995ffd..d692cb7 100644
+--- a/gdk-pixbuf/meson.build
++++ b/gdk-pixbuf/meson.build
+@@ -291,6 +291,7 @@ foreach bin: gdkpixbuf_bin
+ set_variable(bin_name.underscorify(), bin)
+ endforeach
+
++if not meson.is_cross_build()
+ # The 'loaders.cache' used for testing, so we don't accidentally
+ # load the installed cache; we always build it by default
+ loaders_cache = custom_target('loaders.cache',
+@@ -302,6 +303,18 @@ loaders_cache = custom_target('loaders.cache',
+ ],
+ build_by_default: true)
+ loaders_dep = declare_dependency(sources: [ loaders_cache ])
++else
++loaders_cache = custom_target('loaders.cache',
++ output: 'loaders.cache',
++ capture: true,
++ depends: [ dynamic_loaders_dep ],
++ command: [
++ 'gdk-pixbuf-query-loaders',
++ dynamic_loaders,
++ ],
++ build_by_default: true)
++loaders_dep = declare_dependency(sources: [ loaders_cache ])
++endif
+
+ pkgconfig = import('pkgconfig')
+ pkgconfig.generate(
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-without-libtiff-not-having-an-effect.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-without-libtiff-not-having-an-effect.patch
deleted file mode 100644
index 2a54d8ed7..000000000
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-without-libtiff-not-having-an-effect.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 460befc992adb32434b0408b453be39a6866ccf8 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 10 Oct 2017 14:33:18 +0300
-Subject: [PATCH] Fix --without-libtiff not having an effect.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=788770]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 315e0cc..98e780c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -676,7 +676,7 @@ if test x$gio_can_sniff = x; then
- AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])
- fi
-
--AM_CONDITIONAL(HAVE_TIFF, test "x$libtiff_found" != x)
-+AM_CONDITIONAL(HAVE_TIFF, test "x$libtiff_found" != xno)
- AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
- AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
- AM_CONDITIONAL(HAVE_JASPER, test "x$LIBJASPER" != x)
---
-2.14.1
-
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch
index 31ed988f3..110b32a49 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch
@@ -1,47 +1,28 @@
-From 6646e8aadc4030d891ac27c25494e5793d59dc85 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Wed, 22 Feb 2017 11:24:39 +0200
+From 8c7ced988def52654946458a3779e383b27f14f7 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 14 Feb 2019 17:56:10 +0100
Subject: [PATCH] Work-around thumbnailer cross-compile failure
Install gdk-pixbuf-print-mime-types that's needed for thumbnail
metadata generation.
-Use native gdk-pixbuf-print-mime-types when generating the thumbnail
-metadata. This works but the mime types will come from native
-loader.cache (which will only contain in-tree loaders), not from the
-target loader.cache.
-
The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057
Upstream-Status: Inappropriate [workaround]
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- thumbnailer/Makefile.am | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
+ thumbnailer/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
-diff --git a/thumbnailer/Makefile.am b/thumbnailer/Makefile.am
-index c9fe123..b0c6c70 100644
---- a/thumbnailer/Makefile.am
-+++ b/thumbnailer/Makefile.am
-@@ -1,5 +1,4 @@
--bin_PROGRAMS = gdk-pixbuf-thumbnailer
--noinst_PROGRAMS = gdk-pixbuf-print-mime-types
-+bin_PROGRAMS = gdk-pixbuf-thumbnailer gdk-pixbuf-print-mime-types
-
- gdk_pixbuf_thumbnailer_SOURCES = gdk-pixbuf-thumbnailer.c gnome-thumbnailer-skeleton.c gnome-thumbnailer-skeleton.h
- gdk_pixbuf_thumbnailer_CPPFLAGS = \
-@@ -25,9 +24,9 @@ gdk_pixbuf_print_mime_types_LDADD = \
+diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
+index e801144..aaafec8 100644
+--- a/thumbnailer/meson.build
++++ b/thumbnailer/meson.build
+@@ -10,6 +10,7 @@ executable('gdk-pixbuf-thumbnailer',
+ gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types',
+ 'gdk-pixbuf-print-mime-types.c',
+ c_args: common_cflags,
++ install: true,
+ dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ])
- thumbnailerdir = $(datadir)/thumbnailers/
- thumbnailer_DATA = gdk-pixbuf-thumbnailer.thumbnailer
--gdk-pixbuf-thumbnailer.thumbnailer: gdk-pixbuf-thumbnailer.thumbnailer.in Makefile gdk-pixbuf-print-mime-types$(EXEEXT) $(top_builddir)/gdk-pixbuf/loaders.cache
-+gdk-pixbuf-thumbnailer.thumbnailer: gdk-pixbuf-thumbnailer.thumbnailer.in Makefile gdk-pixbuf-print-mime-types$(EXEEXT)
- $(AM_V_GEN) $(SED) -e "s|\@bindir\@|$(bindir)|" \
-- -e "s|\@mimetypes\@|`GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/loaders.cache GDK_PIXBUF_PIXDATA=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-pixdata $(builddir)/gdk-pixbuf-print-mime-types`|" \
-+ -e "s|\@mimetypes\@|`gdk-pixbuf-print-mime-types`|" \
- $< > $@
-
- EXTRA_DIST = gdk-pixbuf-thumbnailer.thumbnailer.in
---
-2.1.4
-
+ custom_target('thumbnailer',
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch
new file mode 100644
index 000000000..2a7751511
--- /dev/null
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch
@@ -0,0 +1,51 @@
+From 116bc8f7a6034ce43053876a72a132fcd4e1e472 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 20 Feb 2019 19:53:07 +0100
+Subject: [PATCH] loaders.cache: depend on loaders being fully build
+
+Otherwise, races have been observed:
+https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/310/steps/7/logs/step1b
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gdk-pixbuf/meson.build | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
+index fc3eb33..4e7ed20 100644
+--- a/gdk-pixbuf/meson.build
++++ b/gdk-pixbuf/meson.build
+@@ -171,6 +171,7 @@ gdkpixbuf_dep = declare_dependency(link_with: gdkpixbuf,
+ # Now check if we are building loaders as installed shared modules
+ # We do this here because shared modules depend on libgdk-pixbuf
+ dynamic_loaders = []
++dynamic_loaders_dep = []
+
+ foreach l: loaders
+ name = l[0]
+@@ -189,6 +190,7 @@ foreach l: loaders
+
+ # We need the path to build loaders.cache for tests
+ dynamic_loaders += mod.full_path()
++ dynamic_loaders_dep += mod
+ endif
+ endforeach
+
+@@ -206,6 +208,7 @@ if enable_native_windows_loaders
+ install: true,
+ install_dir: gdk_pixbuf_loaderdir)
+ dynamic_loaders += mod.full_path()
++ dynamic_loaders_dep += mod
+ endforeach
+ endif
+ endif
+@@ -236,6 +239,7 @@ if not meson.is_cross_build()
+ loaders_cache = custom_target('loaders.cache',
+ output: 'loaders.cache',
+ capture: true,
++ depends: [ dynamic_loaders_dep ],
+ command: [
+ gdk_pixbuf_query_loaders,
+ dynamic_loaders,
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
new file mode 100644
index 000000000..928962d23
--- /dev/null
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
@@ -0,0 +1,96 @@
+From 6fc7f341399ec49ab06c94426f50dbdca49a2844 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 22 Feb 2019 13:22:06 +0100
+Subject: [PATCH] (target only) Work-around thumbnailer and pixdata
+ cross-compile failure
+
+Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata
+when generating the thumbnail metadata and resources.
+
+This works but the mime types will come from native
+loader.cache (which will only contain in-tree loaders), not from the
+target loader.cache.
+
+The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057
+
+Upstream-Status: Inappropriate [workaround]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ build-aux/gen-thumbnailer.py | 2 --
+ tests/meson.build | 11 +++++++++--
+ thumbnailer/meson.build | 5 +----
+ 3 files changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py
+index 05ac821..c5b99ab 100644
+--- a/build-aux/gen-thumbnailer.py
++++ b/build-aux/gen-thumbnailer.py
+@@ -20,8 +20,6 @@ argparser.add_argument('output', help='Output file')
+ args = argparser.parse_args()
+
+ newenv = os.environ.copy()
+-newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata
+-newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders
+ # 'nt': NT-based Windows, see https://docs.python.org/3/library/os.html
+ if os.name == 'nt':
+ gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata)
+diff --git a/tests/meson.build b/tests/meson.build
+index 4fa3fbc..eca5166 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -1,12 +1,19 @@
+ # Resources; we cannot use gnome.compile_resources() here, because we need to
+ # override the environment in order to use the utilities we just built instead
+ # of the system ones
++
++if not meson.is_cross_build()
++pixdata_binary = gdk_pixbuf_pixdata.full_path()
++else
++pixdata_binary = 'gdk-pixbuf-pixdata'
++endif
++
+ resources_c = custom_target('resources.c',
+ input: 'resources.gresource.xml',
+ output: 'resources.c',
+ command: [
+ gen_resources,
+- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
++ '--pixdata=@0@'.format(pixdata_binary),
+ '--loaders=@0@'.format(loaders_cache.full_path()),
+ '--sourcedir=@0@'.format(meson.current_source_dir()),
+ '--source',
+@@ -24,7 +31,7 @@ resources_h = custom_target('resources.h',
+ output: 'resources.h',
+ command: [
+ gen_resources,
+- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
++ '--pixdata=@0@'.format(pixdata_binary),
+ '--loaders=@0@'.format(loaders_cache.full_path()),
+ '--sourcedir=@0@'.format(meson.current_source_dir()),
+ '--header',
+diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
+index aaafec8..71bd61b 100644
+--- a/thumbnailer/meson.build
++++ b/thumbnailer/meson.build
+@@ -18,9 +18,7 @@ custom_target('thumbnailer',
+ output: 'gdk-pixbuf-thumbnailer.thumbnailer',
+ command: [
+ gen_thumbnailer,
+- '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()),
+- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
+- '--loaders=@0@'.format(loaders_cache.full_path()),
++ '--printer=gdk-pixbuf-print-mime-types',
+ '--bindir=@0@'.format(gdk_pixbuf_bindir),
+ '@INPUT@',
+ '@OUTPUT@',
+@@ -28,7 +26,6 @@ custom_target('thumbnailer',
+ depends: [
+ gdk_pixbuf_print_mime_types,
+ gdk_pixbuf_pixdata,
+- loaders_cache,
+ ],
+ install: true,
+ install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
+--
+2.17.1
+
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch
new file mode 100644
index 000000000..96c546f27
--- /dev/null
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch
@@ -0,0 +1,39 @@
+From 3c4a6c147ae8a0962ba9194373d8a41d14eed44f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 22 Feb 2019 13:23:55 +0100
+Subject: [PATCH] Do not run tests when building
+
+Upstream-Status: Inappropriate [cross-compile specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tests/meson.build | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/tests/meson.build b/tests/meson.build
+index 4fa3fbc..6ef7884 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -138,23 +138,6 @@ foreach t: installed_tests
+ install_dir: installed_test_bindir,
+ )
+
+- # Two particularly slow tests
+- if test_suites.contains('slow')
+- timeout = 300
+- else
+- timeout = 30
+- endif
+-
+- test(test_name, test_bin,
+- suite: test_suites,
+- args: [ '-k', '--tap' ],
+- env: [
+- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
+- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
+- 'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()),
+- ],
+- timeout: timeout,
+- )
+ endforeach
+
+ executable('pixbuf-read',
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch
deleted file mode 100644
index edbdced43..000000000
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/extending-libinstall-dependencies.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Upstream-Status: Pending
-
-This patch fixes parallel install issue that lib libpixbufloader-png.la
-depends on libgdk_pixbuf-2.0.la which will be regenerated during insta-
-llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time
-libpixbufloader-png.la links it, the error will happen.
-
-Error message is:
-* usr/bin/ld: cannot find -lgdk_pixbuf-2.0
-* collect2: ld returned 1 exit status
-
-Make an explicit dependency to the libs install targets would fix this
-issue.
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- gdk-pixbuf/Makefile.am | 1 +
- libdeps.mk | 3 +++
- 2 files changed, 4 insertions(+), 0 deletions(-)
- create mode 100644 libdeps.mk
-
-diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am
-index 95a93a8..db44cae 100644
---- a/gdk-pixbuf/Makefile.am
-+++ b/gdk-pixbuf/Makefile.am
-@@ -783,3 +783,4 @@ loaders.cache:
- endif
-
- -include $(top_srcdir)/git.mk
-+-include $(top_srcdir)/libdeps.mk
-diff --git a/libdeps.mk b/libdeps.mk
-new file mode 100644
-index 0000000..d7a10a8
---- /dev/null
-+++ b/libdeps.mk
-@@ -0,0 +1,3 @@
-+# Extending dependencies of install-loaderLTLIBRARIES:
-+# The $(lib-LTLIBRARIES) is needed by relinking $(loader_LTLIBRARIES)
-+install-loaderLTLIBRARIES: install-libLTLIBRARIES
---
-1.7.6.1
-
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
index 7d0d54baf..25410b11e 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
@@ -1,7 +1,7 @@
-From b6a7b30522455cab39a0b9ea8463313380146e70 Mon Sep 17 00:00:00 2001
+From f00603d58d844422363b896ea7d07aaf48ddaa66 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 1 Apr 2014 17:23:36 +0100
-Subject: [PATCH 3/4] gdk-pixbuf: add an option so that loader errors are fatal
+Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal
If an environment variable is specified set the return value from main() to
non-zero if the loader had errors (missing libraries, generally).
@@ -14,10 +14,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
-index a81c804..350bec8 100644
+index 312aa78..b813d99 100644
--- a/gdk-pixbuf/queryloaders.c
+++ b/gdk-pixbuf/queryloaders.c
-@@ -146,7 +146,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
+@@ -212,7 +212,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
g_string_append_c (contents, '\n');
}
@@ -26,7 +26,7 @@ index a81c804..350bec8 100644
query_module (GString *contents, const char *dir, const char *file)
{
char *path;
-@@ -155,6 +155,7 @@ query_module (GString *contents, const char *dir, const char *file)
+@@ -221,6 +221,7 @@ query_module (GString *contents, const char *dir, const char *file)
void (*fill_vtable) (GdkPixbufModule *module);
gpointer fill_info_ptr;
gpointer fill_vtable_ptr;
@@ -34,7 +34,7 @@ index a81c804..350bec8 100644
if (g_path_is_absolute (file))
path = g_strdup (file);
-@@ -204,10 +205,13 @@ query_module (GString *contents, const char *dir, const char *file)
+@@ -270,10 +271,13 @@ query_module (GString *contents, const char *dir, const char *file)
g_module_error());
else
g_fprintf (stderr, "Cannot load loader %s\n", path);
@@ -48,26 +48,26 @@ index a81c804..350bec8 100644
}
#ifdef G_OS_WIN32
-@@ -257,6 +261,7 @@ int main (int argc, char **argv)
- GString *contents;
- gchar *cache_file = NULL;
+@@ -314,6 +318,7 @@ int main (int argc, char **argv)
gint first_file = 1;
+ GFile *pixbuf_libdir_file;
+ gchar *pixbuf_libdir;
+ gboolean success = TRUE;
#ifdef G_OS_WIN32
gchar *libdir;
-@@ -370,7 +375,9 @@ int main (int argc, char **argv)
+@@ -452,7 +457,9 @@ int main (int argc, char **argv)
}
modules = g_list_sort (modules, (GCompareFunc)strcmp);
for (l = modules; l != NULL; l = l->next)
-- query_module (contents, path, l->data);
-+ if (!query_module (contents, path, l->data))
+- query_module (contents, moduledir, l->data);
++ if (!query_module (contents, moduledir, l->data))
+ success = FALSE;
+
g_list_free_full (modules, g_free);
+ g_free (moduledir);
#else
- g_string_append_printf (contents, "# dynamic loading of modules not supported\n");
-@@ -385,7 +392,8 @@ int main (int argc, char **argv)
+@@ -468,7 +475,8 @@ int main (int argc, char **argv)
infilename = g_locale_to_utf8 (infilename,
-1, NULL, NULL, NULL);
#endif
@@ -77,9 +77,9 @@ index a81c804..350bec8 100644
}
g_free (cwd);
}
-@@ -401,5 +409,8 @@ int main (int argc, char **argv)
- else
- g_print ("%s\n", contents->str);
+@@ -486,5 +494,8 @@ int main (int argc, char **argv)
+
+ g_free (pixbuf_libdir);
- return 0;
+ if (g_getenv ("GDK_PIXBUF_FATAL_LOADER"))
@@ -87,6 +87,3 @@ index a81c804..350bec8 100644
+ else
+ return 0;
}
---
-2.14.1
-
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch
deleted file mode 100644
index ecca62a71..000000000
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/hardcoded_libtool.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: gdk-pixbuf-2.22.1/configure.ac
-===================================================================
---- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-26 09:06:34.000000000 +0800
-+++ gdk-pixbuf-2.22.1/configure.ac 2010-11-26 09:07:33.000000000 +0800
-@@ -287,7 +287,7 @@
- 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
-@@ -484,7 +484,7 @@
- dnl Now we check to see if our libtool supports shared lib deps
- dnl (in a rather ugly way even)
- if $dynworks; then
-- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
-+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
- pixbuf_deplibs_check=`$pixbuf_libtool_config | \
- grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
- sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
-@@ -957,7 +957,7 @@
- # 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_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
- fi
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
deleted file mode 100644
index 99c84c6dd..000000000
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb
+++ /dev/null
@@ -1,102 +0,0 @@
-SUMMARY = "Image loading library for GTK+"
-HOMEPAGE = "http://www.gtk.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b"
-
-SECTION = "libs"
-
-DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info"
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
- file://hardcoded_libtool.patch \
- file://extending-libinstall-dependencies.patch \
- file://run-ptest \
- file://fatal-loader.patch \
- file://0001-Work-around-thumbnailer-cross-compile-failure.patch \
- file://0001-Fix-without-libtiff-not-having-an-effect.patch \
- "
-
-SRC_URI[md5sum] = "6e84e5485c17ce7c25df77fe76eb2d6a"
-SRC_URI[sha256sum] = "ae62ab87250413156ed72ef756347b10208c00e76b222d82d9ed361ed9dde2f3"
-
-inherit autotools pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
-
-LIBV = "2.10.0"
-
-GDK_PIXBUF_LOADERS ?= "png jpeg"
-
-PACKAGECONFIG ??= "${GDK_PIXBUF_LOADERS}"
-PACKAGECONFIG_linuxstdbase = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${GDK_PIXBUF_LOADERS}"
-PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}"
-
-PACKAGECONFIG[png] = "--with-libpng,--without-libpng,libpng"
-PACKAGECONFIG[jpeg] = "--with-libjpeg,--without-libjpeg,jpeg"
-PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff"
-PACKAGECONFIG[jpeg2000] = "--with-libjasper,--without-libjasper,jasper"
-
-PACKAGECONFIG[x11] = "--with-x11,--without-x11,virtual/libx11"
-
-PACKAGES =+ "${PN}-xlib"
-
-# For GIO image type sniffing
-RDEPENDS_${PN} = "shared-mime-info"
-
-FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
-ALLOW_EMPTY_${PN}-xlib = "1"
-
-FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
-
-FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer"
-
-FILES_${PN}-dev += " \
- ${bindir}/gdk-pixbuf-csource \
- ${bindir}/gdk-pixbuf-pixdata \
- ${bindir}/gdk-pixbuf-print-mime-types \
- ${includedir}/* \
- ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \
-"
-
-PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
-PACKAGES_DYNAMIC_class-native = ""
-
-python populate_packages_prepend () {
- postinst_pixbufloader = d.getVar("postinst_pixbufloader")
-
- loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders')
-
- packages = ' '.join(do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s'))
- d.setVar('PIXBUF_PACKAGES', packages)
-
- # The test suite exercises all the loaders, so ensure they are all
- # dependencies of the ptest package.
- d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages)
-}
-
-do_install_append() {
- # Move gdk-pixbuf-query-loaders into libdir so it is always available
- # in multilib builds.
- mv ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
-}
-
-do_install_append_class-native() {
- find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
-
- create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
-
- create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
-
- create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
-
- create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
- GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
-}
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
new file mode 100644
index 000000000..c5de7a92a
--- /dev/null
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
@@ -0,0 +1,136 @@
+SUMMARY = "Image loading library for GTK+"
+HOMEPAGE = "http://www.gtk.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \
+ "
+
+SECTION = "libs"
+
+DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
+ file://run-ptest \
+ file://fatal-loader.patch \
+ file://0001-Work-around-thumbnailer-cross-compile-failure.patch \
+ file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \
+ file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \
+ file://0004-Do-not-run-tests-when-building.patch \
+ "
+
+SRC_URI_append_class-target = " \
+ file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
+ "
+SRC_URI_append_class-nativesdk = " \
+ file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
+ "
+
+SRC_URI[md5sum] = "77765f24496dc8c90c6e0cbe10fd8f0e"
+SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47"
+
+inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
+
+GTKDOC_ENABLE_FLAG = "-Ddocs=true"
+GTKDOC_DISABLE_FLAG = "-Ddocs=false"
+
+GI_ENABLE_FLAG = "-Dgir=true"
+GI_DISABLE_FLAG = "-Dgir=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
+
+LIBV = "2.10.0"
+
+GDK_PIXBUF_LOADERS ?= "png jpeg"
+
+PACKAGECONFIG ??= "${GDK_PIXBUF_LOADERS}"
+PACKAGECONFIG_linuxstdbase = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${GDK_PIXBUF_LOADERS}"
+PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}"
+
+PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng"
+PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg"
+PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff"
+PACKAGECONFIG[jpeg2000] = "-Djasper=true,-Djasper=false,jasper"
+
+PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11"
+
+PACKAGES =+ "${PN}-xlib"
+
+# For GIO image type sniffing
+RDEPENDS_${PN} = "shared-mime-info"
+
+FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
+ALLOW_EMPTY_${PN}-xlib = "1"
+
+FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
+
+FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer"
+
+FILES_${PN}-dev += " \
+ ${bindir}/gdk-pixbuf-csource \
+ ${bindir}/gdk-pixbuf-pixdata \
+ ${bindir}/gdk-pixbuf-print-mime-types \
+ ${includedir}/* \
+ ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \
+"
+
+PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
+PACKAGES_DYNAMIC_class-native = ""
+
+python populate_packages_prepend () {
+ postinst_pixbufloader = d.getVar("postinst_pixbufloader")
+
+ loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders')
+
+ packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s'))
+ d.setVar('PIXBUF_PACKAGES', packages)
+
+ # The test suite exercises all the loaders, so ensure they are all
+ # dependencies of the ptest package.
+ d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages)
+}
+
+do_install_append() {
+ # Copy gdk-pixbuf-query-loaders into libdir so it is always available
+ # in multilib builds.
+ cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
+
+}
+
+do_install_append_class-native() {
+ find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
+
+ create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
+
+ create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
+
+ create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
+
+ create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
+ GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
+
+ create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
+ GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
+}
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
index b5992eba7..43abdcd85 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
@@ -1,4 +1,4 @@
-From 9661951838773251d0a914e897e8a0d95ce027f6 Mon Sep 17 00:00:00 2001
+From 499222d95a3d06bc425672d50e8c47868667250b Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 30 May 2017 14:55:49 +0300
Subject: [PATCH] Don't use AC_CANONICAL_HOST
@@ -14,12 +14,12 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index fb787dc..5caef0c 100644
+index 38e64bd..6ed480e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,6 @@ AC_PREREQ(2.53)
- AC_INIT([adwaita-icon-theme], [3.28.0],
+ AC_INIT([adwaita-icon-theme], [3.30.1],
[http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme])
-AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb
deleted file mode 100644
index 40dd35ba3..000000000
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.28.0.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "GTK+ icon theme"
-HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "x11/gnome"
-
-LICENSE = "LGPL-3.0 | CC-BY-SA-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c"
-
-inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even
-
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
- file://0001-Don-t-use-AC_CANONICAL_HOST.patch \
- file://0001-Run-installation-commands-as-shell-jobs.patch \
- "
-
-SRC_URI[md5sum] = "b25b2d82cbebf2cc9cd469457b604f2c"
-SRC_URI[sha256sum] = "7aae8c1dffd6772fd1a21a3d365a0ea28b7c3988bdbbeafbf8742cda68242150"
-
-do_install_append() {
- # Build uses gtk-encode-symbolic-svg to create png versions:
- # no need to store the svgs anymore.
- rm -f ${D}${prefix}/share/icons/Adwaita/scalable/*/*-symbolic.svg \
- ${D}${prefix}/share/icons/Adwaita/scalable/*/*-symbolic-rtl.svg
-}
-
-PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}"
-
-RREPLACES_${PN} = "gnome-icon-theme"
-RCONFLICTS_${PN} = "gnome-icon-theme"
-RPROVIDES_${PN} = "gnome-icon-theme"
-
-FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
-FILES_${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \
- ${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \
- ${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \
- ${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png"
-FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \
- ${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png"
-FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
- ${prefix}/share/icons/Adwaita/512x512/"
-FILES_${PN} = "${prefix}/share/icons/Adwaita/ \
- ${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb
new file mode 100644
index 000000000..8eadbd2ee
--- /dev/null
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb
@@ -0,0 +1,41 @@
+SUMMARY = "GTK+ icon theme"
+HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "LGPL-3.0 | CC-BY-SA-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c"
+
+inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
+ file://0001-Don-t-use-AC_CANONICAL_HOST.patch \
+ file://0001-Run-installation-commands-as-shell-jobs.patch \
+ "
+
+SRC_URI[md5sum] = "db3fd812821d72fdd9a3c7d622a95b35"
+SRC_URI[sha256sum] = "6d752a2b1bc668483956d4485c39cad1642d9358e133ff689526e43674a4e1ce"
+
+DEPENDS += "librsvg-native"
+
+PACKAGES = "${PN}-cursors ${PN}-symbolic-hires ${PN}-symbolic ${PN}-hires ${PN}"
+
+RREPLACES_${PN} = "gnome-icon-theme"
+RCONFLICTS_${PN} = "gnome-icon-theme"
+RPROVIDES_${PN} = "gnome-icon-theme"
+
+FILES_${PN}-cursors = "${prefix}/share/icons/Adwaita/cursors/"
+FILES_${PN}-symbolic-hires = "${prefix}/share/icons/Adwaita/96x96/*/*.symbolic.png \
+ ${prefix}/share/icons/Adwaita/64x64/*/*.symbolic.png \
+ ${prefix}/share/icons/Adwaita/48x48/*/*.symbolic.png \
+ ${prefix}/share/icons/Adwaita/32x32/*/*.symbolic.png"
+FILES_${PN}-symbolic = "${prefix}/share/icons/Adwaita/16x16/*/*.symbolic.png \
+ ${prefix}/share/icons/Adwaita/24x24/*/*.symbolic.png \
+ ${prefix}/share/icons/Adwaita/scalable/*/*-symbolic*.svg"
+FILES_${PN}-hires = "${prefix}/share/icons/Adwaita/256x256/ \
+ ${prefix}/share/icons/Adwaita/512x512/"
+FILES_${PN} = "${prefix}/share/icons/Adwaita/ \
+ ${prefix}/share/pkgconfig/adwaita-icon-theme.pc"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index 120ae3e02..e6742f37d 100644
--- a/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/poky/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -22,12 +22,11 @@ S = "${WORKDIR}/GConf-${PV}"
EXTRA_OECONF = "--enable-shared --disable-static \
--disable-orbit --with-openldap=no --disable-gtk"
-# Disable PolicyKit by default
-PACKAGECONFIG ??= ""
-# We really don't want PolicyKit for native
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
+# We really don't want Polkit for native
PACKAGECONFIG_class-native = ""
-PACKAGECONFIG[policykit] = "--enable-defaults-service,--disable-defaults-service,polkit"
+PACKAGECONFIG[polkit] = "--enable-defaults-service,--disable-defaults-service,polkit"
PACKAGECONFIG[debug] = "--enable-debug=yes, --enable-debug=minimum"
do_install_append() {
diff --git a/poky/meta/recipes-gnome/gnome/libart-lgpl/libart_lgpl-2.3.21-crosscompile.patch b/poky/meta/recipes-gnome/gnome/libart-lgpl/libart_lgpl-2.3.21-crosscompile.patch
deleted file mode 100644
index 0261f58c9..000000000
--- a/poky/meta/recipes-gnome/gnome/libart-lgpl/libart_lgpl-2.3.21-crosscompile.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-Taken from portage
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-From e1443c945a4cf67096d8c27721aadd7368382b3f Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 6 Apr 2010 15:22:25 +0200
-Subject: [PATCH 2/2] gentoo: use ISO types for fixed type size
-
----
- Makefile.am | 11 ++---------
- art_config.h | 5 +++++
- configure.in | 10 ----------
- 3 files changed, 7 insertions(+), 19 deletions(-)
- create mode 100644 art_config.h
-
-diff --git a/Makefile.am b/Makefile.am
-index 95952da..6aa2fe3 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,13 +2,6 @@ check_PROGRAMS = testart testuta
-
- bin_SCRIPTS = \
- libart2-config
--
--noinst_SCRIPTS = gen_art_config.sh
--
--BUILT_SOURCES = art_config.h
--
--art_config.h:
-- ./gen_art_config.sh > art_config.h
-
- EXTRA_DIST = \
- libart.def \
-@@ -173,5 +166,5 @@ install-data-local: install-ms-lib install-libtool-import-lib
-
- uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
-
--CLEANFILES = $(BUILT_SOURCES) $(bin_SCRIPTS)
--DISTCLEANFILES = $(BUILT_SOURCES) $(bin_SCRIPTS)
-+CLEANFILES = $(bin_SCRIPTS)
-+DISTCLEANFILES = $(bin_SCRIPTS)
-diff --git a/art_config.h b/art_config.h
-new file mode 100644
-index 0000000..5985f1f
---- a/art_config.h
-+++ b/art_config.h
-@@ -0,0 +1,5 @@
-+#include <stdint.h>
-+
-+typedef uint8_t art_u8;
-+typedef uint16_t art_u16;
-+typedef uint32_t art_u32;
-diff --git a/configure.in b/configure.in
-index e4804f7..ddcac4f 100644
---- a/configure.in
-+++ b/configure.in
-@@ -92,15 +92,6 @@ AC_FUNC_ALLOCA
-
- AC_C_BIGENDIAN
-
--AC_CHECK_SIZEOF(char)
--AC_SUBST(ART_SIZEOF_CHAR, $ac_cv_sizeof_char)
--AC_CHECK_SIZEOF(short)
--AC_SUBST(ART_SIZEOF_SHORT, $ac_cv_sizeof_short)
--AC_CHECK_SIZEOF(int)
--AC_SUBST(ART_SIZEOF_INT, $ac_cv_sizeof_int)
--AC_CHECK_SIZEOF(long)
--AC_SUBST(ART_SIZEOF_LONG, $ac_cv_sizeof_long)
--
- AC_CONFIG_FILES([
- libart-features.h
- Makefile
-@@ -109,6 +100,5 @@ libart-2.0-uninstalled.pc
- libart-zip])
-
- AC_CONFIG_FILES([libart-config],[chmod +x libart-config])
--AC_CONFIG_FILES([gen_art_config.sh],[chmod +x gen_art_config.sh])
-
- AC_OUTPUT
---
-1.7.0.4
-
diff --git a/poky/meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb b/poky/meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb
deleted file mode 100644
index 95581b297..000000000
--- a/poky/meta/recipes-gnome/gnome/libart-lgpl_2.3.21.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Library of functions for 2D graphics"
-SECTION = "x11/gnome"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-PR = "r2"
-
-# can't use gnome.oeclass due to _ in filename
-SRC_URI = "${GNOME_MIRROR}/libart_lgpl/2.3/libart_lgpl-${PV}.tar.bz2 \
- file://libart_lgpl-2.3.21-crosscompile.patch \
- "
-
-SRC_URI[md5sum] = "08559ff3c67fd95d57b0c5e91a6b4302"
-SRC_URI[sha256sum] = "fdc11e74c10fc9ffe4188537e2b370c0abacca7d89021d4d303afdf7fd7476fa"
-
-inherit autotools pkgconfig
-
-DEPENDS = ""
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_${PN}-dev += "${bindir}/libart2-config"
-
-S = "${WORKDIR}/libart_lgpl-${PV}"
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
new file mode 100644
index 000000000..80c9e71ad
--- /dev/null
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
@@ -0,0 +1,160 @@
+From ea25a5a755bc839d5b504aac207f860ae68109bc Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 15 Nov 2018 15:10:05 +0100
+Subject: [PATCH] Port cross-compilation support to meson
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gir/meson.build | 59 ++++++++++++++++++++++++++++++++++-------------
+ meson.build | 4 +++-
+ meson_options.txt | 20 ++++++++++++++++
+ 3 files changed, 66 insertions(+), 17 deletions(-)
+
+diff --git a/gir/meson.build b/gir/meson.build
+index 1cb514a..f873068 100644
+--- a/gir/meson.build
++++ b/gir/meson.build
+@@ -36,15 +36,27 @@ gir_files = [
+ typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
+ install_data(gir_files, install_dir: girdir)
+
+-scanner_command = [
+- python,
+- girscanner,
+- '--output=@OUTPUT@',
+- '--no-libtool',
+- '--reparse-validate',
+- '--add-include-path', join_paths(meson.current_build_dir()),
+- '--add-include-path', join_paths(meson.current_source_dir()),
+-]
++if get_option('enable-host-gi')
++ scanner_command = [
++ 'g-ir-scanner',
++ '--output=@OUTPUT@',
++ '--no-libtool',
++ '--reparse-validate',
++ '--add-include-path', join_paths(meson.current_build_dir()),
++ '--add-include-path', join_paths(meson.current_source_dir()),
++ ]
++else
++ scanner_command = [
++ python,
++ girscanner,
++ '--output=@OUTPUT@',
++ '--no-libtool',
++ '--reparse-validate',
++ '--add-include-path', join_paths(meson.current_build_dir()),
++ '--add-include-path', join_paths(meson.current_source_dir()),
++ ]
++endif
++
+
+ dep_type = glib_dep.type_name()
+ if dep_type == 'internal'
+@@ -57,6 +69,12 @@ if dep_type == 'internal'
+ '--extra-library=glib-2.0', '--extra-library=gobject-2.0']
+ endif
+
++if get_option('enable-gi-cross-wrapper') != ''
++ scanner_command += ['--use-binary-wrapper=' + get_option('enable-gi-cross-wrapper')]
++endif
++if get_option('enable-gi-ldd-wrapper') != ''
++ scanner_command += ['--use-ldd-wrapper=' + get_option('enable-gi-ldd-wrapper')]
++endif
+ # Take a glob and print to newlines
+ globber = '''
+ from glob import glob
+@@ -83,8 +101,8 @@ glib_command = scanner_command + [
+
+ if dep_type == 'pkgconfig'
+ glib_command += ['--external-library', '--pkg=glib-2.0']
+- glib_libdir = glib_dep.get_pkgconfig_variable('libdir')
+- glib_incdir = join_paths(glib_dep.get_pkgconfig_variable('includedir'), 'glib-2.0')
++ glib_libdir = get_option('pkgconfig-sysroot-path') + glib_dep.get_pkgconfig_variable('libdir')
++ glib_incdir = get_option('pkgconfig-sysroot-path') + join_paths(glib_dep.get_pkgconfig_variable('includedir'), 'glib-2.0')
+ glib_libincdir = join_paths(glib_libdir, 'glib-2.0', 'include')
+ glib_files += join_paths(glib_incdir, 'gobject', 'glib-types.h')
+ glib_files += join_paths(glib_libincdir, 'glibconfig.h')
+@@ -338,7 +356,7 @@ endforeach
+ if giounix_dep.found()
+ if dep_type == 'pkgconfig'
+ gio_command += ['--pkg=gio-unix-2.0']
+- giounix_includedir = join_paths(giounix_dep.get_pkgconfig_variable('includedir'), 'gio-unix-2.0')
++ giounix_includedir = get_option('pkgconfig-sysroot-path') + join_paths(giounix_dep.get_pkgconfig_variable('includedir'), 'gio-unix-2.0')
+ # Get the installed gio-unix header list
+ ret = run_command(python, '-c', globber.format(join_paths(giounix_includedir, 'gio', '*.h')))
+ if ret.returncode() != 0
+@@ -416,15 +434,24 @@ gir_files += custom_target('gir-girepository',
+ ]
+ )
+
++if get_option('enable-gi-cross-wrapper') != ''
++ gircompiler_command = [get_option('enable-gi-cross-wrapper'), gircompiler.full_path(), '-o', '@OUTPUT@', '@INPUT@',
++ '--includedir', meson.current_build_dir(),
++ '--includedir', meson.current_source_dir(),
++ ]
++else
++ gircompiler_command = [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
++ '--includedir', meson.current_build_dir(),
++ '--includedir', meson.current_source_dir(),
++ ]
++endif
++
+ foreach gir : gir_files
+ custom_target('generate-typelib-@0@'.format(gir).underscorify(),
+ input: gir,
+ output: '@BASENAME@.typelib',
+ depends: [gobject_gir, ],
+- command: [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
+- '--includedir', meson.current_build_dir(),
+- '--includedir', meson.current_source_dir(),
+- ],
++ command: gircompiler_command,
+ install: true,
+ install_dir: typelibdir,
+ )
+diff --git a/meson.build b/meson.build
+index 17acd82..e0bb495 100644
+--- a/meson.build
++++ b/meson.build
+@@ -81,7 +81,9 @@ libffi_dep = dependency('libffi',
+ subdir('girepository')
+ subdir('tools')
+ subdir('giscanner')
+-subdir('gir')
++if get_option('enable-introspection-data') == true
++ subdir('gir')
++endif
+ subdir('examples')
+ subdir('docs')
+ subdir('tests')
+diff --git a/meson_options.txt b/meson_options.txt
+index ee6958d..b168142 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -25,3 +25,23 @@ option('python', type: 'string', value: 'python3',
+ option('gir-dir-prefix', type: 'string',
+ description: 'Intermediate prefix for gir installation under ${prefix}'
+ )
++
++option('enable-host-gi', type: 'boolean', value : false,
++ description: 'Use gobject introspection tools installed in the host system (useful when cross-compiling)'
++)
++
++option('enable-gi-cross-wrapper', type: 'string',
++ description: 'Use a wrapper to run gicompiler and binaries produced by giscanner (useful when cross-compiling)'
++)
++
++option('enable-gi-ldd-wrapper', type: 'string',
++ description: 'Use a ldd wrapper instead of system ldd command in giscanner (useful when cross-compiling)'
++)
++
++option('enable-introspection-data', type: 'boolean', value : true,
++ description: 'Build introspection data (.gir and .typelib files) in addition to library and tools'
++)
++
++option('pkgconfig-sysroot-path', type: 'string',
++ description: 'Specify a sysroot path to prepend to pkgconfig output (useful when cross-compiling)'
++)
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
index ba85c317f..a91d22afa 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
@@ -1,4 +1,4 @@
-From 4cf37d56fddcc22bcd818f6d470404f56d907f3c Mon Sep 17 00:00:00 2001
+From 7ea8c83d84a05f686128e652a5447fb5f6fb68be Mon Sep 17 00:00:00 2001
From: Sascha Silbe <x-yo17@se-silbe.de>
Date: Fri, 8 Jun 2018 13:55:10 +0200
Subject: [PATCH] Relocate the repository directory for native builds
@@ -17,7 +17,8 @@ Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de>
---
girepository/girepository.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
+ girepository/meson.build | 2 +-
+ 2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/girepository/girepository.c b/girepository/girepository.c
index c1fa3d3..efa557e 100644
@@ -60,3 +61,16 @@ index c1fa3d3..efa557e 100644
typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
+diff --git a/girepository/meson.build b/girepository/meson.build
+index 6a8c5b5..8892f2a 100644
+--- a/girepository/meson.build
++++ b/girepository/meson.build
+@@ -27,7 +27,7 @@ girepo_internals_lib = static_library('girepository-internals',
+ ],
+ c_args: gi_hidden_visibility_cflags,
+ include_directories : configinc,
+- dependencies: [girepo_gthash_dep, libffi_dep],
++ dependencies: [girepo_gthash_dep, libffi_dep, cc.find_library('dl')],
+ )
+
+ girepo_internals_dep = declare_dependency(
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch
new file mode 100644
index 000000000..8eec5f867
--- /dev/null
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch
@@ -0,0 +1,66 @@
+From bbc34f00fd30a13eafc607a956de60d822260355 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Fri, 14 Sep 2018 01:26:38 -0700
+Subject: [PATCH] meson: add option 'gir-dir-prefix'
+
+Add option 'gir-dir-prefix' for meson to make the installation path of
+.gir files could be configured which has been done for autoconf.
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3938b86f5289c2b28a5ec42965b8da4b509445c4]
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ gir/meson.build | 1 -
+ meson.build | 8 +++++++-
+ meson_options.txt | 4 ++++
+ 3 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/gir/meson.build b/gir/meson.build
+index 607bbc4..1cb514a 100644
+--- a/gir/meson.build
++++ b/gir/meson.build
+@@ -34,7 +34,6 @@ gir_files = [
+ ]
+
+ typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
+-girdir = join_paths(get_option('datadir'), 'gir-1.0')
+ install_data(gir_files, install_dir: girdir)
+
+ scanner_command = [
+diff --git a/meson.build b/meson.build
+index a1432f7..17acd82 100644
+--- a/meson.build
++++ b/meson.build
+@@ -18,7 +18,12 @@ python = pymod.find_installation(get_option('python'))
+ cc = meson.get_compiler('c')
+ config = configuration_data()
+ config.set_quoted('GIR_SUFFIX', 'gir-1.0')
+-config.set_quoted('GIR_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'gir-1.0'))
++gir_dir_prefix = get_option('gir-dir-prefix')
++if gir_dir_prefix == ''
++ gir_dir_prefix = get_option('datadir')
++endif
++girdir = join_paths(get_option('prefix'), gir_dir_prefix, 'gir-1.0')
++config.set_quoted('GIR_DIR', girdir)
+ config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
+
+ foreach type : ['char', 'short', 'int', 'long']
+@@ -93,6 +98,7 @@ pkgconfig_conf.set('libdir', join_paths('${prefix}', get_option('libdir')))
+ pkgconfig_conf.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
+ pkgconfig_conf.set('datadir', '${datarootdir}')
+ pkgconfig_conf.set('includedir', join_paths('${prefix}', get_option('includedir')))
++pkgconfig_conf.set('GIR_DIR', join_paths('${prefix}', gir_dir_prefix, 'gir-1.0'))
+ if host_system == 'windows' or host_system == 'cygwin'
+ pkgconfig_conf.set('EXEEXT', '.exe')
+ else
+diff --git a/meson_options.txt b/meson_options.txt
+index 49726be..ee6958d 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -21,3 +21,7 @@ option('cairo-libname', type: 'string',
+ option('python', type: 'string', value: 'python3',
+ description: 'Path or name of the Python interpreter to build for'
+ )
++
++option('gir-dir-prefix', type: 'string',
++ description: 'Intermediate prefix for gir installation under ${prefix}'
++)
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
deleted file mode 100644
index 55ca87dda..000000000
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
+++ /dev/null
@@ -1,204 +0,0 @@
-SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
-HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "libs"
-LICENSE = "LGPLv2+ & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
- file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
- file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
- file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \
- "
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
- file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \
- file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \
- file://0003-giscanner-add-use-binary-wrapper-option.patch \
- file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \
- file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
- file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
- file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \
- file://0001-configure.ac-make-GIR_DIR-configurable.patch \
- file://0002-g-ir-tools-respect-gir_dir_prefix.patch \
- "
-
-SRC_URI[md5sum] = "94fec875276262037bfcd51226db12fe"
-SRC_URI[sha256sum] = "27c1590a32749de0a5481ce897772547043e94bccba4bc0a7edb3d8513e401ec"
-
-SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
-
-inherit autotools pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script
-
-MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
-
-DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
-
-# target build needs qemu to run temporary introspection binaries created
-# on the fly by g-ir-scanner and a native version of itself to run
-# native versions of its own tools during build.
-# Also prelink-rtld is used to find out library dependencies of introspection binaries
-# (standard ldd doesn't work when cross-compiling).
-DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
-
-# needed for writing out the qemu wrapper script
-export STAGING_DIR_HOST
-export B
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[doctool] = "--enable-doctool,--disable-doctool,python3-mako,"
-
-# Configure target build to use native tools of itself and to use a qemu wrapper
-# and optionally to generate introspection data
-EXTRA_OECONF_class-target = " \
- --disable-static \
- --enable-host-gi \
- --enable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
- --enable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection-data', '--disable-introspection-data', d)} \
- ${@'--with-gir-dir-prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
-"
-
-# Need to ensure ld.so.conf exists so prelink-native works
-# both before we build and if we install from sstate
-do_configure[prefuncs] += "gobject_introspection_preconfigure"
-python gobject_introspection_preconfigure () {
- oe.utils.write_ld_so_conf(d)
-}
-
-do_configure_prepend_class-native() {
- # Tweak the native python scripts so that they don't refer to the
- # full path of native python binary (the solution is taken from glib-2.0 recipe)
- # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
- sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
-}
-
-do_configure_prepend_class-target() {
- # Write out a qemu wrapper that will be given to gi-scanner so that it
- # can run target helper binaries through that.
- qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
- cat > ${B}/g-ir-scanner-qemuwrapper << EOF
-#!/bin/sh
-# Use a modules directory which doesn't exist so we don't load random things
-# which may then get deleted (or their dependencies) and potentially segfault
-export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
-
-$qemu_binary "\$@"
-if [ \$? -ne 0 ]; then
- echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
- echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
- exit 1
-fi
-EOF
- chmod +x ${B}/g-ir-scanner-qemuwrapper
-
- # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
- # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
- # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
- # from the target sysroot.
- cat > ${B}/g-ir-scanner-wrapper << EOF
-#!/bin/sh
-# This prevents g-ir-scanner from writing cache data to $HOME
-export GI_SCANNER_DISABLE_CACHE=1
-
-g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@"
-EOF
- chmod +x ${B}/g-ir-scanner-wrapper
-
- # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
- # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
- cat > ${B}/g-ir-compiler-wrapper << EOF
-#!/bin/sh
-${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
-EOF
- chmod +x ${B}/g-ir-compiler-wrapper
-
- # Write out a wrapper to use instead of ldd, which does not work when a binary is built
- # for a different architecture
- cat > ${B}/g-ir-scanner-lddwrapper << EOF
-#!/bin/sh
-prelink-rtld --root=$STAGING_DIR_HOST "\$@"
-EOF
- chmod +x ${B}/g-ir-scanner-lddwrapper
-
- # Also tweak the target python scripts so that they don't refer to the
- # native version of python binary (the solution is taken from glib-2.0 recipe)
- sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
-}
-
-do_compile_prepend() {
- # This prevents g-ir-scanner from writing cache data to $HOME
- export GI_SCANNER_DISABLE_CACHE=1
-
- # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
- export GIR_EXTRA_LIBS_PATH=$B/.libs
-}
-
-# Our wrappers need to be available system-wide, because they will be used
-# to build introspection files for all other gobject-based packages
-do_install_append_class-target() {
- install -d ${D}${bindir}/
- install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
- install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
- install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
- install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
-}
-
-# we need target versions of introspection tools in sysroot so that they can be run via qemu
-# when building introspection files in other packages
-SYSROOT_DIRS_append_class-target = " ${bindir}"
-
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess"
-gi_binaries_sysroot_preprocess() {
- # Tweak the binary names in the introspection pkgconfig file, so that it
- # picks up our wrappers which do the cross-compile and qemu magic.
- sed -i \
- -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
- -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
- ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
-}
-
-SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess"
-gi_ldsoconf_sysroot_preprocess () {
- mkdir -p ${SYSROOT_DESTDIR}${bindir}
- dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
- echo "#!/bin/sh" > $dest
- echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest
- echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
- echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
- chmod 755 $dest
-}
-
-# Remove wrapper files from the package, only used for cross-compiling
-PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess"
-gi_package_preprocess() {
- rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper
- rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper
- rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper
- rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper
-}
-
-SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
-
-# .typelib files are needed at runtime and so they go to the main package
-FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
-
-# .gir files go to dev package, as they're needed for developing (but not for running)
-# things that depends on introspection.
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
-
-# These are used by gobject-based packages
-# to generate transient introspection binaries
-FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
- ${datadir}/gobject-introspection-1.0/Makefile.introspection"
-
-# These are used by dependent packages (e.g. pygobject) to build their
-# testsuites.
-FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
- ${datadir}/gobject-introspection-1.0/tests/*.h"
-
-FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
-FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
-
-RDEPENDS_${PN} = "python3-pickle python3-xml"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb
new file mode 100644
index 000000000..4ff9b7bf4
--- /dev/null
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb
@@ -0,0 +1,206 @@
+SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
+HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "libs"
+LICENSE = "LGPLv2+ & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
+ file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
+ file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
+ file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \
+ "
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
+ file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \
+ file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \
+ file://0003-giscanner-add-use-binary-wrapper-option.patch \
+ file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \
+ file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
+ file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
+ file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \
+ file://0001-configure.ac-make-GIR_DIR-configurable.patch \
+ file://0002-g-ir-tools-respect-gir_dir_prefix.patch \
+ file://0010-meson-add-option-gir-dir-prefix.patch \
+ file://0001-Port-cross-compilation-support-to-meson.patch \
+ "
+
+SRC_URI[md5sum] = "182432c1f33886be8f4da073218b597d"
+SRC_URI[sha256sum] = "025b632bbd944dcf11fc50d19a0ca086b83baf92b3e34936d008180d28cdc3c8"
+
+SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
+
+inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
+
+DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
+
+# target build needs qemu to run temporary introspection binaries created
+# on the fly by g-ir-scanner and a native version of itself to run
+# native versions of its own tools during build.
+# Also prelink-rtld is used to find out library dependencies of introspection binaries
+# (standard ldd doesn't work when cross-compiling).
+DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
+
+# needed for writing out the qemu wrapper script
+export STAGING_DIR_HOST
+export B
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[doctool] = "-Ddoctool=true,-Ddoctool=false,python3-mako,"
+
+# Configure target build to use native tools of itself and to use a qemu wrapper
+# and optionally to generate introspection data
+EXTRA_OEMESON_class-target = " \
+ -Denable-host-gi=true \
+ -Denable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
+ -Denable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
+ -Dpkgconfig-sysroot-path=${PKG_CONFIG_SYSROOT_DIR} \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-introspection-data=true', '-Denable-introspection-data=false', d)} \
+ ${@'-Dgir-dir-prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
+"
+
+# Need to ensure ld.so.conf exists so prelink-native works
+# both before we build and if we install from sstate
+do_configure[prefuncs] += "gobject_introspection_preconfigure"
+python gobject_introspection_preconfigure () {
+ oe.utils.write_ld_so_conf(d)
+}
+
+do_configure_prepend_class-native() {
+ # Tweak the native python scripts so that they don't refer to the
+ # full path of native python binary (the solution is taken from glib-2.0 recipe)
+ # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
+ sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
+}
+
+do_configure_prepend_class-target() {
+ # Write out a qemu wrapper that will be given to gi-scanner so that it
+ # can run target helper binaries through that.
+ qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
+ cat > ${B}/g-ir-scanner-qemuwrapper << EOF
+#!/bin/sh
+# Use a modules directory which doesn't exist so we don't load random things
+# which may then get deleted (or their dependencies) and potentially segfault
+export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
+
+$qemu_binary "\$@"
+if [ \$? -ne 0 ]; then
+ echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help."
+ echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )"
+ exit 1
+fi
+EOF
+ chmod +x ${B}/g-ir-scanner-qemuwrapper
+
+ # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
+ # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
+ # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
+ # from the target sysroot.
+ cat > ${B}/g-ir-scanner-wrapper << EOF
+#!/bin/sh
+# This prevents g-ir-scanner from writing cache data to $HOME
+export GI_SCANNER_DISABLE_CACHE=1
+
+g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@"
+EOF
+ chmod +x ${B}/g-ir-scanner-wrapper
+
+ # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu.
+ # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent.
+ cat > ${B}/g-ir-compiler-wrapper << EOF
+#!/bin/sh
+${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@"
+EOF
+ chmod +x ${B}/g-ir-compiler-wrapper
+
+ # Write out a wrapper to use instead of ldd, which does not work when a binary is built
+ # for a different architecture
+ cat > ${B}/g-ir-scanner-lddwrapper << EOF
+#!/bin/sh
+prelink-rtld --root=$STAGING_DIR_HOST "\$@"
+EOF
+ chmod +x ${B}/g-ir-scanner-lddwrapper
+
+ # Also tweak the target python scripts so that they don't refer to the
+ # native version of python binary (the solution is taken from glib-2.0 recipe)
+ sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
+}
+
+do_compile_prepend() {
+ # This prevents g-ir-scanner from writing cache data to $HOME
+ export GI_SCANNER_DISABLE_CACHE=1
+
+ # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
+ export GIR_EXTRA_LIBS_PATH=$B/.libs
+}
+
+# Our wrappers need to be available system-wide, because they will be used
+# to build introspection files for all other gobject-based packages
+do_install_append_class-target() {
+ install -d ${D}${bindir}/
+ install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
+ install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
+ install ${B}/g-ir-compiler-wrapper ${D}${bindir}/
+ install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/
+}
+
+# we need target versions of introspection tools in sysroot so that they can be run via qemu
+# when building introspection files in other packages
+SYSROOT_DIRS_append_class-target = " ${bindir}"
+
+SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess"
+gi_binaries_sysroot_preprocess() {
+ # Tweak the binary names in the introspection pkgconfig file, so that it
+ # picks up our wrappers which do the cross-compile and qemu magic.
+ sed -i \
+ -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \
+ -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \
+ ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
+}
+
+SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess"
+gi_ldsoconf_sysroot_preprocess () {
+ mkdir -p ${SYSROOT_DESTDIR}${bindir}
+ dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
+ echo "#!/bin/sh" > $dest
+ echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest
+ echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
+ echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest
+ chmod 755 $dest
+}
+
+# Remove wrapper files from the package, only used for cross-compiling
+PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess"
+gi_package_preprocess() {
+ rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper
+ rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper
+ rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper
+ rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper
+}
+
+SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
+
+# .typelib files are needed at runtime and so they go to the main package
+FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
+
+# .gir files go to dev package, as they're needed for developing (but not for running)
+# things that depends on introspection.
+FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
+FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
+
+# These are used by gobject-based packages
+# to generate transient introspection binaries
+FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
+ ${datadir}/gobject-introspection-1.0/Makefile.introspection"
+
+# These are used by dependent packages (e.g. pygobject) to build their
+# testsuites.
+FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
+ ${datadir}/gobject-introspection-1.0/tests/*.h"
+
+FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
+FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
+
+RDEPENDS_${PN} = "python3-pickle python3-xml"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+.inc b/poky/meta/recipes-gnome/gtk+/gtk+.inc
index 14ed8d812..d6d14a79d 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/poky/meta/recipes-gnome/gtk+/gtk+.inc
@@ -26,7 +26,7 @@ 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.xml, --disable-man, libxslt-native xmlto-native"
+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
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3.inc b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
index 6331a4323..77b6c3153 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -12,6 +12,10 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check gobject-introspection
+BBCLASSEXTEND = "native nativesdk"
+
+GSETTINGS_PACKAGE_class-native = ""
+
# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
@@ -33,7 +37,6 @@ EXTRA_OECONF += " \
--disable-glibtest \
--disable-xinerama \
--enable-modules \
- --disable-cups \
--disable-colord \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "", "--disable-gtk-doc", d)} \
"
@@ -50,15 +53,32 @@ PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fon
PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,libepoxy"
PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,,libgl"
PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/mesa wayland-native"
+PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-do_install_append() {
- mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
+prepare_gtk_scripts() {
+ mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
# duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
mkdir -p ${D}${libexecdir}
ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
}
+do_install_append_class-target() {
+ prepare_gtk_scripts
+}
+
+do_install_append_class-nativesdk() {
+ prepare_gtk_scripts
+}
+
+do_install_append_class-native() {
+ create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+ create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+}
+
+PROVIDES += "gtk-icon-utils"
PACKAGES =+ "${PN}-demo"
LIBV = "3.0.0"
@@ -104,6 +124,10 @@ GTKBASE_RRECOMMENDS ?= "liberation-fonts \
shared-mime-info \
adwaita-icon-theme-symbolic \
"
+
+GTKBASE_RRECOMMENDS_class-native ?= "\
+ "
+
GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
@@ -123,11 +147,11 @@ python populate_packages_prepend () {
immodules_root = os.path.join(gtk_libdir, 'immodules')
printmodules_root = os.path.join(gtk_libdir, 'printbackends');
- immodules = do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s')
+ immodules = do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s')
if immodules:
d.setVar("GTKIMMODULES_PACKAGES", " ".join(immodules))
- do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s')
+ do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s')
if (d.getVar('DEBIAN_NAMES')):
d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-3.0')
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
index d2f12dc7f..e5a67d098 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
@@ -1,7 +1,7 @@
-From de36df70d87ba3453ed4f2b92e990021c67238f5 Mon Sep 17 00:00:00 2001
+From 9e243474eea4330b593e0f6dd418b61b79699d8b Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 21 Jun 2016 15:11:39 +0300
-Subject: [PATCH 3/4] Add --disable-opengl configure option
+Subject: [PATCH] Add --disable-opengl configure option
--disable-opengl will remove the dependency on libepoxy and on the
OpenGL APIs. This is useful for those who want to keep using gtk+3
@@ -21,32 +21,32 @@ Upstream-Status: Inappropriate [Evil eye expected from upstream]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
- configure.ac | 13 +++++--
- demos/gtk-demo/glarea.c | 14 ++++++++
- docs/tools/Makefile.am | 9 +++--
- docs/tools/widgets.c | 4 ++-
- gdk/gdkdisplay.c | 4 ++-
- gdk/gdkgl.c | 10 ++++++
- gdk/gdkglcontext.c | 6 ++++
- gdk/gdkwindow.c | 13 +++++++
- gdk/x11/Makefile.am | 30 +++++++++++++---
- gdk/x11/gdkdisplay-x11.c | 6 +++-
- gdk/x11/gdkscreen-x11.c | 5 +++
- gdk/x11/gdkwindow-x11.c | 4 +++
- gdk/x11/gdkx-autocleanups.h | 2 ++
+ configure.ac | 13 ++++-
+ demos/gtk-demo/glarea.c | 14 ++++++
+ docs/tools/Makefile.am | 9 +++-
+ docs/tools/widgets.c | 4 +-
+ gdk/gdkdisplay.c | 4 +-
+ gdk/gdkgl.c | 10 ++++
+ gdk/gdkglcontext.c | 6 +++
+ gdk/gdkwindow.c | 13 +++++
+ gdk/x11/Makefile.am | 30 +++++++++--
+ gdk/x11/gdkdisplay-x11.c | 6 ++-
+ gdk/x11/gdkscreen-x11.c | 5 ++
+ gdk/x11/gdkwindow-x11.c | 4 ++
+ gdk/x11/gdkx-autocleanups.h | 2 +
gdk/x11/{gdkx.h => gdkx-with-gl-context.h} | 1 -
- gdk/x11/gdkx-without-gl-context.h | 58 ++++++++++++++++++++++++++++++
+ gdk/x11/gdkx-without-gl-context.h | 58 ++++++++++++++++++++++
gtk/Makefile.am | 3 +-
- gtk/gtkglarea.c | 20 ++++++++++-
- gtk/inspector/general.c | 6 ++++
- tests/Makefile.am | 10 ++++--
- testsuite/gtk/objects-finalize.c | 2 ++
+ gtk/gtkglarea.c | 20 +++++++-
+ gtk/inspector/general.c | 6 +++
+ tests/Makefile.am | 10 ++--
+ testsuite/gtk/objects-finalize.c | 2 +
20 files changed, 202 insertions(+), 18 deletions(-)
rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%)
create mode 100644 gdk/x11/gdkx-without-gl-context.h
diff --git a/configure.ac b/configure.ac
-index 0a48875..6f0a3a6 100644
+index a91b29c..561d3b5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -351,6 +351,15 @@ AC_ARG_ENABLE(cloudproviders,
@@ -65,7 +65,7 @@ index 0a48875..6f0a3a6 100644
AC_ARG_ENABLE(glx,
[AS_HELP_STRING([--enable-glx],
[When enabled Gdk will try to initialize GLX])])
-@@ -1372,7 +1381,7 @@ CFLAGS="$saved_cflags"
+@@ -1381,7 +1390,7 @@ CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version"
@@ -74,7 +74,7 @@ index 0a48875..6f0a3a6 100644
PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES)
GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB"
-@@ -1406,7 +1415,7 @@ fi
+@@ -1415,7 +1424,7 @@ fi
PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version"
@@ -224,12 +224,12 @@ index 40225e9..c55e1de 100644
GdkRenderingMode
diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
-index 8e7b8c2..b579b22 100644
+index 933e204..1767508 100644
--- a/gdk/gdkgl.c
+++ b/gdk/gdkgl.c
-@@ -22,7 +22,9 @@
-
- #include "gdkinternals.h"
+@@ -26,7 +26,9 @@
+ # include "win32/gdkwin32.h"
+ #endif
+#ifdef HAVE_OPENGL
#include <epoxy/gl.h>
@@ -237,7 +237,7 @@ index 8e7b8c2..b579b22 100644
#include <math.h>
#include <string.h>
-@@ -36,6 +38,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
+@@ -40,6 +42,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
g_object_ref (window), g_object_unref);
}
@@ -245,7 +245,7 @@ index 8e7b8c2..b579b22 100644
static const char *
get_vertex_type_name (int type)
{
-@@ -208,6 +211,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
+@@ -212,6 +215,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
glUseProgram (paint_data->current_program->program);
}
}
@@ -253,7 +253,7 @@ index 8e7b8c2..b579b22 100644
void
gdk_gl_texture_quads (GdkGLContext *paint_context,
-@@ -216,6 +220,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
+@@ -220,6 +224,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
GdkTexturedQuad *quads,
gboolean flip_colors)
{
@@ -261,7 +261,7 @@ index 8e7b8c2..b579b22 100644
GdkGLContextPaintData *paint_data = gdk_gl_context_get_paint_data (paint_context);
GdkGLContextProgram *program;
GdkWindow *window = gdk_gl_context_get_window (paint_context);
-@@ -289,6 +294,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
+@@ -293,6 +298,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
glDisableVertexAttribArray (program->position_location);
glDisableVertexAttribArray (program->uv_location);
@@ -269,7 +269,7 @@ index 8e7b8c2..b579b22 100644
}
/* x,y,width,height describes a rectangle in the gl render buffer
-@@ -337,6 +343,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
+@@ -341,6 +347,7 @@ gdk_cairo_draw_from_gl (cairo_t *cr,
int width,
int height)
{
@@ -277,7 +277,7 @@ index 8e7b8c2..b579b22 100644
GdkGLContext *paint_context;
cairo_surface_t *image;
cairo_matrix_t matrix;
-@@ -707,6 +714,7 @@ out:
+@@ -718,6 +725,7 @@ out:
if (clip_region)
cairo_region_destroy (clip_region);
@@ -285,7 +285,7 @@ index 8e7b8c2..b579b22 100644
}
/* This is always called with the paint context current */
-@@ -714,6 +722,7 @@ void
+@@ -725,6 +733,7 @@ void
gdk_gl_texture_from_surface (cairo_surface_t *surface,
cairo_region_t *region)
{
@@ -293,14 +293,14 @@ index 8e7b8c2..b579b22 100644
GdkGLContext *paint_context;
cairo_surface_t *image;
double device_x_offset, device_y_offset;
-@@ -814,4 +823,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
+@@ -825,4 +834,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
glDisable (GL_SCISSOR_TEST);
glDeleteTextures (1, &texture_id);
+#endif
}
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
-index c79dca0..8a7bec2 100644
+index dfbed63..556f0a3 100644
--- a/gdk/gdkglcontext.c
+++ b/gdk/gdkglcontext.c
@@ -85,7 +85,9 @@
@@ -337,7 +337,7 @@ index c79dca0..8a7bec2 100644
GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
gboolean has_npot, has_texture_rectangle;
-@@ -847,6 +852,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
+@@ -853,6 +858,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
priv->use_texture_rectangle ? "yes" : "no"));
priv->extensions_checked = TRUE;
@@ -346,7 +346,7 @@ index c79dca0..8a7bec2 100644
/**
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
-index c0e0a7d..437ab03 100644
+index 6b231f0..904b86d 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -45,7 +45,9 @@
@@ -478,7 +478,7 @@ index 6289f3a..cbbac79 100644
+
-include $(top_srcdir)/git.mk
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
-index e9a263f..2829a31 100644
+index 659b9fa..b15536b 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -37,7 +37,9 @@
@@ -491,7 +491,7 @@ index e9a263f..2829a31 100644
#include "gdk-private.h"
#include <glib.h>
-@@ -3169,7 +3171,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
+@@ -3194,7 +3196,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
@@ -503,10 +503,10 @@ index e9a263f..2829a31 100644
display_class->get_default_seat = gdk_x11_display_get_default_seat;
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
-index 7bf9979..cd1cc9d 100644
+index 272cecd..2bb34ac 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
-@@ -1643,3 +1643,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
+@@ -1675,3 +1675,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
{
return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP");
}
@@ -516,7 +516,7 @@ index 7bf9979..cd1cc9d 100644
+void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {}
+#endif
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 3d6fd3b..2bd5c87 100644
+index c6205e4..df2334f 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -36,7 +36,9 @@
@@ -529,7 +529,7 @@ index 3d6fd3b..2bd5c87 100644
#include "gdkprivate-x11.h"
#include "gdk-private.h"
-@@ -5801,7 +5803,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
+@@ -5804,7 +5806,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
impl_class->show_window_menu = gdk_x11_window_show_window_menu;
@@ -633,10 +633,10 @@ index 0000000..c9e2617
+
+#endif /* __GDK_X_H__ */
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
-index 842c2f9..0921bc7 100644
+index 5594429..2259bb3 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
-@@ -1416,14 +1416,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins.
+@@ -1434,14 +1434,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins.
&& cp xgen-gptbc gtkprivatetypebuiltins.c \
&& rm -f xgen-gptbc
@@ -650,10 +650,10 @@ index 842c2f9..0921bc7 100644
- $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; }' >> xgen-gtf \
+ $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; s/^.*gdk_x11_gl.*$$/#ifdef HAVE_OPENGL\n&\n#endif/; }' >> xgen-gtf \
&& cp xgen-gtf $@ && rm -f xgen-gtf
- gtktestutils.c: gtktypefuncs.c
+ $(srcdir)/gtktestutils.c: gtktypefuncs.c
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
-index 094378e..f7c7f47 100644
+index ea383c0..bb4eb64 100644
--- a/gtk/gtkglarea.c
+++ b/gtk/gtkglarea.c
@@ -28,7 +28,9 @@
@@ -796,7 +796,7 @@ index c241ec8..24576dd 100644
if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
{
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index e2db6e4..e51cf34 100644
+index 7c5ca99..e4a4546 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -80,8 +80,6 @@ noinst_PROGRAMS = $(TEST_PROGS) \
@@ -808,7 +808,7 @@ index e2db6e4..e51cf34 100644
testgrid \
testgtk \
testheaderbar \
-@@ -170,12 +168,18 @@ noinst_PROGRAMS = $(TEST_PROGS) \
+@@ -172,12 +170,18 @@ noinst_PROGRAMS = $(TEST_PROGS) \
testactionbar \
testwindowsize \
testpopover \
@@ -842,6 +842,3 @@ index 0b3a519..07b096f 100644
#endif
/* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
---
-2.14.1
-
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch b/poky/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch
new file mode 100644
index 000000000..e4bbd799f
--- /dev/null
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch
@@ -0,0 +1,19 @@
+Link with libfribidi, this is to avoid under linking where these functions are
+used but the library is not linked in, and they are marked undefined by BFD linker
+but gold linker refuses to link
+
+| ./.libs/libgdk-3.so: error: undefined reference to 'fribidi_get_bidi_type'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+--- a/gdk/Makefile.am
++++ b/gdk/Makefile.am
+@@ -55,6 +55,7 @@ LDADD = \
+ -version-info $(LT_VERSION_INFO) \
+ -export-dynamic \
+ -rpath $(libdir) \
++ -lfribidi \
+ $(no_undefined)
+
+ #
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.22.30.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.22.30.bb
deleted file mode 100644
index 697b51854..000000000
--- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.22.30.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require gtk+3.inc
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
- file://0001-Hardcoded-libtool.patch \
- file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \
- file://0003-Add-disable-opengl-configure-option.patch \
- "
-SRC_URI[md5sum] = "61e60dc073e0a6893c72043d20579dc0"
-SRC_URI[sha256sum] = "a1a4a5c12703d4e1ccda28333b87ff462741dc365131fbc94c218ae81d9a6567"
-
-S = "${WORKDIR}/gtk+-${PV}"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
- file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
- file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
- file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb
new file mode 100644
index 000000000..92c9a3ebf
--- /dev/null
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb
@@ -0,0 +1,19 @@
+require gtk+3.inc
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
+ file://0001-Hardcoded-libtool.patch \
+ file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \
+ file://0003-Add-disable-opengl-configure-option.patch \
+ file://link_fribidi.patch \
+ "
+SRC_URI[md5sum] = "32862355c08f6af3e7848c695cd4081b"
+SRC_URI[sha256sum] = "0be5fb0d302bc3de26ab58c32990d895831e2b7c7418d0ffea1206d6a3ddb02f"
+
+S = "${WORKDIR}/gtk+-${PV}"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+ file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
+ file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
+ file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb b/poky/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb
index 89fca736b..682d31e49 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb
@@ -27,8 +27,8 @@ python populate_packages_prepend () {
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, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s')))
- do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
+ 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/poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb b/poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb
deleted file mode 100644
index 28e7a312d..000000000
--- a/poky/meta/recipes-gnome/gtk+/gtk-icon-utils-native_3.22.30.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Native icon utils for GTK+"
-DESCRIPTION = "gtk-update-icon-cache and gtk-encode-symbolic-svg built from GTK+ natively, for build time and on-host postinst script execution."
-SECTION = "libs"
-
-DEPENDS = "glib-2.0-native gdk-pixbuf-native librsvg-native"
-
-LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
- file://Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch"
-SRC_URI[md5sum] = "61e60dc073e0a6893c72043d20579dc0"
-SRC_URI[sha256sum] = "a1a4a5c12703d4e1ccda28333b87ff462741dc365131fbc94c218ae81d9a6567"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
- file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
- file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
- file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
-
-S = "${WORKDIR}/gtk+-${PV}"
-
-inherit pkgconfig native
-
-# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
-UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
-
-PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
-
-do_configure() {
- # Quite ugly but defines enough to compile the tools.
- if ! test -f gtk/config.h; then
- echo "#define GETTEXT_PACKAGE \"gtk30\"" >> gtk/config.h
- echo "#define HAVE_UNISTD_H 1" >> gtk/config.h
- echo "#define HAVE_FTW_H 1" >> gtk/config.h
- fi
- if ! test -f gdk/config.h; then
- touch gdk/config.h
- fi
-}
-
-do_compile() {
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
- ${S}/gtk/updateiconcache.c \
- $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gdk-pixbuf-2.0) \
- -o gtk-update-icon-cache
-
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
- ${S}/gtk/encodesymbolic.c \
- $(${PKG_CONFIG_FOR_BUILD} --cflags --libs gio-2.0 gdk-pixbuf-2.0) \
- -o gtk-encode-symbolic-svg
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/gtk-update-icon-cache ${D}${bindir}
- install -m 0755 ${B}/gtk-encode-symbolic-svg ${D}${bindir}
-
- create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
- create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
-}
diff --git a/poky/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch b/poky/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
deleted file mode 100644
index 237f80375..000000000
--- a/poky/meta/recipes-gnome/gtk+/gtk-icon-utils/Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 4d09ff324419fe4e671233044e424378da53969b Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 9 Jun 2015 14:20:30 +0300
-Subject: [PATCH] Remove Gdk-dependency from gtk-encode-symbolic-svg
-
-Building gtk-encode-symbolic-svg without building Gdk is useful
-as only the icon tools are needed on the native build: this makes
-native build much faster and requires much less dependencies.
-
-Upstream-Status: Pending
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- gtk/encodesymbolic.c | 36 ++++++++++--------------------------
- 1 file changed, 10 insertions(+), 26 deletions(-)
-
-diff --git a/gtk/encodesymbolic.c b/gtk/encodesymbolic.c
-index 9f7d015..1f07563 100644
---- a/gtk/encodesymbolic.c
-+++ b/gtk/encodesymbolic.c
-@@ -19,7 +19,6 @@
-
- #include <glib.h>
- #include <gdk-pixbuf/gdk-pixdata.h>
--#include <gdk/gdk.h>
- #include <glib/gi18n.h>
-
- #ifdef HAVE_UNISTD_H
-@@ -43,30 +42,18 @@ static GdkPixbuf *
- load_symbolic_svg (char *file_data, gsize file_len,
- int width,
- int height,
-- const GdkRGBA *fg,
-- const GdkRGBA *success_color,
-- const GdkRGBA *warning_color,
-- const GdkRGBA *error_color,
-+ const char *css_fg,
-+ const char *css_success,
-+ const char *css_warning,
-+ const char *css_error,
- GError **error)
- {
- GInputStream *stream;
- GdkPixbuf *pixbuf;
-- gchar *css_fg;
-- gchar *css_success;
-- gchar *css_warning;
-- gchar *css_error;
- gchar *data;
- gchar *svg_width, *svg_height;
- gchar *escaped_file_data;
-
-- css_fg = gdk_rgba_to_string (fg);
--
-- css_success = css_warning = css_error = NULL;
--
-- css_warning = gdk_rgba_to_string (warning_color);
-- css_error = gdk_rgba_to_string (error_color);
-- css_success = gdk_rgba_to_string (success_color);
--
- /* Fetch size from the original icon */
- stream = g_memory_input_stream_new_from_data (file_data, file_len, NULL);
- pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, error);
-@@ -105,10 +92,6 @@ load_symbolic_svg (char *file_data, gsize file_len,
- "</svg>",
- NULL);
- g_free (escaped_file_data);
-- g_free (css_fg);
-- g_free (css_warning);
-- g_free (css_error);
-- g_free (css_success);
- g_free (svg_width);
- g_free (svg_height);
-
-@@ -167,7 +150,8 @@ make_symbolic_pixbuf (char *file,
- GError **error)
-
- {
-- GdkRGBA r = { 1,0,0,1}, g = {0,1,0,1};
-+ const char r[] = "rgba(255,0,0,1)";
-+ const char g[] = "rgba(0,255,0,1)";
- GdkPixbuf *loaded;
- GdkPixbuf *pixbuf;
- int plane;
-@@ -196,10 +180,10 @@ make_symbolic_pixbuf (char *file,
- * the "rest", as all color fractions should add up to 1.
- */
- loaded = load_symbolic_svg (file_data, file_len, width, height,
-- &g,
-- plane == 0 ? &r : &g,
-- plane == 1 ? &r : &g,
-- plane == 2 ? &r : &g,
-+ g,
-+ plane == 0 ? r : g,
-+ plane == 1 ? r : g,
-+ plane == 2 ? r : g,
- error);
- if (loaded == NULL)
- return NULL;
---
-2.1.4
-
diff --git a/poky/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb b/poky/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
index 7064b1942..fb8033448 100644
--- a/poky/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
+++ b/poky/meta/recipes-gnome/hicolor-icon-theme/hicolor-icon-theme_0.17.bb
@@ -12,3 +12,5 @@ SRC_URI[sha256sum] = "317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d5
inherit allarch autotools
FILES_${PN} += "${datadir}/icons"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib/run-ptest b/poky/meta/recipes-gnome/json-glib/json-glib/run-ptest
new file mode 100644
index 000000000..0c6398a17
--- /dev/null
+++ b/poky/meta/recipes-gnome/json-glib/json-glib/run-ptest
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+gnome-desktop-testing-runner json-glib
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.2.bb b/poky/meta/recipes-gnome/json-glib/json-glib_1.4.2.bb
deleted file mode 100644
index 19fe3cc44..000000000
--- a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.2.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "JSON-GLib implements a full JSON parser using GLib and GObject"
-DESCRIPTION = "Use JSON-GLib it is possible to parse and generate valid JSON\
- data structures, using a DOM-like API. JSON-GLib also offers GObject \
-integration, providing the ability to serialize and deserialize GObject \
-instances to and from JSON data types."
-HOMEPAGE = "http://live.gnome.org/JsonGlib"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-DEPENDS = "glib-2.0"
-
-SRC_URI[archive.md5sum] = "35107e23a7bbbc70f31c34f7b9adf1c3"
-SRC_URI[archive.sha256sum] = "2d7709a44749c7318599a6829322e081915bdc73f5be5045882ed120bb686dc8"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase lib_package gobject-introspection gtk-doc gettext
-
-# This builds both API docs (via gtk-doc) and manpages
-GTKDOC_ENABLE_FLAG = "-Ddocs=true"
-GTKDOC_DISABLE_FLAG = "-Ddocs=false"
-
-GI_ENABLE_FLAG = "-Dintrospection=true"
-GI_DISABLE_FLAG = "-Dintrospection=false"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
- '${GTKDOC_DISABLE_FLAG}', d)} "
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
- '${GI_DISABLE_FLAG}', d)} "
-
-do_install_append() {
- # FIXME: these need to be provided via ptest
- rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir}
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
-# Currently it's not possible to disable gettext in Meson, so we need to force
-# this back on.
-USE_NLS_class-native = "yes"
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb b/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb
new file mode 100644
index 000000000..95f90569d
--- /dev/null
+++ b/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb
@@ -0,0 +1,44 @@
+SUMMARY = "JSON-GLib implements a full JSON parser using GLib and GObject"
+DESCRIPTION = "Use JSON-GLib it is possible to parse and generate valid JSON\
+ data structures, using a DOM-like API. JSON-GLib also offers GObject \
+integration, providing the ability to serialize and deserialize GObject \
+instances to and from JSON data types."
+HOMEPAGE = "http://live.gnome.org/JsonGlib"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+DEPENDS = "glib-2.0"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase lib_package gobject-introspection gtk-doc gettext ptest-gnome manpages
+
+SRC_URI += "file://run-ptest"
+SRC_URI[archive.md5sum] = "4d4bb9837f6d31e32d0ce658ae135f68"
+SRC_URI[archive.sha256sum] = "720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47"
+
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native"
+
+# This builds both API docs (via gtk-doc)
+GTKDOC_ENABLE_FLAG = "-Ddocs=true"
+GTKDOC_DISABLE_FLAG = "-Ddocs=false"
+
+GI_ENABLE_FLAG = "-Dintrospection=true"
+GI_DISABLE_FLAG = "-Dintrospection=false"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
+
+do_install_append() {
+ if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
+ rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir}
+ fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Currently it's not possible to disable gettext in Meson, so we need to force
+# this back on.
+USE_NLS_class-native = "yes"
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch b/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch
new file mode 100644
index 000000000..c959d4397
--- /dev/null
+++ b/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch
@@ -0,0 +1,26 @@
+From 546d53c3515e8a488a204763437d1fa0917097e5 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 11 Dec 2018 12:39:30 +0100
+Subject: [PATCH] Add a define so that gir compilation succeeds
+
+For some reason meson 0.49.0 does not anymore pass global arguments to gir compiler.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index 6ff8a6a..f0b2887 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -132,7 +132,7 @@ if get_option('with_introspection')
+ install_dir_gir: girdir,
+ install_dir_typelib: typelibdir,
+ export_packages: libdazzle_package,
+- extra_args: [ '--c-include=dazzle.h', '--quiet' ],
++ extra_args: [ '--c-include=dazzle.h', '--quiet', '-DDAZZLE_COMPILATION' ],
+ )
+
+ if get_option('with_vapi')
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb
new file mode 100644
index 000000000..3779b15af
--- /dev/null
+++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+."
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection
+
+DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
+
+SRC_URI += " file://0001-Add-a-define-so-that-gir-compilation-succeeds.patch"
+SRC_URI[archive.md5sum] = "24e2e1b914a34f5b8868a9507d1f3c4c"
+SRC_URI[archive.sha256sum] = "78770eae9fa15ac5acb9c733d29459330b2540affbf72933119e36dbd90b36d5"
+
+GI_ENABLE_FLAG = "-Dwith_introspection=true"
+GI_DISABLE_FLAG = "-Dwith_introspection=false"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.6.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.6.bb
deleted file mode 100644
index 518c71feb..000000000
--- a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.6.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
-
-inherit gnomebase gtk-doc vala gobject-introspection manpages
-
-DEPENDS += "glib-2.0 libgcrypt gettext-native intltool-native"
-
-PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
-
-SRC_URI[archive.md5sum] = "c6cf132a56bd346fbf49a43abb02e5c2"
-SRC_URI[archive.sha256sum] = "5efbc890ba41a323ffe0599cd260fd12bd8eb62a04aa1bd1b2762575d253d66f"
-
-# http://errors.yoctoproject.org/Errors/Details/20228/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes
-do_configure_prepend() {
- rm -f ${S}/build/m4/vapigen.m4
-}
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb
new file mode 100644
index 000000000..ba38d107f
--- /dev/null
+++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb
@@ -0,0 +1,22 @@
+SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
+
+inherit gnomebase gtk-doc vala gobject-introspection manpages
+
+DEPENDS += "glib-2.0 libgcrypt gettext-native"
+
+PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
+
+SRC_URI[archive.md5sum] = "376153ece17081eb5410870e0dc5c031"
+SRC_URI[archive.sha256sum] = "0d66fe1fc4561b3e046ee281d7c5a703a9baac88a8c4fb42ebc739d31dabd487"
+
+# http://errors.yoctoproject.org/Errors/Details/20228/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes
+do_configure_prepend() {
+ rm -f ${S}/build/m4/vapigen.m4
+}
diff --git a/poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch b/poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch
deleted file mode 100644
index 7d02ab947..000000000
--- a/poky/meta/recipes-graphics/cairo/cairo/0001-cairo-Fix-CVE-2017-9814.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 042421e9e3d266ad0bb7805132041ef51ad3234d Mon Sep 17 00:00:00 2001
-From: Adrian Johnson <ajohnson@redneon.com>
-Date: Wed, 16 Aug 2017 22:52:35 -0400
-Subject: [PATCH] cairo: Fix CVE-2017-9814
-
-The bug happens because in some scenarios the variable size can
-have a value of 0 at line 1288. And malloc(0) is not returning
-NULL as some people could expect:
-
- https://stackoverflow.com/questions/1073157/zero-size-malloc
-
-malloc(0) returns the smallest chunk possible. So the line 1290
-with the return is not execute. And the execution continues with
-an invalid map.
-
-Since the size is 0 the variable map is not initialized correctly
-at load_trutype_table. So, later when the variable map is accessed
-previous values from a freed chunk are used. This could allows an
-attacker to control the variable map.
-
-This patch have not merge in upstream now.
-
-Upstream-Status: Backport [https://bugs.freedesktop.org/show_bug.cgi?id=101547]
-CVE: CVE-2017-9814
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- src/cairo-truetype-subset.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/cairo-truetype-subset.c b/src/cairo-truetype-subset.c
-index e3449a0..f77d11c 100644
---- a/src/cairo-truetype-subset.c
-+++ b/src/cairo-truetype-subset.c
-@@ -1285,7 +1285,7 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font,
- return CAIRO_INT_STATUS_UNSUPPORTED;
-
- size = be16_to_cpu (map->length);
-- map = malloc (size);
-+ map = _cairo_malloc (size);
- if (unlikely (map == NULL))
- return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
---
-2.8.1
-
diff --git a/poky/meta/recipes-graphics/cairo/cairo/CVE-2018-19876.patch b/poky/meta/recipes-graphics/cairo/cairo/CVE-2018-19876.patch
new file mode 100644
index 000000000..4252a5663
--- /dev/null
+++ b/poky/meta/recipes-graphics/cairo/cairo/CVE-2018-19876.patch
@@ -0,0 +1,34 @@
+CVE: CVE-2018-19876
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001
+From: Carlos Garcia Campos <cgarcia@igalia.com>
+Date: Mon, 19 Nov 2018 12:33:07 +0100
+Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in
+ cairo_ft_apply_variations
+
+Fixes a crash when using freetype >= 2.9
+---
+ src/cairo-ft-font.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
+index 325dd61b4..981973f78 100644
+--- a/src/cairo-ft-font.c
++++ b/src/cairo-ft-font.c
+@@ -2393,7 +2393,11 @@ skip:
+ done:
+ free (coords);
+ free (current_coords);
++#if HAVE_FT_DONE_MM_VAR
++ FT_Done_MM_Var (face->glyph->library, ft_mm_var);
++#else
+ free (ft_mm_var);
++#endif
+ }
+ }
+
+--
+2.11.0
+
diff --git a/poky/meta/recipes-graphics/cairo/cairo/CVE-2019-6461.patch b/poky/meta/recipes-graphics/cairo/cairo/CVE-2019-6461.patch
new file mode 100644
index 000000000..5232cf70c
--- /dev/null
+++ b/poky/meta/recipes-graphics/cairo/cairo/CVE-2019-6461.patch
@@ -0,0 +1,19 @@
+There is a potential infinite-loop in function _arc_error_normalized().
+
+CVE: CVE-2019-6461
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/src/cairo-arc.c b/src/cairo-arc.c
+index 390397bae..f9249dbeb 100644
+--- a/src/cairo-arc.c
++++ b/src/cairo-arc.c
+@@ -99,7 +99,7 @@ _arc_max_angle_for_tolerance_normalized (double tolerance)
+ do {
+ angle = M_PI / i++;
+ error = _arc_error_normalized (angle);
+- } while (error > tolerance);
++ } while (error > tolerance && error > __DBL_EPSILON__);
+
+ return angle;
+ }
diff --git a/poky/meta/recipes-graphics/cairo/cairo/CVE-2019-6462.patch b/poky/meta/recipes-graphics/cairo/cairo/CVE-2019-6462.patch
new file mode 100644
index 000000000..4e4598c5b
--- /dev/null
+++ b/poky/meta/recipes-graphics/cairo/cairo/CVE-2019-6462.patch
@@ -0,0 +1,20 @@
+There is an assertion in function _cairo_arc_in_direction().
+
+CVE: CVE-2019-6462
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/src/cairo-arc.c b/src/cairo-arc.c
+index 390397bae..1bde774a4 100644
+--- a/src/cairo-arc.c
++++ b/src/cairo-arc.c
+@@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t *cr,
+ if (cairo_status (cr))
+ return;
+
+- assert (angle_max >= angle_min);
++ if (angle_max < angle_min)
++ return;
+
+ if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) {
+ angle_max = fmod (angle_max - angle_min, 2 * M_PI);
diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb b/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb
deleted file mode 100644
index 18b947948..000000000
--- a/poky/meta/recipes-graphics/cairo/cairo_1.14.12.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-SUMMARY = "The Cairo 2D vector graphics library"
-DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \
-vector-based rendering for multiple target backends. Paths consist \
-of line segments and cubic splines and can be rendered at any width \
-with various join and cap styles. All colors may be specified with \
-optional translucence (opacity/alpha) and combined using the \
-extended Porter/Duff compositing algebra as found in the X Render \
-Extension."
-HOMEPAGE = "http://cairographics.org"
-BUGTRACKER = "http://bugs.freedesktop.org"
-SECTION = "libs"
-
-LICENSE = "MPL-1 & LGPLv2.1 & GPLv3+"
-LICENSE_${PN} = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-doc = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-perf-utils = "GPLv3+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
-
-DEPENDS = "fontconfig glib-2.0 libpng pixman zlib"
-
-SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
- file://cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff \
- file://0001-cairo-Fix-CVE-2017-9814.patch \
- "
-
-SRC_URI[md5sum] = "9f0db9dbfca0966be8acd682e636d165"
-SRC_URI[sha256sum] = "8c90f00c500b2299c0a323dd9beead2a00353752b2092ead558139bd67f7bf16"
-
-inherit autotools pkgconfig upstream-version-is-even gtk-doc multilib_script
-
-MULTILIB_SCRIPTS = "${PN}-perf-utils:${bindir}/cairo-trace"
-
-X11DEPENDS = "virtual/libx11 libsm libxrender libxext"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}"
-
-PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}"
-PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb"
-PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb"
-PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind"
-PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl"
-PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2"
-PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
-
-EXTRA_OECONF += " \
- ${@bb.utils.contains('TARGET_FPU', 'soft', '--disable-some-floating-point', '', d)} \
- --enable-tee \
-"
-
-# We don't depend on binutils so we need to disable this
-export ac_cv_lib_bfd_bfd_openr="no"
-# Ensure we don't depend on LZO
-export ac_cv_lib_lzo2_lzo2a_decompress="no"
-
-do_install_append () {
- rm -rf ${D}${bindir}/cairo-sphinx
- rm -rf ${D}${libdir}/cairo/cairo-fdr*
- rm -rf ${D}${libdir}/cairo/cairo-sphinx*
- rm -rf ${D}${libdir}/cairo/.debug/cairo-fdr*
- rm -rf ${D}${libdir}/cairo/.debug/cairo-sphinx*
-}
-
-PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
-
-SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library"
-DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API."
-
-SUMMARY_cairo-script-interpreter = "The Cairo library script interpreter"
-DESCRIPTION_cairo-script-interpreter = "The Cairo script interpreter implements \
-CairoScript. CairoScript is used by tracing utilities to enable the ability \
-to replay rendering."
-
-DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities"
-
-FILES_${PN} = "${libdir}/libcairo.so.*"
-FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*"
-FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
-FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so.*"
-FILES_${PN}-dev += "${libdir}/cairo/*.so"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb
new file mode 100644
index 000000000..c2628ae0c
--- /dev/null
+++ b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb
@@ -0,0 +1,90 @@
+SUMMARY = "The Cairo 2D vector graphics library"
+DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \
+vector-based rendering for multiple target backends. Paths consist \
+of line segments and cubic splines and can be rendered at any width \
+with various join and cap styles. All colors may be specified with \
+optional translucence (opacity/alpha) and combined using the \
+extended Porter/Duff compositing algebra as found in the X Render \
+Extension."
+HOMEPAGE = "http://cairographics.org"
+BUGTRACKER = "http://bugs.freedesktop.org"
+SECTION = "libs"
+
+LICENSE = "MPL-1 & LGPLv2.1 & GPLv3+"
+LICENSE_${PN} = "MPL-1 & LGPLv2.1"
+LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1"
+LICENSE_${PN}-doc = "MPL-1 & LGPLv2.1"
+LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1"
+LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1"
+LICENSE_${PN}-perf-utils = "GPLv3+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
+
+DEPENDS = "fontconfig glib-2.0 libpng pixman zlib"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
+ file://cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff \
+ file://CVE-2018-19876.patch \
+ file://CVE-2019-6461.patch \
+ file://CVE-2019-6462.patch \
+ "
+
+SRC_URI[md5sum] = "f19e0353828269c22bd72e271243a552"
+SRC_URI[sha256sum] = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331"
+
+inherit autotools pkgconfig upstream-version-is-even gtk-doc multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-perf-utils:${bindir}/cairo-trace"
+
+X11DEPENDS = "virtual/libx11 libsm libxrender libxext"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}"
+
+PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}"
+PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb"
+PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb"
+PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind"
+PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl"
+PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2"
+PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
+
+EXTRA_OECONF += " \
+ ${@bb.utils.contains('TARGET_FPU', 'soft', '--disable-some-floating-point', '', d)} \
+ --enable-tee \
+"
+
+# We don't depend on binutils so we need to disable this
+export ac_cv_lib_bfd_bfd_openr="no"
+# Ensure we don't depend on LZO
+export ac_cv_lib_lzo2_lzo2a_decompress="no"
+
+do_install_append () {
+ rm -rf ${D}${bindir}/cairo-sphinx
+ rm -rf ${D}${libdir}/cairo/cairo-fdr*
+ rm -rf ${D}${libdir}/cairo/cairo-sphinx*
+ rm -rf ${D}${libdir}/cairo/.debug/cairo-fdr*
+ rm -rf ${D}${libdir}/cairo/.debug/cairo-sphinx*
+}
+
+PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
+
+SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library"
+DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API."
+
+SUMMARY_cairo-script-interpreter = "The Cairo library script interpreter"
+DESCRIPTION_cairo-script-interpreter = "The Cairo script interpreter implements \
+CairoScript. CairoScript is used by tracing utilities to enable the ability \
+to replay rendering."
+
+DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities"
+
+FILES_${PN} = "${libdir}/libcairo.so.*"
+FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*"
+FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
+FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so"
+
+BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = "cairo-(?P<pver>\d+(\.\d+)+).tar.xz"
diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb
deleted file mode 100644
index 8a0dda542..000000000
--- a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.26.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require clutter-gst-3.0.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4"
-
-SRC_URI[archive.md5sum] = "7809ca6ce9d1a3490597fd4a7375c389"
-SRC_URI[archive.sha256sum] = "d8618a6d9accec0f2a8574c5e1220051f8505fb82b20336c26bdbd482aa6cb3a"
diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb
new file mode 100644
index 000000000..35382453c
--- /dev/null
+++ b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb
@@ -0,0 +1,7 @@
+require clutter-gst-3.0.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4"
+
+SRC_URI[archive.md5sum] = "2bf9d7ca146c9d71e86c45cd00e9a28e"
+SRC_URI[archive.sha256sum] = "fe69bd6c659d24ab30da3f091eb91cd1970026d431179b0724f13791e8ad9f9d"
diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
index 05c4e5f5c..4e82f5660 100644
--- a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
+++ b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
@@ -2,7 +2,9 @@ SUMMARY = "Library for embedding a Clutter canvas in a GTK+ application"
HOMEPAGE = "http://www.clutter-project.org/"
LICENSE = "LGPLv2+"
-inherit clutter distro_features_check upstream-version-is-even gobject-introspection
+CLUTTERBASEBUILDCLASS = "meson"
+inherit clutter distro_features_check upstream-version-is-even gobject-introspection gtk-doc
+
# depends on clutter-1.0 which depends on cogl-1.0
REQUIRED_DISTRO_FEATURES ?= "opengl"
# depends on gtk+3
@@ -10,6 +12,20 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
DEPENDS = "clutter-1.0 gtk+3"
PACKAGES =+ "${PN}-examples"
-AUTOTOOLS_AUXDIR = "${S}/build"
+
+GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
+GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
+
+GI_ENABLE_FLAG = "-Denable_gi=true"
+GI_DISABLE_FLAG = "-Denable_gi=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
+
diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch
new file mode 100644
index 000000000..e21c6fd90
--- /dev/null
+++ b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch
@@ -0,0 +1,37 @@
+From 7233883c6bd4e80c0e91b29b5c76fe798023e9fe Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 11 Feb 2019 16:41:13 +0100
+Subject: [PATCH] Add a config variable for enabling/disabling introspection
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ clutter-gtk/meson.build | 2 +-
+ meson_options.txt | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/clutter-gtk/meson.build b/clutter-gtk/meson.build
+index 5d6847d..5d934b6 100644
+--- a/clutter-gtk/meson.build
++++ b/clutter-gtk/meson.build
+@@ -49,7 +49,7 @@ clutter_gtk_dep = declare_dependency(link_with: clutter_gtk,
+ dependencies: [ mathlib_dep, clutter_dep, gtk_dep ],
+ include_directories: include_directories('.'))
+
+-if not meson.is_cross_build()
++if get_option('enable_gi')
+ gnome.generate_gir(clutter_gtk,
+ sources: clutter_gtk_headers + clutter_gtk_sources,
+ namespace: 'GtkClutter',
+diff --git a/meson_options.txt b/meson_options.txt
+index aaf59f1..b7e51c3 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -2,3 +2,7 @@ option('enable_docs',
+ type: 'boolean',
+ value: false,
+ description: 'Enable generating the API reference (depends on GTK-Doc)')
++option('enable_gi',
++ type: 'boolean',
++ value: false,
++ description: 'Enable gobject introspection')
diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
index f0300c716..53948c894 100644
--- a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
+++ b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb
@@ -2,5 +2,6 @@ require clutter-gtk-1.0.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+SRC_URI += " file://0001-Add-a-config-variable-for-enabling-disabling-introsp.patch"
SRC_URI[archive.md5sum] = "b363ac9878e2337be887b8ee9e1da00e"
SRC_URI[archive.sha256sum] = "521493ec038973c77edcb8bc5eac23eed41645117894aaee7300b2487cb42b06"
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb
deleted file mode 100644
index d6542921f..000000000
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.94.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-SUMMARY = "Userspace interface to the kernel DRM services"
-DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
-stands for \"Direct Rendering Manager\", which is the kernel portion of the \
-\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
-accelerated OpenGL drivers."
-HOMEPAGE = "http://dri.freedesktop.org"
-SECTION = "x11/base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
-PROVIDES = "drm"
-DEPENDS = "libpthread-stubs"
-
-SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \
- file://musl-ioctl.patch"
-SRC_URI[md5sum] = "e9803233838007047f39eb385c70d9e0"
-SRC_URI[sha256sum] = "b73c59b0a3760502c428ba81de49cd4807657d26be5e697eba3a87dd021d16be"
-
-inherit meson pkgconfig manpages
-
-PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs"
-PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false"
-PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess"
-PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false"
-PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false"
-PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false"
-PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false"
-PACKAGECONFIG[omap] = "-Domap=true,-Domap=false"
-PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false"
-PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false"
-PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false"
-PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false"
-PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false"
-PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
-PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind"
-PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
-PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
-PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
-PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native"
-
-ALLOW_EMPTY_${PN}-drivers = "1"
-PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
- ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-etnaviv"
-
-RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
- ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-etnaviv"
-
-FILES_${PN}-tests = "${bindir}/*"
-FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
-FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
-FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
-FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
-FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
-FILES_${PN}-kms = "${libdir}/libkms*.so.*"
-FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
-FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*"
-FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb
new file mode 100644
index 000000000..bbe9a33ba
--- /dev/null
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb
@@ -0,0 +1,60 @@
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
+HOMEPAGE = "http://dri.freedesktop.org"
+SECTION = "x11/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+PROVIDES = "drm"
+DEPENDS = "libpthread-stubs"
+
+SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \
+ file://musl-ioctl.patch"
+SRC_URI[md5sum] = "acef22d0c62c89692348c2dd5591393e"
+SRC_URI[sha256sum] = "77d0ccda3e10d6593398edb70b1566bfe1a23a39bd3da98ace2147692eadd123"
+
+inherit meson pkgconfig manpages
+
+PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs"
+PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false"
+PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess"
+PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false"
+PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false"
+PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false"
+PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false"
+PACKAGECONFIG[omap] = "-Domap=true,-Domap=false"
+PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false"
+PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false"
+PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false"
+PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false"
+PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false"
+PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
+PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind"
+PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
+PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
+PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
+PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native"
+
+ALLOW_EMPTY_${PN}-drivers = "1"
+PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
+ ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+ ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+FILES_${PN}-tests = "${bindir}/*"
+FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+FILES_${PN}-kms = "${libdir}/libkms*.so.*"
+FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
+FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*"
+FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb
new file mode 100644
index 000000000..87a131aa7
--- /dev/null
+++ b/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb
@@ -0,0 +1,13 @@
+EGLINFO_PLATFORM ?= "wayland"
+EGLINFO_BINARY_NAME ?= "eglinfo-wayland"
+
+require eglinfo.inc
+
+DEPENDS += "wayland"
+
+inherit distro_features_check
+
+# depends on wayland
+REQUIRED_DISTRO_FEATURES += "wayland"
+
+SUMMARY += "(Wayland version)"
diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc
index 07ad07220..6dcb0c5a1 100644
--- a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc
+++ b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc
@@ -11,7 +11,7 @@ SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \
file://0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch \
file://0001-Check-for-libegl-using-pkg-config.patch \
"
-SRCREV = "4b317648ec6cf39556a9e5d8078f605bc0edd5de"
+SRCREV = "223817ee37988042db7873cfb5b2e899dfe35c10"
CVE_PRODUCT = "eglinfo"
diff --git a/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch b/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
index ca9f55c18..61327eb36 100644
--- a/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
+++ b/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
@@ -1,4 +1,4 @@
-From 94b1e6daf7d70550b0e32fbb269fcf6887948d3f Mon Sep 17 00:00:00 2001
+From 99a5784d33ad5e0e6fa00338d2732cbccad7661c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 13 Jan 2016 16:08:22 -0800
Subject: [PATCH] Add STAGING_INCDIR to searchpath for egl headers
@@ -14,10 +14,10 @@ Upstream-Status: Submitted
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/wscript b/wscript
-index fcbb55b..cece8bf 100644
+index 195e247..0f6ec53 100644
--- a/wscript
+++ b/wscript
-@@ -163,9 +163,10 @@ def configure_raspberrypi_device(conf, platform):
+@@ -177,9 +177,10 @@ def configure_raspberrypi_device(conf, platform):
conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], uselib_store = 'EGL')
import os
sysroot = conf.options.sysroot + conf.options.prefix
@@ -30,5 +30,4 @@ index fcbb55b..cece8bf 100644
conf.env['WITH_APIS'] = []
if check_gles2(conf):
--
-2.7.0
-
+2.19.1
diff --git a/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch b/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
index 0289ac228..572c8014c 100644
--- a/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
+++ b/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
@@ -1,22 +1,25 @@
-From 58d51d941d3f4dfa38be18282d3e285d76d9020d Mon Sep 17 00:00:00 2001
+From 17f5d2f574236f8c3459f9efadef2f0f6220a4dd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 13 Aug 2018 15:46:53 -0700
Subject: [PATCH] Check for libegl using pkg-config
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Roman: patch has been rebased to 223817ee3798 ("Add Wayland support")
+ trivial merge conflicts resolved]
+Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
---
- wscript | 1 +
- 1 file changed, 1 insertion(+)
+ wscript | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
-Index: git/wscript
-===================================================================
---- git.orig/wscript
-+++ git/wscript
-@@ -160,14 +160,9 @@ def configure_raspberrypi_device(conf, p
- conf.env['PLATFORM_USELIBS'] += ["X11"]
- elif platform == "fb":
- conf.env['PLATFORM_SOURCE'] = ['src/platform_fb_raspberrypi.cpp']
+diff --git a/wscript b/wscript
+index 0f6ec53..401f62e 100644
+--- a/wscript
++++ b/wscript
+@@ -174,14 +174,9 @@ def configure_raspberrypi_device(conf, platform):
+ else:
+ conf.fatal('Unsupported Raspberry Pi platform "%s"' % platform)
+ return
- conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], uselib_store = 'EGL')
+ conf.check_cfg(package='egl', args='--libs --cflags')
import os
@@ -29,3 +32,5 @@ Index: git/wscript
conf.env['WITH_APIS'] = []
if check_gles2(conf):
conf.env['WITH_APIS'] += ['GLES1', 'GLES2']
+--
+2.19.1
diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch
new file mode 100644
index 000000000..d9bce212f
--- /dev/null
+++ b/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch
@@ -0,0 +1,33 @@
+From ab9522177a8396a51812fdbebb6387df451a8499 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Mon, 24 Dec 2018 11:03:58 +0800
+Subject: [PATCH] src/fccache.c: Fix define for HAVE_POSIX_FADVISE
+
+Otherwise, there would be build errors in the following 2 cases:
+* define HAVE_POSIX_FADVISE
+Or:
+* undef HAVE_POSIX_FADVISE
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/586e35450e9ca7c1dc647ceb9d75ac8ed08c5c16]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ fccache.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/fccache.c b/src/fccache.c
+index 6f3c68a..85cc4b4 100644
+--- a/src/fccache.c
++++ b/src/fccache.c
+@@ -700,7 +700,7 @@ FcDirCacheMapFd (FcConfig *config, int fd, struct stat *fd_stat, struct stat *di
+ {
+ #if defined(HAVE_MMAP) || defined(__CYGWIN__)
+ cache = mmap (0, fd_stat->st_size, PROT_READ, MAP_SHARED, fd, 0);
+-#if (HAVE_POSIX_FADVISE) && defined(POSIX_FADV_WILLNEED)
++#if defined(HAVE_POSIX_FADVISE) && defined(POSIX_FADV_WILLNEED)
+ posix_fadvise (fd, 0, fd_stat->st_size, POSIX_FADV_WILLNEED);
+ #endif
+ if (cache == MAP_FAILED)
+--
+2.7.4
+
diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb
index cec524755..8fa739de2 100644
--- a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb
+++ b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb
@@ -23,6 +23,7 @@ DEPENDS = "expat freetype zlib gperf-native"
SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
file://revert-static-pkgconfig.patch \
file://0001-src-fcxml.c-avoid-double-free-of-filename.patch \
+ file://0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch \
"
SRC_URI[md5sum] = "00e748c67fad11e7057a71ed385e8bdb"
@@ -41,6 +42,12 @@ do_install_append_class-target() {
ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache
}
+do_install_append_class-nativesdk() {
+ # duplicate fc-cache for postinstall script
+ mkdir -p ${D}${libexecdir}
+ ln ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache
+}
+
PACKAGES =+ "fontconfig-utils"
FILES_${PN} =+ "${datadir}/xml/*"
FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*"
@@ -61,4 +68,4 @@ FONTCONFIG_FONT_DIRS ?= "no"
EXTRA_OECONF = " --disable-docs --with-default-fonts=${datadir}/fonts --with-cache-dir=${FONTCONFIG_CACHE_DIR} --with-add-fonts=${FONTCONFIG_FONT_DIRS}"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/glew/glew/0001-Fixed-compilation-with-current-mesa-versions.patch b/poky/meta/recipes-graphics/glew/glew/0001-Fixed-compilation-with-current-mesa-versions.patch
new file mode 100644
index 000000000..64f3e2fd9
--- /dev/null
+++ b/poky/meta/recipes-graphics/glew/glew/0001-Fixed-compilation-with-current-mesa-versions.patch
@@ -0,0 +1,73 @@
+From 7f65a36866f4e24dd1446fe1c9d21424f28bcabd Mon Sep 17 00:00:00 2001
+From: Deve <deveee@gmail.com>
+Date: Wed, 14 Nov 2018 21:07:29 +0100
+Subject: [PATCH] Fixed compilation with current mesa versions.
+
+As you can see in
+https://cgit.freedesktop.org/mesa/mesa/tree/include/GL/glext.h
+now the file uses __gl_glext_h_ instead of __glext_h_
+It's precisely caused by commit f7d42ee7d319256608ad60778f6787c140badada
+
+Backoprt notes:
+
+* The original patch adjusts auto/src/glew_head.h only
+* include/GL/glew.h is not part of git repo and gets created on tarball
+ creation
+
+=> patch include/GL/glew.h either to cause the desired fix
+
+Upstream-Status: Backport [1]
+
+[1] https://github.com/nigels-com/glew/commit/7f65a36866f4e24dd1446fe1c9d21424f28bcabd
+
+Signed-off-by: Andreas MĂĽller <schnitzeltony@gmail.com>
+---
+ auto/src/glew_head.h | 3 ++-
+ include/GL/glew.h | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/auto/src/glew_head.h b/auto/src/glew_head.h
+index c19cefb..8f313d9 100644
+--- a/auto/src/glew_head.h
++++ b/auto/src/glew_head.h
+@@ -14,7 +14,7 @@
+ #if defined(__REGAL_H__)
+ #error Regal.h included before glew.h
+ #endif
+-#if defined(__glext_h_) || defined(__GLEXT_H_)
++#if defined(__glext_h_) || defined(__GLEXT_H_) || defined(__gl_glext_h_)
+ #error glext.h included before glew.h
+ #endif
+ #if defined(__gl_ATI_h_)
+@@ -30,6 +30,7 @@
+ #define __X_GL_H
+ #define __glext_h_
+ #define __GLEXT_H_
++#define __gl_glext_h_
+ #define __gl_ATI_h_
+
+ #if defined(_WIN32)
+diff --git a/include/GL/glew.h b/include/GL/glew.h
+index b5b6987..a9f9e4b 100644
+--- a/include/GL/glew.h
++++ b/include/GL/glew.h
+@@ -93,7 +93,7 @@
+ #if defined(__REGAL_H__)
+ #error Regal.h included before glew.h
+ #endif
+-#if defined(__glext_h_) || defined(__GLEXT_H_)
++#if defined(__glext_h_) || defined(__GLEXT_H_) || defined(__gl_glext_h_)
+ #error glext.h included before glew.h
+ #endif
+ #if defined(__gl_ATI_h_)
+@@ -109,6 +109,7 @@
+ #define __X_GL_H
+ #define __glext_h_
+ #define __GLEXT_H_
++#define __gl_glext_h_
+ #define __gl_ATI_h_
+
+ #if defined(_WIN32)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-graphics/glew/glew_2.1.0.bb b/poky/meta/recipes-graphics/glew/glew_2.1.0.bb
index be725e053..18e6909aa 100644
--- a/poky/meta/recipes-graphics/glew/glew_2.1.0.bb
+++ b/poky/meta/recipes-graphics/glew/glew_2.1.0.bb
@@ -6,7 +6,8 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \
- file://no-strip.patch"
+ file://no-strip.patch \
+ file://0001-Fixed-compilation-with-current-mesa-versions.patch"
SRC_URI[md5sum] = "b2ab12331033ddfaa50dc39345343980"
SRC_URI[sha256sum] = "04de91e7e6763039bc11940095cd9c7f880baba82196a7765f727ac05a993c95"
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.8.8.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.8.8.bb
deleted file mode 100644
index b904d9353..000000000
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_1.8.8.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Text shaping library"
-DESCRIPTION = "HarfBuzz is an OpenType text shaping engine."
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz"
-BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e021dd6dda6ff1e6b1044002fc662b9b \
- file://src/hb-ucdn/COPYING;md5=994ba0f1295f15b4bda4999a5bbeddef \
-"
-
-DEPENDS = "glib-2.0 cairo fontconfig freetype"
-
-SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2"
-SRC_URI[md5sum] = "81dbce82d6471ec2b2a627ce02d03e5d"
-SRC_URI[sha256sum] = "a8e5c86e4d99e1cc9865ec1b8e9b05b98e413c2a885cd11f8e9bb9502dd3e3a9"
-
-inherit autotools pkgconfig lib_package gtk-doc
-
-PACKAGECONFIG ??= "icu"
-PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu"
-
-EXTRA_OECONF = " \
- --with-cairo \
- --with-fontconfig \
- --with-freetype \
- --with-glib \
- --without-graphite2 \
-"
-
-do_configure_prepend() {
- # This is ancient and can get used instead of the patched one we ship,
- # so delete it. In 1.8.9 this should be removed upstream.
- rm -f ${S}/m4/pkg.m4
-}
-
-PACKAGES =+ "${PN}-icu ${PN}-icu-dev"
-
-LEAD_SONAME = "libharfbuzz.so"
-
-FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
-FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
- ${libdir}/libharfbuzz-icu.so \
- ${libdir}/pkgconfig/harfbuzz-icu.pc \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb
new file mode 100644
index 000000000..4b292d8ea
--- /dev/null
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Text shaping library"
+DESCRIPTION = "HarfBuzz is an OpenType text shaping engine."
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e021dd6dda6ff1e6b1044002fc662b9b \
+ file://src/hb-ucdn/COPYING;md5=994ba0f1295f15b4bda4999a5bbeddef \
+"
+
+DEPENDS = "glib-2.0 cairo fontconfig freetype"
+
+SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2"
+SRC_URI[md5sum] = "531de9df7c8a5405dd9c6a873fcee8c2"
+SRC_URI[sha256sum] = "f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468"
+
+inherit autotools pkgconfig lib_package gtk-doc
+
+PACKAGECONFIG ??= "icu"
+PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu"
+
+EXTRA_OECONF = " \
+ --with-cairo \
+ --with-fontconfig \
+ --with-freetype \
+ --with-glib \
+ --without-graphite2 \
+"
+
+PACKAGES =+ "${PN}-icu ${PN}-icu-dev"
+
+LEAD_SONAME = "libharfbuzz.so"
+
+FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
+FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
+ ${libdir}/libharfbuzz-icu.so \
+ ${libdir}/pkgconfig/harfbuzz-icu.pc \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch
index 44c2c768b..82fffe1e6 100644
--- a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch
+++ b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-package_qa-error.patch
@@ -1,4 +1,4 @@
-From 0a24f03a67425a7b58b3fd40d965c0c9801ae7a1 Mon Sep 17 00:00:00 2001
+From 5cf847b5bef8dc3f9f89bd09dd5af4e6603f393c Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Mon, 27 Aug 2018 16:10:55 +0800
Subject: [PATCH] libjpeg-turbo: fix package_qa error
@@ -10,23 +10,23 @@ usr/bin/cjpeg contains probably-redundant RPATH /usr/lib
Upstream-Status: Inappropriate[oe-specific]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
- CMakeLists.txt | 2 --
- 1 file changed, 2 deletions(-)
+ CMakeLists.txt | 4 ----
+ 1 file changed, 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1719522..682cef1 100644
+index 2bc3458..ea3041e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -109,8 +109,6 @@ endif()
+@@ -189,10 +189,6 @@ endif()
+ report_option(ENABLE_SHARED "Shared libraries")
+ report_option(ENABLE_STATIC "Static libraries")
- include(cmakescripts/GNUInstallDirs.cmake)
-
--set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
+-if(ENABLE_SHARED)
+- set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
+-endif()
-
- macro(report_directory var)
- if(CMAKE_INSTALL_${var} STREQUAL CMAKE_INSTALL_FULL_${var})
- message(STATUS "CMAKE_INSTALL_${var} = ${CMAKE_INSTALL_${var}}")
---
-2.7.4
-
+ if(WITH_12BIT)
+ set(WITH_ARITH_DEC 0)
+ set(WITH_ARITH_ENC 0)
diff --git a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch b/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch
deleted file mode 100644
index 16767ebb6..000000000
--- a/poky/meta/recipes-graphics/jpeg/files/0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From d301019d0f23d12b9666d3d88b0859067a4ade77 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 30 Aug 2018 15:08:23 +0800
-Subject: [PATCH] libjpeg-turbo: fix wrongly defined define HAVE_STDLIB_H
-
-when change build system from autotools to cmake, below
-part is replace wrongly:
-
-"#undef HAVE_STDLIB_H"
-should be change to "#cmakedefine HAVE_STDLIB_H 1"
-not "#cmakedefine HAVE_STDLIB_H"
-
-otherwise, even if stdlib.h is found, output file
-of configure_file() will define like: #define HAVE_STDLIB_H
-but we need it as #define HAVE_STDLIB_H 1, since for
-different defination of HAVE_STDLIB_H will cause below error:
-error: "HAVE_STDLIB_H" redefined [-Werror]
-
-Upstream-Status: Submitted[https://github.com/libjpeg-turbo/libjpeg-turbo/pull/275]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- jconfig.h.in | 28 ++++++++++++++--------------
- jconfigint.h.in | 4 ++--
- 2 files changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/jconfig.h.in b/jconfig.h.in
-index 2842754..18a69a4 100644
---- a/jconfig.h.in
-+++ b/jconfig.h.in
-@@ -10,16 +10,16 @@
- #define LIBJPEG_TURBO_VERSION_NUMBER @LIBJPEG_TURBO_VERSION_NUMBER@
-
- /* Support arithmetic encoding */
--#cmakedefine C_ARITH_CODING_SUPPORTED
-+#cmakedefine C_ARITH_CODING_SUPPORTED 1
-
- /* Support arithmetic decoding */
--#cmakedefine D_ARITH_CODING_SUPPORTED
-+#cmakedefine D_ARITH_CODING_SUPPORTED 1
-
- /* Support in-memory source/destination managers */
--#cmakedefine MEM_SRCDST_SUPPORTED
-+#cmakedefine MEM_SRCDST_SUPPORTED 1
-
- /* Use accelerated SIMD routines. */
--#cmakedefine WITH_SIMD
-+#cmakedefine WITH_SIMD 1
-
- /*
- * Define BITS_IN_JSAMPLE as either
-@@ -33,37 +33,37 @@
- #define BITS_IN_JSAMPLE @BITS_IN_JSAMPLE@ /* use 8 or 12 */
-
- /* Define to 1 if you have the <locale.h> header file. */
--#cmakedefine HAVE_LOCALE_H
-+#cmakedefine HAVE_LOCALE_H 1
-
- /* Define to 1 if you have the <stddef.h> header file. */
--#cmakedefine HAVE_STDDEF_H
-+#cmakedefine HAVE_STDDEF_H 1
-
- /* Define to 1 if you have the <stdlib.h> header file. */
--#cmakedefine HAVE_STDLIB_H
-+#cmakedefine HAVE_STDLIB_H 1
-
- /* Define if you need to include <sys/types.h> to get size_t. */
--#cmakedefine NEED_SYS_TYPES_H
-+#cmakedefine NEED_SYS_TYPES_H 1
-
- /* Define if you have BSD-like bzero and bcopy in <strings.h> rather than
- memset/memcpy in <string.h>. */
--#cmakedefine NEED_BSD_STRINGS
-+#cmakedefine NEED_BSD_STRINGS 1
-
- /* Define to 1 if the system has the type `unsigned char'. */
--#cmakedefine HAVE_UNSIGNED_CHAR
-+#cmakedefine HAVE_UNSIGNED_CHAR 1
-
- /* Define to 1 if the system has the type `unsigned short'. */
--#cmakedefine HAVE_UNSIGNED_SHORT
-+#cmakedefine HAVE_UNSIGNED_SHORT 1
-
- /* Compiler does not support pointers to undefined structures. */
--#cmakedefine INCOMPLETE_TYPES_BROKEN
-+#cmakedefine INCOMPLETE_TYPES_BROKEN 1
-
- /* Define if your (broken) compiler shifts signed values as if they were
- unsigned. */
--#cmakedefine RIGHT_SHIFT_IS_UNSIGNED
-+#cmakedefine RIGHT_SHIFT_IS_UNSIGNED 1
-
- /* Define to 1 if type `char' is unsigned and you are not using gcc. */
- #ifndef __CHAR_UNSIGNED__
-- #cmakedefine __CHAR_UNSIGNED__
-+ #cmakedefine __CHAR_UNSIGNED__ 1
- #endif
-
- /* Define to empty if `const' does not conform to ANSI C. */
-diff --git a/jconfigint.h.in b/jconfigint.h.in
-index 55df053..6c898ac 100644
---- a/jconfigint.h.in
-+++ b/jconfigint.h.in
-@@ -17,10 +17,10 @@
- #define SIZEOF_SIZE_T @SIZE_T@
-
- /* Define if your compiler has __builtin_ctzl() and sizeof(unsigned long) == sizeof(size_t). */
--#cmakedefine HAVE_BUILTIN_CTZL
-+#cmakedefine HAVE_BUILTIN_CTZL 1
-
- /* Define to 1 if you have the <intrin.h> header file. */
--#cmakedefine HAVE_INTRIN_H
-+#cmakedefine HAVE_INTRIN_H 1
-
- #if defined(_MSC_VER) && defined(HAVE_INTRIN_H)
- #if (SIZEOF_SIZE_T == 8)
---
-2.7.4
-
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb
deleted file mode 100644
index 282bf95e8..000000000
--- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.0.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "Hardware accelerated JPEG compression/decompression library"
-DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
-HOMEPAGE = "http://libjpeg-turbo.org/"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \
- file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \
- file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \
-"
-DEPENDS_append_x86-64_class-target = " nasm-native"
-DEPENDS_append_x86_class-target = " nasm-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
- file://0001-libjpeg-turbo-fix-package_qa-error.patch \
- file://0001-libjpeg-turbo-fix-wrongly-defined-define-HAVE_STDLIB.patch"
-
-SRC_URI[md5sum] = "b12a3fcf1d078db38410f27718a91b83"
-SRC_URI[sha256sum] = "778876105d0d316203c928fd2a0374c8c01f755d0a00b12a1c8934aeccff8868"
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
-UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
-
-PE= "1"
-
-# Drop-in replacement for jpeg
-PROVIDES = "jpeg"
-RPROVIDES_${PN} += "jpeg"
-RREPLACES_${PN} += "jpeg"
-RCONFLICTS_${PN} += "jpeg"
-
-inherit cmake pkgconfig
-
-# Add nasm-native dependency consistently for all build arches is hard
-EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False"
-
-# Work around missing x32 ABI support
-EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
-
-# Work around missing non-floating point ABI support in MIPS
-EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
-
-# Provide a workaround if Altivec unit is not present in PPC
-EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
-EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
-
-DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-
-PACKAGES =+ "jpeg-tools libturbojpeg"
-
-DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
-FILES_jpeg-tools = "${bindir}/*"
-
-DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
-FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb
new file mode 100644
index 000000000..e1df754b7
--- /dev/null
+++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb
@@ -0,0 +1,57 @@
+SUMMARY = "Hardware accelerated JPEG compression/decompression library"
+DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
+HOMEPAGE = "http://libjpeg-turbo.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \
+ file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \
+ file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \
+"
+DEPENDS_append_x86-64_class-target = " nasm-native"
+DEPENDS_append_x86_class-target = " nasm-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://0001-libjpeg-turbo-fix-package_qa-error.patch \
+ "
+
+SRC_URI[md5sum] = "79f76fbfb0c6109631332762d10e16d2"
+SRC_URI[sha256sum] = "acb8599fe5399af114287ee5907aea4456f8f2c1cc96d26c28aebfdf5ee82fed"
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
+UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
+
+PE= "1"
+
+# Drop-in replacement for jpeg
+PROVIDES = "jpeg"
+RPROVIDES_${PN} += "jpeg"
+RREPLACES_${PN} += "jpeg"
+RCONFLICTS_${PN} += "jpeg"
+
+inherit cmake pkgconfig
+
+# Add nasm-native dependency consistently for all build arches is hard
+EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False"
+EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False"
+
+# Work around missing x32 ABI support
+EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
+
+# Work around missing non-floating point ABI support in MIPS
+EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
+
+# Provide a workaround if Altivec unit is not present in PPC
+EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
+EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
+
+DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+
+PACKAGES =+ "jpeg-tools libturbojpeg"
+
+DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
+FILES_jpeg-tools = "${bindir}/*"
+
+DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
+FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
index 46aeeb017..b2dd6b30b 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -2,17 +2,20 @@ DESCRIPTION = "Demo application to showcase 3D graphics using kms and gbm"
HOMEPAGE = "https://cgit.freedesktop.org/mesa/kmscube/"
LICENSE = "MIT"
SECTION = "graphics"
-DEPENDS = "virtual/libgles2 virtual/egl libdrm gstreamer1.0 gstreamer1.0-plugins-base"
+DEPENDS = "virtual/libgles2 virtual/egl libdrm"
LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
-SRCREV = "9dcce71e603616ee7a54707e932f962cdf8fb20a"
+SRCREV = "d8da3dcfdfe33ee525cf562e928a5266ac69843c"
SRC_URI = "git://anongit.freedesktop.org/mesa/kmscube;branch=master;protocol=git \
file://detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch"
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
-inherit autotools pkgconfig distro_features_check
+inherit meson pkgconfig distro_features_check
REQUIRED_DISTRO_FEATURES = "opengl"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.2.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.2.bb
deleted file mode 100644
index 106721226..000000000
--- a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "OpenGL function pointer management library"
-HOMEPAGE = "https://github.com/anholt/libepoxy/"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
-
-SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
- "
-SRC_URI[md5sum] = "4a6b9e581da229dee74c2263c84b1eca"
-SRC_URI[sha256sum] = "a9562386519eb3fd7f03209f279f697a8cba520d3c155d6e253c3e138beca7d8"
-UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
-
-inherit meson pkgconfig distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl"
-PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no, virtual/libx11 virtual/libgl"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
-
-EXTRA_OEMESON += "-Dtests=false"
diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
new file mode 100644
index 000000000..dd706a960
--- /dev/null
+++ b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
@@ -0,0 +1,38 @@
+SUMMARY = "OpenGL function pointer management library"
+HOMEPAGE = "https://github.com/anholt/libepoxy/"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
+
+SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ "
+SRC_URI[md5sum] = "e2845de8d2782b2d31c01ae8d7cd4cbb"
+SRC_URI[sha256sum] = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d"
+UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
+
+inherit meson pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+REQUIRED_DISTRO_FEATURES_class-native = ""
+REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
+
+PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl"
+PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no, virtual/libx11 virtual/libgl"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
+
+EXTRA_OEMESON += "-Dtests=false"
+
+PACKAGECONFIG_class-native = "egl"
+PACKAGECONFIG_class-nativesdk = "egl"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# This will ensure that dlopen will attempt only GL libraries provided by host
+do_install_append_class-native() {
+ chrpath --delete ${D}${libdir}/*.so
+}
+
+do_install_append_class-nativesdk() {
+ chrpath --delete ${D}${libdir}/*.so
+}
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/0001-GLES2-Get-sin-cos-out-of-vertex-shader.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/0001-GLES2-Get-sin-cos-out-of-vertex-shader.patch
deleted file mode 100644
index 9b32b3788..000000000
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2/0001-GLES2-Get-sin-cos-out-of-vertex-shader.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From c215ba1d52a3d4ef03af3ab1a5baa1863f812aed Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Fri, 24 Aug 2018 23:10:25 +0200
-Subject: [PATCH] GLES2: Get sin/cos out of vertex shader
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The only place angle is activated and causes effect is RenderCopyEx. All other
-methods which use vertex shader, leave angle disabled and cause useless sin/cos
-calculation in shader.
-
-To get around shader's interface is changed to a vector that contains results
-of sin and cos. To behave properly when disabled, cos value is set with offset
--1.0 making 0.0 default when deactivated.
-
-As nice side effect it simplifies GLES2_UpdateVertexBuffer: All attributes are
-vectors now.
-
-Additional background:
-
-* On RaspberryPi it gives a performace win for operations. Tested with
- [1] numbers go down for 5-10% (not easy to estimate due to huge variation).
-* SDL_RenderCopyEx was tested with [2]
-* It works around left rotated display caused by low accuracy sin implemetation
- in RaspberryPi/VC4 [3]
-
-Upstream-Status: Accepted [4]
-
-[1] https://github.com/schnitzeltony/sdl2box
-[2] https://github.com/schnitzeltony/sdl2rendercopyex
-[3] https://github.com/anholt/mesa/issues/110
-[4] https://hg.libsdl.org/SDL/rev/e5a666405750
-
-Signed-off-by: Andreas MĂĽller <schnitzeltony@gmail.com>
----
- src/render/opengles2/SDL_render_gles2.c | 17 ++++++++++++-----
- src/render/opengles2/SDL_shaders_gles2.c | 14 +++++++++-----
- 2 files changed, 21 insertions(+), 10 deletions(-)
-
-diff --git a/src/render/opengles2/SDL_render_gles2.c b/src/render/opengles2/SDL_render_gles2.c
-index 14671f7c8..7c54a7333 100644
---- a/src/render/opengles2/SDL_render_gles2.c
-+++ b/src/render/opengles2/SDL_render_gles2.c
-@@ -1530,7 +1530,7 @@ GLES2_UpdateVertexBuffer(SDL_Renderer *renderer, GLES2_Attribute attr,
- GLES2_DriverContext *data = (GLES2_DriverContext *)renderer->driverdata;
-
- #if !SDL_GLES2_USE_VBOS
-- data->glVertexAttribPointer(attr, attr == GLES2_ATTRIBUTE_ANGLE ? 1 : 2, GL_FLOAT, GL_FALSE, 0, vertexData);
-+ data->glVertexAttribPointer(attr, 2, GL_FLOAT, GL_FALSE, 0, vertexData);
- #else
- if (!data->vertex_buffers[attr]) {
- data->glGenBuffers(1, &data->vertex_buffers[attr]);
-@@ -1545,7 +1545,7 @@ GLES2_UpdateVertexBuffer(SDL_Renderer *renderer, GLES2_Attribute attr,
- data->glBufferSubData(GL_ARRAY_BUFFER, 0, dataSizeInBytes, vertexData);
- }
-
-- data->glVertexAttribPointer(attr, attr == GLES2_ATTRIBUTE_ANGLE ? 1 : 2, GL_FLOAT, GL_FALSE, 0, 0);
-+ data->glVertexAttribPointer(attr, 2, GL_FLOAT, GL_FALSE, 0, 0);
- #endif
-
- return 0;
-@@ -1853,6 +1853,8 @@ GLES2_RenderCopy(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *s
- return GL_CheckError("", renderer);
- }
-
-+#define PI 3.14159265f
-+
- static int
- GLES2_RenderCopyEx(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcrect,
- const SDL_FRect *dstrect, const double angle, const SDL_FPoint *center, const SDL_RendererFlip flip)
-@@ -1861,8 +1863,9 @@ GLES2_RenderCopyEx(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect
- GLfloat vertices[8];
- GLfloat texCoords[8];
- GLfloat translate[8];
-- GLfloat fAngle[4];
-+ GLfloat fAngle[8];
- GLfloat tmp;
-+ float radian_angle;
-
- GLES2_ActivateRenderer(renderer);
-
-@@ -1872,7 +1875,11 @@ GLES2_RenderCopyEx(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect
-
- data->glEnableVertexAttribArray(GLES2_ATTRIBUTE_CENTER);
- data->glEnableVertexAttribArray(GLES2_ATTRIBUTE_ANGLE);
-- fAngle[0] = fAngle[1] = fAngle[2] = fAngle[3] = (GLfloat)(360.0f - angle);
-+
-+ radian_angle = PI * (360.0f - angle) / 180.f;
-+ fAngle[0] = fAngle[2] = fAngle[4] = fAngle[6] = (GLfloat)sin(radian_angle);
-+ /* render expects cos value - 1 (see GLES2_VertexSrc_Default_) */
-+ fAngle[1] = fAngle[3] = fAngle[5] = fAngle[7] = (GLfloat)cos(radian_angle) - 1.0f;
- /* Calculate the center of rotation */
- translate[0] = translate[2] = translate[4] = translate[6] = (center->x + dstrect->x);
- translate[1] = translate[3] = translate[5] = translate[7] = (center->y + dstrect->y);
-@@ -1901,7 +1908,7 @@ GLES2_RenderCopyEx(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect
- data->glVertexAttribPointer(GLES2_ATTRIBUTE_CENTER, 2, GL_FLOAT, GL_FALSE, 0, translate);
- data->glVertexAttribPointer(GLES2_ATTRIBUTE_POSITION, 2, GL_FLOAT, GL_FALSE, 0, vertices);*/
-
-- GLES2_UpdateVertexBuffer(renderer, GLES2_ATTRIBUTE_ANGLE, fAngle, 4 * sizeof(GLfloat));
-+ GLES2_UpdateVertexBuffer(renderer, GLES2_ATTRIBUTE_ANGLE, fAngle, 8 * sizeof(GLfloat));
- GLES2_UpdateVertexBuffer(renderer, GLES2_ATTRIBUTE_CENTER, translate, 8 * sizeof(GLfloat));
- GLES2_UpdateVertexBuffer(renderer, GLES2_ATTRIBUTE_POSITION, vertices, 8 * sizeof(GLfloat));
-
-diff --git a/src/render/opengles2/SDL_shaders_gles2.c b/src/render/opengles2/SDL_shaders_gles2.c
-index b0bcdff25..f428a4945 100644
---- a/src/render/opengles2/SDL_shaders_gles2.c
-+++ b/src/render/opengles2/SDL_shaders_gles2.c
-@@ -30,20 +30,24 @@
- /*************************************************************************************************
- * Vertex/fragment shader source *
- *************************************************************************************************/
--
-+/* Notes on a_angle:
-+ * It is a vector containing sin and cos for rotation matrix
-+ * To get correct rotation for most cases when a_angle is disabled cos
-+ value is decremented by 1.0 to get proper output with 0.0 which is
-+ default value
-+*/
- static const Uint8 GLES2_VertexSrc_Default_[] = " \
- uniform mat4 u_projection; \
- attribute vec2 a_position; \
- attribute vec2 a_texCoord; \
-- attribute float a_angle; \
-+ attribute vec2 a_angle; \
- attribute vec2 a_center; \
- varying vec2 v_texCoord; \
- \
- void main() \
- { \
-- float angle = radians(a_angle); \
-- float c = cos(angle); \
-- float s = sin(angle); \
-+ float s = a_angle[0]; \
-+ float c = a_angle[1] + 1.0; \
- mat2 rotationMatrix = mat2(c, -s, s, c); \
- vec2 position = rotationMatrix * (a_position - a_center) + a_center; \
- v_texCoord = a_texCoord; \
---
-2.14.4
-
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb
deleted file mode 100644
index 812a9abf3..000000000
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-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 = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=02ee26814dd044bd7838ae24e05b880f"
-
-PROVIDES = "virtual/libsdl2"
-
-SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
- file://more-gen-depends.patch \
- file://0001-GLES2-Get-sin-cos-out-of-vertex-shader.patch \
-"
-
-S = "${WORKDIR}/SDL2-${PV}"
-
-SRC_URI[md5sum] = "3800d705cef742c6a634f202c37f263f"
-SRC_URI[sha256sum] = "edc77c57308661d576e843344d8638e025a7818bff73f8fbfab09c3c5fd092ec"
-
-inherit autotools lib_package binconfig pkgconfig
-
-EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
- --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
- --disable-video-dummy \
- --enable-pthreads \
- --enable-sdl-dlopen \
- --disable-rpath \
- --disable-sndio \
- "
-
-# opengl packageconfig factored out to make it easy for distros
-# and BSP layers to pick either (desktop) opengl, gles2, or no GL
-PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
-
-PACKAGECONFIG_class-native = "x11"
-PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG ??= " \
- ${PACKAGECONFIG_GL} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
-"
-PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib,"
-PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb"
-PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2"
-PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl"
-PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
-PACKAGECONFIG[tslib] = "--enable-input-tslib,--disable-input-tslib,tslib"
-PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon"
-PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
-
-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
-}
-
-FILES_${PN}-dev += "${libdir}/cmake"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
new file mode 100644
index 000000000..c741cfb24
--- /dev/null
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
@@ -0,0 +1,70 @@
+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 = "Zlib"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=02ee26814dd044bd7838ae24e05b880f"
+
+PROVIDES = "virtual/libsdl2"
+
+SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
+ file://more-gen-depends.patch \
+"
+
+S = "${WORKDIR}/SDL2-${PV}"
+
+SRC_URI[md5sum] = "f2ecfba915c54f7200f504d8b48a5dfe"
+SRC_URI[sha256sum] = "255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1"
+
+inherit autotools lib_package binconfig pkgconfig
+
+EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
+ --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
+ --disable-video-dummy \
+ --enable-pthreads \
+ --enable-sdl-dlopen \
+ --disable-rpath \
+ --disable-sndio \
+ "
+
+# opengl packageconfig factored out to make it easy for distros
+# and BSP layers to pick either (desktop) opengl, gles2, or no GL
+PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+
+PACKAGECONFIG_class-native = "x11"
+PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG ??= " \
+ ${PACKAGECONFIG_GL} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
+"
+PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib,"
+PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb"
+PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2"
+PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm"
+PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
+PACKAGECONFIG[tslib] = "--enable-input-tslib,--disable-input-tslib,tslib"
+PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon"
+PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
+
+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
+}
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/libva/libva-utils/0001-Build-sfcsample-only-when-X11-backend-is-enabled.patch b/poky/meta/recipes-graphics/libva/libva-utils/0001-Build-sfcsample-only-when-X11-backend-is-enabled.patch
new file mode 100644
index 000000000..01fb71913
--- /dev/null
+++ b/poky/meta/recipes-graphics/libva/libva-utils/0001-Build-sfcsample-only-when-X11-backend-is-enabled.patch
@@ -0,0 +1,35 @@
+From 8fc14e4bc81885b80c3072e549c2e6f59533d7ef Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Fri, 8 Feb 2019 11:45:55 +0800
+Subject: [PATCH] Build sfcsample only when X11 backend is enabled
+
+See: https://github.com/intel/libva-utils/pull/149, and
+https://github.com/intel/libva-utils/issues/150
+
+Upstream-Status: Submitted
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d28175a..e294e25 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -24,10 +24,11 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+
+ AUTOMAKE_OPTIONS = foreign
+
+-SUBDIRS = common decode encode vainfo videoprocess vendor/intel vendor/intel/sfcsample
++SUBDIRS = common decode encode vainfo videoprocess vendor/intel
+
+ if USE_X11
+ SUBDIRS += putsurface
++SUBDIRS += vendor/intel/sfcsample
+ else
+ if USE_WAYLAND
+ SUBDIRS += putsurface
+--
+2.17.1
+
diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.2.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.2.0.bb
deleted file mode 100644
index e35085cb9..000000000
--- a/poky/meta/recipes-graphics/libva/libva-utils_2.2.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "libva-utils is a collection of utilities from libva project"
-
-DESCRIPTION = "libva-utils is a collection of utilities \
-and examples to exercise VA-API in accordance with the libva \
-project.VA-API is an open-source library and API specification, \
-which provides access to graphics hardware acceleration capabilities \
-for video processing. It consists of a main library and driver-specific \
-acceleration backends for each supported hardware vendor"
-
-HOMEPAGE = "https://01.org/linuxmedia/vaapi"
-BUGTRACKER = "https://github.com/intel/libva-utils/issues"
-
-SECTION = "x11"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
-
-SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
-SRC_URI[md5sum] = "93b58aa5b14c16f4bace8a45dc255ec9"
-SRC_URI[sha256sum] = "ed7a6ed1fab657df4e83ea11f90310efcf31c27828f32d65351a28ca3c404dc0"
-
-UPSTREAM_CHECK_URI = "https://github.com/intel/libva-utils/releases"
-
-DEPENDS = "libva"
-
-inherit autotools pkgconfig distro_features_check
-
-# depends on libva which requires opengl
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.4.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.4.0.bb
new file mode 100644
index 000000000..7b764314b
--- /dev/null
+++ b/poky/meta/recipes-graphics/libva/libva-utils_2.4.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "libva-utils is a collection of utilities from libva project"
+
+DESCRIPTION = "libva-utils is a collection of utilities \
+and examples to exercise VA-API in accordance with the libva \
+project.VA-API is an open-source library and API specification, \
+which provides access to graphics hardware acceleration capabilities \
+for video processing. It consists of a main library and driver-specific \
+acceleration backends for each supported hardware vendor"
+
+HOMEPAGE = "https://01.org/linuxmedia/vaapi"
+BUGTRACKER = "https://github.com/intel/libva-utils/issues"
+
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
+
+SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2 \
+ file://0001-Build-sfcsample-only-when-X11-backend-is-enabled.patch \
+ "
+
+SRC_URI[md5sum] = "f5374c4c32ce136e50aea0267887aed5"
+SRC_URI[sha256sum] = "5b7d1954b40fcb2c0544be20125c71a0852049715ab85a3e8aba60434a40c6b3"
+
+UPSTREAM_CHECK_URI = "https://github.com/intel/libva-utils/releases"
+
+DEPENDS = "libva"
+
+inherit autotools pkgconfig distro_features_check
+
+# depends on libva which requires opengl
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
diff --git a/poky/meta/recipes-graphics/libva/libva_2.2.0.bb b/poky/meta/recipes-graphics/libva/libva_2.2.0.bb
deleted file mode 100644
index 11e57e0eb..000000000
--- a/poky/meta/recipes-graphics/libva/libva_2.2.0.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Video Acceleration (VA) API for Linux"
-DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \
-and API specification which enables and provides access to graphics \
-hardware (GPU) acceleration for video processing on Linux and UNIX \
-based operating systems. Accelerated processing includes video \
-decoding, video encoding, subpicture blending and rendering. The \
-specification was originally designed by Intel for its GMA (Graphics \
-Media Accelerator) series of GPU hardware, the API is however not \
-limited to GPUs or Intel specific hardware, as other hardware and \
-manufacturers can also freely use this API for hardware accelerated \
-video decoding."
-
-HOMEPAGE = "https://01.org/linuxmedia/vaapi"
-BUGTRACKER = "https://github.com/intel/libva/issues"
-
-SECTION = "x11"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
-
-SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
-
-SRC_URI[md5sum] = "92d04ad1700136dc75b1e5f47516e704"
-SRC_URI[sha256sum] = "6f6ca04c785544d30d315ef130a6aeb9435b75f934d7fbe0e4e9ba6084ce4ef2"
-
-UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
-
-DEPENDS = "libdrm virtual/mesa"
-
-inherit autotools pkgconfig distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-EXTRA_OECONF = "ac_cv_prog_WAYLAND_SCANNER=wayland-scanner"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
-
-PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland"
-
-RDEPENDS_${PN}-x11 =+ "${PN}"
-RDEPENDS_${PN}-glx =+ "${PN}-x11"
-
-FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}"
-FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}"
-FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}"
diff --git a/poky/meta/recipes-graphics/libva/libva_2.4.0.bb b/poky/meta/recipes-graphics/libva/libva_2.4.0.bb
new file mode 100644
index 000000000..ffa1ab8f7
--- /dev/null
+++ b/poky/meta/recipes-graphics/libva/libva_2.4.0.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Video Acceleration (VA) API for Linux"
+DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \
+and API specification which enables and provides access to graphics \
+hardware (GPU) acceleration for video processing on Linux and UNIX \
+based operating systems. Accelerated processing includes video \
+decoding, video encoding, subpicture blending and rendering. The \
+specification was originally designed by Intel for its GMA (Graphics \
+Media Accelerator) series of GPU hardware, the API is however not \
+limited to GPUs or Intel specific hardware, as other hardware and \
+manufacturers can also freely use this API for hardware accelerated \
+video decoding."
+
+HOMEPAGE = "https://01.org/linuxmedia/vaapi"
+BUGTRACKER = "https://github.com/intel/libva/issues"
+
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
+
+SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
+
+SRC_URI[md5sum] = "cfc69c2a5f526dd1858e098fb8eebfa6"
+SRC_URI[sha256sum] = "99263056c21593a26f2ece812aee6fe60142b49e6cd46cb33c8dddf18fc19391"
+
+UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
+
+DEPENDS = "libdrm virtual/mesa"
+
+inherit autotools pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+EXTRA_OECONF = "ac_cv_prog_WAYLAND_SCANNER=wayland-scanner"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
+
+PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland"
+
+RDEPENDS_${PN}-x11 =+ "${PN}"
+RDEPENDS_${PN}-glx =+ "${PN}-x11"
+
+FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}"
+FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}"
+FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}"
diff --git a/poky/meta/recipes-graphics/menu-cache/menu-cache_1.0.2.bb b/poky/meta/recipes-graphics/menu-cache/menu-cache_1.0.2.bb
deleted file mode 100644
index 71540cf1d..000000000
--- a/poky/meta/recipes-graphics/menu-cache/menu-cache_1.0.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Library for caching application menus"
-DESCRIPTION = "A library creating and utilizing caches to speed up freedesktop.org application menus"
-HOMEPAGE = "http://lxde.sourceforge.net/"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0964c689fcf4c21c6797ea87408416b6"
-
-SECTION = "x11/libs"
-DEPENDS = "glib-2.0 libfm-extra"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/lxde/menu-cache-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "8dde7a3f5bd9798d0129d1979a5d7640"
-SRC_URI[sha256sum] = "6f83edf2de34f83e701dcb52145d755250a5677580cd413476cc4d7f2d2012d5"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lxde/files/menu-cache/1.0/"
-
-inherit autotools gettext pkgconfig gtk-doc
diff --git a/poky/meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb b/poky/meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb
new file mode 100644
index 000000000..ddbbd9406
--- /dev/null
+++ b/poky/meta/recipes-graphics/menu-cache/menu-cache_1.1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Library for caching application menus"
+DESCRIPTION = "A library creating and utilizing caches to speed up freedesktop.org application menus"
+HOMEPAGE = "http://lxde.sourceforge.net/"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0964c689fcf4c21c6797ea87408416b6"
+
+SECTION = "x11/libs"
+DEPENDS = "glib-2.0 libfm-extra"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lxde/menu-cache-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "99999a0bca48b980105208760c8fd893"
+SRC_URI[sha256sum] = "ed02eb459dcb398f69b9fa5bf4dd813020405afc84331115469cdf7be9273ec7"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lxde/files/menu-cache/1.1/"
+
+inherit autotools gettext pkgconfig gtk-doc
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch b/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch
index a50d2a2ba..d065e2285 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch
@@ -1,7 +1,7 @@
-From 7e8e0f8a8ac2425e19a2f340c9e3da9345f25940 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 15 Nov 2016 15:20:49 +0200
-Subject: [PATCH 1/6] Simplify wayland-scanner lookup
+From e53837ad7b01364f34a533b95f4817c1795789de Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Wed, 20 Feb 2019 16:17:00 -0300
+Subject: [PATCH 1/4] Simplify wayland-scanner lookup
Organization: O.S. Systems Software LTDA.
Don't use pkg-config to lookup the path of a binary that's in the path.
@@ -12,21 +12,26 @@ PKG_CONFIG_SYSROOT_DIR.
Upstream-Status: Pending
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
configure.ac | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 14f1af2b2f..916d0bd207 100644
+index 1ef68fe68e6..1816a4cd475 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1825,12 +1825,7 @@ for plat in $platforms; do
- PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED])
+@@ -1854,16 +1854,11 @@ for plat in $platforms; do
+ fi
WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
- PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`,
- WAYLAND_SCANNER='')
+ PKG_CHECK_EXISTS([wayland-scanner >= 1.15],
+ AC_SUBST(SCANNER_ARG, 'private-code'),
+ AC_SUBST(SCANNER_ARG, 'code'))
+
- if test "x$WAYLAND_SCANNER" = x; then
- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
- fi
@@ -35,5 +40,5 @@ index 14f1af2b2f..916d0bd207 100644
if test "x$WAYLAND_SCANNER" = "x:"; then
AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform])
--
-2.18.0
+2.21.0
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch b/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch
index ffb3bf7a6..aaeb0f11b 100644
--- a/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch
@@ -1,7 +1,7 @@
-From 7792f228991744a0396b8bf811e281dca86165d3 Mon Sep 17 00:00:00 2001
+From f212b6bed4bf265aec069c21cdc4b7c2d9cb32df Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 16 Aug 2017 18:58:20 -0700
-Subject: [PATCH 2/6] winsys/svga/drm: Include sys/types.h
+Subject: [PATCH 2/4] winsys/svga/drm: Include sys/types.h
Organization: O.S. Systems Software LTDA.
vmw_screen.h uses dev_t which is defines in sys/types.h
@@ -13,12 +13,13 @@ system headers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Backport [7dfdfbf8c37e52e7b9b09f7d1d434edad3ebc864]
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
src/gallium/winsys/svga/drm/vmw_screen.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h
-index f21cabb51f..4c972fdaa9 100644
+index a87c087d9c5..cb34fec48e7 100644
--- a/src/gallium/winsys/svga/drm/vmw_screen.h
+++ b/src/gallium/winsys/svga/drm/vmw_screen.h
@@ -41,6 +41,7 @@
@@ -30,5 +31,5 @@ index f21cabb51f..4c972fdaa9 100644
#define VMW_GMR_POOL_SIZE (16*1024*1024)
#define VMW_QUERY_POOL_SIZE (8192)
--
-2.18.0
+2.21.0
diff --git a/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch b/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch
index 5e735ca10..96edc2172 100644
--- a/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch
@@ -1,7 +1,7 @@
-From 8b42fb47138f91d9378439ab716bac7701e4e326 Mon Sep 17 00:00:00 2001
+From ce7b9ff6517fda089f296b2af2c1c49604872514 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Tue, 5 Jun 2018 11:11:10 -0300
-Subject: [PATCH 3/6] Properly get LLVM version when using LLVM Git releases
+Subject: [PATCH 3/4] Properly get LLVM version when using LLVM Git releases
Organization: O.S. Systems Software LTDA.
$ llvm-config-host --version
@@ -13,15 +13,16 @@ doing
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 916d0bd207..dd172f1ebe 100644
+index 1816a4cd475..13fed9daf59 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1090,7 +1090,7 @@ strip_unwanted_llvm_flags() {
+@@ -1124,7 +1124,7 @@ strip_unwanted_llvm_flags() {
llvm_set_environment_variables() {
if test "x$LLVM_CONFIG" != xno; then
@@ -30,7 +31,7 @@ index 916d0bd207..dd172f1ebe 100644
LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"`
LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir`
LLVM_LIBDIR=`$LLVM_CONFIG --libdir`
-@@ -2808,7 +2808,7 @@ detect_old_buggy_llvm() {
+@@ -2870,7 +2870,7 @@ detect_old_buggy_llvm() {
dnl ourselves.
dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823)
dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
@@ -40,5 +41,5 @@ index 916d0bd207..dd172f1ebe 100644
if test "x$llvm_have_one_so" = xyes; then
--
-2.18.0
+2.21.0
diff --git a/poky/meta/recipes-graphics/mesa/files/0004-Use-Python-3-to-execute-the-scripts.patch b/poky/meta/recipes-graphics/mesa/files/0004-Use-Python-3-to-execute-the-scripts.patch
deleted file mode 100644
index 8953c4a18..000000000
--- a/poky/meta/recipes-graphics/mesa/files/0004-Use-Python-3-to-execute-the-scripts.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ebe6077a1d74e56b28249f71e8760295fa846ed2 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Fri, 29 Dec 2017 10:27:59 -0200
-Subject: [PATCH 4/6] Use Python 3 to execute the scripts
-Organization: O.S. Systems Software LTDA.
-
-The MESA build system uses Python 2 but as OE-Core has moved away from
-it, we change it to use Python 3 instead.
-
-Upstream-Status: Inappropriate [ configuration ]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index dd172f1ebe..40cac36ac2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -122,7 +122,7 @@ AM_PROG_CC_C_O
- AC_PROG_NM
- AM_PROG_AS
- AX_CHECK_GNU_MAKE
--AC_CHECK_PROGS([PYTHON2], [python2.7 python2 python])
-+AC_CHECK_PROGS([PYTHON2], [python3.5 python3 python])
- AC_PROG_SED
- AC_PROG_MKDIR_P
-
---
-2.18.0
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch b/poky/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch
new file mode 100644
index 000000000..45bcd466a
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch
@@ -0,0 +1,38 @@
+From 5489e1d22e18740a1924628c5c97096d48dcfbf8 Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Fri, 15 Feb 2019 10:57:06 -0200
+Subject: [PATCH 4/4] use PKG_CHECK_VAR for defining WAYLAND_PROTOCOLS_DATADIR
+Organization: O.S. Systems Software LTDA.
+
+This allows to override the wayland-protocols pkgdatadir with the
+WAYLAND_PROTOCOLS_DATADIR from environment.
+
+pkgconfig would return an absolute path in
+/usr/share/wayland-protocols
+for the pkgdatadir value, which is not suitable for cross-compiling.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 13fed9daf59..6cff8afb7cf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1852,7 +1852,7 @@ for plat in $platforms; do
+ if test "x$enable_egl" = xyes; then
+ PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl-backend >= $WAYLAND_EGL_BACKEND_REQUIRED])
+ fi
+- WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
++ PKG_CHECK_VAR([WAYLAND_PROTOCOLS_DATADIR], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], pkgdatadir)
+
+ PKG_CHECK_EXISTS([wayland-scanner >= 1.15],
+ AC_SUBST(SCANNER_ARG, 'private-code'),
+--
+2.21.0
+
diff --git a/poky/meta/recipes-graphics/mesa/files/0005-dri-i965-Add-missing-time.h-include.patch b/poky/meta/recipes-graphics/mesa/files/0005-dri-i965-Add-missing-time.h-include.patch
deleted file mode 100644
index d40e7b585..000000000
--- a/poky/meta/recipes-graphics/mesa/files/0005-dri-i965-Add-missing-time.h-include.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 9e0368af471af3a36e0eb526453f892598120065 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Wed, 6 Jun 2018 09:50:35 -0300
-Subject: [PATCH 5/6] dri: i965: Add missing time.h include
-Organization: O.S. Systems Software LTDA.
-
-This fixes a build error when using musl:
-
-,----
-| In file included from .../src/mesa/drivers/dri/i965/intel_upload.c:33:0:
-| .../src/mesa/drivers/dri/i965/brw_bufmgr.h:132:4: error: unknown type name 'time_t'
-| time_t free_time;
-| ^~~~~~
-`----
-
-Upstream-Status: Backport [3c288da5eec81ee58b85927df18d9194ead8f5c2]
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- src/mesa/drivers/dri/i965/brw_bufmgr.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h
-index 68f5e0c2c8..5b60a23763 100644
---- a/src/mesa/drivers/dri/i965/brw_bufmgr.h
-+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h
-@@ -37,6 +37,7 @@
- #include <stdbool.h>
- #include <stdint.h>
- #include <stdio.h>
-+#include <time.h>
- #include "util/u_atomic.h"
- #include "util/list.h"
-
---
-2.18.0
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch b/poky/meta/recipes-graphics/mesa/files/0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch
deleted file mode 100644
index 0212922c5..000000000
--- a/poky/meta/recipes-graphics/mesa/files/0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 754ccf89a732fc3da6e9bc62ebd6b28686ff3d26 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Wed, 29 Aug 2018 22:10:30 -0300
-Subject: [PATCH 6/6] use PKG_CHECK_VAR for defining WAYLAND_PROTOCOLS_DATADIR
-Organization: O.S. Systems Software LTDA.
-
-This allows to override the wayland-protocols pkgdatadir with the
-WAYLAND_PROTOCOLS_DATADIR from environment.
-
-pkgconfig would return an absolute path in
-/usr/share/wayland-protocols
-for the pkgdatadir value, which is not suitable for cross-compiling.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 40cac36ac2..728bbdcbc4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1823,7 +1823,7 @@ for plat in $platforms; do
- PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= $WAYLAND_REQUIRED])
- PKG_CHECK_MODULES([WAYLAND_SERVER], [wayland-server >= $WAYLAND_REQUIRED])
- PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED])
-- WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
-+ PKG_CHECK_VAR([WAYLAND_PROTOCOLS_DATADIR], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], pkgdatadir)
-
- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
-
---
-2.18.0
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
deleted file mode 100644
index 73267eb4f..000000000
--- a/poky/meta/recipes-graphics/mesa/mesa-gl_18.1.9.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require mesa_${PV}.bb
-
-SUMMARY += " (OpenGL only, no EGL/GLES)"
-
-PROVIDES = "virtual/libgl virtual/mesa"
-
-S = "${WORKDIR}/mesa-${PV}"
-
-PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.1.bb
new file mode 100644
index 000000000..d4b1c1c45
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.1.bb
@@ -0,0 +1,10 @@
+require mesa_${PV}.bb
+
+SUMMARY += " (OpenGL only, no EGL/GLES)"
+
+PROVIDES = "virtual/libgl virtual/mesa"
+
+S = "${WORKDIR}/mesa-${PV}"
+
+PACKAGECONFIG ??= "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index f47f1aa20..ece74974b 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -26,7 +26,9 @@ PROVIDES = " \
inherit autotools pkgconfig python3native gettext distro_features_check
-ANY_OF_DISTRO_FEATURES = "opengl vulkan"
+BBCLASSEXTEND = "native nativesdk"
+
+ANY_OF_DISTRO_FEATURES_class-target = "opengl vulkan"
PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)} \
@@ -40,26 +42,31 @@ EXTRA_OECONF = "--enable-shared-glapi \
--enable-glx-read-only-text \
PYTHON2=python2 \
--with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \
- --with-platforms='${PLATFORMS}'"
+ --with-platforms='${PLATFORMS}' \
+ --enable-autotools \
+"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri', '', d)} \
+PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
"
+PACKAGECONFIG_class-native ?= "gbm dri egl opengl"
+PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl"
# "gbm" requires "dri", "opengl"
PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm"
-X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
+X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr"
# "x11" requires "opengl"
PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}"
PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc"
PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
-DRIDRIVERS = "swrast"
-DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
-DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
+DRIDRIVERS_class-native = "swrast"
+DRIDRIVERS_class-nativesdk = "swrast"
+DRIDRIVERS_append_x86_class-target = ",radeon,r200,nouveau,i965,i915"
+DRIDRIVERS_append_x86-64_class-target = ",radeon,r200,nouveau,i965,i915"
# "dri" requires "opengl"
PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, xorgproto libdrm"
PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, xorgproto libxshmfence"
@@ -67,8 +74,8 @@ PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, xorgproto libxshmfence"
# Vulkan drivers need dri3 enabled
# radeon could be enabled as well but requires gallium-llvm with llvm >= 3.9
VULKAN_DRIVERS = ""
-VULKAN_DRIVERS_append_x86 = ",intel"
-VULKAN_DRIVERS_append_x86-64 = ",intel"
+VULKAN_DRIVERS_append_x86_class-target = ",intel"
+VULKAN_DRIVERS_append_x86-64_class-target = ",intel"
PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=${VULKAN_DRIVERS}, --without-vulkan-drivers, python3-mako-native"
PACKAGECONFIG[opengl] = "--enable-opengl, --disable-opengl"
@@ -85,17 +92,21 @@ PACKAGECONFIG[imx] = ""
GALLIUMDRIVERS = "swrast"
GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'imx', ',imx', '', d)}"
-GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', 'radeonsi,r600', '', d)}"
-PACKAGECONFIG[r600] = ""
+
+# radeonsi requires LLVM
+GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
GALLIUMDRIVERS_LLVM33_ENABLED = "${@oe.utils.version_less_or_equal('MESA_LLVM_RELEASE', '3.2', False, len('${GALLIUMDRIVERS_LLVM33}') > 0, d)}"
GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@',${GALLIUMDRIVERS_LLVM33}' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}"
-GALLIUMDRIVERS_append_x86 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
-GALLIUMDRIVERS_append_x86-64 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
-GALLIUMDRIVERS_append_x86 = ",virgl"
-GALLIUMDRIVERS_append_x86-64 = ",virgl"
+
+PACKAGECONFIG[r600] = ""
+
+GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
+GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
+GALLIUMDRIVERS_append = ",virgl"
+
# keep --with-gallium-drivers separate, because when only one of gallium versions is enabled, other 2 were adding --without-gallium-drivers
-PACKAGECONFIG[gallium] = "--enable-texture-float --with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers"
-MESA_LLVM_RELEASE ?= "6.0"
+PACKAGECONFIG[gallium] = "--with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers"
+MESA_LLVM_RELEASE ?= "8.0.0"
PACKAGECONFIG[gallium-llvm] = "--enable-llvm --enable-llvm-shared-libs, --disable-llvm, llvm${MESA_LLVM_RELEASE} llvm-native \
${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}"
export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
@@ -141,6 +152,7 @@ do_install_append () {
rm -f ${D}${libdir}/gallium-pipe/*.la
rm -f ${D}${libdir}/gbm/*.la
+ # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used
chrpath --delete ${D}${libdir}/dri/*_dri.so || true
# libwayland-egl has been moved to wayland 1.15+
@@ -192,7 +204,7 @@ python mesa_populate_packages() {
dri_pkgs = os.listdir(dri_drivers_root)
lib_name = d.expand("${MLPREFIX}mesa-megadriver")
for p in dri_pkgs:
- m = re.match('^(.*)_dri\.so$', p)
+ m = re.match(r'^(.*)_dri\.so$', p)
if m:
pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
d.appendVar("RPROVIDES_%s" % lib_name, pkg_name)
@@ -200,15 +212,14 @@ python mesa_populate_packages() {
d.appendVar("RREPLACES_%s" % lib_name, pkg_name)
pipe_drivers_root = os.path.join(d.getVar('libdir'), "gallium-pipe")
- do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
+ do_split_packages(d, pipe_drivers_root, r'^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
}
PACKAGESPLITFUNCS_prepend = "mesa_populate_packages "
PACKAGES_DYNAMIC += "^mesa-driver-.*"
-FILES_${PN} = ""
-FILES_mesa-megadriver = "${libdir}/dri/* ${sysconfdir}"
+FILES_mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d/00-mesa-defaults.conf"
FILES_mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan"
FILES_libegl-mesa = "${libdir}/libEGL.so.*"
FILES_libgbm = "${libdir}/libgbm.so.*"
@@ -231,3 +242,8 @@ FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}
FILES_libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \
${libdir}/pkgconfig/xatracker.pc"
+
+# Fix upgrade path from mesa to mesa-megadriver
+RREPLACES_mesa-megadriver = "mesa"
+RCONFLICTS_mesa-megadriver = "mesa"
+RPROVIDES_mesa-megadriver = "mesa"
diff --git a/poky/meta/recipes-graphics/mesa/mesa_18.1.9.bb b/poky/meta/recipes-graphics/mesa/mesa_18.1.9.bb
deleted file mode 100644
index 86d6a6bf3..000000000
--- a/poky/meta/recipes-graphics/mesa/mesa_18.1.9.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
- file://0001-Simplify-wayland-scanner-lookup.patch \
- file://0002-winsys-svga-drm-Include-sys-types.h.patch \
- file://0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch \
- file://0004-Use-Python-3-to-execute-the-scripts.patch \
- file://0005-dri-i965-Add-missing-time.h-include.patch \
- file://0006-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch \
-"
-
-SRC_URI[md5sum] = "2f8d2098ab478bc3907e42130577b54a"
-SRC_URI[sha256sum] = "55f5778d58a710a63d6635f000535768faf7db9e8144dc0f4fd1989f936c1a83"
-
-#because we cannot rely on the fact that all apps will use pkgconfig,
-#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
-do_install_append() {
- if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
- sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
- fi
-}
diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb
new file mode 100644
index 000000000..d90be8a07
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb
@@ -0,0 +1,19 @@
+require ${BPN}.inc
+
+SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
+ file://0001-Simplify-wayland-scanner-lookup.patch \
+ file://0002-winsys-svga-drm-Include-sys-types.h.patch \
+ file://0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch \
+ file://0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch \
+"
+
+SRC_URI[md5sum] = "19636bb3da35c21f43040d31e575d5ce"
+SRC_URI[sha256sum] = "6884163c0ea9e4c98378ab8fecd72fe7b5f437713a14471beda378df247999d4"
+
+#because we cannot rely on the fact that all apps will use pkgconfig,
+#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
+do_install_append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
+ sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
+ fi
+}
diff --git a/poky/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch b/poky/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch
deleted file mode 100644
index 6784a105a..000000000
--- a/poky/meta/recipes-graphics/pango/pango/0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 526a6a9fc9a1cfe75c521c8bb39b61754fe42fe8 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 2 Sep 2016 14:00:24 +0300
-Subject: [PATCH] Enforce recreation of docs/pango.types; it is build
- configuration-specific.
-
-In particular, it needs to exclude references to PangoXft if Xft is not available.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- docs/Makefile.am | 17 ++++--------
- docs/pango.types | 80 --------------------------------------------------------
- 2 files changed, 5 insertions(+), 92 deletions(-)
- delete mode 100644 docs/pango.types
-
-diff --git a/docs/Makefile.am b/docs/Makefile.am
-index f5f1317..8947a99 100644
---- a/docs/Makefile.am
-+++ b/docs/Makefile.am
-@@ -49,6 +49,10 @@ IGNORE_HFILES= \
- pangocoretext-private.h \
- pangoatsui-private.h
-
-+if !HAVE_XFT
-+IGNORE_HFILES += pangoxft pangoxft-render.h
-+endif
-+
- # CFLAGS and LDFLAGS for compiling scan program. Only needed
- # if $(DOC_MODULE).types is non-empty.
- INCLUDES = \
-@@ -103,16 +107,6 @@ include $(top_srcdir)/gtk-doc.make
- # This line really belongs in gtk-doc.mk
- $(REPORT_FILES): sgml-build.stamp
-
--pango.types:
-- @echo "Rebuilding $@"
-- @LANG=C; LIST=$$(grep 'pango_[_a-zA-Z0-9]*_get_type' $(HFILE_GLOB) | grep -v '\(private\|atsui\|core_text\|win32\)' | sed 's/\([^:]*:\).*\(pango[_a-zA-Z0-9]*_get_type\).*/\1\2/') && \
-- echo "$$LIST" | sed 's/.*\/\(pango\/.*\):.*/#include <\1>/' | sort -u > $@.tmp && \
-- echo >> $@.tmp && \
-- echo "$$LIST" | cut -d : -f 2 | sort -u >> $@.tmp && \
-- mv $@.tmp $@
--
--BUILT_SOURCES = pango.types
--
- ########################################################################
-
- MAINTAINERCLEANFILES = $(BUILT_SOURCES)
-@@ -120,8 +114,7 @@ EXTRA_DIST += \
- layout.fig \
- layout.eps \
- version.xml.in \
-- check.docs \
-- pango.types
-+ check.docs
-
- # force doc rebulid after configure
- dist-hook-local: dist-local-check-no-cross-references all-local
-diff --git a/docs/pango.types b/docs/pango.types
-deleted file mode 100644
-index 7d93cda..0000000
---- a/docs/pango.types
-+++ /dev/null
-@@ -1,80 +0,0 @@
--#include <pango/pango-attributes.h>
--#include <pango/pango-context.h>
--#include <pango/pango-engine.h>
--#include <pango/pango-enum-types.h>
--#include <pango/pango-font.h>
--#include <pango/pango-fontmap.h>
--#include <pango/pango-fontset.h>
--#include <pango/pango-glyph-item.h>
--#include <pango/pango-glyph.h>
--#include <pango/pango-item.h>
--#include <pango/pango-language.h>
--#include <pango/pango-layout.h>
--#include <pango/pango-matrix.h>
--#include <pango/pango-ot.h>
--#include <pango/pango-renderer.h>
--#include <pango/pango-tabs.h>
--#include <pango/pangocairo-fc.h>
--#include <pango/pangocairo.h>
--#include <pango/pangofc-decoder.h>
--#include <pango/pangofc-font.h>
--#include <pango/pangofc-fontmap.h>
--#include <pango/pangoft2.h>
--#include <pango/pangoxft-render.h>
--#include <pango/pangoxft.h>
--
--pango_alignment_get_type
--pango_attr_list_get_type
--pango_attr_type_get_type
--pango_bidi_type_get_type
--pango_cairo_fc_font_map_get_type
--pango_cairo_font_get_type
--pango_cairo_font_map_get_type
--pango_color_get_type
--pango_context_get_type
--pango_coverage_level_get_type
--pango_direction_get_type
--pango_ellipsize_mode_get_type
--pango_engine_get_type
--pango_engine_lang_get_type
--pango_engine_shape_get_type
--pango_fc_decoder_get_type
--pango_fc_font_get_type
--pango_fc_font_map_get_type
--pango_font_description_get_type
--pango_font_face_get_type
--pango_font_family_get_type
--pango_font_get_type
--pango_font_map_get_type
--pango_font_mask_get_type
--pango_font_metrics_get_type
--pango_fontset_get_type
--pango_fontset_simple_get_type
--pango_ft2_font_map_get_type
--pango_glyph_item_get_type
--pango_glyph_item_iter_get_type
--pango_glyph_string_get_type
--pango_gravity_get_type
--pango_gravity_hint_get_type
--pango_item_get_type
--pango_language_get_type
--pango_layout_get_type
--pango_layout_iter_get_type
--pango_layout_line_get_type
--pango_matrix_get_type
--pango_ot_info_get_type
--pango_ot_ruleset_get_type
--pango_render_part_get_type
--pango_renderer_get_type
--pango_script_get_type
--pango_stretch_get_type
--pango_style_get_type
--pango_tab_align_get_type
--pango_tab_array_get_type
--pango_underline_get_type
--pango_variant_get_type
--pango_weight_get_type
--pango_wrap_mode_get_type
--pango_xft_font_get_type
--pango_xft_font_map_get_type
--pango_xft_renderer_get_type
---
-2.9.3
-
diff --git a/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch b/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch
new file mode 100644
index 000000000..faaa96133
--- /dev/null
+++ b/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch
@@ -0,0 +1,28 @@
+Do case-insensitive diffs as the test is sensitive as to whether 0x0 is printed
+as (null) or (NULL).
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/pango/merge_requests/44]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/tests/markup-parse.c b/tests/markup-parse.c
+index 633f3e89..36d2c776 100644
+--- a/tests/markup-parse.c
++++ b/tests/markup-parse.c
+@@ -217,7 +217,7 @@ diff_with_file (const char *file1,
+ GString *string,
+ GError **error)
+ {
+- const char *command[] = { "diff", "-u", file1, NULL, NULL };
++ const char *command[] = { "diff", "-u", "-i", file1, NULL, NULL };
+ char *diff, *tmpfile;
+ int fd;
+
+@@ -237,7 +237,7 @@ diff_with_file (const char *file1,
+ goto done;
+ }
+ close (fd);
+- command[3] = tmpfile;
++ command[4] = tmpfile;
+
+ /* run diff command */
+ g_spawn_sync (NULL, (char **)command, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &diff, NULL, NULL, error);
diff --git a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb
index 22fe3af15..d3357f82d 100644
--- a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb
+++ b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb
@@ -11,29 +11,38 @@ LICENSE = "LGPLv2.0+"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+GNOMEBASEBUILDCLASS = "meson"
+
inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection
SRC_URI += "file://run-ptest \
- file://0001-Enforce-recreation-of-docs-pango.types-it-is-build-c.patch \
-"
+ file://insensitive-diff.patch"
+
SRC_URI[archive.md5sum] = "deb171a31a3ad76342d5195a1b5bbc7c"
SRC_URI[archive.sha256sum] = "1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d"
DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = "--with-xft,--without-xft,virtual/libx11 libxft"
+PACKAGECONFIG[x11] = ",,virtual/libx11 libxft"
+
+GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
+GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
+
+GI_ENABLE_FLAG = "-Dgir=true"
+GI_DISABLE_FLAG = "-Dgir=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
LEAD_SONAME = "libpango-1.0*"
LIBV = "1.8.0"
-# This binary needs to be compiled for the host architecture. This isn't pretty!
-do_compile_prepend_class-target () {
- if ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
- make CC="${BUILD_CC}" CFLAGS="" LDFLAGS="${BUILD_LDFLAGS}" AM_CPPFLAGS="$(pkg-config-native --cflags glib-2.0)" gen_all_unicode_LDADD="$(pkg-config-native --libs glib-2.0)" -C ${B}/tests gen-all-unicode
- fi
-}
-
FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}"
FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
@@ -42,4 +51,11 @@ RDEPENDS_${PN}-ptest += "liberation-fonts cantarell-fonts"
RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \
pango-module-basic-fc pango-module-arabic-lang"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
+
+do_install_append () {
+ if [ "${PTEST_ENABLED}" != "1" ]; then
+ rm -rf ${D}${libexecdir}/installed-tests ${D}${datadir}/installed-tests
+ rmdir --ignore-fail-on-non-empty ${D}${libexecdir} ${D}${datadir}
+ fi
+}
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch
index f851a92ce..57eda2e20 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch
@@ -1,54 +1,75 @@
-From 0fc2c2932699cfd68be96c820fddfdd79b48b788 Mon Sep 17 00:00:00 2001
+Upstream-Status: Submitted [mailing list]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 0e0a2a69261031d55d52b6045990e8982ea12912 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 9 Jul 2016 07:52:19 +0000
-Subject: [PATCH] tests: Use FE_UPWARD only if its defined in fenv.h
-
-On ARM, musl does not define FE_* when arch does not have
-VFP, (which is right interpretation), therefore check if
-its defined before using it
+Subject: [PATCH] tests: only run rounding tests if FE_UPWARD is present
-Fixes errors like
+On ARM, musl does not define FE_* when the architecture does not have VFP (which
+is the right interpretation).
-tests/general/roundmode-pixelstore.c:82:19: error: 'FE_UPWARD' undeclared (first use in this function)
- ret = fesetround(FE_UPWARD);
- ^~~~~~~~~
+As these tests depend on calling fesetround(), skip the test if FE_UPWARD isn't
+available.
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Ross Burton <ross.burton@intel.com>
---
-Upstream-Status: Pending
-
- tests/general/roundmode-getintegerv.c | 2 ++
- tests/general/roundmode-pixelstore.c | 2 ++
- 2 files changed, 4 insertions(+)
+ tests/general/roundmode-getintegerv.c | 12 ++++++++----
+ tests/general/roundmode-pixelstore.c | 12 ++++++++----
+ 2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/tests/general/roundmode-getintegerv.c b/tests/general/roundmode-getintegerv.c
-index 28ecfaf..5c27579 100644
+index 28ecfaf55..aa99044a1 100644
--- a/tests/general/roundmode-getintegerv.c
+++ b/tests/general/roundmode-getintegerv.c
-@@ -81,7 +81,9 @@ piglit_init(int argc, char **argv)
+@@ -79,13 +79,17 @@ test(float val, int expect)
+ void
+ piglit_init(int argc, char **argv)
{
- int ret;
+- int ret;
bool pass = true;
+- ret = fesetround(FE_UPWARD);
+- if (ret != 0) {
+- printf("Couldn't set rounding mode\n");
++
+#ifdef FE_UPWARD
- ret = fesetround(FE_UPWARD);
-+#endif
- if (ret != 0) {
- printf("Couldn't set rounding mode\n");
++ if (fesetround(FE_UPWARD) != 0) {
++ printf("Setting rounding mode failed\n");
piglit_report_result(PIGLIT_SKIP);
+ }
++#else
++ printf("Cannot set rounding mode\n");
++ piglit_report_result(PIGLIT_SKIP);
++#endif
+
+ pass = test(2.2, 2) && pass;
+ pass = test(2.8, 3) && pass;
diff --git a/tests/general/roundmode-pixelstore.c b/tests/general/roundmode-pixelstore.c
-index 9284f43..3fcb396 100644
+index 8a029b257..57ec11c09 100644
--- a/tests/general/roundmode-pixelstore.c
+++ b/tests/general/roundmode-pixelstore.c
-@@ -79,7 +79,9 @@ piglit_init(int argc, char **argv)
+@@ -79,13 +79,17 @@ test(float val, int expect)
+ void
+ piglit_init(int argc, char **argv)
{
- int ret;
+- int ret;
bool pass = true;
+- ret = fesetround(FE_UPWARD);
+- if (ret != 0) {
+- printf("Couldn't set rounding mode\n");
++
+#ifdef FE_UPWARD
- ret = fesetround(FE_UPWARD);
-+#endif
- if (ret != 0) {
- printf("Couldn't set rounding mode\n");
++ if (fesetround(FE_UPWARD) != 0) {
++ printf("Setting rounding mode failed\n");
piglit_report_result(PIGLIT_SKIP);
+ }
++#else
++ printf("Cannot set rounding mode\n");
++ piglit_report_result(PIGLIT_SKIP);
++#endif
+
+ pass = test(2.2, 2) && pass;
+ pass = test(2.8, 3) && pass;
--
-1.8.3.1
+2.11.0
diff --git a/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch b/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch
new file mode 100644
index 000000000..73d539fef
--- /dev/null
+++ b/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch
@@ -0,0 +1,69 @@
+Upstream-Status: Submitted [mailing list]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From f0c6981322807e179e39ce67aeebd42cf7a54d36 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 21 Nov 2018 12:44:36 +0000
+Subject: [PATCH] arb_texture_view: fix security format warnings
+
+If built with -Werror=format-security then Piglit fails to build:
+
+/tests/spec/arb_texture_view/rendering-layers-image.c:150:8:
+error: format not a string literal and no format arguments [-Werror=format-security]
+ (desc)); \
+ ^~~~~~
+
+In this case test->uniform_type is being turned into a string using snprintf()
+and then passed to piglit_report_subtest_result() which takes a format string,
+but GCC can't verify the format.
+
+As _subtest_report() takes a format string, we can just remove the snprintf()
+and let it construct the label.
+
+Also as X is used once and doesn't make the code clearer, just inline it.
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ tests/spec/arb_texture_view/rendering-layers-image.c | 19 ++++++-------------
+ 1 file changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/tests/spec/arb_texture_view/rendering-layers-image.c b/tests/spec/arb_texture_view/rendering-layers-image.c
+index 415b01657..86148075b 100644
+--- a/tests/spec/arb_texture_view/rendering-layers-image.c
++++ b/tests/spec/arb_texture_view/rendering-layers-image.c
+@@ -142,26 +142,19 @@ test_render_layers(const struct test_info *test)
+ return pass;
+ }
+
+-#define X(f, desc) \
+- do { \
+- const bool subtest_pass = (f); \
+- piglit_report_subtest_result(subtest_pass \
+- ? PIGLIT_PASS : PIGLIT_FAIL, \
+- (desc)); \
+- pass = pass && subtest_pass; \
+- } while (0)
+-
+ enum piglit_result
+ piglit_display(void)
+ {
+ bool pass = true;
+ for (int test_idx = 0; test_idx < ARRAY_SIZE(tests); test_idx++) {
+ const struct test_info *test = &tests[test_idx];
+- char test_name[128];
+- snprintf(test_name, sizeof(test_name), "layers rendering of %s", test->uniform_type);
+- X(test_render_layers(test), test_name);
++
++ const bool subtest_pass = test_render_layers(test);
++
++ piglit_report_subtest_result(subtest_pass ? PIGLIT_PASS : PIGLIT_FAIL,
++ "layers rendering of %s", test->uniform_type);
++ pass = pass && subtest_pass;
+ }
+-#undef X
+ pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
+ return pass ? PIGLIT_PASS : PIGLIT_FAIL;
+ }
+--
+2.11.0
+
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index 1f7c6f960..59d134801 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -6,11 +6,12 @@ SRC_URI = "git://anongit.freedesktop.org/piglit \
file://0001-cmake-install-bash-completions-in-the-right-place.patch \
file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \
file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
+ file://format-fix.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
-# From 2018-08-13
-SRCREV = "57859e15dc8ba4034348b04d0b72f213b74d6347"
+# From 2018-10-26
+SRCREV = "b9066c7717af1d169a616c9e61706b99ff8515b5"
# (when PV goes above 1.0 remove the trailing r)
PV = "1.0+gitr${SRCPV}"
@@ -51,3 +52,6 @@ RDEPENDS_${PN} = "waffle waffle-bin python3 python3-mako python3-json \
"
INSANE_SKIP_${PN} += "dev-so already-stripped"
+
+# Can't be built with ccache
+CCACHE_DISABLE = "1"
diff --git a/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
index 412da4872..f5df9efa3 100644
--- a/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
+++ b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb
@@ -37,3 +37,5 @@ do_install () {
PACKAGES = "${PN}"
FILES_${PN} += "${sysconfdir} ${datadir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch
new file mode 100644
index 000000000..aa8d81484
--- /dev/null
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch
@@ -0,0 +1,31 @@
+From d61f7073b8ce159d21811b291c22b273b040c330 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 12 Feb 2019 12:04:52 +0100
+Subject: [PATCH] Makefile.am: explicitly link with libdrm
+
+Otherwise, a failure happens with gold linker:
+
+../src/.libs/libvirglrenderer.so: error: undefined reference to 'drmPrimeHandleToFD'
+
+https://errors.yoctoproject.org/Errors/Details/222046/
+
+Upstream-Status: Accepted [https://gitlab.freedesktop.org/virgl/virglrenderer/merge_requests/153]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 9a0a44e..9b668c8 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,5 +1,6 @@
+ SUBDIRS := gallium/auxiliary
+ AM_LDFLAGS = -lm \
++ $(LIBDRM_LIBS) \
+ $(GBM_LIBS) \
+ $(EPOXY_LIBS) \
+ $(X11_LIBS) \
+--
+2.17.1
+
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch
new file mode 100644
index 000000000..2b4ffa932
--- /dev/null
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch
@@ -0,0 +1,38 @@
+From 05c5c5f43fbffb3317bd9da27d414890d2ef493c Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 18 Jan 2019 13:47:23 +0100
+Subject: [PATCH] vtest: add missing includes
+
+This fixes build failures with musl C library
+
+Upstream-Status: Accepted [https://gitlab.freedesktop.org/virgl/virglrenderer/merge_requests/125]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ vtest/util.c | 1 +
+ vtest/vtest_server.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/vtest/util.c b/vtest/util.c
+index 0d3c78f..c605253 100644
+--- a/vtest/util.c
++++ b/vtest/util.c
+@@ -26,6 +26,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
++#include <sys/select.h>
+
+ int vtest_wait_for_fd_read(int fd)
+ {
+diff --git a/vtest/vtest_server.c b/vtest/vtest_server.c
+index bc6c95f..010721f 100644
+--- a/vtest/vtest_server.c
++++ b/vtest/vtest_server.c
+@@ -31,6 +31,7 @@
+ #include <netinet/in.h>
+ #include <sys/un.h>
+ #include <fcntl.h>
++#include <string.h>
+
+ #include "util.h"
+ #include "vtest.h"
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb
new file mode 100644
index 000000000..225a0b8b0
--- /dev/null
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "VirGL virtual OpenGL renderer"
+HOMEPAGE = "https://virgil3d.github.io/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
+
+DEPENDS = "libdrm mesa libepoxy"
+SRCREV = "402c228861c9893f64cffbbcb4cb23044b8c721c"
+SRC_URI = "git://anongit.freedesktop.org/virglrenderer \
+ file://0001-vtest-add-missing-includes.patch \
+ file://0001-Makefile.am-explicitly-link-with-libdrm.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig distro_features_check
+
+BBCLASSEXTEND = "native nativesdk"
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+REQUIRED_DISTRO_FEATURES_class-native = ""
+REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb
index 5496f5396..02e4330cf 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb
@@ -4,13 +4,13 @@ that provides efficient access to modern GPUs. These packages \
provide only the common vendor-agnostic library loader, headers and \
the vulkaninfo utility."
HOMEPAGE = "https://www.khronos.org/vulkan/"
-BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99c647ca3d4f6a4b9d8628f757aad156 \
file://loader/loader.c;endline=25;md5=151b392f46568aaedb4ad22b246237ec"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers.git;branch=sdk-1.1.73 \
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;nobranch=1 \
file://demos-Don-t-build-tri-or-cube.patch \
"
SRCREV = "5998d6f444a85e6381b7a089ebf3f9e86482a31d"
@@ -35,3 +35,6 @@ PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SU
RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
INSANE_SKIP_${PN}-dev += "dev-elf"
+
+# Can't be built with ccache
+CCACHE_DISABLE = "1"
diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.11.3.bb b/poky/meta/recipes-graphics/wayland/libinput_1.11.3.bb
deleted file mode 100644
index 12e2091c0..000000000
--- a/poky/meta/recipes-graphics/wayland/libinput_1.11.3.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Library to handle input devices in Wayland compositors"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63"
-
-DEPENDS = "libevdev udev mtdev"
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
- "
-SRC_URI[md5sum] = "df6e877f11de4a9793511e9abfe7ef01"
-SRC_URI[sha256sum] = "f31191d96e425b4f16319842279d65946d9d983dcd3d9e466ae1206aa10ecb06"
-
-UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
-inherit meson pkgconfig lib_package
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
-PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3"
-
-UDEVDIR = "`pkg-config --variable=udevdir udev`"
-
-EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} -Ddocumentation=false -Dtests=false"
-
-# package name changed in 1.8.1 upgrade: make sure package upgrades work
-RPROVIDES_${PN} = "libinput"
-RREPLACES_${PN} = "libinput"
-RCONFLICTS_${PN} = "libinput"
diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb b/poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb
new file mode 100644
index 000000000..46366b751
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Library to handle input devices in Wayland compositors"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63"
+
+DEPENDS = "libevdev udev mtdev"
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
+ "
+SRC_URI[md5sum] = "8cf10cc0fdfab865b105dd28283fa0fd"
+SRC_URI[sha256sum] = "12b4023a3fc683d3d8127db573bdf925a2ef366615042f69c87e57c32a50f45d"
+
+UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
+inherit meson pkgconfig lib_package
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
+PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3"
+
+UDEVDIR = "`pkg-config --variable=udevdir udev`"
+
+EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} -Ddocumentation=false -Dtests=false"
+
+# package name changed in 1.8.1 upgrade: make sure package upgrades work
+RPROVIDES_${PN} = "libinput"
+RREPLACES_${PN} = "libinput"
+RCONFLICTS_${PN} = "libinput"
diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb
deleted file mode 100644
index fc4b71117..000000000
--- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Collection of additional Wayland protocols"
-DESCRIPTION = "Wayland protocols that add functionality not \
-available in the Wayland core protocol. Such protocols either add \
-completely new functionality, or extend the functionality of some other \
-protocol either in Wayland core, or some other protocol in \
-wayland-protocols."
-HOMEPAGE = "http://wayland.freedesktop.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
- file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
-
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- "
-SRC_URI[md5sum] = "e0b523ff162e30bab46be1d65d527683"
-SRC_URI[sha256sum] = "6b1485951fdcd36a960c870c46f28b03a3e5121fb46246916333ed07f78c98c5"
-
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
-
-inherit allarch autotools pkgconfig
-
-PACKAGES = "${PN}"
-FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb
new file mode 100644
index 000000000..ca8f06c55
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Collection of additional Wayland protocols"
+DESCRIPTION = "Wayland protocols that add functionality not \
+available in the Wayland core protocol. Such protocols either add \
+completely new functionality, or extend the functionality of some other \
+protocol either in Wayland core, or some other protocol in \
+wayland-protocols."
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
+ file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
+
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+ "
+SRC_URI[md5sum] = "55ddd5fdb02b73b9de9559aaec267315"
+SRC_URI[sha256sum] = "df1319cf9705643aea9fd16f9056f4e5b2471bd10c0cc3713d4a4cdc23d6812f"
+
+UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+
+inherit allarch autotools pkgconfig
+
+PACKAGES = "${PN}"
+FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.16.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.16.0.bb
deleted file mode 100644
index 112ee1a25..000000000
--- a/poky/meta/recipes-graphics/wayland/wayland_1.16.0.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Wayland, a protocol between a compositor and clients"
-DESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \
-as well as a C library implementation of that protocol. The compositor can be \
-a standalone display server running on Linux kernel modesetting and evdev \
-input devices, an X application, or a wayland client itself. The clients can \
-be traditional applications, X servers (rootless or fullscreen) or other \
-display servers."
-HOMEPAGE = "http://wayland.freedesktop.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
- file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce"
-
-DEPENDS = "expat libxml2 libffi wayland-native"
-
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- file://fixpathinpcfiles.patch \
- "
-SRC_URI[md5sum] = "0c215e53de71d6fb26f7102cdc6432d3"
-SRC_URI[sha256sum] = "4e72c2b56109ccfb6610d776e465f4ca0af2280c9c2f7d5cc23f0ed2548752f5"
-
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-documentation --with-host-scanner"
-EXTRA_OECONF_class-native = "--disable-documentation --disable-libraries"
-
-# Wayland installs a M4 macro for other projects to use, which uses the target
-# pkg-config to find files. Replace pkg-config with pkg-config-native.
-do_install_append_class-native() {
- sed -e 's,PKG_CHECK_MODULES(.*),,g' \
- -e 's,$PKG_CONFIG,pkg-config-native,g' \
- -i ${D}/${datadir}/aclocal/wayland-scanner.m4
-}
-
-sysroot_stage_all_append_class-target () {
- rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
- cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
-}
-
-FILES_${PN} = "${libdir}/*${SOLIBS}"
-FILES_${PN}-dev += "${bindir} ${datadir}/wayland"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.17.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.17.0.bb
new file mode 100644
index 000000000..d34bb3974
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/wayland_1.17.0.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Wayland, a protocol between a compositor and clients"
+DESCRIPTION = "Wayland is a protocol for a compositor to talk to its clients \
+as well as a C library implementation of that protocol. The compositor can be \
+a standalone display server running on Linux kernel modesetting and evdev \
+input devices, an X application, or a wayland client itself. The clients can \
+be traditional applications, X servers (rootless or fullscreen) or other \
+display servers."
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
+ file://src/wayland-server.c;endline=24;md5=b8e046164a766bb1ede8ba38e9dcd7ce"
+
+DEPENDS = "expat libxml2 libffi wayland-native"
+
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+ file://fixpathinpcfiles.patch \
+ "
+SRC_URI[md5sum] = "d91f970aea11fd549eae023d06f91af3"
+SRC_URI[sha256sum] = "72aa11b8ac6e22f4777302c9251e8fec7655dc22f9d94ee676c6b276f95f91a4"
+
+UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-documentation --with-host-scanner"
+EXTRA_OECONF_class-native = "--disable-documentation --disable-libraries"
+
+# Wayland installs a M4 macro for other projects to use, which uses the target
+# pkg-config to find files. Replace pkg-config with pkg-config-native.
+do_install_append_class-native() {
+ sed -e 's,PKG_CHECK_MODULES(.*),,g' \
+ -e 's,$PKG_CONFIG,pkg-config-native,g' \
+ -i ${D}/${datadir}/aclocal/wayland-scanner.m4
+}
+
+sysroot_stage_all_append_class-target () {
+ rm ${SYSROOT_DESTDIR}/${datadir}/aclocal/wayland-scanner.m4
+ cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/
+}
+
+FILES_${PN} = "${libdir}/*${SOLIBS}"
+FILES_${PN}-dev += "${bindir} ${datadir}/wayland"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/0001-calibrator.hh-Include-string-to-get-std-string.patch b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/0001-calibrator.hh-Include-string-to-get-std-string.patch
new file mode 100644
index 000000000..37617600d
--- /dev/null
+++ b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/0001-calibrator.hh-Include-string-to-get-std-string.patch
@@ -0,0 +1,28 @@
+From 79bc507b48d4acd3dec8a85ab6b341b872d44a05 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 22:40:24 -0800
+Subject: [PATCH] calibrator.hh: Include <string> to get std::string
+
+Found with libc++
+
+Upstream-Status: Submitted [https://github.com/tias/xinput_calibrator/pull/76]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/calibrator.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/calibrator.hh b/src/calibrator.hh
+index a6f9504..e75bcef 100644
+--- a/src/calibrator.hh
++++ b/src/calibrator.hh
+@@ -29,6 +29,7 @@
+ #include <X11/Xlib.h>
+ #include <stdio.h>
+ #include <vector>
++#include <string>
+
+ // XXX: we currently don't handle lines that are longer than this
+ #define MAX_LINE_LEN 1024
+--
+2.20.1
+
diff --git a/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
index 68e62ea6d..9873d3f33 100644
--- a/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
+++ b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
@@ -14,7 +14,9 @@ REQUIRED_DISTRO_FEATURES = "x11"
SRCREV = "03dadf55109bd43d3380f040debe9f82f66f2f35"
SRC_URI = "git://github.com/tias/xinput_calibrator.git \
file://30xinput_calibrate.sh \
- file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch"
+ file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch \
+ file://0001-calibrator.hh-Include-string-to-get-std-string.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/xorg-app/xev/diet-x11.patch b/poky/meta/recipes-graphics/xorg-app/xev/diet-x11.patch
index 6130959f8..53c0ac2e6 100644
--- a/poky/meta/recipes-graphics/xorg-app/xev/diet-x11.patch
+++ b/poky/meta/recipes-graphics/xorg-app/xev/diet-x11.patch
@@ -4,79 +4,106 @@ Upstream-Status: Inappropriate [disable feature]
xev.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
-Index: xev-1.2.0/xev.c
+Index: xev-1.2.3/xev.c
===================================================================
---- xev-1.2.0.orig/xev.c
-+++ xev-1.2.0/xev.c
-@@ -116,7 +116,7 @@ do_KeyPress (XEvent *eventp)
- nbytes = XLookupString (e, str, 256, &ks, NULL);
+--- xev-1.2.3.orig/xev.c
++++ xev-1.2.3/xev.c
+@@ -125,17 +125,6 @@ do_KeyPress(XEvent *eventp)
+ nbytes = XLookupString(e, str, 256, &ks, NULL);
/* not supposed to call XmbLookupString on a key release event */
- if (e->type == KeyPress && xic) {
-+ /*if (e->type == KeyPress && xic) {
- do {
- nmbbytes = XmbLookupString (xic, e, buf, bsize - 1, &ks, &status);
- buf[nmbbytes] = '\0';
-@@ -126,7 +126,7 @@ do_KeyPress (XEvent *eventp)
- buf = realloc (buf, bsize);
- }
- } while (status == XBufferOverflow);
+- do {
+- nmbbytes = XmbLookupString(xic, e, buf, bsize - 1, &ks, &status);
+- buf[nmbbytes] = '\0';
+-
+- if (status == XBufferOverflow) {
+- bsize = nmbbytes + 1;
+- buf = realloc(buf, bsize);
+- }
+- } while (status == XBufferOverflow);
- }
-+ }*/
if (ks == NoSymbol)
- ksname = "NoSymbol";
-@@ -156,7 +156,7 @@ do_KeyPress (XEvent *eventp)
+ ksname = "NoSymbol";
+@@ -168,16 +157,6 @@ do_KeyPress(XEvent *eventp)
}
/* not supposed to call XmbLookupString on a key release event */
- if (e->type == KeyPress && xic) {
-+ /*if (e->type == KeyPress && xic) {
- printf (" XmbLookupString gives %d bytes: ", nmbbytes);
- if (nmbbytes > 0) {
- dump (buf, nmbbytes);
-@@ -164,7 +164,7 @@ do_KeyPress (XEvent *eventp)
- } else {
- printf ("\n");
+- printf(" XmbLookupString gives %d bytes: ", nmbbytes);
+- if (nmbbytes > 0) {
+- dump(buf, nmbbytes);
+- printf(" \"%s\"\n", buf);
+- }
+- else {
+- printf("\n");
+- }
+- }
+
+ printf(" XFilterEvent returns: %s\n",
+ XFilterEvent(eventp, e->window) ? "True" : "False");
+@@ -1141,7 +1120,7 @@ parse_event_mask(const char *s, long eve
+ if (s)
+ return True;
}
- }
-+ } */
++ }
- printf (" XFilterEvent returns: %s\n",
- XFilterEvent (eventp, e->window) ? "True" : "False");
-@@ -1015,7 +1015,7 @@ main (int argc, char **argv)
- fprintf (stderr, "%s: XSetLocaleModifiers failed\n", ProgramName);
+ if (s != NULL)
+ fprintf(stderr, "%s: unrecognized event mask '%s'\n", ProgramName, s);
+@@ -1288,37 +1267,6 @@ main(int argc, char **argv)
+ fprintf(stderr, "%s: XSetLocaleModifiers failed\n", ProgramName);
}
-- xim = XOpenIM (dpy, NULL, NULL, NULL);
-+ /*xim = XOpenIM (dpy, NULL, NULL, NULL);
- if (xim == NULL) {
- fprintf (stderr, "%s: XOpenIM failed\n", ProgramName);
- }
-@@ -1042,7 +1042,7 @@ main (int argc, char **argv)
- }
- XFree (xim_styles);
- }
+- xim = XOpenIM(dpy, NULL, NULL, NULL);
+- if (xim == NULL) {
+- fprintf(stderr, "%s: XOpenIM failed\n", ProgramName);
- }
-+ }*/
-
- screen = DefaultScreen (dpy);
+-
+- if (xim) {
+- imvalret = XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL);
+- if (imvalret != NULL || xim_styles == NULL) {
+- fprintf(stderr, "%s: input method doesn't support any styles\n",
+- ProgramName);
+- }
+-
+- if (xim_styles) {
+- xim_style = 0;
+- for (i = 0; i < xim_styles->count_styles; i++) {
+- if (xim_styles->supported_styles[i] ==
+- (XIMPreeditNothing | XIMStatusNothing)) {
+- xim_style = xim_styles->supported_styles[i];
+- break;
+- }
+- }
+-
+- if (xim_style == 0) {
+- fprintf(stderr,
+- "%s: input method doesn't support the style we support\n",
+- ProgramName);
+- }
+- XFree(xim_styles);
+- }
+- }
+-
+ screen = DefaultScreen(dpy);
-@@ -1109,7 +1109,7 @@ main (int argc, char **argv)
- printf ("Outer window is 0x%lx, inner window is 0x%lx\n", w, subw);
+ attr.event_mask = event_masks[EVENT_MASK_INDEX_CORE];
+@@ -1373,16 +1321,6 @@ main(int argc, char **argv)
+ printf("Outer window is 0x%lx, inner window is 0x%lx\n", w, subw);
}
- if (xim && xim_style) {
-+ /*if (xim && xim_style) {
- xic = XCreateIC (xim,
- XNInputStyle, xim_style,
- XNClientWindow, w,
-@@ -1119,7 +1119,7 @@ main (int argc, char **argv)
- if (xic == NULL) {
- fprintf (stderr, "XCreateIC failed\n");
- }
+- xic = XCreateIC(xim,
+- XNInputStyle, xim_style,
+- XNClientWindow, w, XNFocusWindow, w, NULL);
+-
+- if (xic == NULL) {
+- fprintf(stderr, "XCreateIC failed\n");
+- }
- }
-+ }*/
-
- have_rr = XRRQueryExtension (dpy, &rr_event_base, &rr_error_base);
+-
+ have_rr = XRRQueryExtension(dpy, &rr_event_base, &rr_error_base);
if (have_rr) {
+ int rr_major, rr_minor;
diff --git a/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb b/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb
deleted file mode 100644
index 0705b7f7f..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xev_1.2.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "X Event Viewer"
-DESCRIPTION = "Xev creates a window and then asks the X server to send it events \
-whenever anything happens to the window (such as it being moved, resized, \
-typed in, clicked in, etc.). You can also attach it to an existing window."
-
-LIC_FILES_CHKSUM = "file://xev.c;beginline=1;endline=33;md5=577c99421f1803b891d2c79097ae4682"
-LICENSE = "MIT"
-
-PE = "1"
-
-DEPENDS += "libxrandr xorgproto"
-
-SRC_URI += "file://diet-x11.patch"
-
-SRC_URI[md5sum] = "249bdde90f01c0d861af52dc8fec379e"
-SRC_URI[sha256sum] = "d94ae62a6c1af56c2961d71f5782076ac4116f0fa4e401420ac7e0db33dc314f"
diff --git a/poky/meta/recipes-graphics/xorg-app/xev_1.2.3.bb b/poky/meta/recipes-graphics/xorg-app/xev_1.2.3.bb
new file mode 100644
index 000000000..6a69e747a
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xev_1.2.3.bb
@@ -0,0 +1,18 @@
+require xorg-app-common.inc
+
+SUMMARY = "X Event Viewer"
+DESCRIPTION = "Xev creates a window and then asks the X server to send it events \
+whenever anything happens to the window (such as it being moved, resized, \
+typed in, clicked in, etc.). You can also attach it to an existing window."
+
+LIC_FILES_CHKSUM = "file://xev.c;beginline=1;endline=33;md5=577c99421f1803b891d2c79097ae4682"
+LICENSE = "MIT"
+
+PE = "1"
+
+DEPENDS += "libxrandr xorgproto"
+
+SRC_URI += "file://diet-x11.patch"
+
+SRC_URI[md5sum] = "eec82a5d4b599736f0fa637e96136746"
+SRC_URI[sha256sum] = "66bc4f1cfa1946d62612737815c34164e4ce40fcebd2c9e1d7e7a1117ad3ad09"
diff --git a/poky/meta/recipes-graphics/xorg-app/xhost_1.0.7.bb b/poky/meta/recipes-graphics/xorg-app/xhost_1.0.7.bb
deleted file mode 100644
index 77490f548..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xhost_1.0.7.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "Server access control program for X"
-
-DESCRIPTION = "The xhost program is used to add and delete host names or \
-user names to the list allowed to make connections to the X server. In \
-the case of hosts, this provides a rudimentary form of privacy control \
-and security. Environments which require more sophisticated measures \
-should implement the user-based mechanism or use the hooks in the \
-protocol for passing other authentication data to the server."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8fbed71dddf48541818cef8079124199"
-DEPENDS += "libxmu libxau"
-PE = "1"
-
-SRC_URI[md5sum] = "f5d490738b148cb7f2fe760f40f92516"
-SRC_URI[sha256sum] = "93e619ee15471f576cfb30c663e18f5bc70aca577a63d2c2c03f006a7837c29a"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-app/xhost_1.0.8.bb b/poky/meta/recipes-graphics/xorg-app/xhost_1.0.8.bb
new file mode 100644
index 000000000..26bec3f0d
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xhost_1.0.8.bb
@@ -0,0 +1,20 @@
+require xorg-app-common.inc
+
+SUMMARY = "Server access control program for X"
+
+DESCRIPTION = "The xhost program is used to add and delete host names or \
+user names to the list allowed to make connections to the X server. In \
+the case of hosts, this provides a rudimentary form of privacy control \
+and security. Environments which require more sophisticated measures \
+should implement the user-based mechanism or use the hooks in the \
+protocol for passing other authentication data to the server."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8fbed71dddf48541818cef8079124199"
+DEPENDS += "libxmu libxau"
+PE = "1"
+
+SRC_URI[md5sum] = "a48c72954ae6665e0616f6653636da8c"
+SRC_URI[sha256sum] = "a2dc3c579e13674947395ef8ccc1b3763f89012a216c2cc6277096489aadc396"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-app/xinit_1.4.0.bb b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.0.bb
deleted file mode 100644
index dc2a06b58..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xinit_1.4.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "X Window System initializer"
-
-DESCRIPTION = "The xinit program is used to start the X Window System \
-server and a first client program on systems that cannot start X \
-directly from /etc/init or in environments that use multiple window \
-systems. When this first client exits, xinit will kill the X server and \
-then terminate."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=18f01e7b39807bebe2b8df101a039b68"
-
-PE = "1"
-
-SRC_URI[md5sum] = "2da154b2f80ca9637b1a17b13af0880c"
-SRC_URI[sha256sum] = "230835eef2f5978a1e1344928168119373f6df1d0a32c09515e545721ee582ef"
-
-EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie"
-
-RDEPENDS_${PN} += "util-linux-mcookie"
diff --git a/poky/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
new file mode 100644
index 000000000..5626ebbd5
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.1.bb
@@ -0,0 +1,20 @@
+require xorg-app-common.inc
+
+SUMMARY = "X Window System initializer"
+
+DESCRIPTION = "The xinit program is used to start the X Window System \
+server and a first client program on systems that cannot start X \
+directly from /etc/init or in environments that use multiple window \
+systems. When this first client exits, xinit will kill the X server and \
+then terminate."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=18f01e7b39807bebe2b8df101a039b68"
+
+PE = "1"
+
+SRC_URI[md5sum] = "6d506ab2efc17a08e87778654e099d37"
+SRC_URI[sha256sum] = "de9b8f617b68a70f6caf87da01fcf0ebd2b75690cdcba9c921d0ef54fa54abb9"
+
+EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie"
+
+RDEPENDS_${PN} += "util-linux-mcookie"
diff --git a/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb b/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb
new file mode 100644
index 000000000..7dedb03a2
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb
@@ -0,0 +1,16 @@
+require xorg-app-common.inc
+
+SUMMARY = "Utility for modifying keymaps and pointer button mappings in X"
+
+DESCRIPTION = "The xmodmap program is used to edit and display the \
+keyboard modifier map and keymap table that are used by client \
+applications to convert event keycodes into keysyms. It is usually run \
+from the user's session startup script to configure the keyboard \
+according to personal tastes."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=272c17e96370e1e74773fa22d9989621"
+
+PE = "1"
+SRC_URI[md5sum] = "51f1d30a525e9903280ffeea2744b1f6"
+SRC_URI[sha256sum] = "473f0941d7439d501bb895ff358832b936ec34c749b9704c37a15e11c318487c"
diff --git a/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.9.bb b/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.9.bb
deleted file mode 100644
index 2deac6a05..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xmodmap_1.0.9.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "Utility for modifying keymaps and pointer button mappings in X"
-
-DESCRIPTION = "The xmodmap program is used to edit and display the \
-keyboard modifier map and keymap table that are used by client \
-applications to convert event keycodes into keysyms. It is usually run \
-from the user's session startup script to configure the keyboard \
-according to personal tastes."
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=272c17e96370e1e74773fa22d9989621"
-
-PE = "1"
-
-SRC_URI[md5sum] = "723f02d3a5f98450554556205f0a9497"
-SRC_URI[sha256sum] = "b7b0e5cc5f10d0fb6d2d6ea4f00c77e8ac0e847cc5a73be94cd86139ac4ac478"
diff --git a/poky/meta/recipes-graphics/xorg-app/xprop_1.2.3.bb b/poky/meta/recipes-graphics/xorg-app/xprop_1.2.3.bb
deleted file mode 100644
index ca58d4751..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xprop_1.2.3.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "Utility to display window and font properties of an X server"
-
-DESCRIPTION = "The xprop utility is for displaying window and font \
-properties in an X server. One window or font is selected using the \
-command line arguments or possibly in the case of a window, by clicking \
-on the desired window. A list of properties is then given, possibly with \
-formatting information."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=e226ab8db88ac0bc0391673be40c9f91"
-
-DEPENDS += "libxmu"
-
-PE = "1"
-
-SRC_URI[md5sum] = "4becb3ddc4674d741487189e4ce3d0b6"
-SRC_URI[sha256sum] = "d22afb28c86d85fff10a50156a7d0fa930c80ae865d70b26d805fd28a17a521b"
diff --git a/poky/meta/recipes-graphics/xorg-app/xprop_1.2.4.bb b/poky/meta/recipes-graphics/xorg-app/xprop_1.2.4.bb
new file mode 100644
index 000000000..3280813ef
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xprop_1.2.4.bb
@@ -0,0 +1,18 @@
+require xorg-app-common.inc
+
+SUMMARY = "Utility to display window and font properties of an X server"
+
+DESCRIPTION = "The xprop utility is for displaying window and font \
+properties in an X server. One window or font is selected using the \
+command line arguments or possibly in the case of a window, by clicking \
+on the desired window. A list of properties is then given, possibly with \
+formatting information."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e226ab8db88ac0bc0391673be40c9f91"
+
+DEPENDS += "libxmu"
+
+PE = "1"
+
+SRC_URI[md5sum] = "cc369c28383a5d7144e7197ee7d30bfa"
+SRC_URI[sha256sum] = "8c77fb096e46c60032b7e2bde9492c3ffcc18734f50b395085a5f10bfd3cf753"
diff --git a/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.3.bb b/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.3.bb
deleted file mode 100644
index 2965ef7f8..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "Print out X-Video extension adaptor information"
-
-DESCRIPTION = "xvinfo prints out the capabilities of any video adaptors \
-associated with the display that are accessible through the X-Video \
-extension."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b664101ad7a1dc758a4c4109bf978e68"
-DEPENDS += " libxv"
-PE = "1"
-
-SRC_URI[md5sum] = "558360176b718dee3c39bc0648c0d10c"
-SRC_URI[sha256sum] = "9fba8b68daf53863e66d5004fa9c703fcecf69db4d151ea2d3d885d621e6e5eb"
diff --git a/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.4.bb b/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.4.bb
new file mode 100644
index 000000000..a913ae11f
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xvinfo_1.1.4.bb
@@ -0,0 +1,14 @@
+require xorg-app-common.inc
+
+SUMMARY = "Print out X-Video extension adaptor information"
+
+DESCRIPTION = "xvinfo prints out the capabilities of any video adaptors \
+associated with the display that are accessible through the X-Video \
+extension."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b664101ad7a1dc758a4c4109bf978e68"
+DEPENDS += " libxv"
+PE = "1"
+
+SRC_URI[md5sum] = "b13afec137b9b331814a9824ab03ec80"
+SRC_URI[sha256sum] = "0353220d6606077ba42363db65f50410759f9815352f77adc799e2adfa76e73f"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.0.bb
deleted file mode 100644
index 5853b5b5c..000000000
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-driver-input.inc
-
-SUMMARY = "Generic input driver for the X.Org server based on libinput"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0"
-
-DEPENDS += "libinput"
-
-SRC_URI[md5sum] = "2d7519ac0e39d4c88f3be32e81a637aa"
-SRC_URI[sha256sum] = "21994d065fc26e85d1c3fc87d8479b9c22699ed5a0119df98fbe0000e84630a1"
-
-FILES_${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb
new file mode 100644
index 000000000..19123e06c
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb
@@ -0,0 +1,11 @@
+require xorg-driver-input.inc
+
+SUMMARY = "Generic input driver for the X.Org server based on libinput"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0"
+
+DEPENDS += "libinput"
+
+SRC_URI[md5sum] = "b7548bc1d7e82d189205794ff86307af"
+SRC_URI[sha256sum] = "b8b346962c6b62b8069928c29c0db83b6f544863bf2fc6830f324de841de2820"
+
+FILES_${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch
deleted file mode 100644
index 06ef10501..000000000
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 96d4e8e7b8a699f0ef77fa7b210d4de5f1c703d0 Mon Sep 17 00:00:00 2001
-From: Liwei Song <liwei.song@windriver.com>
-Date: Wed, 22 Nov 2017 08:59:03 +0000
-Subject: [PATCH] Add Coffeelake PCI IDs for S Skus
-
-Add the Coffeelake PCI IDs based on the following kernel patches:
-
-commit b056f8f3d6b900e8afd19f312719160346d263b4
-Author: Anusha Srivatsa <anusha.srivatsa@intel.com>
-Date: Thu Jun 8 16:41:05 2017 -0700
-
- drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus.
-
-Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10139905]
-
-Signed-off-by: Liwei Song <liwei.song@windriver.com>
----
- src/i915_pciids.h | 7 +++++++
- src/intel_module.c | 13 +++++++++++++
- src/sna/gen9_render.c | 12 ++++++++++++
- 3 files changed, 32 insertions(+)
-
-diff --git a/src/i915_pciids.h b/src/i915_pciids.h
-index 0370f830c541..11ccfa9c047a 100644
---- a/src/i915_pciids.h
-+++ b/src/i915_pciids.h
-@@ -340,4 +340,11 @@
- INTEL_VGA_DEVICE(0x3184, info), \
- INTEL_VGA_DEVICE(0x3185, info)
-
-+#define INTEL_CFL_S_IDS(info) \
-+ INTEL_VGA_DEVICE(0x3E90, info), /* SRV GT1 */ \
-+ INTEL_VGA_DEVICE(0x3E93, info), /* SRV GT1 */ \
-+ INTEL_VGA_DEVICE(0x3E91, info), /* SRV GT2 */ \
-+ INTEL_VGA_DEVICE(0x3E92, info), /* SRV GT2 */ \
-+ INTEL_VGA_DEVICE(0x3E96, info) /* SRV GT2 */
-+
- #endif /* _I915_PCIIDS_H */
-diff --git a/src/intel_module.c b/src/intel_module.c
-index 6b04857e2853..4827a67255f0 100644
---- a/src/intel_module.c
-+++ b/src/intel_module.c
-@@ -138,6 +138,10 @@ static const struct intel_device_info intel_geminilake_info = {
- .gen = 0113,
- };
-
-+static const struct intel_device_info intel_coffeelake_info = {
-+ .gen = 0114,
-+};
-+
- static const SymTabRec intel_chipsets[] = {
- {PCI_CHIP_I810, "i810"},
- {PCI_CHIP_I810_DC100, "i810-dc100"},
-@@ -303,6 +307,13 @@ static const SymTabRec intel_chipsets[] = {
- {0x5916, "HD Graphics 620"},
- {0x591E, "HD Graphics 615"},
-
-+ /*Coffeelake*/
-+ {0x3E90, "HD Graphics"},
-+ {0x3E93, "HD Graphics"},
-+ {0x3E91, "HD Graphics"},
-+ {0x3E92, "HD Graphics"},
-+ {0x3E96, "HD Graphics"},
-+
- /* When adding new identifiers, also update:
- * 1. intel_identify()
- * 2. man/intel.man
-@@ -368,6 +379,8 @@ static const struct pci_id_match intel_device_match[] = {
-
- INTEL_GLK_IDS(&intel_geminilake_info),
-
-+ INTEL_CFL_S_IDS(&intel_coffeelake_info),
-+
- INTEL_VGA_DEVICE(PCI_MATCH_ANY, &intel_generic_info),
- #endif
-
-diff --git a/src/sna/gen9_render.c b/src/sna/gen9_render.c
-index e5f12c723956..7f49052c5ec1 100644
---- a/src/sna/gen9_render.c
-+++ b/src/sna/gen9_render.c
-@@ -245,6 +245,11 @@ static const struct gt_info glk_gt_info = {
- .urb = { .max_vs_entries = 320 },
- };
-
-+static const struct gt_info cfl_gt_info = {
-+ .name = "Coffeelake (gen9)",
-+ .urb = { .max_vs_entries = 960 },
-+};
-+
- static bool is_skl(struct sna *sna)
- {
- return sna->kgem.gen == 0110;
-@@ -265,6 +270,11 @@ static bool is_glk(struct sna *sna)
- return sna->kgem.gen == 0113;
- }
-
-+static bool is_cfl(struct sna *sna)
-+{
-+ return sna->kgem.gen == 0114;
-+}
-+
-
- static inline bool too_large(int width, int height)
- {
-@@ -4040,6 +4050,8 @@ static bool gen9_render_setup(struct sna *sna)
- state->info = &kbl_gt_info;
- if (is_glk(sna))
- state->info = &glk_gt_info;
-+ if (is_cfl(sna))
-+ state->info = &cfl_gt_info;
-
- sna_static_stream_init(&general);
-
---
-2.13.3
-
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/01_Fix-build-on-i686.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/01_Fix-build-on-i686.patch
new file mode 100644
index 000000000..52916f8b4
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/01_Fix-build-on-i686.patch
@@ -0,0 +1,55 @@
+From a414d4e24461da1cb4cef8ee910bc57bab360ceb Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 6 Mar 2018 12:07:46 -0500
+Subject: [PATCH] Fix build on i686
+
+Presumably this only matters for i686 because amd64 implies sse2, but:
+
+BUILDSTDERR: In file included from gen4_vertex.c:34:
+BUILDSTDERR: gen4_vertex.c: In function 'emit_vertex':
+BUILDSTDERR: sna_render_inline.h:40:26: error: inlining failed in call to always_inline 'vertex_emit_2s': target specific option mismatch
+BUILDSTDERR: static force_inline void vertex_emit_2s(struct sna *sna, int16_t x, int16_t y)
+BUILDSTDERR: ^~~~~~~~~~~~~~
+BUILDSTDERR: gen4_vertex.c:308:25: note: called from here
+BUILDSTDERR: #define OUT_VERTEX(x,y) vertex_emit_2s(sna, x,y) /* XXX assert(!too_large(x, y)); */
+BUILDSTDERR: ^~~~~~~~~~~~~~~~~~~~~~~~
+BUILDSTDERR: gen4_vertex.c:360:2: note: in expansion of macro 'OUT_VERTEX'
+BUILDSTDERR: OUT_VERTEX(dstX, dstY);
+BUILDSTDERR: ^~~~~~~~~~
+
+The bug here appears to be that emit_vertex() is declared 'sse2' but
+vertex_emit_2s is merely always_inline. gcc8 decides that since you said
+always_inline you need to have explicitly cloned it for every
+permutation of targets. Merely saying inline seems to do the job of
+cloning vertex_emit_2s as much as necessary.
+
+So to reiterate: if you say always-inline, it won't, but if you just say
+maybe inline, it will. Thanks gcc, that's helpful.
+
+- ajax
+
+Patch taken from Fedora.
+
+Upstream-Status: Pending
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+---
+ src/sna/compiler.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sna/compiler.h b/src/sna/compiler.h
+index 3c176a16..bc447c7a 100644
+--- a/src/sna/compiler.h
++++ b/src/sna/compiler.h
+@@ -32,7 +32,7 @@
+ #define likely(expr) (__builtin_expect (!!(expr), 1))
+ #define unlikely(expr) (__builtin_expect (!!(expr), 0))
+ #define noinline __attribute__((noinline))
+-#define force_inline inline __attribute__((always_inline))
++#define force_inline inline
+ #define fastcall __attribute__((regparm(3)))
+ #define must_check __attribute__((warn_unused_result))
+ #define constant __attribute__((const))
+--
+2.16.2
+
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch
deleted file mode 100644
index ada9eb5e5..000000000
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Add a missing include needed for glibc 2.28 to avoid:
-
-| ../../git/tools/backlight_helper.c: In function 'main':
-| ../../git/tools/backlight_helper.c:54:34: error: implicit declaration of function 'major' [-Werror=implicit-function-declaration]
-| if (fd < 0 || fstat(fd, &st) || major(st.st_dev))
-| ^~~~~
-| ../../git/tools/backlight_helper.c:54:34: warning: nested extern declaration of 'major' [-Wnested-externs]
-| cc1: some warnings being treated as errors
-| Makefile:666: recipe for target 'backlight_helper.o' failed
-
-Upstream-Status: Pending
-RP 2018/8/12
-
-Index: git/tools/backlight_helper.c
-===================================================================
---- git.orig/tools/backlight_helper.c
-+++ git/tools/backlight_helper.c
-@@ -8,6 +8,7 @@
-
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
-
- #if MAJOR_IN_MKDEV
- #include <sys/mkdev.h>
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
index 655fd4dc6..bf9009bda 100644
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
@@ -9,20 +9,20 @@ Infrastructure (DRI)."
LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e"
-SRCREV = "e4fe79cf0d9a05ee3f3a027148ef0aeb2b1b34e1"
+SRCREV = "33ee0c3b21ea279e08d0863fcb2e874f0974b00e"
PV = "2.99.917+git${SRCPV}"
S = "${WORKDIR}/git"
SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-intel \
- file://0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch \
- file://glibc.patch \
"
+SRC_URI_append_qemux86 = "file://01_Fix-build-on-i686.patch"
+
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
DEPENDS += "virtual/libx11 drm libpciaccess pixman"
-PACKAGECONFIG ??= "xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri2 dri3', '', d)}"
+PACKAGECONFIG ??= "sna xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri2 dri3', '', d)}"
PACKAGECONFIG[dri] = "--enable-dri,--disable-dri"
PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1"
diff --git a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb
index 34646ff99..1289c1686 100644
--- a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb
+++ b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5df208ec65eb84ce5bb8d82d8f3b9675 \
DEPENDS = "encodings util-macros"
DEPENDS_class-native = "util-macros-native"
RDEPENDS_${PN} = "mkfontdir mkfontscale encodings"
-RDEPENDS_${PN}_class-native = "mkfontdir-native mkfontscale-native"
+RDEPENDS_${PN}_class-native = ""
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb
deleted file mode 100644
index 34d5fc448..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "X font encoding library"
-
-DESCRIPTION = "libfontenc is a library which helps font libraries \
-portably determine and deal with different encodings of fonts."
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=96254c20ab81c63e65b26f0dbcd4a1c1"
-
-DEPENDS += "zlib xorgproto font-util"
-PE = "1"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "0920924c3a9ebc1265517bdd2f9fde50"
-SRC_URI[sha256sum] = "70588930e6fc9542ff38e0884778fbc6e6febf21adbab92fd8f524fe60aefd21"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb
new file mode 100644
index 000000000..1fc74b199
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "X font encoding library"
+
+DESCRIPTION = "libfontenc is a library which helps font libraries \
+portably determine and deal with different encodings of fonts."
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=96254c20ab81c63e65b26f0dbcd4a1c1"
+
+DEPENDS += "zlib xorgproto font-util"
+PE = "1"
+
+SRC_URI[md5sum] = "6447db6a689fb530c218f0f8328c3abc"
+SRC_URI[sha256sum] = "2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb
index 999434ee5..c1b19138f 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb
@@ -18,7 +18,7 @@ PE = "1"
XORG_PN = "libICE"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
SRC_URI[md5sum] = "addfb1e897ca8079531669c7c7711726"
SRC_URI[sha256sum] = "8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb
deleted file mode 100644
index fdc693be1..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.2.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "SM: Session Management library"
-
-DESCRIPTION = "The Session Management Library (SMlib) is a low-level \"C\" \
-language interface to XSMP. The purpose of the X Session Management \
-Protocol (XSMP) is to provide a uniform mechanism for users to save and \
-restore their sessions. A session is a group of clients, each of which \
-has a particular state."
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb37f44e02bdbde80546024400728d"
-
-DEPENDS += "libice xorgproto xtrans"
-
-# libSM can work without libuuid, we explicitly disable it to break the following circular dependency
-# when DISTRO_FEATURES contains 'systemd' and 'x11'.
-# systemd -> dbus -> libsm -> util-linux -> systemd
-EXTRA_OECONF += "--without-libuuid"
-
-PE = "1"
-
-XORG_PN = "libSM"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "499a7773c65aba513609fe651853c5f3"
-SRC_URI[sha256sum] = "0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.3.bb b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.3.bb
new file mode 100644
index 000000000..49df690f0
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.3.bb
@@ -0,0 +1,31 @@
+SUMMARY = "SM: Session Management library"
+
+DESCRIPTION = "The Session Management Library (SMlib) is a low-level \"C\" \
+language interface to XSMP. The purpose of the X Session Management \
+Protocol (XSMP) is to provide a uniform mechanism for users to save and \
+restore their sessions. A session is a group of clients, each of which \
+has a particular state."
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb37f44e02bdbde80546024400728d"
+
+DEPENDS += "libice xorgproto xtrans"
+
+# libSM can work without libuuid, we explicitly disable it to break the following circular dependency
+# when DISTRO_FEATURES contains 'systemd' and 'x11'.
+# systemd -> dbus -> libsm -> util-linux -> systemd
+EXTRA_OECONF += "--without-libuuid"
+
+PE = "1"
+
+XORG_PN = "libSM"
+
+SRC_URI[md5sum] = "87c7fad1c1813517979184c8ccd76628"
+SRC_URI[sha256sum] = "2d264499dcb05f56438dee12a1b4b71d76736ce7ba7aa6efbf15ebb113769cbb"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb
deleted file mode 100644
index a4ba4e54e..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.6.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require libx11.inc
-
-DESCRIPTION += " Support for XCMS and XLOCALE is disabled in \
-this version."
-
-SRC_URI += "file://X18NCMSstubs.patch \
- file://fix-disable-xlocale.patch \
- file://fix-utf8-wrong-define.patch \
- "
-
-RPROVIDES_${PN}-dev = "libx11-dev"
-RPROVIDES_${PN}-locale = "libx11-locale"
-
-SRC_URI[md5sum] = "6b0f83e851b3b469dd660f3a95ac3e42"
-SRC_URI[sha256sum] = "65fe181d40ec77f45417710c6a67431814ab252d21c2e85c75dd1ed568af414f"
-
-EXTRA_OECONF += "--disable-xlocale"
-
-PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb
new file mode 100644
index 000000000..9c773a09d
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb
@@ -0,0 +1,16 @@
+require libx11.inc
+
+DESCRIPTION += " Support for XCMS and XLOCALE is disabled in \
+this version."
+
+SRC_URI += "file://X18NCMSstubs.patch \
+ file://fix-disable-xlocale.patch \
+ file://fix-utf8-wrong-define.patch \
+ "
+
+RPROVIDES_${PN}-dev = "libx11-dev"
+RPROVIDES_${PN}-locale = "libx11-locale"
+
+EXTRA_OECONF += "--disable-xlocale"
+
+PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11.inc b/poky/meta/recipes-graphics/xorg-lib/libx11.inc
index 36c950ad3..ea2ebfb8b 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libx11.inc
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11.inc
@@ -10,6 +10,9 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:"
PE = "1"
+SRC_URI[md5sum] = "034fdd6cc5393974d88aec6f5bc96162"
+SRC_URI[sha256sum] = "910e9e30efba4ad3672ca277741c2728aebffa7bc526f04dcfa74df2e52a1348"
+
PROVIDES = "virtual/libx11"
XORG_PN = "libX11"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch
index 897882b8d..2a723b7e4 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11/Fix-hanging-issue-in-_XReply.patch
@@ -17,19 +17,19 @@ https://patchwork.freedesktop.org/patch/171458/
Signed-off-by: Tatu Frisk <tatu.frisk@ge.com>
Signed-off-by: Jose Alarcon <jose.alarcon@ge.com>
+
+[Refreshed for 1.6.7 update]
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
---
src/xcb_io.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
-diff --git a/src/xcb_io.c b/src/xcb_io.c
-index 5987329..c64eb04 100644
---- a/src/xcb_io.c
-+++ b/src/xcb_io.c
-@@ -609,22 +609,17 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard)
- * letting anyone else process this sequence number, we
- * need to process any events that should have come
- * earlier. */
--
+Index: libX11-1.6.7/src/xcb_io.c
+===================================================================
+--- libX11-1.6.7.orig/src/xcb_io.c
++++ libX11-1.6.7/src/xcb_io.c
+@@ -620,18 +620,14 @@ Status _XReply(Display *dpy, xReply *rep
if(dpy->xcb->event_owner == XlibOwnsEventQueue)
{
xcb_generic_reply_t *event;
@@ -42,6 +42,9 @@ index 5987329..c64eb04 100644
- while(dpy->xcb->event_waiter)
- { /* need braces around ConditionWait */
- ConditionWait(dpy, dpy->xcb->event_notify);
+- }
+- while((event = poll_for_event(dpy, True)))
+- handle_response(dpy, event, True);
+
+ /* Assume event queue is empty if another thread is blocking
+ * waiting for event. */
@@ -49,12 +52,7 @@ index 5987329..c64eb04 100644
+ {
+ while((event = poll_for_response(dpy)))
+ handle_response(dpy, event, True);
- }
-- while((event = poll_for_event(dpy)))
-- handle_response(dpy, event, True);
++ }
}
req->reply_waiter = 0;
---
-2.10.1
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.6.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.6.bb
deleted file mode 100644
index 0fee1a908..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.6.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require libx11.inc
-inherit gettext
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += "file://disable_tests.patch \
- file://Fix-hanging-issue-in-_XReply.patch \
- "
-do_configure_append () {
- sed -i -e "/X11_CFLAGS/d" ${B}/src/util/Makefile
-}
-
-SRC_URI[md5sum] = "6b0f83e851b3b469dd660f3a95ac3e42"
-SRC_URI[sha256sum] = "65fe181d40ec77f45417710c6a67431814ab252d21c2e85c75dd1ed568af414f"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb
new file mode 100644
index 000000000..6141f571c
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb
@@ -0,0 +1,13 @@
+require libx11.inc
+
+SRC_URI += "file://disable_tests.patch \
+ file://Fix-hanging-issue-in-_XReply.patch \
+ "
+
+inherit gettext
+
+do_configure_append () {
+ sed -i -e "/X11_CFLAGS/d" ${B}/src/util/Makefile
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb
deleted file mode 100644
index 8c52475b8..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.8.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Xau: X Authority Database library"
-
-DESCRIPTION = "libxau provides the main interfaces to the X11 \
-authorisation handling, which controls authorisation for X connections, \
-both client-side and server-side."
-
-require xorg-lib-common.inc
-
-inherit gettext
-
-LICENSE = "MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7908e342491198401321cec1956807ec"
-
-DEPENDS += " xorgproto"
-PROVIDES = "xau"
-
-PE = "1"
-
-XORG_PN = "libXau"
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI[md5sum] = "685f8abbffa6d145c0f930f00703b21b"
-SRC_URI[sha256sum] = "fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb
new file mode 100644
index 000000000..dcfc66652
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.9.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Xau: X Authority Database library"
+
+DESCRIPTION = "libxau provides the main interfaces to the X11 \
+authorisation handling, which controls authorisation for X connections, \
+both client-side and server-side."
+
+require xorg-lib-common.inc
+
+inherit gettext
+
+LICENSE = "MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7908e342491198401321cec1956807ec"
+
+DEPENDS += " xorgproto"
+PROVIDES = "xau"
+
+PE = "1"
+
+XORG_PN = "libXau"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI[md5sum] = "c5f16288f2da9f071b29111d68797480"
+SRC_URI[sha256sum] = "ccf8cbf0dbf676faa2ea0a6d64bcc3b6746064722b606c8c52917ed00dcb73ec"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb
new file mode 100644
index 000000000..84303e624
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "XCB: The X protocol C binding library"
+DESCRIPTION = "The X protocol C-language Binding (XCB) is a replacement \
+for Xlib featuring a small footprint, latency hiding, direct access to \
+the protocol, improved threading support, and extensibility."
+HOMEPAGE = "http://xcb.freedesktop.org"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB"
+SECTION = "x11/libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7"
+
+SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2 \
+ file://xcbincludedir.patch \
+ file://disable-check.patch \
+ file://gcc-mips-pr68302-mips-workaround.patch \
+ "
+
+SRC_URI[md5sum] = "f33cdfc67346f7217a9326c0d8679975"
+SRC_URI[sha256sum] = "a89fb7af7a11f43d2ce84a844a4b38df688c092bf4b67683aef179cdf2a647c4"
+
+BBCLASSEXTEND = "native nativesdk"
+
+DEPENDS = "xcb-proto xorgproto libxau libpthread-stubs libxdmcp"
+
+PACKAGES_DYNAMIC = "^libxcb-.*"
+
+FILES_${PN} = "${libdir}/libxcb.so.*"
+
+inherit autotools pkgconfig distro_features_check
+
+# The libxau and others requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES_class-native = ""
+
+export PYTHON = "python3"
+
+python populate_packages_prepend () {
+ do_split_packages(d, '${libdir}', r'^libxcb-(.*)\.so\..*$', 'libxcb-%s', 'XCB library module for %s', allow_links=True)
+}
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.bb
deleted file mode 100644
index a8e0307e1..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "XCB: The X protocol C binding library"
-DESCRIPTION = "The X protocol C-language Binding (XCB) is a replacement \
-for Xlib featuring a small footprint, latency hiding, direct access to \
-the protocol, improved threading support, and extensibility."
-HOMEPAGE = "http://xcb.freedesktop.org"
-BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB"
-SECTION = "x11/libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7"
-
-SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2 \
- file://xcbincludedir.patch \
- file://disable-check.patch \
- file://gcc-mips-pr68302-mips-workaround.patch \
- "
-
-SRC_URI[md5sum] = "c2b6cf928afa16b0047c974e7aaa783f"
-SRC_URI[sha256sum] = "188c8752193c50ff2dbe89db4554c63df2e26a2e47b0fa415a70918b5b851daa"
-
-BBCLASSEXTEND = "native nativesdk"
-
-DEPENDS = "xcb-proto xorgproto libxau libpthread-stubs libxdmcp"
-
-PACKAGES_DYNAMIC = "^libxcb-.*"
-
-FILES_${PN} = "${libdir}/libxcb.so.*"
-
-inherit autotools pkgconfig distro_features_check
-
-# The libxau and others requires x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-REQUIRED_DISTRO_FEATURES_class-native = ""
-
-export PYTHON = "python3"
-
-python populate_packages_prepend () {
- do_split_packages(d, '${libdir}', '^libxcb-(.*)\.so\..*$', 'libxcb-%s', 'XCB library module for %s', allow_links=True)
-}
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb
deleted file mode 100644
index 73e294840..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.4.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Xcomposite: X Composite extension library"
-
-DESCRIPTION = "The composite extension provides three related \
-mechanisms: per-hierarchy storage, automatic shadow update, and external \
-parent. In per-hierarchy storage, the rendering of an entire hierarchy \
-of windows is redirected to off-screen storage. In automatic shadow \
-update, when a hierarchy is rendered off-screen, the X server provides \
-an automatic mechanism for presenting those contents within the parent \
-window. In external parent, a mechanism for providing redirection of \
-compositing transformations through a client."
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3f2907aad541f6f226fbc58cc1b3cdf1"
-
-DEPENDS += " xorgproto virtual/libx11 libxfixes libxext"
-PROVIDES = "xcomposite"
-BBCLASSEXTEND = "native"
-
-PE = "1"
-
-XORG_PN = "libXcomposite"
-
-SRC_URI += " file://change-include-order.patch"
-
-SRC_URI[md5sum] = "f7a218dcbf6f0848599c6c36fc65c51a"
-SRC_URI[sha256sum] = "ede250cd207d8bee4a338265c3007d7a68d5aca791b6ac41af18e9a2aeb34178"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.5.bb
new file mode 100644
index 000000000..3ef3ddb81
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.5.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Xcomposite: X Composite extension library"
+
+DESCRIPTION = "The composite extension provides three related \
+mechanisms: per-hierarchy storage, automatic shadow update, and external \
+parent. In per-hierarchy storage, the rendering of an entire hierarchy \
+of windows is redirected to off-screen storage. In automatic shadow \
+update, when a hierarchy is rendered off-screen, the X server provides \
+an automatic mechanism for presenting those contents within the parent \
+window. In external parent, a mechanism for providing redirection of \
+compositing transformations through a client."
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3f2907aad541f6f226fbc58cc1b3cdf1"
+
+DEPENDS += " xorgproto virtual/libx11 libxfixes libxext"
+PROVIDES = "xcomposite"
+BBCLASSEXTEND = "native nativesdk"
+
+PE = "1"
+
+XORG_PN = "libXcomposite"
+
+SRC_URI += " file://change-include-order.patch"
+
+SRC_URI[md5sum] = "3fa0841ea89024719b20cd702a9b54e0"
+SRC_URI[sha256sum] = "b3218a2c15bab8035d16810df5b8251ffc7132ff3aa70651a1fba0bfe9634e8f"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.1.15.bb b/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.1.15.bb
deleted file mode 100644
index dc9af233e..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.1.15.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Xcursor: X Cursor management library"
-
-DESCRIPTION = "Xcursor is a simple library designed to help locate and \
-load cursors. Cursors can be loaded from files or memory. A library of \
-common cursors exists which map to the standard X cursor names. Cursors \
-can exist in several sizes and the library automatically picks the best \
-size."
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8902e6643f7bcd7793b23dcd5d8031a4"
-
-DEPENDS += "libxrender libxfixes"
-BBCLASSEXTEND = "native nativesdk"
-
-PE = "1"
-
-XORG_PN = "libXcursor"
-
-SRC_URI[md5sum] = "58fe3514e1e7135cf364101e714d1a14"
-SRC_URI[sha256sum] = "294e670dd37cd23995e69aae626629d4a2dfe5708851bbc13d032401b7a3df6b"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.0.bb
new file mode 100644
index 000000000..2df7a3a4f
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Xcursor: X Cursor management library"
+
+DESCRIPTION = "Xcursor is a simple library designed to help locate and \
+load cursors. Cursors can be loaded from files or memory. A library of \
+common cursors exists which map to the standard X cursor names. Cursors \
+can exist in several sizes and the library automatically picks the best \
+size."
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8902e6643f7bcd7793b23dcd5d8031a4"
+
+DEPENDS += "libxrender libxfixes"
+
+PE = "1"
+
+XORG_PN = "libXcursor"
+
+SRC_URI[md5sum] = "9b9be0e289130fb820aedf67705fc549"
+SRC_URI[sha256sum] = "3ad3e9f8251094af6fe8cb4afcf63e28df504d46bfa5a5529db74a505d628782"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb
deleted file mode 100644
index 6d6ffadf2..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.4.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Xdamage: X Damage extension library"
-
-DESCRIPTION = "'Damage' is a term that describes changes make to pixel \
-contents of windows and pixmaps. Damage accumulates as drawing occurs \
-in the drawable. Each drawing operation 'damages' one or more \
-rectangular areas within the drawable. The rectangles are guaranteed to \
-include the set of pixels modified by each operation, but may include \
-significantly more than just those pixels. The DAMAGE extension allows \
-applications to either receive the raw rectangles as a stream of events, \
-or to have them partially processed within the X server to reduce the \
-amount of data transmitted as well as reduce the processing latency once \
-the repaint operation has started."
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9fe101f30dd24134cf43146863241868"
-
-DEPENDS += "virtual/libx11 xorgproto libxfixes"
-PROVIDES = "xdamage"
-BBCLASSEXTEND = "native"
-
-PE = "1"
-
-XORG_PN = "libXdamage"
-
-SRC_URI[md5sum] = "0cf292de2a9fa2e9a939aefde68fd34f"
-SRC_URI[sha256sum] = "7c3fe7c657e83547f4822bfde30a90d84524efb56365448768409b77f05355ad"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.5.bb
new file mode 100644
index 000000000..b201124d8
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libxdamage_1.1.5.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Xdamage: X Damage extension library"
+
+DESCRIPTION = "'Damage' is a term that describes changes make to pixel \
+contents of windows and pixmaps. Damage accumulates as drawing occurs \
+in the drawable. Each drawing operation 'damages' one or more \
+rectangular areas within the drawable. The rectangles are guaranteed to \
+include the set of pixels modified by each operation, but may include \
+significantly more than just those pixels. The DAMAGE extension allows \
+applications to either receive the raw rectangles as a stream of events, \
+or to have them partially processed within the X server to reduce the \
+amount of data transmitted as well as reduce the processing latency once \
+the repaint operation has started."
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9fe101f30dd24134cf43146863241868"
+
+DEPENDS += "virtual/libx11 xorgproto libxfixes"
+PROVIDES = "xdamage"
+
+PE = "1"
+
+XORG_PN = "libXdamage"
+
+SRC_URI[md5sum] = "e3f554267a7a04b042dc1f6352bd6d99"
+SRC_URI[sha256sum] = "b734068643cac3b5f3d2c8279dd366b5bf28c7219d9e9d8717e1383995e0ea45"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb
index b4547819f..4565ae262 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb
@@ -25,7 +25,7 @@ SRC_URI[sha256sum] = "f5a3c824761df351ca91827ac221090943ef28b248573486050de89f4b
XORG_PN = "libXft"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
python () {
if d.getVar('DEBIAN_NAMES'):
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb
index 08381d9c4..ab49cdba3 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb
@@ -20,3 +20,5 @@ XORG_PN = "libXi"
SRC_URI[md5sum] = "1f0f2719c020655a60aee334ddd26d67"
SRC_URI[sha256sum] = "c2e6b8ff84f9448386c1b5510a5cf5a16d788f76db018194dacdc200180faf45"
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb
deleted file mode 100644
index 8cf508b0b..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Generic XKB keymap library"
-DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \
-processes a reduced subset of keymaps as defined by the XKB specification."
-HOMEPAGE = "http://www.xkbcommon.org"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87"
-LICENSE = "MIT & MIT-style"
-
-DEPENDS = "util-macros flex-native bison-native"
-
-SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "5f7f8533f907ebcfb1cf8dceb9501264"
-SRC_URI[sha256sum] = "7ab8c4b3403d89d01898066b72cb6069bddeb5af94905a65368f671a026ed58c"
-
-UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-docs"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxcb xkeyboard-config,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb
new file mode 100644
index 000000000..8fcae12ce
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Generic XKB keymap library"
+DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \
+processes a reduced subset of keymaps as defined by the XKB specification."
+HOMEPAGE = "http://www.xkbcommon.org"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87"
+LICENSE = "MIT & MIT-style"
+
+DEPENDS = "util-macros flex-native bison-native"
+
+SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "3c4409058dfd203f641a563358e0187d"
+SRC_URI[sha256sum] = "60ddcff932b7fd352752d51a5c4f04f3d0403230a584df9a2e0d5ed87c486c8b"
+
+UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-docs"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxcb xkeyboard-config,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxpm_3.5.12.bb b/poky/meta/recipes-graphics/xorg-lib/libxpm_3.5.12.bb
index 13a1b919e..57b202cae 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxpm_3.5.12.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxpm_3.5.12.bb
@@ -12,7 +12,7 @@ protocol."
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=51f4270b012ecd4ab1a164f5f4ed6cf7"
-DEPENDS += "libxext libsm libxt"
+DEPENDS += "libxext libsm libxt gettext-native"
PE = "1"
XORG_PN = "libXpm"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb
index f8d94a2f5..23d9db41c 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb
@@ -27,7 +27,7 @@ SRC_URI += "file://libxt_fix_for_x32.patch \
file://0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch \
"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
EXTRA_OECONF += "--disable-xkb"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb
index 266bd1ca5..7837f69d3 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxtst_1.2.3.bb
@@ -19,3 +19,4 @@ XORG_PN = "libXtst"
SRC_URI[md5sum] = "ef8c2c1d16a00bd95b9fdcef63b8a2ca"
SRC_URI[sha256sum] = "4655498a1b8e844e3d6f21f3b2c4e2b571effb5fd83199d428a6ba7ea4bf5204"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman/asm_include.patch b/poky/meta/recipes-graphics/xorg-lib/pixman/asm_include.patch
deleted file mode 100644
index b52a5707d..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/pixman/asm_include.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Fixes errors like
-
-Assembler messages:
-Fatal error: can't create .libs/pixman-mips-dspr2-asm.o: No such file or directory
-
-it works with glibc because it uses gcc fixed-headers but thats not right.
-
-We move the include under C block
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-Index: pixman-0.32.6/pixman/pixman-private.h
-===================================================================
---- pixman-0.32.6.orig/pixman/pixman-private.h
-+++ pixman-0.32.6/pixman/pixman-private.h
-@@ -1,4 +1,3 @@
--#include <float.h>
-
- #ifndef PIXMAN_PRIVATE_H
- #define PIXMAN_PRIVATE_H
-@@ -17,6 +16,8 @@
-
- #ifndef __ASSEMBLER__
-
-+#include <float.h>
-+
- #ifndef PACKAGE
- # error config.h must be included before pixman-private.h
- #endif
diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman_0.34.0.bb b/poky/meta/recipes-graphics/xorg-lib/pixman_0.34.0.bb
deleted file mode 100644
index c290fa461..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/pixman_0.34.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Pixman: Pixel Manipulation library"
-
-DESCRIPTION = "Pixman provides a library for manipulating pixel regions \
--- a set of Y-X banded rectangles, image compositing using the \
-Porter/Duff model and implicit mask generation for geometric primitives \
-including trapezoids, triangles, and rectangles."
-
-require xorg-lib-common.inc
-
-# see http://cairographics.org/releases/ - only even minor versions are stable
-UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
-
-LICENSE = "MIT & MIT-style & PD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
- file://pixman/pixman-matrix.c;endline=21;md5=4a018dff3e4e25302724c88ff95c2456 \
- file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \
- "
-DEPENDS += "zlib libpng"
-BBCLASSEXTEND = "native nativesdk"
-
-PE = "1"
-
-IWMMXT = "--disable-arm-iwmmxt"
-LOONGSON_MMI = "--disable-loongson-mmi"
-# If target supports neon then disable the 'simd' (ie VFPv2) fallback, otherwise disable neon.
-NEON = "${@bb.utils.contains("TUNE_FEATURES", "neon", "--disable-arm-simd", "--disable-arm-neon" ,d)}"
-
-EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
-EXTRA_OECONF_class-native = "--disable-gtk"
-EXTRA_OECONF_class-nativesdk = "--disable-gtk"
-
-SRC_URI += "\
- file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
- file://asm_include.patch \
- file://0001-test-utils-Check-for-FE_INVALID-definition-before-us.patch \
-"
-
-SRC_URI[md5sum] = "002a4fcb644ddfcb4b0e4191576a0d59"
-SRC_URI[sha256sum] = "39ba3438f3d17c464b0cb8be006dacbca0ab5aee97ebde69fec7ecdbf85794a0"
-
-REQUIRED_DISTRO_FEATURES = ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb b/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb
new file mode 100644
index 000000000..49c3d6234
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Pixman: Pixel Manipulation library"
+
+DESCRIPTION = "Pixman provides a library for manipulating pixel regions \
+-- a set of Y-X banded rectangles, image compositing using the \
+Porter/Duff model and implicit mask generation for geometric primitives \
+including trapezoids, triangles, and rectangles."
+
+require xorg-lib-common.inc
+
+# see http://cairographics.org/releases/ - only even minor versions are stable
+UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
+
+LICENSE = "MIT & MIT-style & PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
+ file://pixman/pixman-matrix.c;endline=21;md5=4a018dff3e4e25302724c88ff95c2456 \
+ file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \
+ "
+DEPENDS += "zlib libpng"
+BBCLASSEXTEND = "native nativesdk"
+
+PE = "1"
+
+IWMMXT = "--disable-arm-iwmmxt"
+LOONGSON_MMI = "--disable-loongson-mmi"
+# If target supports neon then disable the 'simd' (ie VFPv2) fallback, otherwise disable neon.
+NEON = "${@bb.utils.contains("TUNE_FEATURES", "neon", "--disable-arm-simd", "--disable-arm-neon" ,d)}"
+
+EXTRA_OECONF = "--disable-gtk ${IWMMXT} ${LOONGSON_MMI} ${NEON}"
+EXTRA_OECONF_class-native = "--disable-gtk"
+EXTRA_OECONF_class-nativesdk = "--disable-gtk"
+
+SRC_URI += "\
+ file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
+ file://0001-test-utils-Check-for-FE_INVALID-definition-before-us.patch \
+"
+
+SRC_URI[md5sum] = "04ecad28edcc14e7eb5f7ed6df29c7a0"
+SRC_URI[sha256sum] = "b768e3f7895ddebdc0f07478729d9cec4fe0a9d2201f828c900d67b0e5b436a8"
+
+REQUIRED_DISTRO_FEATURES = ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.24.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.24.bb
deleted file mode 100644
index 7d0e608e7..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.24.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Keyboard configuration database for X Window"
-
-DESCRIPTION = "The non-arch keyboard configuration database for X \
-Window. The goal is to provide the consistent, well-structured, \
-frequently released open source of X keyboard configuration data for X \
-Window System implementations. The project is targeted to XKB-based \
-systems."
-
-HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig"
-BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config"
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
-
-SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
-
-SRC_URI[md5sum] = "74c4bdf52382127cb5802c3f2ab441e0"
-SRC_URI[sha256sum] = "91b18580f46b4e4ea913707f6c8d68ab5286879c3a6591462f3b9e760d3ac4d7"
-
-SECTION = "x11/libs"
-DEPENDS = "intltool-native util-macros libxslt-native"
-
-EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps"
-
-FILES_${PN} += "${datadir}/X11/xkb"
-
-inherit autotools pkgconfig gettext
-
-do_install_append () {
- install -d ${D}${datadir}/X11/xkb/compiled
- cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg
-}
diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb
new file mode 100644
index 000000000..5c2328845
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Keyboard configuration database for X Window"
+
+DESCRIPTION = "The non-arch keyboard configuration database for X \
+Window. The goal is to provide the consistent, well-structured, \
+frequently released open source of X keyboard configuration data for X \
+Window System implementations. The project is targeted to XKB-based \
+systems."
+
+HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config"
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
+
+SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "e2e980629bfeb9f40a7d44488b18ba12"
+SRC_URI[sha256sum] = "393718c7460cd06c4e8cb819d943ca54812ea476f32714c4d8975c77031a038e"
+
+SECTION = "x11/libs"
+DEPENDS = "intltool-native util-macros libxslt-native"
+
+EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps"
+
+FILES_${PN} += "${datadir}/X11/xkb"
+
+inherit autotools pkgconfig gettext
+
+do_install_append () {
+ install -d ${D}${datadir}/X11/xkb/compiled
+ cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg
+}
diff --git a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.13.bb b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.13.bb
index d5037868d..746709092 100644
--- a/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.13.bb
+++ b/poky/meta/recipes-graphics/xorg-proto/xcb-proto_1.13.bb
@@ -12,40 +12,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \
file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65"
SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.bz2"
-
SRC_URI[md5sum] = "abe9aa4886138150bbc04ae4f29b90e3"
SRC_URI[sha256sum] = "7b98721e669be80284e9bbfeab02d2d0d54cd11172b72271e47a2fe875e2bde1"
-inherit autotools pkgconfig
-
-# Force the use of Python 3 and a specific library path so we don't need to
-# depend on python3-native
-CACHED_CONFIGUREVARS += "PYTHON=python3 am_cv_python_pythondir=${libdir}/xcb-proto"
+inherit autotools pkgconfig python3native
PACKAGES += "python-xcbgen"
FILES_${PN} = ""
FILES_${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd"
-FILES_python-xcbgen = "${libdir}/xcb-proto"
+FILES_python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN}-dev = ""
RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
BBCLASSEXTEND = "native nativesdk"
-
-# Need to do this dance because we're forcing the use of host Python above and
-# if xcb-proto is built with Py3.5 and then re-used from sstate on a host with
-# Py3.6 the second build will write new cache files into the sysroot which won't
-# be listed in the manifest so won't be deleted, resulting in an error on
-# rebuilds. Solve this by deleting the entire cache directory when this package
-# is removed from the sysroot.
-SSTATEPOSTINSTFUNCS += "xcb_sstate_postinst"
-xcb_sstate_postinst() {
- if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
- then
- cat <<EOF >${SSTATE_INST_POSTRM}
-#!/bin/sh
-rm -rf ${libdir}/xcb-proto/xcbgen/__pycache__
-EOF
- fi
-}
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index 489a42850..615ad6d9b 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -18,6 +18,8 @@ INC_PR = "r8"
XORG_PN = "xorg-server"
SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2"
+CVE_PRODUCT = "xorg-server"
+
S = "${WORKDIR}/${XORG_PN}-${PV}"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-test-xtest-Initialize-array-with-braces.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-test-xtest-Initialize-array-with-braces.patch
new file mode 100644
index 000000000..c0c242814
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-test-xtest-Initialize-array-with-braces.patch
@@ -0,0 +1,36 @@
+From 8a382c015cd3c69fcfc146ef03dcbf30c77ff207 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 1 Mar 2019 09:47:57 -0800
+Subject: [PATCH] test/xtest: Initialize array with braces
+
+Fixes an error when extra warnings are enabled, this is caught with clang
+
+test/xtest.c:64:23: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
+ WindowRec root = {0};
+ ^
+ {}
+1 error generated.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/xtest.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/xtest.c b/test/xtest.c
+index fc5e433..d7e6620 100644
+--- a/test/xtest.c
++++ b/test/xtest.c
+@@ -61,7 +61,7 @@ xtest_init_devices(void)
+ {
+ ScreenRec screen = {0};
+ ClientRec server_client = {0};
+- WindowRec root = {0};
++ WindowRec root = {{0}};
+ WindowOptRec optional = {0};
+
+ /* random stuff that needs initialization */
+--
+2.21.0
+
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch
deleted file mode 100644
index 7f6235b43..000000000
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2018-14665.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-Incorrect command-line parameter validation in the Xorg X server can lead to
-privilege elevation and/or arbitrary files overwrite, when the X server is
-running with elevated privileges (ie when Xorg is installed with the setuid bit
-set and started by a non-root user). The -modulepath argument can be used to
-specify an insecure path to modules that are going to be loaded in the X server,
-allowing to execute unprivileged code in the privileged process. The -logfile
-argument can be used to overwrite arbitrary files in the file system, due to
-incorrect checks in the parsing of the option.
-
-CVE: CVE-2018-14665
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 50c0cf885a6e91c0ea71fb49fa8f1b7c86fe330e Mon Sep 17 00:00:00 2001
-From: Matthieu Herrb <matthieu@herrb.eu>
-Date: Tue, 23 Oct 2018 21:29:08 +0200
-Subject: [PATCH] Disable -logfile and -modulepath when running with elevated
- privileges
-
-Could cause privilege elevation and/or arbitrary files overwrite, when
-the X server is running with elevated privileges (ie when Xorg is
-installed with the setuid bit set and started by a non-root user).
-
-CVE-2018-14665
-
-Issue reported by Narendra Shinde and Red Hat.
-
-Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
-Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Reviewed-by: Adam Jackson <ajax@redhat.com>
----
- hw/xfree86/common/xf86Init.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
-index 6c25eda73..0f57efa86 100644
---- a/hw/xfree86/common/xf86Init.c
-+++ b/hw/xfree86/common/xf86Init.c
-@@ -935,14 +935,18 @@ ddxProcessArgument(int argc, char **argv, int i)
- /* First the options that are not allowed with elevated privileges */
- if (!strcmp(argv[i], "-modulepath")) {
- CHECK_FOR_REQUIRED_ARGUMENT();
-- xf86CheckPrivs(argv[i], argv[i + 1]);
-+ if (xf86PrivsElevated())
-+ FatalError("\nInvalid argument -modulepath "
-+ "with elevated privileges\n");
- xf86ModulePath = argv[i + 1];
- xf86ModPathFrom = X_CMDLINE;
- return 2;
- }
- if (!strcmp(argv[i], "-logfile")) {
- CHECK_FOR_REQUIRED_ARGUMENT();
-- xf86CheckPrivs(argv[i], argv[i + 1]);
-+ if (xf86PrivsElevated())
-+ FatalError("\nInvalid argument -logfile "
-+ "with elevated privileges\n");
- xf86LogFile = argv[i + 1];
- xf86LogFileFrom = X_CMDLINE;
- return 2;
---
-2.18.1
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.1.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.1.bb
deleted file mode 100644
index 9fd2e8d87..000000000
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.1.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require xserver-xorg.inc
-
-SRC_URI += "file://musl-arm-inb-outb.patch \
- file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \
- file://pkgconfig.patch \
- file://CVE-2018-14665.patch \
- "
-SRC_URI[md5sum] = "e525846d1d0af5732ba835f2e2ec066d"
-SRC_URI[sha256sum] = "59c99fe86fe75b8164c6567bfc6e982aecc2e4a51e6fbac1b842d5d00549e918"
-
-# These extensions are now integrated into the server, so declare the migration
-# path for in-place upgrades.
-
-RREPLACES_${PN} = "${PN}-extension-dri \
- ${PN}-extension-dri2 \
- ${PN}-extension-record \
- ${PN}-extension-extmod \
- ${PN}-extension-dbe \
- "
-RPROVIDES_${PN} = "${PN}-extension-dri \
- ${PN}-extension-dri2 \
- ${PN}-extension-record \
- ${PN}-extension-extmod \
- ${PN}-extension-dbe \
- "
-RCONFLICTS_${PN} = "${PN}-extension-dri \
- ${PN}-extension-dri2 \
- ${PN}-extension-record \
- ${PN}-extension-extmod \
- ${PN}-extension-dbe \
- "
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb
new file mode 100644
index 000000000..ad99d6bec
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb
@@ -0,0 +1,31 @@
+require xserver-xorg.inc
+
+SRC_URI += "file://musl-arm-inb-outb.patch \
+ file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \
+ file://pkgconfig.patch \
+ file://0001-test-xtest-Initialize-array-with-braces.patch \
+ "
+SRC_URI[md5sum] = "c4841cc24b79420205d082fe82e0a650"
+SRC_URI[sha256sum] = "fe0fd493ebe93bfc56bede382fa204458ff5f636ea54d413a5d1bd58e19166ee"
+
+# These extensions are now integrated into the server, so declare the migration
+# path for in-place upgrades.
+
+RREPLACES_${PN} = "${PN}-extension-dri \
+ ${PN}-extension-dri2 \
+ ${PN}-extension-record \
+ ${PN}-extension-extmod \
+ ${PN}-extension-dbe \
+ "
+RPROVIDES_${PN} = "${PN}-extension-dri \
+ ${PN}-extension-dri2 \
+ ${PN}-extension-record \
+ ${PN}-extension-extmod \
+ ${PN}-extension-dbe \
+ "
+RCONFLICTS_${PN} = "${PN}-extension-dri \
+ ${PN}-extension-dri2 \
+ ${PN}-extension-record \
+ ${PN}-extension-extmod \
+ ${PN}-extension-dbe \
+ "
diff --git a/poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb b/poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb
deleted file mode 100644
index 1d275a004..000000000
--- a/poky/meta/recipes-graphics/xvideo-tests/xvideo-tests_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Simple XVideo test application"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://src/test-xvideo.c;beginline=1;endline=20;md5=6ae3b4c3c2ff9e51dbbc35bb237afa00"
-DEPENDS = "libxv"
-
-SRCREV = "7d38b881e99eb74169d292b40f7164e461a65092"
-PV = "0.1+git${SRCPV}"
-
-SRC_URI = "git://git.yoctoproject.org/test-xvideo"
-UPSTREAM_CHECK_COMMITS = "1"
-
-S = "${WORKDIR}/git"
-
-inherit autotools distro_features_check
-
-# The libxv requires x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.9.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.10.bb
index c55577c66..c55577c66 100644
--- a/poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.9.bb
+++ b/poky/meta/recipes-kernel/cryptodev/cryptodev-linux_1.10.bb
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.10.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.10.bb
new file mode 100644
index 000000000..552eb6aba
--- /dev/null
+++ b/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.10.bb
@@ -0,0 +1,17 @@
+require cryptodev.inc
+
+SUMMARY = "A /dev/crypto device driver kernel module"
+
+inherit module
+
+# Header file provided by a separate package
+DEPENDS += "cryptodev-linux"
+
+SRC_URI += " \
+file://0001-Disable-installing-header-file-provided-by-another-p.patch \
+"
+
+EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
+
+RCONFLICTS_${PN} = "ocf-linux"
+RREPLACES_${PN} = "ocf-linux"
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb
deleted file mode 100644
index ed4327d40..000000000
--- a/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require cryptodev.inc
-
-SUMMARY = "A /dev/crypto device driver kernel module"
-
-inherit module
-
-# Header file provided by a separate package
-DEPENDS += "cryptodev-linux"
-
-SRC_URI += " \
-file://0001-Disable-installing-header-file-provided-by-another-p.patch \
-file://0001-ioctl.c-Fix-build-with-linux-4.13.patch \
-file://0001-ioctl.c-Fix-build-with-linux-4.17.patch \
-file://0001-refactoring-split-big-function-to-simplify-maintaina.patch \
-file://0002-refactoring-relocate-code-to-simplify-later-patches.patch \
-file://0003-convert-to-new-AEAD-interface-in-kernels-v4.2.patch \
-"
-
-EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
-
-RCONFLICTS_${PN} = "ocf-linux"
-RREPLACES_${PN} = "ocf-linux"
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.10.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.10.bb
new file mode 100644
index 000000000..9cb5dcb94
--- /dev/null
+++ b/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.10.bb
@@ -0,0 +1,21 @@
+require cryptodev.inc
+
+SUMMARY = "A test suite for /dev/crypto device driver"
+
+DEPENDS += "openssl"
+
+SRC_URI += " \
+file://0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch \
+"
+
+EXTRA_OEMAKE='KERNEL_DIR="${STAGING_EXECPREFIXDIR}" PREFIX="${D}"'
+
+do_compile() {
+ oe_runmake testprogs
+}
+
+do_install() {
+ oe_runmake install_tests
+}
+
+FILES_${PN} = "${bindir}/*"
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb
deleted file mode 100644
index 617db6cdd..000000000
--- a/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.9.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require cryptodev.inc
-
-SUMMARY = "A test suite for /dev/crypto device driver"
-
-DEPENDS += "openssl"
-
-SRC_URI += " \
-file://0001-Add-the-compile-and-install-rules-for-cryptodev-test.patch \
-file://0001-Port-tests-to-openssl-1.1.patch \
-"
-
-EXTRA_OEMAKE='KERNEL_DIR="${STAGING_EXECPREFIXDIR}" PREFIX="${D}"'
-
-do_compile() {
- oe_runmake testprogs
-}
-
-do_install() {
- oe_runmake install_tests
-}
-
-FILES_${PN} = "${bindir}/*"
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev.inc b/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
index ab15bc1d9..252d39d23 100644
--- a/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
+++ b/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
@@ -4,7 +4,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux"
-SRCREV = "87d959d9a279c055b361de8e730fab6a7144edd7"
+SRCREV = "fd8b15ef1c8398a69a37932ee48c74ab40329a29"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-kernel/cryptodev/files/0001-Port-tests-to-openssl-1.1.patch b/poky/meta/recipes-kernel/cryptodev/files/0001-Port-tests-to-openssl-1.1.patch
deleted file mode 100644
index c9691265f..000000000
--- a/poky/meta/recipes-kernel/cryptodev/files/0001-Port-tests-to-openssl-1.1.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 2fe4bdeb8cdd0b0f46d9caed807812855d51ea56 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 28 Mar 2018 20:11:05 +0300
-Subject: [PATCH] Port tests to openssl 1.1
-
-Upstream-Status: Accepted [https://github.com/cryptodev-linux/cryptodev-linux/pull/36]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- tests/openssl_wrapper.c | 33 +++++++++++++++++++++++++++++++++
- 1 file changed, 33 insertions(+)
-
-diff --git a/tests/openssl_wrapper.c b/tests/openssl_wrapper.c
-index 038c58f..dea2496 100644
---- a/tests/openssl_wrapper.c
-+++ b/tests/openssl_wrapper.c
-@@ -4,6 +4,7 @@
- #include <openssl/aes.h>
- #include <openssl/evp.h>
- #include <openssl/hmac.h>
-+#include <openssl/opensslv.h>
-
- //#define DEBUG
-
-@@ -23,10 +24,17 @@ enum ctx_type {
- ctx_type_md,
- };
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+union openssl_ctx {
-+ HMAC_CTX *hmac;
-+ EVP_MD_CTX *md;
-+};
-+#else
- union openssl_ctx {
- HMAC_CTX hmac;
- EVP_MD_CTX md;
- };
-+#endif
-
- struct ctx_mapping {
- __u32 ses;
-@@ -63,6 +71,16 @@ static void remove_mapping(__u32 ses)
- switch (mapping->type) {
- case ctx_type_none:
- break;
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ case ctx_type_hmac:
-+ dbgp("%s: calling HMAC_CTX_free\n", __func__);
-+ HMAC_CTX_free(mapping->ctx.hmac);
-+ break;
-+ case ctx_type_md:
-+ dbgp("%s: calling EVP_MD_CTX_free\n", __func__);
-+ EVP_MD_CTX_free(mapping->ctx.md);
-+ break;
-+#else
- case ctx_type_hmac:
- dbgp("%s: calling HMAC_CTX_cleanup\n", __func__);
- HMAC_CTX_cleanup(&mapping->ctx.hmac);
-@@ -71,6 +89,7 @@ static void remove_mapping(__u32 ses)
- dbgp("%s: calling EVP_MD_CTX_cleanup\n", __func__);
- EVP_MD_CTX_cleanup(&mapping->ctx.md);
- break;
-+#endif
- }
- memset(mapping, 0, sizeof(*mapping));
- }
-@@ -127,10 +146,17 @@ static int openssl_hmac(struct session_op *sess, struct crypt_op *cop)
-
- mapping->ses = sess->ses;
- mapping->type = ctx_type_hmac;
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ ctx = mapping->ctx.hmac;
-+
-+ dbgp("calling HMAC_CTX_new");
-+ ctx = HMAC_CTX_new();
-+#else
- ctx = &mapping->ctx.hmac;
-
- dbgp("calling HMAC_CTX_init");
- HMAC_CTX_init(ctx);
-+#endif
- dbgp("calling HMAC_Init_ex");
- if (!HMAC_Init_ex(ctx, sess->mackey, sess->mackeylen,
- sess_to_evp_md(sess), NULL)) {
-@@ -172,10 +198,17 @@ static int openssl_md(struct session_op *sess, struct crypt_op *cop)
-
- mapping->ses = sess->ses;
- mapping->type = ctx_type_md;
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ ctx = mapping->ctx.md;
-+
-+ dbgp("calling EVP_MD_CTX_new");
-+ ctx = EVP_MD_CTX_new();
-+#else
- ctx = &mapping->ctx.md;
-
- dbgp("calling EVP_MD_CTX_init");
- EVP_MD_CTX_init(ctx);
-+#endif
- dbgp("calling EVP_DigestInit");
- EVP_DigestInit(ctx, sess_to_evp_md(sess));
- }
diff --git a/poky/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.13.patch b/poky/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.13.patch
deleted file mode 100644
index a41efacdd..000000000
--- a/poky/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.13.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From f0d69774afb27ffc62bf353465fba145e70cb85a Mon Sep 17 00:00:00 2001
-From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
-Date: Mon, 4 Sep 2017 11:05:08 +0200
-Subject: [PATCH] ioctl.c: Fix build with linux 4.13
-
-git/ioctl.c:1127:3: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
- {0, },
- ^
-note: (near initialization for 'verbosity_ctl_dir[1]')
-git/ioctl.c:1136:3: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
- {0, },
- ^
-
-Linux kernel has added -Werror=designated-init around 4.11 (c834f0e8a8b)
-triggering build errors with gcc 5 and 6 (but not with gcc 4)
-
-Upstream-Status: Backport
-
-Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
-Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
----
- ioctl.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ioctl.c b/ioctl.c
-index 0385203..8d4a162 100644
---- a/ioctl.c
-+++ b/ioctl.c
-@@ -1124,7 +1124,7 @@ static struct ctl_table verbosity_ctl_dir[] = {
- .mode = 0644,
- .proc_handler = proc_dointvec,
- },
-- {0, },
-+ {},
- };
-
- static struct ctl_table verbosity_ctl_root[] = {
-@@ -1133,7 +1133,7 @@ static struct ctl_table verbosity_ctl_root[] = {
- .mode = 0555,
- .child = verbosity_ctl_dir,
- },
-- {0, },
-+ {},
- };
- static struct ctl_table_header *verbosity_sysctl_header;
- static int __init init_cryptodev(void)
---
-2.7.4
-
diff --git a/poky/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.17.patch b/poky/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.17.patch
deleted file mode 100644
index 5881d1c4e..000000000
--- a/poky/meta/recipes-kernel/cryptodev/files/0001-ioctl.c-Fix-build-with-linux-4.17.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From f60aa08c63fc02780554a0a12180a478ca27d49f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com>
-Date: Wed, 23 May 2018 18:43:39 +0300
-Subject: [PATCH] ioctl.c: Fix build with linux 4.17
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Since kernel 4.17-rc1, sys_* syscalls can no longer be called directly:
-819671ff849b ("syscalls: define and explain goal to not call syscalls in the kernel")
-
-Since cryptodev uses sys_close() - and this has been removed in commit:
-2ca2a09d6215 ("fs: add ksys_close() wrapper; remove in-kernel calls to sys_close()")
-cryptodev has to be updated to use the ksys_close() wrapper.
-
-Signed-off-by: Horia GeantÄ <horia.geanta@nxp.com>
-
-Upstream-Status: Backport
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- ioctl.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/ioctl.c b/ioctl.c
-index d831b0c..2571034 100644
---- a/ioctl.c
-+++ b/ioctl.c
-@@ -828,7 +828,11 @@ cryptodev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg_)
- fd = clonefd(filp);
- ret = put_user(fd, p);
- if (unlikely(ret)) {
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
- sys_close(fd);
-+#else
-+ ksys_close(fd);
-+#endif
- return ret;
- }
- return ret;
---
-2.7.4
-
diff --git a/poky/meta/recipes-kernel/cryptodev/files/0001-refactoring-split-big-function-to-simplify-maintaina.patch b/poky/meta/recipes-kernel/cryptodev/files/0001-refactoring-split-big-function-to-simplify-maintaina.patch
deleted file mode 100644
index f557b5dff..000000000
--- a/poky/meta/recipes-kernel/cryptodev/files/0001-refactoring-split-big-function-to-simplify-maintaina.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 20dcf071bc3076ee7db9d603cfbe6a06e86c7d5f Mon Sep 17 00:00:00 2001
-From: Cristian Stoica <cristian.stoica@nxp.com>
-Date: Thu, 4 May 2017 15:06:20 +0300
-Subject: [PATCH 1/3] refactoring: split big function to simplify maintainance
-
-The setup of auth_buf in tls and aead is now duplicated but this
-is temporary and allows necessary corrections for the aead case
-with v4.2+ kernels.
-
-Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
-
-Upstream-Status: Backport
-
-Commit ID: 20dcf071bc3076ee7db9d603c
-
-Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
----
- authenc.c | 197 ++++++++++++++++++++++++++++++++++++++++----------------------
- 1 file changed, 126 insertions(+), 71 deletions(-)
-
-diff --git a/authenc.c b/authenc.c
-index 1bd7377..28eb0f9 100644
---- a/authenc.c
-+++ b/authenc.c
-@@ -609,96 +609,151 @@ auth_n_crypt(struct csession *ses_ptr, struct kernel_crypt_auth_op *kcaop,
- return 0;
- }
-
--/* This is the main crypto function - zero-copy edition */
--static int
--__crypto_auth_run_zc(struct csession *ses_ptr, struct kernel_crypt_auth_op *kcaop)
-+static int crypto_auth_zc_srtp(struct csession *ses_ptr, struct kernel_crypt_auth_op *kcaop)
- {
-- struct scatterlist *dst_sg, *auth_sg, *src_sg;
-+ struct scatterlist *dst_sg, *auth_sg;
- struct crypt_auth_op *caop = &kcaop->caop;
-- int ret = 0;
-+ int ret;
-
-- if (caop->flags & COP_FLAG_AEAD_SRTP_TYPE) {
-- if (unlikely(ses_ptr->cdata.init != 0 &&
-- (ses_ptr->cdata.stream == 0 ||
-- ses_ptr->cdata.aead != 0))) {
-- derr(0, "Only stream modes are allowed in SRTP mode (but not AEAD)");
-- return -EINVAL;
-- }
-+ if (unlikely(ses_ptr->cdata.init != 0 &&
-+ (ses_ptr->cdata.stream == 0 || ses_ptr->cdata.aead != 0))) {
-+ derr(0, "Only stream modes are allowed in SRTP mode (but not AEAD)");
-+ return -EINVAL;
-+ }
-
-- ret = get_userbuf_srtp(ses_ptr, kcaop, &auth_sg, &dst_sg);
-- if (unlikely(ret)) {
-- derr(1, "get_userbuf_srtp(): Error getting user pages.");
-- return ret;
-- }
-+ ret = get_userbuf_srtp(ses_ptr, kcaop, &auth_sg, &dst_sg);
-+ if (unlikely(ret)) {
-+ derr(1, "get_userbuf_srtp(): Error getting user pages.");
-+ return ret;
-+ }
-
-- ret = srtp_auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
-- dst_sg, caop->len);
-+ ret = srtp_auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
-+ dst_sg, caop->len);
-
-- release_user_pages(ses_ptr);
-- } else { /* TLS and normal cases. Here auth data are usually small
-- * so we just copy them to a free page, instead of trying
-- * to map them.
-- */
-- unsigned char *auth_buf = NULL;
-- struct scatterlist tmp;
-+ release_user_pages(ses_ptr);
-
-- if (unlikely(caop->auth_len > PAGE_SIZE)) {
-- derr(1, "auth data len is excessive.");
-- return -EINVAL;
-- }
-+ return ret;
-+}
-
-- auth_buf = (char *)__get_free_page(GFP_KERNEL);
-- if (unlikely(!auth_buf)) {
-- derr(1, "unable to get a free page.");
-- return -ENOMEM;
-- }
-+static int crypto_auth_zc_tls(struct csession *ses_ptr, struct kernel_crypt_auth_op *kcaop)
-+{
-+ struct crypt_auth_op *caop = &kcaop->caop;
-+ struct scatterlist *dst_sg, *auth_sg;
-+ unsigned char *auth_buf = NULL;
-+ struct scatterlist tmp;
-+ int ret;
-
-- if (caop->auth_src && caop->auth_len > 0) {
-- if (unlikely(copy_from_user(auth_buf, caop->auth_src, caop->auth_len))) {
-- derr(1, "unable to copy auth data from userspace.");
-- ret = -EFAULT;
-- goto free_auth_buf;
-- }
-+ if (unlikely(ses_ptr->cdata.aead != 0)) {
-+ return -EINVAL;
-+ }
-+
-+ if (unlikely(caop->auth_len > PAGE_SIZE)) {
-+ derr(1, "auth data len is excessive.");
-+ return -EINVAL;
-+ }
-+
-+ auth_buf = (char *)__get_free_page(GFP_KERNEL);
-+ if (unlikely(!auth_buf)) {
-+ derr(1, "unable to get a free page.");
-+ return -ENOMEM;
-+ }
-
-- sg_init_one(&tmp, auth_buf, caop->auth_len);
-- auth_sg = &tmp;
-- } else {
-- auth_sg = NULL;
-+ if (caop->auth_src && caop->auth_len > 0) {
-+ if (unlikely(copy_from_user(auth_buf, caop->auth_src, caop->auth_len))) {
-+ derr(1, "unable to copy auth data from userspace.");
-+ ret = -EFAULT;
-+ goto free_auth_buf;
- }
-
-- if (caop->flags & COP_FLAG_AEAD_TLS_TYPE && ses_ptr->cdata.aead == 0) {
-- ret = get_userbuf_tls(ses_ptr, kcaop, &dst_sg);
-- if (unlikely(ret)) {
-- derr(1, "get_userbuf_tls(): Error getting user pages.");
-- goto free_auth_buf;
-- }
-+ sg_init_one(&tmp, auth_buf, caop->auth_len);
-+ auth_sg = &tmp;
-+ } else {
-+ auth_sg = NULL;
-+ }
-
-- ret = tls_auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
-- dst_sg, caop->len);
-- } else {
-- if (unlikely(ses_ptr->cdata.init == 0 ||
-- (ses_ptr->cdata.stream == 0 &&
-- ses_ptr->cdata.aead == 0))) {
-- derr(0, "Only stream and AEAD ciphers are allowed for authenc");
-- ret = -EINVAL;
-- goto free_auth_buf;
-- }
-+ ret = get_userbuf_tls(ses_ptr, kcaop, &dst_sg);
-+ if (unlikely(ret)) {
-+ derr(1, "get_userbuf_tls(): Error getting user pages.");
-+ goto free_auth_buf;
-+ }
-
-- ret = get_userbuf(ses_ptr, caop->src, caop->len, caop->dst, kcaop->dst_len,
-- kcaop->task, kcaop->mm, &src_sg, &dst_sg);
-- if (unlikely(ret)) {
-- derr(1, "get_userbuf(): Error getting user pages.");
-- goto free_auth_buf;
-- }
-+ ret = tls_auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
-+ dst_sg, caop->len);
-+ release_user_pages(ses_ptr);
-+
-+free_auth_buf:
-+ free_page((unsigned long)auth_buf);
-+ return ret;
-+}
-+
-+static int crypto_auth_zc_aead(struct csession *ses_ptr, struct kernel_crypt_auth_op *kcaop)
-+{
-+ struct scatterlist *dst_sg, *auth_sg, *src_sg;
-+ struct crypt_auth_op *caop = &kcaop->caop;
-+ unsigned char *auth_buf = NULL;
-+ struct scatterlist tmp;
-+ int ret;
-
-- ret = auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
-- src_sg, dst_sg, caop->len);
-+ if (unlikely(ses_ptr->cdata.init == 0 ||
-+ (ses_ptr->cdata.stream == 0 && ses_ptr->cdata.aead == 0))) {
-+ derr(0, "Only stream and AEAD ciphers are allowed for authenc");
-+ return -EINVAL;
-+ }
-+
-+ if (unlikely(caop->auth_len > PAGE_SIZE)) {
-+ derr(1, "auth data len is excessive.");
-+ return -EINVAL;
-+ }
-+
-+ auth_buf = (char *)__get_free_page(GFP_KERNEL);
-+ if (unlikely(!auth_buf)) {
-+ derr(1, "unable to get a free page.");
-+ return -ENOMEM;
-+ }
-+
-+ if (caop->auth_src && caop->auth_len > 0) {
-+ if (unlikely(copy_from_user(auth_buf, caop->auth_src, caop->auth_len))) {
-+ derr(1, "unable to copy auth data from userspace.");
-+ ret = -EFAULT;
-+ goto free_auth_buf;
- }
-
-- release_user_pages(ses_ptr);
-+ sg_init_one(&tmp, auth_buf, caop->auth_len);
-+ auth_sg = &tmp;
-+ } else {
-+ auth_sg = NULL;
-+ }
-+
-+ ret = get_userbuf(ses_ptr, caop->src, caop->len, caop->dst, kcaop->dst_len,
-+ kcaop->task, kcaop->mm, &src_sg, &dst_sg);
-+ if (unlikely(ret)) {
-+ derr(1, "get_userbuf(): Error getting user pages.");
-+ goto free_auth_buf;
-+ }
-+
-+ ret = auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
-+ src_sg, dst_sg, caop->len);
-+
-+ release_user_pages(ses_ptr);
-
- free_auth_buf:
-- free_page((unsigned long)auth_buf);
-+ free_page((unsigned long)auth_buf);
-+
-+ return ret;
-+}
-+
-+static int
-+__crypto_auth_run_zc(struct csession *ses_ptr, struct kernel_crypt_auth_op *kcaop)
-+{
-+ struct crypt_auth_op *caop = &kcaop->caop;
-+ int ret;
-+
-+ if (caop->flags & COP_FLAG_AEAD_SRTP_TYPE) {
-+ ret = crypto_auth_zc_srtp(ses_ptr, kcaop);
-+ } else if (caop->flags & COP_FLAG_AEAD_TLS_TYPE) {
-+ ret = crypto_auth_zc_tls(ses_ptr, kcaop);
-+ } else {
-+ ret = crypto_auth_zc_aead(ses_ptr, kcaop);
- }
-
- return ret;
---
-2.11.0
-
diff --git a/poky/meta/recipes-kernel/cryptodev/files/0002-refactoring-relocate-code-to-simplify-later-patches.patch b/poky/meta/recipes-kernel/cryptodev/files/0002-refactoring-relocate-code-to-simplify-later-patches.patch
deleted file mode 100644
index 83d9005a0..000000000
--- a/poky/meta/recipes-kernel/cryptodev/files/0002-refactoring-relocate-code-to-simplify-later-patches.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From c2bf0e42b1d9fda60cde4a3a682784d349ef1c0b Mon Sep 17 00:00:00 2001
-From: Cristian Stoica <cristian.stoica@nxp.com>
-Date: Thu, 4 May 2017 15:06:21 +0300
-Subject: [PATCH 2/3] refactoring: relocate code to simplify later patches
-
-This code move will simplify the conversion to new AEAD interface in
-next patches
-
-Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
-
-Upstream-Status: Backport
-
-Commit ID: c2bf0e42b1d9fda
-
-Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
----
- authenc.c | 17 +++++++++--------
- 1 file changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/authenc.c b/authenc.c
-index 28eb0f9..95727b4 100644
---- a/authenc.c
-+++ b/authenc.c
-@@ -711,11 +711,18 @@ static int crypto_auth_zc_aead(struct csession *ses_ptr, struct kernel_crypt_aut
- return -ENOMEM;
- }
-
-+ ret = get_userbuf(ses_ptr, caop->src, caop->len, caop->dst, kcaop->dst_len,
-+ kcaop->task, kcaop->mm, &src_sg, &dst_sg);
-+ if (unlikely(ret)) {
-+ derr(1, "get_userbuf(): Error getting user pages.");
-+ goto free_auth_buf;
-+ }
-+
- if (caop->auth_src && caop->auth_len > 0) {
- if (unlikely(copy_from_user(auth_buf, caop->auth_src, caop->auth_len))) {
- derr(1, "unable to copy auth data from userspace.");
- ret = -EFAULT;
-- goto free_auth_buf;
-+ goto free_pages;
- }
-
- sg_init_one(&tmp, auth_buf, caop->auth_len);
-@@ -724,16 +731,10 @@ static int crypto_auth_zc_aead(struct csession *ses_ptr, struct kernel_crypt_aut
- auth_sg = NULL;
- }
-
-- ret = get_userbuf(ses_ptr, caop->src, caop->len, caop->dst, kcaop->dst_len,
-- kcaop->task, kcaop->mm, &src_sg, &dst_sg);
-- if (unlikely(ret)) {
-- derr(1, "get_userbuf(): Error getting user pages.");
-- goto free_auth_buf;
-- }
--
- ret = auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
- src_sg, dst_sg, caop->len);
-
-+free_pages:
- release_user_pages(ses_ptr);
-
- free_auth_buf:
---
-2.11.0
-
diff --git a/poky/meta/recipes-kernel/cryptodev/files/0003-convert-to-new-AEAD-interface-in-kernels-v4.2.patch b/poky/meta/recipes-kernel/cryptodev/files/0003-convert-to-new-AEAD-interface-in-kernels-v4.2.patch
deleted file mode 100644
index 860230778..000000000
--- a/poky/meta/recipes-kernel/cryptodev/files/0003-convert-to-new-AEAD-interface-in-kernels-v4.2.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From a705360197260d28535746ae98c461ba2cfb7a9e Mon Sep 17 00:00:00 2001
-From: Cristian Stoica <cristian.stoica@nxp.com>
-Date: Thu, 4 May 2017 15:06:22 +0300
-Subject: [PATCH 3/3] convert to new AEAD interface in kernels v4.2+
-
-The crypto API for AEAD ciphers changed in recent kernels so that
-associated data is now part of both source and destination scatter
-gathers. The source, destination and associated data buffers need
-to be stiched accordingly for the operations to succeed:
-
-src_sg: auth_buf + src_buf
-dst_sg: auth_buf + (dst_buf + tag space)
-
-This patch fixes a kernel crash observed with cipher-gcm test.
-
-See also kernel patch: 81c4c35eb61a69c229871c490b011c1171511d5a
- crypto: ccm - Convert to new AEAD interface
-
-Reported-by: Phil Sutter <phil@nwl.cc>
-Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
-
-Upstream-Status: Backport
-
-Commit ID: a705360197260d2853574
-
-Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
----
- authenc.c | 40 ++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 38 insertions(+), 2 deletions(-)
-
-diff --git a/authenc.c b/authenc.c
-index 95727b4..692951f 100644
---- a/authenc.c
-+++ b/authenc.c
-@@ -688,12 +688,20 @@ free_auth_buf:
-
- static int crypto_auth_zc_aead(struct csession *ses_ptr, struct kernel_crypt_auth_op *kcaop)
- {
-- struct scatterlist *dst_sg, *auth_sg, *src_sg;
-+ struct scatterlist *dst_sg;
-+ struct scatterlist *src_sg;
- struct crypt_auth_op *caop = &kcaop->caop;
- unsigned char *auth_buf = NULL;
-- struct scatterlist tmp;
- int ret;
-
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0))
-+ struct scatterlist tmp;
-+ struct scatterlist *auth_sg;
-+#else
-+ struct scatterlist auth1[2];
-+ struct scatterlist auth2[2];
-+#endif
-+
- if (unlikely(ses_ptr->cdata.init == 0 ||
- (ses_ptr->cdata.stream == 0 && ses_ptr->cdata.aead == 0))) {
- derr(0, "Only stream and AEAD ciphers are allowed for authenc");
-@@ -718,6 +726,7 @@ static int crypto_auth_zc_aead(struct csession *ses_ptr, struct kernel_crypt_aut
- goto free_auth_buf;
- }
-
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0))
- if (caop->auth_src && caop->auth_len > 0) {
- if (unlikely(copy_from_user(auth_buf, caop->auth_src, caop->auth_len))) {
- derr(1, "unable to copy auth data from userspace.");
-@@ -733,6 +742,33 @@ static int crypto_auth_zc_aead(struct csession *ses_ptr, struct kernel_crypt_aut
-
- ret = auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
- src_sg, dst_sg, caop->len);
-+#else
-+ if (caop->auth_src && caop->auth_len > 0) {
-+ if (unlikely(copy_from_user(auth_buf, caop->auth_src, caop->auth_len))) {
-+ derr(1, "unable to copy auth data from userspace.");
-+ ret = -EFAULT;
-+ goto free_pages;
-+ }
-+
-+ sg_init_table(auth1, 2);
-+ sg_set_buf(auth1, auth_buf, caop->auth_len);
-+ sg_chain(auth1, 2, src_sg);
-+
-+ if (src_sg == dst_sg) {
-+ src_sg = auth1;
-+ dst_sg = auth1;
-+ } else {
-+ sg_init_table(auth2, 2);
-+ sg_set_buf(auth2, auth_buf, caop->auth_len);
-+ sg_chain(auth2, 2, dst_sg);
-+ src_sg = auth1;
-+ dst_sg = auth2;
-+ }
-+ }
-+
-+ ret = auth_n_crypt(ses_ptr, kcaop, NULL, caop->auth_len,
-+ src_sg, dst_sg, caop->len);
-+#endif
-
- free_pages:
- release_user_pages(ses_ptr);
---
-2.11.0
-
diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
index b353c21df..5c1d7f691 100644
--- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=a6c2fa8aef1b
DEPENDS = "git-native"
-SRCREV = "d6529f86fc5bcb3514953ff9fa2f51a3fbf03a0f"
+SRCREV = "af1a779f662c81da521e4d602f3c6446547d12a2"
PR = "r12"
PV = "0.2+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch
deleted file mode 100644
index e0cced55c..000000000
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b9de21ef51a7ceab7122a707c188602eae22c4ee Mon Sep 17 00:00:00 2001
-From: Chris Clayton <chris2553@googlemail.com>
-Date: Mon, 20 Aug 2018 12:00:31 +0100
-Subject: [PATCH] kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error
-
-In response to a change in binutils, commit b21ebf2fb4c
-(x86: Treat R_X86_64_PLT32 as R_X86_64_PC32) was applied to
-the linux kernel during the 4.16 development cycle and has
-since been backported to earlier stable kernel series. The
-change results in the failure message in $SUBJECT when
-rebooting via kexec.
-
-Fix this by replicating the change in kexec.
-
-Upstream-Status: Backport[https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=b9de21ef51a7ceab7122a707c188602eae22c4ee]
-
-Signed-off-by: Chris Clayton <chris2553@googlemail.com>
-Acked-by: Baoquan He <bhe@redhat.com>
-Tested-by: Bhupesh Sharma <bhsharma@redhat.com>
-Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
-Signed-off-by: Simon Horman <horms@verge.net.au>
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 1 +
- 1 file changed, 1 insertion(+)
-
-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..db85b44 100644
---- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-+++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-@@ -79,6 +79,7 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr),
- goto overflow;
- break;
- case R_X86_64_PC32:
-+ case R_X86_64_PLT32:
- *(uint32_t *)location = value - address;
- break;
- default:
---
-2.7.4
-
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb
deleted file mode 100644
index 4b9b5accb..000000000
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb
+++ /dev/null
@@ -1,88 +0,0 @@
-
-SUMMARY = "Kexec fast reboot tools"
-DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
-AUTHOR = "Eric Biederman"
-HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
-SECTION = "kernel/userland"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
- file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
-DEPENDS = "zlib xz"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \
- file://kdump \
- file://kdump.conf \
- file://kdump.service \
- file://0002-powerpc-change-the-memory-size-limit.patch \
- file://0001-purgatory-Pass-r-directly-to-linker.patch \
- file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
- file://kexec-x32.patch \
- file://0001-Disable-PIE-during-link.patch \
- file://0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch \
- "
-
-SRC_URI[md5sum] = "8e071ca473694a71e4ae60ed7ef6f377"
-SRC_URI[sha256sum] = "450c87ba048641eb05f9717f5567aca57f063c266149ae663b58a34e5852deaf"
-
-inherit autotools update-rc.d systemd
-
-export LDFLAGS = "-L${STAGING_LIBDIR}"
-EXTRA_OECONF = " --with-zlib=yes"
-
-do_compile_prepend() {
- # Remove the prepackaged config.h from the source tree as it overrides
- # the same file generated by configure and placed in the build tree
- rm -f ${S}/include/config.h
-
- # Remove the '*.d' file to make sure the recompile is OK
- for dep in `find ${B} -type f -name '*.d'`; do
- dep_no_d="`echo $dep | sed 's#.d$##'`"
- # Remove file.d when there is a file.o
- if [ -f "$dep_no_d.o" ]; then
- rm -f $dep
- fi
- done
-}
-
-do_install_append () {
- install -d ${D}${sysconfdir}/sysconfig
- install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -D -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper
- install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service
- sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service
- fi
-}
-
-PACKAGES =+ "kexec kdump vmcore-dmesg"
-
-ALLOW_EMPTY_${PN} = "1"
-RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg"
-
-FILES_kexec = "${sbindir}/kexec"
-FILES_kdump = "${sbindir}/kdump \
- ${sysconfdir}/sysconfig/kdump.conf \
- ${sysconfdir}/init.d/kdump \
- ${libexecdir}/kdump-helper \
- ${systemd_unitdir}/system/kdump.service \
-"
-
-FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg"
-
-INITSCRIPT_PACKAGES = "kdump"
-INITSCRIPT_NAME_kdump = "kdump"
-INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ."
-
-SYSTEMD_PACKAGES = "kdump"
-SYSTEMD_SERVICE_kdump = "kdump.service"
-
-SECURITY_PIE_CFLAGS_remove = "-fPIE -pie"
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)'
-
-INSANE_SKIP_${PN} = "arch"
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
new file mode 100644
index 000000000..f65cd9f10
--- /dev/null
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
@@ -0,0 +1,87 @@
+
+SUMMARY = "Kexec fast reboot tools"
+DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
+AUTHOR = "Eric Biederman"
+HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
+SECTION = "kernel/userland"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
+ file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
+DEPENDS = "zlib xz"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \
+ file://kdump \
+ file://kdump.conf \
+ file://kdump.service \
+ file://0002-powerpc-change-the-memory-size-limit.patch \
+ file://0001-purgatory-Pass-r-directly-to-linker.patch \
+ file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
+ file://kexec-x32.patch \
+ file://0001-Disable-PIE-during-link.patch \
+ "
+
+SRC_URI[md5sum] = "052458f0a35c2a3b0d2302caa3318e9f"
+SRC_URI[sha256sum] = "913c8dee918e5855a4ba60d609371390978144b4c8d15d6446ca0057b7bc5e58"
+
+inherit autotools update-rc.d systemd
+
+export LDFLAGS = "-L${STAGING_LIBDIR}"
+EXTRA_OECONF = " --with-zlib=yes"
+
+do_compile_prepend() {
+ # Remove the prepackaged config.h from the source tree as it overrides
+ # the same file generated by configure and placed in the build tree
+ rm -f ${S}/include/config.h
+
+ # Remove the '*.d' file to make sure the recompile is OK
+ for dep in `find ${B} -type f -name '*.d'`; do
+ dep_no_d="`echo $dep | sed 's#.d$##'`"
+ # Remove file.d when there is a file.o
+ if [ -f "$dep_no_d.o" ]; then
+ rm -f $dep
+ fi
+ done
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/sysconfig
+ install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -D -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper
+ install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service
+ sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service
+ fi
+}
+
+PACKAGES =+ "kexec kdump vmcore-dmesg"
+
+ALLOW_EMPTY_${PN} = "1"
+RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg"
+
+FILES_kexec = "${sbindir}/kexec"
+FILES_kdump = "${sbindir}/kdump \
+ ${sysconfdir}/sysconfig/kdump.conf \
+ ${sysconfdir}/init.d/kdump \
+ ${libexecdir}/kdump-helper \
+ ${systemd_unitdir}/system/kdump.service \
+"
+
+FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg"
+
+INITSCRIPT_PACKAGES = "kdump"
+INITSCRIPT_NAME_kdump = "kdump"
+INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ."
+
+SYSTEMD_PACKAGES = "kdump"
+SYSTEMD_SERVICE_kdump = "kdump.service"
+
+SECURITY_PIE_CFLAGS_remove = "-fPIE -pie"
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)'
+
+INSANE_SKIP_${PN} = "arch"
diff --git a/poky/meta/recipes-kernel/kmod/kmod-native_git.bb b/poky/meta/recipes-kernel/kmod/kmod-native_git.bb
index f0e274ed7..f61134bba 100644
--- a/poky/meta/recipes-kernel/kmod/kmod-native_git.bb
+++ b/poky/meta/recipes-kernel/kmod/kmod-native_git.bb
@@ -7,9 +7,6 @@ DEPENDS += "zlib-native"
inherit native
-SRC_URI += "file://Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch \
- "
-
do_install_append (){
for tool in depmod insmod lsmod modinfo modprobe rmmod
do
diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc
index 29885fbe7..e68860f6b 100644
--- a/poky/meta/recipes-kernel/kmod/kmod.inc
+++ b/poky/meta/recipes-kernel/kmod/kmod.inc
@@ -14,14 +14,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
"
inherit autotools gtk-doc pkgconfig manpages
-SRCREV = "aca4eca103d6699543f7ed663335c28c2e9908bb"
+SRCREV = "58133a96c894c043e48c74ddf0bfe8db90bac62f"
# Lookout for PV bump too when SRCREV is changed
-PV = "25+git${SRCPV}"
+PV = "26"
SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \
file://depmod-search.conf \
file://avoid_parallel_tests.patch \
- file://fix-O_CLOEXEC.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch b/poky/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch
deleted file mode 100644
index b722183b6..000000000
--- a/poky/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Subject: Change to calling bswap_* instead of htobe* and be*toh
-
-We can't use htobe* and be*toh functions because they are not
-available on older versions of glibc, For example, shipped on Centos 5.5.
-
-Change to directly calling bswap_* as defined in+byteswap.h.
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Ting Liu <b28495@freescale.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- libkmod/libkmod-signature.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/libkmod/libkmod-signature.c b/libkmod/libkmod-signature.c
-index 6fc06fc..912185a 100644
---- a/libkmod/libkmod-signature.c
-+++ b/libkmod/libkmod-signature.c
-@@ -18,6 +18,7 @@
- */
-
- #include <endian.h>
-+#include <byteswap.h>
- #include <inttypes.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -127,7 +128,7 @@ bool kmod_module_signature_info(const struct kmod_file *file, struct kmod_signat
- modsig->hash >= PKEY_HASH__LAST ||
- modsig->id_type >= PKEY_ID_TYPE__LAST)
- return false;
-- sig_len = be32toh(get_unaligned(&modsig->sig_len));
-+ sig_len = bswap_32(get_unaligned(&modsig->sig_len));
- if (sig_len == 0 ||
- size < (int64_t)(modsig->signer_len + modsig->key_id_len + sig_len))
- return false;
---
-1.9.1
-
diff --git a/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch b/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch
index 5f45fce93..990c338fa 100644
--- a/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch
+++ b/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch
@@ -1,3 +1,8 @@
+From be6f82c54f694617c646ca1f8b5bcf93694e20ad Mon Sep 17 00:00:00 2001
+From: Tudor Florea <tudor.florea@enea.com>
+Date: Fri, 6 Sep 2013 21:11:57 +0000
+Subject: [PATCH] kmod: avoid parallel-tests
+
Avoid parallel-tests as it remove
buildtest-TESTS and runtest-TESTS targets required by ptest.
In automake 1.13.4 parallel-tests is assumed by defauls.
@@ -5,16 +10,16 @@ In order to have buildtest-TESTS and runtest-TESTS targets
serial-tests is now required
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
-Upstream-Status: Inappropriate (disable feature incompatible with ptest)
+Upstream-Status: Inappropriate (disable feature incompatible with ptest)
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
+diff --git a/configure.ac b/configure.ac
+index ee72283..60980c0 100644
+--- a/configure.ac
++++ b/configure.ac
@@ -14,7 +14,7 @@ AC_USE_SYSTEM_EXTENSIONS
AC_SYS_LARGEFILE
AC_PREFIX_DEFAULT([/usr])
diff --git a/poky/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch b/poky/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch
deleted file mode 100644
index 5d9d40c38..000000000
--- a/poky/meta/recipes-kernel/kmod/kmod/fix-O_CLOEXEC.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From bd43367eee868059770188fd9e9db38520dc6fff Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Wed, 22 Jan 2014 01:06:40 -0500
-Subject: [PATCH] libkmod/libkmod-internal.h: check whether O_CLOEXEC is
- defined or not
-
-O_CLOEXEC is introduced from Linux 2.6.23, so old kernel doesn't have
-it, we need check before use.
-
-This patch is much more like a workaround, since it may need fcntl() use
-FD_CLOEXEC to replace.
-
-This problem was reported by "Ting Liu <b28495@freescale.com>"
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Upstream-Status: Pending
----
- libkmod/libkmod-internal.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-Index: git/libkmod/libkmod-internal.h
-===================================================================
---- git.orig/libkmod/libkmod-internal.h
-+++ git/libkmod/libkmod-internal.h
-@@ -10,6 +10,10 @@
-
- #include "libkmod.h"
-
-+#ifndef O_CLOEXEC
-+#define O_CLOEXEC 0
-+#endif
-+
- static _always_inline_ _printf_format_(2, 3) void
- kmod_log_null(struct kmod_ctx *ctx, const char *format, ...) {}
-
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index fdf8f1949..ad7babf7a 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -122,7 +122,7 @@ LIC_FILES_CHKSUM = "\
file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
- file://WHENCE;md5=66abf0fb69b09d6f3d2db6088594c808 \
+ file://WHENCE;md5=ef36d3383becd18f36ce32d84109386f \
"
# These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -188,7 +188,7 @@ NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
-SRCREV = "710963fe53ee3f227556d36839df3858daf6e232"
+SRCREV = "7bc246451318b3536d9bfd3c4e46d541a9831b33"
PE = "1"
PV = "0.0+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index be215af9b..7f838f623 100644
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -38,6 +38,8 @@ python __anonymous () {
d.setVar("HEADER_FETCH_VER", "3.0")
elif major == "4":
d.setVar("HEADER_FETCH_VER", "4.x")
+ elif major == "5":
+ d.setVar("HEADER_FETCH_VER", "5.x")
else:
d.setVar("HEADER_FETCH_VER", "2.6")
}
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch
new file mode 100644
index 000000000..78ebd31e6
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch
@@ -0,0 +1,41 @@
+From 9ca6c6a510bda90954aa2532711200b89dd1df89 Mon Sep 17 00:00:00 2001
+From: Dave Martin <Dave.Martin@arm.com>
+Date: Tue, 11 Dec 2018 19:26:45 +0000
+Subject: [PATCH 1/3] kbuild: install_headers.sh: Strip _UAPI from
+ #if-defined() guards
+
+install_headers.sh knows how to strip the _UAPI prefix from #ifdef/
+ifndef and #define directives used to guard headers against multiple
+or inappropriate inclusion. Currently this does not work for guards
+in the "#if defined()" style, which may be needed for non-trivial
+cases.
+
+This patch adds similar logic so that the _UAPI prefix is also
+stripped from guard directives written using "#if defined()" etc.
+
+This is not completely foolproof, but will work for simple cases of
+using #if defined() to guard against inappropriate header inclusion.
+
+Signed-off-by: Dave Martin <Dave.Martin@arm.com>
+Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+
+Upstream-Status: Submitted [https://www.spinics.net/lists/arm-kernel/msg694800.html]
+---
+ scripts/headers_install.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh
+index 593f8879c641..fe1d3fc0d33a 100755
+--- a/scripts/headers_install.sh
++++ b/scripts/headers_install.sh
+@@ -38,6 +38,7 @@ do
+ -e 's/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\1__attribute__((packed))\2/g' \
+ -e 's/(^|[[:space:](])(inline|asm|volatile)([[:space:](]|$)/\1__\2__\3/g' \
+ -e 's@#(ifndef|define|endif[[:space:]]*/[*])[[:space:]]*_UAPI@#\1 @' \
++ -e ':1;s/(#(if|elif)(.*[^A-Za-z0-9_])defined\([[:space:]]*)_UAPI/\1/;t1' \
+ "$SRCDIR/$i" > "$OUTDIR/$FILE.sed" || exit 1
+ scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ "$OUTDIR/$FILE.sed" \
+ > "$OUTDIR/$FILE"
+--
+2.5.0
+
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch
new file mode 100644
index 000000000..a5ded602e
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch
@@ -0,0 +1,67 @@
+From 694eba7bb974f6b8bd308804cb24350150108b2b Mon Sep 17 00:00:00 2001
+From: He Zhe <zhe.he@windriver.com>
+Date: Wed, 21 Nov 2018 15:12:43 +0800
+Subject: [PATCH] scripts: Use fixed input and output files instead of pipe for here-doc
+
+There was a bug of "as" in binutils that when it checks if the input file and
+output file are the same one, it would not check if they are on the same block
+device. The check is introduced by the following commit in v2.31.
+
+https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=
+67f846b59b32f3d704c601669409c2584383fea9
+
+The here-doc usage in this script creates temporary file in /tmp. When we run in
+an environment where /tmp has rarely been used, the newly created temporary file
+may have a very low inode number. If the inode number was 6 which is the same as
+/dev/null, the as would wrongly think the input file and the output file are the
+same and report the following error.
+
+*** Compiler lacks asm-goto support.. Stop.
+
+One observed case happened in docker where the /tmp could be so rarely used that
+very low number inode may be allocated and triggers the error.
+
+The fix below for the bug only exists on the master branch of binutils so far
+and has not been released from upstream. As the convict is introduced since
+v2.31, only v2.31 is affected.
+
+https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=
+2a50366ded329bfb39d387253450c9d5302c3503
+
+When building linux-libc-headers we need to use "as" in binutils which does not
+contain the fix for the moment. To work around the error, we create a fixed
+temporary file to contain the program being tested.
+
+This patch also removes ">/dev/null 2>&1" so we will have more direct error
+information in case something else wrong happened.
+
+Upstream-Status: Inappropriate [A work around for binutils v2.31]
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ scripts/gcc-goto.sh | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/scripts/gcc-goto.sh b/scripts/gcc-goto.sh
+index 8b980fb22..d256a9438 100755
+--- a/scripts/gcc-goto.sh
++++ b/scripts/gcc-goto.sh
+@@ -3,7 +3,7 @@
+ # Test for gcc 'asm goto' support
+ # Copyright (C) 2010, Jason Baron <jbaron@redhat.com>
+
+-cat << "END" | $@ -x c - -fno-PIE -c -o /dev/null
++cat << "END" > ./input
+ int main(void)
+ {
+ #if defined(__arm__) || defined(__aarch64__)
+@@ -20,3 +20,6 @@ entry:
+ return 0;
+ }
+ END
++
++$@ -x c ./input -fno-PIE -c -o ./output
++rm ./input ./output
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb
deleted file mode 100644
index eb7bee72b..000000000
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require linux-libc-headers.inc
-
-SRC_URI_append_libc-musl = "\
- file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
- file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \
- file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
- file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
- file://0001-if_ether-move-muslc-ethhdr-protection-to-uapi-file.patch \
- file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \
- "
-
-SRC_URI[md5sum] = "bee5fe53ee1c3142b8f0c12c0d3348f9"
-SRC_URI[sha256sum] = "19d8bcf49ef530cd4e364a45b4a22fa70714b70349c8100e7308488e26f1eaf1"
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
new file mode 100644
index 000000000..e76120c5b
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
@@ -0,0 +1,18 @@
+require linux-libc-headers.inc
+
+SRC_URI_append_libc-musl = "\
+ file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
+ file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \
+ file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
+ file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
+ file://0001-if_ether-move-muslc-ethhdr-protection-to-uapi-file.patch \
+ file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \
+ "
+
+SRC_URI_append = "\
+ file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
+ file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
+"
+
+SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0"
+SRC_URI[sha256sum] = "437b141a6499159f5a7282d5eb4b2be055f8e862ccce44d7464e8759c31a2e43"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index 361ad21e1..69a8eaef8 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -32,7 +32,7 @@ B = "${STAGING_KERNEL_BUILDDIR}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-KERNEL_BUILD_ROOT="/lib/modules/"
+KERNEL_BUILD_ROOT="${nonarch_base_libdir}/modules/"
do_install() {
kerneldir=${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}
@@ -48,7 +48,7 @@ do_install() {
mkdir -p ${D}/usr/src
(
cd ${D}/usr/src
- ln -s ${KERNEL_BUILD_ROOT}${KERNEL_VERSION}/source kernel
+ lnr ${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}/source kernel
)
# for on target purposes, we unify build and source
@@ -150,6 +150,13 @@ do_install() {
cp -a --parents arch/arm64/kernel/module.lds $kerneldir/build/
fi
+ if [ "${ARCH}" = "powerpc" ]; then
+ # 5.0 needs these files, but don't error if they aren't present in the source
+ cp -a --parents arch/${ARCH}/kernel/syscalls/syscall.tbl $kerneldir/build/ 2>/dev/null || :
+ cp -a --parents arch/${ARCH}/kernel/syscalls/syscalltbl.sh $kerneldir/build/ 2>/dev/null || :
+ cp -a --parents arch/${ARCH}/kernel/syscalls/syscallhdr.sh $kerneldir/build/ 2>/dev/null || :
+ fi
+
# include the machine specific headers for ARM variants, if available.
if [ "${ARCH}" = "arm" ]; then
cp -a --parents arch/${ARCH}/mach-*/include $kerneldir/build/
@@ -157,7 +164,12 @@ do_install() {
# include a few files for 'make prepare'
cp -a --parents arch/arm/tools/gen-mach-types $kerneldir/build/
cp -a --parents arch/arm/tools/mach-types $kerneldir/build/
- cp -a --parents arch/arm/tools/syscall* $kerneldir/build/
+
+ # ARM syscall table tools only exist for kernels v4.10 or later
+ SYSCALL_TOOLS=$(find arch/arm/tools -name "syscall*")
+ if [ -n "$SYSCALL_TOOLS" ] ; then
+ cp -a --parents $SYSCALL_TOOLS $kerneldir/build/
+ fi
cp -a --parents arch/arm/kernel/module.lds $kerneldir/build/
fi
@@ -209,6 +221,9 @@ do_install() {
cp -a --parents kernel/time/timeconst.bc $kerneldir/build
cp -a --parents kernel/bounds.c $kerneldir/build
cp -a --parents Kbuild $kerneldir/build
+ cp -a --parents arch/mips/kernel/syscalls/*.sh $kerneldir/build 2>/dev/null || :
+ cp -a --parents arch/mips/kernel/syscalls/*.tbl $kerneldir/build 2>/dev/null || :
+ cp -a --parents arch/mips/tools/elf-entry.c $kerneldir/build 2>/dev/null || :
fi
# required to build scripts/selinux/genheaders/genheaders
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 23cb355b5..ae8c34300 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
-LINUX_VERSION ?= "4.19-rc+"
+LINUX_VERSION ?= "5.0-rc+"
LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.14.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.14.bb
deleted file mode 100644
index 4189fc8d1..000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.14.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-KBRANCH ?= "v4.14/standard/preempt-rt/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-# Skip processing of this recipe if it is not explicitly specified as the
-# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
-# to build multiple virtual/kernel providers, e.g. as dependency of
-# core-image-rt-sdk, core-image-rt.
-python () {
- if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
- raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
-}
-
-SRCREV_machine ?= "82ac7b2b8048b537481bf16b8acda1cc9bfe9565"
-SRCREV_meta ?= "6a3254e7b370cbb86c1f73379dcf38885c1c69e0"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.14;destsuffix=${KMETA}"
-
-LINUX_VERSION ?= "4.14.79"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "2"
-
-LINUX_KERNEL_TYPE = "preempt-rt"
-
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuppc|qemumips)"
-
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
-
-# Functionality flags
-KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
new file mode 100644
index 000000000..7f1640d43
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
@@ -0,0 +1,43 @@
+KBRANCH ?= "v4.19/standard/preempt-rt/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# Skip processing of this recipe if it is not explicitly specified as the
+# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
+# to build multiple virtual/kernel providers, e.g. as dependency of
+# core-image-rt-sdk, core-image-rt.
+python () {
+ if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
+ raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
+}
+
+SRCREV_machine ?= "2c6e44e476bd297d65d5cb1b5f5538d303fc05a0"
+SRCREV_meta ?= "d85f07e03c980eca5ffd5ba058985d6ed3a83801"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
+
+LINUX_VERSION ?= "4.19.30"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+LINUX_KERNEL_TYPE = "preempt-rt"
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
+
+KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
+KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
new file mode 100644
index 000000000..65c369849
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
@@ -0,0 +1,43 @@
+KBRANCH ?= "v5.0/standard/preempt-rt/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# Skip processing of this recipe if it is not explicitly specified as the
+# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
+# to build multiple virtual/kernel providers, e.g. as dependency of
+# core-image-rt-sdk, core-image-rt.
+python () {
+ if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
+ raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
+}
+
+SRCREV_machine ?= "06e1ff79ea9efef052404ee1989cae038b28e954"
+SRCREV_meta ?= "705457837e7ddd27e4e2ecf6d3dbd255b1aaf848"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
+
+LINUX_VERSION ?= "5.0.3"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+LINUX_KERNEL_TYPE = "preempt-rt"
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
+
+KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
+KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.14.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.14.bb
deleted file mode 100644
index 71f5c4716..000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.14.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-KBRANCH ?= "v4.14/standard/tiny/base"
-LINUX_KERNEL_TYPE = "tiny"
-KCONFIG_MODE = "--allnoconfig"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-LINUX_VERSION ?= "4.14.79"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "2"
-
-SRCREV_machine ?= "6ce17eae5d962b30846a5258956246438d68d60a"
-SRCREV_meta ?= "6a3254e7b370cbb86c1f73379dcf38885c1c69e0"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.14;destsuffix=${KMETA}"
-
-COMPATIBLE_MACHINE = "qemux86|qemux86-64"
-
-# Functionality flags
-KERNEL_FEATURES = ""
-
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
new file mode 100644
index 000000000..8e132caae
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
@@ -0,0 +1,32 @@
+KBRANCH ?= "v4.19/standard/tiny/base"
+KBRANCH_qemuarm ?= "v4.19/standard/tiny/arm-versatile-926ejs"
+
+LINUX_KERNEL_TYPE = "tiny"
+KCONFIG_MODE = "--allnoconfig"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+LINUX_VERSION ?= "4.19.30"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+SRCREV_machine_qemuarm ?= "03eb6106990498e86298646c682fce9fc61f2131"
+SRCREV_machine ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
+SRCREV_meta ?= "d85f07e03c980eca5ffd5ba058985d6ed3a83801"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
+
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
+
+# Functionality flags
+KERNEL_FEATURES = ""
+
+KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
new file mode 100644
index 000000000..dc60548c6
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
@@ -0,0 +1,32 @@
+KBRANCH ?= "v5.0/standard/tiny/base"
+KBRANCH_qemuarm ?= "v5.0/standard/tiny/arm-versatile-926ejs"
+
+LINUX_KERNEL_TYPE = "tiny"
+KCONFIG_MODE = "--allnoconfig"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+LINUX_VERSION ?= "5.0.3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+SRCREV_machine_qemuarm ?= "b0477279877bb2b5cca6ec49c64e931901ff2022"
+SRCREV_machine ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_meta ?= "705457837e7ddd27e4e2ecf6d3dbd255b1aaf848"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
+
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
+
+# Functionality flags
+KERNEL_FEATURES = ""
+
+KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto.inc b/poky/meta/recipes-kernel/linux/linux-yocto.inc
index 1ebfb606d..f191946f2 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/poky/meta/recipes-kernel/linux/linux-yocto.inc
@@ -26,6 +26,10 @@ DEPENDS_append_nios2 = " libgcc"
KERNEL_CC_append_nios2 = " ${TOOLCHAIN_OPTIONS}"
KERNEL_LD_append_nios2 = " ${TOOLCHAIN_OPTIONS}"
+DEPENDS_append_arc = " libgcc"
+KERNEL_CC_append_arc = " ${TOOLCHAIN_OPTIONS}"
+KERNEL_LD_append_arc = " ${TOOLCHAIN_OPTIONS}"
+
KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc"
KERNEL_FEATURES_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.14.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.14.bb
deleted file mode 100644
index 65b244409..000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto_4.14.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-KBRANCH ?= "v4.14/standard/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-# board specific branches
-KBRANCH_qemuarm ?= "v4.14/standard/arm-versatile-926ejs"
-KBRANCH_qemuarm64 ?= "v4.14/standard/qemuarm64"
-KBRANCH_qemumips ?= "v4.14/standard/mti-malta32"
-KBRANCH_qemuppc ?= "v4.14/standard/qemuppc"
-KBRANCH_qemux86 ?= "v4.14/standard/base"
-KBRANCH_qemux86-64 ?= "v4.14/standard/base"
-KBRANCH_qemumips64 ?= "v4.14/standard/mti-malta64"
-
-SRCREV_machine_qemuarm ?= "8752b8421efe8b5a478f17fbffacf4af974ec703"
-SRCREV_machine_qemuarm64 ?= "ac66474ba7f7e93d16ae3ea005f214113bb127c5"
-SRCREV_machine_qemumips ?= "ab031b267e2a79fcd48da5d10d503f4d065f4821"
-SRCREV_machine_qemuppc ?= "f47c3945e8dd230ea37771bcacc836245fc79d22"
-SRCREV_machine_qemux86 ?= "f1d93b219bde37a8a286cd18d6af2dcf0d02c1a8"
-SRCREV_machine_qemux86-64 ?= "f1d93b219bde37a8a286cd18d6af2dcf0d02c1a8"
-SRCREV_machine_qemumips64 ?= "8063a7258fc670a361fed85b858fabb237485f1c"
-SRCREV_machine ?= "f1d93b219bde37a8a286cd18d6af2dcf0d02c1a8"
-SRCREV_meta ?= "6a3254e7b370cbb86c1f73379dcf38885c1c69e0"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.14;destsuffix=${KMETA}"
-
-LINUX_VERSION ?= "4.14.79"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "2"
-
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
-
-COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
-
-# Functionality flags
-KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
new file mode 100644
index 000000000..0217daa24
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
@@ -0,0 +1,49 @@
+KBRANCH ?= "v4.19/standard/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# board specific branches
+KBRANCH_qemuarm ?= "v4.19/standard/arm-versatile-926ejs"
+KBRANCH_qemuarm64 ?= "v4.19/standard/qemuarm64"
+KBRANCH_qemumips ?= "v4.19/standard/mti-malta32"
+KBRANCH_qemuppc ?= "v4.19/standard/qemuppc"
+KBRANCH_qemux86 ?= "v4.19/standard/base"
+KBRANCH_qemux86-64 ?= "v4.19/standard/base"
+KBRANCH_qemumips64 ?= "v4.19/standard/mti-malta64"
+
+SRCREV_machine_qemuarm ?= "3df49db2ea9b8e800cb30d5d695d4d2a2f8c1bed"
+SRCREV_machine_qemuarm64 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
+SRCREV_machine_qemumips ?= "5dc975d0e586edd5d33bce62560f998f9a246be6"
+SRCREV_machine_qemuppc ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
+SRCREV_machine_qemux86 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
+SRCREV_machine_qemux86-64 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
+SRCREV_machine_qemumips64 ?= "bb7ae8a8cbe76c9ce2804f651936f059f9f621a2"
+SRCREV_machine ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
+SRCREV_meta ?= "d85f07e03c980eca5ffd5ba058985d6ed3a83801"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
+ "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+LINUX_VERSION ?= "4.19.30"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
+KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
new file mode 100644
index 000000000..be5dbaedc
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
@@ -0,0 +1,51 @@
+KBRANCH ?= "v5.0/standard/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# board specific branches
+KBRANCH_qemuarm ?= "v5.0/standard/arm-versatile-926ejs"
+KBRANCH_qemuarm64 ?= "v5.0/standard/qemuarm64"
+KBRANCH_qemumips ?= "v5.0/standard/mti-malta32"
+KBRANCH_qemuppc ?= "v5.0/standard/qemuppc"
+KBRANCH_qemux86 ?= "v5.0/standard/base"
+KBRANCH_qemux86-64 ?= "v5.0/standard/base"
+KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64"
+
+SRCREV_machine_qemuarm ?= "18a5ffa0e90184c8503ff1df45e4e5e501b1bab3"
+SRCREV_machine_qemuarm64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_machine_qemumips ?= "c4d3cd6437329407e2cc7e3e4615769452d426b1"
+SRCREV_machine_qemuppc ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_machine_qemux86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_machine_qemux86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_machine_qemumips64 ?= "2468c20c15477ebe5ecd73c0e0162d7432149318"
+SRCREV_machine ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
+SRCREV_meta ?= "705457837e7ddd27e4e2ecf6d3dbd255b1aaf848"
+
+# remap qemuarm to qemuarma15 for the 5.0 kernel
+# KMACHINE_qemuarm ?= "qemuarma15"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
+ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+LINUX_VERSION ?= "5.0.3"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
+KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-btrfs-Remove-unnecessary-fs_info-parameter.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-btrfs-Remove-unnecessary-fs_info-parameter.patch
deleted file mode 100644
index 0fe4ee829..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-btrfs-Remove-unnecessary-fs_info-parameter.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 51ab0b1da29354375a19f865abcd233dd2178295 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 18 Jun 2018 14:53:19 -0400
-Subject: [PATCH] Fix: btrfs: Remove unnecessary fs_info parameter
-
-See upstream commit:
-
- commit 3dca5c942dac60164e6a6e89172f25b86af07ce7
- Author: Qu Wenruo <wqu@suse.com>
- Date: Thu Apr 26 14:24:25 2018 +0800
-
- btrfs: trace: Remove unnecessary fs_info parameter for btrfs__reserve_extent event class
-
- fs_info can be extracted from btrfs_block_group_cache, and all
- btrfs_block_group_cache is created by btrfs_create_block_group_cache()
- with fs_info initialized, no need to worry about NULL pointer
- dereference.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Upstream-Status: Backport
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- instrumentation/events/lttng-module/btrfs.h | 54 ++++++++++++++++++++++++++++-
- 1 file changed, 53 insertions(+), 1 deletion(-)
-
-diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
-index 75cc73b..fd1b6b8 100644
---- a/instrumentation/events/lttng-module/btrfs.h
-+++ b/instrumentation/events/lttng-module/btrfs.h
-@@ -1658,8 +1658,57 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_f
-
- #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
-+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
-+
-+ btrfs_find_free_extent,
-+
-+ TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
-+ u64 data),
-+
-+ TP_ARGS(info, num_bytes, empty_size, data),
-+
-+ TP_FIELDS(
-+ ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+ ctf_integer(u64, num_bytes, num_bytes)
-+ ctf_integer(u64, empty_size, empty_size)
-+ ctf_integer(u64, data, data)
-+ )
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
-+
-+ TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
-+ u64 len),
-+
-+ TP_ARGS(block_group, start, len),
-+
-+ TP_FIELDS(
-+ ctf_array(u8, fsid, block_group->fs_info->fsid, BTRFS_UUID_SIZE)
-+ ctf_integer(u64, bg_objectid, block_group->key.objectid)
-+ ctf_integer(u64, flags, block_group->flags)
-+ ctf_integer(u64, start, start)
-+ ctf_integer(u64, len, len)
-+ )
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
-+
-+ TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
-+ u64 len),
-+
-+ TP_ARGS(block_group, start, len)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
-+
-+ TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
-+ u64 len),
-+
-+ TP_ARGS(block_group, start, len)
-+)
-
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
- LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
-
- btrfs_find_free_extent,
-@@ -1670,6 +1719,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- TP_ARGS(info, num_bytes, empty_size, data),
-
- TP_FIELDS(
-+ ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
- ctf_integer(u64, num_bytes, num_bytes)
- ctf_integer(u64, empty_size, empty_size)
- ctf_integer(u64, data, data)
-@@ -1685,6 +1735,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- TP_ARGS(info, block_group, start, len),
-
- TP_FIELDS(
-+ ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
- ctf_integer(u64, bg_objectid, block_group->key.objectid)
- ctf_integer(u64, flags, block_group->flags)
- ctf_integer(u64, start, start)
-@@ -1722,6 +1773,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- TP_ARGS(info, num_bytes, empty_size, data),
-
- TP_FIELDS(
-+ ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
- ctf_integer(u64, num_bytes, num_bytes)
- ctf_integer(u64, empty_size, empty_size)
- ctf_integer(u64, data, data)
---
-2.13.3
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch
new file mode 100644
index 000000000..351184dab
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch
@@ -0,0 +1,133 @@
+From 0a0d736ec89dffdbc83e7181166a99d5563acfe8 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Mon, 5 Nov 2018 11:35:52 -0500
+Subject: [PATCH 1/9] Fix: signal: Distinguish between kernel_siginfo and
+ siginfo (v4.20)
+
+See upstream commit :
+
+ commit ae7795bc6187a15ec51cf258abae656a625f9980
+ Author: Eric W. Biederman <ebiederm@xmission.com>
+ Date: Tue Sep 25 11:27:20 2018 +0200
+
+ signal: Distinguish between kernel_siginfo and siginfo
+
+ Linus recently observed that if we did not worry about the padding
+ member in struct siginfo it is only about 48 bytes, and 48 bytes is
+ much nicer than 128 bytes for allocating on the stack and copying
+ around in the kernel.
+
+ The obvious thing of only adding the padding when userspace is
+ including siginfo.h won't work as there are sigframe definitions in
+ the kernel that embed struct siginfo.
+
+ So split siginfo in two; kernel_siginfo and siginfo. Keeping the
+ traditional name for the userspace definition. While the version that
+ is used internally to the kernel and ultimately will not be padded to
+ 128 bytes is called kernel_siginfo.
+
+ The definition of struct kernel_siginfo I have put in include/signal_types.h
+
+ A set of buildtime checks has been added to verify the two structures have
+ the same field offsets.
+
+ To make it easy to verify the change kernel_siginfo retains the same
+ size as siginfo. The reduction in size comes in a following change.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/0a0d736ec89dffdbc83e7181166a99d5563acfe8
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ instrumentation/events/lttng-module/signal.h | 41 ++++++++++++++++++--
+ 1 file changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/instrumentation/events/lttng-module/signal.h b/instrumentation/events/lttng-module/signal.h
+index b3c9126..8783b52 100644
+--- a/instrumentation/events/lttng-module/signal.h
++++ b/instrumentation/events/lttng-module/signal.h
+@@ -35,21 +35,24 @@
+ * SEND_SIG_NOINFO means that si_code is SI_USER, and SEND_SIG_PRIV
+ * means that si_code is SI_KERNEL.
+ */
+-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
+ LTTNG_TRACEPOINT_EVENT(signal_generate,
+
+- TP_PROTO(int sig, struct siginfo *info, struct task_struct *task),
++ TP_PROTO(int sig, struct kernel_siginfo *info, struct task_struct *task,
++ int group, int result),
+
+- TP_ARGS(sig, info, task),
++ TP_ARGS(sig, info, task, group, result),
+
+ TP_FIELDS(
+ ctf_integer(int, sig, sig)
+ LTTNG_FIELDS_SIGINFO(info)
+ ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
+ ctf_integer(pid_t, pid, task->pid)
++ ctf_integer(int, group, group)
++ ctf_integer(int, result, result)
+ )
+ )
+-#else
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+ LTTNG_TRACEPOINT_EVENT(signal_generate,
+
+ TP_PROTO(int sig, struct siginfo *info, struct task_struct *task,
+@@ -66,6 +69,20 @@ LTTNG_TRACEPOINT_EVENT(signal_generate,
+ ctf_integer(int, result, result)
+ )
+ )
++#else
++LTTNG_TRACEPOINT_EVENT(signal_generate,
++
++ TP_PROTO(int sig, struct siginfo *info, struct task_struct *task),
++
++ TP_ARGS(sig, info, task),
++
++ TP_FIELDS(
++ ctf_integer(int, sig, sig)
++ LTTNG_FIELDS_SIGINFO(info)
++ ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
++ ctf_integer(pid_t, pid, task->pid)
++ )
++)
+ #endif
+
+ /**
+@@ -82,6 +99,21 @@ LTTNG_TRACEPOINT_EVENT(signal_generate,
+ * This means, this can show which signals are actually delivered, but
+ * matching generated signals and delivered signals may not be correct.
+ */
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
++LTTNG_TRACEPOINT_EVENT(signal_deliver,
++
++ TP_PROTO(int sig, struct kernel_siginfo *info, struct k_sigaction *ka),
++
++ TP_ARGS(sig, info, ka),
++
++ TP_FIELDS(
++ ctf_integer(int, sig, sig)
++ LTTNG_FIELDS_SIGINFO(info)
++ ctf_integer(unsigned long, sa_handler, (unsigned long) ka->sa.sa_handler)
++ ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags)
++ )
++)
++#else
+ LTTNG_TRACEPOINT_EVENT(signal_deliver,
+
+ TP_PROTO(int sig, struct siginfo *info, struct k_sigaction *ka),
+@@ -95,6 +127,7 @@ LTTNG_TRACEPOINT_EVENT(signal_deliver,
+ ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags)
+ )
+ )
++#endif
+
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
+ LTTNG_TRACEPOINT_EVENT_CLASS(signal_queue_overflow,
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch
new file mode 100644
index 000000000..905b68165
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch
@@ -0,0 +1,67 @@
+From 26bc064a4d4c85e6000393aadb38659f99b59162 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Mon, 5 Nov 2018 11:35:53 -0500
+Subject: [PATCH 2/9] Fix: signal: Remove SEND_SIG_FORCED (v4.20)
+
+See upstream commit :
+
+ commit 4ff4c31a6e85f4c49fbeebeaa28018d002884b5a
+ Author: Eric W. Biederman <ebiederm@xmission.com>
+ Date: Mon Sep 3 10:39:04 2018 +0200
+
+ signal: Remove SEND_SIG_FORCED
+
+ There are no more users of SEND_SIG_FORCED so it may be safely removed.
+
+ Remove the definition of SEND_SIG_FORCED, it's use in is_si_special,
+ it's use in TP_STORE_SIGINFO, and it's use in __send_signal as without
+ any users the uses of SEND_SIG_FORCED are now unncessary.
+
+ This makes the code simpler, easier to understand and use. Users of
+ signal sending functions now no longer need to ask themselves do I
+ need to use SEND_SIG_FORCED.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/26bc064a4d4c85e6000393aadb38659f99b59162
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+
+---
+ instrumentation/events/lttng-module/signal.h | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/instrumentation/events/lttng-module/signal.h b/instrumentation/events/lttng-module/signal.h
+index 8783b52..ad8fe69 100644
+--- a/instrumentation/events/lttng-module/signal.h
++++ b/instrumentation/events/lttng-module/signal.h
+@@ -12,6 +12,17 @@
+ #include <linux/signal.h>
+ #include <linux/sched.h>
+ #undef LTTNG_FIELDS_SIGINFO
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
++#define LTTNG_FIELDS_SIGINFO(info) \
++ ctf_integer(int, errno, \
++ (info == SEND_SIG_NOINFO || info == SEND_SIG_PRIV) ? \
++ 0 : \
++ info->si_errno) \
++ ctf_integer(int, code, \
++ (info == SEND_SIG_NOINFO) ? \
++ SI_USER : \
++ ((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code))
++#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */
+ #define LTTNG_FIELDS_SIGINFO(info) \
+ ctf_integer(int, errno, \
+ (info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED || info == SEND_SIG_PRIV) ? \
+@@ -21,6 +32,7 @@
+ (info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED) ? \
+ SI_USER : \
+ ((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code))
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */
+ #endif /* _TRACE_SIGNAL_DEF */
+
+ /**
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch
new file mode 100644
index 000000000..7edffee54
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch
@@ -0,0 +1,149 @@
+From cb9f1a821bcf55cecf3813195fd6d4eff8070927 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Mon, 5 Nov 2018 11:35:54 -0500
+Subject: [PATCH 3/9] Fix: ext4: adjust reserved cluster count when removing
+ extents (v4.20)
+
+See upstream commit :
+
+ commit 9fe671496b6c286f9033aedfc1718d67721da0ae
+ Author: Eric Whitney <enwlinux@gmail.com>
+ Date: Mon Oct 1 14:25:08 2018 -0400
+
+ ext4: adjust reserved cluster count when removing extents
+
+ Modify ext4_ext_remove_space() and the code it calls to correct the
+ reserved cluster count for pending reservations (delayed allocated
+ clusters shared with allocated blocks) when a block range is removed
+ from the extent tree. Pending reservations may be found for the clusters
+ at the ends of written or unwritten extents when a block range is removed.
+ If a physical cluster at the end of an extent is freed, it's necessary
+ to increment the reserved cluster count to maintain correct accounting
+ if the corresponding logical cluster is shared with at least one
+ delayed and unwritten extent as found in the extents status tree.
+
+ Add a new function, ext4_rereserve_cluster(), to reapply a reservation
+ on a delayed allocated cluster sharing blocks with a freed allocated
+ cluster. To avoid ENOSPC on reservation, a flag is applied to
+ ext4_free_blocks() to briefly defer updating the freeclusters counter
+ when an allocated cluster is freed. This prevents another thread
+ from allocating the freed block before the reservation can be reapplied.
+
+ Redefine the partial cluster object as a struct to carry more state
+ information and to clarify the code using it.
+
+ Adjust the conditional code structure in ext4_ext_remove_space to
+ reduce the indentation level in the main body of the code to improve
+ readability.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/cb9f1a821bcf55cecf3813195fd6d4eff8070927
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+
+---
+ instrumentation/events/lttng-module/ext4.h | 72 +++++++++++++++++++++-
+ 1 file changed, 69 insertions(+), 3 deletions(-)
+
+diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
+index fe6f802..83a80ba 100644
+--- a/instrumentation/events/lttng-module/ext4.h
++++ b/instrumentation/events/lttng-module/ext4.h
+@@ -1602,7 +1602,30 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_show_extent,
+ )
+ )
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
++
++LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
++ TP_PROTO(struct inode *inode, struct ext4_extent *ex,
++ ext4_lblk_t from, ext4_fsblk_t to,
++ struct partial_cluster *pc),
++
++ TP_ARGS(inode, ex, from, to, pc),
++
++ TP_FIELDS(
++ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
++ ctf_integer(ino_t, ino, inode->i_ino)
++ ctf_integer(ext4_lblk_t, from, from)
++ ctf_integer(ext4_lblk_t, to, to)
++ ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
++ ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
++ ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex))
++ ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
++ ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
++ ctf_integer(int, pc_state, pc->state)
++ )
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
+
+ LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
+ TP_PROTO(struct inode *inode, struct ext4_extent *ex,
+@@ -1646,7 +1669,29 @@ LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
+
+ #endif
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
++
++LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
++ TP_PROTO(struct inode *inode, ext4_lblk_t start,
++ struct ext4_extent *ex,
++ struct partial_cluster *pc),
++
++ TP_ARGS(inode, start, ex, pc),
++
++ TP_FIELDS(
++ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
++ ctf_integer(ino_t, ino, inode->i_ino)
++ ctf_integer(ext4_lblk_t, start, start)
++ ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
++ ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
++ ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex))
++ ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
++ ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
++ ctf_integer(int, pc_state, pc->state)
++ )
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
+
+ LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
+ TP_PROTO(struct inode *inode, ext4_lblk_t start,
+@@ -1733,7 +1778,28 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space,
+
+ #endif
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
++
++LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
++ TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
++ int depth, struct partial_cluster *pc, __le16 eh_entries),
++
++ TP_ARGS(inode, start, end, depth, pc, eh_entries),
++
++ TP_FIELDS(
++ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
++ ctf_integer(ino_t, ino, inode->i_ino)
++ ctf_integer(ext4_lblk_t, start, start)
++ ctf_integer(ext4_lblk_t, end, end)
++ ctf_integer(int, depth, depth)
++ ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries))
++ ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
++ ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
++ ctf_integer(int, pc_state, pc->state)
++ )
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
+
+ LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
+ TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch
new file mode 100644
index 000000000..b5d50dba1
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch
@@ -0,0 +1,32 @@
+From 4eaeb54a27fbf701c2a4908a6e90a978b93deb06 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Thu, 6 Dec 2018 11:31:51 -0500
+Subject: [PATCH 4/9] Fix: timer instrumentation for RHEL 7.6
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/4eaeb54a27fbf701c2a4908a6e90a978b93deb06
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ instrumentation/events/lttng-module/timer.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/instrumentation/events/lttng-module/timer.h b/instrumentation/events/lttng-module/timer.h
+index 6f0cb7f..8807ad5 100644
+--- a/instrumentation/events/lttng-module/timer.h
++++ b/instrumentation/events/lttng-module/timer.h
+@@ -44,7 +44,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
+ TP_ARGS(timer)
+ )
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0) || \
++ LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0))
+ /**
+ * timer_start - called when the timer is started
+ * @timer: pointer to struct timer_list
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch
new file mode 100644
index 000000000..2266bbd9e
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch
@@ -0,0 +1,204 @@
+From 0039dbe9891cfdf2c0d04691f83c2f342993dfd7 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Wed, 9 Jan 2019 14:59:15 -0500
+Subject: [PATCH 5/9] Fix: Remove 'type' argument from access_ok() function
+ (v5.0)
+
+See upstream commit :
+
+ commit 96d4f267e40f9509e8a66e2b39e8b95655617693
+ Author: Linus Torvalds <torvalds@linux-foundation.org>
+ Date: Thu Jan 3 18:57:57 2019 -0800
+
+ Remove 'type' argument from access_ok() function
+
+ Nobody has actually used the type (VERIFY_READ vs VERIFY_WRITE) argument
+ of the user address range verification function since we got rid of the
+ old racy i386-only code to walk page tables by hand.
+
+ It existed because the original 80386 would not honor the write protect
+ bit when in kernel mode, so you had to do COW by hand before doing any
+ user access. But we haven't supported that in a long time, and these
+ days the 'type' argument is a purely historical artifact.
+
+ A discussion about extending 'user_access_begin()' to do the range
+ checking resulted this patch, because there is no way we're going to
+ move the old VERIFY_xyz interface to that model. And it's best done at
+ the end of the merge window when I've done most of my merges, so let's
+ just get this done once and for all.
+
+ This patch was mostly done with a sed-script, with manual fix-ups for
+ the cases that weren't of the trivial 'access_ok(VERIFY_xyz' form.
+
+ There were a couple of notable cases:
+
+ - csky still had the old "verify_area()" name as an alias.
+
+ - the iter_iov code had magical hardcoded knowledge of the actual
+ values of VERIFY_{READ,WRITE} (not that they mattered, since nothing
+ really used it)
+
+ - microblaze used the type argument for a debug printout
+
+ but other than those oddities this should be a total no-op patch.
+
+ I tried to fix up all architectures, did fairly extensive grepping for
+ access_ok() uses, and the changes are trivial, but I may have missed
+ something. Any missed conversion should be trivially fixable, though.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/0039dbe9891cfdf2c0d04691f83c2f342993dfd7
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ lib/ringbuffer/backend.h | 8 ++++----
+ lib/ringbuffer/ring_buffer_iterator.c | 3 ++-
+ lttng-filter-interpreter.c | 4 ++--
+ probes/lttng-probe-user.c | 3 ++-
+ wrapper/uaccess.h | 28 +++++++++++++++++++++++++++
+ 5 files changed, 38 insertions(+), 8 deletions(-)
+ create mode 100644 wrapper/uaccess.h
+
+diff --git a/lib/ringbuffer/backend.h b/lib/ringbuffer/backend.h
+index 0b75de8..3f8c108 100644
+--- a/lib/ringbuffer/backend.h
++++ b/lib/ringbuffer/backend.h
+@@ -34,7 +34,7 @@
+ #include <linux/list.h>
+ #include <linux/fs.h>
+ #include <linux/mm.h>
+-#include <linux/uaccess.h>
++#include <wrapper/uaccess.h>
+
+ /* Internal helpers */
+ #include <wrapper/ringbuffer/backend_internal.h>
+@@ -302,7 +302,7 @@ void lib_ring_buffer_copy_from_user_inatomic(const struct lib_ring_buffer_config
+
+ set_fs(KERNEL_DS);
+ pagefault_disable();
+- if (unlikely(!access_ok(VERIFY_READ, src, len)))
++ if (unlikely(!lttng_access_ok(VERIFY_READ, src, len)))
+ goto fill_buffer;
+
+ if (likely(pagecpy == len)) {
+@@ -372,7 +372,7 @@ void lib_ring_buffer_strcpy_from_user_inatomic(const struct lib_ring_buffer_conf
+
+ set_fs(KERNEL_DS);
+ pagefault_disable();
+- if (unlikely(!access_ok(VERIFY_READ, src, len)))
++ if (unlikely(!lttng_access_ok(VERIFY_READ, src, len)))
+ goto fill_buffer;
+
+ if (likely(pagecpy == len)) {
+@@ -462,7 +462,7 @@ unsigned long lib_ring_buffer_copy_from_user_check_nofault(void *dest,
+ unsigned long ret;
+ mm_segment_t old_fs;
+
+- if (!access_ok(VERIFY_READ, src, len))
++ if (!lttng_access_ok(VERIFY_READ, src, len))
+ return 1;
+ old_fs = get_fs();
+ set_fs(KERNEL_DS);
+diff --git a/lib/ringbuffer/ring_buffer_iterator.c b/lib/ringbuffer/ring_buffer_iterator.c
+index 61eaa5b..9645946 100644
+--- a/lib/ringbuffer/ring_buffer_iterator.c
++++ b/lib/ringbuffer/ring_buffer_iterator.c
+@@ -27,6 +27,7 @@
+
+ #include <wrapper/ringbuffer/iterator.h>
+ #include <wrapper/file.h>
++#include <wrapper/uaccess.h>
+ #include <linux/jiffies.h>
+ #include <linux/delay.h>
+ #include <linux/module.h>
+@@ -621,7 +622,7 @@ ssize_t channel_ring_buffer_file_read(struct file *filp,
+ ssize_t len;
+
+ might_sleep();
+- if (!access_ok(VERIFY_WRITE, user_buf, count))
++ if (!lttng_access_ok(VERIFY_WRITE, user_buf, count))
+ return -EFAULT;
+
+ /* Finish copy of previous record */
+diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c
+index e131462..bee2918 100644
+--- a/lttng-filter-interpreter.c
++++ b/lttng-filter-interpreter.c
+@@ -24,7 +24,7 @@
+ * SOFTWARE.
+ */
+
+-#include <linux/uaccess.h>
++#include <wrapper/uaccess.h>
+ #include <wrapper/frame.h>
+ #include <wrapper/types.h>
+
+@@ -46,7 +46,7 @@ char get_char(struct estack_entry *reg, size_t offset)
+ char c;
+
+ /* Handle invalid access as end of string. */
+- if (unlikely(!access_ok(VERIFY_READ,
++ if (unlikely(!lttng_access_ok(VERIFY_READ,
+ reg->u.s.user_str + offset,
+ sizeof(c))))
+ return '\0';
+diff --git a/probes/lttng-probe-user.c b/probes/lttng-probe-user.c
+index 099a66b..ed566dd 100644
+--- a/probes/lttng-probe-user.c
++++ b/probes/lttng-probe-user.c
+@@ -20,6 +20,7 @@
+
+ #include <linux/uaccess.h>
+ #include <linux/module.h>
++#include <wrapper/uaccess.h>
+ #include <probes/lttng-probe-user.h>
+
+ /*
+@@ -43,7 +44,7 @@ long lttng_strlen_user_inatomic(const char *addr)
+ char v;
+ unsigned long ret;
+
+- if (unlikely(!access_ok(VERIFY_READ,
++ if (unlikely(!lttng_access_ok(VERIFY_READ,
+ (__force const char __user *) addr,
+ sizeof(v))))
+ break;
+diff --git a/wrapper/uaccess.h b/wrapper/uaccess.h
+new file mode 100644
+index 0000000..c56427c
+--- /dev/null
++++ b/wrapper/uaccess.h
+@@ -0,0 +1,28 @@
++/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
++ *
++ * wrapper/uaccess.h
++ *
++ * wrapper around linux/uaccess.h.
++ *
++ * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
++ */
++
++#ifndef _LTTNG_WRAPPER_UACCESS_H
++#define _LTTNG_WRAPPER_UACCESS_H
++
++#include <linux/uaccess.h>
++#include <lttng-kernel-version.h>
++
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
++
++#define VERIFY_READ 0
++#define VERIFY_WRITE 1
++#define lttng_access_ok(type, addr, size) access_ok(addr, size)
++
++#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0) */
++
++#define lttng_access_ok(type, addr, size) access_ok(type, addr, size)
++
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0) */
++
++#endif /* _LTTNG_WRAPPER_UACCESS_H */
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch
new file mode 100644
index 000000000..089486f51
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch
@@ -0,0 +1,186 @@
+From 89f0be35e1baf411df6852014013ac64ad1bbcf8 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Wed, 9 Jan 2019 14:59:16 -0500
+Subject: [PATCH 6/9] Fix: Replace pointer values with task->tk_pid and
+ rpc_clnt->cl_clid
+
+Introduced in v3.12.
+
+See upstream commit :
+
+ commit 92cb6c5be8134db6f7c38f25f6afd13e444cebaf
+ Author: Trond Myklebust <Trond.Myklebust@netapp.com>
+ Date: Wed Sep 4 22:09:50 2013 -0400
+
+ SUNRPC: Replace pointer values with task->tk_pid and rpc_clnt->cl_clid
+
+ Instead of the pointer values, use the task and client identifier values
+ for tracing purposes.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/89f0be35e1baf411df6852014013ac64ad1bbcf8
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ instrumentation/events/lttng-module/rpc.h | 108 ++++++++++++++++++++--
+ 1 file changed, 102 insertions(+), 6 deletions(-)
+
+diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h
+index b9e45fe..a4ac557 100644
+--- a/instrumentation/events/lttng-module/rpc.h
++++ b/instrumentation/events/lttng-module/rpc.h
+@@ -8,6 +8,20 @@
+ #include <linux/sunrpc/sched.h>
+ #include <linux/sunrpc/clnt.h>
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
++LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
++
++ TP_PROTO(struct rpc_task *task),
++
++ TP_ARGS(task),
++
++ TP_FIELDS(
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
++ ctf_integer(int, status, task->tk_status)
++ )
++)
++#else
+ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
+
+ TP_PROTO(struct rpc_task *task),
+@@ -20,6 +34,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
+ ctf_integer(int, status, task->tk_status)
+ )
+ )
++#endif
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
+ TP_PROTO(struct rpc_task *task),
+@@ -40,8 +55,8 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
+ TP_ARGS(task),
+
+ TP_FIELDS(
+- ctf_integer_hex(const struct rpc_task *, task, task)
+- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+ ctf_integer(int, status, task->tk_status)
+ )
+ )
+@@ -53,8 +68,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
+ TP_ARGS(task, action),
+
+ TP_FIELDS(
+- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
+- ctf_integer_hex(const struct rpc_task *, task, task)
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+ ctf_integer_hex(const void *, action, action)
+ ctf_integer(unsigned long, runstate, task->tk_runstate)
+ ctf_integer(int, status, task->tk_status)
+@@ -90,8 +105,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
+ TP_ARGS(task, q),
+
+ TP_FIELDS(
+- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
+- ctf_integer_hex(const struct rpc_task *, task, task)
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+ ctf_integer(unsigned long, timeout, task->tk_timeout)
+ ctf_integer(unsigned long, runstate, task->tk_runstate)
+ ctf_integer(int, status, task->tk_status)
+@@ -114,6 +129,87 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
+ TP_ARGS(task, q)
+ )
+
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
++LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
++ TP_PROTO(struct rpc_task *task, int status),
++
++ TP_ARGS(task, status),
++
++ TP_FIELDS(
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
++ ctf_integer(int, status, status)
++ )
++)
++
++LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
++
++ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
++
++ TP_ARGS(clnt, task, action),
++
++ TP_FIELDS(
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
++ ctf_integer_hex(const void *, action, action)
++ ctf_integer(unsigned long, runstate, task->tk_runstate)
++ ctf_integer(int, status, task->tk_status)
++ ctf_integer(unsigned short, flags, task->tk_flags)
++ )
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
++
++ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
++
++ TP_ARGS(clnt, task, action)
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
++
++ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
++
++ TP_ARGS(clnt, task, action)
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
++
++ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
++
++ TP_ARGS(clnt, task, action)
++)
++
++LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
++
++ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
++
++ TP_ARGS(clnt, task, q),
++
++ TP_FIELDS(
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
++ ctf_integer(unsigned long, timeout, task->tk_timeout)
++ ctf_integer(unsigned long, runstate, task->tk_runstate)
++ ctf_integer(int, status, task->tk_status)
++ ctf_integer(unsigned short, flags, task->tk_flags)
++ ctf_string(q_name, rpc_qname(q))
++ )
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
++
++ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
++
++ TP_ARGS(clnt, task, q)
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
++
++ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
++
++ TP_ARGS(clnt, task, q)
++)
++
+ #else
+ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
+ TP_PROTO(struct rpc_task *task, int status),
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch
new file mode 100644
index 000000000..f3673301d
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch
@@ -0,0 +1,183 @@
+From d11b568681f87c2df6ecb0516d3f16d153f24bd2 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Wed, 9 Jan 2019 14:59:17 -0500
+Subject: [PATCH 7/9] Fix: SUNRPC: Simplify defining common RPC trace events
+ (v5.0)
+
+See upstream commit :
+
+ commit dc5820bd21d84ee34770b0a1e2fca9378f8f7456
+ Author: Chuck Lever <chuck.lever@oracle.com>
+ Date: Wed Dec 19 11:00:16 2018 -0500
+
+ SUNRPC: Simplify defining common RPC trace events
+
+ Clean up, no functional change is expected.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/d11b568681f87c2df6ecb0516d3f16d153f24bd2
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ instrumentation/events/lttng-module/rpc.h | 99 ++++++++++++++++-------
+ 1 file changed, 72 insertions(+), 27 deletions(-)
+
+diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h
+index a4ac557..4239280 100644
+--- a/instrumentation/events/lttng-module/rpc.h
++++ b/instrumentation/events/lttng-module/rpc.h
+@@ -8,7 +8,32 @@
+ #include <linux/sunrpc/sched.h>
+ #include <linux/sunrpc/clnt.h>
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
++LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
++
++ TP_PROTO(const struct rpc_task *task),
++
++ TP_ARGS(task),
++
++ TP_FIELDS(
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
++ ctf_integer(int, status, task->tk_status)
++ )
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
++ TP_PROTO(const struct rpc_task *task),
++
++ TP_ARGS(task)
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
++ TP_PROTO(const struct rpc_task *task),
++
++ TP_ARGS(task)
++)
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
+
+ TP_PROTO(struct rpc_task *task),
+@@ -21,6 +46,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
+ ctf_integer(int, status, task->tk_status)
+ )
+ )
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
++ TP_PROTO(struct rpc_task *task),
++
++ TP_ARGS(task)
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
++ TP_PROTO(struct rpc_task *task),
++
++ TP_ARGS(task)
++)
+ #else
+ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
+
+@@ -34,7 +71,6 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
+ ctf_integer(int, status, task->tk_status)
+ )
+ )
+-#endif
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
+ TP_PROTO(struct rpc_task *task),
+@@ -47,8 +83,15 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
+
+ TP_ARGS(task)
+ )
++#endif
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
++LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_connect_status,
++ TP_PROTO(const struct rpc_task *task),
++
++ TP_ARGS(task)
++)
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
+ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
+ TP_PROTO(const struct rpc_task *task),
+
+@@ -60,7 +103,33 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
+ ctf_integer(int, status, task->tk_status)
+ )
+ )
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
++LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
++ TP_PROTO(struct rpc_task *task, int status),
++
++ TP_ARGS(task, status),
++
++ TP_FIELDS(
++ ctf_integer(unsigned int, task_id, task->tk_pid)
++ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
++ ctf_integer(int, status, status)
++ )
++)
++#else
++LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
++ TP_PROTO(struct rpc_task *task, int status),
++
++ TP_ARGS(task, status),
++
++ TP_FIELDS(
++ ctf_integer_hex(const struct rpc_task *, task, task)
++ ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
++ ctf_integer(int, status, status)
++ )
++)
++#endif
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
+ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
+
+ TP_PROTO(const struct rpc_task *task, const void *action),
+@@ -130,18 +199,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
+ )
+
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+-LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
+- TP_PROTO(struct rpc_task *task, int status),
+-
+- TP_ARGS(task, status),
+-
+- TP_FIELDS(
+- ctf_integer(unsigned int, task_id, task->tk_pid)
+- ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+- ctf_integer(int, status, status)
+- )
+-)
+-
+ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
+
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
+@@ -211,18 +268,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
+ )
+
+ #else
+-LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
+- TP_PROTO(struct rpc_task *task, int status),
+-
+- TP_ARGS(task, status),
+-
+- TP_FIELDS(
+- ctf_integer_hex(const struct rpc_task *, task, task)
+- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
+- ctf_integer(int, status, status)
+- )
+-)
+-
+ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
+
+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch
new file mode 100644
index 000000000..5f1298995
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch
@@ -0,0 +1,341 @@
+From 8af8245f6f86370d01cc4acaabafb90de45e143f Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Thu, 10 Jan 2019 14:56:15 -0500
+Subject: [PATCH 8/9] Fix: btrfs: Remove fsid/metadata_fsid fields from
+ btrfs_info
+
+Introduced in v5.0.
+
+See upstream commit :
+
+ commit de37aa513105f864d3c21105bf5542d498f21ca2
+ Author: Nikolay Borisov <nborisov@suse.com>
+ Date: Tue Oct 30 16:43:24 2018 +0200
+
+ btrfs: Remove fsid/metadata_fsid fields from btrfs_info
+
+ Currently btrfs_fs_info structure contains a copy of the
+ fsid/metadata_uuid fields. Same values are also contained in the
+ btrfs_fs_devices structure which fs_info has a reference to. Let's
+ reduce duplication by removing the fields from fs_info and always refer
+ to the ones in fs_devices. No functional changes.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/8af8245f6f86370d01cc4acaabafb90de45e143f
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ instrumentation/events/lttng-module/btrfs.h | 100 +++++++++++---------
+ 1 file changed, 53 insertions(+), 47 deletions(-)
+
+diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
+index 4dfbf5b..ec45a1e 100644
+--- a/instrumentation/events/lttng-module/btrfs.h
++++ b/instrumentation/events/lttng-module/btrfs.h
+@@ -32,6 +32,12 @@ struct extent_state;
+
+ #define BTRFS_UUID_SIZE 16
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
++#define lttng_fs_info_fsid fs_info->fs_devices->fsid
++#else
++#define lttng_fs_info_fsid fs_info->fsid
++#endif
++
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+@@ -629,7 +635,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
+ TP_ARGS(fs_info, block_group, create),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, offset, block_group->key.objectid)
+ ctf_integer(u64, size, block_group->key.offset)
+ ctf_integer(u64, flags, block_group->flags)
+@@ -647,7 +653,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
+ TP_ARGS(fs_info, block_group, create),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, offset, block_group->key.objectid)
+ ctf_integer(u64, size, block_group->key.offset)
+ ctf_integer(u64, flags, block_group->flags)
+@@ -1015,18 +1021,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc,
+
+- TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map,
++ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
+ u64 offset, u64 size),
+
+- TP_ARGS(info, map, offset, size)
++ TP_ARGS(fs_info, map, offset, size)
+ )
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free,
+
+- TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map,
++ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
+ u64 offset, u64 size),
+
+- TP_ARGS(info, map, offset, size)
++ TP_ARGS(fs_info, map, offset, size)
+ )
+
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
+@@ -1050,18 +1056,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc,
+
+- TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map,
++ TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
+ u64 offset, u64 size),
+
+- TP_ARGS(info, map, offset, size)
++ TP_ARGS(fs_info, map, offset, size)
+ )
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free,
+
+- TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map,
++ TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
+ u64 offset, u64 size),
+
+- TP_ARGS(info, map, offset, size)
++ TP_ARGS(fs_info, map, offset, size)
+ )
+
+ #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+@@ -1192,7 +1198,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
+ TP_ARGS(fs_info, type, val, bytes, reserve),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_string(type, type)
+ ctf_integer(u64, val, val)
+ ctf_integer(u64, bytes, bytes)
+@@ -1208,7 +1214,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
+ TP_ARGS(fs_info, type, val, bytes, reserve),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_string(type, type)
+ ctf_integer(u64, val, val)
+ ctf_integer(u64, bytes, bytes)
+@@ -1221,9 +1227,9 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
+
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
+
+- TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
+
+- TP_ARGS(info, start, len),
++ TP_ARGS(fs_info, start, len),
+
+ TP_FIELDS(
+ ctf_integer(u64, start, start)
+@@ -1233,25 +1239,25 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc,
+
+- TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
+
+- TP_ARGS(info, start, len)
++ TP_ARGS(fs_info, start, len)
+ )
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free,
+
+- TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
+
+- TP_ARGS(info, start, len)
++ TP_ARGS(fs_info, start, len)
+ )
+
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
+
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
+
+- TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
++ TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
+
+- TP_ARGS(info, start, len),
++ TP_ARGS(fs_info, start, len),
+
+ TP_FIELDS(
+ ctf_integer(u64, start, start)
+@@ -1261,16 +1267,16 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc,
+
+- TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
++ TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
+
+- TP_ARGS(info, start, len)
++ TP_ARGS(fs_info, start, len)
+ )
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free,
+
+- TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
++ TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
+
+- TP_ARGS(info, start, len)
++ TP_ARGS(fs_info, start, len)
+ )
+
+ #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+@@ -1341,13 +1347,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+- TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+- TP_ARGS(info, num_bytes, empty_size, data),
++ TP_ARGS(fs_info, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+@@ -1362,7 +1368,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+ TP_ARGS(block_group, start, len),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, block_group->fs_info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, bg_objectid, block_group->key.objectid)
+ ctf_integer(u64, flags, block_group->flags)
+ ctf_integer(u64, start, start)
+@@ -1391,13 +1397,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+- TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
++ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+- TP_ARGS(info, num_bytes, empty_size, data),
++ TP_ARGS(fs_info, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+@@ -1406,14 +1412,14 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+- TP_PROTO(const struct btrfs_fs_info *info,
++ TP_PROTO(const struct btrfs_fs_info *fs_info,
+ const struct btrfs_block_group_cache *block_group, u64 start,
+ u64 len),
+
+- TP_ARGS(info, block_group, start, len),
++ TP_ARGS(fs_info, block_group, start, len),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, bg_objectid, block_group->key.objectid)
+ ctf_integer(u64, flags, block_group->flags)
+ ctf_integer(u64, start, start)
+@@ -1423,20 +1429,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
+
+- TP_PROTO(const struct btrfs_fs_info *info,
++ TP_PROTO(const struct btrfs_fs_info *fs_info,
+ const struct btrfs_block_group_cache *block_group, u64 start,
+ u64 len),
+
+- TP_ARGS(info, block_group, start, len)
++ TP_ARGS(fs_info, block_group, start, len)
+ )
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
+
+- TP_PROTO(const struct btrfs_fs_info *info,
++ TP_PROTO(const struct btrfs_fs_info *fs_info,
+ const struct btrfs_block_group_cache *block_group, u64 start,
+ u64 len),
+
+- TP_ARGS(info, block_group, start, len)
++ TP_ARGS(fs_info, block_group, start, len)
+ )
+
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
+@@ -1445,13 +1451,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ btrfs_find_free_extent,
+
+- TP_PROTO(struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
++ TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+ u64 data),
+
+- TP_ARGS(info, num_bytes, empty_size, data),
++ TP_ARGS(fs_info, num_bytes, empty_size, data),
+
+ TP_FIELDS(
+- ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
++ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+ ctf_integer(u64, num_bytes, num_bytes)
+ ctf_integer(u64, empty_size, empty_size)
+ ctf_integer(u64, data, data)
+@@ -1460,11 +1466,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+- TP_PROTO(struct btrfs_fs_info *info,
++ TP_PROTO(struct btrfs_fs_info *fs_info,
+ struct btrfs_block_group_cache *block_group, u64 start,
+ u64 len),
+
+- TP_ARGS(info, block_group, start, len),
++ TP_ARGS(fs_info, block_group, start, len),
+
+ TP_FIELDS(
+ ctf_integer(u64, bg_objectid, block_group->key.objectid)
+@@ -1476,20 +1482,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
+
+- TP_PROTO(struct btrfs_fs_info *info,
++ TP_PROTO(struct btrfs_fs_info *fs_info,
+ struct btrfs_block_group_cache *block_group, u64 start,
+ u64 len),
+
+- TP_ARGS(info, block_group, start, len)
++ TP_ARGS(fs_info, block_group, start, len)
+ )
+
+ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
+
+- TP_PROTO(struct btrfs_fs_info *info,
++ TP_PROTO(struct btrfs_fs_info *fs_info,
+ struct btrfs_block_group_cache *block_group, u64 start,
+ u64 len),
+
+- TP_ARGS(info, block_group, start, len)
++ TP_ARGS(fs_info, block_group, start, len)
+ )
+ #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
+ LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch
new file mode 100644
index 000000000..4ffe48867
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch
@@ -0,0 +1,46 @@
+From 416cee8707053a9015dfec8332e12f8c263098e3 Mon Sep 17 00:00:00 2001
+From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Date: Thu, 14 Feb 2019 11:40:50 -0500
+Subject: [PATCH 9/9] Cleanup: tp mempool: Remove logically dead code
+
+Found by Coverity:
+CID 1391045 (#1 of 1): Logically dead code (DEADCODE)
+
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+
+Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/416cee8707053a9015dfec8332e12f8c263098e3
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ lttng-tp-mempool.c | 11 ++---------
+ 1 file changed, 2 insertions(+), 9 deletions(-)
+
+diff --git a/lttng-tp-mempool.c b/lttng-tp-mempool.c
+index d984bd4..21e8376 100644
+--- a/lttng-tp-mempool.c
++++ b/lttng-tp-mempool.c
+@@ -151,19 +151,12 @@ void lttng_tp_mempool_free(void *ptr)
+ struct lttng_tp_buf_entry *entry;
+ struct per_cpu_buf *cpu_buf;
+
+- if (!ptr) {
++ if (!ptr)
+ goto end;
+- }
+-
+ entry = container_of(ptr, struct lttng_tp_buf_entry, buf);
+- if (!entry) {
+- goto end;
+- }
+-
+ cpu_buf = per_cpu_ptr(pool, entry->cpu);
+- if (!cpu_buf) {
++ if (!cpu_buf)
+ goto end;
+- }
+ /* Add it to the free list. */
+ list_add_tail(&entry->list, &cpu_buf->free_list);
+
+--
+2.19.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb
new file mode 100644
index 000000000..15e75e51c
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb
@@ -0,0 +1,45 @@
+SECTION = "devel"
+SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
+DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
+LICENSE = "LGPLv2.1 & GPLv2 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3 \
+ file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
+ file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad \
+ "
+
+inherit module
+
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux'
+
+#https://lttng.org/files/lttng-modules/lttng-modules-2.10.7.tar.bz2
+SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
+ file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
+ file://0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch \
+ file://0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch \
+ file://0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch \
+ file://0004-Fix-timer-instrumentation-for-RHEL-7.6.patch \
+ file://0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch \
+ file://0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch \
+ file://0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch \
+ file://0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch \
+ file://0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch \
+ "
+
+SRC_URI[md5sum] = "54bd9fca61487bbec1b3fca2f2213c98"
+SRC_URI[sha256sum] = "fe1d269bca723e8948af871c322c37d3900e647cdc5eb3efbe821e434beee44c"
+
+export INSTALL_MOD_DIR="kernel/lttng-modules"
+
+EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
+
+do_install_append() {
+ # Delete empty directories to avoid QA failures if no modules were built
+ find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
+}
+
+python do_package_prepend() {
+ if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
+ bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
+}
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
deleted file mode 100644
index d29737775..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SECTION = "devel"
-SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
-DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
-LICENSE = "LGPLv2.1 & GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3 \
- file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
- file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad \
- "
-
-inherit module
-
-COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm).*-linux'
-
-#https://lttng.org/files/lttng-modules/lttng-modules-2.10.7.tar.bz2
-SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
- file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
-"
-
-SRC_URI[md5sum] = "09df0ac2e8f245740a2f32411d10c0d1"
-SRC_URI[sha256sum] = "a1855bbd02d0f71ebd180e9872309862036624f012442ab9cc5852eb60340145"
-
-export INSTALL_MOD_DIR="kernel/lttng-modules"
-
-EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
-
-do_install_append() {
- # Delete empty directories to avoid QA failures if no modules were built
- find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
-}
-
-python do_package_prepend() {
- if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
- bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
-}
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Allow-multiple-attempts-to-connect-to-relayd.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Allow-multiple-attempts-to-connect-to-relayd.patch
deleted file mode 100644
index 0998fc386..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Allow-multiple-attempts-to-connect-to-relayd.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 70eff899104b86bae02862927c76caaef5de5d3c Mon Sep 17 00:00:00 2001
-From: Mikael Beckius <mikael.beckius@windriver.com>
-Date: Thu, 7 May 2015 16:14:25 +0200
-Subject: [PATCH] Allow multiple attempts to connect to relayd.
-
-It is unclear why a session needs to be made
-unusable after a failure to connect to relayd
-since a check for a relayd connection is
-always made before a session can be configured.
-
-The behaviour was introduced in:
-d9078d0c000d04d49c599a72c1a725026b636ec0
-
-Signed-off-by: Mikael Beckius <mikael.beckius@windriver.com>
-[ The context has moved, adjust the hunk accordingly ]
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-Upstream-Status: Pending
----
- src/bin/lttng-sessiond/cmd.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/src/bin/lttng-sessiond/cmd.c b/src/bin/lttng-sessiond/cmd.c
-index cf30b8e..cc41a48 100644
---- a/src/bin/lttng-sessiond/cmd.c
-+++ b/src/bin/lttng-sessiond/cmd.c
-@@ -945,14 +945,6 @@ static int send_consumer_relayd_socket(enum lttng_domain_type domain,
- */
-
- close_sock:
-- if (ret != LTTNG_OK) {
-- /*
-- * The consumer output for this session should not be used anymore
-- * since the relayd connection failed thus making any tracing or/and
-- * streaming not usable.
-- */
-- consumer->enabled = 0;
-- }
- (void) relayd_close(rsock);
- free(rsock);
-
---
-2.17.1
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch
new file mode 100644
index 000000000..df18dc842
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch
@@ -0,0 +1,35 @@
+From 7244eac44be929fabd6ed1333f96929ef8da564f Mon Sep 17 00:00:00 2001
+From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Date: Tue, 19 Mar 2019 17:56:49 +0000
+Subject: [PATCH] fix: tests: link libpause_consumer on liblttng-ctl
+
+This preload test library uses symbols from liblttng-ctl which are
+resolved when preloaded by GLIBC but not by MUSL.
+
+Upstream-Status: Accepted [f667fbd7f8b9512f9943edb2597c226fcc424ee9]
+Backported to 2.11 and 2.10.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+---
+ tests/regression/tools/notification/Makefile.am | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/tests/regression/tools/notification/Makefile.am b/tests/regression/tools/notification/Makefile.am
+index 41adc69..a352bb8 100644
+--- a/tests/regression/tools/notification/Makefile.am
++++ b/tests/regression/tools/notification/Makefile.am
+@@ -20,7 +20,10 @@ FORCE_SHARED_LIB_OPTIONS = -module -shared -avoid-version \
+ -rpath $(abs_builddir)
+
+ libpause_consumer_la_SOURCES = consumer_testpoints.c
+-libpause_consumer_la_LIBADD = $(top_builddir)/src/common/libcommon.la $(DL_LIBS)
++libpause_consumer_la_LIBADD = \
++ $(top_builddir)/src/common/libcommon.la \
++ $(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la \
++ $(DL_LIBS)
+ libpause_consumer_la_LDFLAGS = $(FORCE_SHARED_LIB_OPTIONS)
+ noinst_LTLIBRARIES = libpause_consumer.la
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch
new file mode 100644
index 000000000..5bb88d21e
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch
@@ -0,0 +1,52 @@
+From e7db27668a9d7fd279d45bc43f3a2d5847374e7b Mon Sep 17 00:00:00 2001
+From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Date: Tue, 12 Mar 2019 12:04:58 -0400
+Subject: [PATCH lttng-tools 1/2] Fix: test: skip test_getcpu_override on
+ single thread system
+
+There is no value in performing this test on single thread system
+since the only valid value for the cpu field is 0.
+
+This test currently fails on single thread system (i.e yocto runquemu)
+on the test_getcpu_override_fail test case.
+
+Upstream-Status: Accepted [f87d0ca370c17b597762f5ee218f0e821ed2452d]
+Backported to 2.11 and 2.10
+
+Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+---
+ .../ust/getcpu-override/test_getcpu_override | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/tests/regression/ust/getcpu-override/test_getcpu_override b/tests/regression/ust/getcpu-override/test_getcpu_override
+index 4ca385aeb..ee3e31953 100755
+--- a/tests/regression/ust/getcpu-override/test_getcpu_override
++++ b/tests/regression/ust/getcpu-override/test_getcpu_override
+@@ -157,13 +157,19 @@ plan_tests $NUM_TESTS
+
+ print_test_banner "$TEST_DESC"
+
+-if [ -x "$CURDIR/.libs/lttng-ust-getcpu-override-test.so" ]; then
+- foundobj=1
+-else
+- foundobj=0
++if [ ! -x "$CURDIR/.libs/lttng-ust-getcpu-override-test.so" ]; then
++ skip 0 "No shared object generated. Skipping all tests." $NUM_TESTS && exit 0
++fi
++
++if [ "$num_cpus" -eq "1" ]; then
++ # Skip the test since we cannot perform it as designed since N mod 1
++ # is always equals to zero. There is no point testing this on a system
++ # with a single thread. LTTng-UST limits the get_cpu function to return
++ # value inside the [0, NUM_CPU - 1] range for a valid event (present in
++ # trace).
++ skip 0 "Test system only have a single thread. Skipping all tests." $NUM_TESTS && exit 0
+ fi
+
+-skip $foundobj "No shared object generated. Skipping all tests." $NUM_TESTS && exit 0
+
+ TESTS=(
+ test_getcpu_override_fail
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch
new file mode 100644
index 000000000..822b26a36
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch
@@ -0,0 +1,80 @@
+From 83d165442d1c3658b6bafa28ddade8ffee7092ad Mon Sep 17 00:00:00 2001
+From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Date: Wed, 6 Mar 2019 16:46:49 -0500
+Subject: [PATCH lttng-tools 2/2] Fix: test: unit: the tree origin can be a
+ symlink itself
+
+Problem:
+
+The base tree is defined as "/tmp/.....XXXXXX".
+On systems where "/tmp/" is itself a symlink utils_expand_path will
+expand the tree origin itself.
+
+For example on a base core-image-minimal Yocto build /tmp is a symlink
+to "/var/tmp", which is a symlink to "/var/volatile".
+
+utils_expand_path will return something like this for the symlink test:
+"/var/volative/.....XXXXXX/...." which is the valid result.
+
+Solution:
+
+Simply use realpath on the tree_origin and use this path to perform the
+test validation.
+
+This work was performed in the effort to support yocto fully and be able
+to run the test suite to detect problem as early as possible.
+
+
+Upstream-Status: Accepted [f66e964a2e0c75f5e1a55fbcc963b1c5e2b4519d]
+Backported to 2.11 and 2.10
+
+Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+---
+ tests/unit/test_utils_expand_path.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/tests/unit/test_utils_expand_path.c b/tests/unit/test_utils_expand_path.c
+index d5cab002e..d047c207d 100644
+--- a/tests/unit/test_utils_expand_path.c
++++ b/tests/unit/test_utils_expand_path.c
+@@ -281,8 +281,8 @@ error:
+ static void test_utils_expand_path(void)
+ {
+ char *result;
+- char name[100], tmppath[PATH_MAX];
+- int i;
++ char name[100], tmppath[PATH_MAX], real_tree_origin[PATH_MAX];
++ int i, treelen;
+
+ /* Test valid cases */
+ for (i = 0; i < num_valid_tests; i++) {
+@@ -295,14 +295,24 @@ static void test_utils_expand_path(void)
+ free(result);
+ }
+
++ /*
++ * Get the realpath for the tree_origin since it can itself be a
++ * symlink.
++ */
++ result = realpath(tree_origin, real_tree_origin);
++ if (!result) {
++ fail("realpath failed.");
++ return;
++ }
++
+ /* Test symlink tree cases */
+- int treelen = strlen(tree_origin) + 1;
++ treelen = strlen(real_tree_origin) + 1;
+ for (i = 0; i < num_symlink_tests; i++) {
+ sprintf(name, "symlink tree test case: [tmppath/]%s",
+ symlink_tests_inputs[i].input);
+
+ snprintf(tmppath, PATH_MAX, "%s/%s",
+- tree_origin, symlink_tests_inputs[i].input);
++ real_tree_origin, symlink_tests_inputs[i].input);
+ result = utils_expand_path(tmppath);
+ ok(result != NULL && strcmp(result + treelen,
+ symlink_tests_inputs[i].expected_result) == 0, name);
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch
new file mode 100644
index 000000000..6c9f7e462
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch
@@ -0,0 +1,610 @@
+From 95c27e6acceaeda55c729b9e92e594322adef13f Mon Sep 17 00:00:00 2001
+From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Date: Wed, 3 Apr 2019 16:31:18 -0400
+Subject: [PATCH lttng-tools] Skip when testapp is not present
+
+We expect lttng-ust do be present, this is a wrong assumptions.
+
+This is a quick fix. The real fix is to either detect at runtime
+lttng-ust support or at build time (HAVE_LIBLTTNG_UST_CTL).
+
+This prevent hang for make check done on a build configured with
+--without-lttng-ust.
+
+Upstream-Status: Inappropriate [other]
+Reason: This patch is inappropriate for upstream for 2.10 stable release
+since we do not backport "superficial" fix to the test suite. We do
+backport when a test is broken. The fact that on --without-lttng-ust
+hang is not a "broken" test per-see. Still, a variation of this fix will
+be upstreamed in our master branch and possibly 2.11. The upstreamed
+version will split the test in kernel/ust test and skip them at the
+build system level. This patch is more succinct.
+
+Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+---
+ tests/regression/tools/crash/test_crash | 4 ++
+ .../regression/tools/exclusion/test_exclusion | 4 ++
+ .../tools/filtering/test_valid_filter | 21 ++++--
+ tests/regression/tools/health/test_thread_ok | 29 +++++---
+ tests/regression/tools/live/Makefile.am | 2 -
+ tests/regression/tools/live/test_lttng_ust | 4 ++
+ tests/regression/tools/live/test_ust | 4 ++
+ .../tools/live/test_ust_tracefile_count | 4 ++
+ tests/regression/tools/mi/test_mi | 4 ++
+ .../notification/test_notification_multi_app | 18 +++--
+ .../tools/notification/test_notification_ust | 4 ++
+ .../regression/tools/regen-metadata/test_ust | 2 +-
+ .../regression/tools/regen-statedump/test_ust | 2 +-
+ .../regression/tools/save-load/test_autoload | 7 ++
+ tests/regression/tools/save-load/test_load | 8 +++
+ tests/regression/tools/save-load/test_save | 7 ++
+ .../regression/tools/snapshots/test_ust_fast | 2 +-
+ .../regression/tools/snapshots/test_ust_long | 2 +-
+ .../tools/snapshots/test_ust_streaming | 2 +-
+ tests/regression/tools/snapshots/ust_test | 2 +-
+ .../streaming/test_high_throughput_limits | 2 +-
+ tests/regression/tools/streaming/test_ust | 2 +-
+ .../tracefile-limits/test_tracefile_count | 2 +-
+ .../tracefile-limits/test_tracefile_size | 2 +-
+ .../tools/wildcard/test_event_wildcard | 67 ++++++++++---------
+ 25 files changed, 147 insertions(+), 60 deletions(-)
+
+diff --git a/tests/regression/tools/crash/test_crash b/tests/regression/tools/crash/test_crash
+index 8c62c513d..3cbe97688 100755
+--- a/tests/regression/tools/crash/test_crash
++++ b/tests/regression/tools/crash/test_crash
+@@ -35,6 +35,10 @@ NUM_TESTS=77
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ # Global declaration for simplification
+ LTTNG_CRASH=$TESTDIR/../src/bin/lttng-crash/$CRASH_BIN
+
+diff --git a/tests/regression/tools/exclusion/test_exclusion b/tests/regression/tools/exclusion/test_exclusion
+index 949cd41df..42e4d72fb 100755
+--- a/tests/regression/tools/exclusion/test_exclusion
++++ b/tests/regression/tools/exclusion/test_exclusion
+@@ -30,6 +30,10 @@ NUM_TESTS=149
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ function enable_ust_lttng_all_event_exclusion()
+ {
+ sess_name="$1"
+diff --git a/tests/regression/tools/filtering/test_valid_filter b/tests/regression/tools/filtering/test_valid_filter
+index 163b32182..1e8da630b 100755
+--- a/tests/regression/tools/filtering/test_valid_filter
++++ b/tests/regression/tools/filtering/test_valid_filter
+@@ -418,12 +418,18 @@ issue_356_filter+="intfield > 4 && intfield > 5 && "
+ issue_356_filter+="intfield > 6 && intfield > 7 && "
+ issue_356_filter+="intfield > 8 || intfield > 0"
+
++BIN_NAME="gen-ust-events"
++
++skip_ust=1
++if [ ! -x "$CURDIR/$BIN_NAME" ]; then
++ skip_ust=0
++ skip 0 "No UST nevents binary detected." $NUM_UST_TESTS
++fi
++
+ start_lttng_sessiond
+
+ ### UST TESTS
+
+-BIN_NAME="gen-ust-events"
+-
+ KIRK_KRAUSS_TESTS=(
+ # the tests below were written by Kirk Krauss in this article:
+ # http://www.drdobbs.com/architecture-and-design/matching-wildcards-an-empirical-way-to-t/240169123
+@@ -897,9 +903,6 @@ UST_STR_FILTERS=(
+ END
+ )
+
+-if [ ! -x "$CURDIR/$BIN_NAME" ]; then
+- BAIL_OUT "No UST nevents binary detected."
+-fi
+
+ IFS="$OLDIFS"
+
+@@ -910,6 +913,10 @@ i=0
+ while true; do
+ validator="${UST_FILTERS[$i]}"
+
++ if [ $skip_ust -eq 0 ]; then
++ break
++ fi
++
+ if [ "$validator" = END ]; then
+ break
+ fi
+@@ -929,6 +936,10 @@ i=0
+ while true; do
+ validator="${UST_STR_FILTERS[$i]}"
+
++ if [ $skip_ust -eq 0 ]; then
++ break
++ fi
++
+ if [ "$validator" = END ]; then
+ break
+ fi
+diff --git a/tests/regression/tools/health/test_thread_ok b/tests/regression/tools/health/test_thread_ok
+index e81d6ed24..849b7e71f 100755
+--- a/tests/regression/tools/health/test_thread_ok
++++ b/tests/regression/tools/health/test_thread_ok
+@@ -27,6 +27,9 @@ CHANNEL_NAME="testchan"
+ HEALTH_CHECK_BIN="health_check"
+ NUM_TESTS=17
+ SLEEP_TIME=30
++TESTAPP_PATH="$TESTDIR/utils/testapp"
++TESTAPP_NAME="gen-ust-events"
++TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
+
+ source $TESTDIR/utils/utils.sh
+
+@@ -76,15 +79,19 @@ function test_thread_ok
+ $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH}
+ report_errors
+
+- diag "With UST consumer daemons"
+- create_lttng_session_no_output $SESSION_NAME
+- enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME
+- start_lttng_tracing_ok $SESSION_NAME
+- destroy_lttng_session_ok $SESSION_NAME
++ skip $skip_ust "Ust does not seems to be supported" "5" ||
++ {
++ diag "With UST consumer daemons"
++ create_lttng_session_no_output $SESSION_NAME
++ enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME
++ start_lttng_tracing_ok $SESSION_NAME
++ destroy_lttng_session_ok $SESSION_NAME
+
+- # Check health status
+- $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH}
+- report_errors
++
++ # Check health status
++ $CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH}
++ report_errors
++ }
+
+ skip $isroot "Root access is needed. Skipping kernel consumer health check test." "5" ||
+ {
+@@ -141,6 +148,12 @@ else
+ isroot=0
+ fi
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ skip_ust=0
++else
++ skip_ust=1
++fi
++
+ test_thread_ok
+
+ rm -rf ${HEALTH_PATH}
+diff --git a/tests/regression/tools/live/Makefile.am b/tests/regression/tools/live/Makefile.am
+index 46186d383..db74de8d5 100644
+--- a/tests/regression/tools/live/Makefile.am
++++ b/tests/regression/tools/live/Makefile.am
+@@ -16,9 +16,7 @@ LIVE=$(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \
+ noinst_PROGRAMS = live_test
+ EXTRA_DIST = test_kernel test_lttng_kernel
+
+-if HAVE_LIBLTTNG_UST_CTL
+ EXTRA_DIST += test_ust test_ust_tracefile_count test_lttng_ust
+-endif
+
+ live_test_SOURCES = live_test.c
+ live_test_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBRELAYD) $(LIBSESSIOND_COMM) \
+diff --git a/tests/regression/tools/live/test_lttng_ust b/tests/regression/tools/live/test_lttng_ust
+index 06017d01d..be9b3d7f7 100755
+--- a/tests/regression/tools/live/test_lttng_ust
++++ b/tests/regression/tools/live/test_lttng_ust
+@@ -38,6 +38,10 @@ NUM_TESTS=12
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ # MUST set TESTDIR before calling those functions
+ plan_tests $NUM_TESTS
+
+diff --git a/tests/regression/tools/live/test_ust b/tests/regression/tools/live/test_ust
+index 0384a706f..add521bfc 100755
+--- a/tests/regression/tools/live/test_ust
++++ b/tests/regression/tools/live/test_ust
+@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR)
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ echo "$TEST_DESC"
+
+ function setup_live_tracing()
+diff --git a/tests/regression/tools/live/test_ust_tracefile_count b/tests/regression/tools/live/test_ust_tracefile_count
+index 6da368fc6..10504f8c6 100755
+--- a/tests/regression/tools/live/test_ust_tracefile_count
++++ b/tests/regression/tools/live/test_ust_tracefile_count
+@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR)
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ echo "$TEST_DESC"
+
+ function setup_live_tracing()
+diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi
+index 48dda7da6..2cc30b29a 100755
+--- a/tests/regression/tools/mi/test_mi
++++ b/tests/regression/tools/mi/test_mi
+@@ -61,6 +61,10 @@ NUM_TESTS=228
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ #Overwrite the lttng_bin to get mi output
+ LTTNG_BIN="lttng --mi xml"
+
+diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app
+index 0a05ea6a0..29b0f62fa 100755
+--- a/tests/regression/tools/notification/test_notification_multi_app
++++ b/tests/regression/tools/notification/test_notification_multi_app
+@@ -52,6 +52,11 @@ plan_tests $NUM_TESTS
+
+ print_test_banner "$TEST_DESC"
+
++skip_ust=1
++if [ ! -x "$TESTAPP_BIN" ]; then
++ skip_ust=0
++fi
++
+ app_pids=()
+
+ function kernel_event_generator_toogle_state
+@@ -468,10 +473,15 @@ function test_on_register_evaluation ()
+ }
+
+
+-TESTS=(
+- test_multi_app_ust
+- test_on_register_evaluation_ust
+-)
++TESTS=()
++if [ $skip_ust -eq "1" ]; then
++ TESTS+=(
++ test_multi_app_ust
++ test_on_register_evaluation_ust
++ )
++else
++ skip 0 "No UST events binary detected." $NUM_TEST_UST
++fi
+
+ if [ "$(id -u)" == "0" ]; then
+ TESTS+=(
+diff --git a/tests/regression/tools/notification/test_notification_ust b/tests/regression/tools/notification/test_notification_ust
+index 8941e476d..eb2e15cad 100755
+--- a/tests/regression/tools/notification/test_notification_ust
++++ b/tests/regression/tools/notification/test_notification_ust
+@@ -46,6 +46,10 @@ DIR=$(readlink -f $TESTDIR)
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ function ust_event_generator_toogle_state
+ {
+ ust_event_generator_suspended=$((ust_event_generator_suspended==0))
+diff --git a/tests/regression/tools/regen-metadata/test_ust b/tests/regression/tools/regen-metadata/test_ust
+index b7f1af1d8..312c8a40d 100755
+--- a/tests/regression/tools/regen-metadata/test_ust
++++ b/tests/regression/tools/regen-metadata/test_ust
+@@ -34,7 +34,7 @@ NUM_TESTS=33
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST events binary detected."
++ plan_skip_all "No UST events binary detected."
+ fi
+
+ function lttng_create_session_uri
+diff --git a/tests/regression/tools/regen-statedump/test_ust b/tests/regression/tools/regen-statedump/test_ust
+index 486b9a560..8d455b26a 100755
+--- a/tests/regression/tools/regen-statedump/test_ust
++++ b/tests/regression/tools/regen-statedump/test_ust
+@@ -34,7 +34,7 @@ NUM_TESTS=11
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST events binary detected."
++ plan_skip_all "No UST events binary detected."
+ fi
+
+ function test_ust_local ()
+diff --git a/tests/regression/tools/save-load/test_autoload b/tests/regression/tools/save-load/test_autoload
+index 7ee5e9906..ec376cfb3 100755
+--- a/tests/regression/tools/save-load/test_autoload
++++ b/tests/regression/tools/save-load/test_autoload
+@@ -21,6 +21,9 @@ CURDIR=$(dirname $0)/
+ CONFIG_DIR="${CURDIR}/configuration"
+ TESTDIR=$CURDIR/../../../
+ export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/)
++TESTAPP_PATH="$TESTDIR/utils/testapp"
++TESTAPP_NAME="gen-ust-events"
++TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
+
+ DIR=$(readlink -f $TESTDIR)
+
+@@ -28,6 +31,10 @@ NUM_TESTS=9
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ # MUST set TESTDIR before calling those functions
+ plan_tests $NUM_TESTS
+
+diff --git a/tests/regression/tools/save-load/test_load b/tests/regression/tools/save-load/test_load
+index 5e38b46b6..b6fdd8192 100755
+--- a/tests/regression/tools/save-load/test_load
++++ b/tests/regression/tools/save-load/test_load
+@@ -20,6 +20,10 @@ TEST_DESC="Load session(s)"
+ CURDIR=$(dirname $0)/
+ CONFIG_DIR="${CURDIR}/configuration"
+ TESTDIR=$CURDIR/../../../
++TESTAPP_PATH="$TESTDIR/utils/testapp"
++TESTAPP_NAME="gen-ust-events"
++TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
++
+ export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/)
+
+ SESSION_NAME="load-42"
+@@ -31,6 +35,10 @@ NUM_TESTS=67
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "$TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ # MUST set TESTDIR before calling those functions
+ plan_tests $NUM_TESTS
+
+diff --git a/tests/regression/tools/save-load/test_save b/tests/regression/tools/save-load/test_save
+index c5f6b1341..cfaf67b7a 100755
+--- a/tests/regression/tools/save-load/test_save
++++ b/tests/regression/tools/save-load/test_save
+@@ -23,6 +23,9 @@ TESTDIR=$CURDIR/../../../
+ SESSION_NAME="save-42"
+ CHANNEL_NAME="chan-save"
+ EVENT_NAME="tp:tptest"
++TESTAPP_PATH="$TESTDIR/utils/testapp"
++TESTAPP_NAME="gen-ust-events"
++TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
+
+ DIR=$(readlink -f $TESTDIR)
+
+@@ -30,6 +33,10 @@ NUM_TESTS=41
+
+ source $TESTDIR/utils/utils.sh
+
++if [ ! -x "TESTAPP_BIN" ]; then
++ plan_skip_all "No UST events binary detected."
++fi
++
+ # MUST set TESTDIR before calling those functions
+ plan_tests $NUM_TESTS
+
+diff --git a/tests/regression/tools/snapshots/test_ust_fast b/tests/regression/tools/snapshots/test_ust_fast
+index edb435c52..5a68ec56d 100755
+--- a/tests/regression/tools/snapshots/test_ust_fast
++++ b/tests/regression/tools/snapshots/test_ust_fast
+@@ -23,7 +23,7 @@ TEST_BIN="ust_test"
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$CURDIR/$TEST_BIN" ]; then
+- BAIL_OUT "No UST test found: $TEST_BIN"
++ plan_skip_all "No UST test found: $TEST_BIN"
+ fi
+
+ ./$CURDIR/$TEST_BIN $NR_SNAPSHOT
+diff --git a/tests/regression/tools/snapshots/test_ust_long b/tests/regression/tools/snapshots/test_ust_long
+index 9e1a0c262..afa019f6a 100755
+--- a/tests/regression/tools/snapshots/test_ust_long
++++ b/tests/regression/tools/snapshots/test_ust_long
+@@ -23,7 +23,7 @@ TEST_BIN="ust_test"
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$CURDIR/$TEST_BIN" ]; then
+- BAIL_OUT "No UST test found: $TEST_BIN"
++ plan_skip_all "No UST test found: $TEST_BIN"
+ fi
+
+ ./$CURDIR/$TEST_BIN $NR_SNAPSHOT
+diff --git a/tests/regression/tools/snapshots/test_ust_streaming b/tests/regression/tools/snapshots/test_ust_streaming
+index 93b0957f3..69291ab4d 100755
+--- a/tests/regression/tools/snapshots/test_ust_streaming
++++ b/tests/regression/tools/snapshots/test_ust_streaming
+@@ -37,7 +37,7 @@ NUM_TESTS=75
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST events binary detected."
++ plan_skip_all "No UST events binary detected."
+ fi
+
+ function snapshot_add_output ()
+diff --git a/tests/regression/tools/snapshots/ust_test b/tests/regression/tools/snapshots/ust_test
+index 755cef9e0..92f9f6cff 100755
+--- a/tests/regression/tools/snapshots/ust_test
++++ b/tests/regression/tools/snapshots/ust_test
+@@ -34,7 +34,7 @@ TRACE_PATH=$(mktemp -d)
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST events binary detected."
++ plan_skip_all "No UST events binary detected."
+ fi
+
+ # Need the number of snapshot to do.
+diff --git a/tests/regression/tools/streaming/test_high_throughput_limits b/tests/regression/tools/streaming/test_high_throughput_limits
+index 32c3f1f2b..f54178923 100755
+--- a/tests/regression/tools/streaming/test_high_throughput_limits
++++ b/tests/regression/tools/streaming/test_high_throughput_limits
+@@ -38,7 +38,7 @@ NUM_TESTS=104
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST events binary detected."
++ plan_skip_all "No UST events binary detected."
+ fi
+
+ function set_bw_limit
+diff --git a/tests/regression/tools/streaming/test_ust b/tests/regression/tools/streaming/test_ust
+index a5d5b5e92..e1dd98ee7 100755
+--- a/tests/regression/tools/streaming/test_ust
++++ b/tests/regression/tools/streaming/test_ust
+@@ -34,7 +34,7 @@ NUM_TESTS=16
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST events binary detected."
++ plan_skip_all "No UST events binary detected."
+ fi
+
+ function lttng_create_session_uri
+diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_count b/tests/regression/tools/tracefile-limits/test_tracefile_count
+index 6ada8580f..7553c7d1f 100755
+--- a/tests/regression/tools/tracefile-limits/test_tracefile_count
++++ b/tests/regression/tools/tracefile-limits/test_tracefile_count
+@@ -33,7 +33,7 @@ PAGE_SIZE=$(getconf PAGE_SIZE)
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST events binary detected."
++ plan_skip_all "No UST events binary detected."
+ fi
+
+ function enable_lttng_channel_count_limit ()
+diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_size b/tests/regression/tools/tracefile-limits/test_tracefile_size
+index 3dddbe613..1089487ff 100755
+--- a/tests/regression/tools/tracefile-limits/test_tracefile_size
++++ b/tests/regression/tools/tracefile-limits/test_tracefile_size
+@@ -33,7 +33,7 @@ NUM_TESTS=66
+ source $TESTDIR/utils/utils.sh
+
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST events binary detected."
++ plan_skip_all "No UST events binary detected."
+ fi
+
+ function enable_lttng_channel_size_limit ()
+diff --git a/tests/regression/tools/wildcard/test_event_wildcard b/tests/regression/tools/wildcard/test_event_wildcard
+index 61ea67a72..921a2301d 100755
+--- a/tests/regression/tools/wildcard/test_event_wildcard
++++ b/tests/regression/tools/wildcard/test_event_wildcard
+@@ -97,42 +97,47 @@ print_test_banner "$TEST_DESC"
+
+ start_lttng_sessiond
+
+-diag "Test UST wildcard"
+-
+ if [ ! -x "$TESTAPP_BIN" ]; then
+- BAIL_OUT "No UST nevents binary detected."
++ skip_ust=0
++else
++ skip_ust=1
+ fi
+
+-EVENT_NAME="tp:tptest"
++skip $skip_ust "No UST nevents binary detected." $NUM_UST_TESTS ||
++{
++ diag "Test UST wildcard"
+
+-# non-matching
+-test_event_wildcard ust 0 'tp:abc*'
+-test_event_wildcard ust 0 '*abc'
+-test_event_wildcard ust 0 '*z*'
+-test_event_wildcard ust 0 '*\**'
+-test_event_wildcard ust 0 '*\*'
+-test_event_wildcard ust 0 '\**'
+-test_event_wildcard ust 0 '*:*tpte*s'
+-test_event_wildcard ust 0 'tp**tpTest'
++ EVENT_NAME="tp:tptest"
+
+-# matching
+-test_event_wildcard ust 1 'tp:tp*'
+-test_event_wildcard ust 1 '*'
+-test_event_wildcard ust 1 'tp:tptest*'
+-test_event_wildcard ust 1 '**'
+-test_event_wildcard ust 1 '***'
+-test_event_wildcard ust 1 '*tptest'
+-test_event_wildcard ust 1 '**tptest'
+-test_event_wildcard ust 1 '*tpte*'
+-test_event_wildcard ust 1 '*tp*'
+-test_event_wildcard ust 1 '*tp**'
+-test_event_wildcard ust 1 '*:*tptest'
+-test_event_wildcard ust 1 '*:*tpte*t'
+-test_event_wildcard ust 1 't*p*:*t*e*s*t'
+-test_event_wildcard ust 1 '*t*p*:*t*e*s*t*'
+-test_event_wildcard ust 1 'tp*tptest'
+-test_event_wildcard ust 1 'tp**tptest'
+-test_event_wildcard ust 1 'tp*test'
++ # non-matching
++ test_event_wildcard ust 0 'tp:abc*'
++ test_event_wildcard ust 0 '*abc'
++ test_event_wildcard ust 0 '*z*'
++ test_event_wildcard ust 0 '*\**'
++ test_event_wildcard ust 0 '*\*'
++ test_event_wildcard ust 0 '\**'
++ test_event_wildcard ust 0 '*:*tpte*s'
++ test_event_wildcard ust 0 'tp**tpTest'
++
++ # matching
++ test_event_wildcard ust 1 'tp:tp*'
++ test_event_wildcard ust 1 '*'
++ test_event_wildcard ust 1 'tp:tptest*'
++ test_event_wildcard ust 1 '**'
++ test_event_wildcard ust 1 '***'
++ test_event_wildcard ust 1 '*tptest'
++ test_event_wildcard ust 1 '**tptest'
++ test_event_wildcard ust 1 '*tpte*'
++ test_event_wildcard ust 1 '*tp*'
++ test_event_wildcard ust 1 '*tp**'
++ test_event_wildcard ust 1 '*:*tptest'
++ test_event_wildcard ust 1 '*:*tpte*t'
++ test_event_wildcard ust 1 't*p*:*t*e*s*t'
++ test_event_wildcard ust 1 '*t*p*:*t*e*s*t*'
++ test_event_wildcard ust 1 'tp*tptest'
++ test_event_wildcard ust 1 'tp**tptest'
++ test_event_wildcard ust 1 'tp*test'
++}
+
+ if [ "$(id -u)" == "0" ]; then
+ isroot=1
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch
new file mode 100644
index 000000000..16df3e610
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch
@@ -0,0 +1,176 @@
+From 9bc81a446d0a3ea9a884739eee48d3f14db3283c Mon Sep 17 00:00:00 2001
+From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Date: Wed, 28 Mar 2018 15:21:26 -0400
+Subject: [PATCH lttng-tools] Tests: use modprobe to test for the presence of
+ lttng-modules
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Backport [28702730192ae1ded06105c54c5dc]
+
+Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+---
+ tests/regression/tools/regen-metadata/test_kernel | 8 ++------
+ tests/regression/tools/regen-statedump/test_kernel | 7 +------
+ tests/regression/tools/snapshots/test_kernel | 9 +++------
+ tests/regression/tools/snapshots/test_kernel_streaming | 8 ++------
+ tests/regression/tools/streaming/test_kernel | 8 ++------
+ tests/utils/utils.sh | 10 ++++++++++
+ 6 files changed, 20 insertions(+), 30 deletions(-)
+
+diff --git a/tests/regression/tools/regen-metadata/test_kernel b/tests/regression/tools/regen-metadata/test_kernel
+index fd139aeef..1849b9cd0 100755
+--- a/tests/regression/tools/regen-metadata/test_kernel
++++ b/tests/regression/tools/regen-metadata/test_kernel
+@@ -28,12 +28,6 @@ NUM_TESTS=18
+
+ source $TESTDIR/utils/utils.sh
+
+-# LTTng kernel modules check
+-out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
+-if [ -z "$out" ]; then
+- BAIL_OUT "LTTng modules not detected."
+-fi
+-
+ function lttng_create_session_uri
+ {
+ # Create session with default path
+@@ -91,6 +85,8 @@ fi
+
+ skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
+ {
++ validate_lttng_modules_present
++
+ start_lttng_relayd "-o $TRACE_PATH"
+ start_lttng_sessiond
+ modprobe lttng-test
+diff --git a/tests/regression/tools/regen-statedump/test_kernel b/tests/regression/tools/regen-statedump/test_kernel
+index 85afe76a1..50054eb07 100755
+--- a/tests/regression/tools/regen-statedump/test_kernel
++++ b/tests/regression/tools/regen-statedump/test_kernel
+@@ -29,12 +29,6 @@ NUM_TESTS=11
+
+ source $TESTDIR/utils/utils.sh
+
+-# LTTng kernel modules check
+-out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
+-if [ -z "$out" ]; then
+- BAIL_OUT "LTTng modules not detected."
+-fi
+-
+ function test_kernel_local ()
+ {
+ diag "Test kernel local with statedump regeneration"
+@@ -64,6 +58,7 @@ fi
+
+ skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
+ {
++ validate_lttng_modules_present
+ start_lttng_sessiond
+ modprobe lttng-test
+
+diff --git a/tests/regression/tools/snapshots/test_kernel b/tests/regression/tools/snapshots/test_kernel
+index 886c4557a..ff563100b 100755
+--- a/tests/regression/tools/snapshots/test_kernel
++++ b/tests/regression/tools/snapshots/test_kernel
+@@ -29,12 +29,6 @@ NUM_TESTS=2060
+
+ source $TESTDIR/utils/utils.sh
+
+-# LTTng kernel modules check
+-out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
+-if [ -z "$out" ]; then
+- BAIL_OUT "LTTng modules not detected."
+-fi
+-
+ function test_kernel_local_snapshot ()
+ {
+ diag "Test local kernel snapshots"
+@@ -241,6 +235,9 @@ fi
+
+ skip $isroot "Root access is needed. Skipping all kernel snapshot tests." $NUM_TESTS ||
+ {
++
++ validate_lttng_modules_present
++
+ start_lttng_sessiond
+
+ #tests=( test_kernel_1000_local_snapshots )
+diff --git a/tests/regression/tools/snapshots/test_kernel_streaming b/tests/regression/tools/snapshots/test_kernel_streaming
+index 7b96ef270..1d97519aa 100755
+--- a/tests/regression/tools/snapshots/test_kernel_streaming
++++ b/tests/regression/tools/snapshots/test_kernel_streaming
+@@ -29,12 +29,6 @@ NUM_TESTS=61
+
+ source $TESTDIR/utils/utils.sh
+
+-# LTTng kernel modules check
+-out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
+-if [ -z "$out" ]; then
+- BAIL_OUT "LTTng modules not detected."
+-fi
+-
+ function snapshot_add_output ()
+ {
+ local sess_name=$1
+@@ -169,6 +163,8 @@ fi
+
+ skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
+ {
++ validate_lttng_modules_present
++
+ start_lttng_relayd "-o $TRACE_PATH"
+ start_lttng_sessiond
+
+diff --git a/tests/regression/tools/streaming/test_kernel b/tests/regression/tools/streaming/test_kernel
+index d54bcedf5..6bb23d9f5 100755
+--- a/tests/regression/tools/streaming/test_kernel
++++ b/tests/regression/tools/streaming/test_kernel
+@@ -28,12 +28,6 @@ NUM_TESTS=10
+
+ source $TESTDIR/utils/utils.sh
+
+-# LTTng kernel modules check
+-out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
+-if [ -z "$out" ]; then
+- BAIL_OUT "LTTng modules not detected."
+-fi
+-
+ function lttng_create_session_uri
+ {
+ # Create session with default path
+@@ -80,6 +74,8 @@ fi
+
+ skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
+ {
++ validate_lttng_modules_present
++
+ start_lttng_relayd "-o $TRACE_PATH"
+ start_lttng_sessiond
+
+diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh
+index af63824ce..26e59e383 100644
+--- a/tests/utils/utils.sh
++++ b/tests/utils/utils.sh
+@@ -125,6 +125,16 @@ function conf_proc_count()
+ echo
+ }
+
++# Check if base lttng-modules are present.
++# Bail out on failure
++function validate_lttng_modules_present ()
++{
++ modprobe -n lttng-tracer 2>/dev/null
++ if [ $? -ne 0 ]; then
++ BAIL_OUT "LTTng modules not detected."
++ fi
++}
++
+ function enable_kernel_lttng_event
+ {
+ local withtap="$1"
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
new file mode 100644
index 000000000..e07c227f4
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
@@ -0,0 +1,28 @@
+From 92f93238f1df005aadc98e105c0dd0e04a5955a7 Mon Sep 17 00:00:00 2001
+From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Date: Mon, 25 Mar 2019 14:24:51 -0400
+Subject: [2/2] tests: check for lttng-modules presence
+
+Upstream-status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae]
+Backported to 2.11 and 2.10
+
+Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+---
+ tests/regression/tools/notification/test_notification_kernel | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/regression/tools/notification/test_notification_kernel b/tests/regression/tools/notification/test_notification_kernel
+index 6d7f256ae..e7368df26 100755
+--- a/tests/regression/tools/notification/test_notification_kernel
++++ b/tests/regression/tools/notification/test_notification_kernel
+@@ -108,6 +108,7 @@ function kernel_test
+ }
+
+ if [ "$(id -u)" == "0" ]; then
++ validate_lttng_modules_present
+ kernel_test
+ else
+ # Kernel tests are skipped.
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
new file mode 100644
index 000000000..5437de26e
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
@@ -0,0 +1,345 @@
+From 10e8001ad876d8cb3b5a17c7492e713bbc047975 Mon Sep 17 00:00:00 2001
+From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Date: Thu, 28 Mar 2019 18:31:29 -0400
+Subject: [PATCH] Fix: getgrnam is not MT-Safe, use getgrnam_r
+
+Running the test suite under a Yocto musl build resulted in musl
+coredump due to double freeing.
+
+We get the following backtraces:
+
+0 a_crash () at ./arch/x86_64/atomic_arch.h:108
+1 unmap_chunk (self=<optimized out>) at src/malloc/malloc.c:515
+2 free (p=<optimized out>) at src/malloc/malloc.c:526
+3 0x00007f46d9dc3849 in __getgrent_a (f=f@entry=0x7f46d9d1f7e0, gr=gr@entry=0x7f46d9e24460 <gr>, line=line@entry=0x7f46d9e26058 <line>, size=size@entry=0x7f46d92db550, mem=mem@entry=0x7f46d9e26050 <mem>, nmem=nmem@entry=0x7f46d92db558, res=0x7f46d92db548) at src/passwd/getgrent_a.c:45
+4 0x00007f46d9dc2e6b in __getgr_a (name=0x487242 "tracing", gid=gid@entry=0, gr=gr@entry=0x7f46d9e24460 <gr>, buf=buf@entry=0x7f46d9e26058 <line>, size=size@entry=0x7f46d92db550, mem=mem@entry=0x7f46d9e26050 <mem>, nmem=0x7f46d92db558, res=0x7f46d92db548) at src/passwd/getgr_a.c:30
+5 0x00007f46d9dc3733 in getgrnam (name=<optimized out>) at src/passwd/getgrent.c:37
+6 0x0000000000460b29 in utils_get_group_id (name=<optimized out>) at ../../../lttng-tools-2.10.6/src/common/utils.c:1241
+7 0x000000000044ee69 in thread_manage_health (data=<optimized out>) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/main.c:4115
+8 0x00007f46d9de1541 in start (p=<optimized out>) at src/thread/pthread_create.c:195
+9 0x00007f46d9dee661 in __clone () at src/thread/x86_64/clone.s:22
+
+From another run:
+
+0 a_crash () at ./arch/x86_64/atomic_arch.h:108
+1 unmap_chunk (self=<optimized out>) at src/malloc/malloc.c:515
+2 free (p=<optimized out>) at src/malloc/malloc.c:526
+3 0x00007f5abc210849 in __getgrent_a (f=f@entry=0x7f5abc2733e0, gr=gr@entry=0x7f5abc271460 <gr>, line=line@entry=0x7f5abc273058 <line>, size=size@entry=0x7f5abaef5510, mem=mem@entry=0x7f5abc273050 <mem>, nmem=nmem@entry=0x7f5abaef5518, res=0x7f5abaef5508) at src/passwd/getgrent_a.c:45
+4 0x00007f5abc20fe6b in __getgr_a (name=0x487242 "tracing", gid=gid@entry=0, gr=gr@entry=0x7f5abc271460 <gr>, buf=buf@entry=0x7f5abc273058 <line>, size=size@entry=0x7f5abaef5510, mem=mem@entry=0x7f5abc273050 <mem>, nmem=0x7f5abaef5518, res=0x7f5abaef5508) at src/passwd/getgr_a.c:30
+5 0x00007f5abc210733 in getgrnam (name=<optimized out>) at src/passwd/getgrent.c:37
+6 0x0000000000460b29 in utils_get_group_id (name=<optimized out>) at ../../../lttng-tools-2.10.6/src/common/utils.c:1241
+7 0x000000000042dee4 in notification_channel_socket_create () at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:238
+8 init_thread_state (state=0x7f5abaef5560, handle=0x7f5abbf9be40) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:375
+9 thread_notification (data=0x7f5abbf9be40) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:495
+10 0x00007f5abc22e541 in start (p=<optimized out>) at src/thread/pthread_create.c:195
+11 0x00007f5abc23b661 in __clone () at src/thread/x86_64/clone.s:22
+
+The problem was easily reproducible (~6 crash on ~300 runs). A prototype fix
+using mutex around the getgrnam yielded no crash in over 1000 runs. This
+patch yielded the same results as the prototype fix.
+
+Unfortunately we cannot rely on a mutex in liblttng-ctl since we cannot
+enforce the locking for the application using the lib.
+
+Use getgrnam_r instead.
+
+The previous implementation of utils_get_group_id returned the gid of
+the root group (0) on error/not found. lttng_check_tracing_group needs
+to know if an error/not found occured, returning the root group is not
+enough. We now return the gid via the passed parameter. The caller is
+responsible for either defaulting to the root group or propagating the
+error.
+
+We also do not want to warn when used in liblttng-ctl context. We might
+want to move the warning elsewhere in the future. For now, pass a bool
+if we need to warn or not.
+
+Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+---
+ src/bin/lttng-consumerd/health-consumerd.c | 10 ++-
+ src/bin/lttng-relayd/health-relayd.c | 20 ++++--
+ src/bin/lttng-sessiond/main.c | 24 +++++--
+ src/bin/lttng-sessiond/notification-thread.c | 10 ++-
+ src/common/utils.c | 75 +++++++++++++++++---
+ src/common/utils.h | 4 +-
+ src/lib/lttng-ctl/lttng-ctl.c | 8 +--
+ 7 files changed, 122 insertions(+), 29 deletions(-)
+
+diff --git a/src/bin/lttng-consumerd/health-consumerd.c b/src/bin/lttng-consumerd/health-consumerd.c
+index 1e2f31e4..6045401a 100644
+--- a/src/bin/lttng-consumerd/health-consumerd.c
++++ b/src/bin/lttng-consumerd/health-consumerd.c
+@@ -184,8 +184,14 @@ void *thread_manage_health(void *data)
+ is_root = !getuid();
+ if (is_root) {
+ /* lttng health client socket path permissions */
+- ret = chown(health_unix_sock_path, 0,
+- utils_get_group_id(tracing_group_name));
++ gid_t gid;
++
++ ret = utils_get_group_id(tracing_group_name, true, &gid);
++ if (ret) {
++ gid = 0; /* Default to root group. */
++ }
++
++ ret = chown(health_unix_sock_path, 0, gid);
+ if (ret < 0) {
+ ERR("Unable to set group on %s", health_unix_sock_path);
+ PERROR("chown");
+diff --git a/src/bin/lttng-relayd/health-relayd.c b/src/bin/lttng-relayd/health-relayd.c
+index ba996621..962e88c4 100644
+--- a/src/bin/lttng-relayd/health-relayd.c
++++ b/src/bin/lttng-relayd/health-relayd.c
+@@ -105,8 +105,14 @@ static int create_lttng_rundir_with_perm(const char *rundir)
+ int is_root = !getuid();
+
+ if (is_root) {
+- ret = chown(rundir, 0,
+- utils_get_group_id(tracing_group_name));
++ gid_t gid;
++
++ ret = utils_get_group_id(tracing_group_name, true, &gid);
++ if (ret) {
++ gid = 0; /* Default to root group.*/
++ }
++
++ ret = chown(rundir, 0, gid);
+ if (ret < 0) {
+ ERR("Unable to set group on %s", rundir);
+ PERROR("chown");
+@@ -256,8 +262,14 @@ void *thread_manage_health(void *data)
+ is_root = !getuid();
+ if (is_root) {
+ /* lttng health client socket path permissions */
+- ret = chown(health_unix_sock_path, 0,
+- utils_get_group_id(tracing_group_name));
++ gid_t gid;
++
++ ret = utils_get_group_id(tracing_group_name, true, &gid);
++ if (ret) {
++ gid = 0; /* Default to root group */
++ }
++
++ ret = chown(health_unix_sock_path, 0, gid);
+ if (ret < 0) {
+ ERR("Unable to set group on %s", health_unix_sock_path);
+ PERROR("chown");
+diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c
+index fa6fa483..49307064 100644
+--- a/src/bin/lttng-sessiond/main.c
++++ b/src/bin/lttng-sessiond/main.c
+@@ -4112,8 +4112,14 @@ static void *thread_manage_health(void *data)
+
+ if (is_root) {
+ /* lttng health client socket path permissions */
+- ret = chown(config.health_unix_sock_path.value, 0,
+- utils_get_group_id(config.tracing_group_name.value));
++ gid_t gid;
++
++ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
++ if (ret) {
++ gid = 0; /* Default to root group */
++ }
++
++ ret = chown(config.health_unix_sock_path.value, 0, &gid);
+ if (ret < 0) {
+ ERR("Unable to set group on %s", config.health_unix_sock_path.value);
+ PERROR("chown");
+@@ -5238,7 +5244,10 @@ static int set_permissions(char *rundir)
+ int ret;
+ gid_t gid;
+
+- gid = utils_get_group_id(config.tracing_group_name.value);
++ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
++ if (ret) {
++ gid = 0; /* Default to root group */
++ }
+
+ /* Set lttng run dir */
+ ret = chown(rundir, 0, gid);
+@@ -5349,7 +5358,14 @@ static int set_consumer_sockets(struct consumer_data *consumer_data)
+ goto error;
+ }
+ if (is_root) {
+- ret = chown(path, 0, utils_get_group_id(config.tracing_group_name.value));
++ gid_t gid;
++
++ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
++ if (ret) {
++ gid = 0; /* Default to root group */
++ }
++
++ ret = chown(path, 0, gid);
+ if (ret < 0) {
+ ERR("Unable to set group on %s", path);
+ PERROR("chown");
+diff --git a/src/bin/lttng-sessiond/notification-thread.c b/src/bin/lttng-sessiond/notification-thread.c
+index 92ac597f..18a264d9 100644
+--- a/src/bin/lttng-sessiond/notification-thread.c
++++ b/src/bin/lttng-sessiond/notification-thread.c
+@@ -235,8 +235,14 @@ int notification_channel_socket_create(void)
+ }
+
+ if (getuid() == 0) {
+- ret = chown(sock_path, 0,
+- utils_get_group_id(config.tracing_group_name.value));
++ gid_t gid;
++
++ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
++ if (ret) {
++ gid = 0; /* Default to root group. */
++ }
++
++ ret = chown(sock_path, 0, gid);
+ if (ret) {
+ ERR("Failed to set the notification channel socket's group");
+ ret = -1;
+diff --git a/src/common/utils.c b/src/common/utils.c
+index c0bb031e..778bc00f 100644
+--- a/src/common/utils.c
++++ b/src/common/utils.c
+@@ -1231,24 +1231,77 @@ size_t utils_get_current_time_str(const char *format, char *dst, size_t len)
+ }
+
+ /*
+- * Return the group ID matching name, else 0 if it cannot be found.
++ * Return 0 on success and set *gid to the group_ID matching the passed name.
++ * Else -1 if it cannot be found or an error occurred.
+ */
+ LTTNG_HIDDEN
+-gid_t utils_get_group_id(const char *name)
++int utils_get_group_id(const char *name, bool warn, gid_t *gid)
+ {
+- struct group *grp;
++ static volatile int warn_once;
+
+- grp = getgrnam(name);
+- if (!grp) {
+- static volatile int warn_once;
++ int ret;
++ long sys_len;
++ size_t len;
++ struct group grp;
++ struct group *result;
++ char *buffer = NULL;
+
+- if (!warn_once) {
+- WARN("No tracing group detected");
+- warn_once = 1;
++ /* Get the system limit if it exists */
++ sys_len = sysconf(_SC_GETGR_R_SIZE_MAX);
++ if (sys_len == -1) {
++ len = 1024;
++ } else {
++ len = (size_t) sys_len;
++ }
++
++ buffer = malloc(len);
++ if (!buffer) {
++ PERROR("getgrnam_r malloc");
++ ret = -1;
++ goto error;
++ }
++
++ while ((ret = getgrnam_r(name, &grp, buffer, len, &result)) == ERANGE)
++ {
++ /* Buffer is not big enough, increase its size. */
++ size_t new_len = 2 * len;
++ char *new_buffer = NULL;
++ if (new_len < len) {
++ ERR("getgrnam_r buffer size overflow");
++ ret = -1;
++ goto error;
++ }
++ len = new_len;
++ new_buffer = realloc(buffer, len);
++ if (!new_buffer) {
++ PERROR("getgrnam_r realloc");
++ ret = -1;
++ goto error;
+ }
+- return 0;
++ buffer = new_buffer;
++ }
++ if (ret != 0) {
++ PERROR("getgrnam_r");
++ ret = -1;
++ goto error;
++ }
++
++ /* Group not found. */
++ if (!result) {
++ ret = -1;
++ goto error;
++ }
++
++ *gid = result->gr_gid;
++ ret = 0;
++
++error:
++ free(buffer);
++ if (ret && warn && !warn_once) {
++ WARN("No tracing group detected");
++ warn_once = 1;
+ }
+- return grp->gr_gid;
++ return ret;
+ }
+
+ /*
+diff --git a/src/common/utils.h b/src/common/utils.h
+index 18f19ef1..9c72431d 100644
+--- a/src/common/utils.h
++++ b/src/common/utils.h
+@@ -22,6 +22,8 @@
+ #include <unistd.h>
+ #include <stdint.h>
+ #include <getopt.h>
++#include <stdbool.h>
++#include <sys/types.h>
+
+ #define KIBI_LOG2 10
+ #define MEBI_LOG2 20
+@@ -52,7 +54,7 @@ int utils_get_count_order_u64(uint64_t x);
+ char *utils_get_home_dir(void);
+ char *utils_get_user_home_dir(uid_t uid);
+ size_t utils_get_current_time_str(const char *format, char *dst, size_t len);
+-gid_t utils_get_group_id(const char *name);
++int utils_get_group_id(const char *name, bool warn, gid_t *gid);
+ char *utils_generate_optstring(const struct option *long_options,
+ size_t opt_count);
+ int utils_create_lock_file(const char *filepath);
+diff --git a/src/lib/lttng-ctl/lttng-ctl.c b/src/lib/lttng-ctl/lttng-ctl.c
+index 2d84aad9..561b0bcf 100644
+--- a/src/lib/lttng-ctl/lttng-ctl.c
++++ b/src/lib/lttng-ctl/lttng-ctl.c
+@@ -208,15 +208,13 @@ end:
+ LTTNG_HIDDEN
+ int lttng_check_tracing_group(void)
+ {
+- struct group *grp_tracing; /* no free(). See getgrnam(3) */
+- gid_t *grp_list;
++ gid_t *grp_list, tracing_gid;
+ int grp_list_size, grp_id, i;
+ int ret = -1;
+ const char *grp_name = tracing_group;
+
+ /* Get GID of group 'tracing' */
+- grp_tracing = getgrnam(grp_name);
+- if (!grp_tracing) {
++ if (utils_get_group_id(grp_name, false, &tracing_gid)) {
+ /* If grp_tracing is NULL, the group does not exist. */
+ goto end;
+ }
+@@ -241,7 +239,7 @@ int lttng_check_tracing_group(void)
+ }
+
+ for (i = 0; i < grp_list_size; i++) {
+- if (grp_list[i] == grp_tracing->gr_gid) {
++ if (grp_list[i] == tracing_gid) {
+ ret = 1;
+ break;
+ }
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
index 705030ee5..dbb18820a 100755
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
@@ -3,4 +3,4 @@
# test plan to raise ERRORs; this is just noise.
makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=$PWD top_builddir=$PWD"
make -k -t all >/dev/null 2>&1
-exec make -s $makeargs check 2>/dev/null
+exec make -k -s $makeargs check 2>/dev/null
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/x32.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/x32.patch
index b1bb8e493..42cebf94a 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/x32.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/x32.patch
@@ -1,11 +1,31 @@
Fix build for x32
-Upstream-Status: Pending
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
---- lttng-tools-2.6.0/src/bin/lttng/utils.c~ 2015-01-26 18:17:15.000000000 +0100
-+++ lttng-tools-2.6.0/src/bin/lttng/utils.c 2015-07-30 19:45:25.632045712 +0200
-@@ -130,7 +130,7 @@
+Fix build error of src/common/utils.c for x32.
+
+Upstream-Status: Submitted [https://github.com/lttng/lttng-tools/pull/150]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c
+index 0e96ef0c..5c79c8c7 100644
+--- a/src/bin/lttng/utils.c
++++ b/src/bin/lttng/utils.c
+@@ -158,7 +158,7 @@ unsigned int fls_u32(uint32_t x)
+ #define HAS_FLS_U32
+ #endif
+
+-#if defined(__x86_64)
++#if defined(__x86_64) && !defined(__ILP32__)
+ static inline
+ unsigned int fls_u64(uint64_t x)
+ {
+diff --git a/src/common/utils.c b/src/common/utils.c
+index 08139e5e..3c389981 100644
+--- a/src/common/utils.c
++++ b/src/common/utils.c
+@@ -1223,7 +1223,7 @@ static inline unsigned int fls_u32(uint32_t x)
#define HAS_FLS_U32
#endif
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb
new file mode 100644
index 000000000..a3fabb20e
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb
@@ -0,0 +1,167 @@
+SECTION = "devel"
+SUMMARY = "Linux Trace Toolkit Control"
+DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \
+to extract program execution details from the Linux operating system \
+and interpret them."
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \
+ file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca"
+
+DEPENDS = "liburcu popt libxml2 util-linux"
+RDEPENDS_${PN} = "libgcc"
+RDEPENDS_${PN}-ptest += "make perl bash gawk ${PN} babeltrace procps perl-module-overloading coreutils util-linux kmod"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
+RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
+# babelstats.pl wants getopt-long
+RDEPENDS_${PN}-ptest += "perl-module-getopt-long"
+
+PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
+ am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
+ PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
+"
+PACKAGECONFIG ??= "lttng-ust"
+PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
+PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust"
+PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod"
+PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
+PACKAGECONFIG_remove_arc = "lttng-ust"
+
+SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
+ file://x32.patch \
+ file://run-ptest \
+ file://lttng-sessiond.service \
+ file://0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch \
+ file://0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch \
+ file://0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch \
+ file://0004-Skip-when-testapp-is-not-present.patch\
+ file://0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch \
+ file://0006-Tests-check-for-lttng-modules-presence.patch \
+ file://0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch \
+ "
+
+SRC_URI[md5sum] = "e88c521b5da6bb48a8187af633336ecc"
+SRC_URI[sha256sum] = "f05df52bbebf8ce88d1b29e9e98cfc957d2ed738a345118018237ebdb581537c"
+
+inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
+
+SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "tracing"
+
+FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \
+ ${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
+FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
+
+# Since files are installed into ${libdir}/lttng/libexec we match
+# the libexec insane test so skip it.
+# Python module needs to keep _lttng.so
+INSANE_SKIP_${PN} = "libexec dev-so"
+INSANE_SKIP_${PN}-dbg = "libexec"
+
+do_install_append () {
+ # install systemd unit file
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system
+}
+
+do_install_ptest () {
+ for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng ; do
+ install -D "${B}/$f" "${D}${PTEST_PATH}/$f"
+ done
+
+ for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-3.0.xsd; do
+ install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
+ done
+
+ # Prevent 'make check' from recursing into non-test subdirectories.
+ sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile"
+
+ # We don't need these
+ sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile"
+
+ # We shouldn't need to build anything in tests/utils
+ sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \
+ "${D}${PTEST_PATH}/tests/Makefile"
+
+ # Copy the tests directory tree and the executables and
+ # Makefiles found within.
+ for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
+ install -d "${D}${PTEST_PATH}/tests/$d"
+ find "${B}/tests/$d" -maxdepth 1 -executable -type f \
+ -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
+ # Take all .py scripts for tests using the python bindings.
+ find "${B}/tests/$d" -maxdepth 1 -type f -name "*.py" \
+ -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
+ test -r "${B}/tests/$d/Makefile" && \
+ install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
+ done
+
+ for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
+ for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
+ cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
+ case $f in
+ *.so)
+ install -d ${D}${PTEST_PATH}/tests/$d/
+ ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f
+ # Remove any rpath/runpath to pass QA check.
+ chrpath --delete ${D}${PTEST_PATH}/tests/$d/$f
+ ;;
+ esac
+ done
+ done
+
+ #
+ # Use the versioned libs of liblttng-ust-dl.
+ #
+ ustdl="${D}${PTEST_PATH}/tests/regression/ust/ust-dl/test_ust-dl.py"
+ if [ -e $ustdl ]; then
+ sed -i -e 's!:liblttng-ust-dl.so!:liblttng-ust-dl.so.0!' $ustdl
+ fi
+
+ install ${B}/tests/unit/ini_config/sample.ini ${D}${PTEST_PATH}/tests/unit/ini_config/
+
+ # We shouldn't need to build anything in tests/regression/tools
+ sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \
+ "${D}${PTEST_PATH}/tests/regression/Makefile"
+
+ # Prevent attempts to update Makefiles during test runs, and
+ # silence "Making check in $SUBDIR" messages.
+ find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
+ sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \
+ -e '/echo "Making $$target in $$subdir"; \\/d' \
+ -e 's/^srcdir = \(.*\)/srcdir = ./' \
+ -e 's/^builddir = \(.*\)/builddir = ./' \
+ -e 's/^all-am:.*/all-am:/' \
+ {} +
+
+ find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
+ touch -r "${B}/Makefile" {} +
+
+ #
+ # Need to stop generated binaries from rebuilding by removing their source dependencies
+ #
+ sed -e 's#\(^test.*OBJECTS.=\)#disable\1#g' \
+ -e 's#\(^test.*DEPENDENCIES.=\)#disable\1#g' \
+ -e 's#\(^test.*SOURCES.=\)#disable\1#g' \
+ -e 's#\(^test.*LDADD.=\)#disable\1#g' \
+ -i ${D}${PTEST_PATH}/tests/unit/Makefile
+
+ # Substitute links to installed binaries.
+ for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd lttng-crash; do
+ exedir="${D}${PTEST_PATH}/src/bin/${prog}"
+ install -d "$exedir"
+ case "$prog" in
+ lttng-consumerd)
+ ln -s "${libdir}/lttng/libexec/$prog" "$exedir"
+ ;;
+ *)
+ ln -s "${bindir}/$prog" "$exedir"
+ ;;
+ esac
+ done
+}
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.9.11.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.9.11.bb
deleted file mode 100644
index 5e3fc1aab..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.9.11.bb
+++ /dev/null
@@ -1,134 +0,0 @@
-SECTION = "devel"
-SUMMARY = "Linux Trace Toolkit Control"
-DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \
-to extract program execution details from the Linux operating system \
-and interpret them."
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \
- file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca"
-
-DEPENDS = "liburcu popt libxml2 util-linux"
-RDEPENDS_${PN} = "libgcc"
-RDEPENDS_${PN}-ptest += "make perl bash gawk ${PN} babeltrace procps"
-# babelstats.pl wants getopt-long
-RDEPENDS_${PN}-ptest += "perl-module-getopt-long"
-
-PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
- am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
- PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
-"
-PACKAGECONFIG ??= "lttng-ust"
-PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
-PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust"
-PACKAGECONFIG[kmod] = "--enable-kmod, --disable-kmod, kmod"
-PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
-PACKAGECONFIG_remove_libc-musl = "lttng-ust"
-PACKAGECONFIG_remove_riscv64 = "lttng-ust"
-
-SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
- file://x32.patch \
- file://run-ptest \
- file://0001-Allow-multiple-attempts-to-connect-to-relayd.patch \
- file://lttng-sessiond.service \
- "
-
-SRC_URI[md5sum] = "f9c2b35810790f5bd802483eb14cb301"
-SRC_URI[sha256sum] = "2c45144acf8dc6fcd655be7370a022e9c03c8b7419af489c9c2e786a335006db"
-
-inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
-
-SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "tracing"
-
-FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \
- ${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
-FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
-
-# Since files are installed into ${libdir}/lttng/libexec we match
-# the libexec insane test so skip it.
-# Python module needs to keep _lttng.so
-INSANE_SKIP_${PN} = "libexec dev-so"
-INSANE_SKIP_${PN}-dbg = "libexec"
-
-do_install_append () {
- # install systemd unit file
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system
-}
-
-do_install_ptest () {
- for f in Makefile tests/Makefile tests/utils/utils.sh ; do
- install -D "${B}/$f" "${D}${PTEST_PATH}/$f"
- done
-
- for f in config/tap-driver.sh config/test-driver ; do
- install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
- done
-
- # Prevent 'make check' from recursing into non-test subdirectories.
- sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile"
-
- # We don't need these
- sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile"
-
- # We shouldn't need to build anything in tests/utils
- sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \
- "${D}${PTEST_PATH}/tests/Makefile"
-
- # Copy the tests directory tree and the executables and
- # Makefiles found within.
- for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
- install -d "${D}${PTEST_PATH}/tests/$d"
- find "${B}/tests/$d" -maxdepth 1 -executable -type f \
- -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
- test -r "${B}/tests/$d/Makefile" && \
- install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
- done
-
- # We shouldn't need to build anything in tests/regression/tools
- sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \
- "${D}${PTEST_PATH}/tests/regression/Makefile"
-
- # Prevent attempts to update Makefiles during test runs, and
- # silence "Making check in $SUBDIR" messages.
- find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
- sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \
- -e '/echo "Making $$target in $$subdir"; \\/d' \
- -e 's/^srcdir = \(.*\)/srcdir = ./' \
- -e 's/^builddir = \(.*\)/builddir = ./' \
- -e 's/^all-am:.*/all-am:/' \
- {} +
-
- # These objects trigger [rpaths] QA checks; the test harness
- # skips the associated tests if they're missing, so delete
- # them.
- objs=""
- objs="$objs regression/ust/ust-dl/libbar.so"
- objs="$objs regression/ust/ust-dl/libfoo.so"
- for obj in $objs ; do
- rm -f "${D}${PTEST_PATH}/tests/${obj}"
- done
-
- find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
- touch -r "${B}/Makefile" {} +
-
- # Substitute links to installed binaries.
- for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd ; do
- exedir="${D}${PTEST_PATH}/src/bin/${prog}"
- install -d "$exedir"
- case "$prog" in
- lttng-consumerd)
- ln -s "${libdir}/lttng/libexec/$prog" "$exedir"
- ;;
- *)
- ln -s "${bindir}/$prog" "$exedir"
- ;;
- esac
- done
-}
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch
new file mode 100644
index 000000000..5c4bd3672
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch
@@ -0,0 +1,109 @@
+From 5de7c318804a7b1edce8562d4891b4c74aac0677 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Wed, 20 Mar 2019 11:07:35 -0400
+Subject: [PATCH] compat: work around broken _SC_NPROCESSORS_CONF on MUSL libc
+
+On MUSL libc the _SC_NPROCESSORS_CONF sysconf will report the number of
+CPUs allocated to the task based on the affinity mask instead of the
+total number of CPUs configured on the system.
+
+Upstream-Status: Accepted [1] [5de7c318804a7b1edce8562d4891b4c74aac0677]
+[1] https://lists.lttng.org/pipermail/lttng-dev/2019-March/028616.html
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ libringbuffer/smp.c | 66 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+
+diff --git a/libringbuffer/smp.c b/libringbuffer/smp.c
+index 9e7114be..656a75da 100644
+--- a/libringbuffer/smp.c
++++ b/libringbuffer/smp.c
+@@ -2,6 +2,7 @@
+ * libringbuffer/smp.c
+ *
+ * Copyright (C) 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
++ * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+@@ -26,6 +27,7 @@
+
+ int __num_possible_cpus;
+
++#if (defined(__GLIBC__) || defined( __UCLIBC__))
+ void _get_num_possible_cpus(void)
+ {
+ int result;
+@@ -43,3 +45,67 @@ void _get_num_possible_cpus(void)
+ return;
+ __num_possible_cpus = result;
+ }
++
++#else
++
++/*
++ * The MUSL libc implementation of the _SC_NPROCESSORS_CONF sysconf does not
++ * return the number of configured CPUs in the system but relies on the cpu
++ * affinity mask of the current task.
++ *
++ * So instead we use a strategy similar to GLIBC's, counting the cpu
++ * directories in "/sys/devices/system/cpu" and fallback on the value from
++ * sysconf if it fails.
++ */
++
++#include <dirent.h>
++#include <limits.h>
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++#define __max(a,b) ((a)>(b)?(a):(b))
++
++void _get_num_possible_cpus(void)
++{
++ int result, count = 0;
++ DIR *cpudir;
++ struct dirent *entry;
++
++ cpudir = opendir("/sys/devices/system/cpu");
++ if (cpudir == NULL)
++ goto end;
++
++ /*
++ * Count the number of directories named "cpu" followed by and
++ * integer. This is the same strategy as glibc uses.
++ */
++ while ((entry = readdir(cpudir))) {
++ if (entry->d_type == DT_DIR &&
++ strncmp(entry->d_name, "cpu", 3) == 0) {
++
++ char *endptr;
++ unsigned long cpu_num;
++
++ cpu_num = strtoul(entry->d_name + 3, &endptr, 10);
++ if ((cpu_num < ULONG_MAX) && (endptr != entry->d_name + 3)
++ && (*endptr == '\0')) {
++ count++;
++ }
++ }
++ }
++
++end:
++ /*
++ * Get the sysconf value as a fallback. Keep the highest number.
++ */
++ result = __max(sysconf(_SC_NPROCESSORS_CONF), count);
++
++ /*
++ * If both methods failed, don't store the value.
++ */
++ if (result < 1)
++ return;
++ __num_possible_cpus = result;
++}
++#endif
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb
index b5c43200d..d54610412 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb
@@ -8,7 +8,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \
file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \
file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44"
-inherit autotools lib_package manpages
+PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
+ am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
+ PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
+"
+
+inherit autotools lib_package manpages python3native
DEPENDS = "liburcu util-linux"
RDEPENDS_${PN}-bin = "python3-core"
@@ -22,13 +27,20 @@ PE = "2"
SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
file://lttng-ust-doc-examples-disable.patch \
+ file://0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch \
"
+
SRC_URI[md5sum] = "ffcfa8c1ba9a52f002d240e936e9afa2"
SRC_URI[sha256sum] = "9e8420f90d5f963f7aa32bc6d44adc1e491136f687c69ffb7a3075d33b40852b"
CVE_PRODUCT = "ust"
PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
+PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3"
+
+FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a"
+FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la"
do_install_append() {
# Patch python tools to use Python 3; they should be source compatible, but
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index bae494875..5acdcfb9f 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -80,6 +80,7 @@ EXTRA_OEMAKE = '\
NO_GTK2=1 \
${PACKAGECONFIG_CONFARGS} \
TMPDIR="${B}" \
+ LIBUNWIND_DIR=${STAGING_EXECPREFIXDIR} \
'
EXTRA_OEMAKE += "\
@@ -234,6 +235,10 @@ do_configure_prepend () {
for s in `find ${S}/tools/perf/scripts/python/ -name '*.py'`; do
sed -i 's,/usr/bin/python2,/usr/bin/env python,' "${s}"
done
+
+ # unistd.h can be out of sync between libc-headers and the captured version in the perf source
+ # so we copy it from the sysroot unistd.h to the perf unistd.h
+ cp ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
}
python do_package_prepend() {
@@ -254,7 +259,8 @@ RDEPENDS_${PN}-tests =+ "python"
RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}"
RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
-FILES_${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent"
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent ${libdir}/libperf-jvmti.so"
FILES_${PN}-archive = "${libdir}/perf/perf-core/perf-archive"
FILES_${PN}-tests = "${libdir}/perf/perf-core/tests ${libexecdir}/perf-core/tests"
FILES_${PN}-python = " \
diff --git a/poky/meta/recipes-kernel/powertop/powertop_2.10.bb b/poky/meta/recipes-kernel/powertop/powertop_2.10.bb
new file mode 100644
index 000000000..d943ba9f6
--- /dev/null
+++ b/poky/meta/recipes-kernel/powertop/powertop_2.10.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Power usage tool"
+DESCRIPTION = "Linux tool to diagnose issues with power consumption and power management."
+HOMEPAGE = "http://01.org/powertop/"
+BUGTRACKER = "http://bugzilla.lesswatts.org/"
+DEPENDS = "ncurses libnl pciutils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
+
+SRC_URI = "http://01.org/sites/default/files/downloads/powertop-v${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "a69bd55901cf919cc564187402ea2c9c"
+SRC_URI[sha256sum] = "d3b7459eaba7d01c8841dd33a3b4d369416c01e9bd8951b0d88234cf18fe4a75"
+
+UPSTREAM_CHECK_URI = "https://01.org/powertop/downloads"
+UPSTREAM_CHECK_REGEX = "powertop-[v]?(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit autotools gettext pkgconfig
+
+S = "${WORKDIR}/${BPN}-v${PV}"
+
+# we do not want libncursesw if we can
+do_configure_prepend() {
+ # configure.ac checks for delwin() in "ncursesw ncurses" so let's drop first one
+ sed -i -e "s/ncursesw//g" ${S}/configure.ac
+ mkdir -p ${B}/src/tuning/
+}
+
+inherit update-alternatives
+ALTERNATIVE_${PN} = "powertop"
+ALTERNATIVE_TARGET[powertop] = "${sbindir}/powertop"
+ALTERNATIVE_LINK_NAME[powertop] = "${sbindir}/powertop"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-kernel/powertop/powertop_2.9.bb b/poky/meta/recipes-kernel/powertop/powertop_2.9.bb
deleted file mode 100644
index 4fe5447a0..000000000
--- a/poky/meta/recipes-kernel/powertop/powertop_2.9.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Power usage tool"
-DESCRIPTION = "Linux tool to diagnose issues with power consumption and power management."
-HOMEPAGE = "http://01.org/powertop/"
-BUGTRACKER = "http://bugzilla.lesswatts.org/"
-DEPENDS = "ncurses libnl pciutils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
-
-SRC_URI = "http://01.org/sites/default/files/downloads/powertop/powertop-v${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "583518c5c4434c6e9b9c58c3920950b6"
-SRC_URI[sha256sum] = "aa7fb7d8e9a00f05e7d8a7a2866d85929741e0d03a5bf40cab22d2021c959250"
-
-UPSTREAM_CHECK_URI = "https://01.org/powertop/downloads"
-UPSTREAM_CHECK_REGEX = "powertop-[v]?(?P<pver>\d+(\.\d+)+)\.tar"
-
-inherit autotools gettext pkgconfig
-
-S = "${WORKDIR}/${BPN}-v${PV}"
-
-# we do not want libncursesw if we can
-do_configure_prepend() {
- # configure.ac checks for delwin() in "ncursesw ncurses" so let's drop first one
- sed -i -e "s/ncursesw//g" ${S}/configure.ac
- mkdir -p ${B}/src/tuning/
-}
-
-inherit update-alternatives
-ALTERNATIVE_${PN} = "powertop"
-ALTERNATIVE_TARGET[powertop] = "${sbindir}/powertop"
-ALTERNATIVE_LINK_NAME[powertop] = "${sbindir}/powertop"
-ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-kernel/sysprof/files/0001-fix-non-literal-format-string-issues.patch b/poky/meta/recipes-kernel/sysprof/files/0001-fix-non-literal-format-string-issues.patch
deleted file mode 100644
index 38f9f5f66..000000000
--- a/poky/meta/recipes-kernel/sysprof/files/0001-fix-non-literal-format-string-issues.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From de13d1f908335cc882c447e4d7c4360b9e5da190 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 6 Sep 2018 17:49:44 -0700
-Subject: [PATCH] fix non-literal format string issues
-
-clang errors out when using -Werror=format-nonliteral
-since the definition of g_strdup_vprintf() from glib-2.0
-is using va_list and clangs still warns where as
-gcc doesn't do that for va_list arguments
-
-Fixes
-src/sp-window.c:96:27: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
-| str = g_strdup_vprintf (format, args);
-| ^~~~~~
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/sysprof/merge_requests/6]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/sp-window.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sp-window.c b/src/sp-window.c
-index 4dfac2d..aff4779 100644
---- a/src/sp-window.c
-+++ b/src/sp-window.c
-@@ -80,7 +80,7 @@ static guint signals [N_SIGNALS];
- static void sp_window_set_profiler (SpWindow *self,
- SpProfiler *profiler);
-
--static void
-+static G_GNUC_PRINTF(3, 4) void
- sp_window_notify_user (SpWindow *self,
- GtkMessageType message_type,
- const gchar *format,
diff --git a/poky/meta/recipes-kernel/sysprof/files/wordsize.patch b/poky/meta/recipes-kernel/sysprof/files/wordsize.patch
deleted file mode 100644
index d65b13a68..000000000
--- a/poky/meta/recipes-kernel/sysprof/files/wordsize.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/sysprof/merge_requests/5]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From bc7e3e27c28d0bab8bea72f2314191532b2e7840 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Fri, 7 Sep 2018 01:30:09 +0100
-Subject: [PATCH] capture: use size of void* instead of glibc-specific
- __WORDSIZE
-
-__WORDSIZE is glibc-specific so sp-capture-types.h doesn't work with musl.
----
- lib/capture/sp-capture-types.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/lib/capture/sp-capture-types.h b/lib/capture/sp-capture-types.h
-index 48fcfb8..1d6cd1d 100644
---- a/lib/capture/sp-capture-types.h
-+++ b/lib/capture/sp-capture-types.h
-@@ -32,12 +32,14 @@ G_BEGIN_DECLS
- #define SP_CAPTURE_MAGIC (GUINT32_TO_LE(0xFDCA975E))
- #define SP_CAPTURE_ALIGN (sizeof(SpCaptureAddress))
-
--#if __WORDSIZE == 64
-+#if GLIB_SIZEOF_VOID_P == 8
- # define SP_CAPTURE_JITMAP_MARK G_GUINT64_CONSTANT(0xE000000000000000)
- # define SP_CAPTURE_ADDRESS_FORMAT "0x%016lx"
--#else
-+#elif GLIB_SIZEOF_VOID_P == 4
- # define SP_CAPTURE_JITMAP_MARK G_GUINT64_CONSTANT(0xE0000000)
- # define SP_CAPTURE_ADDRESS_FORMAT "0x%016llx"
-+#else
-+#error Unknown GLIB_SIZEOF_VOID_P
- #endif
-
- #define SP_CAPTURE_CURRENT_TIME (sp_clock_get_current_time())
---
-2.11.0
-
diff --git a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.0.bb b/poky/meta/recipes-kernel/sysprof/sysprof_3.30.0.bb
deleted file mode 100644
index 19dcf25a5..000000000
--- a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "System-wide Performance Profiler for Linux"
-HOMEPAGE = "http://www.sysprof.com"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://src/sp-application.c;endline=17;md5=40e55577ef122c88fe20052acda64875"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gettext systemd upstream-version-is-even
-
-DEPENDS = "glib-2.0 libxml2-native glib-2.0-native"
-
-SRC_URI[archive.md5sum] = "ae896a8a2364e18c07fafa9573202f59"
-SRC_URI[archive.sha256sum] = "29cd2c4be277f00698dce48259219557c4fddc2c01254b8fac95900a8c663f63"
-SRC_URI += " \
- file://define-NT_GNU_BUILD_ID.patch \
- file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \
- file://wordsize.patch \
- file://0001-fix-non-literal-format-string-issues.patch \
- "
-RECIPE_NO_UPDATE_REASON = "Waiting for resolution of https://bugzilla.gnome.org/show_bug.cgi?id=794625"
-
-PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
-PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3"
-PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
-
-SOLIBS = ".so"
-FILES_SOLIBSDEV = ""
-
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service', '', d)}"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/system-services \
- ${datadir}/dbus-1/system.d \
- ${datadir}/metainfo \
- "
diff --git a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb b/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb
new file mode 100644
index 000000000..24e49cb0d
--- /dev/null
+++ b/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb
@@ -0,0 +1,32 @@
+SUMMARY = "System-wide Performance Profiler for Linux"
+HOMEPAGE = "http://www.sysprof.com"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://src/sp-application.c;endline=17;md5=40e55577ef122c88fe20052acda64875"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gettext systemd upstream-version-is-even gsettings
+
+DEPENDS = "glib-2.0 libxml2-native glib-2.0-native"
+
+SRC_URI[archive.md5sum] = "80cb47906eced2e7b9976bf00deec323"
+SRC_URI[archive.sha256sum] = "e90878e5a509bd79d170a7a51d47cc5508ab1363afaf0d97654373dfd9c8ba0b"
+SRC_URI += " \
+ file://define-NT_GNU_BUILD_ID.patch \
+ file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \
+ "
+
+PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
+PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3"
+PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
+
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service', '', d)}"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/dbus-1/system.d \
+ ${datadir}/metainfo \
+ "
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch b/poky/meta/recipes-kernel/systemtap/systemtap/0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch
index 9f11648fe..e2f8b3b05 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap/0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch
+++ b/poky/meta/recipes-kernel/systemtap/systemtap/0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch
@@ -14,49 +14,24 @@ Signed-off-by: Saul Wold <sgw@linux.intel.com>
staprun/Makefile.am | 12 ++++++------
2 files changed, 13 insertions(+), 13 deletions(-)
-diff --git a/stapbpf/Makefile.am b/stapbpf/Makefile.am
-index 421b044ef..f7daeb2b2 100644
---- a/stapbpf/Makefile.am
-+++ b/stapbpf/Makefile.am
-@@ -39,11 +39,11 @@ git_version.stamp ../git_version.h:
+Index: git/stapbpf/Makefile.am
+===================================================================
+--- git.orig/stapbpf/Makefile.am
++++ git/stapbpf/Makefile.am
+@@ -41,10 +41,10 @@
# Why the "id -u" condition? This way, an unprivileged user can run
# make install, and have "sudo stap ...." or "sudo stapbpf ...." work later.
-install-exec-hook:
-- if [ `id -u` -eq 0 ]; then \
-- getent group stapusr >/dev/null || groupadd -g 156 -r stapusr 2>/dev/null || groupadd -r stapusr; \
-- getent group stapusr >/dev/null \
-- && chgrp stapusr "$(DESTDIR)$(bindir)/stapbpf" \
+- if [ `id -u` -eq 0 ] && (getent group stapusr >/dev/null \
+- || groupadd -f -g 156 -r stapusr); then \
+- chgrp stapusr "$(DESTDIR)$(bindir)/stapbpf" \
- && chmod 04110 "$(DESTDIR)$(bindir)/stapbpf"; \
- fi
+#install-exec-hook:
-+# if [ `id -u` -eq 0 ]; then \
-+# getent group stapusr >/dev/null || groupadd -g 156 -r stapusr 2>/dev/null || groupadd -r stapusr; \
-+# getent group stapusr >/dev/null \
-+# && chgrp stapusr "$(DESTDIR)$(bindir)/stapbpf" \
++## if [ `id -u` -eq 0 ] && (getent group stapusr >/dev/null \
++## || groupadd -f -g 156 -r stapusr); then \
++## chgrp stapusr "$(DESTDIR)$(bindir)/stapbpf" \
+# && chmod 04110 "$(DESTDIR)$(bindir)/stapbpf"; \
+# fi
endif
-diff --git a/staprun/Makefile.am b/staprun/Makefile.am
-index 4073aa01c..2925e34c3 100644
---- a/staprun/Makefile.am
-+++ b/staprun/Makefile.am
-@@ -72,9 +72,9 @@ git_version.stamp ../git_version.h:
-
- # Why the "id -u" condition? This way, an unprivileged user can run
- # make install, and have "sudo stap ...." or "sudo staprun ...." work later.
--install-exec-hook:
-- if [ `id -u` -eq 0 ]; then \
-- getent group stapusr >/dev/null || groupadd -g 156 -r stapusr 2>/dev/null || groupadd -r stapusr; \
-- getent group stapusr >/dev/null && chgrp stapusr "$(DESTDIR)$(bindir)/staprun"; \
-- chmod 04110 "$(DESTDIR)$(bindir)/staprun"; \
-- fi
-+#install-exec-hook:
-+# if [ `id -u` -eq 0 ]; then \
-+# getent group stapusr >/dev/null || groupadd -g 156 -r stapusr 2>/dev/null || groupadd -r stapusr; \
-+# getent group stapusr >/dev/null && chgrp stapusr "$(DESTDIR)$(bindir)/staprun"; \
-+# chmod 04110 "$(DESTDIR)$(bindir)/staprun"; \
-+# fi
---
-2.11.0
-
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
index 274fcde5c..54de72266 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,6 +1,6 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "428f84e9e656bce71018e8902e4edb8aacafcc0e"
+SRCREV = "90ff34ac0506f0d5440393a4c78565f6aaf9b726"
PV = "4.0"
SRC_URI = "git://sourceware.org/git/systemtap.git \
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb
deleted file mode 100644
index 25e7a3c6b..000000000
--- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.6.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "ALSA sound library"
-HOMEPAGE = "http://www.alsa-project.org"
-BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
-SECTION = "libs/multimedia"
-LICENSE = "LGPLv2.1 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
- file://src/socket.c;md5=dd1bc7f44872690224d89c1a9806e495;beginline=1;endline=26 \
- "
-
-SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/${BP}.tar.bz2"
-SRC_URI[md5sum] = "2f981a8f7897c59ec2ddc44916d33788"
-SRC_URI[sha256sum] = "5f2cd274b272cae0d0d111e8a9e363f08783329157e8dd68b3de0c096de6d724"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += " \
- ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \
- --disable-python \
-"
-
-PACKAGES =+ "alsa-server alsa-conf alsa-doc"
-
-FILES_alsa-server = "${bindir}/*"
-FILES_alsa-conf = "${datadir}/alsa/"
-
-RDEPENDS_${PN}_class-target = "alsa-conf"
-
-# upgrade path
-RPROVIDES_${PN} = "libasound"
-RREPLACES_${PN} = "libasound"
-RCONFLICTS_${PN} = "libasound"
-
-RPROVIDES_${PN}-dev = "alsa-dev"
-RREPLACES_${PN}-dev = "alsa-dev"
-RCONFLICTS_${PN}-dev = "alsa-dev"
-
-RPROVIDES_alsa-conf = "alsa-conf-base"
-RREPLACES_alsa-conf = "alsa-conf-base"
-RCONFLICTS_alsa-conf = "alsa-conf-base"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb
new file mode 100644
index 000000000..76cc9627e
--- /dev/null
+++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb
@@ -0,0 +1,41 @@
+SUMMARY = "ALSA sound library"
+HOMEPAGE = "http://www.alsa-project.org"
+BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
+SECTION = "libs/multimedia"
+LICENSE = "LGPLv2.1 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
+ file://src/socket.c;md5=dd1bc7f44872690224d89c1a9806e495;beginline=1;endline=26 \
+ "
+
+SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
+SRC_URI[md5sum] = "0eec0d657a07927795809c8f87fb76ca"
+SRC_URI[sha256sum] = "3cdc3a93a6427a26d8efab4ada2152e64dd89140d981f6ffa003e85be707aedf"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += " \
+ ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \
+ --disable-python \
+"
+
+PACKAGES =+ "alsa-server alsa-conf alsa-doc"
+
+FILES_alsa-server = "${bindir}/*"
+FILES_alsa-conf = "${datadir}/alsa/"
+
+RDEPENDS_${PN}_class-target = "alsa-conf"
+
+# upgrade path
+RPROVIDES_${PN} = "libasound"
+RREPLACES_${PN} = "libasound"
+RCONFLICTS_${PN} = "libasound"
+
+RPROVIDES_${PN}-dev = "alsa-dev"
+RREPLACES_${PN}-dev = "alsa-dev"
+RCONFLICTS_${PN}-dev = "alsa-dev"
+
+RPROVIDES_alsa-conf = "alsa-conf-base"
+RREPLACES_alsa-conf = "alsa-conf-base"
+RCONFLICTS_alsa-conf = "alsa-conf-base"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.6.bb
deleted file mode 100644
index 17c1879f9..000000000
--- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.6.bb
+++ /dev/null
@@ -1,103 +0,0 @@
-SUMMARY = "ALSA Plugins"
-HOMEPAGE = "http://alsa-project.org"
-BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
-SECTION = "multimedia"
-
-# The primary license of alsa-plugins is LGPLv2.1.
-#
-# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the
-# build system, and doesn't affect the licensing of the build result.
-#
-# The samplerate plugin source code is licensed under GPLv2+ to be consistent
-# with the libsamplerate license. However, if the licensee has a commercial
-# license for libsamplerate, the samplerate plugin may be used under the terms
-# of LGPLv2.1 like the rest of the plugins.
-LICENSE = "LGPLv2.1 & GPLv2+"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
- file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://m4/attributes.m4;endline=33;md5=b25958da44c02231e3641f1bccef53eb \
- file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \
-"
-
-SRC_URI = "ftp://ftp.alsa-project.org/pub/plugins/${BP}.tar.bz2"
-SRC_URI[md5sum] = "8387279e99feeb2ecffaac5f293223d7"
-SRC_URI[sha256sum] = "6f1d31ebe3b1fa1cc8dade60b7bed1cb2583ac998167002d350dc0a5e3e40c13"
-
-DEPENDS += "alsa-lib"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "\
- samplerate \
- speexdsp \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
-"
-PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec,libav"
-PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
-PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin"
-PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus"
-PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
-PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0"
-PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp"
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
-
-PACKAGES_DYNAMIC = "^libasound-module-.*"
-
-# The alsa-plugins package doesn't itself contain anything, it just depends on
-# all built plugins.
-ALLOW_EMPTY_${PN} = "1"
-
-do_install_append() {
- rm ${D}${libdir}/alsa-lib/*.la
-
- # We use the example as is, so just drop the .example suffix.
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then
- mv ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf
- fi
-}
-
-python populate_packages_prepend() {
- plugindir = d.expand('${libdir}/alsa-lib/')
- packages = " ".join(do_split_packages(d, plugindir, '^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends=''))
- d.setVar("RDEPENDS_alsa-plugins", packages)
-}
-
-# The rate plugins create some symlinks. For example, the samplerate plugin
-# creates these links to the main plugin file:
-#
-# libasound_module_rate_samplerate_best.so
-# libasound_module_rate_samplerate_linear.so
-# libasound_module_rate_samplerate_medium.so
-# libasound_module_rate_samplerate_order.so
-#
-# The other rate plugins create similar links. We have to add the links to
-# FILES manually, because do_split_packages() skips the links (which is good,
-# because we wouldn't want do_split_packages() to create separate packages for
-# the symlinks).
-#
-# The symlinks cause QA errors, because usually it's a bug if a non
-# -dev/-dbg/-nativesdk package contains links to .so files, but in this case
-# the errors are false positives, so we disable the QA checks.
-FILES_${MLPREFIX}libasound-module-rate-lavcrate += "${libdir}/alsa-lib/*rate_lavcrate_*.so"
-FILES_${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so"
-FILES_${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-lavcrate = "dev-so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-samplerate = "dev-so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-speexrate = "dev-so"
-
-# 50-pulseaudio.conf defines a device named "pulse" that applications can use
-# if they explicitly want to use the PulseAudio plugin.
-# 99-pulseaudio-default.conf configures the "default" device to use the
-# PulseAudio plugin.
-FILES_${PN}-pulseaudio-conf += "\
- ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \
- ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \
-"
-
-RDEPENDS_${PN}-pulseaudio-conf += "\
- libasound-module-conf-pulse \
- libasound-module-ctl-pulse \
- libasound-module-pcm-pulse \
-"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb
new file mode 100644
index 000000000..2d9cc06f5
--- /dev/null
+++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb
@@ -0,0 +1,173 @@
+SUMMARY = "ALSA Plugins"
+HOMEPAGE = "http://alsa-project.org"
+BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
+SECTION = "multimedia"
+
+# The primary license of alsa-plugins is LGPLv2.1.
+#
+# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the
+# build system, and doesn't affect the licensing of the build result.
+#
+# The samplerate plugin source code is licensed under GPLv2+ to be consistent
+# with the libsamplerate license. However, if the licensee has a commercial
+# license for libsamplerate, the samplerate plugin may be used under the terms
+# of LGPLv2.1 like the rest of the plugins.
+LICENSE = "LGPLv2.1 & GPLv2+"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
+ file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://m4/attributes.m4;endline=33;md5=b25958da44c02231e3641f1bccef53eb \
+ file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \
+"
+
+SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2"
+SRC_URI[md5sum] = "d0f87211d1560f2c07c8eae4297bc4f6"
+SRC_URI[sha256sum] = "7f77df171685ccec918268477623a39db4d9f32d5dc5e76874ef2467a2405994"
+
+DEPENDS += "alsa-lib"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "\
+ samplerate \
+ speexdsp \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
+"
+PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,avtp"
+PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav"
+PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin"
+PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
+PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0"
+PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp"
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
+
+PACKAGES_DYNAMIC = "^libasound-module-.*"
+
+# The alsa-plugins package doesn't itself contain anything, it just depends on
+# all built plugins.
+FILES_${PN} = ""
+ALLOW_EMPTY_${PN} = "1"
+
+do_install_append() {
+ rm ${D}${libdir}/alsa-lib/*.la
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then
+ # We use the example as is. Upstream installs the file under
+ # /etc, but we move it under /usr/share and add a symlink under
+ # /etc to be consistent with other installed configuration
+ # files.
+ mv ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf
+ ln -s ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf
+ fi
+}
+
+python populate_packages_prepend() {
+ plugindir = d.expand('${libdir}/alsa-lib/')
+ packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends=''))
+ d.setVar("RDEPENDS_alsa-plugins", packages)
+}
+
+# Many plugins have a configuration file (plus a symlink in /etc) associated
+# with them. We put the plugin and it's configuration usually in the same
+# package, but that's problematic when the configuration file is related to
+# multiple plugins, as is the case with the pulse, oss and maemo plugins. In
+# case of the pulse plugins, we have a separate alsa-plugins-pulseaudio-conf
+# package that depends on all the pulse plugins, which ensures that all plugins
+# that the configuration references are installed. The oss and maemo
+# configuration files, on the other hand, are in the respective pcm plugin
+# packages. Therefore it's possible to install the configuration file without
+# the ctl plugin that the configuration file references. This is unlikely to
+# cause big problems, but some kind of improvement to the packaging could
+# probably be done here (at least it would be good to handle the different
+# plugins in a consistent way).
+FILES_${MLPREFIX}libasound-module-ctl-arcam-av += "\
+ ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \
+ ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \
+"
+FILES_${MLPREFIX}libasound-module-pcm-a52 += "\
+ ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \
+ ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \
+"
+FILES_${MLPREFIX}libasound-module-pcm-alsa-dsp += "\
+ ${datadir}/alsa/alsa.conf.d/98-maemo.conf \
+ ${sysconfdir}/alsa/conf.d/98-maemo.conf \
+"
+FILES_${MLPREFIX}libasound-module-pcm-jack += "\
+ ${datadir}/alsa/alsa.conf.d/50-jack.conf \
+ ${sysconfdir}/alsa/conf.d/50-jack.conf \
+"
+FILES_${MLPREFIX}libasound-module-pcm-oss += "\
+ ${datadir}/alsa/alsa.conf.d/50-oss.conf \
+ ${sysconfdir}/alsa/conf.d/50-oss.conf \
+"
+FILES_${MLPREFIX}libasound-module-pcm-speex += "\
+ ${datadir}/alsa/alsa.conf.d/60-speex.conf \
+ ${sysconfdir}/alsa/conf.d/60-speex.conf \
+"
+FILES_${MLPREFIX}libasound-module-pcm-upmix += "\
+ ${datadir}/alsa/alsa.conf.d/60-upmix.conf \
+ ${sysconfdir}/alsa/conf.d/60-upmix.conf \
+"
+FILES_${MLPREFIX}libasound-module-pcm-usb-stream += "\
+ ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \
+ ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \
+"
+FILES_${MLPREFIX}libasound-module-pcm-vdownmix += "\
+ ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \
+ ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \
+"
+FILES_${MLPREFIX}libasound-module-rate-lavrate += "\
+ ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \
+ ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \
+"
+FILES_${MLPREFIX}libasound-module-rate-samplerate += "\
+ ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \
+ ${sysconfdir}/alsa/conf.d/10-samplerate.conf \
+"
+FILES_${MLPREFIX}libasound-module-rate-speexrate += "\
+ ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \
+ ${sysconfdir}/alsa/conf.d/10-speexrate.conf \
+"
+
+# The rate plugins create some symlinks. For example, the samplerate plugin
+# creates these links to the main plugin file:
+#
+# libasound_module_rate_samplerate_best.so
+# libasound_module_rate_samplerate_linear.so
+# libasound_module_rate_samplerate_medium.so
+# libasound_module_rate_samplerate_order.so
+#
+# The other rate plugins create similar links. We have to add the links to
+# FILES manually, because do_split_packages() skips the links (which is good,
+# because we wouldn't want do_split_packages() to create separate packages for
+# the symlinks).
+#
+# The symlinks cause QA errors, because usually it's a bug if a non
+# -dev/-dbg/-nativesdk package contains links to .so files, but in this case
+# the errors are false positives, so we disable the QA checks.
+FILES_${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so"
+FILES_${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so"
+FILES_${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so"
+INSANE_SKIP_${MLPREFIX}libasound-module-rate-lavrate = "dev-so"
+INSANE_SKIP_${MLPREFIX}libasound-module-rate-samplerate = "dev-so"
+INSANE_SKIP_${MLPREFIX}libasound-module-rate-speexrate = "dev-so"
+
+# 50-pulseaudio.conf defines a device named "pulse" that applications can use
+# if they explicitly want to use the PulseAudio plugin.
+# 99-pulseaudio-default.conf configures the "default" device to use the
+# PulseAudio plugin.
+FILES_${PN}-pulseaudio-conf += "\
+ ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \
+ ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \
+ ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \
+ ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \
+"
+
+RDEPENDS_${PN}-pulseaudio-conf += "\
+ libasound-module-conf-pulse \
+ libasound-module-ctl-pulse \
+ libasound-module-pcm-pulse \
+"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch b/poky/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
deleted file mode 100644
index c137bc8a2..000000000
--- a/poky/meta/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-From a861bdabf02cd9bfb3ec7c0571c563c0fa14adfb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 24 Apr 2018 12:24:32 -0700
-Subject: [PATCH] us428control: Fix clang -Wreserved-user-defined-literal
- warnings
-
-| us428control.cc:66:18: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
-| printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
-| ^
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
----
- us428control/us428control.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/us428control/us428control.cc b/us428control/us428control.cc
-index e839bf4..8cb3c42 100644
---- a/us428control/us428control.cc
-+++ b/us428control/us428control.cc
-@@ -63,7 +63,7 @@ static void usage(void)
- {
- printf("Tascam US-428 Control\n");
- printf("version %s\n", VERSION);
-- printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
-+ printf("usage: " PROGNAME " [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n");
- printf("mode is one of (us224, us428, mixxx)\n");
- }
- /*
---
-1.7.11.7
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-tools/musl.patch b/poky/meta/recipes-multimedia/alsa/alsa-tools/musl.patch
deleted file mode 100644
index 9eb129c37..000000000
--- a/poky/meta/recipes-multimedia/alsa/alsa-tools/musl.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 235d9c5e8381518b0a8661786e7e0cbdd1bbcd01 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 12 Jun 2018 13:24:34 +0100
-Subject: [PATCH] ld10k1: define _GNU_SOURCE and use sighandler_t
-
-__sighandler_t is a glibc internal type which doesn't exist in musl. By using
-AC_USE_SYSTEM_EXTENSIONS to get _GNU_SOURCE defined, both glibc and musl
-then expose sighandler_t.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
----
- ld10k1/configure.ac | 1 +
- ld10k1/src/ld10k1_fnc1.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/ld10k1/configure.ac b/ld10k1/configure.ac
-index 276b24e..f48ca31 100644
---- a/ld10k1/configure.ac
-+++ b/ld10k1/configure.ac
-@@ -4,6 +4,7 @@ AC_CONFIG_MACRO_DIR([m4])
- AM_MAINTAINER_MODE([enable])
-
- AC_CONFIG_HEADERS(config.h)
-+AC_USE_SYSTEM_EXTENSIONS
- AC_PROG_CC
- AC_PROG_LD
- AC_PROG_INSTALL
-diff --git a/ld10k1/src/ld10k1_fnc1.c b/ld10k1/src/ld10k1_fnc1.c
-index 343584c..ddc43c6 100644
---- a/ld10k1/src/ld10k1_fnc1.c
-+++ b/ld10k1/src/ld10k1_fnc1.c
-@@ -179,7 +179,7 @@ int main_loop(comm_param *param, int audigy, const char *card_id, int tram_size,
- {
- fd_set active_fd_set/*, read_fd_set*/;
- int i, j, res = 0;
-- __sighandler_t old_sig_pipe;
-+ sighandler_t old_sig_pipe;
-
- int main_sock = 0;
- int data_sock = 0;
---
-2.11.0
-
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
deleted file mode 100644
index 90e54dbb1..000000000
--- a/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.6.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-SUMMARY = "Advanced tools for certain ALSA sound card drivers"
-HOMEPAGE = "http://www.alsa-project.org"
-BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
-SECTION = "console/utils"
-LICENSE = "GPLv2 & LGPLv2+"
-DEPENDS = "alsa-lib"
-
-LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \
- "
-
-SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/${BP}.tar.bz2 \
- file://0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch \
- file://musl.patch \
- "
-
-SRC_URI[md5sum] = "5ca8c9437ae779997cd62fb2815fef19"
-SRC_URI[sha256sum] = "d69c4dc2fb641a974d9903e9eb78c94cb0c7ac6c45bae664f0c9d6c0a1593227"
-
-inherit autotools-brokensep pkgconfig
-# brokensep as as10k1 (and probably more) fail out of tree
-CLEANBROKEN = "1"
-
-# Here we use PACKAGECONFIG options to pick which directories we configure/build.
-# Remember on upgrades to check that no new tools have been added.
-PACKAGECONFIG ??= "as10k1 hdajacksensetest hda-verb hdsploader ld10k1 mixartloader pcxhrloader \
- sb16_csp seq--sbiload sscape_ctl us428control usx2yloader vxloader \
- ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK2DISTROFEATURES}', 'echomixer envy24control rmedigicontrol', '', d)} \
- ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'hdajackretask', '', d)} \
- "
-
-PACKAGECONFIG[as10k1] = ""
-PACKAGECONFIG[echomixer] = ",,gtk+"
-PACKAGECONFIG[envy24control] = ",,gtk+"
-PACKAGECONFIG[hda-verb] = ""
-PACKAGECONFIG[hdajackretask] = ",,gtk+3"
-PACKAGECONFIG[hdajacksensetest] = ",,glib-2.0"
-PACKAGECONFIG[hdspconf] = ",,fltk"
-PACKAGECONFIG[hdsploader] = ""
-PACKAGECONFIG[hdspmixer] = ",,fltk"
-PACKAGECONFIG[hwmixvolume] = ",,,python-core python-pygtk"
-PACKAGECONFIG[ld10k1] = ""
-PACKAGECONFIG[mixartloader] = ""
-PACKAGECONFIG[pcxhrloader] = ""
-PACKAGECONFIG[qlo10k1] = ",,qt-x11-free"
-PACKAGECONFIG[rmedigicontrol] = ",,gtk+"
-PACKAGECONFIG[sb16_csp] = ""
-PACKAGECONFIG[seq--sbiload] = ""
-PACKAGECONFIG[sscape_ctl] = ""
-PACKAGECONFIG[us428control] = ""
-PACKAGECONFIG[usx2yloader] = ""
-PACKAGECONFIG[vxloader] = ""
-
-python do_configure() {
- for subdir in d.getVar("PACKAGECONFIG").split():
- subdir = subdir.replace("--", "/")
- bb.note("Configuring %s" % subdir)
- dd = d.createCopy()
- dd.setVar("S", os.path.join(d.getVar("S"), subdir))
- bb.build.exec_func("autotools_do_configure", dd)
-}
-
-python do_compile() {
- for subdir in d.getVar("PACKAGECONFIG").split():
- subdir = subdir.replace("--", "/")
- bb.note("Compiling %s" % subdir)
- dd = d.createCopy()
- dd.setVar("S", os.path.join(d.getVar("S"), subdir))
- bb.build.exec_func("autotools_do_compile", dd)
-}
-
-python do_install() {
- for subdir in d.getVar("PACKAGECONFIG").split():
- subdir = subdir.replace("--", "/")
- bb.note("Installing %s" % subdir)
- dd = d.createCopy()
- dd.setVar("S", os.path.join(d.getVar("S"), subdir))
- bb.build.exec_func("autotools_do_install", dd)
-
- # Just remove bash-needing init script that isn't installed as an init script
- try:
- os.remove(oe.path.join(d.getVar("D"), d.getVar("sbindir"), "ld10k1d"))
- except:
- pass
-}
-
-FILES_${PN} += "${datadir}"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb b/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb
new file mode 100644
index 000000000..e1b50fac5
--- /dev/null
+++ b/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb
@@ -0,0 +1,87 @@
+SUMMARY = "Advanced tools for certain ALSA sound card drivers"
+HOMEPAGE = "http://www.alsa-project.org"
+BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
+SECTION = "console/utils"
+LICENSE = "GPLv2 & LGPLv2+"
+DEPENDS = "alsa-lib"
+
+LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \
+ "
+
+SRC_URI = "https://www.alsa-project.org/files/pub/tools/${BP}.tar.bz2"
+
+SRC_URI[md5sum] = "475bdf6457bcf55c8c895d653ee56a54"
+SRC_URI[sha256sum] = "a0243328a8f6f691a3055c484fd8d3326393096325e93743b246029d327c4ef6"
+
+inherit autotools-brokensep pkgconfig
+# brokensep as as10k1 (and probably more) fail out of tree
+CLEANBROKEN = "1"
+
+# Here we use PACKAGECONFIG options to pick which directories we configure/build.
+# Remember on upgrades to check that no new tools have been added.
+PACKAGECONFIG ??= "as10k1 hdajacksensetest hda-verb hdsploader ld10k1 mixartloader pcxhrloader \
+ sb16_csp seq--sbiload sscape_ctl us428control usx2yloader vxloader \
+ ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK2DISTROFEATURES}', 'echomixer envy24control rmedigicontrol', '', d)} \
+ ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'hdajackretask', '', d)} \
+ "
+
+PACKAGECONFIG[as10k1] = ""
+PACKAGECONFIG[echomixer] = ",,gtk+"
+PACKAGECONFIG[envy24control] = ",,gtk+"
+PACKAGECONFIG[hda-verb] = ""
+PACKAGECONFIG[hdajackretask] = ",,gtk+3"
+PACKAGECONFIG[hdajacksensetest] = ",,glib-2.0"
+PACKAGECONFIG[hdspconf] = ",,fltk"
+PACKAGECONFIG[hdsploader] = ""
+PACKAGECONFIG[hdspmixer] = ",,fltk"
+PACKAGECONFIG[ld10k1] = ""
+PACKAGECONFIG[mixartloader] = ""
+PACKAGECONFIG[pcxhrloader] = ""
+PACKAGECONFIG[qlo10k1] = ",,qt-x11-free"
+PACKAGECONFIG[rmedigicontrol] = ",,gtk+"
+PACKAGECONFIG[sb16_csp] = ""
+PACKAGECONFIG[seq--sbiload] = ""
+PACKAGECONFIG[sscape_ctl] = ""
+PACKAGECONFIG[us428control] = ""
+PACKAGECONFIG[usx2yloader] = ""
+PACKAGECONFIG[vxloader] = ""
+
+# At the time of writing pyalsa is not packaged for OE, so this is not expected
+# to work.
+PACKAGECONFIG[hwmixvolume] = ",,,python-core python-pygobject pyalsa"
+
+python do_configure() {
+ for subdir in d.getVar("PACKAGECONFIG").split():
+ subdir = subdir.replace("--", "/")
+ bb.note("Configuring %s" % subdir)
+ dd = d.createCopy()
+ dd.setVar("S", os.path.join(d.getVar("S"), subdir))
+ bb.build.exec_func("autotools_do_configure", dd)
+}
+
+python do_compile() {
+ for subdir in d.getVar("PACKAGECONFIG").split():
+ subdir = subdir.replace("--", "/")
+ bb.note("Compiling %s" % subdir)
+ dd = d.createCopy()
+ dd.setVar("S", os.path.join(d.getVar("S"), subdir))
+ bb.build.exec_func("autotools_do_compile", dd)
+}
+
+python do_install() {
+ for subdir in d.getVar("PACKAGECONFIG").split():
+ subdir = subdir.replace("--", "/")
+ bb.note("Installing %s" % subdir)
+ dd = d.createCopy()
+ dd.setVar("S", os.path.join(d.getVar("S"), subdir))
+ bb.build.exec_func("autotools_do_install", dd)
+
+ # Just remove bash-needing init script that isn't installed as an init script
+ try:
+ os.remove(oe.path.join(d.getVar("D"), d.getVar("sbindir"), "ld10k1d"))
+ except:
+ pass
+}
+
+FILES_${PN} += "${datadir}"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb
index fef79d9c9..fef79d9c9 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.6.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.6.bb
deleted file mode 100644
index b8ba0cb22..000000000
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.6.bb
+++ /dev/null
@@ -1,107 +0,0 @@
-SUMMARY = "ALSA sound utilities"
-HOMEPAGE = "http://www.alsa-project.org"
-BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
-SECTION = "console/utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://alsactl/utils.c;beginline=1;endline=20;md5=2ce7f7b6739487fb72c689d46521f958"
-DEPENDS = "alsa-lib ncurses libsamplerate0"
-
-PACKAGECONFIG ??= "udev"
-
-# alsabat can be built also without fftw support (with reduced functionality).
-# It would be better to always enable alsabat, but provide an option for
-# enabling/disabling fftw. The configure script doesn't support that, however
-# (at least in any obvious way), so for now we only support alsabat with fftw
-# or no alsabat at all.
-PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf"
-
-PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev"
-PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
-
-SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \
- "
-
-SRC_URI[md5sum] = "50ae75567459646b843bed78d916b002"
-SRC_URI[sha256sum] = "155caecc40b2220f686f34ba3655a53e3bdbc0586adb1056733949feaaf7d36e"
-
-# On build machines with python-docutils (not python3-docutils !!) installed
-# rst2man (not rst2man.py) is detected and compile fails with
-# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop.
-# Avoid this by disabling expicitly
-EXTRA_OECONF = "--disable-rst2man"
-
-inherit autotools gettext pkgconfig manpages
-
-# This are all packages that we need to make. Also, the now empty alsa-utils
-# ipk depends on them.
-
-ALSA_UTILS_PKGS = "\
- ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \
- alsa-utils-alsamixer \
- alsa-utils-alsatplg \
- alsa-utils-midi \
- alsa-utils-aplay \
- alsa-utils-amixer \
- alsa-utils-aconnect \
- alsa-utils-iecset \
- alsa-utils-speakertest \
- alsa-utils-aseqnet \
- alsa-utils-aseqdump \
- alsa-utils-alsactl \
- alsa-utils-alsaloop \
- alsa-utils-alsaucm \
- "
-
-PACKAGES += "${ALSA_UTILS_PKGS}"
-RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}"
-
-FILES_${PN} = ""
-FILES_alsa-utils-alsabat = "${bindir}/alsabat"
-FILES_alsa-utils-alsatplg = "${bindir}/alsatplg"
-FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord"
-FILES_alsa-utils-amixer = "${bindir}/amixer"
-FILES_alsa-utils-alsamixer = "${bindir}/alsamixer"
-FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
-FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
-FILES_alsa-utils-aconnect = "${bindir}/aconnect"
-FILES_alsa-utils-aseqnet = "${bindir}/aseqnet"
-FILES_alsa-utils-iecset = "${bindir}/iecset"
-FILES_alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d */*/udev/rules.d ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
-FILES_alsa-utils-aseqdump = "${bindir}/aseqdump"
-FILES_alsa-utils-alsaloop = "${bindir}/alsaloop"
-FILES_alsa-utils-alsaucm = "${bindir}/alsaucm"
-
-SUMMARY_alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver"
-SUMMARY_alsa-utils-alsatplg = "Converts topology text files into binary format for kernel"
-SUMMARY_alsa-utils-aplay = "Play (and record) sound files using ALSA"
-SUMMARY_alsa-utils-amixer = "Command-line control for ALSA mixer and settings"
-SUMMARY_alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings"
-SUMMARY_alsa-utils-speakertest = "ALSA surround speaker test utility"
-SUMMARY_alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA"
-SUMMARY_alsa-utils-aconnect = "ALSA sequencer connection manager"
-SUMMARY_alsa-utils-aseqnet = "Network client/server for ALSA sequencer"
-SUMMARY_alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
-SUMMARY_alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state"
-SUMMARY_alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port"
-SUMMARY_alsa-utils-alsaloop = "ALSA PCM loopback utility"
-SUMMARY_alsa-utils-alsaucm = "ALSA Use Case Manager"
-
-RRECOMMENDS_alsa-utils-alsactl = "alsa-states"
-
-ALLOW_EMPTY_alsa-utils = "1"
-
-do_install() {
- autotools_do_install
-
- # We don't ship this here because it requires a dependency on bash.
- # See alsa-utils-scripts_${PV}.bb
- rm ${D}${sbindir}/alsaconf
- rm ${D}${sbindir}/alsa-info.sh
- rm -f ${D}${sbindir}/alsabat-test.sh
-
- # If udev is disabled, we told configure to install the rules
- # in /unwanted, so we can remove them now. If udev is enabled,
- # then /unwanted won't exist and this will have no effect.
- rm -rf ${D}/unwanted
-}
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb
new file mode 100644
index 000000000..96d54e593
--- /dev/null
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb
@@ -0,0 +1,106 @@
+SUMMARY = "ALSA sound utilities"
+HOMEPAGE = "http://www.alsa-project.org"
+BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
+SECTION = "console/utils"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://alsactl/utils.c;beginline=1;endline=20;md5=2ce7f7b6739487fb72c689d46521f958"
+DEPENDS = "alsa-lib ncurses libsamplerate0"
+
+PACKAGECONFIG ??= "udev"
+
+# alsabat can be built also without fftw support (with reduced functionality).
+# It would be better to always enable alsabat, but provide an option for
+# enabling/disabling fftw. The configure script doesn't support that, however
+# (at least in any obvious way), so for now we only support alsabat with fftw
+# or no alsabat at all.
+PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf"
+
+PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev"
+PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+
+# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
+SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
+SRC_URI[md5sum] = "54d6f9b483144823d0fc0c26e8cea028"
+SRC_URI[sha256sum] = "fd9bf528922b3829a91913b89a1858c58a0b24271a7b5f529923aa9ea12fa4cf"
+
+# On build machines with python-docutils (not python3-docutils !!) installed
+# rst2man (not rst2man.py) is detected and compile fails with
+# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop.
+# Avoid this by disabling expicitly
+EXTRA_OECONF = "--disable-rst2man"
+
+inherit autotools gettext pkgconfig manpages
+
+# This are all packages that we need to make. Also, the now empty alsa-utils
+# ipk depends on them.
+
+ALSA_UTILS_PKGS = "\
+ ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \
+ alsa-utils-alsamixer \
+ alsa-utils-alsatplg \
+ alsa-utils-midi \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ alsa-utils-aconnect \
+ alsa-utils-iecset \
+ alsa-utils-speakertest \
+ alsa-utils-aseqnet \
+ alsa-utils-aseqdump \
+ alsa-utils-alsactl \
+ alsa-utils-alsaloop \
+ alsa-utils-alsaucm \
+ "
+
+PACKAGES += "${ALSA_UTILS_PKGS}"
+RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}"
+
+FILES_${PN} = ""
+FILES_alsa-utils-alsabat = "${bindir}/alsabat"
+FILES_alsa-utils-alsatplg = "${bindir}/alsatplg"
+FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
+FILES_alsa-utils-amixer = "${bindir}/amixer"
+FILES_alsa-utils-alsamixer = "${bindir}/alsamixer"
+FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
+FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
+FILES_alsa-utils-aconnect = "${bindir}/aconnect"
+FILES_alsa-utils-aseqnet = "${bindir}/aseqnet"
+FILES_alsa-utils-iecset = "${bindir}/iecset"
+FILES_alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
+FILES_alsa-utils-aseqdump = "${bindir}/aseqdump"
+FILES_alsa-utils-alsaloop = "${bindir}/alsaloop"
+FILES_alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
+
+SUMMARY_alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver"
+SUMMARY_alsa-utils-alsatplg = "Converts topology text files into binary format for kernel"
+SUMMARY_alsa-utils-aplay = "Play (and record) sound files using ALSA"
+SUMMARY_alsa-utils-amixer = "Command-line control for ALSA mixer and settings"
+SUMMARY_alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings"
+SUMMARY_alsa-utils-speakertest = "ALSA surround speaker test utility"
+SUMMARY_alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA"
+SUMMARY_alsa-utils-aconnect = "ALSA sequencer connection manager"
+SUMMARY_alsa-utils-aseqnet = "Network client/server for ALSA sequencer"
+SUMMARY_alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
+SUMMARY_alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state"
+SUMMARY_alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port"
+SUMMARY_alsa-utils-alsaloop = "ALSA PCM loopback utility"
+SUMMARY_alsa-utils-alsaucm = "ALSA Use Case Manager"
+
+RRECOMMENDS_alsa-utils-alsactl = "alsa-states"
+
+ALLOW_EMPTY_alsa-utils = "1"
+
+do_install() {
+ autotools_do_install
+
+ # We don't ship this here because it requires a dependency on bash.
+ # See alsa-utils-scripts_${PV}.bb
+ rm ${D}${sbindir}/alsaconf
+ rm ${D}${sbindir}/alsa-info.sh
+ rm -f ${D}${sbindir}/alsabat-test.sh
+
+ # If udev is disabled, we told configure to install the rules
+ # in /unwanted, so we can remove them now. If udev is enabled,
+ # then /unwanted won't exist and this will have no effect.
+ rm -rf ${D}/unwanted
+}
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2018-15822.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2018-15822.patch
deleted file mode 100644
index 7d5868a72..000000000
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2018-15822.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 6b67d7f05918f7a1ee8fc6ff21355d7e8736aa10 Mon Sep 17 00:00:00 2001
-From: Michael Niedermayer <michael@niedermayer.cc>
-Date: Sat, 28 Jul 2018 15:03:50 +0200
-Subject: [PATCH] avformat/flvenc: Check audio packet size
-
-Fixes: Assertion failure
-Fixes: assert_flvenc.c:941_1.swf
-
-Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/6b67d7f05918f7a1ee8fc6ff21355d7e8736aa10]
-CVE: CVE-2018-15822
-
-Found-by: #CHEN HONGXU# <HCHEN017@e.ntu.edu.sg>
-Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- libavformat/flvenc.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
-index 1c552a3e6b..e4863f1fc7 100644
---- a/libavformat/flvenc.c
-+++ b/libavformat/flvenc.c
-@@ -883,6 +883,11 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
- int flags = -1, flags_size, ret;
- int64_t cur_offset = avio_tell(pb);
-
-+ if (par->codec_type == AVMEDIA_TYPE_AUDIO && !pkt->size) {
-+ av_log(s, AV_LOG_WARNING, "Empty audio Packet\n");
-+ return AVERROR(EINVAL);
-+ }
-+
- if (par->codec_id == AV_CODEC_ID_VP6F || par->codec_id == AV_CODEC_ID_VP6A ||
- par->codec_id == AV_CODEC_ID_VP6 || par->codec_id == AV_CODEC_ID_AAC)
- flags_size = 2;
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.0.2.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.0.2.bb
deleted file mode 100644
index 7d1af0404..000000000
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.0.2.bb
+++ /dev/null
@@ -1,158 +0,0 @@
-SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
-DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
- mux, demux, stream, filter and play pretty much anything that humans and machines \
- have created. It supports the most obscure ancient formats up to the cutting edge."
-HOMEPAGE = "https://www.ffmpeg.org/"
-SECTION = "libs"
-
-LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libpostproc = "GPLv2+"
-LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_FLAGS = "commercial"
-
-LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
- file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
- file://mips64_cpu_detection.patch \
- file://CVE-2018-15822.patch \
- "
-SRC_URI[md5sum] = "ae0bfdf809306a212b4f0e6eb8d1c75e"
-SRC_URI[sha256sum] = "a95c0cc9eb990e94031d2183f2e6e444cc61c99f6f182d1575c433d62afb2f97"
-
-# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-# Should be API compatible with libav (which was a fork of ffmpeg)
-# libpostproc was previously packaged from a separate recipe
-PROVIDES = "libav libpostproc"
-
-DEPENDS = "alsa-lib zlib libogg nasm-native"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc \
- bzlib gpl lzma theora x264 \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv', '', d)}"
-
-# libraries to build in addition to avutil
-PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
-PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
-PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
-PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
-PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
-PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
-PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
-PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
-
-# features to support
-PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
-PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
-PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
-PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
-PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
-PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
-PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
-PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
-PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
-PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora"
-PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
-PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
-PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
-PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
-PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
-
-# Check codecs that require --enable-nonfree
-USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
-
-def cpu(d):
- for arg in (d.getVar('TUNE_CCARGS') or '').split():
- if arg.startswith('-mcpu='):
- return arg[6:]
- return 'generic'
-
-EXTRA_OECONF = " \
- --disable-stripping \
- --enable-pic \
- --enable-shared \
- --enable-pthreads \
- --disable-libxcb \
- --disable-libxcb-shm \
- --disable-libxcb-xfixes \
- --disable-libxcb-shape \
- ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
- \
- --cross-prefix=${TARGET_PREFIX} \
- \
- --ld="${CCLD}" \
- --cc="${CC}" \
- --cxx="${CXX}" \
- --arch=${TARGET_ARCH} \
- --target-os="linux" \
- --enable-cross-compile \
- --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
- --extra-ldflags="${TARGET_LDFLAGS}" \
- --sysroot="${STAGING_DIR_TARGET}" \
- --enable-hardcoded-tables \
- ${EXTRA_FFCONF} \
- --libdir=${libdir} \
- --shlibdir=${libdir} \
- --datadir=${datadir}/ffmpeg \
- ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \
- --cpu=${@cpu(d)} \
- --pkg-config=pkg-config \
-"
-
-EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
-# gold crashes on x86, another solution is to --disable-asm but thats more hacky
-# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
-
-LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-do_configure() {
- ${S}/configure ${EXTRA_OECONF}
-}
-
-PACKAGES =+ "libavcodec \
- libavdevice \
- libavfilter \
- libavformat \
- libavresample \
- libavutil \
- libpostproc \
- libswresample \
- libswscale"
-
-FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
-FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
-FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
-FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
-FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
-FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
-FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
-FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
-FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
-
-# ffmpeg disables PIC on some platforms (e.g. x86-32)
-INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
-INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
-INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
-INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
-INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
-INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
-INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb
new file mode 100644
index 000000000..749b3d0dd
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb
@@ -0,0 +1,157 @@
+SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
+DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
+ mux, demux, stream, filter and play pretty much anything that humans and machines \
+ have created. It supports the most obscure ancient formats up to the cutting edge."
+HOMEPAGE = "https://www.ffmpeg.org/"
+SECTION = "libs"
+
+LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
+LICENSE_${PN} = "GPLv2+"
+LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libpostproc = "GPLv2+"
+LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_FLAGS = "commercial"
+
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
+ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
+ file://mips64_cpu_detection.patch \
+ "
+SRC_URI[md5sum] = "720fc84617a2c38aeae79aff3689a567"
+SRC_URI[sha256sum] = "373749824dfd334d84e55dff406729edfd1606575ee44dd485d97d45ea4d2d86"
+
+# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# Should be API compatible with libav (which was a fork of ffmpeg)
+# libpostproc was previously packaged from a separate recipe
+PROVIDES = "libav libpostproc"
+
+DEPENDS = "alsa-lib zlib libogg nasm-native"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
+ bzlib gpl lzma theora x264 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv', '', d)}"
+
+# libraries to build in addition to avutil
+PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
+PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
+PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
+PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
+PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
+PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
+PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
+PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
+
+# features to support
+PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
+PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
+PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
+PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
+PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
+PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
+PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
+PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
+PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
+PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
+PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
+
+# Check codecs that require --enable-nonfree
+USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
+
+def cpu(d):
+ for arg in (d.getVar('TUNE_CCARGS') or '').split():
+ if arg.startswith('-mcpu='):
+ return arg[6:]
+ return 'generic'
+
+EXTRA_OECONF = " \
+ --disable-stripping \
+ --enable-pic \
+ --enable-shared \
+ --enable-pthreads \
+ --disable-libxcb \
+ --disable-libxcb-shm \
+ --disable-libxcb-xfixes \
+ --disable-libxcb-shape \
+ ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ \
+ --ld="${CCLD}" \
+ --cc="${CC}" \
+ --cxx="${CXX}" \
+ --arch=${TARGET_ARCH} \
+ --target-os="linux" \
+ --enable-cross-compile \
+ --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-ldflags="${TARGET_LDFLAGS}" \
+ --sysroot="${STAGING_DIR_TARGET}" \
+ --enable-hardcoded-tables \
+ ${EXTRA_FFCONF} \
+ --libdir=${libdir} \
+ --shlibdir=${libdir} \
+ --datadir=${datadir}/ffmpeg \
+ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \
+ --cpu=${@cpu(d)} \
+ --pkg-config=pkg-config \
+"
+
+EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
+# gold crashes on x86, another solution is to --disable-asm but thats more hacky
+# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
+
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+do_configure() {
+ ${S}/configure ${EXTRA_OECONF}
+}
+
+PACKAGES =+ "libavcodec \
+ libavdevice \
+ libavfilter \
+ libavformat \
+ libavresample \
+ libavutil \
+ libpostproc \
+ libswresample \
+ libswscale"
+
+FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
+FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
+FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
+FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
+FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
+FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
+FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
+FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
+FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
+
+# ffmpeg disables PIC on some platforms (e.g. x86-32)
+INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
+INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
+INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
+INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
+INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
+INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
+INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
+INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
+INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"
diff --git a/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch b/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch
new file mode 100644
index 000000000..db742dea2
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch
@@ -0,0 +1,30 @@
+From 8a156d1725ecd03f2e8cdc8874e081dda2d3b43d Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Sun, 15 Apr 2018 00:49:55 +0200
+Subject: [PATCH] gstconfig.h.in: initial RISC-V support
+
+RISC-V supports unaligned accesses, but these might run extremely slowly
+depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS
+to 0 on this architecture.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=795271
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Accepted [1.15.1 - https://bugzilla.gnome.org/show_bug.cgi?id=795271]
+---
+ gst/gstconfig.h.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in
+index 6351c04da..33dfed1f6 100644
+--- a/gst/gstconfig.h.in
++++ b/gst/gstconfig.h.in
+@@ -104,7 +104,7 @@
+ * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6
+ * https://software.intel.com/en-us/node/583402
+ */
+-#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__)
++#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv)
+ # define GST_HAVE_UNALIGNED_ACCESS 0
+ #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__)
+ # define GST_HAVE_UNALIGNED_ACCESS 1
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb
index 1d87f24fe..75ac9b75c 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb
@@ -4,11 +4,11 @@ LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20
DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 glib-2.0-native"
-SRC_URI = "git://anongit.freedesktop.org/gstreamer/gst-examples \
+SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https \
file://0001-Make-player-examples-installable.patch \
file://gst-player.desktop"
-SRCREV = "48247c6ab6807d6ae179cf653cbdc64714d3313c"
+SRCREV = "2b3fc175c252cd5a537e4b2864b572a8372473d6"
PV = "0.0.1+git${SRCPV}"
UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc b/poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
index 3fdb10e40..6781e98c3 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
@@ -6,26 +6,26 @@ python split_gstreamer10_packages () {
postinst = d.getVar('plugin_postinst')
glibdir = d.getVar('libdir')
- do_split_packages(d, glibdir, '^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
- do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer plugin for %s', postinst=postinst, extra_depends='')
- do_split_packages(d, glibdir+'/girepository-1.0', 'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer typelib file for %s', postinst=postinst, extra_depends='')
- do_split_packages(d, gst_libdir, 'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends='${PN}-dev')
- do_split_packages(d, gst_libdir, 'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends='${PN}-staticdev')
+ do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
+ do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer plugin for %s', postinst=postinst, extra_depends='')
+ do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer typelib file for %s', postinst=postinst, extra_depends='')
+ do_split_packages(d, gst_libdir, r'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends='${PN}-dev')
+ do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends='${PN}-staticdev')
}
python set_metapkg_rdepends () {
import os
+ import oe.utils
pn = d.getVar('PN')
metapkg = pn + '-meta'
d.setVar('ALLOW_EMPTY_' + metapkg, "1")
d.setVar('FILES_' + metapkg, "")
- blacklist = [ pn, pn + '-locale', pn + '-dev', pn + '-dbg', pn + '-doc', pn + '-meta' ]
+ blacklist = [ pn, pn + '-meta' ]
metapkg_rdepends = []
- packages = d.getVar('PACKAGES').split()
pkgdest = d.getVar('PKGDEST')
- 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.count('locale') and not pkg.count('-staticdev'):
+ for pkg in oe.utils.packages_filter_out_system(d):
+ if pkg not in blacklist and pkg not in metapkg_rdepends:
# See if the package is empty by looking at the contents of its PKGDEST subdirectory.
# If this subdirectory is empty, then the package is.
# Empty packages do not get added to the meta package's RDEPENDS
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb
index 8c7c235fd..4987be865 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb
@@ -18,7 +18,7 @@ LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
-DEPENDS += "gstreamer1.0-plugins-base jpeg"
+DEPENDS += "gstreamer1.0-plugins-base"
inherit gettext bluetooth
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb
index c59ba1de5..168e64d84 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb
@@ -15,7 +15,7 @@ SRC_URI[sha256sum] = "ac02d837f166c35ff6ce0738e281680d0b90052cfb1f0255dcf6aaca5f
S = "${WORKDIR}/gst-plugins-ugly-${PV}"
-DEPENDS += "gstreamer1.0-plugins-base libid3tag"
+DEPENDS += "gstreamer1.0-plugins-base"
inherit gettext
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb
index 232234b88..98c9a28e3 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb
@@ -25,6 +25,7 @@ SRC_URI = " \
file://gtk-doc-tweaks.patch \
file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
file://add-a-target-to-compile-tests.patch \
+ file://0002-gstconfig.h.in-initial-RISC-V-support.patch \
file://run-ptest \
"
SRC_URI[md5sum] = "f67fbbc42bd85a0701df119f52fb52bd"
diff --git a/poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.dpatch b/poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
index 8d09ce7b6..8d09ce7b6 100644
--- a/poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.dpatch
+++ b/poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
diff --git a/poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb b/poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
index fe3164610..43edd3fe6 100644
--- a/poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
+++ b/poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
@@ -13,7 +13,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libid3tag-${PV}.tar.gz \
file://addpkgconfig.patch \
file://obsolete_automake_macros.patch \
file://0001-Fix-gperf-3.1-incompatibility.patch \
- file://10_utf16.dpatch \
+ file://10_utf16.patch \
"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/mad/files/libid3tag/"
UPSTREAM_CHECK_REGEX = "/projects/mad/files/libid3tag/(?P<pver>.*)/$"
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/0001-a-ulaw-fix-multiple-buffer-overflows-432.patch b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/0001-a-ulaw-fix-multiple-buffer-overflows-432.patch
index c3f44ca23..a4679cef2 100644
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/0001-a-ulaw-fix-multiple-buffer-overflows-432.patch
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/0001-a-ulaw-fix-multiple-buffer-overflows-432.patch
@@ -1,3 +1,15 @@
+This patch fixes #429 (CVE-2018-19661 CVE-2018-19662) and #344 (CVE-2017-17456
+CVE-2017-17457). As per
+https://github.com/erikd/libsndfile/issues/344#issuecomment-448504425 it also
+fixes #317 (CVE-2017-14245 CVE-2017-14246).
+
+CVE: CVE-2017-14245 CVE-2017-14246
+CVE: CVE-2017-17456 CVE-2017-17457
+CVE: CVE-2018-19661 CVE-2018-19662
+
+Upstream-Status: Backport [8ddc442d539ca775d80cdbc7af17a718634a743f]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
From 39453899fe1bb39b2e041fdf51a85aecd177e9c7 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Mon, 7 Jan 2019 15:55:03 +0800
@@ -17,12 +29,6 @@ In this case, arbitrarily set the buffer value to 0.
This commit fixes #429 (CVE-2018-19661 and CVE-2018-19662) and
fixes #344 (CVE-2017-17456 and CVE-2017-17457).
-Upstream-Status: Backport[https://github.com/erikd/libsndfile/
-commit/585cc28a93be27d6938f276af0011401b9f7c0ca]
-
-CVE: CVE-2017-17456 CVE-2017-17457 CVE-2018-19661 CVE-2018-19662
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
src/alaw.c | 9 +++++++--
src/ulaw.c | 9 +++++++--
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-12562.patch b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-12562.patch
new file mode 100644
index 000000000..491dae311
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-12562.patch
@@ -0,0 +1,96 @@
+Heap-based Buffer Overflow in the psf_binheader_writef function in common.c in
+libsndfile through 1.0.28 allows remote attackers to cause a denial of service
+(application crash) or possibly have unspecified other impact.
+
+CVE: CVE-2017-12562
+Upstream-Status: Backport [cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From b6a9d7e95888ffa77d8c75ce3f03e6c7165587cd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= <osmanx@problemloesungsmaschine.de>
+Date: Wed, 14 Jun 2017 12:25:40 +0200
+Subject: [PATCH] src/common.c: Fix heap buffer overflows when writing strings
+ in binheader
+
+Fixes the following problems:
+ 1. Case 's' only enlarges the buffer by 16 bytes instead of size bytes.
+ 2. psf_binheader_writef() enlarges the header buffer (if needed) prior to the
+ big switch statement by an amount (16 bytes) which is enough for all cases
+ where only a single value gets added. Cases 's', 'S', 'p' however
+ additionally write an arbitrary length block of data and again enlarge the
+ buffer to the required amount. However, the required space calculation does
+ not take into account the size of the length field which gets output before
+ the data.
+ 3. Buffer size requirement calculation in case 'S' does not account for the
+ padding byte ("size += (size & 1) ;" happens after the calculation which
+ uses "size").
+ 4. Case 'S' can overrun the header buffer by 1 byte when no padding is
+ involved
+ ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;" while
+ the buffer is only guaranteed to have "size" space available).
+ 5. "psf->header.ptr [psf->header.indx] = 0 ;" in case 'S' always writes 1 byte
+ beyond the space which is guaranteed to be allocated in the header buffer.
+ 6. Case 's' can overrun the provided source string by 1 byte if padding is
+ involved ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;"
+ where "size" is "strlen (strptr) + 1" (which includes the 0 terminator,
+ plus optionally another 1 which is padding and not guaranteed to be
+ readable via the source string pointer).
+
+Closes: https://github.com/erikd/libsndfile/issues/292
+---
+ src/common.c | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/src/common.c b/src/common.c
+index 1a6204ca..6b2a2ee9 100644
+--- a/src/common.c
++++ b/src/common.c
+@@ -681,16 +681,16 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...)
+ /* Write a C string (guaranteed to have a zero terminator). */
+ strptr = va_arg (argptr, char *) ;
+ size = strlen (strptr) + 1 ;
+- size += (size & 1) ;
+
+- if (psf->header.indx + (sf_count_t) size >= psf->header.len && psf_bump_header_allocation (psf, 16))
++ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1)))
+ return count ;
+
+ if (psf->rwf_endian == SF_ENDIAN_BIG)
+- header_put_be_int (psf, size) ;
++ header_put_be_int (psf, size + (size & 1)) ;
+ else
+- header_put_le_int (psf, size) ;
++ header_put_le_int (psf, size + (size & 1)) ;
+ memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;
++ size += (size & 1) ;
+ psf->header.indx += size ;
+ psf->header.ptr [psf->header.indx - 1] = 0 ;
+ count += 4 + size ;
+@@ -703,16 +703,15 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...)
+ */
+ strptr = va_arg (argptr, char *) ;
+ size = strlen (strptr) ;
+- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size))
++ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1)))
+ return count ;
+ if (psf->rwf_endian == SF_ENDIAN_BIG)
+ header_put_be_int (psf, size) ;
+ else
+ header_put_le_int (psf, size) ;
+- memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;
++ memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + (size & 1)) ;
+ size += (size & 1) ;
+ psf->header.indx += size ;
+- psf->header.ptr [psf->header.indx] = 0 ;
+ count += 4 + size ;
+ break ;
+
+@@ -724,7 +723,7 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...)
+ size = (size & 1) ? size : size + 1 ;
+ size = (size > 254) ? 254 : size ;
+
+- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size))
++ if (psf->header.indx + 1 + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, 1 + size))
+ return count ;
+
+ header_put_byte (psf, size) ;
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-14245-14246.patch b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-14245-14246.patch
deleted file mode 100644
index a17ec21f9..000000000
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-14245-14246.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 2d54514a4f6437b67829717c05472d2e3300a258 Mon Sep 17 00:00:00 2001
-From: Fabian Greffrath <fabian@greffrath.com>
-Date: Wed, 27 Sep 2017 14:46:17 +0200
-Subject: [PATCH] sfe_copy_data_fp: check value of "max" variable for being
- normal
-
-and check elements of the data[] array for being finite.
-
-Both checks use functions provided by the <math.h> header as declared
-by the C99 standard.
-
-Fixes #317
-CVE: CVE-2017-14245
-CVE: CVE-2017-14246
-
-Upstream-Status: Backport [https://github.com/fabiangreffrath/libsndfile/commit/2d54514a4f6437b67829717c05472d2e3300a258]
-
-Signed-off-by: Fabian Greffrath <fabian@greffrath.com>
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
----
- programs/common.c | 20 ++++++++++++++++----
- programs/common.h | 2 +-
- programs/sndfile-convert.c | 6 +++++-
- 3 files changed, 22 insertions(+), 6 deletions(-)
-
-diff --git a/programs/common.c b/programs/common.c
-index a21e62c..a249a58 100644
---- a/programs/common.c
-+++ b/programs/common.c
-@@ -36,6 +36,7 @@
- #include <string.h>
- #include <ctype.h>
- #include <stdint.h>
-+#include <math.h>
-
- #include <sndfile.h>
-
-@@ -45,7 +46,7 @@
-
- #define MIN(x, y) ((x) < (y) ? (x) : (y))
-
--void
-+int
- sfe_copy_data_fp (SNDFILE *outfile, SNDFILE *infile, int channels, int normalize)
- { static double data [BUFFER_LEN], max ;
- int frames, readcount, k ;
-@@ -54,6 +55,8 @@ sfe_copy_data_fp (SNDFILE *outfile, SNDFILE *infile, int channels, int normalize
- readcount = frames ;
-
- sf_command (infile, SFC_CALC_SIGNAL_MAX, &max, sizeof (max)) ;
-+ if (!isnormal (max)) /* neither zero, subnormal, infinite, nor NaN */
-+ return 1 ;
-
- if (!normalize && max < 1.0)
- { while (readcount > 0)
-@@ -67,12 +70,16 @@ sfe_copy_data_fp (SNDFILE *outfile, SNDFILE *infile, int channels, int normalize
- while (readcount > 0)
- { readcount = sf_readf_double (infile, data, frames) ;
- for (k = 0 ; k < readcount * channels ; k++)
-- data [k] /= max ;
-+ { data [k] /= max ;
-+
-+ if (!isfinite (data [k])) /* infinite or NaN */
-+ return 1;
-+ }
- sf_writef_double (outfile, data, readcount) ;
- } ;
- } ;
-
-- return ;
-+ return 0 ;
- } /* sfe_copy_data_fp */
-
- void
-@@ -252,7 +259,12 @@ sfe_apply_metadata_changes (const char * filenames [2], const METADATA_INFO * in
-
- /* If the input file is not the same as the output file, copy the data. */
- if ((infileminor == SF_FORMAT_DOUBLE) || (infileminor == SF_FORMAT_FLOAT))
-- sfe_copy_data_fp (outfile, infile, sfinfo.channels, SF_FALSE) ;
-+ { if (sfe_copy_data_fp (outfile, infile, sfinfo.channels, SF_FALSE) != 0)
-+ { printf ("Error : Not able to decode input file '%s'\n", filenames [0]) ;
-+ error_code = 1 ;
-+ goto cleanup_exit ;
-+ } ;
-+ }
- else
- sfe_copy_data_int (outfile, infile, sfinfo.channels) ;
- } ;
-diff --git a/programs/common.h b/programs/common.h
-index eda2d7d..986277e 100644
---- a/programs/common.h
-+++ b/programs/common.h
-@@ -62,7 +62,7 @@ typedef SF_BROADCAST_INFO_VAR (2048) SF_BROADCAST_INFO_2K ;
-
- void sfe_apply_metadata_changes (const char * filenames [2], const METADATA_INFO * info) ;
-
--void sfe_copy_data_fp (SNDFILE *outfile, SNDFILE *infile, int channels, int normalize) ;
-+int sfe_copy_data_fp (SNDFILE *outfile, SNDFILE *infile, int channels, int normalize) ;
-
- void sfe_copy_data_int (SNDFILE *outfile, SNDFILE *infile, int channels) ;
-
-diff --git a/programs/sndfile-convert.c b/programs/sndfile-convert.c
-index dff7f79..e6de593 100644
---- a/programs/sndfile-convert.c
-+++ b/programs/sndfile-convert.c
-@@ -335,7 +335,11 @@ main (int argc, char * argv [])
- || (outfileminor == SF_FORMAT_DOUBLE) || (outfileminor == SF_FORMAT_FLOAT)
- || (infileminor == SF_FORMAT_DOUBLE) || (infileminor == SF_FORMAT_FLOAT)
- || (infileminor == SF_FORMAT_VORBIS) || (outfileminor == SF_FORMAT_VORBIS))
-- sfe_copy_data_fp (outfile, infile, sfinfo.channels, normalize) ;
-+ { if (sfe_copy_data_fp (outfile, infile, sfinfo.channels, normalize) != 0)
-+ { printf ("Error : Not able to decode input file %s.\n", infilename) ;
-+ return 1 ;
-+ } ;
-+ }
- else
- sfe_copy_data_int (outfile, infile, sfinfo.channels) ;
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-13139.patch b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-13139.patch
index 4ae3674df..707373d41 100644
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-13139.patch
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-13139.patch
@@ -1,23 +1,25 @@
-From 5473aeef7875e54bd0f786fbdd259a35aaee875c Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 10 Oct 2018 08:59:30 +0800
-Subject: [PATCH] libsndfile1: patch for CVE-2018-13139
+CVE: CVE-2018-13139
+Upstream-Status: Backport [9dc989eb89cd697e19897afa616d6ab0debe4822]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
-Upstream-Status: Backport [https://github.com/bwarden/libsndfile/
-commit/df18323c622b54221ee7ace74b177cdcccc152d7]
+From 9dc989eb89cd697e19897afa616d6ab0debe4822 Mon Sep 17 00:00:00 2001
+From: "Brett T. Warden" <brett.t.warden@intel.com>
+Date: Tue, 28 Aug 2018 12:01:17 -0700
+Subject: [PATCH] Check MAX_CHANNELS in sndfile-deinterleave
-CVE: CVE-2018-13139
+Allocated buffer has space for only 16 channels. Verify that input file
+meets this limit.
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
+Fixes #397
---
- programs/sndfile-deinterleave.c | 6 ++++++
- 1 file changed, 6 insertions(+)
+ programs/sndfile-deinterleave.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
diff --git a/programs/sndfile-deinterleave.c b/programs/sndfile-deinterleave.c
-index e27593e..721bee7 100644
+index e27593e2..cb497e1f 100644
--- a/programs/sndfile-deinterleave.c
+++ b/programs/sndfile-deinterleave.c
-@@ -89,6 +89,12 @@ main (int argc, char **argv)
+@@ -89,6 +89,13 @@ main (int argc, char **argv)
exit (1) ;
} ;
@@ -27,9 +29,9 @@ index e27593e..721bee7 100644
+ exit (1) ;
+ } ;
+
++
state.channels = sfinfo.channels ;
sfinfo.channels = 1 ;
--
-2.7.4
-
+2.11.0
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-19758.patch b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-19758.patch
new file mode 100644
index 000000000..c3586f9df
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2018-19758.patch
@@ -0,0 +1,34 @@
+There is a heap-based buffer over-read at wav.c in wav_write_header in
+libsndfile 1.0.28 that will cause a denial of service.
+
+CVE: CVE-2018-19758
+Upstream-Status: Backport [42132c543358cee9f7c3e9e9b15bb6c1063a608e]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From c12173b0197dd0c5cfa2cd27977e982d2ae59486 Mon Sep 17 00:00:00 2001
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Tue, 1 Jan 2019 20:11:46 +1100
+Subject: [PATCH] src/wav.c: Fix heap read overflow
+
+This is CVE-2018-19758.
+
+Closes: https://github.com/erikd/libsndfile/issues/435
+---
+ src/wav.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/wav.c b/src/wav.c
+index e8405b55..6fb94ae8 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -1094,6 +1094,8 @@ wav_write_header (SF_PRIVATE *psf, int calc_length)
+ psf_binheader_writef (psf, "44", 0, 0) ; /* SMTPE format */
+ psf_binheader_writef (psf, "44", psf->instrument->loop_count, 0) ;
+
++ /* Loop count is signed 16 bit number so we limit it range to something sensible. */
++ psf->instrument->loop_count &= 0x7fff ;
+ for (tmp = 0 ; tmp < psf->instrument->loop_count ; tmp++)
+ { int type ;
+
+--
+2.11.0
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2019-3832.patch b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2019-3832.patch
new file mode 100644
index 000000000..ab3721139
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2019-3832.patch
@@ -0,0 +1,37 @@
+From 43886efc408c21e1e329086ef70c88860310f25b Mon Sep 17 00:00:00 2001
+From: Emilio Pozuelo Monfort <pochu27@gmail.com>
+Date: Tue, 5 Mar 2019 11:27:17 +0100
+Subject: [PATCH] wav_write_header: don't read past the array end
+
+CVE-2018-19758 wasn't entirely fixed in the fix, so fix it harder.
+
+CVE: CVE-2019-3832
+Upstream-Status: Backport [7408c4c788ce047d4e652b60a04e7796bcd7267e]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+If loop_count is bigger than the array, truncate it to the array
+length (and not to 32k).
+
+CVE-2019-3832
+
+---
+ src/wav.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/wav.c b/src/wav.c
+index daae3cc..8851549 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -1094,8 +1094,10 @@ wav_write_header (SF_PRIVATE *psf, int calc_length)
+ psf_binheader_writef (psf, "44", 0, 0) ; /* SMTPE format */
+ psf_binheader_writef (psf, "44", psf->instrument->loop_count, 0) ;
+
+- /* Loop count is signed 16 bit number so we limit it range to something sensible. */
+- psf->instrument->loop_count &= 0x7fff ;
++ /* Make sure we don't read past the loops array end. */
++ if (psf->instrument->loop_count > ARRAY_LEN (psf->instrument->loops))
++ psf->instrument->loop_count = ARRAY_LEN (psf->instrument->loops) ;
++
+ for (tmp = 0 ; tmp < psf->instrument->loop_count ; tmp++)
+ { int type ;
+
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
index 9700f4a6e..77393db84 100644
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
@@ -10,11 +10,13 @@ SRC_URI = "http://www.mega-nerd.com/libsndfile/files/libsndfile-${PV}.tar.gz \
file://CVE-2017-8361-8365.patch \
file://CVE-2017-8362.patch \
file://CVE-2017-8363.patch \
- file://CVE-2017-14245-14246.patch \
file://CVE-2017-14634.patch \
file://CVE-2018-13139.patch \
file://0001-a-ulaw-fix-multiple-buffer-overflows-432.patch \
file://CVE-2018-19432.patch \
+ file://CVE-2017-12562.patch \
+ file://CVE-2018-19758.patch \
+ file://CVE-2019-3832.patch \
"
SRC_URI[md5sum] = "646b5f98ce89ac60cdb060fcd398247c"
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-17095.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-17095.patch
deleted file mode 100644
index 9b9962ed3..000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-17095.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 9171da596c88e6a2dadcab4a3a89dddd6e1b4655 Mon Sep 17 00:00:00 2001
-From: Nathan Baker <elitebadger@gmail.com>
-Date: Thu, 25 Jan 2018 21:28:15 +0000
-Subject: [PATCH] Add workaround to pal2rgb buffer overflow.
-
-CVE: CVE-2017-17095
-
-Upstream-Status: Backport (unchanged) [gitlab.com/libtiff/libtiff/commit/9171da5...]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com.
-
----
- tools/pal2rgb.c | 17 +++++++++++++++--
- 1 file changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/tools/pal2rgb.c b/tools/pal2rgb.c
-index 0423598..01fcf94 100644
---- a/tools/pal2rgb.c
-+++ b/tools/pal2rgb.c
-@@ -182,8 +182,21 @@ main(int argc, char* argv[])
- { unsigned char *ibuf, *obuf;
- register unsigned char* pp;
- register uint32 x;
-- ibuf = (unsigned char*)_TIFFmalloc(TIFFScanlineSize(in));
-- obuf = (unsigned char*)_TIFFmalloc(TIFFScanlineSize(out));
-+ tmsize_t tss_in = TIFFScanlineSize(in);
-+ tmsize_t tss_out = TIFFScanlineSize(out);
-+ if (tss_out / tss_in < 3) {
-+ /*
-+ * BUG 2750: The following code does not know about chroma
-+ * subsampling of JPEG data. It assumes that the output buffer is 3x
-+ * the length of the input buffer due to exploding the palette into
-+ * RGB tuples. If this assumption is incorrect, it could lead to a
-+ * buffer overflow. Go ahead and fail now to prevent that.
-+ */
-+ fprintf(stderr, "Could not determine correct image size for output. Exiting.\n");
-+ return -1;
-+ }
-+ ibuf = (unsigned char*)_TIFFmalloc(tss_in);
-+ obuf = (unsigned char*)_TIFFmalloc(tss_out);
- switch (config) {
- case PLANARCONFIG_CONTIG:
- for (row = 0; row < imagelength; row++) {
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-18013.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-18013.patch
deleted file mode 100644
index 878e0de95..000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-18013.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 293c8b0298e91d20ba51291e2351ab7d110671d0 Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Sun, 31 Dec 2017 15:09:41 +0100
-Subject: [PATCH] libtiff/tif_print.c: TIFFPrintDirectory(): fix null pointer
- dereference on corrupted file. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2770
-
-Upstream-Status: Backport
-[https://gitlab.com/libtiff/libtiff/commit/c6f41df7b581402dfba3c19a1e3df4454c551a01]
-
-CVE: CVE-2017-18013
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- libtiff/tif_print.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
-index 24d4b98..f494cfb 100644
---- a/libtiff/tif_print.c
-+++ b/libtiff/tif_print.c
-@@ -667,13 +667,13 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
- #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
- fprintf(fd, " %3lu: [%8I64u, %8I64u]\n",
- (unsigned long) s,
-- (unsigned __int64) td->td_stripoffset[s],
-- (unsigned __int64) td->td_stripbytecount[s]);
-+ td->td_stripoffset ? (unsigned __int64) td->td_stripoffset[s] : 0,
-+ td->td_stripbytecount ? (unsigned __int64) td->td_stripbytecount[s] : 0);
- #else
- fprintf(fd, " %3lu: [%8llu, %8llu]\n",
- (unsigned long) s,
-- (unsigned long long) td->td_stripoffset[s],
-- (unsigned long long) td->td_stripbytecount[s]);
-+ td->td_stripoffset ? (unsigned long long) td->td_stripoffset[s] : 0,
-+ td->td_stripbytecount ? (unsigned long long) td->td_stripbytecount[s] : 0);
- #endif
- }
- }
---
-2.7.4
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-9935.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-9935.patch
deleted file mode 100644
index 60684dd2a..000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2017-9935.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From abb0055d21c52a9925314d5b0628fb2b6307619c Mon Sep 17 00:00:00 2001
-From: Brian May <brian@linuxpenguins.xyz>
-Date: Thu, 7 Dec 2017 07:46:47 +1100
-Subject: [PATCH] tiff2pdf: Fix CVE-2017-9935
-
-Fix for http://bugzilla.maptools.org/show_bug.cgi?id=2704
-
-This vulnerability - at least for the supplied test case - is because we
-assume that a tiff will only have one transfer function that is the same
-for all pages. This is not required by the TIFF standards.
-
-We than read the transfer function for every page. Depending on the
-transfer function, we allocate either 2 or 4 bytes to the XREF buffer.
-We allocate this memory after we read in the transfer function for the
-page.
-
-For the first exploit - POC1, this file has 3 pages. For the first page
-we allocate 2 extra extra XREF entries. Then for the next page 2 more
-entries. Then for the last page the transfer function changes and we
-allocate 4 more entries.
-
-When we read the file into memory, we assume we have 4 bytes extra for
-each and every page (as per the last transfer function we read). Which
-is not correct, we only have 2 bytes extra for the first 2 pages. As a
-result, we end up writing past the end of the buffer.
-
-There are also some related issues that this also fixes. For example,
-TIFFGetField can return uninitalized pointer values, and the logic to
-detect a N=3 vs N=1 transfer function seemed rather strange.
-
-It is also strange that we declare the transfer functions to be of type
-float, when the standard says they are unsigned 16 bit values. This is
-fixed in another patch.
-
-This patch will check to ensure that the N value for every transfer
-function is the same for every page. If this changes, we abort with an
-error. In theory, we should perhaps check that the transfer function
-itself is identical for every page, however we don't do that due to the
-confusion of the type of the data in the transfer function.
-
-Upstream-Status: Backport
-[https://gitlab.com/libtiff/libtiff/commit/3dd8f6a357981a4090f126ab9025056c938b6940]
-
-CVE: CVE-2017-9935
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- libtiff/tif_dir.c | 3 +++
- tools/tiff2pdf.c | 65 +++++++++++++++++++++++++++++++++++++------------------
- 2 files changed, 47 insertions(+), 21 deletions(-)
-
-diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
-index f00f808..c36a5f3 100644
---- a/libtiff/tif_dir.c
-+++ b/libtiff/tif_dir.c
-@@ -1067,6 +1067,9 @@ _TIFFVGetField(TIFF* tif, uint32 tag, va_list ap)
- if (td->td_samplesperpixel - td->td_extrasamples > 1) {
- *va_arg(ap, uint16**) = td->td_transferfunction[1];
- *va_arg(ap, uint16**) = td->td_transferfunction[2];
-+ } else {
-+ *va_arg(ap, uint16**) = NULL;
-+ *va_arg(ap, uint16**) = NULL;
- }
- break;
- case TIFFTAG_REFERENCEBLACKWHITE:
-diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c
-index 454befb..0b5973e 100644
---- a/tools/tiff2pdf.c
-+++ b/tools/tiff2pdf.c
-@@ -1047,6 +1047,8 @@ void t2p_read_tiff_init(T2P* t2p, TIFF* input){
- uint16 pagen=0;
- uint16 paged=0;
- uint16 xuint16=0;
-+ uint16 tiff_transferfunctioncount=0;
-+ float* tiff_transferfunction[3];
-
- directorycount=TIFFNumberOfDirectories(input);
- t2p->tiff_pages = (T2P_PAGE*) _TIFFmalloc(TIFFSafeMultiply(tmsize_t,directorycount,sizeof(T2P_PAGE)));
-@@ -1147,26 +1149,48 @@ void t2p_read_tiff_init(T2P* t2p, TIFF* input){
- }
- #endif
- if (TIFFGetField(input, TIFFTAG_TRANSFERFUNCTION,
-- &(t2p->tiff_transferfunction[0]),
-- &(t2p->tiff_transferfunction[1]),
-- &(t2p->tiff_transferfunction[2]))) {
-- if((t2p->tiff_transferfunction[1] != (float*) NULL) &&
-- (t2p->tiff_transferfunction[2] != (float*) NULL) &&
-- (t2p->tiff_transferfunction[1] !=
-- t2p->tiff_transferfunction[0])) {
-- t2p->tiff_transferfunctioncount = 3;
-- t2p->tiff_pages[i].page_extra += 4;
-- t2p->pdf_xrefcount += 4;
-- } else {
-- t2p->tiff_transferfunctioncount = 1;
-- t2p->tiff_pages[i].page_extra += 2;
-- t2p->pdf_xrefcount += 2;
-- }
-- if(t2p->pdf_minorversion < 2)
-- t2p->pdf_minorversion = 2;
-+ &(tiff_transferfunction[0]),
-+ &(tiff_transferfunction[1]),
-+ &(tiff_transferfunction[2]))) {
-+
-+ if((tiff_transferfunction[1] != (float*) NULL) &&
-+ (tiff_transferfunction[2] != (float*) NULL)
-+ ) {
-+ tiff_transferfunctioncount=3;
-+ } else {
-+ tiff_transferfunctioncount=1;
-+ }
- } else {
-- t2p->tiff_transferfunctioncount=0;
-+ tiff_transferfunctioncount=0;
- }
-+
-+ if (i > 0){
-+ if (tiff_transferfunctioncount != t2p->tiff_transferfunctioncount){
-+ TIFFError(
-+ TIFF2PDF_MODULE,
-+ "Different transfer function on page %d",
-+ i);
-+ t2p->t2p_error = T2P_ERR_ERROR;
-+ return;
-+ }
-+ }
-+
-+ t2p->tiff_transferfunctioncount = tiff_transferfunctioncount;
-+ t2p->tiff_transferfunction[0] = tiff_transferfunction[0];
-+ t2p->tiff_transferfunction[1] = tiff_transferfunction[1];
-+ t2p->tiff_transferfunction[2] = tiff_transferfunction[2];
-+ if(tiff_transferfunctioncount == 3){
-+ t2p->tiff_pages[i].page_extra += 4;
-+ t2p->pdf_xrefcount += 4;
-+ if(t2p->pdf_minorversion < 2)
-+ t2p->pdf_minorversion = 2;
-+ } else if (tiff_transferfunctioncount == 1){
-+ t2p->tiff_pages[i].page_extra += 2;
-+ t2p->pdf_xrefcount += 2;
-+ if(t2p->pdf_minorversion < 2)
-+ t2p->pdf_minorversion = 2;
-+ }
-+
- if( TIFFGetField(
- input,
- TIFFTAG_ICCPROFILE,
-@@ -1828,9 +1852,8 @@ void t2p_read_tiff_data(T2P* t2p, TIFF* input){
- &(t2p->tiff_transferfunction[1]),
- &(t2p->tiff_transferfunction[2]))) {
- if((t2p->tiff_transferfunction[1] != (float*) NULL) &&
-- (t2p->tiff_transferfunction[2] != (float*) NULL) &&
-- (t2p->tiff_transferfunction[1] !=
-- t2p->tiff_transferfunction[0])) {
-+ (t2p->tiff_transferfunction[2] != (float*) NULL)
-+ ) {
- t2p->tiff_transferfunctioncount=3;
- } else {
- t2p->tiff_transferfunctioncount=1;
---
-2.7.4
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-10963.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-10963.patch
deleted file mode 100644
index 7252298b5..000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-10963.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From de144fd228e4be8aa484c3caf3d814b6fa88c6d9 Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Sat, 12 May 2018 14:24:15 +0200
-Subject: [PATCH] TIFFWriteDirectorySec: avoid assertion. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2795.
- CVE-2018-10963
-
----
-CVE: CVE-2018-10963
-
-Upstream-Status: Backport [gitlab.com/libtiff/libtiff/commit/de144f...]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
- libtiff/tif_dirwrite.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c
-index 2430de6..c15a28d 100644
---- a/libtiff/tif_dirwrite.c
-+++ b/libtiff/tif_dirwrite.c
-@@ -695,8 +695,11 @@ TIFFWriteDirectorySec(TIFF* tif, int isimage, int imagedone, uint64* pdiroff)
- }
- break;
- default:
-- assert(0); /* we should never get here */
-- break;
-+ TIFFErrorExt(tif->tif_clientdata,module,
-+ "Cannot write tag %d (%s)",
-+ TIFFFieldTag(o),
-+ o->field_name ? o->field_name : "unknown");
-+ goto bad;
- }
- }
- }
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-5784.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-5784.patch
deleted file mode 100644
index 406001d57..000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-5784.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 6cdea15213be6b67d9f8380c7bb40e325d3adace Mon Sep 17 00:00:00 2001
-From: Nathan Baker <nathanb@lenovo-chrome.com>
-Date: Tue, 6 Feb 2018 10:13:57 -0500
-Subject: [PATCH] Fix for bug 2772
-
-It is possible to craft a TIFF document where the IFD list is circular,
-leading to an infinite loop while traversing the chain. The libtiff
-directory reader has a failsafe that will break out of this loop after
-reading 65535 directory entries, but it will continue processing,
-consuming time and resources to process what is essentially a bogus TIFF
-document.
-
-This change fixes the above behavior by breaking out of processing when
-a TIFF document has >= 65535 directories and terminating with an error.
-
-Upstream-Status: Backport
-[https://gitlab.com/libtiff/libtiff/commit/473851d211cf8805a161820337ca74cc9615d6ef]
-
-CVE: CVE-2018-5784
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- contrib/addtiffo/tif_overview.c | 14 +++++++++++++-
- tools/tiff2pdf.c | 10 ++++++++++
- tools/tiffcrop.c | 13 +++++++++++--
- 3 files changed, 34 insertions(+), 3 deletions(-)
-
-diff --git a/contrib/addtiffo/tif_overview.c b/contrib/addtiffo/tif_overview.c
-index c61ffbb..03b3573 100644
---- a/contrib/addtiffo/tif_overview.c
-+++ b/contrib/addtiffo/tif_overview.c
-@@ -65,6 +65,8 @@
- # define MAX(a,b) ((a>b) ? a : b)
- #endif
-
-+#define TIFF_DIR_MAX 65534
-+
- void TIFFBuildOverviews( TIFF *, int, int *, int, const char *,
- int (*)(double,void*), void * );
-
-@@ -91,6 +93,7 @@ uint32 TIFF_WriteOverview( TIFF *hTIFF, uint32 nXSize, uint32 nYSize,
- {
- toff_t nBaseDirOffset;
- toff_t nOffset;
-+ tdir_t iNumDir;
-
- (void) bUseSubIFDs;
-
-@@ -147,7 +150,16 @@ uint32 TIFF_WriteOverview( TIFF *hTIFF, uint32 nXSize, uint32 nYSize,
- return 0;
-
- TIFFWriteDirectory( hTIFF );
-- TIFFSetDirectory( hTIFF, (tdir_t) (TIFFNumberOfDirectories(hTIFF)-1) );
-+ iNumDir = TIFFNumberOfDirectories(hTIFF);
-+ if( iNumDir > TIFF_DIR_MAX )
-+ {
-+ TIFFErrorExt( TIFFClientdata(hTIFF),
-+ "TIFF_WriteOverview",
-+ "File `%s' has too many directories.\n",
-+ TIFFFileName(hTIFF) );
-+ exit(-1);
-+ }
-+ TIFFSetDirectory( hTIFF, (tdir_t) (iNumDir - 1) );
-
- nOffset = TIFFCurrentDirOffset( hTIFF );
-
-diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c
-index 0b5973e..ef5d6a0 100644
---- a/tools/tiff2pdf.c
-+++ b/tools/tiff2pdf.c
-@@ -68,6 +68,8 @@ extern int getopt(int, char**, char*);
-
- #define PS_UNIT_SIZE 72.0F
-
-+#define TIFF_DIR_MAX 65534
-+
- /* This type is of PDF color spaces. */
- typedef enum {
- T2P_CS_BILEVEL = 0x01, /* Bilevel, black and white */
-@@ -1051,6 +1053,14 @@ void t2p_read_tiff_init(T2P* t2p, TIFF* input){
- float* tiff_transferfunction[3];
-
- directorycount=TIFFNumberOfDirectories(input);
-+ if(directorycount > TIFF_DIR_MAX) {
-+ TIFFError(
-+ TIFF2PDF_MODULE,
-+ "TIFF contains too many directories, %s",
-+ TIFFFileName(input));
-+ t2p->t2p_error = T2P_ERR_ERROR;
-+ return;
-+ }
- t2p->tiff_pages = (T2P_PAGE*) _TIFFmalloc(TIFFSafeMultiply(tmsize_t,directorycount,sizeof(T2P_PAGE)));
- if(t2p->tiff_pages==NULL){
- TIFFError(
-diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
-index c69177e..c60cb38 100644
---- a/tools/tiffcrop.c
-+++ b/tools/tiffcrop.c
-@@ -217,6 +217,8 @@ extern int getopt(int argc, char * const argv[], const char *optstring);
- #define DUMP_TEXT 1
- #define DUMP_RAW 2
-
-+#define TIFF_DIR_MAX 65534
-+
- /* Offsets into buffer for margins and fixed width and length segments */
- struct offset {
- uint32 tmargin;
-@@ -2233,7 +2235,7 @@ main(int argc, char* argv[])
- pageNum = -1;
- else
- total_images = 0;
-- /* read multiple input files and write to output file(s) */
-+ /* Read multiple input files and write to output file(s) */
- while (optind < argc - 1)
- {
- in = TIFFOpen (argv[optind], "r");
-@@ -2241,7 +2243,14 @@ main(int argc, char* argv[])
- return (-3);
-
- /* If only one input file is specified, we can use directory count */
-- total_images = TIFFNumberOfDirectories(in);
-+ total_images = TIFFNumberOfDirectories(in);
-+ if (total_images > TIFF_DIR_MAX)
-+ {
-+ TIFFError (TIFFFileName(in), "File contains too many directories");
-+ if (out != NULL)
-+ (void) TIFFClose(out);
-+ return (1);
-+ }
- if (image_count == 0)
- {
- dirnum = 0;
---
-2.7.4
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-7456.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-7456.patch
deleted file mode 100644
index 2c11f93d1..000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-7456.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From be4c85b16e8801a16eec25e80eb9f3dd6a96731b Mon Sep 17 00:00:00 2001
-From: Hugo Lefeuvre <hle@debian.org>
-Date: Sun, 8 Apr 2018 14:07:08 -0400
-Subject: [PATCH] Fix NULL pointer dereference in TIFFPrintDirectory
-
-The TIFFPrintDirectory function relies on the following assumptions,
-supposed to be guaranteed by the specification:
-
-(a) A Transfer Function field is only present if the TIFF file has
- photometric type < 3.
-
-(b) If SamplesPerPixel > Color Channels, then the ExtraSamples field
- has count SamplesPerPixel - (Color Channels) and contains
- information about supplementary channels.
-
-While respect of (a) and (b) are essential for the well functioning of
-TIFFPrintDirectory, no checks are realized neither by the callee nor
-by TIFFPrintDirectory itself. Hence, following scenarios might happen
-and trigger the NULL pointer dereference:
-
-(1) TIFF File of photometric type 4 or more has illegal Transfer
- Function field.
-
-(2) TIFF File has photometric type 3 or less and defines a
- SamplesPerPixel field such that SamplesPerPixel > Color Channels
- without defining all extra samples in the ExtraSamples fields.
-
-In this patch, we address both issues with respect of the following
-principles:
-
-(A) In the case of (1), the defined transfer table should be printed
- safely even if it isn't 'legal'. This allows us to avoid expensive
- checks in TIFFPrintDirectory. Also, it is quite possible that
- an alternative photometric type would be developed (not part of the
- standard) and would allow definition of Transfer Table. We want
- libtiff to be able to handle this scenario out of the box.
-
-(B) In the case of (2), the transfer table should be printed at its
- right size, that is if TIFF file has photometric type Palette
- then the transfer table should have one row and not three, even
- if two extra samples are declared.
-
-In order to fulfill (A) we simply add a new 'i < 3' end condition to
-the broken TIFFPrintDirectory loop. This makes sure that in any case
-where (b) would be respected but not (a), everything stays fine.
-
-(B) is fulfilled by the loop condition
-'i < td->td_samplesperpixel - td->td_extrasamples'. This is enough as
-long as (b) is respected.
-
-Naturally, we also make sure (b) is respected. This is done in the
-TIFFReadDirectory function by making sure any non-color channel is
-counted in ExtraSamples.
-
-This commit addresses CVE-2018-7456.
-
----
-CVE: CVE-2018-7456
-
-Upstream-Status: Backport [gitlab.com/libtiff/libtiff/commit/be4c85b...]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
- libtiff/tif_dirread.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++
- libtiff/tif_print.c | 2 +-
- 2 files changed, 63 insertions(+), 1 deletion(-)
-
-diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
-index 6baa7b3..af5b84a 100644
---- a/libtiff/tif_dirread.c
-+++ b/libtiff/tif_dirread.c
-@@ -165,6 +165,7 @@ static int TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, uint32 nstrips, uin
- static int TIFFFetchSubjectDistance(TIFF*, TIFFDirEntry*);
- static void ChopUpSingleUncompressedStrip(TIFF*);
- static uint64 TIFFReadUInt64(const uint8 *value);
-+static int _TIFFGetMaxColorChannels(uint16 photometric);
-
- static int _TIFFFillStrilesInternal( TIFF *tif, int loadStripByteCount );
-
-@@ -3505,6 +3506,35 @@ static void TIFFReadDirEntryOutputErr(TIFF* tif, enum TIFFReadDirEntryErr err, c
- }
-
- /*
-+ * Return the maximum number of color channels specified for a given photometric
-+ * type. 0 is returned if photometric type isn't supported or no default value
-+ * is defined by the specification.
-+ */
-+static int _TIFFGetMaxColorChannels( uint16 photometric )
-+{
-+ switch (photometric) {
-+ case PHOTOMETRIC_PALETTE:
-+ case PHOTOMETRIC_MINISWHITE:
-+ case PHOTOMETRIC_MINISBLACK:
-+ return 1;
-+ case PHOTOMETRIC_YCBCR:
-+ case PHOTOMETRIC_RGB:
-+ case PHOTOMETRIC_CIELAB:
-+ return 3;
-+ case PHOTOMETRIC_SEPARATED:
-+ case PHOTOMETRIC_MASK:
-+ return 4;
-+ case PHOTOMETRIC_LOGL:
-+ case PHOTOMETRIC_LOGLUV:
-+ case PHOTOMETRIC_CFA:
-+ case PHOTOMETRIC_ITULAB:
-+ case PHOTOMETRIC_ICCLAB:
-+ default:
-+ return 0;
-+ }
-+}
-+
-+/*
- * Read the next TIFF directory from a file and convert it to the internal
- * format. We read directories sequentially.
- */
-@@ -3520,6 +3550,7 @@ TIFFReadDirectory(TIFF* tif)
- uint32 fii=FAILED_FII;
- toff_t nextdiroff;
- int bitspersample_read = FALSE;
-+ int color_channels;
-
- tif->tif_diroff=tif->tif_nextdiroff;
- if (!TIFFCheckDirOffset(tif,tif->tif_nextdiroff))
-@@ -4024,6 +4055,37 @@ TIFFReadDirectory(TIFF* tif)
- }
- }
- }
-+
-+ /*
-+ * Make sure all non-color channels are extrasamples.
-+ * If it's not the case, define them as such.
-+ */
-+ color_channels = _TIFFGetMaxColorChannels(tif->tif_dir.td_photometric);
-+ if (color_channels && tif->tif_dir.td_samplesperpixel - tif->tif_dir.td_extrasamples > color_channels) {
-+ uint16 old_extrasamples;
-+ uint16 *new_sampleinfo;
-+
-+ TIFFWarningExt(tif->tif_clientdata,module, "Sum of Photometric type-related "
-+ "color channels and ExtraSamples doesn't match SamplesPerPixel. "
-+ "Defining non-color channels as ExtraSamples.");
-+
-+ old_extrasamples = tif->tif_dir.td_extrasamples;
-+ tif->tif_dir.td_extrasamples = (tif->tif_dir.td_samplesperpixel - color_channels);
-+
-+ // sampleinfo should contain information relative to these new extra samples
-+ new_sampleinfo = (uint16*) _TIFFcalloc(tif->tif_dir.td_extrasamples, sizeof(uint16));
-+ if (!new_sampleinfo) {
-+ TIFFErrorExt(tif->tif_clientdata, module, "Failed to allocate memory for "
-+ "temporary new sampleinfo array (%d 16 bit elements)",
-+ tif->tif_dir.td_extrasamples);
-+ goto bad;
-+ }
-+
-+ memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16));
-+ _TIFFsetShortArray(&tif->tif_dir.td_sampleinfo, new_sampleinfo, tif->tif_dir.td_extrasamples);
-+ _TIFFfree(new_sampleinfo);
-+ }
-+
- /*
- * Verify Palette image has a Colormap.
- */
-diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
-index 8deceb2..1d86adb 100644
---- a/libtiff/tif_print.c
-+++ b/libtiff/tif_print.c
-@@ -544,7 +544,7 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
- uint16 i;
- fprintf(fd, " %2ld: %5u",
- l, td->td_transferfunction[0][l]);
-- for (i = 1; i < td->td_samplesperpixel; i++)
-+ for (i = 1; i < td->td_samplesperpixel - td->td_extrasamples && i < 3; i++)
- fprintf(fd, " %5u",
- td->td_transferfunction[i][l]);
- fputc('\n', fd);
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-8905.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-8905.patch
deleted file mode 100644
index 962646dbe..000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2018-8905.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 58a898cb4459055bb488ca815c23b880c242a27d Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Sat, 12 May 2018 15:32:31 +0200
-Subject: [PATCH] LZWDecodeCompat(): fix potential index-out-of-bounds write.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2780 /
- CVE-2018-8905
-
-The fix consists in using the similar code LZWDecode() to validate we
-don't write outside of the output buffer.
-
----
-CVE: CVE-2018-8905
-
-Upstream-Status: Backport [gitlab.com/libtiff/libtiff/commit/58a898...]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
- libtiff/tif_lzw.c | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/libtiff/tif_lzw.c b/libtiff/tif_lzw.c
-index 4ccb443..94d85e3 100644
---- a/libtiff/tif_lzw.c
-+++ b/libtiff/tif_lzw.c
-@@ -602,6 +602,7 @@ LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
- char *tp;
- unsigned char *bp;
- int code, nbits;
-+ int len;
- long nextbits, nextdata, nbitsmask;
- code_t *codep, *free_entp, *maxcodep, *oldcodep;
-
-@@ -753,13 +754,18 @@ LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
- } while (--occ);
- break;
- }
-- assert(occ >= codep->length);
-- op += codep->length;
-- occ -= codep->length;
-- tp = op;
-+ len = codep->length;
-+ tp = op + len;
- do {
-- *--tp = codep->value;
-- } while( (codep = codep->next) != NULL );
-+ int t;
-+ --tp;
-+ t = codep->value;
-+ codep = codep->next;
-+ *tp = (char)t;
-+ } while (codep && tp > op);
-+ assert(occ >= len);
-+ op += len;
-+ occ -= len;
- } else {
- *op++ = (char)code;
- occ--;
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/libtool2.patch b/poky/meta/recipes-multimedia/libtiff/files/libtool2.patch
index a84c68896..96233b46c 100644
--- a/poky/meta/recipes-multimedia/libtiff/files/libtool2.patch
+++ b/poky/meta/recipes-multimedia/libtiff/files/libtool2.patch
@@ -1,16 +1,21 @@
+From 5b893206e0a0d529ba2d0caf58cfffc03bccb598 Mon Sep 17 00:00:00 2001
+From: Marcin Juszkiewicz <hrw@openedhand.com>
+Date: Sat, 14 Jun 2008 13:42:22 +0000
+Subject: [PATCH] tiff: make it work after libtool upgrade
+
Upstream-Status: Inappropriate [configuration]
---
- configure.ac | 2 +-
+ configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: tiff-4.0.9/configure.ac
-===================================================================
---- tiff-4.0.9.orig/configure.ac
-+++ tiff-4.0.9/configure.ac
-@@ -27,7 +27,7 @@ dnl Process this file with autoconf to p
+diff --git a/configure.ac b/configure.ac
+index c7b02e2..ae1c964 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,7 +27,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.64)
- AC_INIT([LibTIFF Software],[4.0.9],[tiff@lists.maptools.org],[tiff])
+ AC_INIT([LibTIFF Software],[4.0.10],[tiff@lists.maptools.org],[tiff])
AC_CONFIG_AUX_DIR(config)
-AC_CONFIG_MACRO_DIR(m4)
+dnl AC_CONFIG_MACRO_DIR(m4)
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb
new file mode 100644
index 000000000..152fa819a
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Provides support for the Tag Image File Format (TIFF)"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
+
+CVE_PRODUCT = "libtiff"
+
+SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
+ file://libtool2.patch \
+ "
+
+SRC_URI[md5sum] = "114192d7ebe537912a2b97408832e7fd"
+SRC_URI[sha256sum] = "2c52d11ccaf767457db0c46795d9c7d1a8d8f76f68b0b800a3dfe45786b996e4"
+
+# exclude betas
+UPSTREAM_CHECK_REGEX = "tiff-(?P<pver>\d+(\.\d+)+).tar"
+
+inherit autotools multilib_header
+
+CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no"
+
+PACKAGECONFIG ?= "cxx jpeg zlib lzma \
+ strip-chopping extrasample-as-alpha check-ycbcr-subsampling"
+
+PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,,"
+PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg,"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
+PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz,"
+
+# Convert single-strip uncompressed images to multiple strips of specified
+# size (default: 8192) to reduce memory usage
+PACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,,"
+
+# Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA
+PACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,,"
+
+# Control picking up YCbCr subsample info. Disable to support files lacking
+# the tag
+PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,,"
+
+# Support a mechanism allowing reading large strips (usually one strip files)
+# in chunks when using TIFFReadScanline. Experimental 4.0+ feature
+PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,,"
+
+PACKAGES =+ "tiffxx tiff-utils"
+FILES_tiffxx = "${libdir}/libtiffxx.so.*"
+FILES_tiff-utils = "${bindir}/*"
+
+do_install_append() {
+ oe_multilib_header tiffconf.h
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.0.9.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.0.9.bb
deleted file mode 100644
index 93beddb4d..000000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff_4.0.9.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "Provides support for the Tag Image File Format (TIFF)"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
-
-CVE_PRODUCT = "libtiff"
-
-SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
- file://libtool2.patch \
- file://CVE-2017-9935.patch \
- file://CVE-2017-18013.patch \
- file://CVE-2018-5784.patch \
- file://CVE-2018-10963.patch \
- file://CVE-2018-8905.patch \
- file://CVE-2018-7456.patch \
- file://CVE-2017-17095.patch \
- "
-
-SRC_URI[md5sum] = "54bad211279cc93eb4fca31ba9bfdc79"
-SRC_URI[sha256sum] = "6e7bdeec2c310734e734d19aae3a71ebe37a4d842e0e23dbb1b8921c0026cfcd"
-
-# exclude betas
-UPSTREAM_CHECK_REGEX = "tiff-(?P<pver>\d+(\.\d+)+).tar"
-
-inherit autotools multilib_header
-
-CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no"
-
-PACKAGECONFIG ?= "cxx jpeg zlib lzma \
- strip-chopping extrasample-as-alpha check-ycbcr-subsampling"
-
-PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,,"
-PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg,"
-PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
-PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz,"
-
-# Convert single-strip uncompressed images to multiple strips of specified
-# size (default: 8192) to reduce memory usage
-PACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,,"
-
-# Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA
-PACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,,"
-
-# Control picking up YCbCr subsample info. Disable to support files lacking
-# the tag
-PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,,"
-
-# Support a mechanism allowing reading large strips (usually one strip files)
-# in chunks when using TIFFReadScanline. Experimental 4.0+ feature
-PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,,"
-
-PACKAGES =+ "tiffxx tiff-utils"
-FILES_tiffxx = "${libdir}/libtiffxx.so.*"
-FILES_tiff-utils = "${bindir}/*"
-
-do_install_append() {
- oe_multilib_header tiffconf.h
-}
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch b/poky/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch
new file mode 100644
index 000000000..00b667d33
--- /dev/null
+++ b/poky/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch
@@ -0,0 +1,70 @@
+Rewrite the public symbol check to verify the shared libraries, to check for
+more things, and to avoid duplication; fixes make check on ARM
+
+Taken From
+https://sources.debian.org/src/mpeg2dec/0.5.1-8/debian/patches/61_global-symbol-test.patch/
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/globals | 42 +++++++++++++++++++++++++++---------------
+ 1 file changed, 27 insertions(+), 15 deletions(-)
+
+--- mpeg2dec.orig/test/globals
++++ mpeg2dec/test/globals
+@@ -1,4 +1,8 @@
+ #!/bin/sh
++# TODO
++# - fix checking of .a libs; problem is that "nm -g --defined-only" lists
++# internal symbols; this can be solved by using objdump, but it's probably
++# good enough to just run the tests on the shared lib
+
+ if test x"$srcdir" != x""; then
+ builddir="." # running from make check, but it does not define that
+@@ -14,22 +18,30 @@ builddir=`cd $builddir;pwd`
+
+ error=0
+
+-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/*.o |\
+- awk '{if ($3) print $3}' | grep -v '^_\?mpeg2_'`
+-
+-if test x"$bad_globals" != x""; then
+- echo BAD GLOBAL SYMBOLS:
+- for s in $bad_globals; do echo $s; done
++# check_bad_public_symbols <symbol prefix> <lib file> [<lib file>...]
++#
++# checks public symbols in shared libs:
++# - allow prefix_anything
++# - reject _prefixanything
++# - allow _anything
++# - reject anything else
++#
++# NB: skips missing files
++check_bad_public_symbols() {
++ symbols_prefix="$1"
++ shift
++ lib_files=`ls "$@" 2>/dev/null`
++ [ -z "$lib_files" ] && return
++ bad_globals=`nm -g --defined-only $lib_files |
++ awk '{if ($3) print $3}' |
++ sed -n "/^${symbols_prefix}_/ d; /^_${symbols_prefix}/ { p; d }; /^_/ d; p"`
++ [ -z "$bad_globals" ] && return
+ error=1
+-fi
+-
+-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/convert/*.o |\
+- awk '{if ($3) print $3}' | grep -v '^_\?mpeg2convert_'`
++ echo BAD GLOBAL SYMBOLS in $lib_files:
++ echo "$bad_globals"
++}
+
+-if test x"$bad_globals" != x""; then
+- echo BAD GLOBAL SYMBOLS:
+- for s in $bad_globals; do echo $s; done
+- error=1
+-fi
++check_bad_public_symbols mpeg2 $builddir/../libmpeg2/.libs/libmpeg2.so
++check_bad_public_symbols mpeg2convert $builddir/../libmpeg2/convert/.libs/libmpeg2convert.so
+
+ exit $error
diff --git a/poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb b/poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
index 7711c2dc1..6b59d4f68 100644
--- a/poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
+++ b/poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
@@ -10,6 +10,7 @@ SRC_URI = "http://libmpeg2.sourceforge.net/files/libmpeg2-${PV}.tar.gz \
file://altivec_h_needed.patch \
file://0001-check-for-available-arm-optimizations.patch \
file://0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch \
+ file://61_global-symbol-test.patch \
"
S = "${WORKDIR}/libmpeg2-${PV}"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index f52669039..9a95e7c65 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -58,10 +58,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \
DEPENDS = "libatomic-ops libsndfile1 libtool intltool-native"
# optional
-DEPENDS += "udev alsa-lib glib-2.0 gconf"
+DEPENDS += "udev alsa-lib glib-2.0"
DEPENDS += "speexdsp libxml-parser-perl-native libcap"
-inherit autotools bash-completion pkgconfig useradd gettext perlnative bluetooth systemd manpages
+inherit autotools bash-completion pkgconfig useradd gettext perlnative bluetooth systemd manpages gsettings
# *.desktop rules wont be generated during configure and build will fail
# if using --disable-nls
@@ -76,8 +76,9 @@ EXTRA_OECONF = "\
--with-database=simple \
--without-zsh-completion-dir \
--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \
- ac_cv_header_valgrind_memcheck_h=no \
- --disable-tests \
+ ac_cv_header_valgrind_memcheck_h=no \
+ --disable-tests \
+ --disable-running-from-build-tree \
"
# soxr (the SoX Resampler library) doesn't seem to be currently packaged in
@@ -97,20 +98,18 @@ EXTRA_OECONF += "--without-fftw"
# very good anyway, better alternatives exist (such as the webrtc canceller).
EXTRA_OECONF += "--disable-adrian-aec"
-# FIXME: The gsettings module is temporarily disabled, because adding support
-# for it is a bit complicated.
-EXTRA_OECONF += "--disable-gsettings"
-
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd x11', d)} \
- dbus \
+ dbus gsettings \
"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc"
PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc"
+PACKAGECONFIG[gconf] = "--enable-gconf,--disable-gconf,gconf"
+PACKAGECONFIG[gsettings] = "--enable-gsettings,--disable-gsettings,glib-2.0-native glib-2.0"
PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono"
PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal --with-systemduserunitdir=${systemd_user_unitdir},--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd"
@@ -193,6 +192,7 @@ SYSTEMD_SERVICE_${PN}-server = "pulseaudio.service"
FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so"
# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it)
+FILES_${PN} = ""
ALLOW_EMPTY_${PN} = "1"
CONFFILES_libpulse = "${sysconfdir}/pulse/client.conf"
@@ -210,11 +210,9 @@ pkg_postinst_${PN}-server() {
}
python populate_packages_prepend() {
- #d.setVar('PKG_pulseaudio', 'pulseaudio')
-
plugindir = d.expand('${libdir}/pulse-${PV}/modules/')
- do_split_packages(d, plugindir, '^module-(.*)\.so$', 'pulseaudio-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True)
- do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True)
+ do_split_packages(d, plugindir, r'^module-(.*)\.so$', '${PN}-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True)
+ do_split_packages(d, plugindir, r'^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True)
}
RDEPENDS_pulseaudio-server = " \
@@ -250,8 +248,11 @@ RDEPENDS_pulseaudio-server += "alsa-plugins-pulseaudio-conf"
RDEPENDS_pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
-FILES_pulseaudio-module-gconf += "${libexecdir}/pulse/gconf-helper"
-FILES_pulseaudio-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
+FILES_${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
+FILES_${PN}-module-gconf += "${libexecdir}/pulse/gconf-helper"
+
+GSETTINGS_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'gsettings', '${PN}-module-gsettings', '', d)}"
+FILES_${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas"
# The console-kit module is good to have on X11 systems (it keeps PulseAudio
# running for the duration of the user login session). The device-manager and
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-introduce-a-special-build-flag-to-explicitly-disable.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-introduce-a-special-build-flag-to-explicitly-disable.patch
new file mode 100644
index 000000000..b7e9cd8c5
--- /dev/null
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-introduce-a-special-build-flag-to-explicitly-disable.patch
@@ -0,0 +1,161 @@
+From 36feb98e568221e24286615730888d5f6ff323f0 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 7 Dec 2018 15:12:38 +0800
+Subject: [PATCH] introduce a special build flag to explicitly disables running
+ from build tree
+
+It is helpful to improve reproducibility build [1] since
+PA_SRCDIR/PA_BUILDDIR contains build path, disable running
+from build tree could drop these macros at precompilation.
+
+[1] https://reproducible-builds.org/
+
+Upstream-Status: Submitted [pulseaudio-discuss@lists.freedesktop.org]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Acked-by: Tanu Kaskinen <tanuk@iki.fi>
+---
+ configure.ac | 10 ++++++++++
+ src/daemon/daemon-conf.c | 4 +++-
+ src/daemon/main.c | 6 ++++++
+ src/modules/alsa/alsa-mixer.c | 4 ++++
+ src/modules/gconf/module-gconf.c | 2 +-
+ src/modules/gsettings/module-gsettings.c | 2 +-
+ src/pulsecore/core-util.c | 4 +++-
+ 7 files changed, 28 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c9c414f..8b345ef 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -998,6 +998,16 @@ AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
+ AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
+ AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
+
++#### Running from build tree (optional) ####
++
++AC_ARG_ENABLE([running-from-build-tree],
++ AS_HELP_STRING([--disable-running-from-build-tree],[Disable running from build tree]))
++
++AS_IF([test "x$enable_running_from_build_tree" != "xno"],
++ AC_DEFINE([HAVE_RUNNING_FROM_BUILD_TREE], 1, [Have running from build tree]))
++
++AC_SUBST(HAVE_RUNNING_FROM_BUILD_TREE)
++
+ #### TCP wrappers (optional) ####
+
+ AC_ARG_ENABLE([tcpwrap],
+diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c
+index 9883126..f01eff4 100644
+--- a/src/daemon/daemon-conf.c
++++ b/src/daemon/daemon-conf.c
+@@ -155,12 +155,14 @@ pa_daemon_conf *pa_daemon_conf_new(void) {
+ c->dl_search_path = pa_sprintf_malloc("%s" PA_PATH_SEP "lib" PA_PATH_SEP "pulse-%d.%d" PA_PATH_SEP "modules",
+ pa_win32_get_toplevel(NULL), PA_MAJOR, PA_MINOR);
+ #else
++#ifdef HAVE_RUNNING_FROM_BUILD_TREE
+ if (pa_run_from_build_tree()) {
+ pa_log_notice("Detected that we are run from the build tree, fixing search path.");
+ c->dl_search_path = pa_xstrdup(PA_BUILDDIR);
+ } else
+- c->dl_search_path = pa_xstrdup(PA_DLSEARCHPATH);
+ #endif
++ c->dl_search_path = pa_xstrdup(PA_DLSEARCHPATH);
++#endif //Endof #ifdef OS_IS_WIN32
+
+ return c;
+ }
+diff --git a/src/daemon/main.c b/src/daemon/main.c
+index c80fa94..1e00388 100644
+--- a/src/daemon/main.c
++++ b/src/daemon/main.c
+@@ -932,6 +932,12 @@ int main(int argc, char *argv[]) {
+
+ pa_log_debug("Running in VM: %s", pa_yes_no(pa_running_in_vm()));
+
++#ifdef HAVE_RUNNING_FROM_BUILD_TREE
++ pa_log_debug("Running from build tree: %s", pa_yes_no(pa_run_from_build_tree()));
++#else
++ pa_log_debug("Running from build tree: no");
++#endif
++
+ #ifdef __OPTIMIZE__
+ pa_log_debug("Optimized build: yes");
+ #else
+diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
+index a524d6d..670f646 100644
+--- a/src/modules/alsa/alsa-mixer.c
++++ b/src/modules/alsa/alsa-mixer.c
+@@ -2571,9 +2571,11 @@ static int path_verify(pa_alsa_path *p) {
+ }
+
+ static const char *get_default_paths_dir(void) {
++#ifdef HAVE_RUNNING_FROM_BUILD_TREE
+ if (pa_run_from_build_tree())
+ return PA_SRCDIR "/modules/alsa/mixer/paths/";
+ else
++#endif
+ return PA_ALSA_PATHS_DIR;
+ }
+
+@@ -4455,7 +4457,9 @@ pa_alsa_profile_set* pa_alsa_profile_set_new(const char *fname, const pa_channel
+ fname = "default.conf";
+
+ fn = pa_maybe_prefix_path(fname,
++#ifdef HAVE_RUNNING_FROM_BUILD_TREE
+ pa_run_from_build_tree() ? PA_SRCDIR "/modules/alsa/mixer/profile-sets/" :
++#endif
+ PA_ALSA_PROFILE_SETS_DIR);
+
+ r = pa_config_parse(fn, NULL, items, NULL, false, ps);
+diff --git a/src/modules/gconf/module-gconf.c b/src/modules/gconf/module-gconf.c
+index c0f4dde..76a1f19 100644
+--- a/src/modules/gconf/module-gconf.c
++++ b/src/modules/gconf/module-gconf.c
+@@ -51,7 +51,7 @@ int pa__init(pa_module*m) {
+ u->buf_fill = 0;
+
+ if ((u->fd = pa_start_child_for_read(
+-#if defined(__linux__) && !defined(__OPTIMIZE__)
++#if defined(__linux__) && defined(HAVE_RUNNING_FROM_BUILD_TREE)
+ pa_run_from_build_tree() ? PA_BUILDDIR "/gconf-helper" :
+ #endif
+ PA_GCONF_HELPER, NULL, &u->pid)) < 0)
+diff --git a/src/modules/gsettings/module-gsettings.c b/src/modules/gsettings/module-gsettings.c
+index 330eca1..209c857 100644
+--- a/src/modules/gsettings/module-gsettings.c
++++ b/src/modules/gsettings/module-gsettings.c
+@@ -51,7 +51,7 @@ int pa__init(pa_module*m) {
+ u->buf_fill = 0;
+
+ if ((u->fd = pa_start_child_for_read(
+-#if defined(__linux__) && !defined(__OPTIMIZE__)
++#if defined(__linux__) && defined(HAVE_RUNNING_FROM_BUILD_TREE)
+ pa_run_from_build_tree() ? PA_BUILDDIR "/gsettings-helper" :
+ #endif
+ PA_GSETTINGS_HELPER, NULL, &u->pid)) < 0)
+diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
+index 64e9f21..f85dd20 100644
+--- a/src/pulsecore/core-util.c
++++ b/src/pulsecore/core-util.c
+@@ -3436,15 +3436,17 @@ void pa_reset_personality(void) {
+ }
+
+ bool pa_run_from_build_tree(void) {
+- char *rp;
+ static bool b = false;
+
++#ifdef HAVE_RUNNING_FROM_BUILD_TREE
++ char *rp;
+ PA_ONCE_BEGIN {
+ if ((rp = pa_readlink("/proc/self/exe"))) {
+ b = pa_startswith(rp, PA_BUILDDIR);
+ pa_xfree(rp);
+ }
+ } PA_ONCE_END;
++#endif
+
+ return b;
+ }
+--
+2.7.4
+
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch
new file mode 100644
index 000000000..43add75db
--- /dev/null
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch
@@ -0,0 +1,30 @@
+From f0ddd7c36556ad05c1398fdd132947323ad26473 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 6 Dec 2018 11:43:41 +0800
+Subject: [PATCH 2/2] do not display CLFAGS to improve reproducibility build
+
+Macro PA_CFLAGS contains build path, do not use it to
+display CFLAGS which could improve reproducibility build.
+
+Upstream-Status: Inappropriate [oe specific]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/daemon/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/daemon/main.c b/src/daemon/main.c
+index c80fa94..75496be 100644
+--- a/src/daemon/main.c
++++ b/src/daemon/main.c
+@@ -908,7 +908,7 @@ int main(int argc, char *argv[]) {
+
+ pa_log_info("This is PulseAudio %s", PACKAGE_VERSION);
+ pa_log_debug("Compilation host: %s", CANONICAL_HOST);
+- pa_log_debug("Compilation CFLAGS: %s", PA_CFLAGS);
++ pa_log_debug("Compilation CFLAGS: ***");
+
+ #ifdef HAVE_LIBSAMPLERATE
+ pa_log_warn("Compiled with DEPRECATED libsamplerate support!");
+--
+2.7.4
+
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb
index 36d92bcae..c020fbd4f 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb
@@ -2,6 +2,8 @@ require pulseaudio.inc
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
file://0001-client-conf-Add-allow-autospawn-for-root.patch \
+ file://0001-introduce-a-special-build-flag-to-explicitly-disable.patch \
+ file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \
file://volatiles.04_pulse \
"
SRC_URI[md5sum] = "c42f1f1465e8df9859d023dc184734bf"
diff --git a/poky/meta/recipes-multimedia/sbc/sbc_1.3.bb b/poky/meta/recipes-multimedia/sbc/sbc_1.3.bb
deleted file mode 100644
index 2bb895de9..000000000
--- a/poky/meta/recipes-multimedia/sbc/sbc_1.3.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "SBC Audio Codec"
-DESCRIPTION = "Bluetooth low-complexity, subband codec (SBC) library."
-HOMEPAGE = "https://www.bluez.org"
-SECTION = "libs"
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-examples = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
- file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
- file://src/sbcenc.c;beginline=1;endline=24;md5=08e7a70b127f4100ff2cd7d629147d8d \
- file://sbc/sbc.h;beginline=1;endline=26;md5=0f57d0df22b0d40746bdd29805a4361b"
-
-DEPENDS = "libsndfile1"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "2d8b7841f2c11ab287718d562f2b981c"
-SRC_URI[sha256sum] = "e61022cf576f14190241e7071753fdacdce5d1dea89ffd704110fc50be689309"
-
-inherit autotools pkgconfig
-
-PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples += "${bindir}/*"
diff --git a/poky/meta/recipes-multimedia/sbc/sbc_1.4.bb b/poky/meta/recipes-multimedia/sbc/sbc_1.4.bb
new file mode 100644
index 000000000..674d77ef4
--- /dev/null
+++ b/poky/meta/recipes-multimedia/sbc/sbc_1.4.bb
@@ -0,0 +1,23 @@
+SUMMARY = "SBC Audio Codec"
+DESCRIPTION = "Bluetooth low-complexity, subband codec (SBC) library."
+HOMEPAGE = "https://www.bluez.org"
+SECTION = "libs"
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LICENSE_${PN} = "LGPLv2.1+"
+LICENSE_${PN}-examples = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
+ file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
+ file://src/sbcenc.c;beginline=1;endline=24;md5=08e7a70b127f4100ff2cd7d629147d8d \
+ file://sbc/sbc.h;beginline=1;endline=26;md5=0f57d0df22b0d40746bdd29805a4361b"
+
+DEPENDS = "libsndfile1"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "800fb0908899baa48dc216d8e156cc05"
+SRC_URI[sha256sum] = "518bf46e6bb3dc808a95e1eabad26fdebe8a099c1e781c27ed7fca6c2f4a54c9"
+
+inherit autotools pkgconfig
+
+PACKAGES =+ "${PN}-examples"
+FILES_${PN}-examples += "${bindir}/*"
diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.0.0.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.0.0.bb
deleted file mode 100644
index 1a9679f9d..000000000
--- a/poky/meta/recipes-multimedia/webp/libwebp_1.0.0.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "WebP is an image format designed for the Web"
-DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \
- used on a large variety of photographic, translucent and \
- graphical images found on the web. The degree of lossy \
- compression is adjustable so a user can choose the trade-off \
- between file size and image quality. WebP typically achieves \
- an average of 30% more compression than JPEG and JPEG 2000, \
- without loss of image quality."
-HOMEPAGE = "https://developers.google.com/speed/webp/"
-SECTION = "libs"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \
- file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7"
-
-SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz"
-SRC_URI[md5sum] = "967b8f087cb392e6cc94d5e116a120c0"
-SRC_URI[sha256sum] = "84259c4388f18637af3c5a6361536d754a5394492f91be1abc2e981d4983225b"
-
-UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html"
-
-EXTRA_OECONF = " \
- --disable-wic \
- --enable-libwebpmux \
- --enable-libwebpdemux \
- --enable-threading \
-"
-# Do not trust configure to determine if neon is available.
-#
-EXTRA_OECONF_append_arm = " \
- ${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} \
-"
-
-inherit autotools lib_package
-
-PACKAGECONFIG ??= ""
-
-# libwebpdecoder is a subset of libwebp, don't build it unless requested
-PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder"
-
-# Apply for examples programs: cwebp and dwebp
-PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib"
-PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
-PACKAGECONFIG[png] = "--enable-png,--disable-png,,libpng"
-PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
-
-# Apply only for example program vwebp
-PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut"
-
-PACKAGES =+ "${PN}-gif2webp"
-
-DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
-FILES_${PN}-gif2webp = "${bindir}/gif2webp"
diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb
new file mode 100644
index 000000000..8b3ffe021
--- /dev/null
+++ b/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb
@@ -0,0 +1,53 @@
+SUMMARY = "WebP is an image format designed for the Web"
+DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \
+ used on a large variety of photographic, translucent and \
+ graphical images found on the web. The degree of lossy \
+ compression is adjustable so a user can choose the trade-off \
+ between file size and image quality. WebP typically achieves \
+ an average of 30% more compression than JPEG and JPEG 2000, \
+ without loss of image quality."
+HOMEPAGE = "https://developers.google.com/speed/webp/"
+SECTION = "libs"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \
+ file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7"
+
+SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz"
+SRC_URI[md5sum] = "02c0c55f1dd8612cd4d462e3409ad35d"
+SRC_URI[sha256sum] = "3d47b48c40ed6476e8047b2ddb81d93835e0ca1b8d3e8c679afbb3004dd564b1"
+
+UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html"
+
+EXTRA_OECONF = " \
+ --disable-wic \
+ --enable-libwebpmux \
+ --enable-libwebpdemux \
+ --enable-threading \
+"
+# Do not trust configure to determine if neon is available.
+#
+EXTRA_OECONF_append_arm = " \
+ ${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} \
+"
+
+inherit autotools lib_package
+
+PACKAGECONFIG ??= ""
+
+# libwebpdecoder is a subset of libwebp, don't build it unless requested
+PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder"
+
+# Apply for examples programs: cwebp and dwebp
+PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib"
+PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
+PACKAGECONFIG[png] = "--enable-png,--disable-png,,libpng"
+PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
+
+# Apply only for example program vwebp
+PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut"
+
+PACKAGES =+ "${PN}-gif2webp"
+
+DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
+FILES_${PN}-gif2webp = "${bindir}/gif2webp"
diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb
index 4174cb281..34c7dc4f7 100644
--- a/poky/meta/recipes-multimedia/x264/x264_git.bb
+++ b/poky/meta/recipes-multimedia/x264/x264_git.bb
@@ -14,16 +14,16 @@ SRC_URI = "git://github.com/mirror/x264;branch=stable \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "e9a5903edf8ca59ef20e6f4894c196f135af735e"
+SRCREV = "0a84d986e7020f8344f00752e3600b9769cc1e85"
-PV = "r2854+git${SRCPV}"
+PV = "r2917+git${SRCPV}"
S = "${WORKDIR}/git"
-inherit lib_package pkgconfig perlnative
+inherit lib_package pkgconfig
X264_DISABLE_ASM = ""
-X264_DISABLE_ASM_x86_libc-musl = "--disable-asm"
+X264_DISABLE_ASM_x86 = "--disable-asm"
X264_DISABLE_ASM_armv4 = "--disable-asm"
X264_DISABLE_ASM_armv5 = "--disable-asm"
X264_DISABLE_ASM_powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}"
diff --git a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
index 531571ee8..1027ec03b 100644
--- a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
+++ b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
@@ -4,8 +4,12 @@ DESCRIPTION += "Also includes ptest packages."
IMAGE_FEATURES += "ptest-pkgs"
-# This image is sufficiently large (~3GB) that it can't actually fit in a live
+# This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live
# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
-# box) and explicitly add just 500MB.
+# box) and explicitly add just 1500MB.
+# strace-ptest in particular needs more than 500MB
IMAGE_OVERHEAD_FACTOR = "1.0"
-IMAGE_ROOTFS_EXTRA_SPACE = "524288"
+IMAGE_ROOTFS_EXTRA_SPACE = "1524288"
+
+# ptests need more memory than standard to avoid the OOM killer
+QB_MEM = "-m 1024"
diff --git a/poky/meta/recipes-sato/pcmanfm/pcmanfm_1.3.0.bb b/poky/meta/recipes-sato/pcmanfm/pcmanfm_1.3.0.bb
deleted file mode 100644
index 356da02d2..000000000
--- a/poky/meta/recipes-sato/pcmanfm/pcmanfm_1.3.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Fast lightweight tabbed filemanager"
-HOMEPAGE = "http://pcmanfm.sourceforge.net/"
-
-LICENSE = "GPLv2 & GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://src/pcmanfm.h;endline=22;md5=417b3855771a3a87f8ad753d994491f0 \
- file://src/gseal-gtk-compat.h;endline=21;md5=46922c8691f58d124f9420fe16149ce2"
-
-SECTION = "x11"
-DEPENDS = "gtk+3 startup-notification libfm intltool-native gettext-native glib-2.0-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/pcmanfm-${PV}.tar.xz \
- file://gnome-fs-directory.png \
- file://gnome-fs-regular.png \
- file://gnome-mime-text-plain.png \
- file://emblem-symbolic-link.png \
- file://no-desktop.patch"
-
-SRC_URI[md5sum] = "827838f7f6b17dc97e1690c07da8fdb3"
-SRC_URI[sha256sum] = "5a693e9bf3f3294f0ee7264c1c1a600a88ee27d1572e7dd5c4b0e84aa7778ffb"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM/"
-
-inherit autotools pkgconfig distro_features_check
-
-# The startup-notification requires x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF = "--with-gtk=3"
-
-do_install_append () {
- install -d ${D}/${datadir}
- install -d ${D}/${datadir}/pixmaps/
-
- install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps
-}
-
-FILES_${PN} += "${libdir}/pcmanfm"
-
-RRECOMMENDS_${PN} += "adwaita-icon-theme"
diff --git a/poky/meta/recipes-sato/pcmanfm/pcmanfm_1.3.1.bb b/poky/meta/recipes-sato/pcmanfm/pcmanfm_1.3.1.bb
new file mode 100644
index 000000000..a5e3a1ad3
--- /dev/null
+++ b/poky/meta/recipes-sato/pcmanfm/pcmanfm_1.3.1.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Fast lightweight tabbed filemanager"
+HOMEPAGE = "http://pcmanfm.sourceforge.net/"
+
+LICENSE = "GPLv2 & GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://src/pcmanfm.h;endline=22;md5=417b3855771a3a87f8ad753d994491f0 \
+ file://src/gseal-gtk-compat.h;endline=21;md5=46922c8691f58d124f9420fe16149ce2"
+
+SECTION = "x11"
+DEPENDS = "gtk+3 startup-notification libfm intltool-native gettext-native glib-2.0-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/pcmanfm-${PV}.tar.xz \
+ file://gnome-fs-directory.png \
+ file://gnome-fs-regular.png \
+ file://gnome-mime-text-plain.png \
+ file://emblem-symbolic-link.png \
+ file://no-desktop.patch"
+
+SRC_URI[md5sum] = "d32ad2c9c7c52bff2004bbc120b53420"
+SRC_URI[sha256sum] = "6804043b3ee3a703edde41c724946174b505fe958703eadbd7e0876ece836855"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM/"
+
+inherit autotools pkgconfig distro_features_check
+
+# The startup-notification requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = "--with-gtk=3"
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/pixmaps/
+
+ install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps
+}
+
+FILES_${PN} += "${libdir}/pcmanfm"
+
+RRECOMMENDS_${PN} += "adwaita-icon-theme"
diff --git a/poky/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch b/poky/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch
new file mode 100644
index 000000000..9ac62015d
--- /dev/null
+++ b/poky/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch
@@ -0,0 +1,33 @@
+From 035467aa0abfbc0de7e5d24543d4aab37301593c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Mar 2019 21:56:57 -0800
+Subject: [PATCH] pattern.c: Change string lenght parameter to be size_t in
+ do_row()
+
+This fixes below error on some architectures e.g. RISC-V
+
+pattern.c:455:9: error: 'memset' specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=] 455 | memset(deduced, DOT, (size_t)len); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pattern.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pattern.c b/pattern.c
+index 45b1b0c..f73a4c2 100644
+--- a/pattern.c
++++ b/pattern.c
+@@ -428,7 +428,7 @@ static int do_row(unsigned char *known, unsigned char *deduced,
+ unsigned char *row,
+ unsigned char *minpos_done, unsigned char *maxpos_done,
+ unsigned char *minpos_ok, unsigned char *maxpos_ok,
+- unsigned char *start, int len, int step, int *data,
++ unsigned char *start, size_t len, int step, int *data,
+ unsigned int *changed
+ #ifdef STANDALONE_SOLVER
+ , const char *rowcol, int index, int cluewid
+--
+2.21.0
+
diff --git a/poky/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch b/poky/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch
new file mode 100644
index 000000000..7218d620e
--- /dev/null
+++ b/poky/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch
@@ -0,0 +1,25 @@
+puzzles: avoid compiler unitialized variable error
+
+The compiler does not realize that we must go through the while()
+loop at least once, so we replace it with a for() loop.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+--- a/tree234.c
++++ b/tree234.c
+@@ -326,8 +326,11 @@ static void *add234_internal(tree234 *t,
+ return orig_e;
+ }
+
+- n = t->root;
+- while (n) {
++ /*
++ * We know t->root is not NULL. The logic
++ * to break out of this is at the end of the loop.
++ */
++ for (n = t->root;;) {
+ LOG((" node %p: %p/%d \"%s\" %p/%d \"%s\" %p/%d \"%s\" %p/%d\n",
+ n,
+ n->kids[0], n->counts[0], n->elems[0],
diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
index 7d08b964f..59b952522 100644
--- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -13,6 +13,8 @@ SRC_URI = "git://git.tartarus.org/simon/puzzles.git \
file://0001-Use-labs-instead-of-abs.patch \
file://0001-palisade-Fix-warnings-with-clang-on-arm.patch \
file://0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch \
+ file://0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch \
+ file://fix-ki-uninitialized.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch
deleted file mode 100644
index 25f484659..000000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From a5d4e038268ae23486fecc1966fd2e16a7f40ce8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 25 Jul 2018 00:23:48 -0700
-Subject: [PATCH] Fix PaintingData' has no member named 'lightVector' on
- ARM_NEON
-
-* platform/graphics/cpu/arm/filters/FELightingNEON.h:
-(WebCore::FELighting::platformApplyNeon):
-
-Upstream-Status: Submitted
-https://bugs.webkit.org/show_bug.cgi?id=187991
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
-index 42af922..b542a4c 100644
---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
-+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
-@@ -144,9 +144,9 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
- neonData.flags |= FLAG_CONE_EXPONENT_IS_1;
- } else {
- ASSERT(m_lightSource->type() == LS_DISTANT);
-- floatArguments.lightX = paintingData.lightVector.x();
-- floatArguments.lightY = paintingData.lightVector.y();
-- floatArguments.lightZ = paintingData.lightVector.z();
-+ floatArguments.lightX = paintingData.initialLightingData.lightVector.x();
-+ floatArguments.lightY = paintingData.initialLightingData.lightVector.y();
-+ floatArguments.lightZ = paintingData.initialLightingData.lightVector.z();
- floatArguments.padding2 = 1;
- }
-
---
-2.10.2
-
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
index 041ec4675..d9a18e0ce 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
@@ -1,4 +1,4 @@
-From 4f9d736e0458ed33cd161cd164ad0acdac939f44 Mon Sep 17 00:00:00 2001
+From 322966273a8e085829261a397af37de0fbf51aad Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 6 Oct 2017 17:00:08 +0300
Subject: [PATCH] Fix build with musl
@@ -7,69 +7,69 @@ Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- Source/JavaScriptCore/runtime/MachineContext.h | 18 +++++++++++++++++-
+ Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++-----
Source/WTF/wtf/Platform.h | 2 +-
- 2 files changed, 18 insertions(+), 2 deletions(-)
+ 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h
-index bf0bdc7..84b8a8a 100644
+index 836d755..7665d25 100644
--- a/Source/JavaScriptCore/runtime/MachineContext.h
+++ b/Source/JavaScriptCore/runtime/MachineContext.h
-@@ -146,7 +146,7 @@ inline void*& stackPointer(mcontext_t& machineContext)
+@@ -188,7 +188,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext)
#error Unknown Architecture
#endif
--#elif defined(__GLIBC__) || defined(__BIONIC__)
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif defined(__linux__)
#if CPU(X86)
return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_ESP]);
-@@ -251,7 +251,7 @@ inline void*& framePointer(mcontext_t& machineContext)
+@@ -335,7 +335,7 @@ static inline void*& framePointerImpl(mcontext_t& machineContext)
#error Unknown Architecture
#endif
--#elif defined(__GLIBC__) || defined(__BIONIC__)
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif defined(__linux__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86)
-@@ -354,7 +354,7 @@ inline void*& instructionPointer(mcontext_t& machineContext)
+@@ -482,7 +482,7 @@ static inline void*& instructionPointerImpl(mcontext_t& machineContext)
#error Unknown Architecture
#endif
--#elif defined(__GLIBC__) || defined(__BIONIC__)
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif defined(__linux__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86)
-@@ -466,7 +466,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext)
+@@ -639,7 +639,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext)
#error Unknown Architecture
#endif
--#elif defined(__GLIBC__) || defined(__BIONIC__)
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif defined(__linux__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86)
-@@ -583,7 +583,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext)
+@@ -756,7 +756,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext)
#error Unknown Architecture
#endif
--#elif defined(__GLIBC__) || defined(__BIONIC__)
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
+#elif defined(__linux__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86)
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
-index 551c047..e50b05a 100644
+index a841946..1e5c7dd 100644
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
-@@ -683,7 +683,7 @@
+@@ -701,7 +701,7 @@
#define HAVE_CFNETWORK_STORAGE_PARTITIONING 1
#endif
--#if OS(DARWIN) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
-+#if OS(DARWIN) || ((OS(FREEBSD) || defined(__linux__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
+-#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
++#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
#define HAVE_MACHINE_CONTEXT 1
#endif
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
index 923d00c4b..3e03aa968 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
@@ -1,4 +1,4 @@
-From f9767a479111f9c6f280c43176c33de50aee7f66 Mon Sep 17 00:00:00 2001
+From 8f1e170a6de8036ab50eb35834a77f2c79412ee3 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 28 Oct 2015 14:18:57 +0200
Subject: [PATCH] When building introspection files, add CMAKE_C_FLAGS to the
@@ -11,14 +11,28 @@ Upstream-Status: Pending [review on oe-core list]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- Source/WebKit/PlatformGTK.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ Source/JavaScriptCore/PlatformGTK.cmake | 2 +-
+ Source/WebKit/PlatformGTK.cmake | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+diff --git a/Source/JavaScriptCore/PlatformGTK.cmake b/Source/JavaScriptCore/PlatformGTK.cmake
+index 0b2968d2..2742ad80 100644
+--- a/Source/JavaScriptCore/PlatformGTK.cmake
++++ b/Source/JavaScriptCore/PlatformGTK.cmake
+@@ -71,7 +71,7 @@ if (ENABLE_INTROSPECTION)
+ add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS JavaScriptCore
+- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
+ ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+ ${INTROSPECTION_SCANNER}
+ --quiet
diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
-index dc6b306..a074a80 100644
+index e36e4c35..943f9794 100644
--- a/Source/WebKit/PlatformGTK.cmake
+++ b/Source/WebKit/PlatformGTK.cmake
-@@ -732,7 +732,7 @@ if (ENABLE_INTROSPECTION)
+@@ -742,7 +742,7 @@ if (ENABLE_INTROSPECTION)
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
DEPENDS WebKit
DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
@@ -27,7 +41,7 @@ index dc6b306..a074a80 100644
${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
${INTROSPECTION_SCANNER}
--quiet
-@@ -774,7 +774,7 @@ if (ENABLE_INTROSPECTION)
+@@ -786,7 +786,7 @@ if (ENABLE_INTROSPECTION)
OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-webkitgtk-fix-CVE-2017-17821.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-webkitgtk-fix-CVE-2017-17821.patch
deleted file mode 100644
index a3f759927..000000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-webkitgtk-fix-CVE-2017-17821.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Backport patch to fix CVE-2017-17821. Refer to
-https://security-tracker.debian.org/tracker/CVE-2017-17821.
-
-Upstream-Status: Backport [https://trac.webkit.org/changeset/232119/webkit]
-CVE: CVE-2017-17821
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 2a17b15297eb886b0bfb7d098ef607cfad6c3da0 Mon Sep 17 00:00:00 2001
-From: "mcatanzaro@igalia.com"
- <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
-Date: Wed, 23 May 2018 17:54:01 +0000
-Subject: [PATCH] Prohibit shrinking the FastBitVector
- https://bugs.webkit.org/show_bug.cgi?id=181020
-
-Reviewed by Oliver Hunt.
-
-Prohibit shrinking the FastBitVector. It's not prepared for this and the current usage does
-not require it.
-
-* wtf/FastBitVector.cpp:
-(WTF::FastBitVectorWordOwner::resizeSlow):
-
-git-svn-id: http://svn.webkit.org/repository/webkit/trunk@232119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
----
- Source/WTF/wtf/FastBitVector.cpp | 2 ++
- 2 files changed, 15 insertions(+)
-
-diff --git a/Source/WTF/wtf/FastBitVector.cpp b/Source/WTF/wtf/FastBitVector.cpp
-index eed316975f4..8b019aaa3ed 100644
---- a/Source/WTF/wtf/FastBitVector.cpp
-+++ b/Source/WTF/wtf/FastBitVector.cpp
-@@ -42,6 +42,8 @@ void FastBitVectorWordOwner::setEqualsSlow(const FastBitVectorWordOwner& other)
- void FastBitVectorWordOwner::resizeSlow(size_t numBits)
- {
- size_t newLength = fastBitVectorArrayLength(numBits);
-+
-+ RELEASE_ASSERT(newLength >= arrayLength());
-
- // Use fastCalloc instead of fastRealloc because we expect the common
- // use case for this method to be initializing the size of the bitvector.
---
-2.17.0
-
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0012-soup-Forward-declare-URL-class.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0012-soup-Forward-declare-URL-class.patch
deleted file mode 100644
index 78fd4dc79..000000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0012-soup-Forward-declare-URL-class.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 59f6903ad96f3213f248b672d5fd526cc0d666ce Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 20 May 2018 14:28:27 -0700
-Subject: [PATCH] soup: Forward declare URL class
-
-This helps getting away with compiler errors seen with clang
-
-/mnt/a/oe/workspace/sources/webkitgtk/Source/WebCore/platform/network/soup/SoupNetworkSession.h:68:62:
-error: unknown type name 'URL'
- static std::optional<ResourceError> checkTLSErrors(const URL&,
-GTlsCertificate*, GTlsCertificateFlags);
- ^
-Upstream-Status: Backport [https://trac.webkit.org/changeset/231876/webkit]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Source/WebCore/platform/network/soup/SoupNetworkSession.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Source/WebCore/platform/network/soup/SoupNetworkSession.h b/Source/WebCore/platform/network/soup/SoupNetworkSession.h
-index 03bd72ba..7ca8792d 100644
---- a/Source/WebCore/platform/network/soup/SoupNetworkSession.h
-+++ b/Source/WebCore/platform/network/soup/SoupNetworkSession.h
-@@ -43,6 +43,7 @@ namespace WebCore {
-
- class CertificateInfo;
- class ResourceError;
-+class URL;
- struct SoupNetworkProxySettings;
-
- class SoupNetworkSession {
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch b/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch
new file mode 100644
index 000000000..9d0d50b79
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch
@@ -0,0 +1,35 @@
+unbreak build with libc++ 7
+
+based on
+https://svnweb.freebsd.org/ports/head/www/webkit2-gtk3/files/patch-Source_WTF_wtf_Optional.h?view=markup&pathrev=477812
+
+Fixes
+
+/usr/include/c++/v1/optional:171:29: error: redefinition of 'bad_optional_access'
+class _LIBCPP_EXCEPTION_ABI bad_optional_access
+ ^
+DerivedSources/ForwardingHeaders/wtf/Optional.h:295:7: note: previous definition is here
+class bad_optional_access : public std::logic_error {
+ ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/Source/WTF/wtf/Optional.h
++++ b/Source/WTF/wtf/Optional.h
+@@ -276,14 +276,14 @@ struct nullopt_t
+ };
+ constexpr nullopt_t nullopt{nullopt_t::init()};
+
+-
++# if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000
+ // 20.5.8, class bad_optional_access
+ class bad_optional_access : public std::logic_error {
+ public:
+ explicit bad_optional_access(const std::string& what_arg) : std::logic_error{what_arg} {}
+ explicit bad_optional_access(const char* what_arg) : std::logic_error{what_arg} {}
+ };
+-
++# endif // _LIBCPP_VERSION < 7000
+
+ template <class T>
+ union storage_t
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.20.5.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.20.5.bb
deleted file mode 100644
index 7f1ffcea4..000000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.20.5.bb
+++ /dev/null
@@ -1,124 +0,0 @@
-SUMMARY = "WebKit web rendering engine for the GTK+ platform"
-HOMEPAGE = "http://www.webkitgtk.org/"
-BUGTRACKER = "http://bugs.webkit.org/"
-
-LICENSE = "BSD & LGPLv2+"
-LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
- file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
- file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
- file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
- "
-
-SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
- file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
- file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
- file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \
- file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
- file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
- file://x32_support.patch \
- file://cross-compile.patch \
- file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
- file://0001-Fix-build-with-musl.patch \
- file://detect-gstreamer-gl.patch \
- file://0012-soup-Forward-declare-URL-class.patch \
- file://0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch \
- file://0001-webkitgtk-fix-CVE-2017-17821.patch \
- "
-
-SRC_URI[md5sum] = "72a05f6a4dc1c78b079590a8fd280401"
-SRC_URI[sha256sum] = "15c0f8d26e9605afe0948d161ba5fd82efee8eda2debd409fd40a440ac3af990"
-
-inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \
- gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \
- pango icu bison-native gawk intltool-native libwebp \
- atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \
- ruby-native libnotify gstreamer1.0-plugins-bad \
- gettext-native glib-2.0 glib-2.0-native libtasn1 \
- "
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \
- enchant \
- libsecret \
- "
-
-PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland"
-PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11"
-PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
-PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant"
-PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+"
-PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
-PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
-PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl"
-PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
-PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
-# Source is at https://github.com/google/woff2
-PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
-
-EXTRA_OECMAKE = " \
- -DPORT=GTK \
- -DCMAKE_BUILD_TYPE=Release \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
- ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \
- -DENABLE_MINIBROWSER=ON \
- -DPYTHON_EXECUTABLE=`which python` \
- "
-
-# GL/GLES header clash: both define the same thing, differently, on 32 bit x86
-EXTRA_OECMAKE_append_x86 = " -DUSE_GSTREAMER_GL=OFF "
-EXTRA_OECMAKE_append_x86-x32 = " -DUSE_GSTREAMER_GL=OFF "
-
-# Javascript JIT is not supported on powerpc
-EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF "
-
-# ARM JIT code does not build on ARMv4/5/6 anymore
-EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF "
-
-# binutils 2.25.1 has a bug on aarch64:
-# https://sourceware.org/bugzilla/show_bug.cgi?id=18430
-EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF "
-EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF "
-EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF "
-
-EXTRA_OECMAKE_append_aarch64 = " -DWTF_CPU_ARM64_CORTEXA53=ON"
-
-# JIT not supported on MIPS either
-EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF "
-
-# JIT not supported on X32
-# An attempt was made to upstream JIT support for x32 in
-# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
-# unresolved due to limited X32 adoption.
-EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF "
-
-SECURITY_CFLAGS_remove_aarch64 = "-fpie"
-SECURITY_CFLAGS_append_aarch64 = " -fPIE"
-
-FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
-
-RRECOMMENDS_${PN} += "ca-certificates shared-mime-info"
-
-# http://errors.yoctoproject.org/Errors/Details/20370/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
-# https://bugs.webkit.org/show_bug.cgi?id=159880
-# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
-# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
-ARM_INSTRUCTION_SET_armv7a = "thumb"
-ARM_INSTRUCTION_SET_armv7r = "thumb"
-ARM_INSTRUCTION_SET_armv7ve = "thumb"
-
-# qemu: uncaught target signal 11 (Segmentation fault) - core dumped
-# Segmentation fault
-GI_DATA_ENABLED_armv7a = "False"
-GI_DATA_ENABLED_armv7ve = "False"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb
new file mode 100644
index 000000000..301bf10ce
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb
@@ -0,0 +1,134 @@
+SUMMARY = "WebKit web rendering engine for the GTK+ platform"
+HOMEPAGE = "http://www.webkitgtk.org/"
+BUGTRACKER = "http://bugs.webkit.org/"
+
+LICENSE = "BSD & LGPLv2+"
+LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ "
+
+SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
+ file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
+ file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
+ file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \
+ file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
+ file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
+ file://x32_support.patch \
+ file://cross-compile.patch \
+ file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
+ file://0001-Fix-build-with-musl.patch \
+ file://detect-gstreamer-gl.patch \
+ file://bad_optional_access.patch \
+ "
+
+SRC_URI[md5sum] = "47386c10a9c3975f933c85404f35ff3b"
+SRC_URI[sha256sum] = "4be6f7d605cd0a690fd26e8aa83b089a33ad9d419148eafcfb60580dd2af30ff"
+
+inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \
+ gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \
+ pango icu bison-native gawk intltool-native libwebp \
+ atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \
+ ruby-native libnotify gstreamer1.0-plugins-bad \
+ gettext-native glib-2.0 glib-2.0-native libtasn1 \
+ "
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \
+ enchant \
+ libsecret \
+ "
+
+PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland"
+PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11"
+PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
+PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant"
+PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+"
+PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
+PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
+PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl"
+PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
+PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
+# Source is at https://github.com/google/woff2
+PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
+
+EXTRA_OECMAKE = " \
+ -DPORT=GTK \
+ -DCMAKE_BUILD_TYPE=Release \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
+ ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \
+ -DENABLE_MINIBROWSER=ON \
+ -DPYTHON_EXECUTABLE=`which python` \
+ "
+
+# GL/GLES header clash: both define the same thing, differently, on 32 bit x86
+EXTRA_OECMAKE_append_x86 = " -DUSE_GSTREAMER_GL=OFF "
+EXTRA_OECMAKE_append_x86-x32 = " -DUSE_GSTREAMER_GL=OFF "
+
+# Javascript JIT is not supported on ARC
+EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF "
+# By default 25-bit "medium" calls are used on ARC
+# which is not enough for binaries larger than 32 MiB
+CFLAGS_append_arc = " -mlong-calls"
+CXXFLAGS_append_arc = " -mlong-calls"
+
+# Javascript JIT is not supported on powerpc
+EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF "
+
+# ARM JIT code does not build on ARMv4/5/6 anymore
+EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF "
+
+# binutils 2.25.1 has a bug on aarch64:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=18430
+EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF "
+
+EXTRA_OECMAKE_append_aarch64 = " -DWTF_CPU_ARM64_CORTEXA53=ON"
+
+# JIT not supported on MIPS either
+EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF "
+
+# JIT not supported on X32
+# An attempt was made to upstream JIT support for x32 in
+# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
+# unresolved due to limited X32 adoption.
+EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF "
+
+SECURITY_CFLAGS_remove_aarch64 = "-fpie"
+SECURITY_CFLAGS_append_aarch64 = " -fPIE"
+
+LDFLAGS_append_toolchain-clang = " -rtlib=compiler-rt"
+
+FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
+
+RRECOMMENDS_${PN} += "ca-certificates shared-mime-info"
+
+# http://errors.yoctoproject.org/Errors/Details/20370/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
+# https://bugs.webkit.org/show_bug.cgi?id=159880
+# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
+# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
+ARM_INSTRUCTION_SET_armv7a = "thumb"
+ARM_INSTRUCTION_SET_armv7r = "thumb"
+ARM_INSTRUCTION_SET_armv7ve = "thumb"
+
+# qemu: uncaught target signal 11 (Segmentation fault) - core dumped
+# Segmentation fault
+GI_DATA_ENABLED_armv7a = "False"
+GI_DATA_ENABLED_armv7ve = "False"
+
+# Can't be built with ccache
+CCACHE_DISABLE = "1"
diff --git a/poky/meta/recipes-support/apr/apr/0008-apr-fix-ptest-hang-in-teststr.patch b/poky/meta/recipes-support/apr/apr/0008-apr-fix-ptest-hang-in-teststr.patch
deleted file mode 100644
index 6809fa60b..000000000
--- a/poky/meta/recipes-support/apr/apr/0008-apr-fix-ptest-hang-in-teststr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 036f90748247417dbfa714b1b912ca7dd4053f04 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 23 Jul 2018 14:12:35 +0800
-Subject: [PATCH] apr: fix ptest hang in teststr
-
-ptest hang in teststr since turns into a non-terminating loop,
-fix by below backported patch.
-
-Upstream-Status: Backport[https://github.com/apache/apr/commit/
- 2e8fbff4ecf82d0decf6baf774c209948f2f4998?diff=unified]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- test/teststr.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/teststr.c b/test/teststr.c
-index d9a5054..951a830 100644
---- a/test/teststr.c
-+++ b/test/teststr.c
-@@ -307,7 +307,7 @@ static void overflow_strfsize(abts_case *tc, void *data)
- for (; off < 999999999; off += 999) {
- apr_strfsize(off, buf);
- }
-- for (off = 1; off < LONG_MAX && off > 0; off *= 2) {
-+ for (off = LONG_MAX; off > 1; off /= 2) {
- apr_strfsize(off, buf);
- apr_strfsize(off + 1, buf);
- apr_strfsize(off - 1, buf);
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/apr/apr_1.6.3.bb b/poky/meta/recipes-support/apr/apr_1.6.3.bb
deleted file mode 100644
index 7bfb69855..000000000
--- a/poky/meta/recipes-support/apr/apr_1.6.3.bb
+++ /dev/null
@@ -1,118 +0,0 @@
-SUMMARY = "Apache Portable Runtime (APR) library"
-HOMEPAGE = "http://apr.apache.org/"
-SECTION = "libs"
-DEPENDS = "util-linux"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4dfd4cd216828c8cae5de5a12f3844c8 \
- file://include/apr_lib.h;endline=15;md5=823b3d1a7225df8f7b68a69c3c2b4c71"
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
- file://run-ptest \
- file://0001-build-buildcheck.sh-improve-libtool-detection.patch \
- file://0002-apr-Remove-workdir-path-references-from-installed-ap.patch \
- file://0003-Makefile.in-configure.in-support-cross-compiling.patch \
- file://0004-Fix-packet-discards-HTTP-redirect.patch \
- file://0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \
- file://0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch \
- file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \
- file://0008-apr-fix-ptest-hang-in-teststr.patch \
-"
-
-SRC_URI[md5sum] = "12f2a349483ad6f12db49ba01fbfdbfa"
-SRC_URI[sha256sum] = "131f06d16d7aabd097fa992a33eec2b6af3962f93e6d570a9bd4d85e95993172"
-
-inherit autotools-brokensep lib_package binconfig multilib_header ptest
-
-OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
-
-# Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928
-CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes"
-
-# Also suppress trying to use sctp.
-#
-CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no"
-
-CACHED_CONFIGUREVARS += "ac_cv_sizeof_struct_iovec=yes"
-CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes"
-
-# Otherwise libtool fails to compile apr-utils
-# x86_64-linux-libtool: compile: unable to infer tagged configuration
-# x86_64-linux-libtool: error: specify a tag with '--tag'
-CCACHE = ""
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-do_configure_prepend() {
- # Avoid absolute paths for grep since it causes failures
- # when using sstate between different hosts with different
- # install paths for grep.
- export GREP="grep"
-
- cd ${S}
- libtool='${HOST_SYS}-libtool' ./buildconf
-}
-
-FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*"
-RDEPENDS_${PN}-dev += "bash"
-
-#for some reason, build/libtool.m4 handled by buildconf still be overwritten
-#when autoconf, so handle it again.
-do_configure_append() {
- sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/libtool.m4
- sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/apr_rules.mk
-}
-
-do_install_append() {
- oe_multilib_header apr.h
- install -d ${D}${datadir}/apr
-}
-
-do_install_append_class-target() {
- sed -i -e 's,${DEBUG_PREFIX_MAP},,g' \
- -e 's,${STAGING_DIR_HOST},,g' ${D}${datadir}/build-1/apr_rules.mk
- sed -i -e 's,${STAGING_DIR_HOST},,g' \
- -e 's,APR_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \
- -e 's,APR_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apr-1-config
-}
-
-SSTATE_SCAN_FILES += "apr_rules.mk libtool"
-
-SYSROOT_PREPROCESS_FUNCS += "apr_sysroot_preprocess"
-
-apr_sysroot_preprocess () {
- d=${SYSROOT_DESTDIR}${datadir}/apr
- install -d $d/
- cp ${S}/build/apr_rules.mk $d/
- sed -i s,apr_builddir=.*,apr_builddir=,g $d/apr_rules.mk
- sed -i s,apr_builders=.*,apr_builders=,g $d/apr_rules.mk
- sed -i s,LIBTOOL=.*,LIBTOOL=${HOST_SYS}-libtool,g $d/apr_rules.mk
- sed -i s,\$\(apr_builders\),${STAGING_DATADIR}/apr/,g $d/apr_rules.mk
- cp ${S}/build/mkdir.sh $d/
- cp ${S}/build/make_exports.awk $d/
- cp ${S}/build/make_var_export.awk $d/
- cp ${S}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${datadir}/build-1/libtool
-}
-
-do_compile_ptest() {
- cd ${S}/test
- oe_runmake
-}
-
-do_install_ptest() {
- t=${D}${PTEST_PATH}/test
- mkdir -p $t/.libs
- cp -r ${S}/test/data $t/
- cp -r ${S}/test/.libs/*.so $t/.libs/
- cp ${S}/test/proc_child $t/
- cp ${S}/test/readchild $t/
- cp ${S}/test/sockchild $t/
- cp ${S}/test/sockperf $t/
- cp ${S}/test/testall $t/
- cp ${S}/test/tryread $t/
-}
-
-export CONFIG_SHELL="/bin/bash"
diff --git a/poky/meta/recipes-support/apr/apr_1.6.5.bb b/poky/meta/recipes-support/apr/apr_1.6.5.bb
new file mode 100644
index 000000000..432e4ed74
--- /dev/null
+++ b/poky/meta/recipes-support/apr/apr_1.6.5.bb
@@ -0,0 +1,112 @@
+SUMMARY = "Apache Portable Runtime (APR) library"
+HOMEPAGE = "http://apr.apache.org/"
+SECTION = "libs"
+DEPENDS = "util-linux"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4dfd4cd216828c8cae5de5a12f3844c8 \
+ file://include/apr_lib.h;endline=15;md5=823b3d1a7225df8f7b68a69c3c2b4c71"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
+ file://run-ptest \
+ file://0001-build-buildcheck.sh-improve-libtool-detection.patch \
+ file://0002-apr-Remove-workdir-path-references-from-installed-ap.patch \
+ file://0003-Makefile.in-configure.in-support-cross-compiling.patch \
+ file://0004-Fix-packet-discards-HTTP-redirect.patch \
+ file://0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \
+ file://0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch \
+ file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \
+ "
+
+SRC_URI[md5sum] = "ad4add8efdfe87330b88e5e788241775"
+SRC_URI[sha256sum] = "a67ca9fcf9c4ff59bce7f428a323c8b5e18667fdea7b0ebad47d194371b0a105"
+
+inherit autotools-brokensep lib_package binconfig multilib_header ptest
+
+OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
+
+# Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928
+CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes"
+
+# Also suppress trying to use sctp.
+#
+CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no"
+
+CACHED_CONFIGUREVARS += "ac_cv_sizeof_struct_iovec=yes"
+CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+do_configure_prepend() {
+ # Avoid absolute paths for grep since it causes failures
+ # when using sstate between different hosts with different
+ # install paths for grep.
+ export GREP="grep"
+
+ cd ${S}
+ libtool='${HOST_SYS}-libtool' ./buildconf
+}
+
+FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*"
+RDEPENDS_${PN}-dev += "bash"
+
+#for some reason, build/libtool.m4 handled by buildconf still be overwritten
+#when autoconf, so handle it again.
+do_configure_append() {
+ sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/libtool.m4
+ sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' ${S}/build/apr_rules.mk
+}
+
+do_install_append() {
+ oe_multilib_header apr.h
+ install -d ${D}${datadir}/apr
+}
+
+do_install_append_class-target() {
+ sed -i -e 's,${DEBUG_PREFIX_MAP},,g' \
+ -e 's,${STAGING_DIR_HOST},,g' ${D}${datadir}/build-1/apr_rules.mk
+ sed -i -e 's,${STAGING_DIR_HOST},,g' \
+ -e 's,APR_SOURCE_DIR=.*,APR_SOURCE_DIR=,g' \
+ -e 's,APR_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apr-1-config
+}
+
+SSTATE_SCAN_FILES += "apr_rules.mk libtool"
+
+SYSROOT_PREPROCESS_FUNCS += "apr_sysroot_preprocess"
+
+apr_sysroot_preprocess () {
+ d=${SYSROOT_DESTDIR}${datadir}/apr
+ install -d $d/
+ cp ${S}/build/apr_rules.mk $d/
+ sed -i s,apr_builddir=.*,apr_builddir=,g $d/apr_rules.mk
+ sed -i s,apr_builders=.*,apr_builders=,g $d/apr_rules.mk
+ sed -i s,LIBTOOL=.*,LIBTOOL=${HOST_SYS}-libtool,g $d/apr_rules.mk
+ sed -i s,\$\(apr_builders\),${STAGING_DATADIR}/apr/,g $d/apr_rules.mk
+ cp ${S}/build/mkdir.sh $d/
+ cp ${S}/build/make_exports.awk $d/
+ cp ${S}/build/make_var_export.awk $d/
+ cp ${S}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${datadir}/build-1/libtool
+}
+
+do_compile_ptest() {
+ cd ${S}/test
+ oe_runmake
+}
+
+do_install_ptest() {
+ t=${D}${PTEST_PATH}/test
+ mkdir -p $t/.libs
+ cp -r ${S}/test/data $t/
+ cp -r ${S}/test/.libs/*.so $t/.libs/
+ cp ${S}/test/proc_child $t/
+ cp ${S}/test/readchild $t/
+ cp ${S}/test/sockchild $t/
+ cp ${S}/test/sockperf $t/
+ cp ${S}/test/testall $t/
+ cp ${S}/test/tryread $t/
+}
+
+export CONFIG_SHELL="/bin/bash"
diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.26.2.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.26.2.bb
deleted file mode 100644
index 16d8e45ee..000000000
--- a/poky/meta/recipes-support/atk/at-spi2-atk_2.26.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "AT-SPI 2 Toolkit Bridge"
-HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
-
-SRC_URI[archive.md5sum] = "355c7916a69513490cb83ad34016b169"
-SRC_URI[archive.sha256sum] = "61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e"
-
-DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase distro_features_check upstream-version-is-even
-
-# The at-spi2-core requires x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-
-PACKAGES =+ "${PN}-gnome ${PN}-gtk2"
-
-FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules"
-FILES_${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*"
diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb
new file mode 100644
index 000000000..224479707
--- /dev/null
+++ b/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "AT-SPI 2 Toolkit Bridge"
+HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
+
+SRC_URI[archive.md5sum] = "1ad754b90bcb14244b73ca4d0c14d274"
+SRC_URI[archive.sha256sum] = "e2e1571004ea7b105c969473ce455a95be4038fb2541471714aeb33a26da8a9a"
+
+DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase distro_features_check upstream-version-is-even
+
+# The at-spi2-core requires x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+PACKAGES =+ "${PN}-gnome ${PN}-gtk2"
+
+FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules"
+FILES_${PN}-gtk2 = "${libdir}/gtk-2.0/modules/libatk-bridge.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.28.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.28.0.bb
deleted file mode 100644
index 7975f58ba..000000000
--- a/poky/meta/recipes-support/atk/at-spi2-core_2.28.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Assistive Technology Service Provider Interface (dbus core)"
-HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
- "
-
-SRC_URI[md5sum] = "9c42f79636ed1c0e908b7483d789b32e"
-SRC_URI[sha256sum] = "42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87"
-
-DEPENDS = "dbus glib-2.0 virtual/libx11 libxi libxtst"
-
-inherit meson gtk-doc gettext systemd pkgconfig distro_features_check upstream-version-is-even gobject-introspection
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \
- -Ddbus_daemon=${bindir}"
-
-GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
-GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
-
-GI_ENABLE_FLAG = "-Denable-introspection=yes"
-GI_DISABLE_FLAG = "-Denable-introspection=no"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
- '${GI_DISABLE_FLAG}', d)} "
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
- '${GTKDOC_DISABLE_FLAG}', d)} "
-
-FILES_${PN} += "${datadir}/dbus-1/services/*.service \
- ${datadir}/dbus-1/accessibility-services/*.service \
- ${datadir}/defaults/at-spi2 \
- ${systemd_user_unitdir}/at-spi-dbus-bus.service \
- "
diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
new file mode 100644
index 000000000..d0b567a5e
--- /dev/null
+++ b/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Assistive Technology Service Provider Interface (dbus core)"
+HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
+ "
+
+SRC_URI[md5sum] = "d4f22c66b3210ffe6b10d01c04e008b5"
+SRC_URI[sha256sum] = "0175f5393d19da51f4c11462cba4ba6ef3fa042abf1611a70bdfed586b7bfb2b"
+
+X11DEPENDS = "virtual/libx11 libxi libxtst"
+
+DEPENDS = "dbus glib-2.0"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
+
+inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection
+
+EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \
+ -Ddbus_daemon=${bindir}/dbus-daemon"
+
+GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
+GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
+
+GI_ENABLE_FLAG = "-Denable-introspection=yes"
+GI_DISABLE_FLAG = "-Denable-introspection=no"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
+
+FILES_${PN} += "${datadir}/dbus-1/services/*.service \
+ ${datadir}/dbus-1/accessibility-services/*.service \
+ ${datadir}/defaults/at-spi2 \
+ ${systemd_user_unitdir}/at-spi-dbus-bus.service \
+ "
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch
index c604a984a..1d814ccdb 100644
--- a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch
+++ b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch
@@ -1,4 +1,4 @@
-From 3838757d29590cc1ef99c97f7268377322fc17e9 Mon Sep 17 00:00:00 2001
+From c3eb5b2e74c38bb8374bc027f84e42d7e94f62f8 Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anuj.mittal@intel.com>
Date: Fri, 6 Apr 2018 12:04:00 +0800
Subject: [PATCH] meson.build: enable introspection for cross-compile
@@ -14,15 +14,15 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/atk/meson.build b/atk/meson.build
-index 7b5a683..855e28f 100644
+index 616a3e6..941ded8 100644
--- a/atk/meson.build
+++ b/atk/meson.build
-@@ -139,7 +139,7 @@ libatk_dep = declare_dependency(link_with: libatk,
+@@ -137,7 +137,7 @@ libatk_dep = declare_dependency(link_with: libatk,
+ dependencies: gobject_dep,
+ sources: atk_enum_h)
- disable_introspection = get_option('disable_introspection')
-
--if not meson.is_cross_build() and not disable_introspection
-+if not disable_introspection
+-if not meson.is_cross_build() and get_option('introspection')
++if get_option('introspection')
gnome.generate_gir(libatk,
sources: atk_sources + atk_headers + [ atk_enum_h ] + [ atk_version_h ],
namespace: 'Atk',
diff --git a/poky/meta/recipes-support/atk/atk_2.28.1.bb b/poky/meta/recipes-support/atk/atk_2.28.1.bb
deleted file mode 100644
index 26b13b69d..000000000
--- a/poky/meta/recipes-support/atk/atk_2.28.1.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Accessibility toolkit for GNOME"
-HOMEPAGE = "http://live.gnome.org/GAP/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "x11/libs"
-
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://atk/atkutil.c;endline=18;md5=6fd31cd2fdc9b30f619ca8d819bc12d3 \
- file://atk/atk.h;endline=18;md5=fcd7710187e0eae485e356c30d1b0c3b"
-
-# Need gettext-native as Meson can't turn off i18n
-DEPENDS = "gettext-native glib-2.0"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
-
-GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
-GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
-
-GI_ENABLE_FLAG = "-Ddisable_introspection=false"
-GI_DISABLE_FLAG = "-Ddisable_introspection=true"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
- '${GI_DISABLE_FLAG}', d)} "
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
- '${GTKDOC_DISABLE_FLAG}', d)} "
-
-SRC_URI_append = " \
- file://0001-meson.build-enable-introspection-for-cross-compile.patch \
- file://0001-Switch-from-filename-to-basename.patch \
- "
-SRC_URI[archive.md5sum] = "dfb5e7474220afa3f4ca7e45af9f3a11"
-SRC_URI[archive.sha256sum] = "cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc"
-
-BBCLASSEXTEND = "native"
-
diff --git a/poky/meta/recipes-support/atk/atk_2.30.0.bb b/poky/meta/recipes-support/atk/atk_2.30.0.bb
new file mode 100644
index 000000000..4e2dacbc4
--- /dev/null
+++ b/poky/meta/recipes-support/atk/atk_2.30.0.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Accessibility toolkit for GNOME"
+HOMEPAGE = "http://live.gnome.org/GAP/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/libs"
+
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://atk/atkutil.c;endline=18;md5=6fd31cd2fdc9b30f619ca8d819bc12d3 \
+ file://atk/atk.h;endline=18;md5=fcd7710187e0eae485e356c30d1b0c3b"
+
+# Need gettext-native as Meson can't turn off i18n
+DEPENDS = "gettext-native glib-2.0"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
+
+GTKDOC_ENABLE_FLAG = "-Ddocs=true"
+GTKDOC_DISABLE_FLAG = "-Ddocs=false"
+
+GI_ENABLE_FLAG = "-Dintrospection=true"
+GI_DISABLE_FLAG = "-Dintrospection=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
+
+SRC_URI_append = " \
+ file://0001-meson.build-enable-introspection-for-cross-compile.patch \
+ file://0001-Switch-from-filename-to-basename.patch \
+ "
+SRC_URI[archive.md5sum] = "769c85005d392ad17ffbc063f2d26454"
+SRC_URI[archive.sha256sum] = "dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-support/attr/acl_2.2.52.bb b/poky/meta/recipes-support/attr/acl_2.2.52.bb
index 8b89de9b4..6bc77d868 100644
--- a/poky/meta/recipes-support/attr/acl_2.2.52.bb
+++ b/poky/meta/recipes-support/attr/acl_2.2.52.bb
@@ -39,15 +39,12 @@ do_install_append() {
inherit ptest
+PTEST_BUILD_HOST_FILES = "builddefs"
+PTEST_BUILD_HOST_PATTERN = "^RPM"
do_install_ptest() {
tar -c --exclude=nfs test/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
- mkdir ${D}${PTEST_PATH}/include
- cp ${S}/include/builddefs ${S}/include/buildmacros ${S}/include/buildrules ${D}${PTEST_PATH}/include/
- # Remove any build host references
- sed -e "s:--sysroot=${STAGING_DIR_TARGET}::g" \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -i ${D}${PTEST_PATH}/include/builddefs
+ install -d ${D}${PTEST_PATH}/include
+ install -m 644 ${S}/include/builddefs ${S}/include/buildmacros ${S}/include/buildrules ${D}${PTEST_PATH}/include/
}
RDEPENDS_${PN}-ptest = "acl bash coreutils perl perl-module-filehandle perl-module-getopt-std perl-module-posix shadow"
diff --git a/poky/meta/recipes-support/attr/attr.inc b/poky/meta/recipes-support/attr/attr.inc
index 9fc0f33cc..cfa38a719 100644
--- a/poky/meta/recipes-support/attr/attr.inc
+++ b/poky/meta/recipes-support/attr/attr.inc
@@ -29,6 +29,9 @@ ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_${PN} = "setfattr"
ALTERNATIVE_TARGET[setfattr] = "${bindir}/setfattr"
+PTEST_BUILD_HOST_FILES = "builddefs"
+PTEST_BUILD_HOST_PATTERN = "^RPM"
+
do_install_ptest() {
tar -c --exclude=ext test/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
mkdir ${D}${PTEST_PATH}/include
@@ -36,12 +39,6 @@ do_install_ptest() {
do cp ${S}/include/$i ${D}${PTEST_PATH}/include/; \
done
sed -e 's|; @echo|; echo|' -i ${D}${PTEST_PATH}/test/Makefile
-
- # Remove any build host references
- sed -e "s:--sysroot=${STAGING_DIR_TARGET}::g" \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -i ${D}${PTEST_PATH}/include/builddefs
}
RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix"
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_3.4.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_3.4.bb
deleted file mode 100644
index 2aae9a3fe..000000000
--- a/poky/meta/recipes-support/bmap-tools/bmap-tools_3.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Tools to generate block map (AKA bmap) and flash images using bmap"
-DESCRIPTION = "Bmap-tools - tools to generate block map (AKA bmap) and flash images using \
-bmap. Bmaptool is a generic tool for creating the block map (bmap) for a file, \
-and copying files using the block map. The idea is that large file containing \
-unused blocks, like raw system image files, can be copied or flashed a lot \
-faster with bmaptool than with traditional tools like "dd" or "cp"."
-HOMEPAGE = "https://github.com/01org/bmap-tools"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/intel/${BPN}/releases/download/v${PV}/${BP}.tgz"
-
-SRC_URI[md5sum] = "883420183611aa137cbaf68a91ef0d7e"
-SRC_URI[sha256sum] = "0064891270c180c190f41925b0f6fb9cecac3056f1168d2592dbe90e5f226c0a"
-
-UPSTREAM_CHECK_URI = "https://github.com/intel/${BPN}/releases"
-
-RDEPENDS_${PN} = "python3-core python3-compression python3-mmap python3-setuptools python3-fcntl"
-
-inherit python3native
-inherit setuptools3
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb
new file mode 100644
index 000000000..7c4db85b3
--- /dev/null
+++ b/poky/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Tools to generate block map (AKA bmap) and flash images using bmap"
+DESCRIPTION = "Bmap-tools - tools to generate block map (AKA bmap) and flash images using \
+bmap. Bmaptool is a generic tool for creating the block map (bmap) for a file, \
+and copying files using the block map. The idea is that large file containing \
+unused blocks, like raw system image files, can be copied or flashed a lot \
+faster with bmaptool than with traditional tools like "dd" or "cp"."
+HOMEPAGE = "https://github.com/01org/bmap-tools"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/intel/${BPN}"
+
+SRCREV = "db7087b883bf52cbff063ad17a41cc1cbb85104d"
+S = "${WORKDIR}/git"
+PV .= "+git${SRCPV}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+RDEPENDS_${PN} = "python3-core python3-compression python3-mmap python3-setuptools python3-fcntl python3-six"
+
+inherit python3native
+inherit setuptools3
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb
index b9f57900c..4c0425302 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=aeb420429b1659507e0a5a1b123e8308
DEPENDS = ""
DEPENDS_class-native = "openssl-native"
DEPENDS_class-nativesdk = "openssl-native"
-# Need c_rehash from openssl and run-parts from debianutils
+# Need rehash from openssl and run-parts from debianutils
PACKAGE_WRITE_DEPS += "openssl-native debianutils-native"
SRCREV = "c28799b138b044c963d24c4a69659b6e5486e3be"
diff --git a/poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb b/poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb
index 80d48bf84..a17f739d4 100644
--- a/poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb
+++ b/poky/meta/recipes-support/consolekit/consolekit_0.4.6.bb
@@ -23,10 +23,10 @@ SRC_URI[sha256sum] = "b41d17e06f80059589fbeefe96ad07bcc564c49e65516da1caf9751464
S = "${WORKDIR}/ConsoleKit-${PV}"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd polkit', d)}"
PACKAGECONFIG[pam] = "--enable-pam-module --with-pam-module-dir=${base_libdir}/security,--disable-pam-module,libpam"
-PACKAGECONFIG[policykit] = "--with-polkit,--without-polkit,polkit"
+PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit"
PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--with-systemdsystemunitdir="
FILES_${PN} += "${exec_prefix}/lib/ConsoleKit \
diff --git a/poky/meta/recipes-support/curl/curl/CVE-2018-14618.patch b/poky/meta/recipes-support/curl/curl/CVE-2018-14618.patch
deleted file mode 100644
index db07b436d..000000000
--- a/poky/meta/recipes-support/curl/curl/CVE-2018-14618.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 57d299a499155d4b327e341c6024e293b0418243 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel@haxx.se>
-Date: Mon, 13 Aug 2018 10:35:52 +0200
-Subject: [PATCH] Curl_ntlm_core_mk_nt_hash: return error on too long password
-
-... since it would cause an integer overflow if longer than (max size_t
-/ 2).
-
-This is CVE-2018-14618
-
-Bug: https://curl.haxx.se/docs/CVE-2018-14618.html
-Closes #2756
-Reported-by: Zhaoyang Wu
-
-CVE: CVE-2018-14618
-Upstream-Status: Backport
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
----
- lib/curl_ntlm_core.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c
-index e27cab353c..922e85a926 100644
---- a/lib/curl_ntlm_core.c
-+++ b/lib/curl_ntlm_core.c
-@@ -557,8 +557,11 @@ CURLcode Curl_ntlm_core_mk_nt_hash(struct Curl_easy *data,
- unsigned char *ntbuffer /* 21 bytes */)
- {
- size_t len = strlen(password);
-- unsigned char *pw = len ? malloc(len * 2) : strdup("");
-+ unsigned char *pw;
- CURLcode result;
-+ if(len > SIZE_T_MAX/2) /* avoid integer overflow */
-+ return CURLE_OUT_OF_MEMORY;
-+ pw = len ? malloc(len * 2) : strdup("");
- if(!pw)
- return CURLE_OUT_OF_MEMORY;
diff --git a/poky/meta/recipes-support/curl/curl/CVE-2018-16839.patch b/poky/meta/recipes-support/curl/curl/CVE-2018-16839.patch
deleted file mode 100644
index bf972d2ed..000000000
--- a/poky/meta/recipes-support/curl/curl/CVE-2018-16839.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 55b90532f9190dce40a325b3312d014c66dc3ae1 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 1 Nov 2018 15:27:35 +0800
-Subject: [PATCH] Curl_auth_create_plain_message: fix too-large-input-check
-
-CVE-2018-16839
-Reported-by: Harry Sintonen
-Bug: https://curl.haxx.se/docs/CVE-2018-16839.html
-
-Upstream-Status: Backport [https://github.com/curl/curl/commit
-/f3a24d7916b9173c69a3e0ee790102993833d6c5?diff=unified]
-
-CVE: CVE-2018-16839
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- lib/vauth/cleartext.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/vauth/cleartext.c b/lib/vauth/cleartext.c
-index 5d61ce6..1367143 100644
---- a/lib/vauth/cleartext.c
-+++ b/lib/vauth/cleartext.c
-@@ -74,7 +74,7 @@ CURLcode Curl_auth_create_plain_message(struct Curl_easy *data,
- plen = strlen(passwdp);
-
- /* Compute binary message length. Check for overflows. */
-- if((ulen > SIZE_T_MAX/2) || (plen > (SIZE_T_MAX/2 - 2)))
-+ if((ulen > SIZE_T_MAX/4) || (plen > (SIZE_T_MAX/2 - 2)))
- return CURLE_OUT_OF_MEMORY;
- plainlen = 2 * ulen + plen + 2;
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/curl/curl/CVE-2018-16840.patch b/poky/meta/recipes-support/curl/curl/CVE-2018-16840.patch
deleted file mode 100644
index 3d086c4d9..000000000
--- a/poky/meta/recipes-support/curl/curl/CVE-2018-16840.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 3c2846bec008e03d456e181d9ab55686da83f140 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 1 Nov 2018 15:33:35 +0800
-Subject: [PATCH] Curl_close: clear data->multi_easy on free to avoid
- use-after-free
-
-Regression from b46cfbc (7.59.0)
-CVE-2018-16840
-Reported-by: Brian Carpenter (Geeknik Labs)
-
-Bug: https://curl.haxx.se/docs/CVE-2018-16840.html
-
-Upstream-Status: Backport [https://github.com/curl/curl/commit/
-81d135d67155c5295b1033679c606165d4e28f3f]
-
-CVE: CVE-2018-16840
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- lib/url.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/lib/url.c b/lib/url.c
-index 27b2c1e..7ef7c20 100644
---- a/lib/url.c
-+++ b/lib/url.c
-@@ -320,10 +320,12 @@ CURLcode Curl_close(struct Curl_easy *data)
- and detach this handle from there. */
- curl_multi_remove_handle(data->multi, data);
-
-- if(data->multi_easy)
-+ if(data->multi_easy) {
- /* when curl_easy_perform() is used, it creates its own multi handle to
- use and this is the one */
- curl_multi_cleanup(data->multi_easy);
-+ data->multi_easy = NULL;
-+ }
-
- /* Destroy the timeout list that is held in the easy handle. It is
- /normally/ done by curl_multi_remove_handle() but this is "just in
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/curl/curl/CVE-2018-16842.patch b/poky/meta/recipes-support/curl/curl/CVE-2018-16842.patch
deleted file mode 100644
index 82e755706..000000000
--- a/poky/meta/recipes-support/curl/curl/CVE-2018-16842.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0e4a6058b130f07cfa52fde8a3cb6f2abfe4c700 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 1 Nov 2018 15:30:56 +0800
-Subject: [PATCH] voutf: fix bad arethmetic when outputting warnings to stderr
-
-CVE-2018-16842
-Reported-by: Brian Carpenter
-Bug: https://curl.haxx.se/docs/CVE-2018-16842.html
-
-Upstream-Status: Backport [https://github.com/curl/curl/commit
-/d530e92f59ae9bb2d47066c3c460b25d2ffeb211]
-
-CVE: CVE-2018-16842
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/tool_msgs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tool_msgs.c b/src/tool_msgs.c
-index 9cce806..05bec39 100644
---- a/src/tool_msgs.c
-+++ b/src/tool_msgs.c
-@@ -67,7 +67,7 @@ static void voutf(struct GlobalConfig *config,
- (void)fwrite(ptr, cut + 1, 1, config->errors);
- fputs("\n", config->errors);
- ptr += cut + 1; /* skip the space too */
-- len -= cut;
-+ len -= cut + 1;
- }
- else {
- fputs(ptr, config->errors);
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/curl/curl_7.61.0.bb b/poky/meta/recipes-support/curl/curl_7.61.0.bb
deleted file mode 100644
index 56327a632..000000000
--- a/poky/meta/recipes-support/curl/curl_7.61.0.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-SUMMARY = "Command line tool and library for client-side URL transfers"
-HOMEPAGE = "http://curl.haxx.se/"
-BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker"
-SECTION = "console/network"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ef889a37a5a874490ac7ce116396f29a"
-
-SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
- file://0001-replace-krb5-config-with-pkg-config.patch \
- file://CVE-2018-14618.patch \
- file://CVE-2018-16839.patch \
- file://CVE-2018-16840.patch \
- file://CVE-2018-16842.patch \
-"
-
-SRC_URI[md5sum] = "31d0a9f48dc796a7db351898a1e5058a"
-SRC_URI[sha256sum] = "5f6f336921cf5b84de56afbd08dfb70adeef2303751ffb3e570c936c6d656c9c"
-
-CVE_PRODUCT = "curl libcurl"
-inherit autotools pkgconfig binconfig multilib_header
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib"
-PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
-PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib"
-
-# 'ares' and 'threaded-resolver' are mutually exclusive
-PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares"
-PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli"
-PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual"
-PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
-PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
-PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
-PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,"
-PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,"
-PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2"
-PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
-PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls"
-PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
-PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
-PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
-PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
-PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
-PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
-PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
-PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl"
-PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
-PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
-PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver"
-PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
-PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
-
-EXTRA_OECONF = " \
- --disable-libcurl-option \
- --disable-ntlm-wb \
- --enable-crypto-auth \
- --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
- --without-libmetalink \
- --without-libpsl \
-"
-
-do_install_append_class-target() {
- # cleanup buildpaths from curl-config
- sed -i \
- -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- ${D}${bindir}/curl-config
-}
-
-PACKAGES =+ "lib${BPN}"
-
-FILES_lib${BPN} = "${libdir}/lib*.so.*"
-RRECOMMENDS_lib${BPN} += "ca-certificates"
-
-FILES_${PN} += "${datadir}/zsh"
-
-inherit multilib_script
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/curl/curl_7.64.0.bb b/poky/meta/recipes-support/curl/curl_7.64.0.bb
new file mode 100644
index 000000000..a1b5e7d57
--- /dev/null
+++ b/poky/meta/recipes-support/curl/curl_7.64.0.bb
@@ -0,0 +1,80 @@
+SUMMARY = "Command line tool and library for client-side URL transfers"
+HOMEPAGE = "http://curl.haxx.se/"
+BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker"
+SECTION = "console/network"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=be5d9e1419c4363f4b32037a2d3b7ffa"
+
+SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
+ file://0001-replace-krb5-config-with-pkg-config.patch \
+"
+
+SRC_URI[md5sum] = "d0bcc586873cfef08b4b9594e5395a33"
+SRC_URI[sha256sum] = "d573ba1c2d1cf9d8533fadcce480d778417964e8d04ccddcc76e591d544cf2eb"
+
+CVE_PRODUCT = "curl libcurl"
+inherit autotools pkgconfig binconfig multilib_header
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib"
+PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
+PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib"
+
+# 'ares' and 'threaded-resolver' are mutually exclusive
+PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares"
+PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli"
+PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual"
+PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
+PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
+PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
+PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
+PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,"
+PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,"
+PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2"
+PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
+PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls"
+PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
+PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
+PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
+PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
+PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
+PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
+PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
+PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl"
+PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
+PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
+PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
+PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver"
+PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
+PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
+
+EXTRA_OECONF = " \
+ --disable-libcurl-option \
+ --disable-ntlm-wb \
+ --enable-crypto-auth \
+ --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
+ --without-libmetalink \
+ --without-libpsl \
+"
+
+do_install_append_class-target() {
+ # cleanup buildpaths from curl-config
+ sed -i \
+ -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ ${D}${bindir}/curl-config
+}
+
+PACKAGES =+ "lib${BPN}"
+
+FILES_lib${BPN} = "${libdir}/lib*.so.*"
+RRECOMMENDS_lib${BPN} += "ca-certificates"
+
+FILES_${PN} += "${datadir}/zsh"
+
+inherit multilib_script
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/db/db/0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch b/poky/meta/recipes-support/db/db/0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch
new file mode 100644
index 000000000..a4ff2ecb0
--- /dev/null
+++ b/poky/meta/recipes-support/db/db/0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch
@@ -0,0 +1,147 @@
+From a3569f118fd95b7ad41e1a1128e17c0b8928556d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 20 Jan 2019 18:30:23 -0800
+Subject: [PATCH] Fix libc++ compatibility by renaming atomic_init API
+
+db5 does not build because it is redefining a C++11 standard
+library identifier, atomic_init(). Therefore prefix all
+its internal defines with '__db_', to avoid collisions.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/dbinc/atomic.h | 4 ++--
+ src/mp/mp_fget.c | 4 ++--
+ src/mp/mp_mvcc.c | 4 ++--
+ src/mp/mp_region.c | 4 ++--
+ src/mutex/mut_method.c | 2 +-
+ src/mutex/mut_tas.c | 4 ++--
+ 6 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h
+index 1b49de5..7bf353c 100644
+--- a/src/dbinc/atomic.h
++++ b/src/dbinc/atomic.h
+@@ -70,7 +70,7 @@ typedef struct {
+ * These have no memory barriers; the caller must include them when necessary.
+ */
+ #define atomic_read(p) ((p)->value)
+-#define atomic_init(p, val) ((p)->value = (val))
++#define __db_atomic_init(p, val) ((p)->value = (val))
+
+ #ifdef HAVE_ATOMIC_SUPPORT
+
+@@ -206,7 +206,7 @@ static inline int __db_atomic_compare_exchange(
+ #define atomic_dec(env, p) (--(p)->value)
+ #define atomic_compare_exchange(env, p, oldval, newval) \
+ (DB_ASSERT(env, atomic_read(p) == (oldval)), \
+- atomic_init(p, (newval)), 1)
++ __db_atomic_init(p, (newval)), 1)
+ #else
+ #define atomic_inc(env, p) __atomic_inc(env, p)
+ #define atomic_dec(env, p) __atomic_dec(env, p)
+diff --git a/src/mp/mp_fget.c b/src/mp/mp_fget.c
+index 16de695..5159520 100644
+--- a/src/mp/mp_fget.c
++++ b/src/mp/mp_fget.c
+@@ -649,7 +649,7 @@ alloc: /* Allocate a new buffer header and data space. */
+
+ /* Initialize enough so we can call __memp_bhfree. */
+ alloc_bhp->flags = 0;
+- atomic_init(&alloc_bhp->ref, 1);
++ __db_atomic_init(&alloc_bhp->ref, 1);
+ #ifdef DIAGNOSTIC
+ if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
+ __db_errx(env, DB_STR("3025",
+@@ -955,7 +955,7 @@ alloc: /* Allocate a new buffer header and data space. */
+ MVCC_MPROTECT(bhp->buf, mfp->pagesize,
+ PROT_READ);
+
+- atomic_init(&alloc_bhp->ref, 1);
++ __db_atomic_init(&alloc_bhp->ref, 1);
+ MUTEX_LOCK(env, alloc_bhp->mtx_buf);
+ alloc_bhp->priority = bhp->priority;
+ alloc_bhp->pgno = bhp->pgno;
+diff --git a/src/mp/mp_mvcc.c b/src/mp/mp_mvcc.c
+index 770bad8..dbce4f3 100644
+--- a/src/mp/mp_mvcc.c
++++ b/src/mp/mp_mvcc.c
+@@ -276,7 +276,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
+ #else
+ memcpy(frozen_bhp, bhp, SSZA(BH, buf));
+ #endif
+- atomic_init(&frozen_bhp->ref, 0);
++ __db_atomic_init(&frozen_bhp->ref, 0);
+ if (mutex != MUTEX_INVALID)
+ frozen_bhp->mtx_buf = mutex;
+ else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
+@@ -428,7 +428,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
+ #endif
+ alloc_bhp->mtx_buf = mutex;
+ MUTEX_LOCK(env, alloc_bhp->mtx_buf);
+- atomic_init(&alloc_bhp->ref, 1);
++ __db_atomic_init(&alloc_bhp->ref, 1);
+ F_CLR(alloc_bhp, BH_FROZEN);
+ }
+
+diff --git a/src/mp/mp_region.c b/src/mp/mp_region.c
+index 4952030..084f499 100644
+--- a/src/mp/mp_region.c
++++ b/src/mp/mp_region.c
+@@ -245,7 +245,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
+ MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
+ return (ret);
+ SH_TAILQ_INIT(&htab[i].hash_bucket);
+- atomic_init(&htab[i].hash_page_dirty, 0);
++ __db_atomic_init(&htab[i].hash_page_dirty, 0);
+ }
+
+ /*
+@@ -302,7 +302,7 @@ no_prealloc:
+ } else
+ hp->mtx_hash = mtx_base + (i % dbenv->mp_mtxcount);
+ SH_TAILQ_INIT(&hp->hash_bucket);
+- atomic_init(&hp->hash_page_dirty, 0);
++ __db_atomic_init(&hp->hash_page_dirty, 0);
+ #ifdef HAVE_STATISTICS
+ hp->hash_io_wait = 0;
+ hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
+diff --git a/src/mutex/mut_method.c b/src/mutex/mut_method.c
+index 09353b0..3c954b9 100644
+--- a/src/mutex/mut_method.c
++++ b/src/mutex/mut_method.c
+@@ -474,7 +474,7 @@ atomic_compare_exchange(env, v, oldval, newval)
+ MUTEX_LOCK(env, mtx);
+ ret = atomic_read(v) == oldval;
+ if (ret)
+- atomic_init(v, newval);
++ __db_atomic_init(v, newval);
+ MUTEX_UNLOCK(env, mtx);
+
+ return (ret);
+diff --git a/src/mutex/mut_tas.c b/src/mutex/mut_tas.c
+index 106b161..5a3b033 100644
+--- a/src/mutex/mut_tas.c
++++ b/src/mutex/mut_tas.c
+@@ -47,7 +47,7 @@ __db_tas_mutex_init(env, mutex, flags)
+
+ #ifdef HAVE_SHARED_LATCHES
+ if (F_ISSET(mutexp, DB_MUTEX_SHARED))
+- atomic_init(&mutexp->sharecount, 0);
++ __db_atomic_init(&mutexp->sharecount, 0);
+ else
+ #endif
+ if (MUTEX_INIT(&mutexp->tas)) {
+@@ -536,7 +536,7 @@ __db_tas_mutex_unlock(env, mutex)
+ F_CLR(mutexp, DB_MUTEX_LOCKED);
+ /* Flush flag update before zeroing count */
+ MEMBAR_EXIT();
+- atomic_init(&mutexp->sharecount, 0);
++ __db_atomic_init(&mutexp->sharecount, 0);
+ } else {
+ DB_ASSERT(env, sharecount > 0);
+ MEMBAR_EXIT();
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/db/db_5.3.28.bb b/poky/meta/recipes-support/db/db_5.3.28.bb
index b7ed2c798..8975647da 100644
--- a/poky/meta/recipes-support/db/db_5.3.28.bb
+++ b/poky/meta/recipes-support/db/db_5.3.28.bb
@@ -25,11 +25,12 @@ SRC_URI += "file://fix-parallel-build.patch \
file://0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch \
file://0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch \
file://sequence-type.patch \
+ file://0001-Fix-libc-compatibility-by-renaming-atomic_init-API.patch \
"
# We are not interested in official latest 6.x versions;
# let's track what debian is using.
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/db5.3/"
-UPSTREAM_CHECK_REGEX = "db5\.3_(?P<pver>.+)\.orig"
+UPSTREAM_CHECK_REGEX = "db5\.3_(?P<pver>\d+(\.\d+)+).+\.orig"
SRC_URI[md5sum] = "b99454564d5b4479750567031d66fe24"
SRC_URI[sha256sum] = "e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628"
diff --git a/poky/meta/recipes-support/debianutils/debianutils_4.8.6.1.bb b/poky/meta/recipes-support/debianutils/debianutils_4.8.6.1.bb
new file mode 100644
index 000000000..7cc78a685
--- /dev/null
+++ b/poky/meta/recipes-support/debianutils/debianutils_4.8.6.1.bb
@@ -0,0 +1,57 @@
+SUMMARY = "Miscellaneous utilities specific to Debian"
+SECTION = "base"
+LICENSE = "GPLv2 & SMAIL_GPL"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f"
+
+SRC_URI = "http://snapshot.debian.org/archive/debian/20190217T160716Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz"
+# the package is taken from snapshots.debian.org; that source is static and goes stale
+# so we check the latest upstream from a directory that does get updated
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
+
+SRC_URI[md5sum] = "80e2e670d8f6c0036770e971237f1f5c"
+SRC_URI[sha256sum] = "099f1e8a7278b26145a2ba2dda84c4118403bfab38c8d7070a6235a7ffcb55ed"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit autotools update-alternatives
+
+do_configure_prepend() {
+ sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
+}
+
+do_install_append() {
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ # Debian places some utils into ${base_bindir} as does busybox
+ install -d ${D}${base_bindir}
+ for app in run-parts tempfile; do
+ mv ${D}${bindir}/$app ${D}${base_bindir}/$app
+ done
+ fi
+}
+
+# Note that we package the update-alternatives name.
+#
+PACKAGES =+ "${PN}-run-parts"
+FILES_${PN}-run-parts = "${base_bindir}/run-parts.debianutils"
+
+RDEPENDS_${PN} += "${PN}-run-parts"
+RDEPENDS_${PN}_class-native = ""
+
+ALTERNATIVE_PRIORITY="30"
+ALTERNATIVE_${PN} = "add-shell installkernel remove-shell savelog tempfile which"
+
+ALTERNATIVE_PRIORITY_${PN}-run-parts = "60"
+ALTERNATIVE_${PN}-run-parts = "run-parts"
+
+ALTERNATIVE_${PN}-doc = "which.1"
+ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
+
+ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell"
+ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel"
+ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell"
+ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts"
+ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog"
+ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile"
+ALTERNATIVE_LINK_NAME[which]="${bindir}/which"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/debianutils/debianutils_4.8.6.bb b/poky/meta/recipes-support/debianutils/debianutils_4.8.6.bb
deleted file mode 100644
index c37e842eb..000000000
--- a/poky/meta/recipes-support/debianutils/debianutils_4.8.6.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "Miscellaneous utilities specific to Debian"
-SECTION = "base"
-LICENSE = "GPLv2 & SMAIL_GPL"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20180626T205238Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz"
-# the package is taken from snapshots.debian.org; that source is static and goes stale
-# so we check the latest upstream from a directory that does get updated
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
-
-SRC_URI[md5sum] = "f0f1fa39383815fb7950dcee52be4361"
-SRC_URI[sha256sum] = "db09047144dadf6a35d0f28977fbef83b0dd60ca32e6c8512cce2444a6423f73"
-
-inherit autotools update-alternatives
-
-do_configure_prepend() {
- sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
-}
-
-do_install_append() {
- if [ "${base_bindir}" != "${bindir}" ]; then
- # Debian places some utils into ${base_bindir} as does busybox
- install -d ${D}${base_bindir}
- for app in run-parts tempfile; do
- mv ${D}${bindir}/$app ${D}${base_bindir}/$app
- done
- fi
-}
-
-# Note that we package the update-alternatives name.
-#
-PACKAGES =+ "${PN}-run-parts"
-FILES_${PN}-run-parts = "${base_bindir}/run-parts.debianutils"
-
-RDEPENDS_${PN} += "${PN}-run-parts"
-RDEPENDS_${PN}_class-native = ""
-
-ALTERNATIVE_PRIORITY="30"
-ALTERNATIVE_${PN} = "add-shell installkernel remove-shell savelog tempfile which"
-
-ALTERNATIVE_PRIORITY_${PN}-run-parts = "60"
-ALTERNATIVE_${PN}-run-parts = "run-parts"
-
-ALTERNATIVE_${PN}-doc = "which.1"
-ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
-
-ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell"
-ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel"
-ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell"
-ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts"
-ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog"
-ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile"
-ALTERNATIVE_LINK_NAME[which]="${bindir}/which"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/gdbm/gdbm_1.18.1.bb b/poky/meta/recipes-support/gdbm/gdbm_1.18.1.bb
new file mode 100644
index 000000000..16ecc506c
--- /dev/null
+++ b/poky/meta/recipes-support/gdbm/gdbm_1.18.1.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Key/value database library with extensible hashing"
+HOMEPAGE = "http://www.gnu.org/software/gdbm/"
+SECTION = "libs"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24"
+
+
+SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \
+ file://run-ptest \
+ file://ptest.patch \
+ "
+
+SRC_URI[md5sum] = "988dc82182121c7570e0cb8b4fcd5415"
+SRC_URI[sha256sum] = "86e613527e5dba544e73208f42b78b7c022d4fa5a6d5498bf18c8d6f745b91dc"
+
+inherit autotools gettext texinfo lib_package ptest
+
+# Needed for dbm python module
+EXTRA_OECONF = "-enable-libgdbm-compat"
+
+# Stop presence of dbm/nbdm on the host contaminating builds
+CACHED_CONFIGUREVARS += "ac_cv_lib_ndbm_main=no ac_cv_lib_dbm_main=no"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install_append () {
+ # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find
+ # these headers
+ install -d ${D}${includedir}/gdbm
+ ln -sf ../ndbm.h ${D}/${includedir}/gdbm/ndbm.h
+ ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h
+}
+
+RDEPENDS_${PN}-ptest += "diffutils ${PN}-bin"
+
+do_compile_ptest() {
+ oe_runmake -C tests buildtests
+}
+
+PACKAGES =+ "${PN}-compat \
+ "
+FILES_${PN}-compat = "${libdir}/libgdbm_compat${SOLIBS} \
+ "
diff --git a/poky/meta/recipes-support/gdbm/gdbm_1.18.bb b/poky/meta/recipes-support/gdbm/gdbm_1.18.bb
deleted file mode 100644
index aad430095..000000000
--- a/poky/meta/recipes-support/gdbm/gdbm_1.18.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Key/value database library with extensible hashing"
-HOMEPAGE = "http://www.gnu.org/software/gdbm/"
-SECTION = "libs"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24"
-
-
-SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \
- file://run-ptest \
- file://ptest.patch \
- "
-
-SRC_URI[md5sum] = "e316f8e4a3e7e4f23955be65d54fec48"
-SRC_URI[sha256sum] = "b8822cb4769e2d759c828c06f196614936c88c141c3132b18252fe25c2b635ce"
-
-inherit autotools gettext texinfo lib_package ptest
-
-# Needed for dbm python module
-EXTRA_OECONF = "-enable-libgdbm-compat"
-
-# Stop presence of dbm/nbdm on the host contaminating builds
-CACHED_CONFIGUREVARS += "ac_cv_lib_ndbm_main=no ac_cv_lib_dbm_main=no"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_install_append () {
- # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find
- # these headers
- install -d ${D}${includedir}/gdbm
- ln -sf ../ndbm.h ${D}/${includedir}/gdbm/ndbm.h
- ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h
-}
-
-RDEPENDS_${PN}-ptest += "diffutils ${PN}-bin"
-
-do_compile_ptest() {
- oe_runmake -C tests buildtests
-}
-
-PACKAGES =+ "${PN}-compat \
- "
-FILES_${PN}-compat = "${libdir}/libgdbm_compat${SOLIBS} \
- "
diff --git a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-gsystem-subprocess.c-Enable-GNU-extensions-in-system.patch b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-gsystem-subprocess.c-Enable-GNU-extensions-in-system.patch
deleted file mode 100644
index 840666f30..000000000
--- a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/0001-gsystem-subprocess.c-Enable-GNU-extensions-in-system.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From b1de2c6290bc0651fe87a8c4fb52e7a0a5fe6322 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 5 Oct 2014 16:01:49 -0700
-Subject: [PATCH] gsystem-subprocess.c: Enable GNU extensions in system C
- library
-
-This should export O_CLOEXEC where it is only
-available when _GNU_SOURCE is defined .e.g. uclibc based systems
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
----
- src/libgsystem/gsystem-subprocess.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/libgsystem/gsystem-subprocess.c b/src/libgsystem/gsystem-subprocess.c
-index a967896..a52a362 100644
---- a/src/libgsystem/gsystem-subprocess.c
-+++ b/src/libgsystem/gsystem-subprocess.c
-@@ -18,6 +18,10 @@
-
- #include "config.h"
-
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
-+#endif
-+
- #define _GSYSTEM_NO_LOCAL_ALLOC
- #include "libgsystem.h"
-
---
-2.1.1
-
diff --git a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/update-output-syntax.patch b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/update-output-syntax.patch
deleted file mode 100644
index 19c524b0a..000000000
--- a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing/update-output-syntax.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-
-The terms `FAIL` instead of `FAILED` and `SKIP` instead of `SKIPPED`
-match what Automake does
-
-Upstream-Status: Accepted
-[ https://gitlab.gnome.org/GNOME/gnome-desktop-testing/commit/048850731a640532ef55a61df7357fcc6d2ad501 ]
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
-diff -Naur gnome-desktop-testing-2014.1-orig/src/gnome-desktop-testing-runner.c gnome-desktop-testing-2014.1/src/gnome-desktop-testing-runner.c
---- gnome-desktop-testing-2014.1-orig/src/gnome-desktop-testing-runner.c 2014-01-16 12:58:26.000000000 +0200
-+++ gnome-desktop-testing-2014.1/src/gnome-desktop-testing-runner.c 2015-11-02 11:27:34.010594126 +0200
-@@ -280,12 +280,12 @@
- else if (test->state == TEST_STATE_COMPLETE_FAILED)
- {
- msgid_value = ONE_TEST_FAILED_MSGID;
-- msg = g_strconcat ("FAILED: ", test->name, " (", reason, ")", NULL);
-+ msg = g_strconcat ("FAIL: ", test->name, " (", reason, ")", NULL);
- }
- else if (test->state == TEST_STATE_COMPLETE_SKIPPED)
- {
- msgid_value = ONE_TEST_SKIPPED_MSGID;
-- msg = g_strconcat ("SKIPPED: ", test->name, NULL);
-+ msg = g_strconcat ("SKIP: ", test->name, NULL);
- }
- else
- g_assert_not_reached ();
diff --git a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2014.1.bb b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2014.1.bb
deleted file mode 100644
index ccb3d3b7d..000000000
--- a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2014.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Test runner for GNOME-style installed tests"
-HOMEPAGE = "https://wiki.gnome.org/GnomeGoals/InstalledTests"
-LICENSE = "LGPLv2+"
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${PV}/${BPN}-${PV}.tar.xz \
- file://0001-gsystem-subprocess.c-Enable-GNU-extensions-in-system.patch \
- file://update-output-syntax.patch \
- "
-SRC_URI[md5sum] = "a608ad72a77e23a1aecdfd8d07a94baf"
-SRC_URI[sha256sum] = "1a3eed73678dd22d09d6a7ec4f899557df3e8b4a802affa76d0f163b31286539"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://src/gnome-desktop-testing-runner.c;endline=19;md5=67311a600b83fd0068dfc7e5b84ffb3f"
-
-DEPENDS = "glib-2.0"
-
-inherit autotools pkgconfig
-
-PR = "r1"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[journald] = "--with-systemd-journal,--without-systemd-journal,systemd,systemd"
diff --git a/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb
new file mode 100644
index 000000000..0defebeb1
--- /dev/null
+++ b/poky/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2018.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Test runner for GNOME-style installed tests"
+HOMEPAGE = "https://wiki.gnome.org/GnomeGoals/InstalledTests"
+LICENSE = "LGPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://src/gnome-desktop-testing-runner.c;beginline=1;endline=20;md5=7ef3ad9da2ffcf7707dc11151fe007f4"
+
+SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-desktop-testing.git;protocol=http"
+SRCREV = "4decade67b29ad170fcf3de148e41695fc459f48"
+
+DEPENDS = "glib-2.0"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = ",,systemd"
diff --git a/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch b/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch
new file mode 100644
index 000000000..4a280f9d5
--- /dev/null
+++ b/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch
@@ -0,0 +1,31 @@
+From 0df5800cc2e720aad883a517f7d24a9722fe5845 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Dec 2018 17:37:48 -0800
+Subject: [PATCH] Woverride-init is not needed with gcc 9
+
+Fixes
+| ../../gnupg-2.2.12/dirmngr/dns.h:525:16: error: lvalue required as
+unary '&' operand |
+525 | dns_rr_i_init(&dns_quietinit((struct dns_rr_i){ 0, __VA_ARGS__
+}), (P))
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dirmngr/dns.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dirmngr/dns.h b/dirmngr/dns.h
+index 30d0b45..98fe412 100644
+--- a/dirmngr/dns.h
++++ b/dirmngr/dns.h
+@@ -154,7 +154,7 @@ DNS_PUBLIC int *dns_debug_p(void);
+
+ #define dns_quietinit(...) \
+ DNS_PRAGMA_PUSH DNS_PRAGMA_QUIET __VA_ARGS__ DNS_PRAGMA_POP
+-#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4
++#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || (__GNUC__ > 4 && __GNUC__ < 9)
+ #define DNS_PRAGMA_PUSH _Pragma("GCC diagnostic push")
+ #define DNS_PRAGMA_QUIET _Pragma("GCC diagnostic ignored \"-Woverride-init\"")
+ #define DNS_PRAGMA_POP _Pragma("GCC diagnostic pop")
diff --git a/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch b/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch
index 3f1c3abae..2c204e024 100644
--- a/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch
+++ b/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch
@@ -1,4 +1,4 @@
-From 8eb4d25c25a1c1323797d94e0727a3e42b7f3287 Mon Sep 17 00:00:00 2001
+From e7ad11cf54475e455fdb84d118e4782961698567 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 22 Jan 2018 18:00:21 +0200
Subject: [PATCH] configure.ac: use a custom value for the location of
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 4d66af9..b9ef235 100644
+index 919ab31..cd58fdb 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1848,7 +1848,7 @@ AC_DEFINE_UNQUOTED(GPGCONF_DISP_NAME, "GPGConf",
+@@ -1855,7 +1855,7 @@ AC_DEFINE_UNQUOTED(GPGCONF_DISP_NAME, "GPGConf",
AC_DEFINE_UNQUOTED(GPGTAR_NAME, "gpgtar", [The name of the gpgtar tool])
diff --git a/poky/meta/recipes-support/gnupg/gnupg/relocate.patch b/poky/meta/recipes-support/gnupg/gnupg/relocate.patch
index c494ef80b..e5a82aa76 100644
--- a/poky/meta/recipes-support/gnupg/gnupg/relocate.patch
+++ b/poky/meta/recipes-support/gnupg/gnupg/relocate.patch
@@ -1,4 +1,4 @@
-From f9fc214b0bf2f67b515ca8a5333f39c497d1b518 Mon Sep 17 00:00:00 2001
+From 59c077f32e81190955910cae02599c7a3edfa7fb Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Wed, 19 Sep 2018 14:44:40 +0100
Subject: [PATCH] Allow the environment to override where gnupg looks for its
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.12.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.12.bb
deleted file mode 100644
index 1f381c2d9..000000000
--- a/poky/meta/recipes-support/gnupg/gnupg_2.2.12.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "GNU Privacy Guard - encryption and signing tools (2.x)"
-HOMEPAGE = "http://www.gnupg.org/"
-LICENSE = "GPLv3 & LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \
- file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257"
-
-DEPENDS = "npth libassuan libksba zlib bzip2 readline libgcrypt"
-
-inherit autotools gettext texinfo pkgconfig
-
-UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
-SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch \
- file://0002-use-pkgconfig-instead-of-npth-config.patch \
- file://0003-dirmngr-uses-libgpg-error.patch \
- file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \
- "
-SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
- file://relocate.patch"
-
-
-SRC_URI[md5sum] = "421b17028878b253c5acfef056bc6141"
-SRC_URI[sha256sum] = "db030f8b4c98640e91300d36d516f1f4f8fe09514a94ea9fc7411ee1a34082cb"
-
-EXTRA_OECONF = "--disable-ldap \
- --disable-ccid-driver \
- --with-zlib=${STAGING_LIBDIR}/.. \
- --with-bzip2=${STAGING_LIBDIR}/.. \
- --with-readline=${STAGING_LIBDIR}/.. \
- --enable-gpg-is-gpg2 \
- "
-RRECOMMENDS_${PN} = "pinentry"
-
-do_configure_prepend () {
- # Else these could be used in prefernce to those in aclocal-copy
- rm -f ${S}/m4/gpg-error.m4
- rm -f ${S}/m4/libassuan.m4
- rm -f ${S}/m4/ksba.m4
- rm -f ${S}/m4/libgcrypt.m4
-}
-
-do_install_append() {
- ln -sf gpg2 ${D}${bindir}/gpg
- ln -sf gpgv2 ${D}${bindir}/gpgv
-}
-
-do_install_append_class-native() {
- create_wrapper ${D}${bindir}/gpg2 GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
-}
-
-PACKAGECONFIG ??= "gnutls"
-PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb
new file mode 100644
index 000000000..3ce2a38c0
--- /dev/null
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb
@@ -0,0 +1,56 @@
+SUMMARY = "GNU Privacy Guard - encryption and signing tools (2.x)"
+HOMEPAGE = "http://www.gnupg.org/"
+LICENSE = "GPLv3 & LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \
+ file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257"
+
+DEPENDS = "npth libassuan libksba zlib bzip2 readline libgcrypt"
+
+inherit autotools gettext texinfo pkgconfig
+
+UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
+SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch \
+ file://0002-use-pkgconfig-instead-of-npth-config.patch \
+ file://0003-dirmngr-uses-libgpg-error.patch \
+ file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \
+ file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \
+ "
+SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
+ file://relocate.patch"
+
+
+SRC_URI[md5sum] = "563b959d0c3856e34526e9ca51c80d7b"
+SRC_URI[sha256sum] = "76c787a955f9e6e0ead47c9be700bfb9d454f955a7b7c7e697aa719bac7b11d8"
+
+EXTRA_OECONF = "--disable-ldap \
+ --disable-ccid-driver \
+ --with-zlib=${STAGING_LIBDIR}/.. \
+ --with-bzip2=${STAGING_LIBDIR}/.. \
+ --with-readline=${STAGING_LIBDIR}/.. \
+ --enable-gpg-is-gpg2 \
+ "
+RRECOMMENDS_${PN} = "pinentry"
+
+do_configure_prepend () {
+ # Else these could be used in prefernce to those in aclocal-copy
+ rm -f ${S}/m4/gpg-error.m4
+ rm -f ${S}/m4/libassuan.m4
+ rm -f ${S}/m4/ksba.m4
+ rm -f ${S}/m4/libgcrypt.m4
+}
+
+do_install_append() {
+ ln -sf gpg2 ${D}${bindir}/gpg
+ ln -sf gpgv2 ${D}${bindir}/gpgv
+}
+
+do_install_append_class-native() {
+ create_wrapper ${D}${bindir}/gpg2 GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+}
+
+PACKAGECONFIG ??= "gnutls"
+PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.4.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.4.bb
deleted file mode 100644
index 6d2a11df3..000000000
--- a/poky/meta/recipes-support/gnutls/gnutls_3.6.4.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "GNU Transport Layer Security Library"
-HOMEPAGE = "http://www.gnu.org/software/gnutls/"
-BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls"
-
-LICENSE = "GPLv3+ & LGPLv2.1+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-xx = "LGPLv2.1+"
-LICENSE_${PN}-bin = "GPLv3+"
-LICENSE_${PN}-openssl = "GPLv3+"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \
- file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-DEPENDS = "nettle gmp virtual/libiconv libunistring"
-DEPENDS_append_libc-musl = " argp-standalone"
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \
- file://arm_eabi.patch \
-"
-
-SRC_URI[md5sum] = "63363d1c00601f4d11a5cadc8b5e0799"
-SRC_URI[sha256sum] = "c663a792fbc84349c27c36059181f2ca86c9442e75ee8b0ad72f5f9b35deab3a"
-
-inherit autotools texinfo binconfig pkgconfig gettext lib_package gtk-doc
-
-PACKAGECONFIG ??= "libidn"
-
-# You must also have CONFIG_SECCOMP enabled in the kernel for
-# seccomp to work.
-PACKAGECONFIG[seccomp] = "ac_cv_libseccomp=yes,ac_cv_libseccomp=no,libseccomp"
-PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2"
-PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1"
-PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit"
-PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers"
-
-EXTRA_OECONF = " \
- --enable-doc \
- --disable-libdane \
- --disable-guile \
- --disable-rpath \
- --enable-local-libopts \
- --enable-openssl-compatibility \
- --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \
- --without-libunistring-prefix \
-"
-
-LDFLAGS_append_libc-musl = " -largp"
-
-do_configure_prepend() {
- for dir in . lib; do
- rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4
- done
-}
-
-PACKAGES =+ "${PN}-openssl ${PN}-xx"
-
-FILES_${PN}-dev += "${bindir}/gnutls-cli-debug"
-FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
-FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb
new file mode 100644
index 000000000..dfc35079d
--- /dev/null
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb
@@ -0,0 +1,64 @@
+SUMMARY = "GNU Transport Layer Security Library"
+HOMEPAGE = "http://www.gnu.org/software/gnutls/"
+BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls"
+
+LICENSE = "GPLv3+ & LGPLv2.1+"
+LICENSE_${PN} = "LGPLv2.1+"
+LICENSE_${PN}-xx = "LGPLv2.1+"
+LICENSE_${PN}-bin = "GPLv3+"
+LICENSE_${PN}-openssl = "GPLv3+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \
+ file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+DEPENDS = "nettle gmp virtual/libiconv libunistring"
+DEPENDS_append_libc-musl = " argp-standalone"
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \
+ file://arm_eabi.patch \
+"
+
+SRC_URI[md5sum] = "3474849e1bbd4d16403b82ab2579000b"
+SRC_URI[sha256sum] = "073eced3acef49a3883e69ffd5f0f0b5f46e2760ad86eddc6c0866df4e7abb35"
+
+inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
+
+PACKAGECONFIG ??= "libidn"
+
+# You must also have CONFIG_SECCOMP enabled in the kernel for
+# seccomp to work.
+PACKAGECONFIG[seccomp] = "ac_cv_libseccomp=yes,ac_cv_libseccomp=no,libseccomp"
+PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2"
+PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1"
+PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit"
+PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers"
+
+EXTRA_OECONF = " \
+ --enable-doc \
+ --disable-libdane \
+ --disable-guile \
+ --disable-rpath \
+ --enable-local-libopts \
+ --enable-openssl-compatibility \
+ --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \
+ --without-libunistring-prefix \
+"
+
+LDFLAGS_append_libc-musl = " -largp"
+
+do_configure_prepend() {
+ for dir in . lib; do
+ rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4
+ done
+}
+
+PACKAGES =+ "${PN}-openssl ${PN}-xx"
+
+FILES_${PN}-dev += "${bindir}/gnutls-cli-debug"
+FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
+FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
index ae9a46ed4..176723cd1 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
@@ -1,4 +1,4 @@
-From c452ba58dd2f99d6e624421697417cc018f9a67a Mon Sep 17 00:00:00 2001
+From 6492c952d61bb93a8bf8200c093d7e491456aa5a Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Fri, 29 Jun 2018 14:35:41 +0800
Subject: [PATCH 1/7] pkgconfig
@@ -25,10 +25,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
create mode 100644 src/gpgme.pc.in
diff --git a/configure.ac b/configure.ac
-index 2a35404..7485cdf 100644
+index af569ac..865bd10 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -886,6 +886,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
+@@ -895,6 +895,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
src/versioninfo.rc
src/gpgme.h)
AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config)
@@ -37,7 +37,7 @@ index 2a35404..7485cdf 100644
AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in)
AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig.cmake.in)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 0a196e0..cecaf8f 100644
+index 1394c02..8451c3a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -19,12 +19,14 @@
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
index 4f5cedaca..0d0d0c67b 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
@@ -1,6 +1,6 @@
-From 45d828356efc140a1492befb1e6dc59a9f4e16b5 Mon Sep 17 00:00:00 2001
+From 03819ad1270a279223219c0e70ba631bfe517714 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 31 Jan 2018 10:44:19 +0800
+Date: Wed, 17 Oct 2018 23:32:19 +0800
Subject: [PATCH 2/7] gpgme/lang/python: gpg-error-config should not be used
gpg-error-config was modified by OE to always return an error.
@@ -11,38 +11,40 @@ Upstream-Status: Inappropriate [changes are specific to OE]
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Rework to 1.10.0
+Rebase to 1.12.0
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- lang/python/setup.py.in | 10 +---------
- 1 file changed, 1 insertion(+), 9 deletions(-)
+ lang/python/setup.py.in | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
-index 2595073..60b5257 100755
+index 65a4be0..11b8413 100755
--- a/lang/python/setup.py.in
+++ b/lang/python/setup.py.in
-@@ -26,7 +26,6 @@ import shutil
- import subprocess
+@@ -30,7 +30,6 @@ import subprocess
+ import sys
# Out-of-tree build of the gpg bindings.
-gpg_error_config = ["gpg-error-config"]
gpgme_config_flags = ["--thread=pthread"]
gpgme_config = ["gpgme-config"] + gpgme_config_flags
gpgme_h = ""
-@@ -157,14 +156,7 @@ class BuildExtFirstHack(build):
+@@ -181,16 +180,8 @@ class BuildExtFirstHack(build):
+ shutil.copy2(source_name, sink_name)
def _generate_errors_i(self):
-
+-
- try:
-- subprocess.check_call(gpg_error_config + ['--version'],
-- stdout=devnull)
+- subprocess.check_call(
+- gpg_error_config + ['--version'], stdout=devnull)
- except:
- sys.exit("Could not find gpg-error-config. " +
- "Please install the libgpg-error development package.")
-
-- gpg_error_content = self._read_header("gpg-error.h", getconfig("cflags", config=gpg_error_config))
-+ gpg_error_content = self._read_header("gpg-error.h", os.environ.get('CFLAGS').split())
+ gpg_error_content = self._read_header(
+- "gpg-error.h", getconfig("cflags", config=gpg_error_config))
++ "gpg-error.h", os.environ.get('CFLAGS').split())
filter_re = re.compile(r'GPG_ERR_[^ ]* =')
rewrite_re = re.compile(r' *(.*) = .*')
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch b/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch
index 330bec659..de1689ec0 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch
@@ -1,4 +1,4 @@
-From 60baf9ebf30bed0e2ee3c7c5a74d5b6d50035862 Mon Sep 17 00:00:00 2001
+From f632148fcc8757bb9a9601a6dab275e88cd309d2 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 30 Jan 2018 15:28:49 +0800
Subject: [PATCH 3/7] Correctly install python modules
@@ -17,10 +17,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+)
diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
-index 8d74cbd..ce4f0a5 100644
+index 6988faf..36c6f7b 100644
--- a/lang/python/Makefile.am
+++ b/lang/python/Makefile.am
-@@ -91,6 +91,7 @@ install-exec-local:
+@@ -93,6 +93,7 @@ install-exec-local:
--build-base="$$(basename "$${PYTHON}")-gpg" \
install \
--prefix "$(DESTDIR)$(prefix)" \
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch b/poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch
index 1a60f79b6..fa0eccfce 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch
@@ -1,4 +1,4 @@
-From fd7dcceeee439eb479edbb418bab635343414ee6 Mon Sep 17 00:00:00 2001
+From f51bf1114bee6d56a950dcc6ebb46d6138b3faed Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Wed, 16 Aug 2017 02:06:45 -0400
Subject: [PATCH 4/7] python import
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch b/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch
index 2da79043d..50bf21463 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch
@@ -1,4 +1,4 @@
-From a58d90632a9907be3e8001800a143ac19075241a Mon Sep 17 00:00:00 2001
+From 8d9613c34ae495bbcbd725a2e7ac48138ba53c30 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 13 Apr 2017 16:40:27 +0300
Subject: [PATCH 5/7] gpgme-config: skip all /lib* or /usr/lib* directories in
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch b/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch
index 26ff47237..1471184d6 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch
@@ -1,4 +1,4 @@
-From 4f83750ce402b65d16cc09f8a0274a7ec76fc634 Mon Sep 17 00:00:00 2001
+From ef920688bfe1c7328c9e97229d62ccd35304ad84 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 31 Jan 2018 11:01:09 +0800
Subject: [PATCH 6/7] fix build path issue
@@ -17,10 +17,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
-index ce4f0a5..5a468f1 100644
+index 36c6f7b..ce9a108 100644
--- a/lang/python/Makefile.am
+++ b/lang/python/Makefile.am
-@@ -90,8 +90,9 @@ install-exec-local:
+@@ -92,8 +92,9 @@ install-exec-local:
build \
--build-base="$$(basename "$${PYTHON}")-gpg" \
install \
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch b/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
new file mode 100644
index 000000000..af9ddbf24
--- /dev/null
+++ b/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
@@ -0,0 +1,50 @@
+From 317cdf60165d760572a26db317e3d6edb159b04e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 17 Oct 2018 23:41:09 +0800
+Subject: [PATCH 7/7] python: Add variables to tests
+
+* configure.ac, lang/python/Makefile.am:
+ New variable to `lang/python', set to `lang/python' if RUN_LANG_PYTHON_TESTS
+
+Upstream-Status: Submitted [gnupg-devel@gnupg.org]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 5 +++++
+ lang/python/Makefile.am | 3 +++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 865bd10..035555a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -535,6 +535,11 @@ AC_ARG_ENABLE(g13-test,
+ run_g13_test=$enableval)
+ AM_CONDITIONAL(RUN_G13_TESTS, test "$run_g13_test" = "yes")
+
++run_lang_python_test="yes"
++AC_ARG_ENABLE(lang-python-test,
++ AC_HELP_STRING([--disable-lang-python-test], [disable Python regression test]),
++ run_lang_python_test=$enableval)
++AM_CONDITIONAL(RUN_LANG_PYTHON_TESTS, test "$run_lang_python_test" = "yes")
+
+ # Checks for header files.
+ AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h stdint.h
+diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
+index ce9a108..0c8cfdc 100644
+--- a/lang/python/Makefile.am
++++ b/lang/python/Makefile.am
+@@ -25,7 +25,10 @@ EXTRA_DIST = \
+ doc \
+ src
+
++if RUN_LANG_PYTHON_TESTS
+ SUBDIRS = . tests
++endif
++
+
+ .PHONY: prepare
+ prepare: copystamp
+--
+2.7.4
+
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0007-qt-python-Add-variables-to-tests.patch b/poky/meta/recipes-support/gpgme/gpgme/0007-qt-python-Add-variables-to-tests.patch
deleted file mode 100644
index 63eeacf30..000000000
--- a/poky/meta/recipes-support/gpgme/gpgme/0007-qt-python-Add-variables-to-tests.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From d3087348348b4a7fcfb05bf2a75b4a63453e1c77 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 1 Feb 2018 10:14:30 +0800
-Subject: [PATCH 7/7] qt/python: Add variables to tests
-
-* configure.ac, lang/python/Makefile.am:
- New variable to `lang/python', set to `lang/python' if RUN_LANG_PYTHON_TESTS
-
-* configure.ac, lang/qt/Makefile.am:
- New variable to `lang/qt', set to `lang/qt' if RUN_LANG_QT_TESTS
-
-Upstream-Status: Submitted [gnupg-devel@gnupg.org]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 11 +++++++++++
- lang/python/Makefile.am | 3 +++
- lang/qt/Makefile.am | 8 +++++++-
- 3 files changed, 21 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7485cdf..4aa216d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -535,6 +535,17 @@ AC_ARG_ENABLE(g13-test,
- run_g13_test=$enableval)
- AM_CONDITIONAL(RUN_G13_TESTS, test "$run_g13_test" = "yes")
-
-+run_lang_python_test="yes"
-+AC_ARG_ENABLE(lang-python-test,
-+ AC_HELP_STRING([--disable-lang-python-test], [disable Python regression test]),
-+ run_lang_python_test=$enableval)
-+AM_CONDITIONAL(RUN_LANG_PYTHON_TESTS, test "$run_lang_python_test" = "yes")
-+
-+run_lang_qt_test="yes"
-+AC_ARG_ENABLE(lang-qt-test,
-+ AC_HELP_STRING([--disable-lang-qt-test], [disable Qt regression test]),
-+ run_lang_qt_test=$enableval)
-+AM_CONDITIONAL(RUN_LANG_QT_TESTS, test "$run_lang_qt_test" = "yes")
-
- # Checks for header files.
- AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h
-diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
-index 5a468f1..43b9788 100644
---- a/lang/python/Makefile.am
-+++ b/lang/python/Makefile.am
-@@ -24,7 +24,10 @@ EXTRA_DIST = \
- examples \
- src
-
-+if RUN_LANG_PYTHON_TESTS
- SUBDIRS = . tests
-+endif
-+
-
- .PHONY: prepare
- prepare: copystamp
-diff --git a/lang/qt/Makefile.am b/lang/qt/Makefile.am
-index ab85960..a244ede 100644
---- a/lang/qt/Makefile.am
-+++ b/lang/qt/Makefile.am
-@@ -19,6 +19,12 @@
- # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- # 02111-1307, USA
-
--SUBDIRS = src tests doc
-+if RUN_LANG_QT_TESTS
-+qttests = tests
-+else
-+qttests =
-+endif
-+
-+SUBDIRS = src ${qttests} doc
-
- EXTRA_DIST = README
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.11.1.bb b/poky/meta/recipes-support/gpgme/gpgme_1.11.1.bb
deleted file mode 100644
index 86fae9460..000000000
--- a/poky/meta/recipes-support/gpgme/gpgme_1.11.1.bb
+++ /dev/null
@@ -1,86 +0,0 @@
-SUMMARY = "High-level GnuPG encryption/signing API"
-DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management"
-HOMEPAGE = "http://www.gnupg.org/gpgme.html"
-BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \
- file://src/gpgme.h.in;endline=23;md5=4d6319e587fd944adfe61a41a8f15b36 \
- file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d"
-
-UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
-SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
- file://0001-pkgconfig.patch \
- file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \
- file://0003-Correctly-install-python-modules.patch \
- file://0004-python-import.patch \
- file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \
- file://0006-fix-build-path-issue.patch \
- file://0007-qt-python-Add-variables-to-tests.patch \
- "
-
-SRC_URI[md5sum] = "129c46fb85a7ffa41e43345e48aee884"
-SRC_URI[sha256sum] = "2d1b111774d2e3dd26dcd7c251819ce4ef774ec5e566251eb9308fa7542fbd6f"
-
-DEPENDS = "libgpg-error libassuan"
-RDEPENDS_${PN}-cpp += "libstdc++"
-
-RDEPENDS_python2-gpg += "python-unixadmin"
-RDEPENDS_python3-gpg += "python3-unixadmin"
-
-BINCONFIG = "${bindir}/gpgme-config"
-
-# Note select python2 or python3, but you can't select both at the same time
-PACKAGECONFIG ??= "python3"
-PACKAGECONFIG[python2] = ",,python swig-native,"
-PACKAGECONFIG[python3] = ",,python3 swig-native,"
-
-# Default in configure.ac: "cl cpp python qt"
-# Supported: "cl cpp python python2 python3 qt"
-# python says 'search and find python2 or python3'
-
-# Building the C++ bindings for native requires a C++ compiler with C++11
-# support. Since these bindings are currently not needed, we can disable them.
-DEFAULT_LANGUAGES = ""
-DEFAULT_LANGUAGES_class-target = "cpp"
-LANGUAGES ?= "${DEFAULT_LANGUAGES}"
-LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python2', ' python2', '', d)}"
-LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', ' python3', '', d)}"
-
-PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}"
-PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}"
-
-EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \
- --disable-gpgconf-test \
- --disable-gpg-test \
- --disable-gpgsm-test \
- --disable-g13-test \
- --disable-lang-qt-test \
- --disable-lang-python-test \
-'
-
-inherit autotools texinfo binconfig-disabled pkgconfig distutils-common-base ${PYTHON_INHERIT}
-
-export PKG_CONFIG='pkg-config'
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGES =+ "${PN}-cpp"
-PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}"
-PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}"
-
-FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*"
-FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/* \
- ${libdir}/cmake/* \
-"
-
-CFLAGS_append_libc-musl = " -D__error_t_defined "
-do_configure_prepend () {
- # Else these could be used in preference to those in aclocal-copy
- rm -f ${S}/m4/gpg-error.m4
- rm -f ${S}/m4/libassuan.m4
- rm -f ${S}/m4/python.m4
-}
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb
new file mode 100644
index 000000000..b46c5fc27
--- /dev/null
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb
@@ -0,0 +1,85 @@
+SUMMARY = "High-level GnuPG encryption/signing API"
+DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management"
+HOMEPAGE = "http://www.gnupg.org/gpgme.html"
+BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \
+ file://src/gpgme.h.in;endline=23;md5=4d6319e587fd944adfe61a41a8f15b36 \
+ file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d"
+
+UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
+SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
+ file://0001-pkgconfig.patch \
+ file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \
+ file://0003-Correctly-install-python-modules.patch \
+ file://0004-python-import.patch \
+ file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \
+ file://0006-fix-build-path-issue.patch \
+ file://0007-python-Add-variables-to-tests.patch \
+ "
+
+SRC_URI[md5sum] = "902fca3a94907efe4e929b2ade545a7c"
+SRC_URI[sha256sum] = "b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8"
+
+DEPENDS = "libgpg-error libassuan"
+RDEPENDS_${PN}-cpp += "libstdc++"
+
+RDEPENDS_python2-gpg += "python-unixadmin"
+RDEPENDS_python3-gpg += "python3-unixadmin"
+
+BINCONFIG = "${bindir}/gpgme-config"
+
+# Note select python2 or python3, but you can't select both at the same time
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python2] = ",,python swig-native,"
+PACKAGECONFIG[python3] = ",,python3 swig-native,"
+
+# Default in configure.ac: "cl cpp python qt"
+# Supported: "cl cpp python python2 python3 qt"
+# python says 'search and find python2 or python3'
+
+# Building the C++ bindings for native requires a C++ compiler with C++11
+# support. Since these bindings are currently not needed, we can disable them.
+DEFAULT_LANGUAGES = ""
+DEFAULT_LANGUAGES_class-target = "cpp"
+LANGUAGES ?= "${DEFAULT_LANGUAGES}"
+LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python2', ' python2', '', d)}"
+LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', ' python3', '', d)}"
+
+PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}"
+PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}"
+
+EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \
+ --disable-gpgconf-test \
+ --disable-gpg-test \
+ --disable-gpgsm-test \
+ --disable-g13-test \
+ --disable-lang-python-test \
+'
+
+inherit autotools texinfo binconfig-disabled pkgconfig distutils-common-base ${PYTHON_INHERIT}
+
+export PKG_CONFIG='pkg-config'
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES =+ "${PN}-cpp"
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}"
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}"
+
+FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*"
+FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/* \
+ ${libdir}/cmake/* \
+"
+
+CFLAGS_append_libc-musl = " -D__error_t_defined "
+do_configure_prepend () {
+ # Else these could be used in preference to those in aclocal-copy
+ rm -f ${S}/m4/gpg-error.m4
+ rm -f ${S}/m4/libassuan.m4
+ rm -f ${S}/m4/python.m4
+}
diff --git a/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch b/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch
new file mode 100644
index 000000000..19c50e4e7
--- /dev/null
+++ b/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch
@@ -0,0 +1,63 @@
+CVE: CVE-2018-18928
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 53d8c8f3d181d87a6aa925b449b51c4a2c922a51 Mon Sep 17 00:00:00 2001
+From: Shane Carr <shane@unicode.org>
+Date: Mon, 29 Oct 2018 23:52:44 -0700
+Subject: [PATCH] ICU-20246 Fixing another integer overflow in number parsing.
+
+---
+ i18n/fmtable.cpp | 2 +-
+ i18n/number_decimalquantity.cpp | 5 ++++-
+ test/intltest/numfmtst.cpp | 8 ++++++++
+ 6 files changed, 31 insertions(+), 4 deletions(-)
+
+diff --git a/i18n/fmtable.cpp b/i18n/fmtable.cpp
+index 45c7024fc29..8601d95f4a6 100644
+--- a/i18n/fmtable.cpp
++++ b/i18n/fmtable.cpp
+@@ -734,7 +734,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) {
+ // not print scientific notation for magnitudes greater than -5 and smaller than some amount (+5?).
+ if (fDecimalQuantity->isZero()) {
+ fDecimalStr->append("0", -1, status);
+- } else if (std::abs(fDecimalQuantity->getMagnitude()) < 5) {
++ } else if (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5) {
+ fDecimalStr->appendInvariantChars(fDecimalQuantity->toPlainString(), status);
+ } else {
+ fDecimalStr->appendInvariantChars(fDecimalQuantity->toScientificString(), status);
+diff --git a/i18n/number_decimalquantity.cpp b/i18n/number_decimalquantity.cpp
+index 47b930a564b..d5dd7ae694c 100644
+--- a/i18n/number_decimalquantity.cpp
++++ b/i18n/number_decimalquantity.cpp
+@@ -898,7 +898,10 @@ UnicodeString DecimalQuantity::toScientificString() const {
+ }
+ result.append(u'E');
+ int32_t _scale = upperPos + scale;
+- if (_scale < 0) {
++ if (_scale == INT32_MIN) {
++ result.append({u"-2147483648", -1});
++ return result;
++ } else if (_scale < 0) {
+ _scale *= -1;
+ result.append(u'-');
+ } else {
+diff --git a/test/intltest/numfmtst.cpp b/test/intltest/numfmtst.cpp
+index 34355939113..8d52dc122bf 100644
+--- a/test/intltest/numfmtst.cpp
++++ b/test/intltest/numfmtst.cpp
+@@ -9226,6 +9226,14 @@ void NumberFormatTest::Test20037_ScientificIntegerOverflow() {
+ assertEquals(u"Should not overflow and should parse only the first exponent",
+ u"1E-2147483647",
+ {sp.data(), sp.length(), US_INV});
++
++ // Test edge case overflow of exponent
++ result = Formattable();
++ nf->parse(u".0003e-2147483644", result, status);
++ sp = result.getDecimalNumber(status);
++ assertEquals(u"Should not overflow",
++ u"3E-2147483648",
++ {sp.data(), sp.length(), US_INV});
+ }
+
+ void NumberFormatTest::Test13840_ParseLongStringCrash() {
diff --git a/poky/meta/recipes-support/icu/icu/fix-install-manx.patch b/poky/meta/recipes-support/icu/icu/fix-install-manx.patch
index 8186fb412..925b064eb 100644
--- a/poky/meta/recipes-support/icu/icu/fix-install-manx.patch
+++ b/poky/meta/recipes-support/icu/icu/fix-install-manx.patch
@@ -1,7 +1,7 @@
-From 3063a9211669bee673840ee81f81d30699b9b702 Mon Sep 17 00:00:00 2001
+From a6ddabc8cadb76bfe2d2e374a6702442cfe51cce Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Fri, 9 Oct 2015 17:50:41 +0100
-Subject: [PATCH 2/4] icu: fix install race
+Subject: [PATCH] icu: fix install race
The generic recursive target calls target-local so also adding it to the
dependency list results in races due to install-local being executed twice in
@@ -18,11 +18,11 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
source/Makefile.in | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
-diff --git a/source/Makefile.in b/source/Makefile.in
-index c1db15b..4948deb 100644
+diff --git a/Makefile.in b/Makefile.in
+index be9435b..ada20d7 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -73,7 +73,7 @@ EXTRA_DATA =
+@@ -77,7 +77,7 @@ EXTRA_DATA =
## List of phony targets
.PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \
@@ -31,7 +31,7 @@ index c1db15b..4948deb 100644
distclean-local distclean-recursive doc dist dist-local dist-recursive \
check check-local check-recursive clean-recursive-with-twist install-icu \
doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \
-@@ -84,9 +84,9 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist
+@@ -88,9 +88,9 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist
## List of standard targets
all: all-local all-recursive
@@ -43,15 +43,12 @@ index c1db15b..4948deb 100644
dist: dist-recursive
check: all check-recursive
check-recursive: all
-@@ -350,7 +350,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h
-
+@@ -357,7 +357,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h
install-manx: $(MANX_FILES)
$(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION)
+ ifneq ($(MANX_FILES),)
- $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION)
+ $(INSTALL_DATA) $^ $(DESTDIR)$(mandir)/man$(SECTION)
+ endif
config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in
- cd $(top_builddir) \
---
-2.14.2
-
diff --git a/poky/meta/recipes-support/icu/icu_62.1.bb b/poky/meta/recipes-support/icu/icu_62.1.bb
deleted file mode 100644
index 4e3750b99..000000000
--- a/poky/meta/recipes-support/icu/icu_62.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-require icu.inc
-
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=63752c57bd0b365c9af9f427ef79c819"
-
-def icu_download_version(d):
- pvsplit = d.getVar('PV').split('.')
- return pvsplit[0] + "_" + pvsplit[1]
-
-ICU_PV = "${@icu_download_version(d)}"
-
-# http://errors.yoctoproject.org/Errors/Details/20486/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV}-src.tgz"
-SRC_URI = "${BASE_SRC_URI} \
- file://icu-pkgdata-large-cmd.patch \
- file://fix-install-manx.patch \
- file://0002-Add-ARC-support.patch \
- "
-
-SRC_URI_append_class-target = "\
- file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
- "
-SRC_URI[md5sum] = "490ad9d920158e0314e10ba74ae9a150"
-SRC_URI[sha256sum] = "3dd9868d666350dda66a6e305eecde9d479fb70b30d5b55d78a1deffb97d5aa3"
-
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
-UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/"
diff --git a/poky/meta/recipes-support/icu/icu_63.1.bb b/poky/meta/recipes-support/icu/icu_63.1.bb
new file mode 100644
index 000000000..961f022ad
--- /dev/null
+++ b/poky/meta/recipes-support/icu/icu_63.1.bb
@@ -0,0 +1,30 @@
+require icu.inc
+
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=63752c57bd0b365c9af9f427ef79c819"
+
+def icu_download_version(d):
+ pvsplit = d.getVar('PV').split('.')
+ return pvsplit[0] + "_" + pvsplit[1]
+
+ICU_PV = "${@icu_download_version(d)}"
+
+# http://errors.yoctoproject.org/Errors/Details/20486/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV}-src.tgz"
+SRC_URI = "${BASE_SRC_URI} \
+ file://icu-pkgdata-large-cmd.patch \
+ file://fix-install-manx.patch \
+ file://0002-Add-ARC-support.patch \
+ file://CVE-2018-18928.patch \
+ "
+
+SRC_URI_append_class-target = "\
+ file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
+ "
+SRC_URI[md5sum] = "9e40f6055294284df958200e308bce50"
+SRC_URI[sha256sum] = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d"
+
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
+UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/"
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.1.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.1.bb
deleted file mode 100644
index 1761ded44..000000000
--- a/poky/meta/recipes-support/iso-codes/iso-codes_4.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "ISO language, territory, currency, script codes and their translations"
-HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes"
-BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http"
-SRCREV = "164802d5fd8c7a8167816fd86a62b286680619f0"
-
-# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
-# are inhibited by allarch
-DEPENDS = "gettext-native"
-
-S = "${WORKDIR}/git"
-
-inherit allarch autotools
-
-FILES_${PN} += "${datadir}/xml/"
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb
new file mode 100644
index 000000000..15130dd7c
--- /dev/null
+++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb
@@ -0,0 +1,19 @@
+SUMMARY = "ISO language, territory, currency, script codes and their translations"
+HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes"
+BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http"
+SRCREV = "58a4f20f8e6f4d8f9545333f3eae4cfe5678de16"
+
+# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
+# are inhibited by allarch
+DEPENDS = "gettext-native"
+
+S = "${WORKDIR}/git"
+
+inherit allarch autotools
+
+FILES_${PN} += "${datadir}/xml/"
diff --git a/poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch b/poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch
index 525b07620..0e81454c6 100644
--- a/poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch
+++ b/poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch
@@ -9,60 +9,11 @@ Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
forward ported to 2.4.4
Signed-off-by: Armin Kuster <akuster@mvista.com>
-Index: libassuan-2.4.4/libassuan.pc.in
+Index: libassuan-2.5.2/src/libassuan.m4
===================================================================
---- /dev/null
-+++ libassuan-2.4.4/libassuan.pc.in
-@@ -0,0 +1,13 @@
-+prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+api_version=@LIBASSUAN_CONFIG_API_VERSION@
-+host=@LIBASSUAN_CONFIG_HOST@
-+
-+Name: libassuan
-+Description: IPC library used by GnuPG and GPGME
-+Requires:
-+Version: @VERSION@
-+Libs: -L${libdir} -lassuan
-+Libs.private: -lgpg-error
-+Cflags: -I${includedir}
-Index: libassuan-2.4.4/Makefile.am
-===================================================================
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -25,10 +25,13 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-doc
- # (A suitable gitlog-to-changelog script can be found in GnuPG master.)
- GITLOG_TO_CHANGELOG=gitlog-to-changelog
-
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = libassuan.pc
-+
- EXTRA_DIST = autogen.sh autogen.rc README.GIT VERSION \
- ChangeLog-2011 doc/ChangeLog-2011 src/ChangeLog-2011 \
- tests/ChangeLog-2011 contrib/ChangeLog-2011 \
-- build-aux/git-log-footer build-aux/git-log-fix
-+ build-aux/git-log-footer build-aux/git-log-fix libassuan.pc.in
-
- if BUILD_DOC
- doc = doc
-Index: 2.4.4-r0/libassuan-2.4.4/configure.ac
-===================================================================
---- a/configure.ac
-+++ b/configure.ac
-@@ -485,6 +485,7 @@ AC_CONFIG_FILES([doc/Makefile])
- AC_CONFIG_FILES([tests/Makefile])
- AC_CONFIG_FILES([src/libassuan-config], [chmod +x src/libassuan-config])
- AC_CONFIG_FILES([src/versioninfo.rc])
-+AC_CONFIG_FILES([libassuan.pc])
-
- AC_OUTPUT
-
-Index: libassuan-2.4.4/src/libassuan.m4
-===================================================================
---- a/src/libassuan.m4
-+++ b/src/libassuan.m4
-@@ -16,18 +16,6 @@ dnl Returns ok set to yes or no.
+--- libassuan-2.5.2.orig/src/libassuan.m4
++++ libassuan-2.5.2/src/libassuan.m4
+@@ -16,27 +16,6 @@ dnl Returns ok set to yes or no.
dnl
AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
[ AC_REQUIRE([AC_CANONICAL_HOST])
@@ -71,24 +22,32 @@ Index: libassuan-2.4.4/src/libassuan.m4
- [prefix where LIBASSUAN is installed (optional)]),
- libassuan_config_prefix="$withval", libassuan_config_prefix="")
- if test x$libassuan_config_prefix != x ; then
-- libassuan_config_args="$libassuan_config_args --prefix=$libassuan_config_prefix"
- if test x${LIBASSUAN_CONFIG+set} != xset ; then
- LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config
- fi
- fi
-
-- AC_PATH_TOOL(LIBASSUAN_CONFIG, libassuan-config, no)
+- use_gpgrt_config=""
+- if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
+- if $GPGRT_CONFIG libassuan --exists; then
+- LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan"
+- AC_MSG_NOTICE([Use gpgrt-config as libassuan-config])
+- use_gpgrt_config=yes
+- fi
+- fi
+- if test -z "$use_gpgrt_config"; then
+- AC_PATH_PROG(LIBASSUAN_CONFIG, libassuan-config, no)
+- fi
tmp=ifelse([$1], ,1:0.9.2,$1)
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
-@@ -38,51 +26,12 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
+@@ -47,58 +26,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
min_libassuan_version="$tmp"
fi
- AC_MSG_CHECKING(for LIBASSUAN - version >= $min_libassuan_version)
- ok=no
-- if test "$LIBASSUAN_CONFIG" != "no" \
-- && test -f "$LIBASSUAN_CONFIG" ; then
+- if test "$LIBASSUAN_CONFIG" != "no"; then
- req_major=`echo $min_libassuan_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
- req_minor=`echo $min_libassuan_version | \
@@ -96,7 +55,11 @@ Index: libassuan-2.4.4/src/libassuan.m4
- req_micro=`echo $min_libassuan_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
-
-- libassuan_config_version=`$LIBASSUAN_CONFIG --version`
+- if test -z "$use_gpgrt_config"; then
+- libassuan_config_version=`$LIBASSUAN_CONFIG --version`
+- else
+- libassuan_config_version=`$LIBASSUAN_CONFIG --modversion`
+- fi
- major=`echo $libassuan_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
- minor=`echo $libassuan_config_version | \
@@ -130,26 +93,32 @@ Index: libassuan-2.4.4/src/libassuan.m4
if test $ok = yes; then
if test "$req_libassuan_api" -gt 0 ; then
- tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0`
+- if test -z "$use_gpgrt_config"; then
+- tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0`
+- else
+- tmp=`$LIBASSUAN_CONFIG --variable=api_version 2>/dev/null || echo 0`
+- fi
+ tmp=`$PKG_CONFIG --variable=api_version libassuan`
if test "$tmp" -gt 0 ; then
AC_MSG_CHECKING([LIBASSUAN API version])
if test "$req_libassuan_api" -eq "$tmp" ; then
-@@ -97,7 +46,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
-
+@@ -114,9 +46,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON],
if test $ok = yes; then
if test x"$host" != x ; then
-- libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none`
-+ libassuan_config_host=`$PKG_CONFIG --variable=host libassuan`
+ if test -z "$use_gpgrt_config"; then
+- libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none`
+- else
+- libassuan_config_host=`$LIBASSUAN_CONFIG --variable=host 2>/dev/null || echo none`
++ libassuan_config_host=`$PKG_CONFIG --variable=host libassuan`
+ fi
if test x"$libassuan_config_host" != xnone ; then
if test x"$libassuan_config_host" != x"$host" ; then
- AC_MSG_WARN([[
-@@ -138,12 +87,8 @@ dnl
+@@ -158,12 +88,8 @@ dnl
AC_DEFUN([AM_PATH_LIBASSUAN],
[ _AM_PATH_LIBASSUAN_COMMON($1)
if test $ok = yes; then
-- LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --cflags`
-- LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --libs`
+- LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags`
+- LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs`
ifelse([$2], , :, [$2])
else
- LIBASSUAN_CFLAGS=""
diff --git a/poky/meta/recipes-support/libassuan/libassuan_2.5.1.bb b/poky/meta/recipes-support/libassuan/libassuan_2.5.1.bb
deleted file mode 100644
index 34d5f1642..000000000
--- a/poky/meta/recipes-support/libassuan/libassuan_2.5.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "IPC library used by GnuPG and GPGME"
-HOMEPAGE = "http://www.gnupg.org/related_software/libassuan/"
-BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
-
-LICENSE = "GPLv3+ & LGPLv2.1+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-doc = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
- file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://src/assuan.c;endline=20;md5=ab92143a5a2adabd06d7994d1467ea5c\
- file://src/assuan-defs.h;endline=20;md5=15d950c83e82978e35b35e790d7e4d39"
-
-DEPENDS = "libgpg-error"
-
-UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
-SRC_URI = "${GNUPG_MIRROR}/libassuan/libassuan-${PV}.tar.bz2 \
- file://libassuan-add-pkgconfig-support.patch \
- "
-
-SRC_URI[md5sum] = "4354b7ae296894f232ada226a062d7d7"
-SRC_URI[sha256sum] = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449"
-
-BINCONFIG = "${bindir}/libassuan-config"
-
-inherit autotools texinfo binconfig-disabled pkgconfig
-
-do_configure_prepend () {
- # Else these could be used in preference to those in aclocal-copy
- rm -f ${S}/m4/*.m4
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb b/poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb
new file mode 100644
index 000000000..6fb3d2f3a
--- /dev/null
+++ b/poky/meta/recipes-support/libassuan/libassuan_2.5.3.bb
@@ -0,0 +1,32 @@
+SUMMARY = "IPC library used by GnuPG and GPGME"
+HOMEPAGE = "http://www.gnupg.org/related_software/libassuan/"
+BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
+
+LICENSE = "GPLv3+ & LGPLv2.1+"
+LICENSE_${PN} = "LGPLv2.1+"
+LICENSE_${PN}-doc = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://src/assuan.c;endline=20;md5=ab92143a5a2adabd06d7994d1467ea5c\
+ file://src/assuan-defs.h;endline=20;md5=15d950c83e82978e35b35e790d7e4d39"
+
+DEPENDS = "libgpg-error"
+
+UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
+SRC_URI = "${GNUPG_MIRROR}/libassuan/libassuan-${PV}.tar.bz2 \
+ file://libassuan-add-pkgconfig-support.patch \
+ "
+
+SRC_URI[md5sum] = "226c504ea78a232224bf3b6846b3adb9"
+SRC_URI[sha256sum] = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702"
+
+BINCONFIG = "${bindir}/libassuan-config"
+
+inherit autotools texinfo binconfig-disabled pkgconfig
+
+do_configure_prepend () {
+ # Else these could be used in preference to those in aclocal-copy
+ rm -f ${S}/m4/*.m4
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb
index b40e56714..8292c3b31 100644
--- a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb
+++ b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
"
SRC_URI = "https://github.com/ivmai/libatomic_ops/releases/download/v${PV}/libatomic_ops-${PV}.tar.gz"
+UPSTREAM_CHECK_URI = "https://github.com/ivmai/libatomic_ops/releases"
SRC_URI[md5sum] = "99128f05e3e3f4e0cd39aa23f23bbe0c"
SRC_URI[sha256sum] = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665"
diff --git a/poky/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch b/poky/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch
deleted file mode 100644
index 110ef902d..000000000
--- a/poky/meta/recipes-support/libcap/files/0001-Fix-build-with-gperf-3.1.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From a05eba68c42222f02465d7ba376015926433c531 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Jul 2017 13:37:49 +0300
-Subject: [PATCH] Fix build with gperf 3.1
-
-The generated gperf file refers to size_t which needs to be
-provided by stddef.h include. Also, adjust the makefile
-to match the declaration in the gperf file.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- libcap/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libcap/Makefile b/libcap/Makefile
-index d189777..1a57206 100644
---- a/libcap/Makefile
-+++ b/libcap/Makefile
-@@ -22,7 +22,7 @@ all: $(MINLIBNAME) $(STALIBNAME) libcap.pc
-
- ifeq ($(BUILD_GPERF),yes)
- USE_GPERF_OUTPUT = $(GPERF_OUTPUT)
--INCLUDE_GPERF_OUTPUT = -include $(GPERF_OUTPUT)
-+INCLUDE_GPERF_OUTPUT = -include stddef.h -include $(GPERF_OUTPUT)
- endif
-
- libcap.pc: libcap.pc.in
-@@ -41,7 +41,7 @@ cap_names.h: _makenames
- ./_makenames > cap_names.h
-
- $(GPERF_OUTPUT): cap_names.list.h
-- perl -e 'print "struct __cap_token_s { const char *name; int index; };\n%{\nconst struct __cap_token_s *__cap_lookup_name(const char *, unsigned int);\n%}\n%%\n"; while ($$l = <>) { $$l =~ s/[\{\"]//g; $$l =~ s/\}.*// ; print $$l; }' < $< | gperf --ignore-case --language=ANSI-C --readonly --null-strings --global-table --hash-function-name=__cap_hash_name --lookup-function-name="__cap_lookup_name" -c -t -m20 $(INDENT) > $@
-+ perl -e 'print "struct __cap_token_s { const char *name; int index; };\n%{\nconst struct __cap_token_s *__cap_lookup_name(const char *, register size_t);\n%}\n%%\n"; while ($$l = <>) { $$l =~ s/[\{\"]//g; $$l =~ s/\}.*// ; print $$l; }' < $< | gperf --ignore-case --language=ANSI-C --readonly --null-strings --global-table --hash-function-name=__cap_hash_name --lookup-function-name="__cap_lookup_name" -c -t -m20 $(INDENT) > $@
-
- cap_names.list.h: Makefile $(KERNEL_HEADERS)/linux/capability.h
- @echo "=> making $@ from $(KERNEL_HEADERS)/linux/capability.h"
---
-2.13.2
-
diff --git a/poky/meta/recipes-support/libcap/libcap_2.25.bb b/poky/meta/recipes-support/libcap/libcap_2.25.bb
deleted file mode 100644
index 6df674547..000000000
--- a/poky/meta/recipes-support/libcap/libcap_2.25.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-SUMMARY = "Library for getting/setting POSIX.1e capabilities"
-HOMEPAGE = "http://sites.google.com/site/fullycapable/"
-
-# no specific GPL version required
-LICENSE = "BSD | GPLv2"
-LIC_FILES_CHKSUM = "file://License;md5=3f84fd6f29d453a56514cb7e4ead25f1"
-
-DEPENDS = "hostperl-runtime-native gperf-native"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \
- file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \
- file://0001-Fix-build-with-gperf-3.1.patch \
- "
-SRC_URI[md5sum] = "6666b839e5d46c2ad33fc8aa2ceb5f77"
-SRC_URI[sha256sum] = "693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162"
-
-inherit lib_package
-
-# do NOT pass target cflags to host compilations
-#
-do_configure() {
- # libcap uses := for compilers, fortunately, it gives us a hint
- # on what should be replaced with ?=
- sed -e 's,:=,?=,g' -i Make.Rules
- sed -e 's,^BUILD_CFLAGS ?= $(.*CFLAGS),BUILD_CFLAGS := $(BUILD_CFLAGS),' -i Make.Rules
-}
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
-PACKAGECONFIG_class-native ??= ""
-
-PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam"
-
-EXTRA_OEMAKE = " \
- INDENT= \
- lib='${baselib}' \
- RAISE_SETFCAP=no \
- DYNAMIC=yes \
- BUILD_GPERF=yes \
-"
-
-EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}"
-
-# these are present in the libcap defaults, so include in our CFLAGS too
-CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
-
-do_compile() {
- oe_runmake ${PACKAGECONFIG_CONFARGS}
-}
-
-do_install() {
- oe_runmake install \
- ${PACKAGECONFIG_CONFARGS} \
- DESTDIR="${D}" \
- prefix="${prefix}" \
- SBINDIR="${sbindir}"
-}
-
-do_install_append() {
- # Move the library to base_libdir
- install -d ${D}${base_libdir}
- if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
- mv ${D}${libdir}/libcap* ${D}${base_libdir}
- if [ -d ${D}${libdir}/security ]; then
- mv ${D}${libdir}/security ${D}${base_libdir}
- fi
- fi
-}
-
-FILES_${PN}-dev += "${base_libdir}/*.so"
-
-# pam files
-FILES_${PN} += "${base_libdir}/security/*.so"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libcap/libcap_2.26.bb b/poky/meta/recipes-support/libcap/libcap_2.26.bb
new file mode 100644
index 000000000..14841de4a
--- /dev/null
+++ b/poky/meta/recipes-support/libcap/libcap_2.26.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Library for getting/setting POSIX.1e capabilities"
+HOMEPAGE = "http://sites.google.com/site/fullycapable/"
+
+# no specific GPL version required
+LICENSE = "BSD | GPLv2"
+LIC_FILES_CHKSUM = "file://License;md5=3f84fd6f29d453a56514cb7e4ead25f1"
+
+DEPENDS = "hostperl-runtime-native gperf-native"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \
+ file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \
+ "
+SRC_URI[md5sum] = "968ac4d42a1a71754313527be2ab5df3"
+SRC_URI[sha256sum] = "b630b7c484271b3ba867680d6a14b10a86cfa67247a14631b14c06731d5a458b"
+
+inherit lib_package
+
+# do NOT pass target cflags to host compilations
+#
+do_configure() {
+ # libcap uses := for compilers, fortunately, it gives us a hint
+ # on what should be replaced with ?=
+ sed -e 's,:=,?=,g' -i Make.Rules
+ sed -e 's,^BUILD_CFLAGS ?= $(.*CFLAGS),BUILD_CFLAGS := $(BUILD_CFLAGS),' -i Make.Rules
+}
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG_class-native ??= ""
+
+PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam"
+
+EXTRA_OEMAKE = " \
+ INDENT= \
+ lib='${baselib}' \
+ RAISE_SETFCAP=no \
+ DYNAMIC=yes \
+ BUILD_GPERF=yes \
+"
+
+EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}"
+
+# these are present in the libcap defaults, so include in our CFLAGS too
+CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
+
+do_compile() {
+ oe_runmake ${PACKAGECONFIG_CONFARGS}
+}
+
+do_install() {
+ oe_runmake install \
+ ${PACKAGECONFIG_CONFARGS} \
+ DESTDIR="${D}" \
+ prefix="${prefix}" \
+ SBINDIR="${sbindir}"
+}
+
+do_install_append() {
+ # Move the library to base_libdir
+ install -d ${D}${base_libdir}
+ if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
+ mv ${D}${libdir}/libcap* ${D}${base_libdir}
+ if [ -d ${D}${libdir}/security ]; then
+ mv ${D}${libdir}/security ${D}${base_libdir}
+ fi
+ fi
+}
+
+FILES_${PN}-dev += "${base_libdir}/*.so"
+
+# pam files
+FILES_${PN} += "${base_libdir}/security/*.so"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libcheck/libcheck_0.12.0.bb b/poky/meta/recipes-support/libcheck/libcheck_0.12.0.bb
index 3bb48a75a..94b0dc1bb 100644
--- a/poky/meta/recipes-support/libcheck/libcheck_0.12.0.bb
+++ b/poky/meta/recipes-support/libcheck/libcheck_0.12.0.bb
@@ -1,5 +1,5 @@
SUMMARY = "Check - unit testing framework for C code"
-HOMEPAGE = "http://check.sourceforge.net/"
+HOMEPAGE = "https://libcheck.github.io/check/"
SECTION = "devel"
LICENSE = "LGPLv2.1+"
diff --git a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch b/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch
new file mode 100644
index 000000000..35471ec7e
--- /dev/null
+++ b/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch
@@ -0,0 +1,45 @@
+CVE: CVE-2017-7961
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001
+From: Ignacio Casal Quinteiro <qignacio@amazon.com>
+Date: Sun, 16 Apr 2017 13:56:09 +0200
+Subject: [PATCH] tknzr: support only max long rgb values
+
+This fixes a possible out of bound when reading rgbs which
+are longer than the support MAXLONG
+---
+ src/cr-tknzr.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c
+index 1a7cfeb..1548c35 100644
+--- a/src/cr-tknzr.c
++++ b/src/cr-tknzr.c
+@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
+ status = cr_tknzr_parse_num (a_this, &num);
+ ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
+
++ if (num->val > G_MAXLONG) {
++ status = CR_PARSING_ERROR;
++ goto error;
++ }
++
+ red = num->val;
+ cr_num_destroy (num);
+ num = NULL;
+@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
+ status = cr_tknzr_parse_num (a_this, &num);
+ ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
+
++ if (num->val > G_MAXLONG) {
++ status = CR_PARSING_ERROR;
++ goto error;
++ }
++
+ PEEK_BYTE (a_this, 1, &next_bytes[0]);
+ if (next_bytes[0] == '%') {
+ SKIP_CHARS (a_this, 1);
+--
+2.18.1
diff --git a/poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb b/poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb
index 5b962ee73..f95a58313 100644
--- a/poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb
+++ b/poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb
@@ -16,7 +16,9 @@ BINCONFIG = "${bindir}/croco-0.6-config"
inherit gnomebase gtk-doc binconfig-disabled
-SRC_URI += "file://CVE-2017-7960.patch"
+SRC_URI += "file://CVE-2017-7960.patch \
+ file://CVE-2017-7961.patch \
+ "
SRC_URI[archive.md5sum] = "bc0984fce078ba2ce29f9500c6b9ddce"
SRC_URI[archive.sha256sum] = "ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860"
diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.5.9.bb b/poky/meta/recipes-support/libevdev/libevdev_1.5.9.bb
deleted file mode 100644
index f59c60eee..000000000
--- a/poky/meta/recipes-support/libevdev/libevdev_1.5.9.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Wrapper library for evdev devices"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libevdev/"
-SECTION = "libs"
-
-LICENSE = "MIT-X"
-LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \
- file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1"
-
-SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "a1ca11e961c1efed720fac4130881904"
-SRC_URI[sha256sum] = "e1663751443bed9d3e76a4fe2caf6fa866a79705d91cacad815c04e706198a75"
-
-inherit autotools pkgconfig
diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb
new file mode 100644
index 000000000..12cf5192f
--- /dev/null
+++ b/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Wrapper library for evdev devices"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libevdev/"
+SECTION = "libs"
+
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \
+ file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1"
+
+SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "154b24f01425c4c82fdc3e11f2c13af6"
+SRC_URI[sha256sum] = "f5005c865987d980cc1279b9ec6131b06a89fd9892f649f2a68262b8786ef814"
+
+inherit autotools pkgconfig
diff --git a/poky/meta/recipes-support/libexif/libexif/CVE-2016-6328.patch b/poky/meta/recipes-support/libexif/libexif/CVE-2016-6328.patch
new file mode 100644
index 000000000..a6f307439
--- /dev/null
+++ b/poky/meta/recipes-support/libexif/libexif/CVE-2016-6328.patch
@@ -0,0 +1,64 @@
+CVE: CVE-2016-6328
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 41bd04234b104312f54d25822f68738ba8d7133d Mon Sep 17 00:00:00 2001
+From: Marcus Meissner <marcus@jet.franken.de>
+Date: Tue, 25 Jul 2017 23:44:44 +0200
+Subject: [PATCH] fixes some (not all) buffer overreads during decoding pentax
+ makernote entries.
+
+This should fix:
+https://sourceforge.net/p/libexif/bugs/125/ CVE-2016-6328
+---
+ libexif/pentax/mnote-pentax-entry.c | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/libexif/pentax/mnote-pentax-entry.c b/libexif/pentax/mnote-pentax-entry.c
+index d03d159..ea0429a 100644
+--- a/libexif/pentax/mnote-pentax-entry.c
++++ b/libexif/pentax/mnote-pentax-entry.c
+@@ -425,24 +425,34 @@ mnote_pentax_entry_get_value (MnotePentaxEntry *entry,
+ case EXIF_FORMAT_SHORT:
+ {
+ const unsigned char *data = entry->data;
+- size_t k, len = strlen(val);
++ size_t k, len = strlen(val), sizeleft;
++
++ sizeleft = entry->size;
+ for(k=0; k<entry->components; k++) {
++ if (sizeleft < 2)
++ break;
+ vs = exif_get_short (data, entry->order);
+ snprintf (val+len, maxlen-len, "%i ", vs);
+ len = strlen(val);
+ data += 2;
++ sizeleft -= 2;
+ }
+ }
+ break;
+ case EXIF_FORMAT_LONG:
+ {
+ const unsigned char *data = entry->data;
+- size_t k, len = strlen(val);
++ size_t k, len = strlen(val), sizeleft;
++
++ sizeleft = entry->size;
+ for(k=0; k<entry->components; k++) {
++ if (sizeleft < 4)
++ break;
+ vl = exif_get_long (data, entry->order);
+ snprintf (val+len, maxlen-len, "%li", (long int) vl);
+ len = strlen(val);
+ data += 4;
++ sizeleft -= 4;
+ }
+ }
+ break;
+@@ -455,5 +465,5 @@ mnote_pentax_entry_get_value (MnotePentaxEntry *entry,
+ break;
+ }
+
+- return (val);
++ return val;
+ }
diff --git a/poky/meta/recipes-support/libexif/libexif/CVE-2018-20030.patch b/poky/meta/recipes-support/libexif/libexif/CVE-2018-20030.patch
new file mode 100644
index 000000000..76233e6dc
--- /dev/null
+++ b/poky/meta/recipes-support/libexif/libexif/CVE-2018-20030.patch
@@ -0,0 +1,115 @@
+CVE: CVE-2018-20030
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 6aa11df549114ebda520dde4cdaea2f9357b2c89 Mon Sep 17 00:00:00 2001
+From: Dan Fandrich <dan@coneharvesters.com>
+Date: Fri, 12 Oct 2018 16:01:45 +0200
+Subject: [PATCH] Improve deep recursion detection in
+ exif_data_load_data_content.
+
+The existing detection was still vulnerable to pathological cases
+causing DoS by wasting CPU. The new algorithm takes the number of tags
+into account to make it harder to abuse by cases using shallow recursion
+but with a very large number of tags. This improves on commit 5d28011c
+which wasn't sufficient to counter this kind of case.
+
+The limitation in the previous fix was discovered by Laurent Delosieres,
+Secunia Research at Flexera (Secunia Advisory SA84652) and is assigned
+the identifier CVE-2018-20030.
+
+diff --git a/libexif/exif-data.c b/libexif/exif-data.c
+index 67df4db..8d9897e 100644
+--- a/libexif/exif-data.c
++++ b/libexif/exif-data.c
+@@ -35,6 +35,7 @@
+ #include <libexif/olympus/exif-mnote-data-olympus.h>
+ #include <libexif/pentax/exif-mnote-data-pentax.h>
+
++#include <math.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -344,6 +345,20 @@ if (data->ifd[(i)]->count) { \
+ break; \
+ }
+
++/*! Calculate the recursion cost added by one level of IFD loading.
++ *
++ * The work performed is related to the cost in the exponential relation
++ * work=1.1**cost
++ */
++static unsigned int
++level_cost(unsigned int n)
++{
++ static const double log_1_1 = 0.09531017980432493;
++
++ /* Adding 0.1 protects against the case where n==1 */
++ return ceil(log(n + 0.1)/log_1_1);
++}
++
+ /*! Load data for an IFD.
+ *
+ * \param[in,out] data #ExifData
+@@ -351,13 +366,13 @@ if (data->ifd[(i)]->count) { \
+ * \param[in] d pointer to buffer containing raw IFD data
+ * \param[in] ds size of raw data in buffer at \c d
+ * \param[in] offset offset into buffer at \c d at which IFD starts
+- * \param[in] recursion_depth number of times this function has been
+- * recursively called without returning
++ * \param[in] recursion_cost factor indicating how expensive this recursive
++ * call could be
+ */
+ static void
+ exif_data_load_data_content (ExifData *data, ExifIfd ifd,
+ const unsigned char *d,
+- unsigned int ds, unsigned int offset, unsigned int recursion_depth)
++ unsigned int ds, unsigned int offset, unsigned int recursion_cost)
+ {
+ ExifLong o, thumbnail_offset = 0, thumbnail_length = 0;
+ ExifShort n;
+@@ -372,9 +387,20 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd,
+ if ((((int)ifd) < 0) || ( ((int)ifd) >= EXIF_IFD_COUNT))
+ return;
+
+- if (recursion_depth > 30) {
++ if (recursion_cost > 170) {
++ /*
++ * recursion_cost is a logarithmic-scale indicator of how expensive this
++ * recursive call might end up being. It is an indicator of the depth of
++ * recursion as well as the potential for worst-case future recursive
++ * calls. Since it's difficult to tell ahead of time how often recursion
++ * will occur, this assumes the worst by assuming every tag could end up
++ * causing recursion.
++ * The value of 170 was chosen to limit typical EXIF structures to a
++ * recursive depth of about 6, but pathological ones (those with very
++ * many tags) to only 2.
++ */
+ exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData",
+- "Deep recursion detected!");
++ "Deep/expensive recursion detected!");
+ return;
+ }
+
+@@ -416,15 +442,18 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd,
+ switch (tag) {
+ case EXIF_TAG_EXIF_IFD_POINTER:
+ CHECK_REC (EXIF_IFD_EXIF);
+- exif_data_load_data_content (data, EXIF_IFD_EXIF, d, ds, o, recursion_depth + 1);
++ exif_data_load_data_content (data, EXIF_IFD_EXIF, d, ds, o,
++ recursion_cost + level_cost(n));
+ break;
+ case EXIF_TAG_GPS_INFO_IFD_POINTER:
+ CHECK_REC (EXIF_IFD_GPS);
+- exif_data_load_data_content (data, EXIF_IFD_GPS, d, ds, o, recursion_depth + 1);
++ exif_data_load_data_content (data, EXIF_IFD_GPS, d, ds, o,
++ recursion_cost + level_cost(n));
+ break;
+ case EXIF_TAG_INTEROPERABILITY_IFD_POINTER:
+ CHECK_REC (EXIF_IFD_INTEROPERABILITY);
+- exif_data_load_data_content (data, EXIF_IFD_INTEROPERABILITY, d, ds, o, recursion_depth + 1);
++ exif_data_load_data_content (data, EXIF_IFD_INTEROPERABILITY, d, ds, o,
++ recursion_cost + level_cost(n));
+ break;
+ case EXIF_TAG_JPEG_INTERCHANGE_FORMAT:
+ thumbnail_offset = o;
diff --git a/poky/meta/recipes-support/libexif/libexif_0.6.21.bb b/poky/meta/recipes-support/libexif/libexif_0.6.21.bb
index b550a1125..d847beab1 100644
--- a/poky/meta/recipes-support/libexif/libexif_0.6.21.bb
+++ b/poky/meta/recipes-support/libexif/libexif_0.6.21.bb
@@ -5,14 +5,13 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
SRC_URI = "${SOURCEFORGE_MIRROR}/libexif/libexif-${PV}.tar.bz2 \
- file://CVE-2017-7544.patch"
+ file://CVE-2017-7544.patch \
+ file://CVE-2016-6328.patch \
+ file://CVE-2018-20030.patch"
SRC_URI[md5sum] = "27339b89850f28c8f1c237f233e05b27"
SRC_URI[sha256sum] = "16cdaeb62eb3e6dfab2435f7d7bccd2f37438d21c5218ec4e58efa9157d4d41a"
inherit autotools gettext
-do_configure_append() {
- sed -i s:doc\ binary:binary:g Makefile
-}
-
+EXTRA_OECONF += "--disable-docs"
diff --git a/poky/meta/recipes-support/libfm/libfm-extra_1.3.0.2.bb b/poky/meta/recipes-support/libfm/libfm-extra_1.3.0.2.bb
deleted file mode 100644
index 734d010d3..000000000
--- a/poky/meta/recipes-support/libfm/libfm-extra_1.3.0.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Library for file management"
-HOMEPAGE = "http://pcmanfm.sourceforge.net/"
-
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://src/fm-extra.h;beginline=8;endline=21;md5=ef1f84da64b3c01cca447212f7ef6007"
-
-SECTION = "x11/libs"
-DEPENDS = "glib-2.0-native glib-2.0 intltool-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.xz \
- file://0001-nls.m4-Take-it-from-gettext-0.15.patch \
- "
-
-SRC_URI[md5sum] = "02a024714d51e0d37afc7bd596a44f3b"
-SRC_URI[sha256sum] = "18d06f7996ce1cf8947df6e106bc0338c6ae0c4138c316f2501f6f6f435c7c72"
-
-S = "${WORKDIR}/libfm-${PV}"
-
-EXTRA_OECONF = "--with-extra-only --with-gtk=no"
-
-inherit autotools pkgconfig gtk-doc gettext
-
-do_configure[dirs] =+ "${S}/m4"
diff --git a/poky/meta/recipes-support/libfm/libfm-extra_1.3.1.bb b/poky/meta/recipes-support/libfm/libfm-extra_1.3.1.bb
new file mode 100644
index 000000000..85102a1a3
--- /dev/null
+++ b/poky/meta/recipes-support/libfm/libfm-extra_1.3.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Library for file management"
+HOMEPAGE = "http://pcmanfm.sourceforge.net/"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://src/fm-extra.h;beginline=8;endline=21;md5=ef1f84da64b3c01cca447212f7ef6007"
+
+SECTION = "x11/libs"
+DEPENDS = "glib-2.0-native glib-2.0 intltool-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.xz \
+ file://0001-nls.m4-Take-it-from-gettext-0.15.patch \
+ "
+
+SRC_URI[md5sum] = "c15ecd2c9317e2c385cd3f046d0b61ba"
+SRC_URI[sha256sum] = "96b1244bde41ca0eef0332cfb5c67bb16725dfd102128f3e6f74fadc13a1cfe4"
+
+S = "${WORKDIR}/libfm-${PV}"
+
+EXTRA_OECONF = "--with-extra-only --with-gtk=no"
+
+inherit autotools pkgconfig gtk-doc gettext
+
+do_configure[dirs] =+ "${S}/m4"
diff --git a/poky/meta/recipes-support/libfm/libfm_1.3.0.2.bb b/poky/meta/recipes-support/libfm/libfm_1.3.0.2.bb
deleted file mode 100644
index 62d6a51e8..000000000
--- a/poky/meta/recipes-support/libfm/libfm_1.3.0.2.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "Library for file management"
-HOMEPAGE = "http://pcmanfm.sourceforge.net/"
-
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b \
- file://src/fm.h;beginline=8;endline=21;md5=ef1f84da64b3c01cca447212f7ef6007 \
- file://src/base/fm-config.h;beginline=10;endline=23;md5=ef1f84da64b3c01cca447212f7ef6007 \
- file://src/fm-gtk.h;beginline=6;endline=19;md5=646baa4955c04fe768f2ca27b92ac8dd"
-
-
-SECTION = "x11/libs"
-DEPENDS = "glib-2.0 glib-2.0-native pango gtk+3 menu-cache intltool-native libexif libfm-extra"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.xz \
- file://0001-Correctly-check-the-stamp-file-that-indicates-if-we-.patch \
- file://0001-Do-not-add-library-path-to-avoid-host-contamination.patch \
- "
-
-SRC_URI[md5sum] = "02a024714d51e0d37afc7bd596a44f3b"
-SRC_URI[sha256sum] = "18d06f7996ce1cf8947df6e106bc0338c6ae0c4138c316f2501f6f6f435c7c72"
-
-inherit autotools pkgconfig gtk-doc gettext distro_features_check
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-EXTRA_OECONF = "--with-gtk=3"
-
-do_configure[dirs] =+ "${S}/m4"
-
-PACKAGES =+ "libfm-gtk"
-PACKAGES += "${PN}-mime"
-FILES_libfm-gtk = " \
- ${libdir}/libfm-gtk*so.* \
- ${libdir}/libfm/modules/gtk* \
- ${bindir}/libfm-pref-apps \
- ${bindir}/lxshortcut \
- ${datadir}/applications/libfm-pref-apps.desktop \
- ${datadir}/applications/lxshortcut.desktop \
- ${datadir}/libfm/images/folder.png \
- ${datadir}/libfm/images/unknown.png \
- ${datadir}/libfm/ui/*.ui \
-"
-FILES_${PN}-mime = "${datadir}/mime/"
-
-do_install_append () {
- # remove files which are part of libfm-extra
- rm -f ${D}${includedir}/libfm-1.0/fm-xml-file.h
- rm -f ${D}${includedir}/libfm-1.0/fm-version.h
- rm -f ${D}${includedir}/libfm-1.0/fm-extra.h
- rm -f ${D}${includedir}/libfm
- rm -f ${D}${libdir}/pkgconfig/libfm-extra.pc
- rm -f ${D}${libdir}/libfm-extra.so*
- rm -f ${D}${libdir}/libfm-extra.a
- rm -f ${D}${libdir}/libfm-extra.la
-}
diff --git a/poky/meta/recipes-support/libfm/libfm_1.3.1.bb b/poky/meta/recipes-support/libfm/libfm_1.3.1.bb
new file mode 100644
index 000000000..65a6f8e78
--- /dev/null
+++ b/poky/meta/recipes-support/libfm/libfm_1.3.1.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Library for file management"
+HOMEPAGE = "http://pcmanfm.sourceforge.net/"
+
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b \
+ file://src/fm.h;beginline=8;endline=21;md5=ef1f84da64b3c01cca447212f7ef6007 \
+ file://src/base/fm-config.h;beginline=10;endline=23;md5=ef1f84da64b3c01cca447212f7ef6007 \
+ file://src/fm-gtk.h;beginline=6;endline=19;md5=646baa4955c04fe768f2ca27b92ac8dd"
+
+
+SECTION = "x11/libs"
+DEPENDS = "glib-2.0 glib-2.0-native pango gtk+3 menu-cache intltool-native libexif libfm-extra"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.xz \
+ file://0001-Correctly-check-the-stamp-file-that-indicates-if-we-.patch \
+ file://0001-Do-not-add-library-path-to-avoid-host-contamination.patch \
+ "
+
+SRC_URI[md5sum] = "c15ecd2c9317e2c385cd3f046d0b61ba"
+SRC_URI[sha256sum] = "96b1244bde41ca0eef0332cfb5c67bb16725dfd102128f3e6f74fadc13a1cfe4"
+
+inherit autotools pkgconfig gtk-doc gettext distro_features_check
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+EXTRA_OECONF = "--with-gtk=3"
+
+do_configure[dirs] =+ "${S}/m4"
+
+PACKAGES =+ "libfm-gtk"
+PACKAGES += "${PN}-mime"
+FILES_libfm-gtk = " \
+ ${libdir}/libfm-gtk*so.* \
+ ${libdir}/libfm/modules/gtk* \
+ ${bindir}/libfm-pref-apps \
+ ${bindir}/lxshortcut \
+ ${datadir}/applications/libfm-pref-apps.desktop \
+ ${datadir}/applications/lxshortcut.desktop \
+ ${datadir}/libfm/images/folder.png \
+ ${datadir}/libfm/images/unknown.png \
+ ${datadir}/libfm/ui/*.ui \
+"
+FILES_${PN}-mime = "${datadir}/mime/"
+
+do_install_append () {
+ # remove files which are part of libfm-extra
+ rm -f ${D}${includedir}/libfm-1.0/fm-xml-file.h
+ rm -f ${D}${includedir}/libfm-1.0/fm-version.h
+ rm -f ${D}${includedir}/libfm-1.0/fm-extra.h
+ rm -f ${D}${includedir}/libfm
+ rm -f ${D}${libdir}/pkgconfig/libfm-extra.pc
+ rm -f ${D}${libdir}/libfm-extra.so*
+ rm -f ${D}${libdir}/libfm-extra.a
+ rm -f ${D}${libdir}/libfm-extra.la
+}
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Support-ARC-CPUs-and-simplify-aliasing-table.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Support-ARC-CPUs-and-simplify-aliasing-table.patch
deleted file mode 100644
index 03b0ce77e..000000000
--- a/poky/meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Support-ARC-CPUs-and-simplify-aliasing-table.patch
+++ /dev/null
@@ -1,298 +0,0 @@
-From d4fd6975671477721936060771aa4d7d07fb0910 Mon Sep 17 00:00:00 2001
-From: Werner Koch <wk@gnupg.org>
-Date: Tue, 18 Sep 2018 14:54:08 +0200
-Subject: [PATCH libgpg-error] syscfg: Support ARC CPUs and simplify aliasing
- table.
-
-* src/mkheader.c (xmalloc): New.
-(xstrdup): Implement using xmalloc.
-(canon_host_triplet): Add supporr for arc CPU. Adjust alias table to
-also alias *-pc-*. Rename ibm to unknown. Add internal arg. Add
-unknown vendor hack.
-(main): New mode to just print the canonicalized form.
-* src/Makefile.am (lock_obj_pub): s/-(pc|ibm)-/-unknown/. Also rename
-files accordingly.
---
-
-config.sub does no real aliasing and thus we would need to add several
-vendors to the alising tables despite that this has no technical
-meanding. Instead we now replace the vendor with "unknown" for the
-4-part-"triplets". This change will make maintenace easier.
-
-Signed-off-by: Werner Koch <wk@gnupg.org>
-
-Upstream-Status: Backport [ http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commit;h=48c8f8ddfc80 ]
----
- src/Makefile.am | 16 ++--
- src/mkheader.c | 92 ++++++++++++++++---
- ...-gnu.h => lock-obj-pub.i686-unknown-gnu.h} | 0
- ... lock-obj-pub.i686-unknown-kfreebsd-gnu.h} | 0
- ... => lock-obj-pub.i686-unknown-linux-gnu.h} | 0
- ...=> lock-obj-pub.s390x-unknown-linux-gnu.h} | 0
- ...ock-obj-pub.x86_64-unknown-kfreebsd-gnu.h} | 0
- ...> lock-obj-pub.x86_64-unknown-linux-gnu.h} | 0
- ...ock-obj-pub.x86_64-unknown-linux-gnux32.h} | 0
- ... lock-obj-pub.x86_64-unknown-linux-musl.h} | 0
- 10 files changed, 85 insertions(+), 23 deletions(-)
- rename src/syscfg/{lock-obj-pub.i686-pc-gnu.h => lock-obj-pub.i686-unknown-gnu.h} (100%)
- rename src/syscfg/{lock-obj-pub.i686-pc-kfreebsd-gnu.h => lock-obj-pub.i686-unknown-kfreebsd-gnu.h} (100%)
- rename src/syscfg/{lock-obj-pub.i686-pc-linux-gnu.h => lock-obj-pub.i686-unknown-linux-gnu.h} (100%)
- rename src/syscfg/{lock-obj-pub.s390x-ibm-linux-gnu.h => lock-obj-pub.s390x-unknown-linux-gnu.h} (100%)
- rename src/syscfg/{lock-obj-pub.x86_64-pc-kfreebsd-gnu.h => lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h} (100%)
- rename src/syscfg/{lock-obj-pub.x86_64-pc-linux-gnu.h => lock-obj-pub.x86_64-unknown-linux-gnu.h} (100%)
- rename src/syscfg/{lock-obj-pub.x86_64-pc-linux-gnux32.h => lock-obj-pub.x86_64-unknown-linux-gnux32.h} (100%)
- rename src/syscfg/{lock-obj-pub.x86_64-pc-linux-musl.h => lock-obj-pub.x86_64-unknown-linux-musl.h} (100%)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 42998e46a3bc..8ec582ef99fb 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -52,9 +52,9 @@ lock_obj_pub = \
- syscfg/lock-obj-pub.arm-apple-darwin.h \
- syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.i386-apple-darwin.h \
-- syscfg/lock-obj-pub.i686-pc-gnu.h \
-- syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h \
-- syscfg/lock-obj-pub.i686-pc-linux-gnu.h \
-+ syscfg/lock-obj-pub.i686-unknown-gnu.h \
-+ syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h \
-+ syscfg/lock-obj-pub.i686-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.mips-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h \
-@@ -66,16 +66,16 @@ lock_obj_pub = \
- syscfg/lock-obj-pub.powerpc64le-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h \
- syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h \
-- syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h \
-+ syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.x86_64-apple-darwin.h \
-- syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h \
-- syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h \
-- syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h \
-- syscfg/lock-obj-pub.x86_64-pc-linux-musl.h \
-+ syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h \
-+ syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h \
-+ syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h \
-+ syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h \
- syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h \
- syscfg/lock-obj-pub.mingw32.h
-diff --git a/src/mkheader.c b/src/mkheader.c
-index 2fc5fada66a4..7a38a1bec1a4 100644
---- a/src/mkheader.c
-+++ b/src/mkheader.c
-@@ -51,17 +51,27 @@ xfree (void *a)
-
-
- static char *
--xstrdup (const char *string)
-+xmalloc (size_t n)
- {
- char *p;
-- size_t len = strlen (string) + 1;
-
-- p = malloc (len);
-+ p = malloc (n);
- if (!p)
- {
- fputs (PGM ": out of core\n", stderr);
- exit (1);
- }
-+ return p;
-+}
-+
-+
-+static char *
-+xstrdup (const char *string)
-+{
-+ char *p;
-+ size_t len = strlen (string) + 1;
-+
-+ p = xmalloc (len);
- memcpy (p, string, len);
- return p;
- }
-@@ -69,23 +79,31 @@ xstrdup (const char *string)
-
- /* Return a malloced string with TRIPLET. If TRIPLET has an alias
- return that instead. In general build-aux/config.sub should do the
-- aliasing but some returned triplets are anyway identical and thus we
-- use this function to map it to the canonical form. */
-+ aliasing but some returned triplets are anyway identical and thus
-+ we use this function to map it to the canonical form.
-+ NO_VENDOR_HACK is for internal use; caller must call with 0. */
- static char *
--canon_host_triplet (const char *triplet)
-+canon_host_triplet (const char *triplet, int no_vendor_hack)
- {
- struct {
- const char *name;
- const char *alias;
- } tbl[] = {
-- {"i486-pc-linux-gnu", "i686-pc-linux-gnu" },
-+ {"i486-pc-linux-gnu", "i686-unknown-linux-gnu" },
- {"i586-pc-linux-gnu" },
-- {"i486-pc-gnu", "i686-pc-gnu"},
-+ {"i686-pc-linux-gnu" },
-+ {"arc-oe-linux-uclibc" }, /* Other CPU but same struct. */
-+
-+ {"i486-pc-gnu", "i686-unknown-gnu"},
- {"i586-pc-gnu"},
-- {"i486-pc-kfreebsd-gnu", "i686-pc-kfreebsd-gnu"},
-+ {"i686-pc-gnu"},
-+
-+ {"i486-pc-kfreebsd-gnu", "i686-unknown-kfreebsd-gnu"},
- {"i586-pc-kfreebsd-gnu"},
-+ {"i686-pc-kfreebsd-gnu"},
-
-- {"x86_64-pc-linux-gnuhardened1", "x86_64-pc-linux-gnu" },
-+ {"x86_64-pc-linux-gnuhardened1", "x86_64-unknown-linux-gnu" },
-+ {"x86_64-pc-linux-gnu" },
-
- {"powerpc-unknown-linux-gnuspe", "powerpc-unknown-linux-gnu" },
-
-@@ -98,6 +116,7 @@ canon_host_triplet (const char *triplet)
- };
- int i;
- const char *lastalias = NULL;
-+ const char *s;
-
- for (i=0; tbl[i].name; i++)
- {
-@@ -110,6 +129,36 @@ canon_host_triplet (const char *triplet)
- return xstrdup (lastalias);
- }
- }
-+ for (i=0, s=triplet; *s; s++)
-+ if (*s == '-')
-+ i++;
-+ if (i > 2 && !no_vendor_hack)
-+ {
-+ /* We have a 4 part "triplet": CPU-VENDOR-KERNEL-SYSTEM where
-+ * the last two parts replace the OS part of a real triplet.
-+ * The VENDOR part is then in general useless because
-+ * KERNEL-SYSTEM is specific enough. We now do a second pass by
-+ * replacing VENDOR with "unknown". */
-+ char *p;
-+ char *buf = xmalloc (strlen (triplet) + 7 + 1);
-+
-+ for (p=buf,s=triplet,i=0; *s; s++)
-+ {
-+ *p++ = *s;
-+ if (*s == '-' && ++i == 1)
-+ {
-+ memcpy (p, "unknown-",8);
-+ p += 8;
-+ for (s++; *s != '-'; s++)
-+ ;
-+ }
-+ }
-+ *p = 0;
-+ p = canon_host_triplet (buf, 1);
-+ xfree (buf);
-+ return p;
-+ }
-+
- return xstrdup (triplet);
- }
-
-@@ -558,7 +607,7 @@ write_special (const char *fname, int lnr, const char *tag)
- int
- main (int argc, char **argv)
- {
-- FILE *fp;
-+ FILE *fp = NULL;
- char line[LINESIZE];
- int lnr = 0;
- const char *fname, *s;
-@@ -571,11 +620,22 @@ main (int argc, char **argv)
- argc--; argv++;
- }
-
-- if (argc != 6)
-+ if (argc == 1)
-+ {
-+ /* Print just the canonicalized host triplet. */
-+ host_triplet = canon_host_triplet (argv[0], 0);
-+ printf ("%s\n", host_triplet);
-+ goto leave;
-+ }
-+ else if (argc == 6)
-+ ; /* Standard operation. */
-+ else
- {
- fputs ("usage: " PGM
- " host_os host_triplet template.h config.h"
-- " version version_number\n",
-+ " version version_number\n"
-+ " " PGM
-+ " host_triplet\n",
- stderr);
- return 1;
- }
-@@ -586,7 +646,7 @@ main (int argc, char **argv)
- hdr_version = argv[4];
- hdr_version_number = argv[5];
-
-- host_triplet = canon_host_triplet (host_triplet_raw);
-+ host_triplet = canon_host_triplet (host_triplet_raw, 0);
-
- srcdir = malloc (strlen (fname) + 2 + 1);
- if (!srcdir)
-@@ -677,13 +737,15 @@ main (int argc, char **argv)
- "End:\n"
- "*/\n", stdout);
-
-+ leave:
- if (ferror (stdout))
- {
- fprintf (stderr, PGM ": error writing to stdout: %s\n", strerror (errno));
- return 1;
- }
-
-- fclose (fp);
-+ if (fp)
-+ fclose (fp);
-
- xfree (host_triplet);
- return 0;
-diff --git a/src/syscfg/lock-obj-pub.i686-pc-gnu.h b/src/syscfg/lock-obj-pub.i686-unknown-gnu.h
-similarity index 100%
-rename from src/syscfg/lock-obj-pub.i686-pc-gnu.h
-rename to src/syscfg/lock-obj-pub.i686-unknown-gnu.h
-diff --git a/src/syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h b/src/syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h
-similarity index 100%
-rename from src/syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h
-rename to src/syscfg/lock-obj-pub.i686-unknown-kfreebsd-gnu.h
-diff --git a/src/syscfg/lock-obj-pub.i686-pc-linux-gnu.h b/src/syscfg/lock-obj-pub.i686-unknown-linux-gnu.h
-similarity index 100%
-rename from src/syscfg/lock-obj-pub.i686-pc-linux-gnu.h
-rename to src/syscfg/lock-obj-pub.i686-unknown-linux-gnu.h
-diff --git a/src/syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h b/src/syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h
-similarity index 100%
-rename from src/syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h
-rename to src/syscfg/lock-obj-pub.s390x-unknown-linux-gnu.h
-diff --git a/src/syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h b/src/syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h
-similarity index 100%
-rename from src/syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h
-rename to src/syscfg/lock-obj-pub.x86_64-unknown-kfreebsd-gnu.h
-diff --git a/src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h b/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h
-similarity index 100%
-rename from src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h
-rename to src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h
-diff --git a/src/syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h b/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h
-similarity index 100%
-rename from src/syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h
-rename to src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnux32.h
-diff --git a/src/syscfg/lock-obj-pub.x86_64-pc-linux-musl.h b/src/syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h
-similarity index 100%
-rename from src/syscfg/lock-obj-pub.x86_64-pc-linux-musl.h
-rename to src/syscfg/lock-obj-pub.x86_64-unknown-linux-musl.h
---
-2.17.1
-
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/0002-syscfg-Add-support-for-arc-unknown-linux-gnu.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/0002-syscfg-Add-support-for-arc-unknown-linux-gnu.patch
deleted file mode 100644
index 197652f28..000000000
--- a/poky/meta/recipes-support/libgpg-error/libgpg-error/0002-syscfg-Add-support-for-arc-unknown-linux-gnu.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ae6a3f20345dac4b9daab8c39ac2d3fb3f2c21e3 Mon Sep 17 00:00:00 2001
-From: Werner Koch <wk@gnupg.org>
-Date: Fri, 21 Sep 2018 14:37:21 +0200
-Subject: [PATCH Libgpg-error] syscfg: Add support for arc-unknown-linux-gnu
-
-* src/mkheader.c (canon_host_triplet): Add to table.
---
-
-Note that unknown in the above triplet is actually a wildcard for 4
-part triplets.
-
-Signed-off-by: Werner Koch <wk@gnupg.org>
-
-Upstream-Status: Backport [http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commit;h=f4f0da74f526d7e35cedbc2e93454df6440dbfa5]
----
- src/mkheader.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/mkheader.c b/src/mkheader.c
-index 7a38a1bec1a4..a4866e96ef43 100644
---- a/src/mkheader.c
-+++ b/src/mkheader.c
-@@ -92,7 +92,8 @@ canon_host_triplet (const char *triplet, int no_vendor_hack)
- {"i486-pc-linux-gnu", "i686-unknown-linux-gnu" },
- {"i586-pc-linux-gnu" },
- {"i686-pc-linux-gnu" },
-- {"arc-oe-linux-uclibc" }, /* Other CPU but same struct. */
-+ {"arc-oe-linux-gnu" }, /* Other CPU but same struct. */
-+ {"arc-oe-linux-uclibc" }, /* and uclibc is also the same. */
-
- {"i486-pc-gnu", "i686-unknown-gnu"},
- {"i586-pc-gnu"},
---
-2.17.1
-
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch
index 3066613d4..ca5f6b5c2 100644
--- a/poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch
+++ b/poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch
@@ -8,53 +8,21 @@ Upstream-Status: Pending
Rebase to 1.28
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Refactored for 1.33
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
---
configure.ac | 1 +
- src/Makefile.am | 4 ++-
src/gpg-error.m4 | 71 +++--------------------------------------------------
- src/gpg-error.pc.in | 11 +++++++++
4 files changed, 18 insertions(+), 69 deletions(-)
create mode 100644 src/gpg-error.pc.in
-diff --git a/configure.ac b/configure.ac
-index aca9300..f7794e9 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -621,6 +621,7 @@ AC_CONFIG_FILES([src/Makefile tests/Makefile])
- AC_CONFIG_FILES([lang/Makefile lang/cl/Makefile lang/cl/gpg-error.asd])
- AC_CONFIG_FILES([src/versioninfo.rc src/gpg-error.w32-manifest])
- AC_CONFIG_FILES([src/gpg-error-config], [chmod +x src/gpg-error-config])
-+AC_CONFIG_FILES([src/gpg-error.pc])
-
- AC_OUTPUT
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 268c2ab..95f8459 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -87,6 +87,8 @@ bin_SCRIPTS = gpg-error-config
- nodist_bin_SCRIPTS = gpgrt-config
- m4datadir = $(datadir)/aclocal
- m4data_DATA = gpg-error.m4 gpgrt.m4
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = gpg-error.pc
-
- EXTRA_DIST = mkstrtable.awk err-sources.h.in err-codes.h.in \
- mkerrnos.awk errnos.in README \
-@@ -94,7 +96,7 @@ EXTRA_DIST = mkstrtable.awk err-sources.h.in err-codes.h.in \
- mkheader.c gpg-error.h.in mkw32errmap.c w32-add.h w32ce-add.h \
- err-sources.h err-codes.h gpg-error-config.in gpg-error.m4 gpgrt.m4 \
- gpg-error.vers gpg-error.def.in \
-- versioninfo.rc.in gpg-error.w32-manifest.in \
-+ versioninfo.rc.in gpg-error.w32-manifest.in gpg-error.pc \
- $(lock_obj_pub)
-
- BUILT_SOURCES = err-sources.h err-codes.h code-to-errno.h code-from-errno.h \
-diff --git a/src/gpg-error.m4 b/src/gpg-error.m4
-index 60c88d8..2ef7e3e 100644
---- a/src/gpg-error.m4
-+++ b/src/gpg-error.m4
-@@ -26,73 +26,13 @@ dnl is added to the gpg_config_script_warn variable.
+Index: libgpg-error-1.33/src/gpg-error.m4
+===================================================================
+--- libgpg-error-1.33.orig/src/gpg-error.m4
++++ libgpg-error-1.33/src/gpg-error.m4
+@@ -26,139 +26,13 @@ dnl is added to the gpg_config_script_wa
dnl
AC_DEFUN([AM_PATH_GPG_ERROR],
[ AC_REQUIRE([AC_CANONICAL_HOST])
@@ -66,14 +34,15 @@ index 60c88d8..2ef7e3e 100644
- AC_HELP_STRING([--with-libgpg-error-prefix=PFX],
- [prefix where GPG Error is installed (optional)]),
- [gpg_error_config_prefix="$withval"])
--
++ min_gpg_error_version=ifelse([$1], ,0.0,$1)
++ PKG_CHECK_MODULES(GPG_ERROR, [gpg-error >= $min_gpg_error_version], [ok=yes], [ok=no])
+
- dnl Accept --with-gpg-error-prefix and make it work the same as
- dnl --with-libgpg-error-prefix above, for backwards compatibility,
- dnl but do not document this old, inconsistently-named option.
- AC_ARG_WITH(gpg-error-prefix,,
- [gpg_error_config_prefix="$withval"])
-+ min_gpg_error_version=ifelse([$1], ,0.0,$1)
-
+-
- if test x"${GPG_ERROR_CONFIG}" = x ; then
- if test x"${gpg_error_config_prefix}" != x ; then
- GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config"
@@ -92,19 +61,57 @@ index 60c88d8..2ef7e3e 100644
- esac
- fi
- fi
-+ PKG_CHECK_MODULES(GPG_ERROR, [gpg-error >= $min_gpg_error_version], [ok=yes], [ok=no])
-
+-
- AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no)
-- min_gpg_error_version=ifelse([$1], ,0.0,$1)
-- AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
+- min_gpg_error_version=ifelse([$1], ,1.33,$1)
- ok=no
-- if test "$GPG_ERROR_CONFIG" != "no" \
-- && test -f "$GPG_ERROR_CONFIG" ; then
+-
+- if test "$prefix" = NONE ; then
+- prefix_option_expanded=/usr/local
+- else
+- prefix_option_expanded="$prefix"
+- fi
+- if test "$exec_prefix" = NONE ; then
+- exec_prefix_option_expanded=$prefix_option_expanded
+- else
+- exec_prefix_option_expanded=$(prefix=$prefix_option_expanded eval echo $exec_prefix)
+- fi
+- libdir_option_expanded=$(prefix=$prefix_option_expanded exec_prefix=$exec_prefix_option_expanded eval echo $libdir)
+-
+- if test -f $libdir_option_expanded/pkgconfig/gpg-error.pc; then
+- gpgrt_libdir=$libdir_option_expanded
+- else
+- if crt1_path=$(${CC:-cc} -print-file-name=crt1.o 2>/dev/null); then
+- if possible_libdir=$(cd ${crt1_path%/*} && pwd 2>/dev/null); then
+- if test -f $possible_libdir/pkgconfig/gpg-error.pc; then
+- gpgrt_libdir=$possible_libdir
+- fi
+- fi
+- fi
+- fi
+-
+- if test "$GPG_ERROR_CONFIG" = "no" -a -n "$gpgrt_libdir"; then
+- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no)
+- if test "$GPGRT_CONFIG" = "no"; then
+- unset GPGRT_CONFIG
+- else
+- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir"
+- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then
+- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error"
+- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config])
+- gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion`
+- else
+- unset GPGRT_CONFIG
+- fi
+- fi
+- else
+- gpg_error_config_version=`$GPG_ERROR_CONFIG --version`
+- fi
+- if test "$GPG_ERROR_CONFIG" != "no"; then
- req_major=`echo $min_gpg_error_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
- req_minor=`echo $min_gpg_error_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
-- gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version`
- major=`echo $gpg_error_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
- minor=`echo $gpg_error_config_version | \
@@ -118,20 +125,47 @@ index 60c88d8..2ef7e3e 100644
- fi
- fi
- fi
+- if test -z "$GPGRT_CONFIG" -a -n "$gpgrt_libdir"; then
+- if test "$major" -gt 1 -o "$major" -eq 1 -a "$minor" -ge 33; then
+- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no)
+- if test "$GPGRT_CONFIG" = "no"; then
+- unset GPGRT_CONFIG
+- else
+- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir"
+- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then
+- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error"
+- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config])
+- else
+- unset GPGRT_CONFIG
+- fi
+- fi
+- fi
+- fi
- fi
+- AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
if test $ok = yes; then
-- GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags`
-- GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs`
-- GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --cflags 2>/dev/null`
-- GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --libs 2>/dev/null`
+- GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags`
+- GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs`
+- if test -z "$GPGRT_CONFIG"; then
+- GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null`
+- GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null`
+- else
+- GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null`
+- GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS"
+- GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null`
+- GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS"
+- fi
- AC_MSG_RESULT([yes ($gpg_error_config_version)])
ifelse([$2], , :, [$2])
-- gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none`
-+ gpg_error_config_host=`$PKG_CONFIG --variable=host gpg-error`
+ if test -z "$GPGRT_CONFIG"; then
+- gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none`
+- else
+- gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none`
++ gpg_error_config_host=`$PKG_CONFIG --variable=host gpg-error`
+ fi
if test x"$gpg_error_config_host" != xnone ; then
if test x"$gpg_error_config_host" != x"$host" ; then
- AC_MSG_WARN([[
-@@ -107,11 +47,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
+@@ -174,15 +48,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
fi
fi
else
@@ -142,24 +176,8 @@ index 60c88d8..2ef7e3e 100644
- AC_MSG_RESULT(no)
ifelse([$3], , :, [$3])
fi
- AC_SUBST(GPG_ERROR_CFLAGS)
-diff --git a/src/gpg-error.pc.in b/src/gpg-error.pc.in
-new file mode 100644
-index 0000000..bc0b174
---- /dev/null
-+++ b/src/gpg-error.pc.in
-@@ -0,0 +1,11 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+host=@GPG_ERROR_CONFIG_HOST@
-+
-+Name: gpg-error
-+Description: a library that defines common error values for all GnuPG components
-+Version: @VERSION@
-+Libs: -L${libdir} -lgpg-error
-+Cflags: -I${includedir}
---
-1.8.3.1
-
+- AC_SUBST(GPG_ERROR_CFLAGS)
+- AC_SUBST(GPG_ERROR_LIBS)
+- AC_SUBST(GPG_ERROR_MT_CFLAGS)
+- AC_SUBST(GPG_ERROR_MT_LIBS)
+ ])
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb
deleted file mode 100644
index e552001cb..000000000
--- a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "Small library that defines common error values for all GnuPG components"
-HOMEPAGE = "http://www.gnupg.org/related_software/libgpg-error/"
-BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://src/gpg-error.h.in;beginline=2;endline=18;md5=524d4e810c4dcdc38e4fa28e70a13bf8 \
- file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7"
-
-
-SECTION = "libs"
-
-UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
-SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \
- file://pkgconfig.patch \
- file://0001-syscfg-Support-ARC-CPUs-and-simplify-aliasing-table.patch \
- file://0002-syscfg-Add-support-for-arc-unknown-linux-gnu.patch \
- "
-SRC_URI[md5sum] = "ef3d928a5a453fa701ecc3bb22be1c64"
-SRC_URI[sha256sum] = "c345c5e73cc2332f8d50db84a2280abfb1d8f6d4f1858b9daa30404db44540ca"
-
-BINCONFIG = "${bindir}/gpg-error-config"
-
-inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script
-
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config"
-
-CPPFLAGS += "-P"
-do_compile_prepend() {
- TARGET_FILE=linux-gnu
- if [ ${TARGET_OS} = "mingw32" ]; then
- # There are no arch specific syscfg files for mingw32
- TARGET_FILE=
- elif [ ${TARGET_ARCH} = "arc" ]; then
- # ARC syscfg file is automatically aliased to i686-pc-linux-gnu
- TARGET_FILE=
- elif [ ${TARGET_OS} != "linux" ]; then
- TARGET_FILE=${TARGET_OS}
- fi
-
- case ${TARGET_ARCH} in
- aarch64_be) TUPLE=aarch64-unknown-linux-gnu ;;
- arm) TUPLE=arm-unknown-linux-gnueabi ;;
- armeb) TUPLE=arm-unknown-linux-gnueabi ;;
- i586|i686) TUPLE=i686-unknown-linux-gnu;;
- mips64*) TUPLE=mips64el-unknown-linux-gnuabi64 ;;
- mips*el) TUPLE=mipsel-unknown-linux-gnu ;;
- mips*) TUPLE=mips-unknown-linux-gnu ;;
- x86_64) TUPLE=x86_64-unknown-linux-gnu ;;
- ppc64) TUPLE=powerpc64-unknown-linux-gnu ;;
- ppc64le) TUPLE=powerpc64le-unknown-linux-gnu ;;
- *) TUPLE=${TARGET_ARCH}-unknown-linux-gnu ;;
- esac
-
- if [ -n "$TARGET_FILE" ]; then
- cp ${S}/src/syscfg/lock-obj-pub.$TUPLE.h \
- ${S}/src/syscfg/lock-obj-pub.$TARGET_FILE.h
- fi
-}
-
-do_install_append() {
- # we don't have common lisp in OE
- rm -rf "${D}${datadir}/common-lisp/"
- oe_multilib_header gpg-error.h gpgrt.h
-}
-
-FILES_${PN}-dev += "${bindir}/gpg-error"
-FILES_${PN}-doc += "${datadir}/libgpg-error/errorref.txt"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb
new file mode 100644
index 000000000..57ac143fd
--- /dev/null
+++ b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Small library that defines common error values for all GnuPG components"
+HOMEPAGE = "http://www.gnupg.org/related_software/libgpg-error/"
+BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://src/gpg-error.h.in;beginline=2;endline=18;md5=cd91e3ad1265a0c268efad541a39345e \
+ file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7"
+
+
+SECTION = "libs"
+
+UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
+SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \
+ file://pkgconfig.patch \
+ "
+
+SRC_URI[md5sum] = "2808a9e044f883f7554c5ba6a380b711"
+SRC_URI[sha256sum] = "cbd5ee62a8a8c88d48c158fff4fc9ead4132aacd1b4a56eb791f9f997d07e067"
+
+BINCONFIG = "${bindir}/gpg-error-config"
+
+inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config"
+
+CPPFLAGS += "-P"
+do_compile_prepend() {
+ TARGET_FILE=linux-gnu
+ if [ ${TARGET_OS} = "mingw32" ]; then
+ # There are no arch specific syscfg files for mingw32
+ TARGET_FILE=
+ elif [ ${TARGET_ARCH} = "arc" ]; then
+ # ARC syscfg file is automatically aliased to i686-pc-linux-gnu
+ TARGET_FILE=
+ elif [ ${TARGET_OS} != "linux" ]; then
+ TARGET_FILE=${TARGET_OS}
+ fi
+
+ case ${TARGET_ARCH} in
+ aarch64_be) TUPLE=aarch64-unknown-linux-gnu ;;
+ arm) TUPLE=arm-unknown-linux-gnueabi ;;
+ armeb) TUPLE=arm-unknown-linux-gnueabi ;;
+ i586|i686) TUPLE=i686-unknown-linux-gnu;;
+ mips64*) TUPLE=mips64el-unknown-linux-gnuabi64 ;;
+ mips*el) TUPLE=mipsel-unknown-linux-gnu ;;
+ mips*) TUPLE=mips-unknown-linux-gnu ;;
+ x86_64) TUPLE=x86_64-unknown-linux-gnu ;;
+ ppc) TUPLE=powerpc-unknown-linux-gnu ;;
+ ppc64) TUPLE=powerpc64-unknown-linux-gnu ;;
+ ppc64le) TUPLE=powerpc64le-unknown-linux-gnu ;;
+ *) TUPLE=${TARGET_ARCH}-unknown-linux-gnu ;;
+ esac
+
+ if [ -n "$TARGET_FILE" ]; then
+ cp ${S}/src/syscfg/lock-obj-pub.$TUPLE.h \
+ ${S}/src/syscfg/lock-obj-pub.$TARGET_FILE.h
+ fi
+}
+
+do_install_append() {
+ # we don't have common lisp in OE
+ rm -rf "${D}${datadir}/common-lisp/"
+ oe_multilib_header gpg-error.h gpgrt.h
+}
+
+FILES_${PN}-dev += "${bindir}/gpg-error"
+FILES_${PN}-doc += "${datadir}/libgpg-error/errorref.txt"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libjitterentropy/files/0001-fix-do_install-failure-on-oe.patch b/poky/meta/recipes-support/libjitterentropy/files/0001-fix-do_install-failure-on-oe.patch
new file mode 100644
index 000000000..30ff4feb6
--- /dev/null
+++ b/poky/meta/recipes-support/libjitterentropy/files/0001-fix-do_install-failure-on-oe.patch
@@ -0,0 +1,33 @@
+From 00cefca0eefecec657969b50cd4e1ed5b057a857 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 25 Oct 2018 16:30:06 +0800
+Subject: [PATCH] fix do_install failure on oe
+
+- Do not strip at do_install
+
+- Create includedir
+
+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 5e31276..76fcbfa 100644
+--- a/Makefile
++++ b/Makefile
+@@ -51,7 +51,8 @@ install:
+ install -m 644 doc/$(NAME).3 $(DESTDIR)$(PREFIX)/share/man/man3/
+ gzip -9 $(DESTDIR)$(PREFIX)/share/man/man3/$(NAME).3
+ install -d -m 0755 $(DESTDIR)$(PREFIX)/$(LIBDIR)
+- install -m 0755 -s lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/
++ install -m 0755 lib$(NAME).so.$(LIBVERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/
++ install -d -m 0755 $(DESTDIR)$(PREFIX)/$(INCDIR)/
+ install -m 0644 jitterentropy.h $(DESTDIR)$(PREFIX)/$(INCDIR)/
+ install -m 0644 jitterentropy-base-user.h $(DESTDIR)$(PREFIX)/$(INCDIR)/
+ $(RM) $(DESTDIR)$(PREFIX)/$(LIBDIR)/lib$(NAME).so.$(LIBMAJOR)
+--
+2.7.4
+
diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_2.1.2.bb b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_2.1.2.bb
new file mode 100644
index 000000000..3b5b4e4aa
--- /dev/null
+++ b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_2.1.2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Hardware RNG based on CPU timing jitter"
+DESCRIPTION = "The Jitter RNG provides a noise source using the CPU execution timing jitter. \
+It does not depend on any system resource other than a high-resolution time \
+stamp. It is a small-scale, yet fast entropy source that is viable in almost \
+all environments and on a lot of CPU architectures."
+HOMEPAGE = "http://www.chronox.de/jent.html"
+LICENSE = "GPLv2+ | BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e52365752b36cfcd7f9601d80de7d8c6 \
+ file://COPYING.gplv2;md5=eb723b61539feef013de476e68b5c50a \
+ file://COPYING.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \
+ "
+SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git \
+ file://0001-fix-do_install-failure-on-oe.patch \
+ "
+SRCREV = "f5a80c6f3fcc6deebd0eabf75324f48aed1afbce"
+S = "${WORKDIR}/git"
+
+do_configure[noexec] = "1"
+
+LDFLAGS += "-Wl,-O0"
+
+do_install () {
+ oe_runmake install INCDIR="/include" \
+ DESTDIR="${D}" \
+ PREFIX="${exec_prefix}" \
+ LIBDIR="${baselib}"
+}
+
diff --git a/poky/meta/recipes-support/libpcre/libpcre/out-of-tree.patch b/poky/meta/recipes-support/libpcre/libpcre/out-of-tree.patch
new file mode 100644
index 000000000..d56789615
--- /dev/null
+++ b/poky/meta/recipes-support/libpcre/libpcre/out-of-tree.patch
@@ -0,0 +1,26 @@
+In out-of-tree builds the #include fails because $srcdir isn't in the include path. Set CPPFLAGS so that it is.
+
+Upstream-Status: Backport [r1750]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+Index: configure.ac
+===================================================================
+--- a/configure.ac (revision 1749)
++++ b/configure.ac (working copy)
+@@ -159,6 +159,8 @@
+
+ if test "$enable_jit" = "auto"; then
+ AC_LANG(C)
++ SAVE_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS=-I$srcdir
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ #define SLJIT_CONFIG_AUTO 1
+ #include "sljit/sljitConfigInternal.h"
+@@ -165,6 +167,7 @@
+ #if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED)
+ #error unsupported
+ #endif]])], enable_jit=yes, enable_jit=no)
++ CPPFLAGS=$SAVE_CPPFLAGS
+ fi
+
+ # Handle --disable-pcregrep-jit (enabled by default)
diff --git a/poky/meta/recipes-support/libpcre/libpcre/pcre-cross.patch b/poky/meta/recipes-support/libpcre/libpcre/pcre-cross.patch
deleted file mode 100644
index 83880f709..000000000
--- a/poky/meta/recipes-support/libpcre/libpcre/pcre-cross.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Upstream-Status: Pending
-
---- pcre-8.32.orig/Makefile.am
-+++ pcre-8.32/Makefile.am
-@@ -197,8 +197,18 @@ bin_SCRIPTS = pcre-config
-
-+CC_FOR_BUILD = @CC_FOR_BUILD@
-+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
-+CCLD_FOR_BUILD = @CCLD_FOR_BUILD@
-+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
-+
- if WITH_REBUILD_CHARTABLES
-
- noinst_PROGRAMS += dftables
- dftables_SOURCES = dftables.c
-+dftables_LINK = $(CCLD_FOR_BUILD) -o $@
-+dftables_LDFLAGS = $(LDFLAGS_FOR_BUILD)
-+
-+dftables.o: $(srcdir)/dftables.c
-+ $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $(srcdir)/dftables.c
-
- pcre_chartables.c: dftables$(EXEEXT)
- ./dftables$(EXEEXT) $@
---- pcre-8.32.orig/configure.ac
-+++ pcre-8.32/configure.ac
-@@ -72,6 +72,22 @@ then
- fi
- fi
-
-+if test x"$cross_compiling" = xyes; then
-+ CC_FOR_BUILD="${CC_FOR_BUILD-gcc}"
-+ CCLD_FOR_BUILD="${CCLD_FOR_BUILD-gcc}"
-+ CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD}"
-+ LDFLAGS_FOR_BUILD="${LDFLAGS_FOR_BUILD}"
-+else
-+ CC_FOR_BUILD="${CC_FOR_BUILD-\$(CC)}"
-+ CCLD_FOR_BUILD="${CCLD_FOR_BUILD-\$(CCLD)}"
-+ CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD-\$(CFLAGS)}"
-+ LDFLAGS_FOR_BUILD="${LDFLAGS_FOR_BUILD-\$(LDFLAGS)}"
-+fi
-+AC_ARG_VAR(CC_FOR_BUILD, [build system C compiler])
-+AC_ARG_VAR(CCLD_FOR_BUILD, [build system C linker frontend])
-+AC_ARG_VAR(CFLAGS_FOR_BUILD, [build system C compiler arguments])
-+AC_ARG_VAR(LDFLAGS_FOR_BUILD, [build system C linker frontend arguments])
-+
- # AC_PROG_CXX will return "g++" even if no c++ compiler is installed.
- # Check for that case, and just disable c++ code if g++ doesn't run.
- AC_LANG_PUSH(C++)
diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.31.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.31.bb
deleted file mode 100644
index a10c312e9..000000000
--- a/poky/meta/recipes-support/libpcre/libpcre2_10.31.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-DESCRIPTION = "There are two major versions of the PCRE library. The \
-newest version is PCRE2, which is a re-working of the original PCRE \
-library to provide an entirely new API. The original, very widely \
-deployed PCRE library's API and feature are stable, future releases \
- will be for bugfixes only. All new future features will be to PCRE2, \
-not the original PCRE 8.x series."
-SUMMARY = "Perl Compatible Regular Expressions version 2"
-HOMEPAGE = "http://www.pcre.org"
-SECTION = "devel"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=f5e4bde9fd0493d0967b4dba9899590f"
-
-SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \
- file://pcre-cross.patch \
-"
-
-SRC_URI[md5sum] = "e0b91c891a3c49050f7fd15de33d0ba4"
-SRC_URI[sha256sum] = "e07d538704aa65e477b6a392b32ff9fc5edf75ab9a40ddfc876186c4ff4d68ac"
-
-CVE_PRODUCT = "pcre2"
-
-S = "${WORKDIR}/pcre2-${PV}"
-
-PROVIDES += "pcre2"
-DEPENDS += "bzip2 zlib"
-
-BINCONFIG = "${bindir}/pcre2-config"
-
-inherit autotools binconfig-disabled
-
-EXTRA_OECONF = "\
- --enable-newline-is-lf \
- --enable-rebuild-chartables \
- --with-link-size=2 \
- --with-match-limit=10000000 \
- --enable-pcre2-16 \
- --enable-pcre2-32 \
-"
-# Set LINK_SIZE in BUILD_CFLAGS given that the autotools bbclass use it to
-# set CFLAGS_FOR_BUILD, required for the libpcre build.
-BUILD_CFLAGS =+ "-DLINK_SIZE=2 -I${B}/src"
-CFLAGS += "-D_REENTRANT"
-CXXFLAGS_append_powerpc = " -lstdc++"
-
-export CCLD_FOR_BUILD ="${BUILD_CCLD}"
-
-PACKAGES =+ "libpcre2-16 libpcre2-32 pcre2grep pcre2grep-doc pcre2test pcre2test-doc"
-
-SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes"
-SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs"
-SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions"
-SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs"
-
-FILES_libpcre2-16 = "${libdir}/libpcre2-16.so.*"
-FILES_libpcre2-32 = "${libdir}/libpcre2-32.so.*"
-FILES_pcre2grep = "${bindir}/pcre2grep"
-FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1"
-FILES_pcre2test = "${bindir}/pcre2test"
-FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb
new file mode 100644
index 000000000..3a0aa5302
--- /dev/null
+++ b/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "There are two major versions of the PCRE library. The \
+newest version is PCRE2, which is a re-working of the original PCRE \
+library to provide an entirely new API. The original, very widely \
+deployed PCRE library's API and feature are stable, future releases \
+ will be for bugfixes only. All new future features will be to PCRE2, \
+not the original PCRE 8.x series."
+SUMMARY = "Perl Compatible Regular Expressions version 2"
+HOMEPAGE = "http://www.pcre.org"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=cf66d307bf03bae65d413eb7a8e603a0"
+
+SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \
+ file://pcre-cross.patch \
+"
+
+SRC_URI[md5sum] = "8a096287153fb994970df3570e90fcb5"
+SRC_URI[sha256sum] = "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e"
+
+CVE_PRODUCT = "pcre2"
+
+S = "${WORKDIR}/pcre2-${PV}"
+
+PROVIDES += "pcre2"
+DEPENDS += "bzip2 zlib"
+
+BINCONFIG = "${bindir}/pcre2-config"
+
+inherit autotools binconfig-disabled
+
+EXTRA_OECONF = "\
+ --enable-newline-is-lf \
+ --enable-rebuild-chartables \
+ --with-link-size=2 \
+ --with-match-limit=10000000 \
+ --enable-pcre2-16 \
+ --enable-pcre2-32 \
+"
+# Set LINK_SIZE in BUILD_CFLAGS given that the autotools bbclass use it to
+# set CFLAGS_FOR_BUILD, required for the libpcre build.
+BUILD_CFLAGS =+ "-DLINK_SIZE=2 -I${B}/src"
+CFLAGS += "-D_REENTRANT"
+CXXFLAGS_append_powerpc = " -lstdc++"
+
+export CCLD_FOR_BUILD ="${BUILD_CCLD}"
+
+PACKAGES =+ "libpcre2-16 libpcre2-32 pcre2grep pcre2grep-doc pcre2test pcre2test-doc"
+
+SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes"
+SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs"
+SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions"
+SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs"
+
+FILES_libpcre2-16 = "${libdir}/libpcre2-16.so.*"
+FILES_libpcre2-32 = "${libdir}/libpcre2-32.so.*"
+FILES_pcre2grep = "${bindir}/pcre2grep"
+FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1"
+FILES_pcre2test = "${bindir}/pcre2test"
+FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libpcre/libpcre_8.42.bb b/poky/meta/recipes-support/libpcre/libpcre_8.42.bb
deleted file mode 100644
index 3a488c00b..000000000
--- a/poky/meta/recipes-support/libpcre/libpcre_8.42.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-DESCRIPTION = "The PCRE library is a set of functions that implement regular \
-expression pattern matching using the same syntax and semantics as Perl 5. PCRE \
-has its own native API, as well as a set of wrapper functions that correspond \
-to the POSIX regular expression API."
-SUMMARY = "Perl Compatible Regular Expressions"
-HOMEPAGE = "http://www.pcre.org"
-SECTION = "devel"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=fc5026403b44c868c25fc9546f7feb05"
-SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \
- file://pcre-cross.patch \
- file://fix-pcre-name-collision.patch \
- file://run-ptest \
- file://Makefile \
-"
-
-SRC_URI[md5sum] = "085b6aa253e0f91cae70b3cdbe8c1ac2"
-SRC_URI[sha256sum] = "2cd04b7c887808be030254e8d77de11d3fe9d4505c39d4b15d2664ffe8bf9301"
-
-CVE_PRODUCT = "pcre"
-
-S = "${WORKDIR}/pcre-${PV}"
-
-PROVIDES += "pcre"
-DEPENDS += "bzip2 zlib"
-
-PACKAGECONFIG ??= "pcre8 unicode-properties"
-
-PACKAGECONFIG[pcre8] = "--enable-pcre8,--disable-pcre8"
-PACKAGECONFIG[pcre16] = "--enable-pcre16,--disable-pcre16"
-PACKAGECONFIG[pcre32] = "--enable-pcre32,--disable-pcre32"
-PACKAGECONFIG[pcretest-readline] = "--enable-pcretest-libreadline,--disable-pcretest-libreadline,readline,"
-PACKAGECONFIG[unicode-properties] = "--enable-unicode-properties,--disable-unicode-properties"
-
-BINCONFIG = "${bindir}/pcre-config"
-
-inherit autotools binconfig-disabled ptest
-
-EXTRA_OECONF = "\
- --enable-newline-is-lf \
- --enable-rebuild-chartables \
- --enable-utf \
- --with-link-size=2 \
- --with-match-limit=10000000 \
-"
-
-# Set LINK_SIZE in BUILD_CFLAGS given that the autotools bbclass use it to
-# set CFLAGS_FOR_BUILD, required for the libpcre build.
-BUILD_CFLAGS =+ "-DLINK_SIZE=2 -I${B}"
-CFLAGS += "-D_REENTRANT"
-CXXFLAGS_append_powerpc = " -lstdc++"
-
-export CCLD_FOR_BUILD ="${BUILD_CCLD}"
-
-PACKAGES =+ "libpcrecpp libpcreposix pcregrep pcregrep-doc pcretest pcretest-doc"
-
-SUMMARY_libpcrecpp = "${SUMMARY} - C++ wrapper functions"
-SUMMARY_libpcreposix = "${SUMMARY} - C wrapper functions based on the POSIX regex API"
-SUMMARY_pcregrep = "grep utility that uses perl 5 compatible regexes"
-SUMMARY_pcregrep-doc = "grep utility that uses perl 5 compatible regexes - docs"
-SUMMARY_pcretest = "program for testing Perl-comatible regular expressions"
-SUMMARY_pcretest-doc = "program for testing Perl-comatible regular expressions - docs"
-
-FILES_libpcrecpp = "${libdir}/libpcrecpp.so.*"
-FILES_libpcreposix = "${libdir}/libpcreposix.so.*"
-FILES_pcregrep = "${bindir}/pcregrep"
-FILES_pcregrep-doc = "${mandir}/man1/pcregrep.1"
-FILES_pcretest = "${bindir}/pcretest"
-FILES_pcretest-doc = "${mandir}/man1/pcretest.1"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_install_ptest() {
- t=${D}${PTEST_PATH}
- cp ${WORKDIR}/Makefile $t
- cp -r ${S}/testdata $t
- for i in pcre_stringpiece_unittest pcregrep pcretest; \
- do cp ${B}/.libs/$i $t; \
- done
- for i in RunTest RunGrepTest test-driver; \
- do cp ${S}/$i $t; \
- done
- # Skip the fr_FR locale test. If the locale fr_FR is found, it is tested.
- # If not found, the test is skipped. The test program assumes fr_FR is non-UTF-8
- # locale so the test fails if fr_FR is UTF-8 locale.
- sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest
-}
diff --git a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb
new file mode 100644
index 000000000..08314efb9
--- /dev/null
+++ b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb
@@ -0,0 +1,74 @@
+DESCRIPTION = "The PCRE library is a set of functions that implement regular \
+expression pattern matching using the same syntax and semantics as Perl 5. PCRE \
+has its own native API, as well as a set of wrapper functions that correspond \
+to the POSIX regular expression API."
+SUMMARY = "Perl Compatible Regular Expressions"
+HOMEPAGE = "http://www.pcre.org"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=91bee59d1b327eb1599b4c673e2fb3d1"
+SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \
+ file://fix-pcre-name-collision.patch \
+ file://out-of-tree.patch \
+ file://run-ptest \
+ file://Makefile \
+"
+
+SRC_URI[md5sum] = "636222e79e392c3d95dcc545f24f98c4"
+SRC_URI[sha256sum] = "91e762520003013834ac1adb4a938d53b22a216341c061b0cf05603b290faf6b"
+
+CVE_PRODUCT = "pcre"
+
+S = "${WORKDIR}/pcre-${PV}"
+
+PROVIDES += "pcre"
+DEPENDS += "bzip2 zlib"
+
+PACKAGECONFIG ??= "pcre8 unicode-properties jit"
+
+PACKAGECONFIG[pcre8] = "--enable-pcre8,--disable-pcre8"
+PACKAGECONFIG[pcre16] = "--enable-pcre16,--disable-pcre16"
+PACKAGECONFIG[pcre32] = "--enable-pcre32,--disable-pcre32"
+PACKAGECONFIG[pcretest-readline] = "--enable-pcretest-libreadline,--disable-pcretest-libreadline,readline,"
+PACKAGECONFIG[unicode-properties] = "--enable-unicode-properties,--disable-unicode-properties"
+PACKAGECONFIG[jit] = "--enable-jit=auto,--disable-jit"
+
+BINCONFIG = "${bindir}/pcre-config"
+
+inherit autotools binconfig-disabled ptest
+
+EXTRA_OECONF = "--enable-utf"
+
+PACKAGES =+ "libpcrecpp libpcreposix pcregrep pcregrep-doc pcretest pcretest-doc"
+
+SUMMARY_libpcrecpp = "${SUMMARY} - C++ wrapper functions"
+SUMMARY_libpcreposix = "${SUMMARY} - C wrapper functions based on the POSIX regex API"
+SUMMARY_pcregrep = "grep utility that uses perl 5 compatible regexes"
+SUMMARY_pcregrep-doc = "grep utility that uses perl 5 compatible regexes - docs"
+SUMMARY_pcretest = "program for testing Perl-comatible regular expressions"
+SUMMARY_pcretest-doc = "program for testing Perl-comatible regular expressions - docs"
+
+FILES_libpcrecpp = "${libdir}/libpcrecpp.so.*"
+FILES_libpcreposix = "${libdir}/libpcreposix.so.*"
+FILES_pcregrep = "${bindir}/pcregrep"
+FILES_pcregrep-doc = "${mandir}/man1/pcregrep.1"
+FILES_pcretest = "${bindir}/pcretest"
+FILES_pcretest-doc = "${mandir}/man1/pcretest.1"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install_ptest() {
+ t=${D}${PTEST_PATH}
+ cp ${WORKDIR}/Makefile $t
+ cp -r ${S}/testdata $t
+ for i in pcre_stringpiece_unittest pcregrep pcretest; \
+ do cp ${B}/.libs/$i $t; \
+ done
+ for i in RunTest RunGrepTest test-driver; \
+ do cp ${S}/$i $t; \
+ done
+ # Skip the fr_FR locale test. If the locale fr_FR is found, it is tested.
+ # If not found, the test is skipped. The test program assumes fr_FR is non-UTF-8
+ # locale so the test fails if fr_FR is UTF-8 locale.
+ sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest
+}
diff --git a/poky/meta/recipes-support/libproxy/libproxy/0001-get-pac-test-Fix-build-with-clang-libc.patch b/poky/meta/recipes-support/libproxy/libproxy/0001-get-pac-test-Fix-build-with-clang-libc.patch
new file mode 100644
index 000000000..fedda9dd9
--- /dev/null
+++ b/poky/meta/recipes-support/libproxy/libproxy/0001-get-pac-test-Fix-build-with-clang-libc.patch
@@ -0,0 +1,31 @@
+From 2d73469c7a17ebfe4330ac6643b0c8abdc125d05 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Jan 2019 09:29:44 -0800
+Subject: [PATCH] get-pac-test: Fix build with clang/libc++
+
+get-pac-test.cpp:55:10: error: assigning to 'int' from incompatible type '__bind<int &, sockaddr *, unsigned int>'
+ ret = bind(m_sock, (sockaddr*)&addr, sizeof (struct sockaddr_in)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/libproxy/libproxy/pull/97]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libproxy/test/get-pac-test.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libproxy/test/get-pac-test.cpp b/libproxy/test/get-pac-test.cpp
+index 0059dfb..911f296 100644
+--- a/libproxy/test/get-pac-test.cpp
++++ b/libproxy/test/get-pac-test.cpp
+@@ -52,7 +52,7 @@ class TestServer {
+
+ setsockopt(m_sock, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i));
+
+- ret = bind(m_sock, (sockaddr*)&addr, sizeof (struct sockaddr_in));
++ ret = ::bind(m_sock, (sockaddr*)&addr, sizeof (struct sockaddr_in));
+ assert(!ret);
+
+ ret = listen(m_sock, 1);
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb b/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb
index dd7ad922d..19dddebd4 100644
--- a/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb
+++ b/poky/meta/recipes-support/libproxy/libproxy_0.4.15.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
DEPENDS = "glib-2.0"
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://0001-get-pac-test-Fix-build-with-clang-libc.patch \
+ "
SRC_URI[md5sum] = "f6b1d2a1e17a99cd3debaae6d04ab152"
SRC_URI[sha256sum] = "654db464120c9534654590b6683c7fa3887b3dad0ca1c4cd412af24fbfca6d4f"
diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb b/poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb
new file mode 100644
index 000000000..5cb20d46b
--- /dev/null
+++ b/poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Public Suffix List library"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \
+ file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18"
+
+SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz"
+SRC_URI[md5sum] = "f604f7d30d64bc673870ecf84b860a1e"
+SRC_URI[sha256sum] = "f8fd0aeb66252dfcc638f14d9be1e2362fdaf2ca86bde0444ff4d5cc961b560f"
+
+UPSTREAM_CHECK_URI = "https://github.com/rockdaboot/libpsl/releases"
+
+DEPENDS = "libidn2"
+
+inherit autotools gettext gtk-doc manpages pkgconfig lib_package
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[manpages] = "--enable-man,--disable-man,libxslt-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch b/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch
new file mode 100644
index 000000000..72b029a80
--- /dev/null
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch
@@ -0,0 +1,24 @@
+From 921888affe66953c92a08ae440e911b016b124be Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 15 Feb 2019 14:21:06 +0100
+Subject: [PATCH] Do not enforce no-introspection when cross-building
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 5a92cda..cfb3520 100644
+--- a/meson.build
++++ b/meson.build
+@@ -262,7 +262,7 @@ enable_gnome = get_option('gnome') and host_machine.system() != 'windows'
+ #########################
+ # GObject introspection #
+ #########################
+-enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() and not meson.is_cross_build()
++enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found()
+
+ ############
+ # Vala API #
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.62.3.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.62.3.bb
deleted file mode 100644
index aaa3cc510..000000000
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.62.3.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "An HTTP library implementation in C"
-HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "x11/gnome/libs"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native"
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz"
-SRC_URI[md5sum] = "dfbf30af5fb6190bfafc5aa6abcc9dce"
-SRC_URI[sha256sum] = "d312ade547495c2093ff8bda61f9b9727a98cfdae339f3263277dd39c0451172"
-
-S = "${WORKDIR}/libsoup-${PV}"
-
-inherit autotools gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc
-
-# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default.
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome"
-PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5"
-
-EXTRA_OECONF = "--disable-vala"
-
-# When built without gnome support, libsoup-2.4 will contain only one shared lib
-# and will therefore become subject to renaming by debian.bbclass. Prevent
-# renaming in order to keep the package name consistent regardless of whether
-# gnome support is enabled or disabled.
-DEBIAN_NOAUTONAME_${PN} = "1"
-
-# glib-networking is needed for SSL, proxies, etc.
-RRECOMMENDS_${PN} = "glib-networking"
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb
new file mode 100644
index 000000000..ae7c1a686
--- /dev/null
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb
@@ -0,0 +1,51 @@
+SUMMARY = "An HTTP library implementation in C"
+HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome/libs"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 intltool-native libpsl"
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \
+ file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \
+ "
+SRC_URI[md5sum] = "cac755dc6c6acd6e0c70007f547548f5"
+SRC_URI[sha256sum] = "75ddc194a5b1d6f25033bb9d355f04bfe5c03e0e1c71ed0774104457b3a786c6"
+
+S = "${WORKDIR}/libsoup-${PV}"
+
+inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc
+
+# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default.
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false"
+PACKAGECONFIG[gssapi] = "-Dgssapi=true,-Dgssapi=false,krb5"
+
+EXTRA_OEMESON_append = " -Dvapi=false"
+
+GTKDOC_ENABLE_FLAG = "-Ddoc=true"
+GTKDOC_DISABLE_FLAG = "-Ddoc=false"
+
+GI_ENABLE_FLAG = "-Dintrospection=true"
+GI_DISABLE_FLAG = "-Dintrospection=false"
+
+EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
+ '${GI_DISABLE_FLAG}', d)} "
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
+
+
+# When built without gnome support, libsoup-2.4 will contain only one shared lib
+# and will therefore become subject to renaming by debian.bbclass. Prevent
+# renaming in order to keep the package name consistent regardless of whether
+# gnome support is enabled or disabled.
+DEBIAN_NOAUTONAME_${PN} = "1"
+
+# glib-networking is needed for SSL, proxies, etc.
+RRECOMMENDS_${PN} = "glib-networking"
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
new file mode 100644
index 000000000..437b87836
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
@@ -0,0 +1,62 @@
+From 599f10ac3a24e419a93f97fddbe14de01b1185ea Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 13 May 2014 23:32:27 +0200
+Subject: [PATCH 1/6] Add AO_REQUIRE_CAS to fix build on ARM < v6
+
+ARM earlier than ARMv6, such as ARMv4 and ARMv5 do not provide
+optimize atomic operations in libatomic_ops. Since libunwind is using
+such operations, it should define AO_REQUIRE_CAS before including
+<atomic_ops.h> so that libatomic_ops knows it should use emulated
+atomic operations instead (even though they are obviously a lot more
+expensive).
+
+Also, while real atomic operations are all inline functions and
+therefore linking against libatomic_ops was not required, the emulated
+atomic operations actually require linking against libatomic_ops, so
+the commented AC_CHECK_LIB test in acinclude.m4 is uncommented to make
+sure we link against libatomic_ops.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Upstream-Status: Pending
+Taken from:
+https://raw.githubusercontent.com/rdnetto/teapot-buildroot/master/package/libunwind/libunwind-02-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
+
+---
+ acinclude.m4 | 8 +-------
+ include/libunwind_i.h | 1 +
+ 2 files changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 497f7c2..9c15af1 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -22,11 +22,5 @@ fi])
+ AC_DEFUN([CHECK_ATOMIC_OPS],
+ [dnl Check whether the system has the atomic_ops package installed.
+ AC_CHECK_HEADERS(atomic_ops.h)
+-#
+-# Don't link against libatomic_ops for now. We don't want libunwind
+-# to depend on libatomic_ops.so. Fortunately, none of the platforms
+-# we care about so far need libatomic_ops.a (everything is done via
+-# inline macros).
+-#
+-# AC_CHECK_LIB(atomic_ops, main)
++ AC_CHECK_LIB(atomic_ops, main)
+ ])
+diff --git a/include/libunwind_i.h b/include/libunwind_i.h
+index 36cf7a1..33b4ca3 100644
+--- a/include/libunwind_i.h
++++ b/include/libunwind_i.h
+@@ -124,6 +124,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+ (pthread_mutex_unlock != NULL ? pthread_mutex_unlock (l) : 0)
+
+ #ifdef HAVE_ATOMIC_OPS_H
++# define AO_REQUIRE_CAS
+ # include <atomic_ops.h>
+ static inline int
+ cmpxchg_ptr (void *addr, void *old, void *new)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-build-on-mips-musl.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-build-on-mips-musl.patch
deleted file mode 100644
index 8bcc252ba..000000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0001-Fix-build-on-mips-musl.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From e623c7703945a5eb6c9a30586ec5e23b2f7396f6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 23 Mar 2016 06:08:59 +0000
-Subject: [PATCH] Fix build on mips/musl
-
-Do not include endian.h on musl it includes
-further headers which can not be compiled in __ASSEMBLER__
- mode
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/coredump/_UCD_internal.h | 34 ++++++++++++++++++++++++++++++++++
- src/mips/getcontext.S | 3 +--
- 2 files changed, 35 insertions(+), 2 deletions(-)
-
-Index: git/src/coredump/_UCD_internal.h
-===================================================================
---- git.orig/src/coredump/_UCD_internal.h
-+++ git/src/coredump/_UCD_internal.h
-@@ -44,6 +44,41 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE
-
- #include "libunwind_i.h"
-
-+#ifndef __GLIBC__
-+#include <sys/reg.h>
-+
-+#define EF_REG0 6
-+#define EF_REG1 7
-+#define EF_REG2 8
-+#define EF_REG3 9
-+#define EF_REG4 10
-+#define EF_REG5 11
-+#define EF_REG6 12
-+#define EF_REG7 13
-+#define EF_REG8 14
-+#define EF_REG9 15
-+#define EF_REG10 16
-+#define EF_REG11 17
-+#define EF_REG12 18
-+#define EF_REG13 19
-+#define EF_REG14 20
-+#define EF_REG15 21
-+#define EF_REG16 22
-+#define EF_REG17 23
-+#define EF_REG18 24
-+#define EF_REG19 25
-+#define EF_REG20 26
-+#define EF_REG21 27
-+#define EF_REG22 28
-+#define EF_REG23 29
-+#define EF_REG24 30
-+#define EF_REG25 31
-+#define EF_REG28 34
-+#define EF_REG29 35
-+#define EF_REG30 36
-+#define EF_REG31 37
-+#endif
-+
-
- #if SIZEOF_OFF_T == 4
- typedef uint32_t uoff_t;
-Index: git/src/mips/getcontext.S
-===================================================================
---- git.orig/src/mips/getcontext.S
-+++ git/src/mips/getcontext.S
-@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-
- #include "offsets.h"
--#include <endian.h>
-
- .text
-
- #if _MIPS_SIM == _ABIO32
--# if __BYTE_ORDER == __BIG_ENDIAN
-+# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
- # define OFFSET 4
- # else
- # define OFFSET 0
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch
deleted file mode 100644
index 673a5bb99..000000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 459e471fcc33d300f7bbcdaf3e0dc338d9dc15b9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Apr 2016 16:56:34 +0000
-Subject: [PATCH] add knobs to disable/enable tests
-
-Some tests do not compile on musl libc
-in general its good to have such a knob
-since not all builds may want to enable
-tests
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.am | 6 +++++-
- configure.ac | 12 ++++++++++--
- 2 files changed, 15 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 6a3ed9e..0c29b3e 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -42,7 +42,11 @@ endif
-
- nodist_include_HEADERS = include/libunwind-common.h
-
--SUBDIRS = src tests
-+SUBDIRS = src
-+
-+if CONFIG_TESTS
-+SUBDIRS += tests
-+endif
-
- if CONFIG_DOCS
- SUBDIRS += doc
-diff --git a/configure.ac b/configure.ac
-index 85d78f8..d362387 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -129,6 +129,10 @@ AC_ARG_ENABLE(documentation,
- AS_HELP_STRING([--disable-documentation],[Disable generating the man pages]),,
- [enable_documentation=yes])
-
-+AC_ARG_ENABLE(tests,
-+ AS_HELP_STRING([--disable-tests],[Disable building tests]),,
-+ [enable_tests=yes])
-+
- AC_MSG_CHECKING([if we should build libunwind-setjmp])
- AC_MSG_RESULT([$enable_setjmp])
-
-@@ -395,9 +399,13 @@ AM_CONDITIONAL([CONFIG_DOCS], [test x$enable_documentation = xyes])
- if test "x$enable_documentation" = "xyes"; then
- AC_CONFIG_FILES(doc/Makefile doc/common.tex)
- fi
-+AM_CONDITIONAL([CONFIG_TESTS], [test x$enable_tests = xyes])
-+if test "x$enable_tests" = "xyes"; then
-+ AC_CONFIG_FILES(tests/Makefile tests/check-namespace.sh)
-+fi
-+
-
--AC_CONFIG_FILES(Makefile src/Makefile tests/Makefile tests/check-namespace.sh
-- include/libunwind-common.h
-+AC_CONFIG_FILES(Makefile src/Makefile include/libunwind-common.h
- include/libunwind.h include/tdep/libunwind_i.h)
- AC_CONFIG_FILES(src/unwind/libunwind.pc src/coredump/libunwind-coredump.pc
- src/ptrace/libunwind-ptrace.pc src/setjmp/libunwind-setjmp.pc
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-backtrace-Use-only-with-glibc-and-uclibc.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-backtrace-Use-only-with-glibc-and-uclibc.patch
deleted file mode 100644
index 9aed419a1..000000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0001-backtrace-Use-only-with-glibc-and-uclibc.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 04437142399662b576bd55a85485c6dcc14d0812 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 31 Dec 2015 06:44:07 +0000
-Subject: [PATCH] backtrace: Use only with glibc and uclibc
-
-backtrace API is glibc specific not linux specific
-so make it behave so.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- tests/test-coredump-unwind.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c
-index 5254708..8767b42 100644
---- a/tests/test-coredump-unwind.c
-+++ b/tests/test-coredump-unwind.c
-@@ -57,7 +57,9 @@
- #include <grp.h>
-
- /* For SIGSEGV handler code */
-+#ifdef __GLIBC__
- #include <execinfo.h>
-+#endif
- #include <sys/ucontext.h>
-
- #include <libunwind-coredump.h>
-@@ -238,11 +240,11 @@ void handle_sigsegv(int sig, siginfo_t *info, void *ucontext)
- ip);
-
- {
-+#ifdef __GLIBC__
- /* glibc extension */
- void *array[50];
- int size;
- size = backtrace(array, 50);
--#ifdef __linux__
- backtrace_symbols_fd(array, size, 2);
- #endif
- }
---
-2.6.4
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch
deleted file mode 100644
index ca0641f5a..000000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0001-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-From e0eea53c77fce8537c58a072b684043507987bcc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 9 Jul 2016 01:07:53 +0000
-Subject: [PATCH] ppc32: Consider ucontext mismatches between glibc and musl
-
-This helps in porting libunwind onto musl based systems
-ptrace.h change is required again an error that surfaces
-with musl
-
-/mnt/oe/openembedded-core/build/tmp-musl/sysroots/qemuppc/usr/include/asm/ptrace.h:31:8: error: redefinition of 'struct pt_regs'
- struct pt_regs {
- ^~~~~~~
-In file included from /mnt/oe/openembedded-core/build/tmp-musl/sysroots/qemuppc/usr/include/sys/user.h:11:0,
- from /mnt/oe/openembedded-core/build/tmp-musl/sysroots/qemuppc/usr/include/sys/procfs.h:9,
- from ../../git/src/ptrace/_UPT_internal.h:40,
- from ../../git/src/ptrace/_UPT_reg_offset.c:27:
-/mnt/oe/openembedded-core/build/tmp-musl/sysroots/qemuppc/usr/include/bits/user.h:1:8: note: originally defined here
- struct pt_regs {
- ^~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/ppc32/Ginit.c | 6 +-
- src/ppc32/ucontext_i.h | 158 ++++++++++++++++++++++---------------------
- src/ptrace/_UPT_reg_offset.c | 7 ++
- 3 files changed, 92 insertions(+), 79 deletions(-)
-
-diff --git a/src/ppc32/Ginit.c b/src/ppc32/Ginit.c
-index f2e6e82..617aaa1 100644
---- a/src/ppc32/Ginit.c
-+++ b/src/ppc32/Ginit.c
-@@ -48,12 +48,12 @@ uc_addr (ucontext_t *uc, int reg)
- void *addr;
-
- if ((unsigned) (reg - UNW_PPC32_R0) < 32)
-- addr = &uc->uc_mcontext.uc_regs->gregs[reg - UNW_PPC32_R0];
-+ addr = &uc->GET_UC_REGS->gregs[reg - UNW_PPC32_R0];
-
- else
- if ( ((unsigned) (reg - UNW_PPC32_F0) < 32) &&
- ((unsigned) (reg - UNW_PPC32_F0) >= 0) )
-- addr = &uc->uc_mcontext.uc_regs->fpregs.fpregs[reg - UNW_PPC32_F0];
-+ addr = &uc->GET_UC_REGS->fpregs.fpregs[reg - UNW_PPC32_F0];
-
- else
- {
-@@ -76,7 +76,7 @@ uc_addr (ucontext_t *uc, int reg)
- default:
- return NULL;
- }
-- addr = &uc->uc_mcontext.uc_regs->gregs[gregs_idx];
-+ addr = &uc->GET_UC_REGS->gregs[gregs_idx];
- }
- return addr;
- }
-diff --git a/src/ppc32/ucontext_i.h b/src/ppc32/ucontext_i.h
-index c6ba806..b79f15c 100644
---- a/src/ppc32/ucontext_i.h
-+++ b/src/ppc32/ucontext_i.h
-@@ -46,83 +46,89 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
- various structure members. */
- static ucontext_t dmy_ctxt UNUSED;
-
--#define UC_MCONTEXT_GREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[31] - (void *)&dmy_ctxt)
-+#ifdef __GLIBC__
-+#define GET_UC_REGS uc_mcontext.uc_regs
-+#else
-+#define GET_UC_REGS uc_regs
-+#endif
-+
-+#define UC_MCONTEXT_GREGS_R0 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R1 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R2 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R3 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R4 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R5 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R6 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R7 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R8 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R9 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R10 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R11 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R12 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R13 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R14 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R15 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R16 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R17 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R18 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R19 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R20 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R21 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R22 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R23 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R24 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R25 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R26 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R27 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R28 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R29 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R30 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_R31 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[31] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_GREGS_MSR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[MSR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CTR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CTR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_LINK ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[LINK_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_XER ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[XER_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_CCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CCR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_SOFTE ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_TRAP ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DAR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DAR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_MSR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[MSR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CTR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[CTR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_LINK ((void *)&dmy_ctxt.GET_UC_REGS->gregs[LINK_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_XER ((void *)&dmy_ctxt.GET_UC_REGS->gregs[XER_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_CCR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[CCR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_SOFTE ((void *)&dmy_ctxt.GET_UC_REGS->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_TRAP ((void *)&dmy_ctxt.GET_UC_REGS->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DAR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[DAR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.GET_UC_REGS->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
-
--#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[0] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[1] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[2] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[3] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[4] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[5] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[6] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[7] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[8] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[9] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[10] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[11] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[12] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[13] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[14] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[15] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[16] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[17] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[18] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[19] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[20] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[21] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[22] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[23] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[24] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[25] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[26] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[27] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[28] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[29] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[30] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[31] - (void *)&dmy_ctxt)
--#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[0] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[1] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[2] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[3] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[4] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[5] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[6] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[7] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[8] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[9] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[10] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[11] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[12] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[13] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[14] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[15] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[16] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[17] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[18] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[19] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[20] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[21] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[22] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[23] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[24] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[25] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[26] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[27] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[28] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[29] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[30] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[31] - (void *)&dmy_ctxt)
-+#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[32] - (void *)&dmy_ctxt)
-
- #endif
-diff --git a/src/ptrace/_UPT_reg_offset.c b/src/ptrace/_UPT_reg_offset.c
-index 68461a2..fcc43f7 100644
---- a/src/ptrace/_UPT_reg_offset.c
-+++ b/src/ptrace/_UPT_reg_offset.c
-@@ -27,6 +27,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
- #include "_UPT_internal.h"
-
- #include <stddef.h>
-+#if !defined(__GLIBC__)
-+# define pt_regs uapi_pt_regs
-+#endif
-+#include <asm/ptrace.h>
-+#if !defined(__GLIBC__)
-+# undef pt_regs
-+#endif
-
- #ifdef HAVE_ASM_PTRACE_OFFSETS_H
- # include <asm/ptrace_offsets.h>
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch
deleted file mode 100644
index 371013aaa..000000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From f5df01655a4b76d4fe415747de581d94ac593e6a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Mar 2016 16:19:29 +0000
-Subject: [PATCH] x86: Stub out x86_local_resume()
-
-its purpose seems
-to be unwinding across signal handler boundaries, which cannot happen
-in correct programs anyway. Replacing the whole function with
-something like *(volatile char *)0=0; (i.e. crash), gets a working
-libunwind
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/x86/Gos-linux.c | 22 +---------------------
- 1 file changed, 1 insertion(+), 21 deletions(-)
-
-diff --git a/src/x86/Gos-linux.c b/src/x86/Gos-linux.c
-index 31f83ba..3aaa34e 100644
---- a/src/x86/Gos-linux.c
-+++ b/src/x86/Gos-linux.c
-@@ -281,27 +281,7 @@ x86_r_uc_addr (ucontext_t *uc, int reg)
- HIDDEN int
- x86_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg)
- {
-- struct cursor *c = (struct cursor *) cursor;
-- ucontext_t *uc = c->uc;
--
-- /* Ensure c->pi is up-to-date. On x86, it's relatively common to be
-- missing DWARF unwind info. We don't want to fail in that case,
-- because the frame-chain still would let us do a backtrace at
-- least. */
-- dwarf_make_proc_info (&c->dwarf);
--
-- if (unlikely (c->sigcontext_format != X86_SCF_NONE))
-- {
-- struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
--
-- Debug (8, "resuming at ip=%x via sigreturn(%p)\n", c->dwarf.ip, sc);
-- sigreturn (sc);
-- }
-- else
-- {
-- Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip);
-- setcontext (uc);
-- }
-+ *(volatile char *)0=0;
- return -UNW_EINVAL;
- }
- #endif
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch b/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch
new file mode 100644
index 000000000..1b862dccb
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/0002-backtrace-Use-only-with-glibc-and-uclibc.patch
@@ -0,0 +1,45 @@
+From b61446add7ae1c041266c2fa5ba2f51cb3b65d35 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Dec 2015 06:44:07 +0000
+Subject: [PATCH 2/6] backtrace: Use only with glibc and uclibc
+
+backtrace API is glibc specific not linux specific
+so make it behave so.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/test-coredump-unwind.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c
+index 5349823..3b153cb 100644
+--- a/tests/test-coredump-unwind.c
++++ b/tests/test-coredump-unwind.c
+@@ -57,7 +57,9 @@
+ #include <grp.h>
+
+ /* For SIGSEGV handler code */
++#ifdef __GLIBC__
+ #include <execinfo.h>
++#endif
+ #include <sys/ucontext.h>
+
+ #include <libunwind-coredump.h>
+@@ -238,11 +240,11 @@ void handle_sigsegv(int sig, siginfo_t *info, void *ucontext)
+ ip);
+
+ {
++#ifdef __GLIBC__
+ /* glibc extension */
+ void *array[50];
+ int size;
+ size = backtrace(array, 50);
+-#ifdef __linux__
+ backtrace_symbols_fd(array, size, 2);
+ #endif
+ }
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch b/poky/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch
new file mode 100644
index 000000000..508ed6af3
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch
@@ -0,0 +1,54 @@
+From f6866b9e4a6341c50eb1d923dbf48eca2ca40140 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 22 Mar 2016 16:19:29 +0000
+Subject: [PATCH 3/6] x86: Stub out x86_local_resume()
+
+its purpose seems
+to be unwinding across signal handler boundaries, which cannot happen
+in correct programs anyway. Replacing the whole function with
+something like *(volatile char *)0=0; (i.e. crash), gets a working
+libunwind
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/x86/Gos-linux.c | 22 +---------------------
+ 1 file changed, 1 insertion(+), 21 deletions(-)
+
+diff --git a/src/x86/Gos-linux.c b/src/x86/Gos-linux.c
+index fb9a5e3..c25ae0c 100644
+--- a/src/x86/Gos-linux.c
++++ b/src/x86/Gos-linux.c
+@@ -284,27 +284,7 @@ x86_r_uc_addr (ucontext_t *uc, int reg)
+ HIDDEN int
+ x86_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg)
+ {
+- struct cursor *c = (struct cursor *) cursor;
+- ucontext_t *uc = c->uc;
+-
+- /* Ensure c->pi is up-to-date. On x86, it's relatively common to be
+- missing DWARF unwind info. We don't want to fail in that case,
+- because the frame-chain still would let us do a backtrace at
+- least. */
+- dwarf_make_proc_info (&c->dwarf);
+-
+- if (unlikely (c->sigcontext_format != X86_SCF_NONE))
+- {
+- struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
+-
+- Debug (8, "resuming at ip=%x via sigreturn(%p)\n", c->dwarf.ip, sc);
+- x86_sigreturn (sc);
+- }
+- else
+- {
+- Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip);
+- setcontext (uc);
+- }
++ *(volatile char *)0=0;
+ return -UNW_EINVAL;
+ }
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch b/poky/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch
new file mode 100644
index 000000000..124d0e00b
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch
@@ -0,0 +1,84 @@
+From 6bdab5cc8f1e2ec5f84fc9f59f1699a726980709 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 23 Mar 2016 06:08:59 +0000
+Subject: [PATCH 4/6] Fix build on mips/musl
+
+Do not include endian.h on musl it includes
+further headers which can not be compiled in __ASSEMBLER__
+ mode
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/coredump/_UCD_internal.h | 35 +++++++++++++++++++++++++++++++++++
+ src/mips/getcontext.S | 3 +--
+ 2 files changed, 36 insertions(+), 2 deletions(-)
+
+diff --git a/src/coredump/_UCD_internal.h b/src/coredump/_UCD_internal.h
+index 3c95a2a..21ed1c3 100644
+--- a/src/coredump/_UCD_internal.h
++++ b/src/coredump/_UCD_internal.h
+@@ -44,6 +44,41 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+
+ #include "libunwind_i.h"
+
++#ifndef __GLIBC__
++#include <sys/reg.h>
++
++#define EF_REG0 6
++#define EF_REG1 7
++#define EF_REG2 8
++#define EF_REG3 9
++#define EF_REG4 10
++#define EF_REG5 11
++#define EF_REG6 12
++#define EF_REG7 13
++#define EF_REG8 14
++#define EF_REG9 15
++#define EF_REG10 16
++#define EF_REG11 17
++#define EF_REG12 18
++#define EF_REG13 19
++#define EF_REG14 20
++#define EF_REG15 21
++#define EF_REG16 22
++#define EF_REG17 23
++#define EF_REG18 24
++#define EF_REG19 25
++#define EF_REG20 26
++#define EF_REG21 27
++#define EF_REG22 28
++#define EF_REG23 29
++#define EF_REG24 30
++#define EF_REG25 31
++#define EF_REG28 34
++#define EF_REG29 35
++#define EF_REG30 36
++#define EF_REG31 37
++#endif
++
+
+ #if SIZEOF_OFF_T == 4
+ typedef uint32_t uoff_t;
+diff --git a/src/mips/getcontext.S b/src/mips/getcontext.S
+index d1dbd57..de9b681 100644
+--- a/src/mips/getcontext.S
++++ b/src/mips/getcontext.S
+@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+
+ #include "offsets.h"
+-#include <endian.h>
+
+ .text
+
+ #if _MIPS_SIM == _ABIO32
+-# if __BYTE_ORDER == __BIG_ENDIAN
++# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ # define OFFSET 4
+ # else
+ # define OFFSET 0
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch b/poky/meta/recipes-support/libunwind/libunwind/0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch
new file mode 100644
index 000000000..edaa822be
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch
@@ -0,0 +1,249 @@
+From 02919d74b1599979884f9cee466ed392d9fc4819 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 9 Jul 2016 01:07:53 +0000
+Subject: [PATCH 5/6] ppc32: Consider ucontext mismatches between glibc and
+ musl
+
+This helps in porting libunwind onto musl based systems
+ptrace.h change is required again an error that surfaces
+with musl
+
+/mnt/oe/openembedded-core/build/tmp-musl/sysroots/qemuppc/usr/include/asm/ptrace.h:31:8: error: redefinition of 'struct pt_regs'
+ struct pt_regs {
+ ^~~~~~~
+In file included from /mnt/oe/openembedded-core/build/tmp-musl/sysroots/qemuppc/usr/include/sys/user.h:11:0,
+ from /mnt/oe/openembedded-core/build/tmp-musl/sysroots/qemuppc/usr/include/sys/procfs.h:9,
+ from ../../git/src/ptrace/_UPT_internal.h:40,
+ from ../../git/src/ptrace/_UPT_reg_offset.c:27:
+/mnt/oe/openembedded-core/build/tmp-musl/sysroots/qemuppc/usr/include/bits/user.h:1:8: note: originally defined here
+ struct pt_regs {
+ ^~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/ppc32/Ginit.c | 6 +-
+ src/ppc32/ucontext_i.h | 158 ++++++++++++++++++-----------------
+ src/ptrace/_UPT_reg_offset.c | 7 ++
+ 3 files changed, 92 insertions(+), 79 deletions(-)
+
+diff --git a/src/ppc32/Ginit.c b/src/ppc32/Ginit.c
+index ba30244..c5312d9 100644
+--- a/src/ppc32/Ginit.c
++++ b/src/ppc32/Ginit.c
+@@ -48,12 +48,12 @@ uc_addr (ucontext_t *uc, int reg)
+ void *addr;
+
+ if ((unsigned) (reg - UNW_PPC32_R0) < 32)
+- addr = &uc->uc_mcontext.uc_regs->gregs[reg - UNW_PPC32_R0];
++ addr = &uc->GET_UC_REGS->gregs[reg - UNW_PPC32_R0];
+
+ else
+ if ( ((unsigned) (reg - UNW_PPC32_F0) < 32) &&
+ ((unsigned) (reg - UNW_PPC32_F0) >= 0) )
+- addr = &uc->uc_mcontext.uc_regs->fpregs.fpregs[reg - UNW_PPC32_F0];
++ addr = &uc->GET_UC_REGS->fpregs.fpregs[reg - UNW_PPC32_F0];
+
+ else
+ {
+@@ -76,7 +76,7 @@ uc_addr (ucontext_t *uc, int reg)
+ default:
+ return NULL;
+ }
+- addr = &uc->uc_mcontext.uc_regs->gregs[gregs_idx];
++ addr = &uc->GET_UC_REGS->gregs[gregs_idx];
+ }
+ return addr;
+ }
+diff --git a/src/ppc32/ucontext_i.h b/src/ppc32/ucontext_i.h
+index c6ba806..b79f15c 100644
+--- a/src/ppc32/ucontext_i.h
++++ b/src/ppc32/ucontext_i.h
+@@ -46,83 +46,89 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+ various structure members. */
+ static ucontext_t dmy_ctxt UNUSED;
+
+-#define UC_MCONTEXT_GREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[0] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[1] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[2] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[3] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[4] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[5] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[6] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[7] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[8] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[9] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[10] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[11] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[12] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[13] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[14] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[15] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[16] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[17] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[18] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[19] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[20] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[21] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[22] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[23] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[24] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[25] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[26] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[27] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[28] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[29] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[30] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[31] - (void *)&dmy_ctxt)
++#ifdef __GLIBC__
++#define GET_UC_REGS uc_mcontext.uc_regs
++#else
++#define GET_UC_REGS uc_regs
++#endif
++
++#define UC_MCONTEXT_GREGS_R0 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[0] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R1 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[1] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R2 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[2] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R3 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[3] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R4 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[4] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R5 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[5] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R6 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[6] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R7 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[7] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R8 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[8] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R9 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[9] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R10 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[10] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R11 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[11] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R12 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[12] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R13 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[13] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R14 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[14] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R15 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[15] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R16 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[16] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R17 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[17] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R18 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[18] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R19 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[19] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R20 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[20] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R21 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[21] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R22 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[22] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R23 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[23] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R24 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[24] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R25 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[25] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R26 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[26] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R27 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[27] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R28 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[28] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R29 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[29] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R30 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[30] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_R31 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[31] - (void *)&dmy_ctxt)
+
+-#define UC_MCONTEXT_GREGS_MSR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[MSR_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_CTR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CTR_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_LINK ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[LINK_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_XER ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[XER_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_CCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[CCR_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_SOFTE ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_TRAP ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_DAR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DAR_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.uc_mcontext.uc_regs->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_MSR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[MSR_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_ORIG_GPR3 ((void *)&dmy_ctxt.GET_UC_REGS->gregs[ORIG_GPR3_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_CTR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[CTR_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_LINK ((void *)&dmy_ctxt.GET_UC_REGS->gregs[LINK_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_XER ((void *)&dmy_ctxt.GET_UC_REGS->gregs[XER_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_CCR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[CCR_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_SOFTE ((void *)&dmy_ctxt.GET_UC_REGS->gregs[SOFTE_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_TRAP ((void *)&dmy_ctxt.GET_UC_REGS->gregs[TRAP_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_DAR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[DAR_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_DSISR ((void *)&dmy_ctxt.GET_UC_REGS->gregs[DSISR_IDX] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_GREGS_RESULT ((void *)&dmy_ctxt.GET_UC_REGS->gregs[RESULT_IDX] - (void *)&dmy_ctxt)
+
+-#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[0] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[1] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[2] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[3] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[4] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[5] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[6] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[7] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[8] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[9] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[10] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[11] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[12] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[13] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[14] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[15] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[16] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[17] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[18] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[19] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[20] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[21] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[22] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[23] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[24] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[25] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[26] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[27] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[28] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[29] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[30] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[31] - (void *)&dmy_ctxt)
+-#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.uc_mcontext.uc_regs->fpregs.fpregs[32] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R0 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[0] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R1 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[1] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R2 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[2] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R3 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[3] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R4 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[4] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R5 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[5] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R6 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[6] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R7 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[7] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R8 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[8] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R9 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[9] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R10 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[10] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R11 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[11] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R12 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[12] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R13 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[13] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R14 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[14] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R15 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[15] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R16 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[16] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R17 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[17] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R18 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[18] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R19 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[19] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R20 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[20] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R21 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[21] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R22 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[22] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R23 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[23] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R24 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[24] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R25 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[25] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R26 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[26] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R27 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[27] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R28 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[28] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R29 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[29] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R30 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[30] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_R31 ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[31] - (void *)&dmy_ctxt)
++#define UC_MCONTEXT_FREGS_FPSCR ((void *)&dmy_ctxt.GET_UC_REGS->fpregs.fpregs[32] - (void *)&dmy_ctxt)
+
+ #endif
+diff --git a/src/ptrace/_UPT_reg_offset.c b/src/ptrace/_UPT_reg_offset.c
+index c82d1c9..6c31baa 100644
+--- a/src/ptrace/_UPT_reg_offset.c
++++ b/src/ptrace/_UPT_reg_offset.c
+@@ -27,6 +27,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+ #include "_UPT_internal.h"
+
+ #include <stddef.h>
++#if !defined(__GLIBC__)
++# define pt_regs uapi_pt_regs
++#endif
++#include <asm/ptrace.h>
++#if !defined(__GLIBC__)
++# undef pt_regs
++#endif
+
+ #ifdef HAVE_ASM_PTRACE_OFFSETS_H
+ # include <asm/ptrace_offsets.h>
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch b/poky/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch
new file mode 100644
index 000000000..37ae8124c
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch
@@ -0,0 +1,32 @@
+From 7a4fd5933cc795df85cdd85168fe54fbaec4dcec Mon Sep 17 00:00:00 2001
+From: Christopher Larson <chris_larson@mentor.com>
+Date: Tue, 13 Dec 2016 09:50:34 -0700
+Subject: [PATCH 6/6] Fix for X32
+
+Apply patch to fix the X32 build from https://github.com/sjnewbury/x32.
+
+Upstream-Status: Pending
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+
+---
+ src/x86_64/Gos-linux.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/x86_64/Gos-linux.c b/src/x86_64/Gos-linux.c
+index bd14234..be1cb5b 100644
+--- a/src/x86_64/Gos-linux.c
++++ b/src/x86_64/Gos-linux.c
+@@ -145,8 +145,8 @@ x86_64_sigreturn (unw_cursor_t *cursor)
+
+ Debug (8, "resuming at ip=%llx via sigreturn(%p)\n",
+ (unsigned long long) c->dwarf.ip, sc);
+- __asm__ __volatile__ ("mov %0, %%rsp;"
+- "mov %1, %%rax;"
++ __asm__ __volatile__ ("mov %q0, %%rsp;"
++ "mov %q1, %%rax;"
+ "syscall"
+ :: "r"(sc), "i"(SYS_rt_sigreturn)
+ : "memory");
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch b/poky/meta/recipes-support/libunwind/libunwind/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
deleted file mode 100644
index c8faca472..000000000
--- a/poky/meta/recipes-support/libunwind/libunwind/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 24484e80b3e329c9edee1995e102f8612eedb79c Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Tue, 13 May 2014 23:32:27 +0200
-Subject: [PATCH] Add AO_REQUIRE_CAS to fix build on ARM < v6
-
-ARM earlier than ARMv6, such as ARMv4 and ARMv5 do not provide
-optimize atomic operations in libatomic_ops. Since libunwind is using
-such operations, it should define AO_REQUIRE_CAS before including
-<atomic_ops.h> so that libatomic_ops knows it should use emulated
-atomic operations instead (even though they are obviously a lot more
-expensive).
-
-Also, while real atomic operations are all inline functions and
-therefore linking against libatomic_ops was not required, the emulated
-atomic operations actually require linking against libatomic_ops, so
-the commented AC_CHECK_LIB test in acinclude.m4 is uncommented to make
-sure we link against libatomic_ops.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-Upstream-Status: Pending
-Taken from:
-https://raw.githubusercontent.com/rdnetto/teapot-buildroot/master/package/libunwind/libunwind-02-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
-
----
- acinclude.m4 | 8 +-------
- include/libunwind_i.h | 1 +
- 2 files changed, 2 insertions(+), 7 deletions(-)
-
-Index: libunwind-1.2.1/acinclude.m4
-===================================================================
---- libunwind-1.2.1.orig/acinclude.m4
-+++ libunwind-1.2.1/acinclude.m4
-@@ -22,11 +22,5 @@ fi])
- AC_DEFUN([CHECK_ATOMIC_OPS],
- [dnl Check whether the system has the atomic_ops package installed.
- AC_CHECK_HEADERS(atomic_ops.h)
--#
--# Don't link against libatomic_ops for now. We don't want libunwind
--# to depend on libatomic_ops.so. Fortunately, none of the platforms
--# we care about so far need libatomic_ops.a (everything is done via
--# inline macros).
--#
--# AC_CHECK_LIB(atomic_ops, main)
-+ AC_CHECK_LIB(atomic_ops, main)
- ])
-Index: libunwind-1.2.1/include/libunwind_i.h
-===================================================================
---- libunwind-1.2.1.orig/include/libunwind_i.h
-+++ libunwind-1.2.1/include/libunwind_i.h
-@@ -116,6 +116,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE
- (pthread_mutex_unlock != NULL ? pthread_mutex_unlock (l) : 0)
-
- #ifdef HAVE_ATOMIC_OPS_H
-+# define AO_REQUIRE_CAS
- # include <atomic_ops.h>
- static inline int
- cmpxchg_ptr (void *addr, void *old, void *new)
diff --git a/poky/meta/recipes-support/libunwind/libunwind/libunwind-1.1-x32.patch b/poky/meta/recipes-support/libunwind/libunwind/libunwind-1.1-x32.patch
deleted file mode 100644
index 32516464c..000000000
--- a/poky/meta/recipes-support/libunwind/libunwind/libunwind-1.1-x32.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 506bd37bd580d7382d7c58257dac4b1e502a887c Mon Sep 17 00:00:00 2001
-From: Christopher Larson <chris_larson@mentor.com>
-Date: Tue, 13 Dec 2016 09:50:34 -0700
-Subject: [PATCH] Fix for X32
-
-Apply patch to fix the X32 build from https://github.com/sjnewbury/x32.
-
-Upstream-Status: Pending
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
----
- src/x86_64/Gos-linux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/x86_64/Gos-linux.c b/src/x86_64/Gos-linux.c
-index 9e1acfc..8169d5a 100644
---- a/src/x86_64/Gos-linux.c
-+++ b/src/x86_64/Gos-linux.c
-@@ -143,8 +143,8 @@ x86_64_sigreturn (unw_cursor_t *cursor)
-
- Debug (8, "resuming at ip=%llx via sigreturn(%p)\n",
- (unsigned long long) c->dwarf.ip, sc);
-- __asm__ __volatile__ ("mov %0, %%rsp;"
-- "mov %1, %%rax;"
-+ __asm__ __volatile__ ("mov %q0, %%rsp;"
-+ "mov %q1, %%rax;"
- "syscall"
- :: "r"(sc), "i"(SYS_rt_sigreturn)
- : "memory");
---
-2.8.0
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind_1.2.1.bb b/poky/meta/recipes-support/libunwind/libunwind_1.2.1.bb
deleted file mode 100644
index e7fb2b219..000000000
--- a/poky/meta/recipes-support/libunwind/libunwind_1.2.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require libunwind.inc
-
-SRC_URI[md5sum] = "06ba9e60d92fd6f55cd9dadb084df19e"
-SRC_URI[sha256sum] = "3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb"
-
-SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV}.tar.gz \
- file://Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \
- file://0001-backtrace-Use-only-with-glibc-and-uclibc.patch \
- file://0001-x86-Stub-out-x86_local_resume.patch \
- file://0001-Fix-build-on-mips-musl.patch \
- file://0001-add-knobs-to-disable-enable-tests.patch \
- file://0001-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \
- file://libunwind-1.1-x32.patch \
- "
-
-SRC_URI_append_libc-musl = " file://musl-header-conflict.patch"
-EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests "
-
-# http://errors.yoctoproject.org/Errors/Details/20487/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-SECURITY_LDFLAGS_append_libc-musl = " -lssp_nonshared"
diff --git a/poky/meta/recipes-support/libunwind/libunwind_1.3.1.bb b/poky/meta/recipes-support/libunwind/libunwind_1.3.1.bb
new file mode 100644
index 000000000..037e04c3c
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind_1.3.1.bb
@@ -0,0 +1,24 @@
+require libunwind.inc
+
+SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV}.tar.gz \
+ file://0001-Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \
+ file://0002-backtrace-Use-only-with-glibc-and-uclibc.patch \
+ file://0003-x86-Stub-out-x86_local_resume.patch \
+ file://0004-Fix-build-on-mips-musl.patch \
+ file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \
+ file://0006-Fix-for-X32.patch \
+ "
+SRC_URI_append_libc-musl = " file://musl-header-conflict.patch"
+
+SRC_URI[md5sum] = "a04f69d66d8e16f8bf3ab72a69112cd6"
+SRC_URI[sha256sum] = "43997a3939b6ccdf2f669b50fdb8a4d3205374728c2923ddc2354c65260214f8"
+
+EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests --enable-static"
+
+# http://errors.yoctoproject.org/Errors/Details/20487/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+SECURITY_LDFLAGS_append_libc-musl = " -lssp_nonshared"
diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.10.1.bb b/poky/meta/recipes-support/liburcu/liburcu_0.10.1.bb
deleted file mode 100644
index 5eb91e144..000000000
--- a/poky/meta/recipes-support/liburcu/liburcu_0.10.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Userspace RCU (read-copy-update) library"
-HOMEPAGE = "http://lttng.org/urcu"
-BUGTRACKER = "http://lttng.org/project/issues"
-
-LICENSE = "LGPLv2.1+ & MIT-style"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \
- file://src/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \
- file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b"
-
-SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \
- file://Add-support-for-the-RISC-V-architecture.patch \
- "
-
-SRC_URI[md5sum] = "281a2f92fdc39c40ad6b76f6631fdbd7"
-SRC_URI[sha256sum] = "9c09220be4435dc27fcd22d291707b94b97f159e0c442fbcd60c168f8f79eb06"
-
-S = "${WORKDIR}/userspace-rcu-${PV}"
-inherit autotools multilib_header
-
-CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT"
-
-do_install_append() {
- oe_multilib_header urcu/config.h
-}
diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb b/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb
new file mode 100644
index 000000000..b4b6e2323
--- /dev/null
+++ b/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Userspace RCU (read-copy-update) library"
+HOMEPAGE = "http://lttng.org/urcu"
+BUGTRACKER = "http://lttng.org/project/issues"
+
+LICENSE = "LGPLv2.1+ & MIT-style"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \
+ file://src/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \
+ file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b"
+
+SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \
+ file://Add-support-for-the-RISC-V-architecture.patch \
+ "
+
+SRC_URI[md5sum] = "7c424c5183ec009d87e0f70c23e92f1b"
+SRC_URI[sha256sum] = "b3f6888daf6fe02c1f8097f4a0898e41b5fe9975e121dc792b9ddef4b17261cc"
+
+S = "${WORKDIR}/userspace-rcu-${PV}"
+inherit autotools multilib_header
+
+CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT"
+
+do_install_append() {
+ oe_multilib_header urcu/config.h
+}
diff --git a/poky/meta/recipes-support/libusb/libusb1_1.0.22.bb b/poky/meta/recipes-support/libusb/libusb1_1.0.22.bb
index 0c6e116dd..1d9d77257 100644
--- a/poky/meta/recipes-support/libusb/libusb1_1.0.22.bb
+++ b/poky/meta/recipes-support/libusb/libusb1_1.0.22.bb
@@ -20,9 +20,10 @@ S = "${WORKDIR}/libusb-${PV}"
inherit autotools pkgconfig ptest
-# Don't configure udev by default since it will cause a circular
-# dependecy with udev package, which depends on libusb
-EXTRA_OECONF = "--libdir=${base_libdir} --disable-udev"
+PACKAGECONFIG_class-target ??= "udev"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
+
+EXTRA_OECONF = "--libdir=${base_libdir}"
do_install_append() {
install -d ${D}${libdir}
diff --git a/poky/meta/recipes-support/libxslt/libxslt/fix-rvts-handling.patch b/poky/meta/recipes-support/libxslt/libxslt/fix-rvts-handling.patch
deleted file mode 100644
index ea3ae51e9..000000000
--- a/poky/meta/recipes-support/libxslt/libxslt/fix-rvts-handling.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-libxslt-1.1.32: Fix handling of RVTs returned from nested EXSLT functions
-
-[No upstream tracking] -- https://bugzilla.gnome.org/show_bug.cgi?id=792580
-
-Set the context variable to NULL when evaluating EXSLT functions.
-Fixes potential use-after-free errors or memory leaks.
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxslt/commit/8bd32f7753ac253a54279a0b6a88d15a57076bb0]
-bug: 792580
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
-diff --git a/libexslt/functions.c b/libexslt/functions.c
-index dc794e3..8511cb0 100644
---- a/libexslt/functions.c
-+++ b/libexslt/functions.c
-@@ -280,6 +280,7 @@ exsltFuncFunctionFunction (xmlXPathParserContextPtr ctxt, int nargs) {
- exsltFuncFunctionData *func;
- xmlNodePtr paramNode, oldInsert, fake;
- int oldBase;
-+ void *oldCtxtVar;
- xsltStackElemPtr params = NULL, param;
- xsltTransformContextPtr tctxt = xsltXPathGetTransformContext(ctxt);
- int i, notSet;
-@@ -418,11 +419,14 @@ exsltFuncFunctionFunction (xmlXPathParserContextPtr ctxt, int nargs) {
- fake = xmlNewDocNode(tctxt->output, NULL,
- (const xmlChar *)"fake", NULL);
- oldInsert = tctxt->insert;
-+ oldCtxtVar = tctxt->contextVariable;
- tctxt->insert = fake;
-+ tctxt->contextVariable = NULL;
- xsltApplyOneTemplate (tctxt, tctxt->node,
- func->content, NULL, NULL);
- xsltLocalVariablePop(tctxt, tctxt->varsBase, -2);
- tctxt->insert = oldInsert;
-+ tctxt->contextVariable = oldCtxtVar;
- tctxt->varsBase = oldBase; /* restore original scope */
- if (params != NULL)
- xsltFreeStackElemList(params);
-diff --git a/tests/docs/bug-209.xml b/tests/docs/bug-209.xml
-new file mode 100644
-index 0000000..69d62f2
---- /dev/null
-+++ b/tests/docs/bug-209.xml
-@@ -0,0 +1 @@
-+<doc/>
-diff --git a/tests/general/bug-209.out b/tests/general/bug-209.out
-new file mode 100644
-index 0000000..e829790
---- /dev/null
-+++ b/tests/general/bug-209.out
-@@ -0,0 +1,2 @@
-+<?xml version="1.0"?>
-+<result/>
-diff --git a/tests/general/bug-209.xsl b/tests/general/bug-209.xsl
-new file mode 100644
-index 0000000..fe69ac6
---- /dev/null
-+++ b/tests/general/bug-209.xsl
-@@ -0,0 +1,21 @@
-+<xsl:stylesheet
-+ version="1.0"
-+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-+ xmlns:func="http://exslt.org/functions"
-+ extension-element-prefixes="func">
-+
-+ <xsl:template match="/">
-+ <xsl:variable name="v" select="func:a()" />
-+ <xsl:copy-of select="$v"/>
-+ </xsl:template>
-+
-+ <func:function name="func:a">
-+ <func:result select="func:b()" />
-+ </func:function>
-+
-+ <func:function name="func:b">
-+ <func:result>
-+ <result/>
-+ </func:result>
-+ </func:function>
-+</xsl:stylesheet>
diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.32.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.32.bb
deleted file mode 100644
index f0fa5e723..000000000
--- a/poky/meta/recipes-support/libxslt/libxslt_1.1.32.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "GNOME XSLT library"
-HOMEPAGE = "http://xmlsoft.org/XSLT/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://Copyright;md5=0cd9a07afbeb24026c9b03aecfeba458"
-
-SECTION = "libs"
-DEPENDS = "libxml2"
-
-SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz \
- file://fix-rvts-handling.patch \
- "
-
-SRC_URI[md5sum] = "1fc72f98e98bf4443f1651165f3aa146"
-SRC_URI[sha256sum] = "526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460"
-
-UPSTREAM_CHECK_REGEX = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar"
-
-S = "${WORKDIR}/libxslt-${PV}"
-
-BINCONFIG = "${bindir}/xslt-config"
-
-inherit autotools pkgconfig binconfig-disabled lib_package
-
-# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header
-do_configure_prepend () {
- sed -i -e 's/ansidecl.h//' ${S}/configure.ac
-
- # The timestamps in the 1.1.28 tarball are messed up causing this file to
- # appear out of date. Touch it so that we don't try to regenerate it.
- touch ${S}/doc/xsltproc.1
-}
-
-EXTRA_OECONF = "--without-python --without-debug --without-mem-debug --without-crypto"
-# older versions of this recipe had ${PN}-utils
-RPROVIDES_${PN}-bin += "${PN}-utils"
-RCONFLICTS_${PN}-bin += "${PN}-utils"
-RREPLACES_${PN}-bin += "${PN}-utils"
-
-
-do_install_append_class-native () {
- create_wrapper ${D}/${bindir}/xsltproc XML_CATALOG_FILES=${sysconfdir}/xml/catalog.xml
-}
-
-FILES_${PN} += "${libdir}/libxslt-plugins"
-FILES_${PN}-dev += "${libdir}/xsltConf.sh"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb
new file mode 100644
index 000000000..28d404ca7
--- /dev/null
+++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb
@@ -0,0 +1,47 @@
+SUMMARY = "GNOME XSLT library"
+HOMEPAGE = "http://xmlsoft.org/XSLT/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://Copyright;md5=0cd9a07afbeb24026c9b03aecfeba458"
+
+SECTION = "libs"
+DEPENDS = "libxml2"
+
+SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "b3bd254a03e46d58f8ad1e4559cd2c2f"
+SRC_URI[sha256sum] = "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8"
+
+UPSTREAM_CHECK_REGEX = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar"
+
+S = "${WORKDIR}/libxslt-${PV}"
+
+BINCONFIG = "${bindir}/xslt-config"
+
+inherit autotools pkgconfig binconfig-disabled lib_package
+
+# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header
+do_configure_prepend () {
+ sed -i -e 's/ansidecl.h//' ${S}/configure.ac
+
+ # The timestamps in the 1.1.28 tarball are messed up causing this file to
+ # appear out of date. Touch it so that we don't try to regenerate it.
+ touch ${S}/doc/xsltproc.1
+}
+
+EXTRA_OECONF = "--without-python --without-debug --without-mem-debug --without-crypto --with-html-subdir=${BPN}"
+# older versions of this recipe had ${PN}-utils
+RPROVIDES_${PN}-bin += "${PN}-utils"
+RCONFLICTS_${PN}-bin += "${PN}-utils"
+RREPLACES_${PN}-bin += "${PN}-utils"
+
+# This is only needed until libxml can load the relocated catalog itself
+do_install_append_class-native () {
+ create_wrapper ${D}/${bindir}/xsltproc XML_CATALOG_FILES=${sysconfdir}/xml/catalog
+}
+
+FILES_${PN} += "${libdir}/libxslt-plugins"
+FILES_${PN}-dev += "${libdir}/xsltConf.sh"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/lz4/lz4_1.8.2.bb b/poky/meta/recipes-support/lz4/lz4_1.8.2.bb
deleted file mode 100644
index 5ad17e1f7..000000000
--- a/poky/meta/recipes-support/lz4/lz4_1.8.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Extremely Fast Compression algorithm"
-DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems."
-
-LICENSE = "BSD | BSD-2-Clause | GPL-2.0"
-LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
- file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \
- "
-
-PE = "1"
-
-SRCREV = "b3692db46d2b23a7c0af2d5e69988c94f126e10a"
-
-SRC_URI = "git://github.com/lz4/lz4.git \
- file://run-ptest \
- "
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}"
-
-do_install() {
- oe_runmake install
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/lz4/lz4_1.8.3.bb b/poky/meta/recipes-support/lz4/lz4_1.8.3.bb
new file mode 100644
index 000000000..125836f7b
--- /dev/null
+++ b/poky/meta/recipes-support/lz4/lz4_1.8.3.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Extremely Fast Compression algorithm"
+DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems."
+
+LICENSE = "BSD | BSD-2-Clause | GPL-2.0"
+LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
+ file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \
+ "
+
+PE = "1"
+
+SRCREV = "641b453d9db536ee020851bfcb1dc39f61006f0a"
+
+SRC_URI = "git://github.com/lz4/lz4.git \
+ file://run-ptest \
+ "
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}"
+
+do_install() {
+ oe_runmake install
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/lzop/lzop/0001-use-static-inlines-as-the-external-inline-definition.patch b/poky/meta/recipes-support/lzop/lzop/0001-use-static-inlines-as-the-external-inline-definition.patch
deleted file mode 100644
index 867b88b30..000000000
--- a/poky/meta/recipes-support/lzop/lzop/0001-use-static-inlines-as-the-external-inline-definition.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From ecccbcf66da53779d88e38e2af7f82eff8dde7f8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 16 Aug 2015 10:35:47 -0700
-Subject: [PATCH] use static inlines as the external inline definition has
- changed with gcc5
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/miniacc.h | 24 ++++++++----------------
- 1 file changed, 8 insertions(+), 16 deletions(-)
-
-diff --git a/src/miniacc.h b/src/miniacc.h
-index 09e6f0c..cae98d1 100644
---- a/src/miniacc.h
-+++ b/src/miniacc.h
-@@ -2880,8 +2880,7 @@ typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
- #if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline)
- #if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
- #if !defined(ACC_UA_GET_LE16)
--extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp);
--extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
-+static __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
- __acc_ua_volatile const acc_uint16e_t* p = (__acc_ua_volatile const acc_uint16e_t*) pp;
- unsigned long v;
- __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
-@@ -2890,8 +2889,7 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const
- #define ACC_UA_GET_LE16(p) __ACC_UA_GET_LE16(p)
- #endif
- #if !defined(ACC_UA_SET_LE16)
--extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v);
--extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
-+static __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
- __acc_ua_volatile acc_uint16e_t* p = (__acc_ua_volatile acc_uint16e_t*) pp;
- __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
- }
-@@ -2916,8 +2914,7 @@ extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsi
- #if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline)
- #if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
- #if !defined(ACC_UA_GET_LE32)
--extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp);
--extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
-+static __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
- __acc_ua_volatile const acc_uint32e_t* p = (__acc_ua_volatile const acc_uint32e_t*) pp;
- unsigned long v;
- __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
-@@ -2926,8 +2923,7 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const
- #define ACC_UA_GET_LE32(p) __ACC_UA_GET_LE32(p)
- #endif
- #if !defined(ACC_UA_SET_LE32)
--extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v);
--extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
-+static __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
- __acc_ua_volatile acc_uint32e_t* p = (__acc_ua_volatile acc_uint32e_t*) pp;
- __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
- }
-@@ -3307,8 +3303,7 @@ typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
- #if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline)
- #if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
- #if !defined(ACC_UA_GET_LE16)
--extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp);
--extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
-+static __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
- __acc_ua_volatile const acc_uint16e_t* p = (__acc_ua_volatile const acc_uint16e_t*) pp;
- unsigned long v;
- __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
-@@ -3317,8 +3312,7 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const
- #define ACC_UA_GET_LE16(p) __ACC_UA_GET_LE16(p)
- #endif
- #if !defined(ACC_UA_SET_LE16)
--extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v);
--extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
-+static __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
- __acc_ua_volatile acc_uint16e_t* p = (__acc_ua_volatile acc_uint16e_t*) pp;
- __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
- }
-@@ -3343,8 +3337,7 @@ extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsi
- #if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline)
- #if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
- #if !defined(ACC_UA_GET_LE32)
--extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp);
--extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
-+static __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
- __acc_ua_volatile const acc_uint32e_t* p = (__acc_ua_volatile const acc_uint32e_t*) pp;
- unsigned long v;
- __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
-@@ -3353,8 +3346,7 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const
- #define ACC_UA_GET_LE32(p) __ACC_UA_GET_LE32(p)
- #endif
- #if !defined(ACC_UA_SET_LE32)
--extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v);
--extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
-+static __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
- __acc_ua_volatile acc_uint32e_t* p = (__acc_ua_volatile acc_uint32e_t*) pp;
- __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
- }
---
-2.5.0
-
diff --git a/poky/meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch b/poky/meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch
deleted file mode 100644
index 72b33970e..000000000
--- a/poky/meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-gcc-6 has additional errors e.g.
-
-./test.c:1:12: error: variably modified '__acc_cta' at file scope
- extern int __acc_cta[1-2*!((1l << (8*8 -1)) < 0)];
- ^~~~~~~~~
-
-This is rightly pointed out since that index is undefined
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
---- a/src/miniacc.h.orig 2016-02-10 16:09:23.247315866 +0100
-+++ a/src/miniacc.h 2016-02-10 16:12:14.973297054 +0100
-@@ -4469,12 +4469,12 @@
- #if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
- #elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
- #else
-- ACCCHK_ASSERT((1 << (8*SIZEOF_INT-1)) < 0)
-+ ACCCHK_ASSERT((int)(1u << (8*SIZEOF_INT-1)) < 0)
- #endif
- ACCCHK_ASSERT((1u << (8*SIZEOF_INT-1)) > 0)
- #if 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
- #else
-- ACCCHK_ASSERT((1l << (8*SIZEOF_LONG-1)) < 0)
-+ ACCCHK_ASSERT((long)(1ul << (8*SIZEOF_LONG-1)) < 0)
- #endif
- ACCCHK_ASSERT((1ul << (8*SIZEOF_LONG-1)) > 0)
- #if defined(acc_int16e_t)
-@@ -4703,7 +4703,7 @@
- #elif 1 && (ACC_CC_LCC || ACC_CC_LCCWIN32) && !defined(ACCCHK_CFG_PEDANTIC)
- #elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
- #elif !(ACC_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1)
-- ACCCHK_ASSERT( (((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
-+ ACCCHK_ASSERT( (int)((unsigned int)((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
- #endif
- #if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560))
- # pragma option pop
diff --git a/poky/meta/recipes-support/lzop/lzop/x32_abi_miniacc_h.patch b/poky/meta/recipes-support/lzop/lzop/x32_abi_miniacc_h.patch
deleted file mode 100644
index 739be8231..000000000
--- a/poky/meta/recipes-support/lzop/lzop/x32_abi_miniacc_h.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Fix get of FLAGS register in x32 ABI,
-
-x32 ABI requires to have 64-bit variable to store FLAGS register
-instead of size_t that is 32-bit variable, this fix operand
-type mismatch when try to pop previous pushf value.
-
-Upstream-Status: Submitted
-
-Signed-off-by: AnĂ­bal LimĂłn <anibal.limon@linux.intel.com>
-
-Index: lzop-1.03/src/miniacc.h
-===================================================================
---- lzop-1.03.orig/src/miniacc.h
-+++ lzop-1.03/src/miniacc.h
-@@ -754,6 +754,9 @@
- #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
- # define ACC_ARCH_AMD64 1
- # define ACC_INFO_ARCH "amd64"
-+# if defined(__ILP32__)
-+# define ACC_ARCH_AMD64_X32 1
-+# endif
- #elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
- # define ACC_ARCH_ARM 1
- # define ACC_ARCH_ARM_THUMB 1
-@@ -6787,7 +6790,11 @@ ACCLIB_PUBLIC_NOINLINE(void, acc_debug_n
- ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_query) (void)
- {
- #if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
-+# if defined(ACC_ARCH_AMD64_X32)
-+ unsigned long long r;
-+# else
- size_t r;
-+# endif
- __asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : : __ACC_ASM_CLOBBER);
- return (int)(r >> 18) & 1;
- #elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
diff --git a/poky/meta/recipes-support/lzop/lzop_1.03.bb b/poky/meta/recipes-support/lzop/lzop_1.03.bb
deleted file mode 100644
index 6f09002f5..000000000
--- a/poky/meta/recipes-support/lzop/lzop_1.03.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Real-time file compressor"
-DESCRIPTION = "lzop is a compression utility which is designed to be a companion to gzip. \n\
-It is based on the LZO data compression library and its main advantages over \n\
-gzip are much higher compression and decompression speed at the cost of some \n\
-compression ratio. The lzop compression utility was designed with the goals \n\
-of reliability, speed, portability and with reasonable drop-in compatibility \n\
-to gzip."
-DEPENDS += "lzo"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dfeaf3dc4beef4f5a7bdbc35b197f39e \
- file://src/lzop.c;beginline=5;endline=21;md5=6797bd3ed0a1a49327b7ebf9366ebd86"
-
-SRC_URI = "http://www.lzop.org/download/${BP}.tar.gz \
- file://acinclude.m4 \
- file://x32_abi_miniacc_h.patch \
- file://0001-use-static-inlines-as-the-external-inline-definition.patch \
- file://lzop-1.03-gcc6.patch \
- "
-SRC_URI[md5sum] = "006c5e27fb78cdd14a628fdfa5aa1905"
-SRC_URI[sha256sum] = "c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9"
-
-inherit autotools
-
-do_configure_prepend () {
- install -Dm 0644 ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/lzop/lzop_1.04.bb b/poky/meta/recipes-support/lzop/lzop_1.04.bb
new file mode 100644
index 000000000..b50c23043
--- /dev/null
+++ b/poky/meta/recipes-support/lzop/lzop_1.04.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Real-time file compressor"
+DESCRIPTION = "lzop is a compression utility which is designed to be a companion to gzip. \n\
+It is based on the LZO data compression library and its main advantages over \n\
+gzip are much higher compression and decompression speed at the cost of some \n\
+compression ratio. The lzop compression utility was designed with the goals \n\
+of reliability, speed, portability and with reasonable drop-in compatibility \n\
+to gzip."
+DEPENDS += "lzo"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/lzop.c;beginline=5;endline=21;md5=23d767de7754eb24b9e900b025cf7fc8"
+
+SRC_URI = "http://www.lzop.org/download/${BP}.tar.gz \
+ file://acinclude.m4 \
+ "
+SRC_URI[md5sum] = "271eb10fde77a0a96b9cbf745e719ddf"
+SRC_URI[sha256sum] = "7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f305a2f41"
+
+inherit autotools
+
+do_configure_prepend () {
+ install -Dm 0644 ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch b/poky/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch
deleted file mode 100644
index 59d1b0db6..000000000
--- a/poky/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-mpfr-longlong.h: Fix obsolete ARC asm constraints
-
-This patch replaces obsolete ARC "J" asm constraint with
-up-to-date "Cal" constraint.
-
-"J" constraint only existed in pre-upstream GCC port for ARC.
-In current upstream port "Cal" constraint is used which leads
-to compile-time error.
-
-Proposed fix is known to work in Buildroot, Crosstool-NG etc.
-
-[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=09cb6a17e71bd40d2fbfaf82a1502fc210e33c87
-
-Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
-Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
-Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
-
-Upstream-Status: Backport [https://gforge.inria.fr/scm/viewvc.php/mpfr?view=revision&revision=13251]
----
-Index: src/mpfr-longlong.h
-===================================================================
---- a/src/mpfr-longlong.h (revision 10963)
-+++ b/src/mpfr-longlong.h (working copy)
-@@ -416,17 +416,17 @@
- : "=r" (sh), \
- "=&r" (sl) \
- : "r" ((USItype) (ah)), \
-- "rIJ" ((USItype) (bh)), \
-+ "rICal" ((USItype) (bh)), \
- "%r" ((USItype) (al)), \
-- "rIJ" ((USItype) (bl)))
-+ "rICal" ((USItype) (bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub.f\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
- : "=r" (sh), \
- "=&r" (sl) \
- : "r" ((USItype) (ah)), \
-- "rIJ" ((USItype) (bh)), \
-+ "rICal" ((USItype) (bh)), \
- "r" ((USItype) (al)), \
-- "rIJ" ((USItype) (bl)))
-+ "rICal" ((USItype) (bl)))
- #endif
-
- #if defined (__arm__) && (defined (__thumb2__) || !defined (__thumb__)) \
diff --git a/poky/meta/recipes-support/mpfr/mpfr_4.0.1.bb b/poky/meta/recipes-support/mpfr/mpfr_4.0.1.bb
deleted file mode 100644
index 2eee76a35..000000000
--- a/poky/meta/recipes-support/mpfr/mpfr_4.0.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "C library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE = "http://www.mpfr.org/"
-LICENSE = "LGPLv3+"
-SECTION = "devel"
-
-inherit autotools texinfo
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
-DEPENDS = "gmp autoconf-archive"
-
-SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz \
- file://0001-Fix-obsolete-ARC-asm-constraints.patch"
-SRC_URI[md5sum] = "b8dd19bd9bb1ec8831a6a582a7308073"
-SRC_URI[sha256sum] = "67874a60826303ee2fb6affc6dc0ddd3e749e9bfcb4c8655e3953d0458a6e16e"
-
-UPSTREAM_CHECK_URI = "http://www.mpfr.org/mpfr-current/"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/mpfr/mpfr_4.0.2.bb b/poky/meta/recipes-support/mpfr/mpfr_4.0.2.bb
new file mode 100644
index 000000000..03059174e
--- /dev/null
+++ b/poky/meta/recipes-support/mpfr/mpfr_4.0.2.bb
@@ -0,0 +1,19 @@
+SUMMARY = "C library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE = "http://www.mpfr.org/"
+LICENSE = "LGPLv3+"
+SECTION = "devel"
+
+inherit autotools texinfo
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
+ "
+DEPENDS = "gmp autoconf-archive"
+
+SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz"
+SRC_URI[md5sum] = "320fbc4463d4c8cb1e566929d8adc4f8"
+SRC_URI[sha256sum] = "1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a"
+
+UPSTREAM_CHECK_URI = "http://www.mpfr.org/mpfr-current/"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4/Add-target-to-only-build-tests-not-run-them.patch b/poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch
index c007060ee..c007060ee 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4/Add-target-to-only-build-tests-not-run-them.patch
+++ b/poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4/check-header-files-of-openssl-only-if-enable_.patch b/poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch
index d5f266681..d5f266681 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4/check-header-files-of-openssl-only-if-enable_.patch
+++ b/poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4/dlopen-test.patch b/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch
index c4f0b7ea1..c4f0b7ea1 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4/dlopen-test.patch
+++ b/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4/run-ptest b/poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest
index b90bed66d..b90bed66d 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4/run-ptest
+++ b/poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest
diff --git a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb b/poky/meta/recipes-support/nettle/nettle_3.4.1.bb
new file mode 100644
index 000000000..dd49c30c8
--- /dev/null
+++ b/poky/meta/recipes-support/nettle/nettle_3.4.1.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A low level cryptographic library"
+HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/"
+SECTION = "libs"
+LICENSE = "LGPLv3+ | GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \
+ file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e"
+
+DEPENDS += "gmp"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://Add-target-to-only-build-tests-not-run-them.patch \
+ file://run-ptest \
+ file://check-header-files-of-openssl-only-if-enable_.patch \
+ "
+
+SRC_URI_append_class-target = "\
+ file://dlopen-test.patch \
+ "
+
+SRC_URI[md5sum] = "9bdebb0e2f638d3b9d91f7fc264b70c1"
+SRC_URI[sha256sum] = "f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad"
+
+UPSTREAM_CHECK_REGEX = "nettle-(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit autotools ptest multilib_header
+
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+EXTRA_OECONF = "--disable-openssl"
+CFLAGS_append = " -std=c99"
+
+do_compile_ptest() {
+ oe_runmake buildtest
+}
+
+do_install_append() {
+ oe_multilib_header nettle/nettle-stdint.h nettle/version.h
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite/
+ install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/
+ install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
+ # tools can be found in PATH, not in ../tools/
+ sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
+ install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/nettle/nettle_3.4.bb b/poky/meta/recipes-support/nettle/nettle_3.4.bb
deleted file mode 100644
index ca8450ea9..000000000
--- a/poky/meta/recipes-support/nettle/nettle_3.4.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "A low level cryptographic library"
-HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/"
-SECTION = "libs"
-LICENSE = "LGPLv3+ | GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \
- file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e"
-
-DEPENDS += "gmp"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://Add-target-to-only-build-tests-not-run-them.patch \
- file://run-ptest \
- file://check-header-files-of-openssl-only-if-enable_.patch \
- "
-
-SRC_URI_append_class-target = "\
- file://dlopen-test.patch \
- "
-
-SRC_URI[md5sum] = "dc0f13028264992f58e67b4e8915f53d"
-SRC_URI[sha256sum] = "ae7a42df026550b85daca8389b6a60ba6313b0567f374392e54918588a411e94"
-
-UPSTREAM_CHECK_REGEX = "nettle-(?P<pver>\d+(\.\d+)+)\.tar"
-
-inherit autotools ptest multilib_header
-
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-EXTRA_OECONF = "--disable-openssl"
-
-do_compile_ptest() {
- oe_runmake buildtest
-}
-
-do_install_append() {
- oe_multilib_header nettle/nettle-stdint.h nettle/version.h
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/testsuite/
- install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/
- install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
- # tools can be found in PATH, not in ../tools/
- sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
- install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/nspr/nspr/0002-Add-nios2-support.patch b/poky/meta/recipes-support/nspr/nspr/0002-Add-nios2-support.patch
index 23228067e..3a04d426a 100644
--- a/poky/meta/recipes-support/nspr/nspr/0002-Add-nios2-support.patch
+++ b/poky/meta/recipes-support/nspr/nspr/0002-Add-nios2-support.patch
@@ -12,11 +12,11 @@ Upstream-Status: Submitted [ https://bugzilla.mozilla.org/show_bug.cgi?id=124442
nspr/pr/include/md/_linux.h | 14 ++++++++++++++
2 files changed, 59 insertions(+)
-diff --git a/pr/include/md/_linux.cfg b/nspr/pr/include/md/_linux.cfg
-index 8cbf0cb..150676b 100644
---- a/pr/include/md/_linux.cfg
-+++ b/pr/include/md/_linux.cfg
-@@ -972,6 +972,51 @@
+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
@@ -68,10 +68,10 @@ index 8cbf0cb..150676b 100644
#elif defined(__or1k__)
#undef IS_LITTLE_ENDIAN
-diff --git a/pr/include/md/_linux.h b/nspr/pr/include/md/_linux.h
-index d378db5..18260be 100644
---- a/pr/include/md/_linux.h
-+++ b/pr/include/md/_linux.h
+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__)
@@ -80,8 +80,8 @@ index d378db5..18260be 100644
+#define _PR_SI_ARCHITECTURE "nios2"
#elif defined(__or1k__)
#define _PR_SI_ARCHITECTURE "or1k"
- #else
-@@ -125,6 +127,18 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval);
+ #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
@@ -100,6 +100,3 @@ index d378db5..18260be 100644
#if defined(__or1k__)
#if defined(__GNUC__)
/* Use GCC built-in functions */
---
-2.7.0.rc3
-
diff --git a/poky/meta/recipes-support/nspr/nspr/0003-Add-type-definitions-for-the-RISC-V-architecture.patch b/poky/meta/recipes-support/nspr/nspr/0003-Add-type-definitions-for-the-RISC-V-architecture.patch
deleted file mode 100644
index 47e1475e0..000000000
--- a/poky/meta/recipes-support/nspr/nspr/0003-Add-type-definitions-for-the-RISC-V-architecture.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-# HG changeset patch
-# User Karsten Merker <merker@debian.org>
-# Date 1523974333 -7200
-# Node ID f47871e2aeb16b39d4f516690e25c81b04d6d05a
-# Parent 776db96f834cb86e8863052201d55f60a2da91cb
-Bug 1308584, Add type definitions for the RISC-V architecture, r=kaie
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-[ Changes by AF:
- - Rebase on other Yocto patches
-]
-Upstream-Status: Backport [ https://hg.mozilla.org/projects/nspr/rev/f47871e2aeb1 ]
-
-diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg
---- a/pr/include/md/_linux.cfg
-+++ b/pr/include/md/_linux.cfg
-@@ -1015,16 +1015,108 @@
- #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(__riscv) && (__riscv_xlen == 32)
-+
-+#undef IS_BIG_ENDIAN
-+#define IS_LITTLE_ENDIAN 1
-+#undef IS_64
-+
-+#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 8
-+#define PR_ALIGN_OF_FLOAT 4
-+#define PR_ALIGN_OF_DOUBLE 8
-+#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(__riscv) && (__riscv_xlen == 64)
-+
-+#undef IS_BIG_ENDIAN
-+#define IS_LITTLE_ENDIAN 1
-+#define IS_64
-+
-+#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 8
-+#define PR_BYTES_PER_FLOAT 4
-+#define PR_BYTES_PER_DOUBLE 8
-+#define PR_BYTES_PER_WORD 8
-+#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 64
-+#define PR_BITS_PER_FLOAT 32
-+#define PR_BITS_PER_DOUBLE 64
-+#define PR_BITS_PER_WORD 64
-+
-+#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 6
-+#define PR_BITS_PER_FLOAT_LOG2 5
-+#define PR_BITS_PER_DOUBLE_LOG2 6
-+#define PR_BITS_PER_WORD_LOG2 6
-+
-+#define PR_ALIGN_OF_SHORT 2
-+#define PR_ALIGN_OF_INT 4
-+#define PR_ALIGN_OF_LONG 8
-+#define PR_ALIGN_OF_INT64 8
-+#define PR_ALIGN_OF_FLOAT 4
-+#define PR_ALIGN_OF_DOUBLE 8
-+#define PR_ALIGN_OF_POINTER 8
-+#define PR_ALIGN_OF_WORD 8
-+
-+#define PR_BYTES_PER_WORD_LOG2 3
-+#define PR_BYTES_PER_DWORD_LOG2 3
-+
- #else
-
- #error "Unknown CPU architecture"
-
- #endif
-
- #ifndef HAVE_LONG_LONG
- #define HAVE_LONG_LONG
-diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h
---- a/pr/include/md/_linux.h
-+++ b/pr/include/md/_linux.h
-@@ -54,16 +54,20 @@
- #elif defined(__avr32__)
- #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)
-+#define _PR_SI_ARCHITECTURE "riscv32"
-+#elif defined(__riscv) && (__riscv_xlen == 64)
-+#define _PR_SI_ARCHITECTURE "riscv64"
- #else
- #error "Unknown CPU architecture"
- #endif
- #define PR_DLL_SUFFIX ".so"
-
- #define _PR_VMBASE 0x30000000
- #define _PR_STACK_VMBASE 0x50000000
- #define _MD_DEFAULT_STACK_SIZE 65536L
-
diff --git a/poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch b/poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch
index ecc6d3187..7ba59ed64 100644
--- a/poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch
+++ b/poky/meta/recipes-support/nspr/nspr/remove-rpath-from-tests.patch
@@ -15,7 +15,7 @@ Index: nspr/pr/tests/Makefile.in
===================================================================
--- nspr.orig/pr/tests/Makefile.in
+++ nspr/pr/tests/Makefile.in
-@@ -315,7 +315,7 @@ ifeq ($(OS_ARCH), SunOS)
+@@ -316,7 +316,7 @@ ifeq ($(OS_ARCH), SunOS)
endif # SunOS
ifeq (,$(filter-out Linux GNU GNU_%,$(OS_ARCH)))
diff --git a/poky/meta/recipes-support/nspr/nspr_4.19.bb b/poky/meta/recipes-support/nspr/nspr_4.19.bb
deleted file mode 100644
index 9263f688d..000000000
--- a/poky/meta/recipes-support/nspr/nspr_4.19.bb
+++ /dev/null
@@ -1,195 +0,0 @@
-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://0003-Add-type-definitions-for-the-RISC-V-architecture.patch \
- file://0004-Add-ARC-support.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] = "e1d27282ad6286b69d6b9fd07201d3dd"
-SRC_URI[sha256sum] = "2ed95917fa2277910d1d1cf36030607dccc0ba522bba08e2af13c113dcd8f729"
-
-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_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/poky/meta/recipes-support/nspr/nspr_4.21.bb b/poky/meta/recipes-support/nspr/nspr_4.21.bb
new file mode 100644
index 000000000..25563e50f
--- /dev/null
+++ b/poky/meta/recipes-support/nspr/nspr_4.21.bb
@@ -0,0 +1,194 @@
+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://0004-Add-ARC-support.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] = "b865586f19912a50acc3755d8a45dbaa"
+SRC_URI[sha256sum] = "15ea32c7b100217b6e3193bc03e77f485d9bf7504051443ba9ce86d1c17c6b5a"
+
+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_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/poky/meta/recipes-support/nss/nss/nss-fix-SHA_HTONL-bug-for-arm-32be.patch b/poky/meta/recipes-support/nss/nss/nss-fix-SHA_HTONL-bug-for-arm-32be.patch
deleted file mode 100644
index bb1c6e3b3..000000000
--- a/poky/meta/recipes-support/nss/nss/nss-fix-SHA_HTONL-bug-for-arm-32be.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Subject: [PATCH] Fix SHA_HTONL bug for arm 32be.
-
-In arm 32be, there is no need to reverse the host value.
-
-Upstream-Status: Pending
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- lib/freebl/sha_fast.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/nss/lib/freebl/sha_fast.h b/nss/lib/freebl/sha_fast.h
-index 4f37d13..8072eda 100644
---- a/nss/lib/freebl/sha_fast.h
-+++ b/nss/lib/freebl/sha_fast.h
-@@ -99,6 +99,7 @@ swap4b(PRUint32 value)
- defined(__ARM_ARCH_7__) || \
- defined(__ARM_ARCH_7A__) || \
- defined(__ARM_ARCH_7R__)))
-+#if defined(IS_LITTLE_ENDIAN)
- static __inline__ PRUint32
- swap4b(PRUint32 value)
- {
-@@ -109,6 +110,7 @@ swap4b(PRUint32 value)
- return ret;
- }
- #define SHA_HTONL(x) swap4b(x)
-+#endif
-
- #endif /* x86 family */
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/nss/nss_3.39.bb b/poky/meta/recipes-support/nss/nss_3.39.bb
deleted file mode 100644
index 3a8e5d4b8..000000000
--- a/poky/meta/recipes-support/nss/nss_3.39.bb
+++ /dev/null
@@ -1,265 +0,0 @@
-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"
-
-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://nss-fix-nsinstall-build.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-SHA_HTONL-bug-for-arm-32be.patch \
- "
-
-SRC_URI[md5sum] = "10720fc70fd483de1b085402fb10ed59"
-SRC_URI[sha256sum] = "6be64dd76f212415cc8bc34343ac1e7389048db4db9a023a84873c411dc5864b"
-
-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
-
-DEPENDS = "sqlite3 nspr zlib nss-native"
-DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
-RDEPENDS_${PN}-smime = "perl"
-
-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}
- 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 CROSS_COMPILE=1
- export NATIVE_CC="${BUILD_CC}"
- export NATIVE_FLAGS="${BUILD_CFLAGS}"
- 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
-
- 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}/* \
- "
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-support/nss/nss_3.42.1.bb b/poky/meta/recipes-support/nss/nss_3.42.1.bb
new file mode 100644
index 000000000..b6bbd800f
--- /dev/null
+++ b/poky/meta/recipes-support/nss/nss_3.42.1.bb
@@ -0,0 +1,264 @@
+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"
+
+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://nss-fix-nsinstall-build.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 \
+ "
+
+SRC_URI[md5sum] = "1f6cc6c702379478a3a72298caaef0a7"
+SRC_URI[sha256sum] = "087db37d38fd49dfd584dd2a8b5baa7fc88de7c9bd97c0c2d5be4abcafc61fc6"
+
+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
+
+DEPENDS = "sqlite3 nspr zlib nss-native"
+DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
+RDEPENDS_${PN}-smime = "perl"
+
+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}
+ 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 CROSS_COMPILE=1
+ export NATIVE_CC="${BUILD_CC}"
+ export NATIVE_FLAGS="${BUILD_CFLAGS}"
+ 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
+
+ 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}/* \
+ "
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.14.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.14.bb
deleted file mode 100644
index dd25c3813..000000000
--- a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.14.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Provides a way to load and enumerate PKCS#11 modules"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50"
-
-inherit autotools gettext pkgconfig gtk-doc
-
-DEPENDS = "libtasn1 libffi"
-
-SRC_URI = "git://github.com/p11-glue/p11-kit \
- file://0001-LINGUAS-drop-the-languages-for-which-upstream-does-n.patch \
- "
-SRCREV = "3770793f026e46a000d2d8816d56122598289d5c"
-S = "${WORKDIR}/git"
-
-AUTOTOOLS_AUXDIR = "${S}/build/litter"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[trust-paths] = "--with-trust-paths=/etc/ssl/certs/ca-certificates.crt,--without-trust-paths,,ca-certificates"
-
-# This recipe does not use the standard gtk-doc m4 macros, and so the ./configure flags
-# that control gtk-doc build are non-standard
-EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-doc --enable-doc-html --disable-doc-pdf', \
- '--disable-doc', d)} "
-
-# When building native recipes, disable gtkdoc, as it is not necessary,
-# pulls in additional dependencies, and makes build times longer
-EXTRA_OECONF_prepend_class-native = "--disable-doc "
-EXTRA_OECONF_prepend_class-nativesdk = "--disable-doc "
-
-UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-gtk-doc-html --disable-gtk-doc-pdf --enable-gtk-doc --disable-gtk-doc"
-
-# p11-kit relies on these two being copied from source tree
-# instead of being regenerated by gtkdoc-scan, but doesn't setup
-# dependencies correctly when there is a parallel build. Let's pre-copy
-# them instead.
-do_compile_prepend () {
- cp ${S}/doc/manual/p11-kit-overrides.txt ${S}/doc/manual/p11-kit-sections.txt ${B}/doc/manual/
-}
-
-FILES_${PN} += " \
- ${libdir}/p11-kit-proxy.so \
- ${libdir}/pkcs11/*.so \
- ${libdir}/pkcs11/*.la"
-
-# PN contains p11-kit-proxy.so, a symlink to a loadable module
-INSANE_SKIP_${PN} = "dev-so"
diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb
new file mode 100644
index 000000000..59e675b54
--- /dev/null
+++ b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Provides a way to load and enumerate PKCS#11 modules"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50"
+
+inherit autotools gettext pkgconfig gtk-doc
+
+DEPENDS = "libtasn1 libffi"
+
+SRC_URI = "git://github.com/p11-glue/p11-kit \
+ file://0001-LINGUAS-drop-the-languages-for-which-upstream-does-n.patch \
+ "
+SRCREV = "1ba80c67c492f25581ed97c8c31ffb5f20636d06"
+S = "${WORKDIR}/git"
+
+AUTOTOOLS_AUXDIR = "${S}/build/litter"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[trust-paths] = "--with-trust-paths=/etc/ssl/certs/ca-certificates.crt,--without-trust-paths,,ca-certificates"
+
+# This recipe does not use the standard gtk-doc m4 macros, and so the ./configure flags
+# that control gtk-doc build are non-standard
+EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-doc --enable-doc-html --disable-doc-pdf', \
+ '--disable-doc', d)} "
+
+# When building native recipes, disable gtkdoc, as it is not necessary,
+# pulls in additional dependencies, and makes build times longer
+EXTRA_OECONF_prepend_class-native = "--disable-doc "
+EXTRA_OECONF_prepend_class-nativesdk = "--disable-doc "
+
+UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-gtk-doc-html --disable-gtk-doc-pdf --enable-gtk-doc --disable-gtk-doc"
+
+# p11-kit relies on these two being copied from source tree
+# instead of being regenerated by gtkdoc-scan, but doesn't setup
+# dependencies correctly when there is a parallel build. Let's pre-copy
+# them instead.
+do_compile_prepend () {
+ cp ${S}/doc/manual/p11-kit-overrides.txt ${S}/doc/manual/p11-kit-sections.txt ${B}/doc/manual/
+}
+
+FILES_${PN} += " \
+ ${libdir}/p11-kit-proxy.so \
+ ${libdir}/pkcs11/*.so \
+ ${libdir}/pkcs11/*.la"
+
+# PN contains p11-kit-proxy.so, a symlink to a loadable module
+INSANE_SKIP_${PN} = "dev-so"
diff --git a/poky/meta/recipes-support/popt/popt_1.16.bb b/poky/meta/recipes-support/popt/popt_1.16.bb
index 377d10844..478288f9b 100644
--- a/poky/meta/recipes-support/popt/popt_1.16.bb
+++ b/poky/meta/recipes-support/popt/popt_1.16.bb
@@ -8,7 +8,7 @@ PR = "r3"
DEPENDS = "virtual/libiconv"
-SRC_URI = "https://fossies.org/linux/misc/popt-${PV}.tar.gz \
+SRC_URI = "http://rpm5.org/files/popt/popt-${PV}.tar.gz \
file://pkgconfig_fix.patch \
file://popt_fix_for_automake-1.12.patch \
file://disable_tests.patch \
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.2.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.2.bb
deleted file mode 100644
index 622d23ba9..000000000
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.2.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A C program to run all installed ptests"
-DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \
-program which loops through all installed ptest test suites and \
-runs them in sequence."
-HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-
-SRCREV = "49956f65bb53ea2a2c1b394e5e59ffdfcdcc490f"
-PV = "2.2+git${SRCPV}"
-
-SRC_URI = "git://git.yoctoproject.org/ptest-runner2"
-S = "${WORKDIR}/git"
-
-FILES_${PN} = "${bindir}/ptest-runner"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_compile () {
- oe_runmake
-}
-
-do_install () {
- install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner
-}
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb
new file mode 100644
index 000000000..4b7992bf2
--- /dev/null
+++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A C program to run all installed ptests"
+DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \
+program which loops through all installed ptest test suites and \
+runs them in sequence."
+HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+SRCREV = "05b112bda7ac2adba8e9b0f088d6e5843b148a38"
+PV = "2.3.1+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/ptest-runner2"
+S = "${WORKDIR}/git"
+
+FILES_${PN} = "${bindir}/ptest-runner"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\"""
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner
+}
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch
index 4bd9d31c0..06d1d9436 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch
@@ -1,7 +1,7 @@
-From 99679fda405e535a282f04a4decc2381154a749f Mon Sep 17 00:00:00 2001
+From 06ba71887f667d45dd231a782a2751f36e8fe025 Mon Sep 17 00:00:00 2001
From: Christopher Larson <chris_larson@mentor.com>
Date: Mon, 15 Feb 2016 15:59:58 -0700
-Subject: [PATCH 1/2] If the libc is lacking argp, use libargp
+Subject: [PATCH 1/4] If the libc is lacking argp, use libargp
Patch pulled from Gentoo:
@@ -23,10 +23,10 @@ Signed-off-by: Christopher Larson <chris_larson@mentor.com>
1 file changed, 22 insertions(+)
diff --git a/configure.ac b/configure.ac
-index 27a2dba..04fcd25 100644
+index 4e799dc..c4a5dd8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -82,6 +82,28 @@ AS_IF(
+@@ -135,6 +135,28 @@ AS_IF(
]
)
@@ -56,5 +56,5 @@ index 27a2dba..04fcd25 100644
dnl Configure options
dnl -----------------
--
-2.2.1
+2.7.4
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch
new file mode 100644
index 000000000..d4d28a01c
--- /dev/null
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch
@@ -0,0 +1,27 @@
+From 99b0efebd765803203686d89bc4f995bcb103e78 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 10 Nov 2018 09:53:19 +0800
+Subject: [PATCH] configure.ac: fix typo
+
+Upstream-Status: Submitted [https://github.com/nhorman/rng-tools.git]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4e799dc..0251928 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,7 +62,7 @@ AS_IF([test $target_cpu = powerpc64le], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])]
+ AM_CONDITIONAL([JITTER], [false])
+
+ AC_ARG_ENABLE(jitterentropy,
+- AS_HELP_STRING([--disable-jitterntropy | --enable-jitterentropy=<path>],
++ AS_HELP_STRING([--disable-jitterentropy | --enable-jitterentropy=<path>],
+ [Disable jitterentropy source, or specify its location]),
+ [if [ test -d $enable_jitterentropy ]; then
+ export LDFLAGS+=-L$enable_jitterentropy;
+--
+2.7.4
+
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch
index 1c8a79ce0..be60fe97f 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch
@@ -1,23 +1,26 @@
-From afc8712a9e6c72fbd03c36f84ecf8703e5d22a8c Mon Sep 17 00:00:00 2001
+From 711e2f76890e3c5b08f64859d9fd913ddbec7d50 Mon Sep 17 00:00:00 2001
From: Christopher Larson <chris_larson@mentor.com>
-Date: Mon, 15 Feb 2016 16:11:32 -0700
-Subject: [PATCH 2/2] Add argument to control the libargp dependency
+Date: Mon, 22 Oct 2018 15:26:47 +0800
+Subject: [PATCH 2/4] Add argument to control the libargp dependency
This ensures that the builds are always deterministic. If the argument isn't
passed, the default behavior is to use libargp if the libc doesn't have argp.
Upstream-Status: Pending
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+
+Rebase to 6.6
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 55 ++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 36 insertions(+), 19 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 04fcd25..11a5321 100644
+index c4a5dd8..dd1c30f 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -32,6 +32,13 @@ AC_ARG_WITH([libgcrypt],
- [with_libgcrypt=check]
+@@ -40,6 +40,13 @@ AC_ARG_WITH([nistbeacon],
+ [with_nistbeacon=check]
)
+AC_ARG_WITH([libargp],
@@ -29,8 +32,8 @@ index 04fcd25..11a5321 100644
+
dnl Make sure anyone changing configure.ac/Makefile.am has a clue
AM_MAINTAINER_MODE
-
-@@ -82,27 +89,37 @@ AS_IF(
+ AM_PROG_AS
+@@ -135,27 +142,37 @@ AS_IF(
]
)
@@ -88,5 +91,5 @@ index 04fcd25..11a5321 100644
dnl -----------------
dnl Configure options
--
-2.2.1
+2.7.4
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/read_error_msg.patch b/poky/meta/recipes-support/rng-tools/rng-tools/read_error_msg.patch
deleted file mode 100644
index 8aa13bf8b..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools/read_error_msg.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-rng-tools: modify 'read error' message
-
-Make the 'read error' message more descriptive.
-
-Copied from https://bugzilla.redhat.com/attachment.cgi?id=1295857
-and modified in one place to apply successfully. Error message during
-bootstrap modified to show device name.
-
-Upstream-Status: pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
---- a/rngd.c
-+++ b/rngd.c
-@@ -247,8 +247,11 @@ static void do_loop(int random_step)
- continue; /* failed, no work */
-
- retval = iter->xread(buf, sizeof buf, iter);
-- if (retval)
-+ if (retval) {
-+ message(LOG_DAEMON|LOG_ERR,
-+ "Error reading from entropy source\n");
- continue; /* failed, no work */
-+ }
-
- work_done = true;
-
---- a/rngd_entsource.c
-+++ b/rngd_entsource.c
-@@ -63,10 +63,8 @@ int xread(void *buf, size_t size, struct
- size -= r;
- }
-
-- if (size) {
-- message(LOG_DAEMON|LOG_ERR, "read error\n");
-+ if (size)
- return -1;
-- }
- return 0;
- }
-
-@@ -152,7 +150,7 @@ error_out:
- }
-
- /* Initialize entropy source */
--static int discard_initial_data(struct rng *ent_src)
-+static int discard_initial_data(struct rng *ent_src, int *buf)
- {
- /* Trash 32 bits of what is probably stale (non-random)
- * initial state from the RNG. For Intel's, 8 bits would
-@@ -164,10 +162,12 @@ static int discard_initial_data(struct r
- xread(tempbuf, sizeof(tempbuf), ent_src);
-
- /* Return 32 bits of bootstrap data */
-- xread(tempbuf, sizeof(tempbuf), ent_src);
-+ if (xread(tempbuf, sizeof(tempbuf), ent_src) != 0)
-+ return -1;
-
-- return tempbuf[0] | (tempbuf[1] << 8) |
-+ *buf = tempbuf[0] | (tempbuf[1] << 8) |
- (tempbuf[2] << 16) | (tempbuf[3] << 24);
-+ return 0;
- }
-
- /*
-@@ -175,6 +175,8 @@ static int discard_initial_data(struct r
- */
- int init_entropy_source(struct rng *ent_src)
- {
-+ int bootstrap;
-+
- ent_src->rng_fd = open(ent_src->rng_name, O_RDONLY);
- if (ent_src->rng_fd == -1) {
- return 1;
-@@ -182,7 +184,11 @@ int init_entropy_source(struct rng *ent_
- src_list_add(ent_src);
- /* Bootstrap FIPS tests */
- ent_src->fipsctx = malloc(sizeof(fips_ctx_t));
-- fips_init(ent_src->fipsctx, discard_initial_data(ent_src));
-+ if (discard_initial_data(ent_src, &bootstrap) != 0) {
-+ message(LOG_ERR|LOG_INFO, "Read failure in %s during bootstrap\n",ent_src->rng_name);
-+ return 1;
-+ }
-+ fips_init(ent_src->fipsctx, bootstrap);
- return 0;
- }
-
---- a/rngtest.c
-+++ b/rngtest.c
-@@ -335,6 +335,7 @@ static int discard_initial_data(void)
-
- return tempbuf[0] | (tempbuf[1] << 8) |
- (tempbuf[2] << 16) | (tempbuf[3] << 24);
-+
- }
-
- static void do_rng_fips_test_loop( void )
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch b/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch
index 93a5864a4..614adab27 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch
@@ -1,5 +1,10 @@
-From: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
-Subject: [PATCH] Fix assemby textrels on rdrand_asm.S on PIC x86
+From d8b1bb8edd99b2898720b4f10d292a67d532db48 Mon Sep 17 00:00:00 2001
+From: "Francisco Blas Izquierdo Riera (klondike)" <klondike@gentoo.org>
+Date: Mon, 22 Oct 2018 15:29:36 +0800
+Subject: [PATCH 4/4] Fix assemby textrels on rdrand_asm.S on PIC x86
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
This patch updates the fixes in the assembly in rdrand_asm.S in
sys-apps/rng-tools-5 so it won't generate textrels on PIC systems.
@@ -19,11 +24,14 @@ Reported-by: Manuel RĂĽger <mrueg@gentoo.org>
Tested-by: Anthony Basile <blueness@gentoo.org>
Upstream-Status: Pending
+---
+ rdrand_asm.S | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
-Index: rng-tools-5/rdrand_asm.S
-===================================================================
---- rng-tools-5.orig/rdrand_asm.S
-+++ rng-tools-5/rdrand_asm.S
+diff --git a/rdrand_asm.S b/rdrand_asm.S
+index b5d260a..7811cf2 100644
+--- a/rdrand_asm.S
++++ b/rdrand_asm.S
@@ -2,6 +2,7 @@
* Copyright (c) 2011-2014, Intel Corporation
* Authors: Fenghua Yu <fenghua.yu@intel.com>,
@@ -32,7 +40,7 @@ Index: rng-tools-5/rdrand_asm.S
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
-@@ -174,7 +175,19 @@ ENTRY(x86_rdseed_or_rdrand_bytes)
+@@ -172,7 +173,19 @@ ENTRY(x86_rdseed_or_rdrand_bytes)
jmp 4b
ENDPROC(x86_rdseed_or_rdrand_bytes)
@@ -52,7 +60,7 @@ Index: rng-tools-5/rdrand_asm.S
#define PTR0 %eax
#define PTR1 %edx
#define PTR2 %ecx
-@@ -190,6 +203,7 @@ ENTRY(x86_aes_mangle)
+@@ -188,6 +201,7 @@ ENTRY(x86_aes_mangle)
movl 8(%ebp), %eax
movl 12(%ebp), %edx
push %esi
@@ -60,7 +68,7 @@ Index: rng-tools-5/rdrand_asm.S
#endif
movl $512, CTR3 /* Number of rounds */
-@@ -280,6 +294,7 @@ offset = offset + 16
+@@ -278,6 +292,7 @@ offset = offset + 16
movdqa %xmm7, (7*16)(PTR1)
#ifdef __i386__
@@ -68,7 +76,7 @@ Index: rng-tools-5/rdrand_asm.S
pop %esi
pop %ebp
#endif
-@@ -294,6 +309,7 @@ ENTRY(x86_aes_expand_key)
+@@ -292,6 +307,7 @@ ENTRY(x86_aes_expand_key)
push %ebp
mov %esp, %ebp
movl 8(%ebp), %eax
@@ -76,7 +84,7 @@ Index: rng-tools-5/rdrand_asm.S
#endif
SETPTR(aes_round_keys, PTR1)
-@@ -323,6 +339,7 @@ ENTRY(x86_aes_expand_key)
+@@ -321,6 +337,7 @@ ENTRY(x86_aes_expand_key)
call 1f
#ifdef __i386__
@@ -84,7 +92,7 @@ Index: rng-tools-5/rdrand_asm.S
pop %ebp
#endif
ret
-@@ -343,6 +360,16 @@ ENTRY(x86_aes_expand_key)
+@@ -341,6 +358,16 @@ ENTRY(x86_aes_expand_key)
ENDPROC(x86_aes_expand_key)
@@ -101,3 +109,6 @@ Index: rng-tools-5/rdrand_asm.S
.bss
.balign 64
aes_round_keys:
+--
+2.7.4
+
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch b/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch
index afd08d577..aa4bbcb34 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch
@@ -1,4 +1,8 @@
-Fix underquoted m4 entry. This causes a failure if gcrypt isn't present:
+From 03fe7efa1bc04a83fb9b6787998e7baa7ee90646 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Mon, 22 Oct 2018 15:27:41 +0800
+Subject: [PATCH 3/4] Fix underquoted m4 entry. This causes a failure if gcrypt
+ isn't present:
| configure: libgcrypt support disabled
| ../rng-tools-5/configure: line 4345: ac_fn_c_try_link: command not found
@@ -9,11 +13,17 @@ RP
Upstream-Status: Pending
-Index: rng-tools-5/configure.ac
-===================================================================
---- rng-tools-5.orig/configure.ac
-+++ rng-tools-5/configure.ac
-@@ -71,7 +71,7 @@ AS_IF(
+Rebase to 6.6
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index dd1c30f..88d2be3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -124,7 +124,7 @@ AS_IF(
[test "x$with_libgcrypt" != "xno"],
[
AC_CHECK_HEADER([gcrypt.h],
@@ -22,7 +32,7 @@ Index: rng-tools-5/configure.ac
[gcrypt],
[gcry_check_version], ,
[
-@@ -80,7 +80,7 @@ AS_IF(
+@@ -133,7 +133,7 @@ AS_IF(
AC_MSG_NOTICE([libgcrypt support disabled])
fi
]
@@ -31,3 +41,6 @@ Index: rng-tools-5/configure.ac
[if test "x$with_libgcrypt" != "xcheck"; then
AC_MSG_FAILURE([libgcrypt headers not found]); else
AC_MSG_NOTICE([libgcrypt support disabled])
+--
+2.7.4
+
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_5.bb b/poky/meta/recipes-support/rng-tools/rng-tools_5.bb
deleted file mode 100644
index 6765667a5..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools_5.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Random number generator daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0b6f033afe6db235e559456585dc8cdc"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gkernel/${BP}.tar.gz \
- file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \
- file://0002-Add-argument-to-control-the-libargp-dependency.patch \
- file://underquote.patch \
- file://rng-tools-5-fix-textrels-on-PIC-x86.patch \
- file://read_error_msg.patch \
- file://init \
- file://default \
- file://rngd.service \
-"
-
-SRC_URI[md5sum] = "6726cdc6fae1f5122463f24ae980dd68"
-SRC_URI[sha256sum] = "60a102b6603bbcce2da341470cad42eeaa9564a16b4490e7867026ca11a3078e"
-
-inherit autotools update-rc.d systemd
-
-PACKAGECONFIG = "libgcrypt"
-PACKAGECONFIG_libc-musl = "libargp"
-PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
-PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt,"
-
-do_install_append() {
- # Only install the init script when 'sysvinit' is in DISTRO_FEATURES.
- 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/rng-tools
- sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \
- ${D}${sysconfdir}/init.d/rng-tools
-
- install -d "${D}${sysconfdir}/default"
- install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/rngd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/rngd.service
- fi
-}
-
-INITSCRIPT_NAME = "rng-tools"
-INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ."
-
-SYSTEMD_SERVICE_${PN} = "rngd.service"
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb
new file mode 100644
index 000000000..6796c9be9
--- /dev/null
+++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Random number generator daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/nhorman/rng-tools.git \
+ file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \
+ file://0002-Add-argument-to-control-the-libargp-dependency.patch \
+ file://underquote.patch \
+ file://rng-tools-5-fix-textrels-on-PIC-x86.patch \
+ file://0001-configure.ac-fix-typo.patch \
+ file://init \
+ file://default \
+ file://rngd.service \
+"
+SRCREV = "4ebc21d6f387bb7b4b3f6badc429e27b21c0a6ee"
+S = "${WORKDIR}/git"
+
+inherit autotools update-rc.d systemd pkgconfig
+
+DEPENDS = " \
+ sysfsutils \
+ "
+
+PACKAGECONFIG ??= "libgcrypt libjitterentropy"
+PACKAGECONFIG_libc-musl = "libargp libjitterentropy"
+PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
+PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt,"
+PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy"
+PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl"
+
+# Refer autogen.sh in rng-tools
+do_configure_prepend() {
+ cp ${S}/README.md ${S}/README
+}
+
+do_install_append() {
+ # Only install the init script when 'sysvinit' is in DISTRO_FEATURES.
+ 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/rng-tools
+ sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \
+ ${D}${sysconfdir}/init.d/rng-tools
+
+ install -d "${D}${sysconfdir}/default"
+ install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/rngd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/rngd.service
+ fi
+}
+
+INITSCRIPT_NAME = "rng-tools"
+INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ."
+
+SYSTEMD_SERVICE_${PN} = "rngd.service"
diff --git a/poky/meta/recipes-support/shared-mime-info/shared-mime-info.inc b/poky/meta/recipes-support/shared-mime-info/shared-mime-info.inc
index 344da7ea7..3fe1a445b 100644
--- a/poky/meta/recipes-support/shared-mime-info/shared-mime-info.inc
+++ b/poky/meta/recipes-support/shared-mime-info/shared-mime-info.inc
@@ -30,6 +30,8 @@ do_install () {
do_install_class-native () {
autotools_do_install
+
+ ${B}/update-mime-database ${D}${datadir}/mime
}
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3.inc b/poky/meta/recipes-support/sqlite/sqlite3.inc
index 1834867d1..daf3db5e9 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3.inc
+++ b/poky/meta/recipes-support/sqlite/sqlite3.inc
@@ -21,11 +21,19 @@ CVE_PRODUCT = "sqlite"
inherit autotools pkgconfig
-PACKAGECONFIG ?= ""
-PACKAGECONFIG_class-native = ""
+# enable those which are enabled by default in configure
+PACKAGECONFIG ?= "fts4 fts5 json1 rtree dyn_ext"
+PACKAGECONFIG_class-native ?= "fts4 fts5 json1 rtree dyn_ext"
PACKAGECONFIG[editline] = "--enable-editline,--disable-editline,libedit"
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline ncurses"
+PACKAGECONFIG[fts3] = "--enable-fts3,--disable-fts3"
+PACKAGECONFIG[fts4] = "--enable-fts4,--disable-fts4"
+PACKAGECONFIG[fts5] = "--enable-fts5,--disable-fts5"
+PACKAGECONFIG[json1] = "--enable-json1,--disable-json1"
+PACKAGECONFIG[rtree] = "--enable-rtree,--disable-rtree"
+PACKAGECONFIG[session] = "--enable-session,--disable-session"
+PACKAGECONFIG[dyn_ext] = "--enable-dynamic-extensions,--disable-dynamic-extensions"
EXTRA_OECONF = " \
--enable-shared \
diff --git a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch b/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch
new file mode 100644
index 000000000..1b907b9d4
--- /dev/null
+++ b/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch
@@ -0,0 +1,28 @@
+Running fts5 prefix queries inside a transaction could trigger a heap-based
+buffer over-read in fts5HashEntrySort in sqlite3.c, which may lead to an
+information leak.
+
+CVE: CVE-2019-9936
+Upstream-Status: Backport [https://sqlite.org/src/vpatch?from=45c73deb440496e8&to=b3fa58dd7403dbd4]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ sqlite3.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/sqlite3.c b/sqlite3.c
+index 4729f45..65527d8 100644
+--- a/sqlite3.c
++++ b/sqlite3.c
+@@ -207759,7 +207759,9 @@ static int fts5HashEntrySort(
+ for(iSlot=0; iSlot<pHash->nSlot; iSlot++){
+ Fts5HashEntry *pIter;
+ for(pIter=pHash->aSlot[iSlot]; pIter; pIter=pIter->pHashNext){
+- if( pTerm==0 || 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm) ){
++ if( pTerm==0
++ || (pIter->nKey+1>=nTerm && 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm))
++ ){
+ Fts5HashEntry *pEntry = pIter;
+ pEntry->pScanNext = 0;
+ for(i=0; ap[i]; i++){
+--
+2.20.1
diff --git a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch b/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch
new file mode 100644
index 000000000..baa5666dd
--- /dev/null
+++ b/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch
@@ -0,0 +1,187 @@
+Interleaving reads and writes in a single transaction with an fts5 virtual table
+will lead to a NULL Pointer Dereference in fts5ChunkIterate in sqlite3.c.
+
+CVE: CVE-2019-9937
+Upstream-Status: Backport [https://sqlite.org/src/vpatch?from=c2f50aa4e7bad882&to=45c73deb440496e8]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+---
+ sqlite3.c | 83 ++++++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 57 insertions(+), 26 deletions(-)
+
+diff --git a/sqlite3.c b/sqlite3.c
+index 65527d8..b1a8799 100644
+--- a/sqlite3.c
++++ b/sqlite3.c
+@@ -200668,8 +200668,9 @@ static void sqlite3Fts5HashClear(Fts5Hash*);
+
+ static int sqlite3Fts5HashQuery(
+ Fts5Hash*, /* Hash table to query */
++ int nPre,
+ const char *pTerm, int nTerm, /* Query term */
+- const u8 **ppDoclist, /* OUT: Pointer to doclist for pTerm */
++ void **ppObj, /* OUT: Pointer to doclist for pTerm */
+ int *pnDoclist /* OUT: Size of doclist in bytes */
+ );
+
+@@ -207501,19 +207502,25 @@ static int fts5HashResize(Fts5Hash *pHash){
+ return SQLITE_OK;
+ }
+
+-static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){
++static int fts5HashAddPoslistSize(
++ Fts5Hash *pHash,
++ Fts5HashEntry *p,
++ Fts5HashEntry *p2
++){
++ int nRet = 0;
+ if( p->iSzPoslist ){
+- u8 *pPtr = (u8*)p;
++ u8 *pPtr = p2 ? (u8*)p2 : (u8*)p;
++ int nData = p->nData;
+ if( pHash->eDetail==FTS5_DETAIL_NONE ){
+- assert( p->nData==p->iSzPoslist );
++ assert( nData==p->iSzPosList );
+ if( p->bDel ){
+- pPtr[p->nData++] = 0x00;
++ pPtr[nData++] = 0x00;
+ if( p->bContent ){
+- pPtr[p->nData++] = 0x00;
++ pPtr[nData++] = 0x00;
+ }
+ }
+ }else{
+- int nSz = (p->nData - p->iSzPoslist - 1); /* Size in bytes */
++ int nSz = (nData - p->iSzPoslist - 1); /* Size in bytes */
+ int nPos = nSz*2 + p->bDel; /* Value of nPos field */
+
+ assert( p->bDel==0 || p->bDel==1 );
+@@ -207523,14 +207530,19 @@ static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){
+ int nByte = sqlite3Fts5GetVarintLen((u32)nPos);
+ memmove(&pPtr[p->iSzPoslist + nByte], &pPtr[p->iSzPoslist + 1], nSz);
+ sqlite3Fts5PutVarint(&pPtr[p->iSzPoslist], nPos);
+- p->nData += (nByte-1);
++ nData += (nByte-1);
+ }
+ }
+
+- p->iSzPoslist = 0;
+- p->bDel = 0;
+- p->bContent = 0;
++ nRet = nData - p->nData;
++ if( p2 == 0 ){
++ p->iSzPoslist = 0;
++ p->bDel = 0;
++ p->bContent = 0;
++ p->nData = nData;
++ }
+ }
++ return nRet;
+ }
+
+ /*
+@@ -207642,7 +207654,7 @@ static int sqlite3Fts5HashWrite(
+ /* If this is a new rowid, append the 4-byte size field for the previous
+ ** entry, and the new rowid for this entry. */
+ if( iRowid!=p->iRowid ){
+- fts5HashAddPoslistSize(pHash, p);
++ fts5HashAddPoslistSize(pHash, p, 0);
+ p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iRowid - p->iRowid);
+ p->iRowid = iRowid;
+ bNew = 1;
+@@ -207789,8 +207801,9 @@ static int fts5HashEntrySort(
+ */
+ static int sqlite3Fts5HashQuery(
+ Fts5Hash *pHash, /* Hash table to query */
++ int nPre,
+ const char *pTerm, int nTerm, /* Query term */
+- const u8 **ppDoclist, /* OUT: Pointer to doclist for pTerm */
++ void **ppOut, /* OUT: Pointer to new object */
+ int *pnDoclist /* OUT: Size of doclist in bytes */
+ ){
+ unsigned int iHash = fts5HashKey(pHash->nSlot, (const u8*)pTerm, nTerm);
+@@ -207804,11 +207817,20 @@ static int sqlite3Fts5HashQuery(
+ }
+
+ if( p ){
+- fts5HashAddPoslistSize(pHash, p);
+- *ppDoclist = (const u8*)&zKey[nTerm+1];
+- *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1);
++ int nHashPre = sizeof(Fts5HashEntry) + nTerm + 1;
++ int nList = p->nData - nHashPre;
++ u8 *pRet = (u8*)(*ppOut = sqlite3_malloc64(nPre + nList + 10));
++ if ( pRet ){
++ Fts5HashEntry *pFaux = (Fts5HashEntry*)&pRet[nPre-nHashPre];
++ memcpy(&pRet[nPre], &((u8*)p)[nHashPre], nList);
++ nList += fts5HashAddPoslistSize(pHash, p, pFaux);
++ *pnDoclist = nList;
++ }else{
++ *pnDoclist = 0;
++ return SQLITE_NOMEM;
++ }
+ }else{
+- *ppDoclist = 0;
++ *ppOut = 0;
+ *pnDoclist = 0;
+ }
+
+@@ -207841,7 +207863,7 @@ static void sqlite3Fts5HashScanEntry(
+ if( (p = pHash->pScan) ){
+ char *zKey = fts5EntryKey(p);
+ int nTerm = (int)strlen(zKey);
+- fts5HashAddPoslistSize(pHash, p);
++ fts5HashAddPoslistSize(pHash, p, 0);
+ *pzTerm = zKey;
+ *ppDoclist = (const u8*)&zKey[nTerm+1];
+ *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1);
+@@ -210311,31 +210333,40 @@ static void fts5SegIterHashInit(
+ int flags, /* Mask of FTS5INDEX_XXX flags */
+ Fts5SegIter *pIter /* Object to populate */
+ ){
+- const u8 *pList = 0;
+ int nList = 0;
+ const u8 *z = 0;
+ int n = 0;
++ Fts5Data *pLeaf = 0;
+
+ assert( p->pHash );
+ assert( p->rc==SQLITE_OK );
+
+ if( pTerm==0 || (flags & FTS5INDEX_QUERY_SCAN) ){
++ const u8 *pList = 0;
++
+ p->rc = sqlite3Fts5HashScanInit(p->pHash, (const char*)pTerm, nTerm);
+ sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
+ n = (z ? (int)strlen((const char*)z) : 0);
++ if ( pList ){
++ pLeaf = fts5IdxMalloc(p, sizeof(Fts5Data));
++ if ( pLeaf ){
++ pLeaf->p = pList;
++ }
++ }
+ }else{
+- pIter->flags |= FTS5_SEGITER_ONETERM;
+- sqlite3Fts5HashQuery(p->pHash, (const char*)pTerm, nTerm, &pList, &nList);
++ p->rc = sqlite3Fts5HashQuery(p->pHash, sizeof(Fts5Data),
++ (const char*)pTerm, nTerm, (void**)&pLeaf, &nList
++ );
++ if( pLeaf ){
++ pLeaf->p = (u8*)&pLeaf[1];
++ }
+ z = pTerm;
+ n = nTerm;
++ pIter->flags |= FTS5_SEGITER_ONETERM;
+ }
+
+- if( pList ){
+- Fts5Data *pLeaf;
++ if( pLeaf ){
+ sqlite3Fts5BufferSet(&p->rc, &pIter->term, n, z);
+- pLeaf = fts5IdxMalloc(p, sizeof(Fts5Data));
+- if( pLeaf==0 ) return;
+- pLeaf->p = (u8*)pList;
+ pLeaf->nn = pLeaf->szLeaf = nList;
+ pIter->pLeaf = pLeaf;
+ pIter->iLeafOffset = fts5GetVarint(pLeaf->p, (u64*)&pIter->iRowid);
+--
+2.20.1
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.23.1.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.23.1.bb
deleted file mode 100644
index 3755761d7..000000000
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.23.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require sqlite3.inc
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
-
-SRC_URI = "\
- http://www.sqlite.org/2018/sqlite-autoconf-${SQLITE_PV}.tar.gz \
- "
-SRC_URI[md5sum] = "99a51b40a66872872a91c92f6d0134fa"
-SRC_URI[sha256sum] = "92842b283e5e744eff5da29ed3c69391de7368fccc4d0ee6bf62490ce555ef25"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb
new file mode 100644
index 000000000..4bdb04f4d
--- /dev/null
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb
@@ -0,0 +1,13 @@
+require sqlite3.inc
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
+
+SRC_URI = "\
+ http://www.sqlite.org/2019/sqlite-autoconf-${SQLITE_PV}.tar.gz \
+ file://CVE-2019-9936.patch \
+ file://CVE-2019-9937.patch \
+ "
+
+SRC_URI[md5sum] = "1f72631ce6e8efa5b4a6e55a43b3bdc0"
+SRC_URI[sha256sum] = "50c39e85ea28b5ecfdb3f9e860afe9ba606381e21836b2849efca6a0bfe6ef6e"
diff --git a/meta-openembedded/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch b/poky/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
index 63a7b78f1..63a7b78f1 100644
--- a/meta-openembedded/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
+++ b/poky/meta/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
diff --git a/poky/meta/recipes-support/vim/files/disable_acl_header_check.patch b/poky/meta/recipes-support/vim/files/disable_acl_header_check.patch
new file mode 100644
index 000000000..33089162b
--- /dev/null
+++ b/poky/meta/recipes-support/vim/files/disable_acl_header_check.patch
@@ -0,0 +1,39 @@
+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 2d409b3ca06a..dbcaf6140263 100644
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -3257,7 +3257,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 sys/ptms.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
+@@ -3886,6 +3886,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/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch b/poky/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
index 37914d4cd..37914d4cd 100644
--- a/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
+++ b/poky/meta/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
diff --git a/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.1.0347.bb b/poky/meta/recipes-support/vim/vim-tiny_8.1.1017.bb
index 8b1fb7b11..8b1fb7b11 100644
--- a/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.1.0347.bb
+++ b/poky/meta/recipes-support/vim/vim-tiny_8.1.1017.bb
diff --git a/poky/meta/recipes-support/vim/vim_8.1.1017.bb b/poky/meta/recipes-support/vim/vim_8.1.1017.bb
new file mode 100644
index 000000000..7627d2844
--- /dev/null
+++ b/poky/meta/recipes-support/vim/vim_8.1.1017.bb
@@ -0,0 +1,129 @@
+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 = "493fbe4abee660d30b4f2aef87b754b0a720213c"
+
+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)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \
+"
+PACKAGECONFIG_class-native = ""
+
+PACKAGECONFIG[gtkgui] = "--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}
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'true', 'false', d)}; then
+ # 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
+ fi
+}
+
+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/poky/meta/recipes-support/vte/vte/0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch b/poky/meta/recipes-support/vte/vte/0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch
new file mode 100644
index 000000000..9c3f98fa6
--- /dev/null
+++ b/poky/meta/recipes-support/vte/vte/0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch
@@ -0,0 +1,27 @@
+From 442da9076b52003743ffc6fd7b9d647de6d7aa8f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 17 Jan 2019 16:37:54 +0100
+Subject: [PATCH] app.cc: use old school asignment to avoid gcc 4.8 error
+
+This is needed to build vte-native on Centos 7,
+and can be dropped once that OS is no longer supported.
+
+Upstream-Status: Inappropriate [ancient compiler fix]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/app/app.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/app/app.cc b/src/app/app.cc
+index d424064..675d789 100644
+--- a/src/app/app.cc
++++ b/src/app/app.cc
+@@ -306,7 +306,7 @@ public:
+ else
+ alpha = get_alpha();
+
+- GdkRGBA color{bg_color};
++ GdkRGBA color = bg_color;
+ color.alpha = alpha;
+ return color;
+ }
diff --git a/poky/meta/recipes-support/vte/vte_0.52.2.bb b/poky/meta/recipes-support/vte/vte_0.52.2.bb
index 7324c9c63..272ae66f1 100644
--- a/poky/meta/recipes-support/vte/vte_0.52.2.bb
+++ b/poky/meta/recipes-support/vte/vte_0.52.2.bb
@@ -9,8 +9,9 @@ inherit gnomebase gtk-doc distro_features_check upstream-version-is-even gobject
# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
SRC_URI += "file://0001-Don-t-enable-stack-protection-by-default.patch \
- ${@bb.utils.contains('PACKAGECONFIG', 'vala', '', 'file://0001-Add-m4-vapigen.m4.patch', d) } \
- "
+ ${@bb.utils.contains('PACKAGECONFIG', 'vala', '', 'file://0001-Add-m4-vapigen.m4.patch', d) } \
+ file://0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch \
+ "
SRC_URI[archive.md5sum] = "de8181350dccb010e915e366bdd06d18"
SRC_URI[archive.sha256sum] = "0f2657cef52accbfe56feede553155552d7c1984b1291838af3cb8cfc19b26af"
@@ -44,3 +45,5 @@ EXTRA_OEMAKE_class-target = "LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool
PACKAGES =+ "libvte"
FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/oe-init-build-env b/poky/oe-init-build-env
index e813230a9..861c3e000 100755
--- a/poky/oe-init-build-env
+++ b/poky/oe-init-build-env
@@ -31,13 +31,18 @@ elif [ -n "$ZSH_NAME" ]; then
THIS_SCRIPT=$0
else
THIS_SCRIPT="$(pwd)/oe-init-build-env"
+ if [ ! -e "$THIS_SCRIPT" ]; then
+ echo "Error: $THIS_SCRIPT doesn't exist!" >&2
+ echo "Please run this script in oe-init-build-env's directory." >&2
+ exit 1
+ fi
fi
if [ -n "$BBSERVER" ]; then
unset BBSERVER
fi
if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then
- echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'"
+ echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" >&2
exit 1
fi
diff --git a/poky/scripts/autobuilder-worker-prereq-tests b/poky/scripts/autobuilder-worker-prereq-tests
index bb46c6913..358dd2bee 100755
--- a/poky/scripts/autobuilder-worker-prereq-tests
+++ b/poky/scripts/autobuilder-worker-prereq-tests
@@ -15,6 +15,12 @@
# test buildistory git repo works?
#
+if [ ! -x $HOME/yocto-autobuilder-helper/scripts/checkvnc ]; then
+ echo "$HOME/yocto-autobuilder-helper should be created."
+ exit 1
+fi
+$HOME/yocto-autobuilder-helper/scripts/checkvnc
+
. ./oe-init-build-env > /dev/null
if [ "$?" != "0" ]; then
exit 1
@@ -53,12 +59,12 @@ if [ ! -e bzImage-qemux86-64.bin ]; then
fi
popd
bitbake qemu-helper-native
-runqemu qemux86-64
+DISPLAY=:1 runqemu serialstdio qemux86-64
if [ "$?" != "0" ]; then
echo "Unable to use runqemu"
exit 1
fi
-runqemu qemux86-64 kvm
+DISPLAY=:1 runqemu serialstdio qemux86-64 kvm
if [ "$?" != "0" ]; then
echo "Unable to use runqemu with kvm"
exit 1
diff --git a/poky/scripts/distro/build-recipe-list.py b/poky/scripts/distro/build-recipe-list.py
deleted file mode 100755
index 216276485..000000000
--- a/poky/scripts/distro/build-recipe-list.py
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (c) 2017, Intel Corporation.
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
-#
-# This program is distributed in the hope 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.
-#
-
-import os
-import shutil
-import csv
-import sys
-import argparse
-
-__version__ = "0.1.0"
-
-# set of BPNs
-recipenames = set()
-# map of recipe -> data
-allrecipes = {}
-
-def make_bpn(recipe):
- prefixes = ("nativesdk-",)
- suffixes = ("-native", "-cross", "-initial", "-intermediate", "-crosssdk", "-cross-canadian")
- for ix in prefixes + suffixes:
- if ix in recipe:
- recipe = recipe.replace(ix, "")
- return recipe
-
-def gather_recipes(rows):
- for row in rows:
- recipe = row[0]
- bpn = make_bpn(recipe)
- if bpn not in recipenames:
- recipenames.add(bpn)
- if recipe not in allrecipes:
- allrecipes[recipe] = row
-
-def generate_recipe_list():
- # machine list
- machine_list = ( "qemuarm64", "qemuarm", "qemumips64", "qemumips", "qemuppc", "qemux86-64", "qemux86" )
- # set filename format
- fnformat = 'distrodata.%s.csv'
-
- # store all data files in distrodata
- datadir = 'distrodata'
-
- # create the directory if it does not exists
- if not os.path.exists(datadir):
- os.mkdir(datadir)
-
- # doing bitbake distrodata
- for machine in machine_list:
- os.system('MACHINE='+ machine + ' bitbake -k universe -c distrodata')
- shutil.copy('tmp/log/distrodata.csv', 'distrodata/' + fnformat % machine)
-
- for machine in machine_list:
- with open('distrodata/' + fnformat % machine) as f:
- reader = csv.reader(f)
- rows = reader.__iter__()
- gather_recipes(rows)
-
- with open('recipe-list.txt', 'w') as f:
- for recipe in sorted(recipenames):
- f.write("%s\n" % recipe)
- print("file : recipe-list.txt is created with %d entries." % len(recipenames))
-
- with open('all-recipe-list.txt', 'w') as f:
- for recipe, row in sorted(allrecipes.items()):
- f.write("%s\n" % ','.join(row))
-
-
-def diff_for_new_recipes(recipe1, recipe2):
- prev_recipe_path = recipe1 + '/'
- curr_recipe_path = recipe2 + '/'
- if not os.path.isfile(prev_recipe_path + 'recipe-list.txt') or not os.path.isfile(curr_recipe_path + 'recipe-list.txt'):
- print("recipe files do not exists. please verify that the file exists.")
- exit(1)
-
- import csv
-
- prev = []
- new = []
-
- with open(prev_recipe_path + 'recipe-list.txt') as f:
- prev = f.readlines()
-
- with open(curr_recipe_path + 'recipe-list.txt') as f:
- new = f.readlines()
-
- updates = []
- for pn in new:
- if not pn in prev:
- updates.append(pn.rstrip())
-
- allrecipe = []
- with open(recipe1 + '_' + recipe2 + '_new_recipe_list.txt','w') as dr:
- with open(curr_recipe_path + 'all-recipe-list.txt') as f:
- reader = csv.reader(f, delimiter=',')
- for row in reader:
- if row[0] in updates:
- dr.write("%s,%s,%s" % (row[0], row[3], row[5]))
- if len(row[9:]) > 0:
- dr.write(",%s" % ','.join(row[9:]))
- dr.write("\n")
-
-def main(argv):
- if argv[0] == "generate_recipe_list":
- generate_recipe_list()
- elif argv[0] == "compare_recipe":
- diff_for_new_recipes(argv[1], argv[2])
- else:
- print("no such option. choose either 'generate_recipe_list' or 'compare_recipe'")
-
- exit(0)
-
-if __name__ == "__main__":
- try:
- sys.exit(main(sys.argv[1:]))
- except Exception as e:
- print("Exception :", e)
- sys.exit(1)
-
diff --git a/poky/scripts/distro/distrocompare.sh b/poky/scripts/distro/distrocompare.sh
deleted file mode 100755
index 908760c23..000000000
--- a/poky/scripts/distro/distrocompare.sh
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright (c) 2017, Intel Corporation.
-# 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
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# distrocompare.sh : provides capability to get a list of new packages
-# based on two distinct branches. This script takes
-# 2 parameters; either a commit-ish or a branch name
-#
-# To run : distrocompare.sh <older hash> <newer hash>
-# E.g. distrocompare.sh morty 92aa0e7
-# E.g. distrocompare.sh morty pyro
-#
-
-# get input as version
-previous_version=$1
-current_version=$2
-
-# set previous and current version
-if [ -z "$2" ]; then
- previous_version=$1
- current_version="current"
-fi
-
-# get script location. That's where the source supposedly located as well.
-scriptdir="$( realpath $(dirname "${BASH_SOURCE[0]}" ))"
-sourcedir="$( realpath $scriptdir/../.. )"
-
-# create working directory
-workdir=$(mktemp -d)
-
-# prepare to rollback to the branch if not similar
-branch=`cd $sourcedir; git branch | grep \* | cut -d ' ' -f2`
-
-# set current workdir to store final result
-currentworkdir=`pwd`
-
-# persists the file after local repo change
-cp $scriptdir/build-recipe-list.py $workdir
-
-#==================================================================
-
-function bake_distrodata {
- # get to source directory of the git
- cd $sourcedir
-
- # change the branch / commit. Do not change if input is current
- if [ "$1" != "current" ]; then
- output=$(git checkout $1 2>&1)
-
- # exit if git fails
- if [[ $output == *"error"* ]]; then
- echo "git error : $output"
- echo "exiting ... "
- rm -rf $workdir
- exit
- fi
- fi
-
- # make tmp as workdir
- cd $workdir
-
- # source oe-init to generate a new build folder
- source $sourcedir/oe-init-build-env $1
-
- # if file already exists with distrodata, do not append
- if ! grep -q "distrodata" "conf/local.conf"; then
- # add inherit distrodata to local.conf to enable distrodata feature
- echo 'INHERIT += "distrodata"' >> conf/local.conf
- fi
-
- # use from tmp
- $workdir/build-recipe-list.py generate_recipe_list
-}
-
-bake_distrodata $previous_version
-bake_distrodata $current_version
-
-#==================================================================
-
-cd $workdir
-
-# compare the 2 generated recipe-list.txt
-$workdir/build-recipe-list.py compare_recipe $previous_version $current_version
-
-# copy final result to current working directory
-cp $workdir/*_new_recipe_list.txt $currentworkdir
-
-if [ $? -ne 0 ]; then
- rm -rf $workdir/$previous_version
- rm -rf $workdir/$current_version
- rm $workdir/build-recipe-list.py
- # preserve the result in /tmp/distrodata if fail to copy the result over
- exit
-fi
-
-# cleanup
-rm -rf $workdir
-
-# perform rollback branch
-cd $sourcedir
-currentbranch=`git branch | grep \* | cut -d ' ' -f2`
-if [ "$currentbranch" != "$branch" ]; then
- git checkout $branch
-fi
-
-cd $currentworkdir
-
-#==================================================================
diff --git a/poky/scripts/lib/devtool/__init__.py b/poky/scripts/lib/devtool/__init__.py
index 89f098a91..8fc7fffcd 100644
--- a/poky/scripts/lib/devtool/__init__.py
+++ b/poky/scripts/lib/devtool/__init__.py
@@ -205,6 +205,7 @@ def setup_git_repo(repodir, version, devbranch, basetag='devtool-base', d=None):
import oe.patch
if not os.path.exists(os.path.join(repodir, '.git')):
bb.process.run('git init', cwd=repodir)
+ bb.process.run('git config --local gc.autodetach 0', cwd=repodir)
bb.process.run('git add .', cwd=repodir)
commit_cmd = ['git']
oe.patch.GitApplyTree.gitCommandUserOptions(commit_cmd, d=d)
diff --git a/poky/scripts/lib/devtool/deploy.py b/poky/scripts/lib/devtool/deploy.py
index 886004b5d..f345f31b7 100644
--- a/poky/scripts/lib/devtool/deploy.py
+++ b/poky/scripts/lib/devtool/deploy.py
@@ -211,6 +211,11 @@ def deploy(args, config, basepath, workspace):
if not args.show_status:
extraoptions += ' -q'
+ scp_sshexec = ''
+ ssh_sshexec = 'ssh'
+ if args.ssh_exec:
+ scp_sshexec = "-S %s" % args.ssh_exec
+ ssh_sshexec = args.ssh_exec
scp_port = ''
ssh_port = ''
if args.port:
@@ -238,7 +243,7 @@ def deploy(args, config, basepath, workspace):
for fpath, fsize in filelist:
f.write('%s %d\n' % (fpath, fsize))
# Copy them to the target
- ret = subprocess.call("scp %s %s %s/* %s:%s" % (scp_port, extraoptions, tmpdir, args.target, os.path.dirname(tmpscript)), shell=True)
+ ret = subprocess.call("scp %s %s %s %s/* %s:%s" % (scp_sshexec, scp_port, extraoptions, tmpdir, args.target, os.path.dirname(tmpscript)), shell=True)
if ret != 0:
raise DevtoolError('Failed to copy script to %s - rerun with -s to '
'get a complete error message' % args.target)
@@ -246,7 +251,7 @@ def deploy(args, config, basepath, workspace):
shutil.rmtree(tmpdir)
# Now run the script
- ret = exec_fakeroot(rd, 'tar cf - . | ssh %s %s %s \'sh %s %s %s %s\'' % (ssh_port, extraoptions, args.target, tmpscript, args.recipename, destdir, tmpfilelist), cwd=recipe_outdir, shell=True)
+ ret = exec_fakeroot(rd, 'tar cf - . | %s %s %s %s \'sh %s %s %s %s\'' % (ssh_sshexec, ssh_port, extraoptions, args.target, tmpscript, args.recipename, destdir, tmpfilelist), cwd=recipe_outdir, shell=True)
if ret != 0:
raise DevtoolError('Deploy failed - rerun with -s to get a complete '
'error message')
@@ -276,6 +281,11 @@ def undeploy(args, config, basepath, workspace):
if not args.show_status:
extraoptions += ' -q'
+ scp_sshexec = ''
+ ssh_sshexec = 'ssh'
+ if args.ssh_exec:
+ scp_sshexec = "-S %s" % args.ssh_exec
+ ssh_sshexec = args.ssh_exec
scp_port = ''
ssh_port = ''
if args.port:
@@ -292,7 +302,7 @@ def undeploy(args, config, basepath, workspace):
with open(os.path.join(tmpdir, os.path.basename(tmpscript)), 'w') as f:
f.write(shellscript)
# Copy it to the target
- ret = subprocess.call("scp %s %s %s/* %s:%s" % (scp_port, extraoptions, tmpdir, args.target, os.path.dirname(tmpscript)), shell=True)
+ ret = subprocess.call("scp %s %s %s %s/* %s:%s" % (scp_sshexec, scp_port, extraoptions, tmpdir, args.target, os.path.dirname(tmpscript)), shell=True)
if ret != 0:
raise DevtoolError('Failed to copy script to %s - rerun with -s to '
'get a complete error message' % args.target)
@@ -300,7 +310,7 @@ def undeploy(args, config, basepath, workspace):
shutil.rmtree(tmpdir)
# Now run the script
- ret = subprocess.call('ssh %s %s %s \'sh %s %s\'' % (ssh_port, extraoptions, args.target, tmpscript, args.recipename), shell=True)
+ ret = subprocess.call('%s %s %s %s \'sh %s %s\'' % (ssh_sshexec, ssh_port, extraoptions, args.target, tmpscript, args.recipename), shell=True)
if ret != 0:
raise DevtoolError('Undeploy failed - rerun with -s to get a complete '
'error message')
@@ -324,6 +334,7 @@ def register_commands(subparsers, context):
parser_deploy.add_argument('-n', '--dry-run', help='List files to be deployed only', action='store_true')
parser_deploy.add_argument('-p', '--no-preserve', help='Do not preserve existing files', action='store_true')
parser_deploy.add_argument('--no-check-space', help='Do not check for available space before deploying', action='store_true')
+ parser_deploy.add_argument('-e', '--ssh-exec', help='Executable to use in place of ssh')
parser_deploy.add_argument('-P', '--port', help='Specify port to use for connection to the target')
strip_opts = parser_deploy.add_mutually_exclusive_group(required=False)
@@ -346,5 +357,6 @@ def register_commands(subparsers, context):
parser_undeploy.add_argument('-s', '--show-status', help='Show progress/status output', action='store_true')
parser_undeploy.add_argument('-a', '--all', help='Undeploy all recipes deployed on the target', action='store_true')
parser_undeploy.add_argument('-n', '--dry-run', help='List files to be undeployed only', action='store_true')
+ parser_undeploy.add_argument('-e', '--ssh-exec', help='Executable to use in place of ssh')
parser_undeploy.add_argument('-P', '--port', help='Specify port to use for connection to the target')
parser_undeploy.set_defaults(func=undeploy)
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index b7d4d47df..ea09bbff3 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -849,9 +849,7 @@ def modify(args, config, basepath, workspace):
if bb.data.inherits_class('kernel', rd):
f.write('SRCTREECOVEREDTASKS = "do_validate_branches do_kernel_checkout '
'do_fetch do_unpack do_kernel_configme do_kernel_configcheck"\n')
- f.write('\ndo_patch() {\n'
- ' :\n'
- '}\n')
+ f.write('\ndo_patch[noexec] = "1"\n')
f.write('\ndo_configure_append() {\n'
' cp ${B}/.config ${S}/.config.baseline\n'
' ln -sfT ${B}/.config ${S}/.config.new\n'
diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py
index 202007793..75e765e01 100644
--- a/poky/scripts/lib/devtool/upgrade.py
+++ b/poky/scripts/lib/devtool/upgrade.py
@@ -600,6 +600,20 @@ def latest_version(args, config, basepath, workspace):
tinfoil.shutdown()
return 0
+def check_upgrade_status(args, config, basepath, workspace):
+ if not args.recipe:
+ logger.info("Checking the upstream status for all recipes may take a few minutes")
+ results = oe.recipeutils.get_recipe_upgrade_status(args.recipe)
+ for result in results:
+ # pn, update_status, current, latest, maintainer, latest_commit, no_update_reason
+ if args.all or result[1] != 'MATCH':
+ logger.info("{:25} {:15} {:15} {} {} {}".format( result[0],
+ result[2],
+ result[1] if result[1] != 'UPDATE' else (result[3] if not result[3].endswith("new-commits-available") else "new commits"),
+ result[4],
+ result[5] if result[5] != 'N/A' else "",
+ "cannot be updated due to: %s" %(result[6]) if result[6] else ""))
+
def register_commands(subparsers, context):
"""Register devtool subcommands from this plugin"""
@@ -627,3 +641,10 @@ def register_commands(subparsers, context):
group='info')
parser_latest_version.add_argument('recipename', help='Name of recipe to query (just name - no version, path or extension)')
parser_latest_version.set_defaults(func=latest_version)
+
+ parser_check_upgrade_status = subparsers.add_parser('check-upgrade-status', help="Report upgradability for multiple (or all) recipes",
+ description="Prints a table of recipes together with versions currently provided by recipes, and latest upstream versions, when there is a later version available",
+ group='info')
+ parser_check_upgrade_status.add_argument('recipe', help='Name of the recipe to report (omit to report upgrade info for all recipes)', nargs='*')
+ parser_check_upgrade_status.add_argument('--all', '-a', help='Show all recipes, not just recipes needing upgrade', action="store_true")
+ parser_check_upgrade_status.set_defaults(func=check_upgrade_status)
diff --git a/poky/scripts/lib/resulttool/manualexecution.py b/poky/scripts/lib/resulttool/manualexecution.py
index 6487cd9bf..c94f98126 100755
--- a/poky/scripts/lib/resulttool/manualexecution.py
+++ b/poky/scripts/lib/resulttool/manualexecution.py
@@ -24,30 +24,18 @@ def load_json_file(file):
with open(file, "r") as f:
return json.load(f)
-
class ManualTestRunner(object):
- def __init__(self):
- self.jdata = ''
- self.test_module = ''
- self.test_cases_id = ''
- self.configuration = ''
- self.starttime = ''
- self.result_id = ''
- self.write_dir = ''
def _get_testcases(self, file):
self.jdata = load_json_file(file)
- self.test_cases_id = []
self.test_module = self.jdata[0]['test']['@alias'].split('.', 2)[0]
- for i in self.jdata:
- self.test_cases_id.append(i['test']['@alias'])
-
+
def _get_input(self, config):
while True:
output = input('{} = '.format(config))
- if re.match('^[a-zA-Z0-9_-]+$', output):
+ if re.match('^[a-z0-9-.]+$', output):
break
- print('Only alphanumeric and underscore/hyphen are allowed. Please try again')
+ print('Only lowercase alphanumeric, hyphen and dot are allowed. Please try again')
return output
def _create_config(self):
@@ -67,44 +55,42 @@ class ManualTestRunner(object):
extra_config = set(store_map['manual']) - set(self.configuration)
for config in sorted(extra_config):
print('---------------------------------------------')
- print('This is configuration #%s. Please provide configuration value(use "None" if not applicable).'
- % config)
+ print('This is configuration #%s. Please provide configuration value(use "None" if not applicable).' % config)
print('---------------------------------------------')
value_conf = self._get_input('Configuration Value')
print('---------------------------------------------\n')
self.configuration[config] = value_conf
def _create_result_id(self):
- self.result_id = 'manual_' + self.test_module + '_' + self.starttime
+ self.result_id = 'manual_%s_%s' % (self.test_module, self.starttime)
- def _execute_test_steps(self, test_id):
+ def _execute_test_steps(self, test):
test_result = {}
- total_steps = len(self.jdata[test_id]['test']['execution'].keys())
print('------------------------------------------------------------------------')
- print('Executing test case:' + '' '' + self.test_cases_id[test_id])
+ print('Executing test case: %s' % test['test']['@alias'])
print('------------------------------------------------------------------------')
- print('You have total ' + str(total_steps) + ' test steps to be executed.')
+ print('You have total %s test steps to be executed.' % len(test['test']['execution']))
print('------------------------------------------------------------------------\n')
- for step in sorted((self.jdata[test_id]['test']['execution']).keys()):
- print('Step %s: ' % step + self.jdata[test_id]['test']['execution']['%s' % step]['action'])
- print('Expected output: ' + self.jdata[test_id]['test']['execution']['%s' % step]['expected_results'])
- done = input('\nPlease press ENTER when you are done to proceed to next step.\n')
+ for step, _ in sorted(test['test']['execution'].items(), key=lambda x: int(x[0])):
+ print('Step %s: %s' % (step, test['test']['execution'][step]['action']))
+ expected_output = test['test']['execution'][step]['expected_results']
+ if expected_output:
+ print('Expected output: %s' % expected_output)
while True:
- done = input('\nPlease provide test results: (P)assed/(F)ailed/(B)locked/(S)kipped? \n')
- done = done.lower()
+ done = input('\nPlease provide test results: (P)assed/(F)ailed/(B)locked/(S)kipped? \n').lower()
result_types = {'p':'PASSED',
- 'f':'FAILED',
- 'b':'BLOCKED',
- 's':'SKIPPED'}
+ 'f':'FAILED',
+ 'b':'BLOCKED',
+ 's':'SKIPPED'}
if done in result_types:
for r in result_types:
if done == r:
res = result_types[r]
if res == 'FAILED':
log_input = input('\nPlease enter the error and the description of the log: (Ex:log:211 Error Bitbake)\n')
- test_result.update({self.test_cases_id[test_id]: {'status': '%s' % res, 'log': '%s' % log_input}})
+ test_result.update({test['test']['@alias']: {'status': '%s' % res, 'log': '%s' % log_input}})
else:
- test_result.update({self.test_cases_id[test_id]: {'status': '%s' % res}})
+ test_result.update({test['test']['@alias']: {'status': '%s' % res}})
break
print('Invalid input!')
return test_result
@@ -119,9 +105,9 @@ class ManualTestRunner(object):
self._create_result_id()
self._create_write_dir()
test_results = {}
- print('\nTotal number of test cases in this test suite: ' + '%s\n' % len(self.jdata))
- for i in range(0, len(self.jdata)):
- test_result = self._execute_test_steps(i)
+ print('\nTotal number of test cases in this test suite: %s\n' % len(self.jdata))
+ for t in self.jdata:
+ test_result = self._execute_test_steps(t)
test_results.update(test_result)
return self.configuration, self.result_id, self.write_dir, test_results
@@ -129,8 +115,7 @@ def manualexecution(args, logger):
testrunner = ManualTestRunner()
get_configuration, get_result_id, get_write_dir, get_test_results = testrunner.run_test(args.file)
resultjsonhelper = OETestResultJSONHelper()
- resultjsonhelper.dump_testresult_file(get_write_dir, get_configuration, get_result_id,
- get_test_results)
+ resultjsonhelper.dump_testresult_file(get_write_dir, get_configuration, get_result_id, get_test_results)
return 0
def register_commands(subparsers):
diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py
index 153f2b8e1..ad40ac849 100644
--- a/poky/scripts/lib/resulttool/resultutils.py
+++ b/poky/scripts/lib/resulttool/resultutils.py
@@ -15,6 +15,7 @@
import os
import json
import scriptpath
+import copy
scriptpath.add_oe_lib_path()
flatten_map = {
@@ -60,12 +61,6 @@ def append_resultsdata(results, f, configmap=store_map):
testpath = "/".join(data[res]["configuration"].get(i) for i in configmap[testtype])
if testpath not in results:
results[testpath] = {}
- if 'ptestresult.rawlogs' in data[res]['result']:
- del data[res]['result']['ptestresult.rawlogs']
- if 'ptestresult.sections' in data[res]['result']:
- for i in data[res]['result']['ptestresult.sections']:
- if 'log' in data[res]['result']['ptestresult.sections'][i]:
- del data[res]['result']['ptestresult.sections'][i]['log']
results[testpath][res] = data[res]
#
@@ -93,15 +88,43 @@ def filter_resultsdata(results, resultid):
newresults[r][i] = results[r][i]
return newresults
-def save_resultsdata(results, destdir, fn="testresults.json"):
+def strip_ptestresults(results):
+ newresults = copy.deepcopy(results)
+ #for a in newresults2:
+ # newresults = newresults2[a]
+ for res in newresults:
+ if 'result' not in newresults[res]:
+ continue
+ if 'ptestresult.rawlogs' in newresults[res]['result']:
+ del newresults[res]['result']['ptestresult.rawlogs']
+ if 'ptestresult.sections' in newresults[res]['result']:
+ for i in newresults[res]['result']['ptestresult.sections']:
+ if 'log' in newresults[res]['result']['ptestresult.sections'][i]:
+ del newresults[res]['result']['ptestresult.sections'][i]['log']
+ return newresults
+
+def save_resultsdata(results, destdir, fn="testresults.json", ptestjson=False, ptestlogs=False):
for res in results:
if res:
dst = destdir + "/" + res + "/" + fn
else:
dst = destdir + "/" + fn
os.makedirs(os.path.dirname(dst), exist_ok=True)
+ resultsout = results[res]
+ if not ptestjson:
+ resultsout = strip_ptestresults(results[res])
with open(dst, 'w') as f:
- f.write(json.dumps(results[res], sort_keys=True, indent=4))
+ f.write(json.dumps(resultsout, sort_keys=True, indent=4))
+ for res2 in results[res]:
+ if ptestlogs and 'result' in results[res][res2]:
+ if 'ptestresult.rawlogs' in results[res][res2]['result']:
+ with open(dst.replace(fn, "ptest-raw.log"), "w+") as f:
+ f.write(results[res][res2]['result']['ptestresult.rawlogs']['log'])
+ if 'ptestresult.sections' in results[res][res2]['result']:
+ for i in results[res][res2]['result']['ptestresult.sections']:
+ if 'log' in results[res][res2]['result']['ptestresult.sections'][i]:
+ with open(dst.replace(fn, "ptest-%s.log" % i), "w+") as f:
+ f.write(results[res][res2]['result']['ptestresult.sections'][i]['log'])
def git_get_result(repo, tags):
git_objs = []
diff --git a/poky/scripts/lib/resulttool/store.py b/poky/scripts/lib/resulttool/store.py
index 5e33716c3..e4a080752 100644
--- a/poky/scripts/lib/resulttool/store.py
+++ b/poky/scripts/lib/resulttool/store.py
@@ -29,15 +29,18 @@ def store(args, logger):
try:
results = {}
logger.info('Reading files from %s' % args.source)
- for root, dirs, files in os.walk(args.source):
- for name in files:
- f = os.path.join(root, name)
- if name == "testresults.json":
- resultutils.append_resultsdata(results, f)
- elif args.all:
- dst = f.replace(args.source, tempdir + "/")
- os.makedirs(os.path.dirname(dst), exist_ok=True)
- shutil.copyfile(f, dst)
+ if os.path.isfile(args.source):
+ resultutils.append_resultsdata(results, args.source)
+ else:
+ for root, dirs, files in os.walk(args.source):
+ for name in files:
+ f = os.path.join(root, name)
+ if name == "testresults.json":
+ resultutils.append_resultsdata(results, f)
+ elif args.all:
+ dst = f.replace(args.source, tempdir + "/")
+ os.makedirs(os.path.dirname(dst), exist_ok=True)
+ shutil.copyfile(f, dst)
revisions = {}
@@ -65,7 +68,7 @@ def store(args, logger):
results = revisions[r]
keywords = {'commit': r[0], 'branch': r[1], "commit_count": r[2]}
subprocess.check_call(["find", tempdir, "!", "-path", "./.git/*", "-delete"])
- resultutils.save_resultsdata(results, tempdir)
+ resultutils.save_resultsdata(results, tempdir, ptestlogs=True)
logger.info('Storing test result into git repository %s' % args.git_dir)
diff --git a/poky/scripts/lib/scriptutils.py b/poky/scripts/lib/scriptutils.py
index 31e48ea4d..0633c7066 100644
--- a/poky/scripts/lib/scriptutils.py
+++ b/poky/scripts/lib/scriptutils.py
@@ -26,6 +26,8 @@ import string
import subprocess
import sys
import tempfile
+import importlib
+from importlib import machinery
def logger_create(name, stream=None):
logger = logging.getLogger(name)
@@ -37,12 +39,12 @@ def logger_create(name, stream=None):
def logger_setup_color(logger, color='auto'):
from bb.msg import BBLogFormatter
- console = logging.StreamHandler(sys.stdout)
- formatter = BBLogFormatter("%(levelname)s: %(message)s")
- console.setFormatter(formatter)
- logger.handlers = [console]
- if color == 'always' or (color=='auto' and console.stream.isatty()):
- formatter.enable_color()
+
+ for handler in logger.handlers:
+ if (isinstance(handler, logging.StreamHandler) and
+ isinstance(handler.formatter, BBLogFormatter)):
+ if color == 'always' or (color == 'auto' and handler.stream.isatty()):
+ handler.formatter.enable_color()
def load_plugins(logger, plugins, pluginpath):
@@ -50,12 +52,9 @@ def load_plugins(logger, plugins, pluginpath):
def load_plugin(name):
logger.debug('Loading plugin %s' % name)
- fp, pathname, description = imp.find_module(name, [pluginpath])
- try:
- return imp.load_module(name, fp, pathname, description)
- finally:
- if fp:
- fp.close()
+ spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] )
+ if spec:
+ return spec.loader.load_module()
def plugin_name(filename):
return os.path.splitext(os.path.basename(filename))[0]
@@ -70,6 +69,7 @@ def load_plugins(logger, plugins, pluginpath):
plugin.plugin_init(plugins)
plugins.append(plugin)
+
def git_convert_standalone_clone(repodir):
"""If specified directory is a git repository, ensure it's a standalone clone"""
import bb.process
diff --git a/poky/scripts/lib/wic/engine.py b/poky/scripts/lib/wic/engine.py
index ea600d285..ab33fa604 100644
--- a/poky/scripts/lib/wic/engine.py
+++ b/poky/scripts/lib/wic/engine.py
@@ -338,7 +338,7 @@ class Disk:
def copy(self, src, pnum, path):
"""Copy partition image into wic image."""
if self.partitions[pnum].fstype.startswith('ext'):
- cmd = "printf 'cd {}\nwrite {} {}' | {} -w {}".\
+ cmd = "printf 'cd {}\nwrite {} {}\n' | {} -w {}".\
format(path, src, os.path.basename(src),
self.debugfs, self._get_part_image(pnum))
else: # fat
diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py
index 7e5a9c509..08baf7612 100644
--- a/poky/scripts/lib/wic/ksparser.py
+++ b/poky/scripts/lib/wic/ksparser.py
@@ -28,14 +28,30 @@
import os
import shlex
import logging
+import re
from argparse import ArgumentParser, ArgumentError, ArgumentTypeError
from wic.engine import find_canned
from wic.partition import Partition
+from wic.misc import get_bitbake_var
logger = logging.getLogger('wic')
+__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}")
+
+def expand_line(line):
+ while True:
+ m = __expand_var_regexp__.search(line)
+ if not m:
+ return line
+ key = m.group()[2:-1]
+ val = get_bitbake_var(key)
+ if val is None:
+ logger.warning("cannot expand variable %s" % key)
+ return line
+ line = line[:m.start()] + val + line[m.end():]
+
class KickStartError(Exception):
"""Custom exception."""
pass
@@ -190,6 +206,7 @@ class KickStart():
line = line.strip()
lineno += 1
if line and line[0] != '#':
+ line = expand_line(line)
try:
line_args = shlex.split(line)
parsed = parser.parse_args(line_args)
diff --git a/poky/scripts/lib/wic/partition.py b/poky/scripts/lib/wic/partition.py
index 3da7e23e6..ca206ece0 100644
--- a/poky/scripts/lib/wic/partition.py
+++ b/poky/scripts/lib/wic/partition.py
@@ -173,7 +173,7 @@ class Partition():
# Split sourceparams string of the form key1=val1[,key2=val2,...]
# into a dict. Also accepts valueless keys i.e. without =
splitted = self.sourceparams.split(',')
- srcparams_dict = dict(par.split('=') for par in splitted if par)
+ srcparams_dict = dict(par.split('=', 1) for par in splitted if par)
plugin = PluginMgr.get_plugins('source')[self.source]
plugin.do_configure_partition(self, srcparams_dict, creator,
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
index 0eb86a079..83a7e189e 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -77,12 +77,13 @@ class BootimgEFIPlugin(SourcePlugin):
if not custom_cfg:
# Create grub configuration using parameters from wks file
bootloader = creator.ks.bootloader
+ title = source_params.get('title')
grubefi_conf = ""
grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n"
grubefi_conf += "default=boot\n"
grubefi_conf += "timeout=%s\n" % bootloader.timeout
- grubefi_conf += "menuentry 'boot'{\n"
+ grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot")
kernel = "/bzImage"
@@ -152,9 +153,10 @@ class BootimgEFIPlugin(SourcePlugin):
if not custom_cfg:
# Create systemd-boot configuration using parameters from wks file
kernel = "/bzImage"
+ title = source_params.get('title')
boot_conf = ""
- boot_conf += "title boot\n"
+ boot_conf += "title %s\n" % (title if title else "boot")
boot_conf += "linux %s\n" % kernel
boot_conf += "options LABEL=Boot root=%s %s\n" % \
(creator.rootdev, bootloader.append)
diff --git a/poky/scripts/oe-pylint b/poky/scripts/oe-pylint
new file mode 100755
index 000000000..74ff4b884
--- /dev/null
+++ b/poky/scripts/oe-pylint
@@ -0,0 +1,11 @@
+#!/bin/bash
+#
+# Run the pylint3 against our common python module spaces and print a report of potential issues
+#
+this_dir=$(dirname $(readlink -f $0))
+ERRORS="-E"
+IGNORELIST="$ERRORS -d logging-too-many-args -d missing-docstring -d line-too-long -d invalid-name"
+PYTHONPATH=$this_dir/../bitbake/lib/ pylint3 $IGNORELIST bb
+PYTHONPATH=$this_dir/../bitbake/lib/:$this_dir/../meta/lib pylint3 $IGNORELIST -d undefined-variable oe
+PYTHONPATH=$this_dir/../bitbake/lib/:$this_dir/../meta/lib pylint3 $IGNORELIST oeqa
+PYTHONPATH=$this_dir/../bitbake/lib/:$this_dir/../meta/lib:$this_dir/lib pylint3 $IGNORELIST -d undefined-variable argparse_oe buildstats devtool recipetool scriptpath testcasemgmt build_perf checklayer resulttool scriptutils wic \ No newline at end of file
diff --git a/poky/scripts/oepydevshell-internal.py b/poky/scripts/oepydevshell-internal.py
index 04621ae8a..2f7d5d433 100755
--- a/poky/scripts/oepydevshell-internal.py
+++ b/poky/scripts/oepydevshell-internal.py
@@ -63,7 +63,9 @@ try:
(ready, _, _) = select.select([pty, sys.stdin], writers , [], 0)
try:
if pty in ready:
- i = i + pty.read().decode('utf-8')
+ readdata = pty.read()
+ if readdata:
+ i = i + readdata.decode('utf-8')
if i:
# Write a page at a time to avoid overflowing output
# d.keys() is a good way to do that
diff --git a/poky/scripts/pythondeps b/poky/scripts/pythondeps
index 590b9769e..3e13a587e 100755
--- a/poky/scripts/pythondeps
+++ b/poky/scripts/pythondeps
@@ -9,7 +9,8 @@
import argparse
import ast
-import imp
+import importlib
+from importlib import machinery
import logging
import os.path
import sys
@@ -17,10 +18,7 @@ import sys
logger = logging.getLogger('pythondeps')
-suffixes = []
-for triple in imp.get_suffixes():
- suffixes.append(triple[0])
-
+suffixes = importlib.machinery.all_suffixes()
class PythonDepError(Exception):
pass
diff --git a/poky/scripts/resulttool b/poky/scripts/resulttool
index 5a89e1c9b..18ac10192 100755
--- a/poky/scripts/resulttool
+++ b/poky/scripts/resulttool
@@ -51,13 +51,6 @@ import resulttool.report
import resulttool.manualexecution
logger = scriptutils.logger_create('resulttool')
-def _validate_user_input_arguments(args):
- if hasattr(args, "source_dir"):
- if not os.path.isdir(args.source_dir):
- logger.error('source_dir argument need to be a directory : %s' % args.source_dir)
- return False
- return True
-
def main():
parser = argparse_oe.ArgumentParser(description="OEQA test result manipulation tool.",
epilog="Use %(prog)s <subcommand> --help to get help on a specific command")
@@ -80,9 +73,6 @@ def main():
elif args.quiet:
logger.setLevel(logging.ERROR)
- if not _validate_user_input_arguments(args):
- return -1
-
try:
ret = args.func(args, logger)
except argparse_oe.ArgumentUsageError as ae:
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 1c96b29a4..c0e569c44 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -74,7 +74,12 @@ of the following environment variables (in any order):
MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)
Simplified QEMU command-line options can be passed with:
nographic - disable video console
+ sdl - choose the SDL frontend instead of the Gtk+ default
+ gtk-gl - enable virgl-based GL acceleration using Gtk+ frontend
+ gtk-gl-es - enable virgl-based GL acceleration, using OpenGL ES and Gtk+ frontend
+ egl-headless - enable headless EGL output; use vnc or spice to see it
serial - enable a serial console on /dev/ttyS0
+ serialstdio - enable a serial console on the console (regardless of graphics mode)
slirp - enable user networking, no root privileges is required
kvm - enable KVM when running x86/x86_64 (VT-capable CPU required)
kvm-vhost - enable KVM with vhost when running x86/x86_64 (VT-capable CPU required)
@@ -114,39 +119,6 @@ def check_tun():
if not os.access(dev_tun, os.W_OK):
raise RunQemuError("TUN control device %s is not writable, please fix (e.g. sudo chmod 666 %s)" % (dev_tun, dev_tun))
-def check_libgl(qemu_bin):
- cmd = ('ldd', qemu_bin)
- logger.debug('Running %s...' % str(cmd))
- need_gl = subprocess.check_output(cmd).decode('utf-8')
- if re.search('libGLU', need_gl):
- # We can't run without a libGL.so
- libgl = False
- check_files = (('/usr/lib/libGL.so', '/usr/lib/libGLU.so'), \
- ('/usr/lib64/libGL.so', '/usr/lib64/libGLU.so'), \
- ('/usr/lib/*-linux-gnu/libGL.so', '/usr/lib/*-linux-gnu/libGLU.so'))
-
- for (f1, f2) in check_files:
- if re.search('\*', f1):
- for g1 in glob.glob(f1):
- if libgl:
- break
- if os.path.exists(g1):
- for g2 in glob.glob(f2):
- if os.path.exists(g2):
- libgl = True
- break
- if libgl:
- break
- else:
- if os.path.exists(f1) and os.path.exists(f2):
- libgl = True
- break
- if not libgl:
- logger.error("You need libGL.so and libGLU.so to exist in your library path to run the QEMU emulator.")
- logger.error("Ubuntu package names are: libgl1-mesa-dev and libglu1-mesa-dev.")
- logger.error("Fedora package names are: mesa-libGL-devel mesa-libGLU-devel.")
- raise RunQemuError('%s requires libGLU, but not found' % qemu_bin)
-
def get_first_file(cmds):
"""Return first file found in wildcard cmds"""
for cmd in cmds:
@@ -212,6 +184,7 @@ class BaseConfig(object):
self.slirp_enabled = False
self.nfs_instance = 0
self.nfs_running = False
+ self.serialconsole = False
self.serialstdio = False
self.cleantap = False
self.saved_stty = ''
@@ -432,8 +405,33 @@ class BaseConfig(object):
elif arg == 'nographic':
self.qemu_opt_script += ' -nographic'
self.kernel_cmdline_script += ' console=ttyS0'
+ elif arg == 'sdl':
+ self.qemu_opt_script += ' -display sdl'
+ elif arg == 'gtk-gl':
+ self.qemu_opt_script += ' -vga virtio -display gtk,gl=on'
+ elif arg == 'gtk-gl-es':
+ self.qemu_opt_script += ' -vga virtio -display gtk,gl=es'
+ elif arg == 'egl-headless':
+ self.qemu_opt_script += ' -vga virtio -display egl-headless'
+ # As runqemu can be run within bitbake (when using testimage, for example),
+ # we need to ensure that we run host pkg-config, and that it does not
+ # get mis-directed to native build paths set by bitbake.
+ try:
+ del os.environ['PKG_CONFIG_PATH']
+ del os.environ['PKG_CONFIG_DIR']
+ del os.environ['PKG_CONFIG_LIBDIR']
+ except KeyError:
+ pass
+ try:
+ dripath = subprocess.check_output("PATH=/bin:/usr/bin:$PATH pkg-config --variable=dridriverdir dri", shell=True)
+ except subprocess.CalledProcessError as e:
+ raise RunQemuError("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.")
+ os.environ['LIBGL_DRIVERS_PATH'] = dripath.decode('utf-8').strip()
elif arg == 'serial':
self.kernel_cmdline_script += ' console=ttyS0'
+ self.serialconsole = True
+ elif arg == "serialstdio":
+ self.kernel_cmdline_script += ' console=ttyS0'
self.serialstdio = True
elif arg == 'audio':
logger.info("Enabling audio in qemu")
@@ -1166,8 +1164,6 @@ class BaseConfig(object):
if not os.access(qemu_bin, os.X_OK):
raise OEPathError("No QEMU binary '%s' could be found" % qemu_bin)
- check_libgl(qemu_bin)
-
self.qemu_opt = "%s %s %s %s" % (qemu_bin, self.get('NETWORK_CMD'), self.get('ROOTFS_OPTIONS'), self.get('QB_OPT_APPEND'))
for ovmf in self.ovmf_bios:
@@ -1187,7 +1183,7 @@ class BaseConfig(object):
if self.snapshot:
self.qemu_opt += " -snapshot"
- if self.serialstdio:
+ if self.serialconsole:
if sys.stdin.isatty():
subprocess.check_call(("stty", "intr", "^]"))
logger.info("Interrupt character is '^]'")
@@ -1214,7 +1210,7 @@ class BaseConfig(object):
# INIT: Id "S1" respawning too fast: disabled for 5 minutes
serial_num = len(re.findall("-serial", self.qemu_opt))
if serial_num == 0:
- if re.search("-nographic", self.qemu_opt):
+ if re.search("-nographic", self.qemu_opt) or self.serialstdio:
self.qemu_opt += " -serial mon:stdio -serial null"
else:
self.qemu_opt += " -serial mon:vc -serial null"
OpenPOWER on IntegriCloud