diff options
348 files changed, 3107 insertions, 2993 deletions
diff --git a/.gitlab/issue_templates/default.md b/.gitlab/issue_templates/default.md new file mode 100644 index 000000000..bca6c09e4 --- /dev/null +++ b/.gitlab/issue_templates/default.md @@ -0,0 +1,2 @@ +**Please use https://jira.automotivelinux.org for issues.** +See also: https://docs.automotivelinux.org/ chapter "How to contribute". diff --git a/.gitlab/issue_templates/mytemplate.md b/.gitlab/issue_templates/mytemplate.md new file mode 100644 index 000000000..25d91d81d --- /dev/null +++ b/.gitlab/issue_templates/mytemplate.md @@ -0,0 +1,3 @@ +**Please use https://gerrit.automotivelinux.org for code contributions.** +See also: https://docs.automotivelinux.org/ chapter "How to contribute". + diff --git a/.gitlab/merge_request_templates/default.md b/.gitlab/merge_request_templates/default.md new file mode 100644 index 000000000..5b02effeb --- /dev/null +++ b/.gitlab/merge_request_templates/default.md @@ -0,0 +1,2 @@ +**Please use https://gerrit.automotivelinux.org for code contributions.** +See also: https://docs.automotivelinux.org/ chapter "How to contribute". diff --git a/.gitlab/merge_request_templates/mytemplate.md b/.gitlab/merge_request_templates/mytemplate.md new file mode 100644 index 000000000..25d91d81d --- /dev/null +++ b/.gitlab/merge_request_templates/mytemplate.md @@ -0,0 +1,3 @@ +**Please use https://gerrit.automotivelinux.org for code contributions.** +See also: https://docs.automotivelinux.org/ chapter "How to contribute". + diff --git a/meta-agl-bsp/conf/include/agl_am62xx-evm.inc b/meta-agl-bsp/conf/include/agl_am62xx-evm.inc new file mode 100644 index 000000000..24fd95141 --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_am62xx-evm.inc @@ -0,0 +1,8 @@ +# am62xx-evm has a k3r5 BBMULTICONFIG to build its bootloader +# firmware, need to use an override to set DEFAULTTUNE back to +# what that machine configuration needs. +DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf" + +# meta-ti-bsp layer conf does break expectations wrt common folders +# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" +TI_COMMON_DEPLOY := "${TMPDIR}/deploy" diff --git a/meta-agl-bsp/conf/include/agl_bbe.inc b/meta-agl-bsp/conf/include/agl_bbe.inc index d8b24a1a1..5252c558b 100644 --- a/meta-agl-bsp/conf/include/agl_bbe.inc +++ b/meta-agl-bsp/conf/include/agl_bbe.inc @@ -6,26 +6,6 @@ CORE_IMAGE_EXTRA_INSTALL += "packagegroup-machine-base" #------------------------------------------------- -## Graphics section ## -#------------------------------------------------- -PACKAGES_GFX = "ti-sgx-ddk-km" -IMAGE_INSTALL:append = " ${PACKAGES_GFX}" - - -# Enable Gfx Pkgs -MACHINE_FEATURES:append = " sgx" -BB_MULTI_PROVIDER_ALLOWED += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2" - -DEPENDS:remove = "virtual/libgl" - -# Preferred providers -PREFERRED_PROVIDER_virtual/libgles1 = "" -PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um" -PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um" -PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um" -PREFERRED_PROVIDER_virtual/mesa = "mesa-gl" - -#------------------------------------------------- ## Multimedia section ## #------------------------------------------------- @@ -38,3 +18,7 @@ SECURITY_CFLAGS:pn-gpm = "" SECURITY_LDFLAGS:pn-gpm = "" SECURITY_CFLAGS:pn-libatasmart = "" SECURITY_LDFLAGS:pn-libatasmart = "" + +# meta-ti-bsp layer conf does break expectations wrt common folders +# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" +TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
\ No newline at end of file diff --git a/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc b/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc new file mode 100644 index 000000000..1e03b70ff --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc @@ -0,0 +1,6 @@ +# beaglebone-ai64 has a k3r5 BBMULTICONFIG to build its bootloader +# and firmware, need to use an override to set DEFAULTTUNE back to +# what that machine configuration needs. +DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf" + +TI_COMMON_DEPLOY := "${TMPDIR}/deploy" diff --git a/meta-agl-bsp/conf/include/agl_beaglebone.inc b/meta-agl-bsp/conf/include/agl_beaglebone.inc index 292a54401..ec3a3a448 100644 --- a/meta-agl-bsp/conf/include/agl_beaglebone.inc +++ b/meta-agl-bsp/conf/include/agl_beaglebone.inc @@ -5,23 +5,6 @@ DISTRO_FEATURES:append = " agl-medium-arm-compiler" WKS_FILE = "sdimage-bootpart-uuid.wks" -#------------------------------------------------- -## Graphics section ## -#------------------------------------------------- -PACKAGES_GFX = "ti-sgx-ddk-km" -IMAGE_INSTALL:append = " ${PACKAGES_GFX}" - -# Enable Gfx Pkgs -MACHINE_FEATURES:append = " gpu" -BB_MULTI_PROVIDER_ALLOWED += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2 virtual/libgles3" - -# NOTE: SGX GPU driver use disabled until TI provides updated drivers -# that Weston 10.0.0 can be built against. - -# Preferred providers -#PREFERRED_PROVIDER_virtual/libgles1 = "" -#PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um" -#PREFERRED_PROVIDER_virtual/libgles3 = "ti-sgx-ddk-um" -#PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um" -#PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um" -#PREFERRED_PROVIDER_virtual/mesa = "mesa-gl" +# meta-ti-bsp layer conf does break expectations wrt common folders +# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" +TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
\ No newline at end of file diff --git a/meta-agl-bsp/conf/include/agl_beagleplay.inc b/meta-agl-bsp/conf/include/agl_beagleplay.inc new file mode 100644 index 000000000..77b669bb7 --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_beagleplay.inc @@ -0,0 +1,6 @@ +# beagleplay has a k3r5 BBMULTICONFIG to build its bootloader +# and firmware, need to use an override to set DEFAULTTUNE back to +# what that machine configuration needs. +DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf" + +TI_COMMON_DEPLOY := "${TMPDIR}/deploy" diff --git a/meta-agl-bsp/conf/include/agl_cubox-i.inc b/meta-agl-bsp/conf/include/agl_cubox-i.inc index 4fa4815a4..ee5e759e4 100644 --- a/meta-agl-bsp/conf/include/agl_cubox-i.inc +++ b/meta-agl-bsp/conf/include/agl_cubox-i.inc @@ -1,5 +1,9 @@ require agl_imx6-common.inc +# Force use of the community supported LTS kernel instead of the +# default linux-fslc +PREFERRED_PROVIDER_virtual/kernel = "linux-fslc-lts" + # Include devicetrees for SOM 1.5 and Hummingboard 2 hardware KERNEL_DEVICETREE:append = " \ imx6dl-hummingboard-som-v15.dtb \ diff --git a/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc b/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc deleted file mode 100644 index aba92ddf1..000000000 --- a/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc +++ /dev/null @@ -1,3 +0,0 @@ -# Install 96boards-tools for resizing partition -# Add systemd unit file for the qcom_q6v5_pil kernel module -IMAGE_INSTALL:append = " 96boards-tools q6v5-pil" diff --git a/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc b/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc deleted file mode 100644 index 265564c18..000000000 --- a/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc +++ /dev/null @@ -1,2 +0,0 @@ -# Install 96boards-tools for resizing partition -IMAGE_INSTALL:append = " 96boards-tools" diff --git a/meta-agl-bsp/conf/include/agl_ebisu.inc b/meta-agl-bsp/conf/include/agl_ebisu.inc index 0d10b3130..d684f814d 100644 --- a/meta-agl-bsp/conf/include/agl_ebisu.inc +++ b/meta-agl-bsp/conf/include/agl_ebisu.inc @@ -10,4 +10,4 @@ DISTRO_FEATURES:remove = " use_eva_pkg" MACHINE_FEATURES:append = " usb3" IMAGE_INSTALL:append = " gstreamer1.0-omx gstreamer1.0-plugin-vspfilter" -IMAGE_INSTALL:append = " kernel-module-mmngr kernel-module-mmngrbuf kernel-module-uvcs-drv kernel-module-vspmif" +IMAGE_INSTALL:append = " kernel-module-mmngr kernel-module-mmngrbuf kernel-module-uvcs-drv kernel-module-vspm-if" diff --git a/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc b/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc index 455a368e6..4ff103df8 100644 --- a/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc +++ b/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc @@ -1,25 +1,9 @@ -require conf/include/agl_rcar-nogfx.inc +require conf/include/agl_salvator-nogfx.inc SOC_FAMILY = "r8a7795" BOARD_NAME = "h3-salvator-x" DTB_SUFFIX = "r8a77951-salvator-xs" -# Mask graphic Pkgs -BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm" -# Mask MMP recipes -BBMASK += "kernel-module-uvcs-drv|omx-user-module" - -# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3 -# when building without the proprietary driver stack. Masking out the -# weston_%.bbappend seems the simplest approach for now, as forcing -# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to -# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due -# to that being a component specific to the proprietary stack we are -# explicitly disabling. If the "libgbm" usage in the bbappend was -# instead "virtual/libgbm" as is now used in poky, it might be possible -# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa". -BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend" - # do use software rendering to display the compositor # used for images w/o binary-only driver WESTON_USE_PIXMAN = "1" diff --git a/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc b/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc index e7a8b463c..134b1dd1f 100644 --- a/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc +++ b/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc @@ -1,9 +1,6 @@ -require conf/include/agl_rcar.inc +require conf/include/agl_salvator.inc SOC_FAMILY = "r8a7795" BOARD_NAME = "h3-salvator-x" DTB_SUFFIX = "r8a77951-salvator-xs" -IMAGE_INSTALL:append:rcar-gen3 = " \ - kernel-module-vspmif \ -" diff --git a/meta-agl-bsp/conf/include/agl_hsdk.inc b/meta-agl-bsp/conf/include/agl_hsdk.inc deleted file mode 100644 index b1b0e4a8f..000000000 --- a/meta-agl-bsp/conf/include/agl_hsdk.inc +++ /dev/null @@ -1,9 +0,0 @@ -KERNEL_IMAGETYPE = "uImage" -WKS_FILE = "sdimage-hsdk.wks" -IMAGE_BOOT_FILES = "uImage uboot.env" -IMAGE_INSTALL:append = " kernel-modules" - -# remove incompatible packages from packagegroups -RDEPENDS:packagegroup-agl-core-devel:remove:hsdk = "valgrind gcc-sanitizers" -RDEPENDS:packagegroup-core-tools-profile:remove:hsdk = "systemtap" -RDEPENDS:packagegroup-core-tools-debug:remove:hsdk = "gdbserver" diff --git a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc index cb13de713..f058ba1a5 100644 --- a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc +++ b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc @@ -1 +1,5 @@ require agl_imx6-common.inc + +# Force use of the community supported LTS kernel instead of the +# default linux-fslc +IMX_DEFAULT_KERNEL:imx6qdlsabreauto = "linux-fslc-lts" diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc index 36493dcbf..b3faadd0a 100644 --- a/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc +++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc @@ -1,13 +1,8 @@ require agl_imx-common.inc -# Force use of the community supported LTS kernel instead of the -# default linux-imx -#IMX_DEFAULT_KERNEL:imx8mq-evk = "linux-fslc-imx" - -# For EVKB wifi support -#MACHINE_FEATURES:append = " bcm4356" - # Add helper to drive setting up HCI UART device -MACHINE_EXTRA_RRECOMMENDS:append = " hci-uart-helper" +# NOTE: Disabled 2023/05 due to kernel oops, further investigation +# required, see SPEC-4807 in JIRA. +#MACHINE_EXTRA_RRECOMMENDS:append = " hci-uart-helper" AGL_DEFAULT_INITRAMFS_FSTYPES := "" diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc new file mode 100644 index 000000000..3988fcd6f --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc @@ -0,0 +1,8 @@ +require agl_imx8mq-evk-common.inc + +IMX_DEFAULT_BSP = "nxp" + +# NOTE: +# There is some potential benefit to using the community supported +# linux-fslc-imx hybrid kernel here, but keeping the configuration +# close to upstream to ease maintenance seems worthwhile. diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc index d04ee41a7..620ee0fdd 100644 --- a/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc +++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc @@ -1,23 +1,23 @@ -include agl_imx8mq-evk-common.inc +require agl_imx8mq-evk-common.inc -# NOTE: currently not using IMX_DEFAULT_BSP = "mainline", as it -# requires more changes than this approach of disabling -# Vivante. +# NOTE: +# Currently using the upstream default of IMX_DEFAULT_BSP = "mainline", +# since we want to use the etnaviv driver and upstream Mesa + weston +# stack. More tweaks are required to accomplish that if the BSP is set +# to "nxp". -# Add our own over-ride for use in a few recipes where there is -# conflicting Vivante vs etnaviv configuration. -#MACHINEOVERRIDES .= ":etnaviv" - -# Knock out Vivante overrides -#MACHINEOVERRIDES_EXTENDER:mx8mq:forcevariable = "" -#PREFERRED_VERSION_weston_mx8 = "8.0.0" -#PREFERRED_VERSION_wayland-protocols_mx8 = "1.20" -#PREFERRED_VERSION_libdrm_mx8 = "2.4.101" +# Force use of the community supported hybrid NXP/LTS kernel instead of +# the default linux-fslc. This is required to get the drivers required +# for HDMI output. +IMX_DEFAULT_KERNEL:imx8mq-evk = "linux-fslc-imx" -#CORE_IMAGE_EXTRA_INSTALL += "libdrm-etnaviv" +# Tweaks to allow using linux-fslc-imx on its own without the whole +# NXP BSP. Just the DISTROOVERRIDES change on its own is not enough, +# as COMPATIBLE_MACHINE is evaluated early enough that the recipe is +# not seen as compatible without an explicit override. +COMPATIBLE_MACHINE:pn-linux-fslc-imx = "(imx8mq-evk)" +DISTROOVERRIDES:pn-linux-fslc-imx:append = "mx8-nxp-bsp" -#PREFERRED_VERSION_gstreamer1.0_mx8 = "1.16.3" -#PREFERRED_VERSION_gstreamer1.0-plugins-base_mx8 = "1.16.3" -#PREFERRED_VERSION_gstreamer1.0-plugins-good_mx8 = "1.16.3" -#PREFERRED_VERSION_gstreamer1.0-plugins-bad_mx8 = "1.16.3" -#PREFERRED_VERSION_gstreamer1.0-plugins-ugly_mx8 = "1.16.3" +# Add our own over-ride for use in a few recipes where there is +# conflicting Vivante vs etnaviv configuration. +MACHINEOVERRIDES .= ":etnaviv" diff --git a/meta-agl-bsp/conf/include/agl_j721e-evm.inc b/meta-agl-bsp/conf/include/agl_j721e-evm.inc index 61a4794f6..963b5697d 100644 --- a/meta-agl-bsp/conf/include/agl_j721e-evm.inc +++ b/meta-agl-bsp/conf/include/agl_j721e-evm.inc @@ -1,7 +1,11 @@ # j721e-evm has a k3r5 BBMULTICONFIG to build its bootloader # firmware, need to use an override to set DEFAULTTUNE back to # what that machine configuration needs. -DEFAULTTUNE:k3r5 = "armv7athf" +DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf" # Workaround for recipe assumption of poky location LIC_FILES_CHKSUM:pn-ti-rtos-firmware = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" + +# meta-ti-bsp layer conf does break expectations wrt common folders +# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti" +TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
\ No newline at end of file diff --git a/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc b/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc index b50f36355..ebbb3006a 100644 --- a/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc +++ b/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc @@ -1,21 +1,6 @@ -require conf/include/agl_rcar-nogfx.inc +require conf/include/agl_salvator-nogfx.inc SOC_FAMILY = "r8a7796" BOARD_NAME = "m3-salvator-x" DTB_SUFFIX = "r8a7796-salvator-xs" -# Mask graphic Pkgs -BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm" -# Mask MMP recipes -BBMASK += "kernel-module-uvcs-drv|omx-user-module" - -# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3 -# when building without the proprietary driver stack. Masking out the -# weston_%.bbappend seems the simplest approach for now, as forcing -# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to -# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due -# to that being a component specific to the proprietary stack we are -# explicitly disabling. If the "libgbm" usage in the bbappend was -# instead "virtual/libgbm" as is now used in poky, it might be possible -# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa". -BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend" diff --git a/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc b/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc index b332c4b81..355040ba9 100644 --- a/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc +++ b/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc @@ -1,9 +1,6 @@ -require conf/include/agl_rcar.inc +require conf/include/agl_salvator.inc SOC_FAMILY = "r8a7796" BOARD_NAME = "m3-salvator-x" DTB_SUFFIX = "r8a7796-salvator-xs" -IMAGE_INSTALL:append:rcar-gen3 = " \ - kernel-module-vspmif \ -" diff --git a/meta-agl-bsp/conf/include/agl_nitrogen6x.inc b/meta-agl-bsp/conf/include/agl_nitrogen6x.inc deleted file mode 100644 index cb13de713..000000000 --- a/meta-agl-bsp/conf/include/agl_nitrogen6x.inc +++ /dev/null @@ -1 +0,0 @@ -require agl_imx6-common.inc diff --git a/meta-agl-bsp/conf/include/agl_qemuarm.inc b/meta-agl-bsp/conf/include/agl_qemuarm.inc index f45b2d445..2449e1800 100644 --- a/meta-agl-bsp/conf/include/agl_qemuarm.inc +++ b/meta-agl-bsp/conf/include/agl_qemuarm.inc @@ -7,6 +7,9 @@ ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02" # Use our own wks file WKS_FILE="directdisk.wks.in" +# Use pixman as software renderer to avoid high cpu consumption by GL-renderer +WESTON_USE_PIXMAN = "1" + # Over-ride setting in oe-core's qemuboot.bbclass QB_MEM:qemuarm = "-m 2048" diff --git a/meta-agl-bsp/conf/include/agl_qemuarm64.inc b/meta-agl-bsp/conf/include/agl_qemuarm64.inc index 089c4f261..46d3b4c39 100644 --- a/meta-agl-bsp/conf/include/agl_qemuarm64.inc +++ b/meta-agl-bsp/conf/include/agl_qemuarm64.inc @@ -7,6 +7,9 @@ ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02" # Use our own wks file WKS_FILE="directdisk.wks.in" +# Use pixman as software renderer to avoid high cpu consumption by GL-renderer +WESTON_USE_PIXMAN = "1" + # Over-ride setting in oe-core's qemuboot.bbclass QB_MEM:qemuarm64 = "-m 2048" diff --git a/meta-agl-bsp/conf/include/agl_qemux86-64.inc b/meta-agl-bsp/conf/include/agl_qemux86-64.inc index 638778b81..cb40b8b37 100644 --- a/meta-agl-bsp/conf/include/agl_qemux86-64.inc +++ b/meta-agl-bsp/conf/include/agl_qemux86-64.inc @@ -34,7 +34,7 @@ MACHINE_EXTRA_RRECOMMENDS:append = " \ # NOTE: wic.{xz,bmap} are here since qemu targets override # AGL_DEFAULT_IMAGE_FSTYPES to not include them, but for Intel # we actually do want them for use on physical hardware. -AGL_EXTRA_IMAGE_FSTYPES = "wic.xz wic.bmap ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'wic.vmdk.xz', 'wic.vmdk', d)}" +AGL_EXTRA_IMAGE_FSTYPES = "wic.xz wic.bmap ${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'wic.vmdk.xz', 'wic.vmdk', d)}" IMAGE_BOOT_FILES:sota = "u-boot-qemux86-64.rom" # Root device diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc index 3fdc68b2c..7fd878d66 100644 --- a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc +++ b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc @@ -29,3 +29,6 @@ IMAGE_INSTALL:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools # Add xen-raspberry binary to boot files IMAGE_BOOT_FILES:append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}" + +#DISPLAY CONFIGURATION +WESTON_DISPLAYS:raspberrypi4 = " hdmi-a-1-90 hdmi-a-2-90" diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi5.inc b/meta-agl-bsp/conf/include/agl_raspberrypi5.inc new file mode 100644 index 000000000..a0e675956 --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_raspberrypi5.inc @@ -0,0 +1,34 @@ +# Maximum memory allowed to be assigned +GPU_MEM = "256" + +# Add CMA to the kernel arguments for SOTA +OSTREE_KERNEL_ARGS:sota:append = " cma=256M" + +# use u-boot always (RPi5 U-boot is not ready yet) +RPI_USE_U_BOOT = "0" + +# Use UART for serial console +ENABLE_UART ?= "1" + +# For libomxil +#LICENSE_FLAGS_ACCEPTED = "commercial" + +IMAGE_INSTALL:append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb " + +# Psplash causes crash on first boot on RPi +IMAGE_FEATURES:remove = "splash" + +# Build updatable image. Only takes effect when sota.bbclass is inherited +DISTRO_FEATURES:append = " sota" + +# Add xen build, if the xen feature activated +DISTRO_FEATURES:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}" + +# add xen-tools to build +IMAGE_INSTALL:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools xen-mkimage-rpi4', '', d)}" + +# Add xen-raspberry binary to boot files +IMAGE_BOOT_FILES:append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}" + +#DISPLAY CONFIGURATION +WESTON_DISPLAYS:raspberrypi5 = " hdmi-a-1-90 hdmi-a-2-90" diff --git a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc index 476eb9c22..fb67fd976 100644 --- a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc +++ b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc @@ -4,7 +4,7 @@ OSTREE_KERNEL = "Image" IMAGE_BOOT_FILES:sota = "renesas-ota-bootfiles/* ${DTB_SUFFIX}.dtb" OSTREE_BOOTLOADER ?= "u-boot" -WKS_FILE = "singlepart-noloader.wks" +WKS_FILE:rcar-gen3 = "singlepart-noloader.wks" RENESAS_DATADIR = "/usr" @@ -44,10 +44,10 @@ PSEUDO_IGNORE_PATHS:append:pn-kernel-module-vspm = ",${KERNELSRC}" # Mask out base-files and systemd bbappends to avoid changing systemd-tmpfiles # behavior, see SPEC-4256 for a more involved explanation. -BBMASK += "meta-rcar-gen3/recipes-core/base-files/ meta-rcar-gen3/recipes-core/systemd/" +BBMASK += "meta-renesas/meta-rcar-gen3/recipes-core/base-files/ meta-renesas/meta-rcar-gen3/recipes-core/systemd/" # Mask out cogl bbappend to avoid meta-gnome dependency -BBMASK += "meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend" +BBMASK += "meta-renesas/meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend" # Provide default value that avoids errors from a new packaging QA # check with respect to packagegroups depending on versioned library diff --git a/meta-agl-bsp/conf/include/agl_rcar.inc b/meta-agl-bsp/conf/include/agl_rcar.inc index 1059b2861..e1169c21e 100644 --- a/meta-agl-bsp/conf/include/agl_rcar.inc +++ b/meta-agl-bsp/conf/include/agl_rcar.inc @@ -1,39 +1,37 @@ require conf/include/agl_rcar-nogfx.inc # Enable AGL virtualization features -MACHINE_FEATURES:append = " agl-egvirt" +MACHINE_FEATURES:append:rcar-gen3 = " agl-egvirt" # Enable Gfx Pkgs -MACHINE_FEATURES:append = " gsx" -BB_MULTI_PROVIDER_ALLOWED += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2" +MACHINE_FEATURES:append:rcar-gen3 = " gsx" +BB_MULTI_PROVIDER_ALLOWED:append:rcar-gen3 = " virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2" # for Wayland/Weston -PREFERRED_PROVIDER_virtual/libgles1 = "" -PREFERRED_PROVIDER_virtual/libgles2 = "virtual-gles-user-module" -PREFERRED_PROVIDER_virtual/egl = "virtual-gles-user-module" -PREFERRED_PROVIDER_virtual/libgl = "" -PREFERRED_PROVIDER_virtual/mesa = "mesa" +PREFERRED_PROVIDER_virtual/libgles1:rcar-gen3 = "" +PREFERRED_PROVIDER_virtual/libgles2:rcar-gen3 = "virtual-gles-user-module" +PREFERRED_PROVIDER_virtual/egl:rcar-gen3 = "virtual-gles-user-module" +PREFERRED_PROVIDER_virtual/libgl:rcar-gen3 = "" +PREFERRED_PROVIDER_virtual/mesa:rcar-gen3 = "mesa" +PREFERRED_PROVIDER_libgbm:rcar-gen3 = "libgbm" +PREFERRED_PROVIDER_virtual/libgbm:rcar-gen3 = "libgbm" +PREFERRED_RPROVIDER_libgbm-dev:rcar-gen3 = "libgbm" -PREFERRED_PROVIDER_libgbm = "libgbm" -PREFERRED_PROVIDER_virtual/libgbm = "libgbm" -PREFERRED_RPROVIDER_libgbm-dev = "libgbm" - - -PREFERRED_RPROVIDER_libomxil = "omx-user-module" -PREFERRED_PROVIDER_virtual/libomxil = "omx-user-module" -VIRTUAL-RUNTIME_libomxil = "omx-user-module" +PREFERRED_RPROVIDER_libomxil:rcar-gen3 = "omx-user-module" +PREFERRED_PROVIDER_virtual/libomxil:rcar-gen3 = "omx-user-module" +VIRTUAL-RUNTIME_libomxil:rcar-gen3 = "omx-user-module" # Add for gstreamer plugins ugly -LICENSE_FLAGS_ACCEPTED = "commercial" +LICENSE_FLAGS_ACCEPTED:rcar-gen3 = "commercial" -MACHINE_FEATURES:append = " multimedia" +MACHINE_FEATURES:append:rcar-gen3 = " multimedia" -DISTRO_FEATURES:append = " use_eva_pkg" +DISTRO_FEATURES:append:rcar-gen3 = " use_eva_pkg" -#DISTRO_FEATURES:append = " h265dec_lib mpeg2dec_lib" -DISTRO_FEATURES:append = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw" +#DISTRO_FEATURES:append:rcar-gen3 = " h265dec_lib mpeg2dec_lib" +DISTRO_FEATURES:append:rcar-gen3 = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw" # Mask out meta-renesas-rcar-gen3's tweaks to weston-init, as they do # not seem necessary for anything in AGL, and the addition of @@ -44,7 +42,7 @@ DISTRO_FEATURES:append = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw" # getting weston started. There is no clear rationale expressed in the # meta-renesas-rcar-gen3 commit history for the extra dependencies, and # testing shows no issues on H3ULCB when not having them. -BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend" +BBMASK += "meta-renesas/meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend" # Add graphics and decoder drivers to packagegroup-machine-base # recommendation. diff --git a/meta-agl-bsp/conf/include/agl_refhw-h3.inc b/meta-agl-bsp/conf/include/agl_refhw-h3.inc index 68c0007bd..6eee8149f 100644 --- a/meta-agl-bsp/conf/include/agl_refhw-h3.inc +++ b/meta-agl-bsp/conf/include/agl_refhw-h3.inc @@ -1,11 +1,11 @@ -AGL_FEATURES:append = " agl-refhw-h3" +AGL_FEATURES:append:h3ulcb = " agl-refhw-h3" # Reference hardware has USB3 -MACHINE_FEATURES:append = " usb3" +MACHINE_FEATURES:append:h3ulcb = " usb3" -KERNEL_DEVICETREE:append = " renesas/r8a77951-agl-refhw.dtb" +KERNEL_DEVICETREE:append:h3ulcb = " renesas/r8a77951-agl-refhw.dtb" -UBOOT_CONFIG:append = " agl-refhw" +UBOOT_CONFIG:append:h3ulcb = " agl-refhw" UBOOT_CONFIG[agl-refhw] = "rcar3_salvator-x_defconfig" MACHINE_EXTRA_RRECOMMENDS:append:h3ulcb = " \ diff --git a/meta-agl-bsp/conf/include/agl_s4sk.inc b/meta-agl-bsp/conf/include/agl_s4sk.inc new file mode 100644 index 000000000..8f4a91b44 --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_s4sk.inc @@ -0,0 +1,9 @@ +SOC_FAMILY = "r8a779f0" +BOARD_NAME = "s4sk" + +#ws2.0 +DTB_SUFFIX = "r8a779f0-s4sk" +WKS_FILE = "singlepart-noloader.wks" +IMAGE_INSTALL:append = " \ + kernel-devicetree \ +" diff --git a/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc b/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc new file mode 100644 index 000000000..06e635ca0 --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc @@ -0,0 +1,17 @@ +require conf/include/agl_rcar-nogfx.inc + +# Mask graphic Pkgs +BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm" +# Mask MMP recipes +BBMASK += "kernel-module-uvcs-drv|omx-user-module" +# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3 +# when building without the proprietary driver stack. Masking out the +# weston_%.bbappend seems the simplest approach for now, as forcing +# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to +# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due +# to that being a component specific to the proprietary stack we are +# explicitly disabling. If the "libgbm" usage in the bbappend was +# instead "virtual/libgbm" as is now used in poky, it might be possible +# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa". +BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend" + diff --git a/meta-agl-bsp/conf/include/agl_salvator.inc b/meta-agl-bsp/conf/include/agl_salvator.inc new file mode 100644 index 000000000..78457868a --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_salvator.inc @@ -0,0 +1,6 @@ +require conf/include/agl_rcar.inc + +IMAGE_INSTALL:append:rcar-gen3 = " \ + kernel-module-vspm-if \ +" + diff --git a/meta-agl-bsp/conf/include/agl_unmatched.inc b/meta-agl-bsp/conf/include/agl_unmatched.inc new file mode 100644 index 000000000..f7c9f75f2 --- /dev/null +++ b/meta-agl-bsp/conf/include/agl_unmatched.inc @@ -0,0 +1,4 @@ +# firmware for graphics +MACHINE_EXTRA_RRECOMMENDS:append = " linux-firmware-radeon linux-firmware-amdgpu " + +# diff --git a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend index 25bdb73c8..3cd5aa7de 100644 --- a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb +++ b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend @@ -1,8 +1,4 @@ -SUMMARY = "AGL Reference Hardware specific gpsd configuration" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -PACKAGE_ARCH = "${MACHINE_ARCH}" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI = "file://gpsd.refhw \ file://refhw-gpsd-helper.sh \ @@ -16,6 +12,7 @@ do_compile[noexec] = "1" do_install() { install -D -m 0644 ${WORKDIR}/gpsd.refhw ${D}/${sysconfdir}/default/gpsd.refhw + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -D -m 0755 ${WORKDIR}/refhw-gpsd-helper.sh ${D}/${sbindir}/refhw-gpsd-helper.sh install -d ${D}${sysconfdir}/systemd/system/gpsd.service.d @@ -23,6 +20,10 @@ do_install() { fi } +PACKAGE_ARCH = "${MACHINE_ARCH}" + +CONFFILES:${PN} = "${sysconfdir}/default/gpsd.refhw" + ALTERNATIVE:${PN} = "gpsd-defaults" ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd" ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.refhw" @@ -30,9 +31,3 @@ ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.refhw" # default configuration. The script run by the systemd drop-in # will tweak things on boot to handle h3ulcb vs refhw. ALTERNATIVE_PRIORITY[gpsd-defaults] = "5" - -CONFFILES:${PN} = "${sysconfdir}/default/gpsd.refhw" - -# NOTE: Explicitly not defining RPROVIDES of "virtual/gpsd-conf" to -# avoid conflicting with the default configuration and potentially -# changing behavior on m3ulcb/h3ulcb. diff --git a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa/0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa/0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch new file mode 100644 index 000000000..9d6b2f3d0 --- /dev/null +++ b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa/0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch @@ -0,0 +1,48 @@ +From f50ff0b5cf2bfedfc2fd660ccfbfd5cfc3c131d1 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Tue, 28 Mar 2023 15:33:26 +0300 +Subject: [PATCH] virgl: don't a use staging when a resources created with the + shared flag + +There seems to be a problem with running firefox by using Xwayland that +results in a shared resources being not always tagged as using staging. + +As a result one process tries to map the resource that was allocated as +one that uses staging without actually using the staging resource, and +hence the mapped range only accounts for the small region that we have +to allocated because a zero-allocation doesn't work, but the application +mapping the resource assumes that a properly sized range is mapped, and +consequently this results in invalid memory access. + +To work around this issue disable creating staging for resources that +are created by using shared binding. It is not clear to me whether this +is the best fix, but it seems to quell the issue. + +Fixes: c9d99b7eec7ec14d6d71d381a424b6280d75a882 +virgl: Fix texture transfers by using a staging resource + +Related: https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/291 +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19655> +(cherry picked from commit e496d24cb2d5339566c08c79a8aa7809c240613c) + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +(cherry picked from commit 39e9ea1419beb22ab7f4913b6d55f845f94d689a) +--- + src/gallium/drivers/virgl/virgl_resource.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/gallium/drivers/virgl/virgl_resource.c b/src/gallium/drivers/virgl/virgl_resource.c +index 7185c9a90ff..257b790d437 100644 +--- a/src/gallium/drivers/virgl/virgl_resource.c ++++ b/src/gallium/drivers/virgl/virgl_resource.c +@@ -100,6 +100,7 @@ static bool virgl_can_copy_transfer_from_host(struct virgl_screen *vs, + { + return virgl_can_use_staging(vs, res) && + !is_stencil_array(res) && ++ !(bind & VIRGL_BIND_SHARED) && + virgl_has_readback_format(&vs->base, pipe_to_virgl_format(res->b.format), false) && + ((!(vs->caps.caps.v2.capability_bits & VIRGL_CAP_FAKE_FP64)) || + virgl_can_readback_from_rendertarget(vs, res) || +-- +2.35.1 + diff --git a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend index 3d5903d85..fb797a436 100644 --- a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend +++ b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend @@ -1 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}_agl.inc', '', d)} diff --git a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc index e74761317..c0f5b271d 100644 --- a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc +++ b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc @@ -1,3 +1,5 @@ +SRC_URI += "file://0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch" + # The gallium-llvm is recommended as software 3D graphics renderer GALLIUM_LLVM = "gallium-llvm" PACKAGECONFIG:append:qemux86 = " gallium ${GALLIUM_LLVM}" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend new file mode 100644 index 000000000..07a43f958 --- /dev/null +++ b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend @@ -0,0 +1,10 @@ +# Work around PACKAGECONFIG:remove of "x11 wayland" added to the recipe +# in meta-freescale commit 5a5c5dd. This can be removed once the issue +# has been resolved by a revert of that breakage upstream. +# What is done below is effectively a disabling of the "wayland" +# PACKAGECONFIG option and then open coding what its effects would +# normally be, since the :remove prevents specifying it in the usual way. +PACKAGECONFIG[wayland] = "" +DEPENDS:append = " virtual/egl virtual/libgles2" +PACKAGECONFIG_CONFARGS:append = " -Dbackend-wayland=true" + diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch index 23ca0475a..f95891a2f 100644 --- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch +++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch @@ -8,16 +8,15 @@ Upstream-Status: pending Signed-off-by: Scott Murray <scott.murray@konsulko.com> --- -diff --git a/drivers/gpu/drm/imx/Kconfig b/drivers/gpu/drm/imx/Kconfig -index 63d5f1b532ee..a18ba56aa218 100644 ---- a/drivers/gpu/drm/imx/Kconfig -+++ b/drivers/gpu/drm/imx/Kconfig -@@ -85,7 +85,7 @@ config DRM_IMX_CDNS_MHDP - select DRM_CDNS_DP +diff --git a/drivers/gpu/drm/imx/mhdp/Kconfig b/drivers/gpu/drm/imx/mhdp/Kconfig +index 225ccc3638a8..164b42f04e94 100644 +--- a/drivers/gpu/drm/imx/mhdp/Kconfig ++++ b/drivers/gpu/drm/imx/mhdp/Kconfig +@@ -7,6 +7,6 @@ config DRM_IMX_CDNS_MHDP select DRM_CDNS_HDMI select DRM_CDNS_AUDIO + select DRM_CDNS_HDMI_HDCP - depends on DRM_IMX + depends on DRM_IMX || DRM_ETNAVIV help Choose this if you want to use HDMI on i.MX8. - diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch index 4ce9b9d38..4ed4b685e 100644 --- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch +++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch @@ -4,15 +4,14 @@ Some further investigation is required into how to manage this upstream in meta-freescale, as it is not required for the i.MX6 platforms AFAIK. Upstream-Status: pending - Signed-off-by: Scott Murray <scott.murray@konsulko.com> --- diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts -index f2a7e4069a0d..c0b6c5052656 100755 +index c3f8a24c3943..754fbfe30f0a 100755 --- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts +++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts -@@ -1074,7 +1074,7 @@ +@@ -1224,7 +1224,7 @@ &vpu_v4l2 { status = "okay"; }; diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend index cc26e25c6..0772a98a8 100644 --- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend +++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend @@ -1,6 +1,6 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:${THISDIR}/files:" +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" -require recipes-kernel/linux/linux-yocto-agl.inc +require linux-fslc.inc # These patches and the configuration fragment below will need to be # revisited if/when using IMX_DEFAULT_BSP = "mainline" with i.MX8 @@ -10,22 +10,8 @@ SRC_URI:append:etnaviv = " \ file://0002-dts-enable-etnaviv.patch \ " -# Make sure these are enabled so that AGL systemd configuration works -AGL_KCONFIG_FRAGMENTS += " \ - tmpfs.cfg \ - namespace.cfg \ - cgroup.cfg \ -" - -# Support for CFG80211 subsystem -AGL_KCONFIG_FRAGMENTS += "cfg80211.cfg" - -# Turn off a couple of things enabled by default by Freescale -# (lock debugging and userspace firmware loader fallback) -AGL_KCONFIG_FRAGMENTS += "fixups.cfg" - # Support for i.MX8MQ EVKB (e.g. Broadcom wifi) -AGL_KCONFIG_FRAGMENTS:append:imx8mqevk = " imx8mq-evkb.cfg" +AGL_KCONFIG_FRAGMENTS:append:imx8mq-evk = " imx8mq-evkb.cfg" # Build in etnaviv if required AGL_KCONFIG_FRAGMENTS:append:etnaviv = " etnaviv.cfg" diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend new file mode 100644 index 000000000..1007f3c7c --- /dev/null +++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend @@ -0,0 +1 @@ +require linux-fslc.inc diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc new file mode 100644 index 000000000..948b8c22c --- /dev/null +++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc @@ -0,0 +1,22 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +require recipes-kernel/linux/linux-yocto-agl.inc + +# Make sure these are enabled so that AGL systemd configuration works +AGL_KCONFIG_FRAGMENTS += " \ + tmpfs.cfg \ + namespace.cfg \ + cgroup.cfg \ +" + +# Support for CFG80211 subsystem +AGL_KCONFIG_FRAGMENTS += "cfg80211.cfg" + +# Turn off a couple of things enabled by default by Freescale +# (lock debugging and userspace firmware loader fallback) +AGL_KCONFIG_FRAGMENTS += "fixups.cfg" + +do_install:append:cubox-i() { + # Add symlink to work with default Hummingboard 2 u-boot configuration + ln -sf imx6q-hummingboard2.dtb ${D}/boot/imx6q-hummingboard2-emmc.dtb +} diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend index 948b8c22c..1007f3c7c 100644 --- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend +++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend @@ -1,22 +1 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -require recipes-kernel/linux/linux-yocto-agl.inc - -# Make sure these are enabled so that AGL systemd configuration works -AGL_KCONFIG_FRAGMENTS += " \ - tmpfs.cfg \ - namespace.cfg \ - cgroup.cfg \ -" - -# Support for CFG80211 subsystem -AGL_KCONFIG_FRAGMENTS += "cfg80211.cfg" - -# Turn off a couple of things enabled by default by Freescale -# (lock debugging and userspace firmware loader fallback) -AGL_KCONFIG_FRAGMENTS += "fixups.cfg" - -do_install:append:cubox-i() { - # Add symlink to work with default Hummingboard 2 u-boot configuration - ln -sf imx6q-hummingboard2.dtb ${D}/boot/imx6q-hummingboard2-emmc.dtb -} +require linux-fslc.inc diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb b/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb deleted file mode 100644 index fdfd3e85f..000000000 --- a/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Useful bits an pieces to make 96Boards more standard across the board" -HOMEPAGE = "https://github.com/96boards/96boards-tools" -SECTION = "devel" - -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" - -SRCREV = "ed0f0dbec02c1869a0c4fa0140b4aa5338c9d010" -SRC_URI = "git://github.com/96boards/96boards-tools;branch=master;protocol=https" - -S = "${WORKDIR}/git" - -inherit systemd allarch update-rc.d - -do_install () { - install -d ${D}${sysconfdir}/udev/rules.d - install -m 0755 ${S}/*.rules ${D}${sysconfdir}/udev/rules.d/ - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${S}/resize-disk ${D}${sysconfdir}/init.d/ - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/resize-helper.service ${D}${systemd_unitdir}/system - - install -d ${D}${sbindir} - install -m 0755 ${S}/resize-helper ${D}${sbindir} -} - -INITSCRIPT_NAME = "resize-disk" -INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ." - -SYSTEMD_SERVICE:${PN} = "resize-helper.service" -RDEPENDS:${PN} += "e2fsprogs-resize2fs gptfdisk parted util-linux udev" diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service b/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service deleted file mode 100644 index 3d9cd24bb..000000000 --- a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Qualcomm Hexagon PIL setup -After=rmtfs.service -Requires=rmtfs.service - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/sbin/modprobe -q qcom_q6v5_pil - -[Install] -WantedBy=multi-user.target diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb b/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb deleted file mode 100644 index 14bab2430..000000000 --- a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb +++ /dev/null @@ -1,20 +0,0 @@ -inherit systemd - -SUMMARY = "Systemd unit file for the delay loading Hexagon PIL kernel module" -SECTION = "misc" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - -SRC_URI += "file://qcom-q6v5-pil.service" - -do_install() { - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/qcom-q6v5-pil.service ${D}${systemd_unitdir}/system - - # Blacklist qcom_q6v5_pil to prevent modules autoload - # qcom-q6v5-pil.service will do the work after rmtfs done. - install -d ${D}/${sysconfdir}/modprobe.d - echo "blacklist qcom_q6v5_pil" > ${D}/${sysconfdir}/modprobe.d/qcom_q6v5_pil.conf -} - -SYSTEMD_SERVICE:${PN} = "qcom-q6v5-pil.service" diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend deleted file mode 100644 index 5f8af211a..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -FILESEXTRAPATHS:prepend:raspberrypi := "${THISDIR}/${PN}:" - -SRC_URI:append:raspberrypi = " file://dsi.cfg" diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg deleted file mode 100644 index ed6a4ed90..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg +++ /dev/null @@ -1,5 +0,0 @@ -# Support the Raspberry Pi Foundation 7" tablet which uses the DSI connector -# rather than HDMI. -[output] -name=DSI-1 -transform=rotate-90 diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch index 3dc71ff22..7f0979ca9 100644 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch @@ -40,9 +40,9 @@ index c812872d7f9d..42d20819025c 100755 + exit 0 +fi + - if [ -n "$(command -v pkg-config)" ]; then - if pkg-config --exists $PKG; then - echo cflags=\"$(pkg-config --cflags $PKG)\" + if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then + if ${HOSTPKG_CONFIG} --exists $PKG; then + echo cflags=\"$(${HOSTPKG_CONFIG} --cflags $PKG)\" -- 2.17.1 diff --git a/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend b/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend new file mode 100644 index 000000000..d565da8ac --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend @@ -0,0 +1,11 @@ +do_install:append () { + + # Remove firmware file that is not packaged in the kernel. + # It throws an error during do_package. + # It seems to be moved out of the kernel in later BSP versions. + rm -rf ${D}/lib/firmware/r8a779f0_ufs.bin + rm -rf ${D}/lib/firmware + rm -rf ${D}/lib + +} + diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc b/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc index 22fca5c67..0c344a471 100644 --- a/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc +++ b/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc @@ -4,13 +4,11 @@ # Add a feature as a low-impact way to detect Kingfisher support in # recipes. -AGL_FEATURES:append = " kingfisher" +AGL_FEATURES:append:rcar-gen3 = " kingfisher" -PREFERRED_RPROVIDER_virtual/gpsd-conf ?= "gpsd-kingfisher-conf" - -IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-kf${IMAGE_VERSION_SUFFIX}" -IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}-kf" -TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-kf-toolchain-${SDK_VERSION}" +IMAGE_NAME:rcar-gen3 = "${IMAGE_BASENAME}-${MACHINE}-kf${IMAGE_VERSION_SUFFIX}" +IMAGE_LINK_NAME:rcar-gen3 = "${IMAGE_BASENAME}-${MACHINE}-kf" +TOOLCHAIN_OUTPUTNAME:rcar-gen3 = "${SDK_NAME}-kf-toolchain-${SDK_VERSION}" # Radio packages IMAGE_INSTALL:append:rcar-gen3 = " \ diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch deleted file mode 100644 index 92f5af88c..000000000 --- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch +++ /dev/null @@ -1,58 +0,0 @@ -The ADSP on Renesas SoCs required a reserved memory area to become -enabled, and this needs to be done manually. - -This patch adds sound hardware abstraction information for the m3ulcb -and m3ulcb-kf (kingfisher) device trees. This is helpful on-board the -ADSP for dynamically determining sound hardware at runtime, allowing -single binaries to be used between the two boards. - -Future work will incorporate the h3ulcb and Salvator boards into the -abstraction. - -Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> -Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au> ---- -diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts -index de2390f009e7..4ccfa8315d17 100644 ---- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts -+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts -@@ -15,6 +15,39 @@ - "renesas,r8a7796"; - }; - -+ -+&adsp { -+ -+ /* ADSP playback setting for pcm3168 */ -+ adsp_playback0: adsp,playback { -+ mode = "tdm"; -+ clock-mode = "master"; -+ bus-width = <24>; -+ ssi = <3>; -+ bus-if = <0>; -+ channels = <8>; -+ pin-share-ssi = <4>; -+ }; -+ -+ /* ADSP capture setting for pcm3168 */ -+ adsp_capture0: adsp,capture { -+ mode = "tdm"; -+ clock-mode = "slave"; -+ bus-width = <24>; -+ ssi = <4>; -+ bus-if = <0>; -+ channels = <8>; -+ pin-share-ssi = <3>; -+ }; -+ -+ adsp,ports { -+ port@0 { -+ playback = <&adsp_playback0>; -+ capture = <&adsp_capture0>; -+ }; -+ }; -+}; -+ - &du { - ports { - port@0 { diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-kingfisher-conf_1.0.bb b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend index 2fa9fa4e4..51604706c 100644 --- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-kingfisher-conf_1.0.bb +++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend @@ -1,27 +1,23 @@ -SUMMARY = "King fisher specific gpsd config" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -SRC_URI = " \ - file://gpsd.kingfisher \ -" +SRC_URI = "file://gpsd.kingfisher" inherit update-alternatives -RPROVIDES:${PN} += "virtual/gpsd-conf" - -ALTERNATIVE:${PN} = "gpsd-defaults" -ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd" -ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.kingfisher" -ALTERNATIVE_PRIORITY[gpsd-defaults] = "20" - -COMPATIBLE_MACHINE = "ulcb" -PACKAGE_ARCH = "${MACHINE_ARCH}" +do_configure[noexec] = "1" +do_compile[noexec] = "1" do_install() { install -d ${D}/${sysconfdir}/default install -m 0644 ${WORKDIR}/gpsd.kingfisher ${D}/${sysconfdir}/default/gpsd.kingfisher } -FILES:${PN} = "${sysconfdir}/default/gpsd.kingfisher" +COMPATIBLE_MACHINE = "ulcb" +PACKAGE_ARCH = "${MACHINE_ARCH}" + CONFFILES:${PN} = "${sysconfdir}/default/gpsd.kingfisher" + +ALTERNATIVE:${PN} = "gpsd-defaults" +ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd" +ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.kingfisher" +ALTERNATIVE_PRIORITY[gpsd-defaults] = "20" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend index 212c661b1..f4d086938 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend @@ -1,8 +1,6 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -SRC_URI:append = " \ - file://0001-Boot-Normal-World-in-EL2.patch \ -" +# Boot Normal World in EL2: this define configures ATF (SPSR register) to boot +# BL33 in EL2. +EXTRA_OEMAKE += " RCAR_BL33_EXECUTION_EL=1" do_ipl_opt_deploy:prepend () { # Work around bug in BSP recipe, it can fail if nothing else has diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch deleted file mode 100644 index 6ce9c0f9d..000000000 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch +++ /dev/null @@ -1,28 +0,0 @@ -From c97f38b09f8b7d9c57a6e6f500c6ba8f7abd9914 Mon Sep 17 00:00:00 2001 -From: Michele Paolino <m.paolino@virtualopensystems.com> -Date: Fri, 19 May 2017 14:50:55 +0200 -Subject: [PATCH] Boot Normal World in EL2 - -This patch configures ATF (SPSR register) to boot BL33 in EL2. - -Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com> ---- - plat/renesas/rcar/platform.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/plat/renesas/rcar/platform.mk b/plat/renesas/rcar/platform.mk -index ef7bf0f..06bc592 100644 ---- a/plat/renesas/rcar/platform.mk -+++ b/plat/renesas/rcar/platform.mk -@@ -186,7 +186,7 @@ $(eval $(call add_define,RCAR_DRAM_SPLIT)) - - # Process RCAR_BL33_EXECUTION_EL flag - ifndef RCAR_BL33_EXECUTION_EL --RCAR_BL33_EXECUTION_EL := 0 -+RCAR_BL33_EXECUTION_EL := 1 - endif - $(eval $(call add_define,RCAR_BL33_EXECUTION_EL)) - --- -2.7.4 - diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb index e8235b9bd..d46f4d885 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb @@ -8,10 +8,10 @@ COMPATIBLE_MACHINE = "(salvator-x|m3ulcb|h3ulcb|ebisu)" S = "${WORKDIR}" -SRC_URI:append:sota = "file://uEnv-ota-m3ulcb.txt \ - file://uEnv-ota-h3ulcb.txt \ - file://uEnv-ota-h3-salvator-xs \ - file://uEnv-ota-m3-salvator-xs" +SRC_URI:append:sota = " file://uEnv-ota-m3ulcb.txt \ + file://uEnv-ota-h3ulcb.txt \ + file://uEnv-ota-h3-salvator-xs \ + file://uEnv-ota-m3-salvator-xs" do_deploy() { install -d ${DEPLOYDIR}/${PN} } diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend index bd7fdf207..8f2d47adc 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend @@ -1,14 +1,3 @@ require checksum_control.inc RDEPENDS:${PN}:append = " wayland-wsegl" - -do_install:append(){ - sed -i 's/GROUP="video"/GROUP="display"/g' ${D}${sysconfdir}/udev/rules.d/72-pvr-seat.rules - - # Work around upstream not using ${nonarch_base_libdir}/firmware - if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then - install -d ${D}${nonarch_base_libdir}/ - mv ${D}/lib/firmware ${D}${nonarch_base_libdir}/ - rm -rf ${D}/lib - fi -} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend index 6b9768394..b8882ae49 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend @@ -4,18 +4,3 @@ module_do_compile:prepend() { cd ${S}/build/linux/config/compilers cp aarch64-linux-gnu.mk ${TARGET_SYS}.mk } - -do_install:append() { - # Work around upstream not using ${nonarch_base_libdir}/modules - if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then - install -d ${D}${nonarch_base_libdir}/ - mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ - rm -rf ${D}/lib - fi -} - -# Required to guarantee the module goes into the expected -# kernel-module-gles package and doesn't end up packaged in -# kernel-module-pvrsvkm by the default behavior. Can be removed -# if upstream correctly use ${nonarch_base_libdir} themselves. -FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/pvrsrvkm.ko" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend index 6e4b9a024..98b8e92c3 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend @@ -1,11 +1,2 @@ KERNEL_MODULE_AUTOLOAD:append = " mmngr" KERNEL_MODULE_PACKAGE_SUFFIX = "" - -do_install:append() { - # Work around upstream not using ${nonarch_base_libdir}/modules - if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then - install -d ${D}${nonarch_base_libdir}/ - mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ - rm -rf ${D}/lib - fi -} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend index d190595a7..fbff56fff 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend @@ -1,11 +1,2 @@ KERNEL_MODULE_AUTOLOAD:append = " mmngrbuf" KERNEL_MODULE_PACKAGE_SUFFIX = "" - -do_install:append() { - # Work around upstream not using ${nonarch_base_libdir}/modules - if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then - install -d ${D}${nonarch_base_libdir}/ - mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ - rm -rf ${D}/lib - fi -} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend index a0ffc20ce..1fa00a859 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend @@ -1,12 +1,3 @@ require checksum_control.inc KERNEL_MODULE_AUTOLOAD = "uvcs_drv" - -do_install:append() { - # Work around upstream not using ${nonarch_base_libdir}/modules - if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then - install -d ${D}${nonarch_base_libdir}/ - mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ - rm -rf ${D}/lib - fi -} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend deleted file mode 100644 index f6a756d04..000000000 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend +++ /dev/null @@ -1,14 +0,0 @@ -do_install:append() { - # Work around upstream not using ${nonarch_base_libdir}/modules - if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then - install -d ${D}${nonarch_base_libdir}/ - mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ - rm -rf ${D}/lib - fi -} - -# Required to guarantee the module goes into the expected -# kernel-module-vsp2driver package and doesn't end up packaged in -# kernel-module-vsp2 by the default behavior. Can be removed if -# upstream correctly use ${nonarch_base_libdir} themselves. -FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/vsp2.ko" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend deleted file mode 100644 index aebf44cc4..000000000 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -do_install:append() { - # Work around upstream not using ${nonarch_base_libdir}/modules - if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then - install -d ${D}${nonarch_base_libdir}/ - mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ - rm -rf ${D}/lib - fi -} diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend new file mode 100644 index 000000000..5efe01045 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend @@ -0,0 +1,2 @@ +KERNEL_MODULE_AUTOLOAD:append = " vspm_if" +KERNEL_MODULE_PACKAGE_SUFFIX = "" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend deleted file mode 100644 index 214b67c0b..000000000 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend +++ /dev/null @@ -1,17 +0,0 @@ -KERNEL_MODULE_AUTOLOAD:append = " vspm_if" -KERNEL_MODULE_PACKAGE_SUFFIX = "" - -do_install:append() { - # Work around upstream not using ${nonarch_base_libdir}/modules - if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then - install -d ${D}${nonarch_base_libdir}/ - mv ${D}/lib/modules ${D}${nonarch_base_libdir}/ - rm -rf ${D}/lib - fi -} - -# Required to guarantee the module goes into the expected -# kernel-module-vspmif package and doesn't end up packaged in -# kernel-module-vspm-if by the default behavior. Can be removed if -# upstream correctly use ${nonarch_base_libdir} themselves. -FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/vspm_if.ko" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.%.bbappend new file mode 100644 index 000000000..d91281c18 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.%.bbappend @@ -0,0 +1 @@ +do_unpack[network] = "1" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend new file mode 100644 index 000000000..d91281c18 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend @@ -0,0 +1 @@ +do_unpack[network] = "1" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend new file mode 100644 index 000000000..d91281c18 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend @@ -0,0 +1 @@ +do_unpack[network] = "1" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend new file mode 100644 index 000000000..9d3f5c670 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend @@ -0,0 +1,11 @@ +do_install:append() { + # Add a rule to ensure the 'video' user has permission to access + install -d ${D}${sysconfdir}/udev/rules.d + cat >${D}${sysconfdir}/udev/rules.d/56-rgnmm.rules <<'EOF' +KERNEL=="rgnmm", MODE="0660", GROUP="video" +EOF +} + +FILES:${PN}:append = " \ + ${sysconfdir}/udev/rules.d/*.rules \ +" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend new file mode 100644 index 000000000..640e52651 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend @@ -0,0 +1,11 @@ +do_install:append() { + # Add a rule to ensure the 'video' group has permission to access + install -d ${D}${sysconfdir}/udev/rules.d + cat >${D}${sysconfdir}/udev/rules.d/56-rgnmmbuf.rules <<'EOF' +KERNEL=="rgnmmbuf", MODE="0660", GROUP="video" +EOF +} + +FILES:${PN}:append = " \ + ${sysconfdir}/udev/rules.d/*.rules \ +" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bbappend deleted file mode 100644 index 53eb1c540..000000000 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -RDEPENDS:${PN}:append:rcar-gen3 = "\ - ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-multimedia-kernel-modules','',d)} \ - ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-multimedia-libs','',d)} \ - ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-gstreamer1.0-plugins','',d)} \ - " diff --git a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch deleted file mode 100644 index 3b92bc350..000000000 --- a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 36b3d70d866d6781db4ab4c575b8bdab79244c7f Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Thu, 16 Sep 2021 10:17:11 +0200 -Subject: [PATCH] Revert "block: nbd: add sanity check for first_minor" - -This reverts commit 4b21d4e820bb9a1415ec76dfe565e4c5937337dd which is -commit b1a811633f7321cf1ae2bb76a66805b7720e44c9 upstream. - -The backport of this is reported to be causing some problems, so revert -this for now until they are worked out. - -Link: https://lore.kernel.org/r/CACPK8XfUWoOHr-0RwRoYoskia4fbAbZ7DYf5wWBnv6qUnGq18w@mail.gmail.com -Reported-by: Joel Stanley <joel@jms.id.au> -Cc: Christoph Hellwig <hch@lst.de> -Cc: Pavel Skripkin <paskripkin@gmail.com> -Cc: Jens Axboe <axboe@kernel.dk> -Cc: Sasha Levin <sashal@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - drivers/block/nbd.c | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c -index 98274ba0701d..59c452fff835 100644 ---- a/drivers/block/nbd.c -+++ b/drivers/block/nbd.c -@@ -1759,17 +1759,7 @@ static int nbd_dev_add(int index) - refcount_set(&nbd->refs, 1); - INIT_LIST_HEAD(&nbd->list); - disk->major = NBD_MAJOR; -- -- /* Too big first_minor can cause duplicate creation of -- * sysfs files/links, since first_minor will be truncated to -- * byte in __device_add_disk(). -- */ - disk->first_minor = index << part_shift; -- if (disk->first_minor > 0xff) { -- err = -EINVAL; -- goto out_free_idr; -- } -- - disk->fops = &nbd_fops; - disk->private_data = nbd; - sprintf(disk->disk_name, "nbd%d", index); --- -2.34.1 - diff --git a/meta-agl-core/recipes-kernel/linux/linux/disable-relay.cfg b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg index 09a117919..09a117919 100644 --- a/meta-agl-core/recipes-kernel/linux/linux/disable-relay.cfg +++ b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg diff --git a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend index d5e19efd4..803d4a995 100644 --- a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend +++ b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend @@ -3,5 +3,4 @@ require recipes-kernel/linux/linux-agl.inc FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" AGL_KCONFIG_FRAGMENTS += "cma-256.cfg" - -SRC_URI += "file://0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch" +AGL_KCONFIG_FRAGMENTS += "disable-relay.cfg" diff --git a/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch new file mode 100644 index 000000000..7fce516f0 --- /dev/null +++ b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch @@ -0,0 +1,46 @@ +From 57575ce80a96411bce828be6fc84ebd2ed003810 Mon Sep 17 00:00:00 2001 +From: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> +Date: Tue, 12 Sep 2023 22:50:28 +0200 +Subject: [PATCH] [WIP] Make BSP work under YP kirkstone + +This fixes build issues when using the layer with YP 'kirkstone' branch. + +check-config.sh can be solved differently as well. +binman/control.py needs a little investigation + +Upstream-Status: Inappropriate +Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> +--- + scripts/check-config.sh | 2 +- + tools/binman/control.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/scripts/check-config.sh b/scripts/check-config.sh +index cc1c9a54d9..633c69eb76 100755 +--- a/scripts/check-config.sh ++++ b/scripts/check-config.sh +@@ -57,7 +57,7 @@ if [ -s ${new_adhoc} ]; then + echo >&2 "Please add these via Kconfig instead. Find a suitable Kconfig" + echo >&2 "file and add a 'config' or 'menuconfig' option." + # Don't delete the temporary files in case they are useful +- exit 1 ++ exit 0 + else + rm ${suspects} ${ok} ${new_adhoc} + fi +diff --git a/tools/binman/control.py b/tools/binman/control.py +index 47aac207b4..3d013dea17 100644 +--- a/tools/binman/control.py ++++ b/tools/binman/control.py +@@ -8,7 +8,7 @@ + from collections import OrderedDict + import glob + import os +-import pkg_resources ++#import pkg_resources + import re + + import sys +-- +2.35.3 + diff --git a/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend new file mode 100644 index 000000000..30bf957cf --- /dev/null +++ b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +SRC_URI:append = " file://0001-WIP-Make-BSP-work-under-YP-kirkstone.patch " diff --git a/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg new file mode 100644 index 000000000..fd25fdd56 --- /dev/null +++ b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg @@ -0,0 +1,19 @@ +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y +CONFIG_MOUSE_PS2_SMBUS=y +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=y +CONFIG_DRM_BUDDY=m +CONFIG_DRM_SCHED=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_AMD_DC=y +CONFIG_FB_DDC=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_BACKLIGHT=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_RADEON=y +CONFIG_FB_RADEON_I2C=y +CONFIG_FB_RADEON_BACKLIGHT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_RTC_I2C_AND_SPI=y
\ No newline at end of file diff --git a/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend new file mode 100644 index 000000000..d951b33ba --- /dev/null +++ b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend @@ -0,0 +1,6 @@ +require recipes-kernel/linux/linux-agl.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" + +# enable AMDgpu +AGL_KCONFIG_FRAGMENTS += "radeon.cfg" diff --git a/meta-agl-bsp/meta-synopsys/recipes-kernel/linux-yocto_%.bbappend b/meta-agl-bsp/meta-synopsys/recipes-kernel/linux-yocto_%.bbappend deleted file mode 100644 index d10ca3517..000000000 --- a/meta-agl-bsp/meta-synopsys/recipes-kernel/linux-yocto_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require recipes-kernel/linux/linux-yocto-agl.inc diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch b/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch deleted file mode 100644 index 8b59b61e2..000000000 --- a/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 630046ad76e14d28bd6b0728632e4f43b0916c22 Mon Sep 17 00:00:00 2001 -From: Paul Barker <paul.barker@sancloud.com> -Date: Tue, 30 Nov 2021 16:48:58 +0000 -Subject: [PATCH] Add support for AGL toolchain - -We can use the pre-existing config for arm-linux-gnueabihf, we just need -to make sure our toolchain is matched against this and not -arm-linux-gnueabi. - -Signed-off-by: Paul Barker <paul.barker@sancloud.com> -[Updated for 1.17.4948957/k5.10] -Signed-off-by: Scott Murray <scott.murrary@konsulko.com> ---- - eurasia_km/eurasiacon/build/linux2/config/compiler.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/eurasia_km/eurasiacon/build/linux2/config/compiler.mk b/eurasia_km/eurasiacon/build/linux2/config/compiler.mk -index 1b5f090..6719dc2 100644 ---- a/eurasia_km/eurasiacon/build/linux2/config/compiler.mk -+++ b/eurasia_km/eurasiacon/build/linux2/config/compiler.mk -@@ -68,7 +68,7 @@ define calculate-compiler-preferred-target - ifneq ($$(filter aarch64-%,$$($(1)_compiler_preferred_target)),) - $(1)_compiler_preferred_target := aarch64-linux-gnu - endif -- ifneq ($$(filter arm-%-gnueabihf arm-oe-linux-gnueabi arm-poky-linux-gnueabi arm-yoe-linux-gnueabi arm-oe-linux-musleabi arm-poky-linux-musleabi arm-yoe-linux-musleabi,$$($(1)_compiler_preferred_target)),) -+ ifneq ($$(filter arm-%-gnueabihf arm-oe-linux-gnueabi arm-poky-linux-gnueabi arm-yoe-linux-gnueabi arm-agl-linux-gnueabi arm-oe-linux-musleabi arm-poky-linux-musleabi arm-yoe-linux-musleabi,$$($(1)_compiler_preferred_target)),) - $(1)_compiler_preferred_target := arm-linux-gnueabihf - endif - ifneq ($$(filter arm-%-gnueabi armv7a-cros-linux-gnueabi armv7hl-redhat-linux-gnueabi,$$($(1)_compiler_preferred_target)),) --- -2.30.2 - diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend deleted file mode 100644 index 62f1947e5..000000000 --- a/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI += "file://0001-Add-support-for-AGL-toolchain.patch" diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service deleted file mode 100644 index 1acb94fd4..000000000 --- a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service +++ /dev/null @@ -1,19 +0,0 @@ -[Unit] -Description=PVR service -SourcePath=/etc/ti-sgx/rc.pvr -DefaultDependencies=no -Before=psplash-start.service - -[Service] -Type=forking -Restart=no -TimeoutSec=5min -IgnoreSIGPIPE=no -KillMode=process -GuessMainPID=no -RemainAfterExit=yes -ExecStart=/etc/ti-sgx/rc.pvr start -ExecStop=/etc/ti-sgx/rc.pvr stop - -[Install] -WantedBy=sysinit.target diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend deleted file mode 100644 index 86e353414..000000000 --- a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend +++ /dev/null @@ -1,18 +0,0 @@ -FILESEXTRAPATHS:append := ":${THISDIR}/${PN}" -FILES:${PN} += "/etc/ti-sgx/" - -SRC_URI:append = "\ - file://pvr.service \ -" - -inherit systemd - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "pvr.service" - -do_install:append() { - install -d ${D}${systemd_system_unitdir} - install -m 0755 ${WORKDIR}/pvr.service ${D}${systemd_system_unitdir} - install -d ${D}${sysconfdir}/ti-sgx - install -m 0755 ${D}${sysconfdir}/init.d/rc.pvr ${D}${sysconfdir}/ti-sgx -} diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend deleted file mode 100644 index d12ab2be2..000000000 --- a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -# Remove GBM support from Mesa -# TI Platforms provides own GBM library - -PACKAGES:remove = "libgbm" -PACKAGES:remove = "libgbm-dev" - -EXTRA_OECONF:remove = "--enable-gbm" diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend new file mode 100644 index 000000000..08e684609 --- /dev/null +++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend @@ -0,0 +1 @@ +PR = "sgxrgx0" diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend new file mode 100644 index 000000000..be4ee237b --- /dev/null +++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-fix.inc', '', d)} diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc new file mode 100644 index 000000000..82fda6896 --- /dev/null +++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc @@ -0,0 +1 @@ +SRC_URI:remove = "file://0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch" diff --git a/meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend index b60201986..07ba7d4d1 100644 --- a/meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend +++ b/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend @@ -1 +1,2 @@ require recipes-kernel/linux/linux-agl-config.inc + diff --git a/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch new file mode 100644 index 000000000..8bc102c92 --- /dev/null +++ b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch @@ -0,0 +1,34 @@ +From 39dea63ebce2764c683c8c2eddbb10cf07a970c4 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Mon, 19 Dec 2022 11:51:28 +0200 +Subject: [PATCH] virgl/virgl_driinfo.h.in: Disable by default emulated BGRA + and swizzling + +Workaround in place for virtio aarch64 to avoid graphical artefacts when +first time booting up on PVR host driver. + +Introduced with patch 'virgl: Always enable emulated BGRA and swizzling +unless specifically told not to' in mesa-20.3.0. + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + src/gallium/drivers/virgl/virgl_driinfo.h.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/gallium/drivers/virgl/virgl_driinfo.h.in b/src/gallium/drivers/virgl/virgl_driinfo.h.in +index f57e5880965..1c06f932c5c 100644 +--- a/src/gallium/drivers/virgl/virgl_driinfo.h.in ++++ b/src/gallium/drivers/virgl/virgl_driinfo.h.in +@@ -8,7 +8,7 @@ + // 5. Implement the tweak in virglrenderer + DRI_CONF_SECTION_MISCELLANEOUS + DRI_CONF_FORMAT_L8_SRGB_ENABLE_READBACK(false) +- DRI_CONF_GLES_EMULATE_BGRA(true) +- DRI_CONF_GLES_APPLY_BGRA_DEST_SWIZZLE(true) ++ DRI_CONF_GLES_EMULATE_BGRA(false) ++ DRI_CONF_GLES_APPLY_BGRA_DEST_SWIZZLE(false) + DRI_CONF_GLES_SAMPLES_PASSED_VALUE(1024, 1, 400000000) + DRI_CONF_SECTION_END +-- +2.35.1 + diff --git a/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend new file mode 100644 index 000000000..0a6606ebf --- /dev/null +++ b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch" diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend new file mode 100644 index 000000000..5970414eb --- /dev/null +++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend @@ -0,0 +1,10 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:" + +SRC_URI:append:virtio-all = " \ + git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=master \ + file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \ +" + +SRCREV_agl-meta = "c5008f4ba9e1b9f11c1014b53477079e605ceab7" + +COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64" diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-aarch64-standard.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc index d675de474..2d1570e9f 100644 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-aarch64-standard.scc +++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc @@ -7,7 +7,7 @@ include ktypes/standard/standard.scc nopatch include arch/arm/aarch64.scc include cfg/8250.scc include cfg/virtio.scc -include virtio.scc +include bsp/virtio/agl-virtio.scc # enable the ability to run 32 bit apps include arch/arm/32bit-compat.scc diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg new file mode 100644 index 000000000..2facc345e --- /dev/null +++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg @@ -0,0 +1,3 @@ +CONFIG_DRM=y +CONFIG_FB=y +CONFIG_DRM_FBDEV_EMULATION=y diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg deleted file mode 100644 index 25381e133..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg +++ /dev/null @@ -1,29 +0,0 @@ -# SPDX-License-Identifier: MIT -# -# ARM64 -# -CONFIG_ARM64=y -CONFIG_64BIT=y - -# -# Bus support -# -CONFIG_ARM_AMBA=y - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y - -# -# RTC -# -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" - -# -# on-CPU RTC drivers -# -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_PL031=y diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc deleted file mode 100644 index 1de6faf9b..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc +++ /dev/null @@ -1,2 +0,0 @@ -# SPDX-License-Identifier: MIT -kconf hardware aarch64.cfg diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch deleted file mode 100644 index 2a18a04d3..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 3698bab1b1856a8146c8f8a83c888bd9cefcdde0 Mon Sep 17 00:00:00 2001 -From: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com> -Date: Sun, 24 Oct 2021 12:16:26 +0300 -Subject: [PATCH] iio: core: Introduce IIO_VAL_INT_64. - -Introduce IIO_VAL_INT_64 to read 64-bit value for -channel attribute. Val is used as lower 32 bits. - -Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com> -Link: https://lore.kernel.org/r/20211024091627.28031-2-andriy.tryshnivskyy@opensynergy.com -Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> ---- - drivers/iio/industrialio-core.c | 3 +++ - include/linux/iio/types.h | 1 + - 2 files changed, 4 insertions(+) - -diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c -index 3e1e86d987cc..3f21e6b49a4a 100644 ---- a/drivers/iio/industrialio-core.c -+++ b/drivers/iio/industrialio-core.c -@@ -702,6 +702,9 @@ static ssize_t __iio_format_value(char *buf, size_t offset, unsigned int type, - } - case IIO_VAL_CHAR: - return sysfs_emit_at(buf, offset, "%c", (char)vals[0]); -+ case IIO_VAL_INT_64: -+ tmp2 = (s64)((((u64)vals[1]) << 32) | (u32)vals[0]); -+ return sysfs_emit_at(buf, offset, "%lld", tmp2); - default: - return 0; - } -diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h -index 84b3f8175cc6..a7aa91f3a8dc 100644 ---- a/include/linux/iio/types.h -+++ b/include/linux/iio/types.h -@@ -24,6 +24,7 @@ enum iio_event_info { - #define IIO_VAL_INT_PLUS_NANO 3 - #define IIO_VAL_INT_PLUS_MICRO_DB 4 - #define IIO_VAL_INT_MULTIPLE 5 -+#define IIO_VAL_INT_64 6 /* 64-bit data, val is lower 32 bits */ - #define IIO_VAL_FRACTIONAL 10 - #define IIO_VAL_FRACTIONAL_LOG2 11 - #define IIO_VAL_CHAR 12 --- -2.17.1 - diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch deleted file mode 100644 index a11e5e2ff..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch +++ /dev/null @@ -1,101 +0,0 @@ -From a58a59fa0d626990f32e84bd35e1326cf0532c4a Mon Sep 17 00:00:00 2001 -From: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com> -Date: Sun, 24 Oct 2021 12:16:27 +0300 -Subject: [PATCH] iio/scmi: Add reading "raw" attribute. - -Add IIO_CHAN_INFO_RAW to the mask and implement corresponding -reading "raw" attribute in scmi_iio_read_raw. - -Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com> -Acked-by: Jyoti Bhayana <jbhayana@google.com> -Link: https://lore.kernel.org/r/20211024091627.28031-3-andriy.tryshnivskyy@opensynergy.com -Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> ---- - drivers/iio/common/scmi_sensors/scmi_iio.c | 57 +++++++++++++++++++++- - 1 file changed, 56 insertions(+), 1 deletion(-) - -diff --git a/drivers/iio/common/scmi_sensors/scmi_iio.c b/drivers/iio/common/scmi_sensors/scmi_iio.c -index 7cf2bf282cef..d538bf3ab1ef 100644 ---- a/drivers/iio/common/scmi_sensors/scmi_iio.c -+++ b/drivers/iio/common/scmi_sensors/scmi_iio.c -@@ -279,6 +279,52 @@ static int scmi_iio_get_odr_val(struct iio_dev *iio_dev, int *val, int *val2) - return 0; - } - -+static int scmi_iio_read_channel_data(struct iio_dev *iio_dev, -+ struct iio_chan_spec const *ch, int *val, int *val2) -+{ -+ struct scmi_iio_priv *sensor = iio_priv(iio_dev); -+ u32 sensor_config; -+ struct scmi_sensor_reading readings[SCMI_IIO_NUM_OF_AXIS]; -+ int err; -+ -+ sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK, -+ SCMI_SENS_CFG_SENSOR_ENABLE); -+ err = sensor->sensor_ops->config_set( -+ sensor->ph, sensor->sensor_info->id, sensor_config); -+ if (err) { -+ dev_err(&iio_dev->dev, -+ "Error in enabling sensor %s err %d", -+ sensor->sensor_info->name, err); -+ return err; -+ } -+ -+ err = sensor->sensor_ops->reading_get_timestamped( -+ sensor->ph, sensor->sensor_info->id, -+ sensor->sensor_info->num_axis, readings); -+ if (err) { -+ dev_err(&iio_dev->dev, -+ "Error in reading raw attribute for sensor %s err %d", -+ sensor->sensor_info->name, err); -+ return err; -+ } -+ -+ sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK, -+ SCMI_SENS_CFG_SENSOR_DISABLE); -+ err = sensor->sensor_ops->config_set( -+ sensor->ph, sensor->sensor_info->id, sensor_config); -+ if (err) { -+ dev_err(&iio_dev->dev, -+ "Error in disabling sensor %s err %d", -+ sensor->sensor_info->name, err); -+ return err; -+ } -+ -+ *val = lower_32_bits(readings[ch->scan_index].value); -+ *val2 = upper_32_bits(readings[ch->scan_index].value); -+ -+ return IIO_VAL_INT_64; -+} -+ - static int scmi_iio_read_raw(struct iio_dev *iio_dev, - struct iio_chan_spec const *ch, int *val, - int *val2, long mask) -@@ -300,6 +346,14 @@ static int scmi_iio_read_raw(struct iio_dev *iio_dev, - case IIO_CHAN_INFO_SAMP_FREQ: - ret = scmi_iio_get_odr_val(iio_dev, val, val2); - return ret ? ret : IIO_VAL_INT_PLUS_MICRO; -+ case IIO_CHAN_INFO_RAW: -+ ret = iio_device_claim_direct_mode(iio_dev); -+ if (ret) -+ return ret; -+ -+ ret = scmi_iio_read_channel_data(iio_dev, ch, val, val2); -+ iio_device_release_direct_mode(iio_dev); -+ return ret; - default: - return -EINVAL; - } -@@ -381,7 +435,8 @@ static void scmi_iio_set_data_channel(struct iio_chan_spec *iio_chan, - iio_chan->type = type; - iio_chan->modified = 1; - iio_chan->channel2 = mod; -- iio_chan->info_mask_separate = BIT(IIO_CHAN_INFO_SCALE); -+ iio_chan->info_mask_separate = -+ BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_RAW); - iio_chan->info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SAMP_FREQ); - iio_chan->info_mask_shared_by_type_available = - BIT(IIO_CHAN_INFO_SAMP_FREQ); --- -2.17.1 - diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg deleted file mode 100644 index 858d20657..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IIO_SCMI=y diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg deleted file mode 100644 index b698e64ad..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg +++ /dev/null @@ -1,25 +0,0 @@ -# Enable ARM_SCMI_PROTOCOL ("ARM System Control and Management Interface (SCMI) -# Message Protocol") config located in menu -# -# -> Device Drivers -# -> Firmware Drivers -# -> ARM System Control and Management Interface Protocol -# -# After that, in the same menu enabled: -# -# * ARM_SCMI_TRANSPORT_VIRTIO ("SCMI transport based on VirtIO") -# -# and disabled not used features: -# -# * ARM_SCMI_TRANSPORT_SMC ("SCMI transport based on SMC") -# * ARM_SCMI_POWER_DOMAIN ("SCMI power domain driver") - -CONFIG_ARM_SCMI_PROTOCOL=y -CONFIG_ARM_SCMI_HAVE_TRANSPORT=y -CONFIG_ARM_SCMI_HAVE_MSG=y -# CONFIG_ARM_SCMI_TRANSPORT_SMC is not set -CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y -# CONFIG_ARM_SCMI_POWER_DOMAIN is not set -# CONFIG_SENSORS_ARM_SCMI is not set -# CONFIG_COMMON_CLK_SCMI is not set -# CONFIG_IIO_SCMI is not set diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc deleted file mode 100644 index dea7dec73..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MIT -kconf hardware virtio-scmi.cfg -kconf hardware iio-scmi.cfg -patch 0001-iio-core-Introduce-IIO_VAL_INT_64.patch -patch 0002-iio-scmi-Add-reading-raw-attribute.patch diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg deleted file mode 100644 index 35c5134a0..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg +++ /dev/null @@ -1,5 +0,0 @@ -CONFIG_SND_TIMER=y -CONFIG_SND_PCM=y -CONFIG_SND_JACK=y -CONFIG_SND_JACK_INPUT_DEV=y -CONFIG_SND_VIRTIO=y
\ No newline at end of file diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc deleted file mode 100644 index a1fc8bb7d..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc +++ /dev/null @@ -1,2 +0,0 @@ -# SPDX-License-Identifier: MIT -kconf hardware virtio-snd.cfg diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg deleted file mode 100644 index b8b36e7ad..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg +++ /dev/null @@ -1,16 +0,0 @@ -# SPDX-License-Identifier: MIT - -# TODO: upstream to yocto-kernel-cache/cfg/8250.cfg -CONFIG_SERIAL_OF_PLATFORM=y - -# Remove since PCI is not enabled -# CONFIG_SERIAL_8250_PCI is not set - -# TODO: upstream to yocto-kernel-cache/cfg/virtio.cfg -CONFIG_VSOCKETS=y -CONFIG_VSOCKETS_DIAG=y -CONFIG_VIRTIO_VSOCKETS=y -CONFIG_VIRTIO_VSOCKETS_COMMON=y - -# Needed for CONFIG_DRM_VIRTIO_GPU -CONFIG_DRM=y diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc deleted file mode 100644 index a29955dd8..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: MIT -kconf hardware virtio.cfg - -include virtio-snd/virtio-snd.scc -include virtio-scmi/virtio-scmi.scc diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg new file mode 100644 index 000000000..bbcaca312 --- /dev/null +++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg @@ -0,0 +1,3 @@ +CONFIG_PCI=y +CONFIG_VIRTIO_PCI=y +CONFIG_PCI_HOST_GENERIC=y diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_%.bbappend deleted file mode 100644 index 8b5e92a20..000000000 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_%.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:" - -SRC_URI:append:virtio-all = " \ - file://virtio-kmeta;type=kmeta;destsuffix=virtio-kmeta \ - file://virtio-kmeta/bsp/virtio/virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \ -" - -COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64" diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend new file mode 100644 index 000000000..6952436a3 --- /dev/null +++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend @@ -0,0 +1,17 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +# Cannot just append to SRC_URI, as the metadata interferes with the +# AGL config fragment scheme +AGL_KERNEL_SRC:prepend:virtio-all = " \ + git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=kernel-5.15 \ + file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \ +" + +SRCREV_agl-meta = "4deb7357eab5962b0553a5ad1f11be5ac35f9da9" + +AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \ + virtio-drm.cfg \ + virtio-pci.cfg \ +" + +COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64" diff --git a/meta-agl-core-test/conf/include/agl-test.inc b/meta-agl-core-test/conf/include/agl-test.inc deleted file mode 100644 index e69de29bb..000000000 --- a/meta-agl-core-test/conf/include/agl-test.inc +++ /dev/null diff --git a/meta-agl-core-test/conf/layer.conf b/meta-agl-core-test/conf/layer.conf deleted file mode 100644 index eb3468d52..000000000 --- a/meta-agl-core-test/conf/layer.conf +++ /dev/null @@ -1,14 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH =. "${LAYERDIR}:" - -# We have recipes-* directories, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "aglcoretest" -BBFILE_PATTERN_aglcoretest = "^${LAYERDIR}/" -BBFILE_PRIORITY_aglcoretest = "60" - -LAYERSERIES_COMPAT_aglcoretest = "kirkstone" -LAYERDEPENDS_aglcoretest = "core aglcore" -LAYERDEPENDS_aglcoretest += "openembedded-layer" diff --git a/meta-agl-core-test/images/agl-image-minimal-qa.bb b/meta-agl-core-test/images/agl-image-minimal-qa.bb deleted file mode 100644 index a5ec70830..000000000 --- a/meta-agl-core-test/images/agl-image-minimal-qa.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "An AGL small image just capable of allowing a device to boot and run tests." - -DESCRIPTION = "A minimal set of AGL Distribution. This image also has additional \ -packages (e.g. commandline tools) for Quality Assurance(QA)." - -require agl-image-minimal.bb - -LICENSE = "MIT" - -IMAGE_INSTALL:append = " \ - packagegroup-ivi-common-test \ - " diff --git a/meta-agl-core-test/recipes-test/aiostress/aiostress_0.22.bb b/meta-agl-core-test/recipes-test/aiostress/aiostress_0.22.bb deleted file mode 100644 index f1d256cff..000000000 --- a/meta-agl-core-test/recipes-test/aiostress/aiostress_0.22.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Async IO testing utility" -DESCRIPTION = "aio-stress will open or create each file on the command line, and start a series of aio to it.\ -aio is done in a rotating loop. first file1 gets 8 requests, then file2, then file3 etc.\ -As each file finishes writing, it is switched to reads io buffers are aligned in case you want to do raw io" -HOMEPAGE = "https://oss.oracle.com/~mason/aio-stress/" -LICENSE = "GPL-2.0-only" - -S="${WORKDIR}" - -LIC_FILES_CHKSUM = "file://${S}/aio-stress.c;md5=ccb5d196a3736bbd835d582a4e2329c3" - -SRC_URI = "https://oss.oracle.com/~mason/aio-stress/aio-stress.c" -SRC_URI[md5sum] = "ccb5d196a3736bbd835d582a4e2329c3" -SRC_URI[sha256sum] = "3f4cffcc946fb717fff9d8fe932c7c2ee606efff198408d9fbe16955151445f7" - -do_compile () { - ${CC} -Wall -Wshadow -o aio-stress -lpthread -laio aio-stress.c -} - -do_install () { - install -d ${D}${bindir} - install -m 0755 aio-stress ${D}${bindir} -} - diff --git a/meta-agl-core-test/recipes-test/dung/dung_3.4.25-m2.bb b/meta-agl-core-test/recipes-test/dung/dung_3.4.25-m2.bb deleted file mode 100644 index 47c9b8c36..000000000 --- a/meta-agl-core-test/recipes-test/dung/dung_3.4.25-m2.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Kernel test scripts" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "e2472c7b1d061aef8bb05a4d7940fd8159c4a329" - -inherit allarch - -S = "${WORKDIR}/git/${PN}-${PV}" - -do_install () { - for subdir in arch_timer cmt common scifab sdhi.0; do - install -d -m 0755 ${D}/${datadir}/${PN}/$subdir - install -m 0755 -t ${D}/${datadir}/${PN}/$subdir ${S}/$subdir/* - done -} - diff --git a/meta-agl-core-test/recipes-test/ebizzy/ebizzy_0.3.bb b/meta-agl-core-test/recipes-test/ebizzy/ebizzy_0.3.bb deleted file mode 100644 index fef70eddf..000000000 --- a/meta-agl-core-test/recipes-test/ebizzy/ebizzy_0.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Benchmark tool that generates a workload resembling common web application server workloads" -HOMEPAGE = "http://ebizzy.sourceforge.net/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a" - -SRC_URI = "http://downloads.sourceforge.net/project/ebizzy/ebizzy/${PV}/ebizzy-${PV}.tar.gz" -SRC_URI[md5sum] = "af038bc506066bb3d28db08aba62bc38" -SRC_URI[sha256sum] = "77286029d6348f3d9b3f04eae1feadb5ad1ad07b9f688f4d9f002960862467f2" - -INSANE_SKIP:${PN} = "ldflags" - -do_compile () { - ${CC} -Wall -Wshadow -lpthread -o ebizzy ebizzy.c -} - -do_install () { - install -d ${D}${bindir} - install -m 0755 ebizzy ${D}${bindir} -} - diff --git a/meta-agl-core-test/recipes-test/ffsb/ffsb_6.0-rc2.bb b/meta-agl-core-test/recipes-test/ffsb/ffsb_6.0-rc2.bb deleted file mode 100644 index 5011b28f7..000000000 --- a/meta-agl-core-test/recipes-test/ffsb/ffsb_6.0-rc2.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Flexible File System Benchmark" -HOMEPAGE = "https://sourceforge.net/projects/ffsb/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fd5d9bcabd8ed5a54a01ce8d183d592a" - -SRC_URI = "http://downloads.sourceforge.net/project/ffsb/ffsb/ffsb-${PV}/ffsb-${PV}.tar.bz2" -SRC_URI[md5sum] = "cabfc1021c2ec6c6b168fefc84210891" -SRC_URI[sha256sum] = "e5867692aae8c9bfbcdc774599022289c4d89c1d90f4dd7101fb9865ac773c71" - -inherit autotools - -# extra args to configure -EXTRA_OECONF = "" - diff --git a/meta-agl-core-test/recipes-test/fontconfig/fontconfig_%.bbappend b/meta-agl-core-test/recipes-test/fontconfig/fontconfig_%.bbappend deleted file mode 100644 index 481dd9ee4..000000000 --- a/meta-agl-core-test/recipes-test/fontconfig/fontconfig_%.bbappend +++ /dev/null @@ -1,18 +0,0 @@ -do_install:append() { - install -m 755 -d ${D}/${datadir}/fontconfig-test - install -m 755 ${S}/test/run-test.sh ${D}/${datadir}/fontconfig-test/ - - sed -i -e "s#^FCLIST=\.\./fc-list/fc-list#FCLIST=/usr/bin/fc-list#g" -e "s#^FCCACHE=\.\./fc-cache/fc-cache#FCCACHE=/usr/bin/fc-cache#g" ${D}/${datadir}/fontconfig-test/run-test.sh - - install -m 644 ${B}/test/out.expected ${D}/${datadir}/fontconfig-test/ - for x in 4x6.pcf 8x16.pcf fonts.conf.in; do - install -m 644 ${S}/test/$x ${D}/${datadir}/fontconfig-test/ - done -} - -PACKAGES =+ "fontconfig-test" - -DEBIAN_NOAUTONAME:fontconfig-test = "1" -FILES:fontconfig-test = "${datadir}/fontconfig-test/*" - - diff --git a/meta-agl-core-test/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch b/meta-agl-core-test/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch deleted file mode 100644 index bd9b4c064..000000000 --- a/meta-agl-core-test/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch +++ /dev/null @@ -1,33 +0,0 @@ -Do not build graphics tests - -Upstream-Status: Inappropriate [disable feature] -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - Makefile | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/Makefile b/Makefile -index 8bb8666..95e5e45 100644 ---- a/Makefile -+++ b/Makefile -@@ -297,13 +297,13 @@ else - ttdebug - - # Comment out the next line if you don't have a graphics subsystem. -- EXES += ftdiff \ -- ftgamma \ -- ftgrid \ -- ftmulti \ -- ftsdf \ -- ftstring \ -- ftview -+ #EXES += ftdiff \ -+ # ftgamma \ -+ # ftgrid \ -+ # ftmulti \ -+ # ftsdf \ -+ # ftstring \ -+ # ftview - - # ftvalid requires ftgxval.c and ftotval.c - # diff --git a/meta-agl-core-test/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch b/meta-agl-core-test/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch deleted file mode 100644 index 879b80506..000000000 --- a/meta-agl-core-test/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8c4f135619de929f9348b830a07a46a0c2c38e51 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <jsmoeller@linuxfoundation.org> -Date: Fri, 7 Oct 2016 15:26:20 +0200 -Subject: [PATCH] Do not hardcode libtool path -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It is already known and imported through config.mk. - -Upstream-Status: Inappropriate [embedded specific] -Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> -[Updated for freetype 2.10.4] -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 851c4f7..c537983 100644 ---- a/Makefile -+++ b/Makefile -@@ -165,7 +165,7 @@ else - - ifeq ($(PLATFORM),unix) - override CC = $(CCraw) -- LINK_CMD = $(subst /,$(SEP),$(OBJ_BUILD)/libtool) \ -+ LINK_CMD = $(subst /,$(SEP),$(LIBTOOL)) \ - --mode=link $(CC) \ - $(subst /,$(COMPILER_SEP),$(LDFLAGS)) - LINK_LIBS = $(subst /,$(COMPILER_SEP),$(FTLIB) $(EFENCE)) $(LIB_CLOCK_GETTIME) diff --git a/meta-agl-core-test/recipes-test/freetype/freetype_2.%.bbappend b/meta-agl-core-test/recipes-test/freetype/freetype_2.%.bbappend deleted file mode 100644 index b6c14c47e..000000000 --- a/meta-agl-core-test/recipes-test/freetype/freetype_2.%.bbappend +++ /dev/null @@ -1,30 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -SRC_URI += "${SOURCEFORGE_MIRROR}/freetype/freetype-demos/${PV}/ft2demos-${PV}.tar.gz;name=ft2demos \ - file://0001-Makefile-dont-build-gfx-demos.patch;patchdir=../ft2demos-${PV} \ - " -SRC_URI[ft2demos.sha256sum] = "95939c04b72872f2c6053a436b385c614530322bda7a7966efbc4d281f710af6" - -# Enable pixmap/libpng support to allow color emojis -PACKAGECONFIG:append = " pixmap" - -do_compile:append () { - oe_runmake -C ${B} FT2DEMOS=1 TOP_DIR_2=${WORKDIR}/ft2demos-${PV} -} - -do_install:append () { - install -d -m 0755 ${D}${bindir} - for x in ftbench ftdump ftlint ftvalid ttdebug; do - install -m 0755 ${WORKDIR}/ft2demos-${PV}/bin/.libs/$x ${D}${bindir} - done -} - -PACKAGE_BEFORE_PN = "${PN}-demos" - -FILES:${PN}-demos = "\ - ${bindir}/ftbench \ - ${bindir}/ftdump \ - ${bindir}/ftlint \ - ${bindir}/ftvalid \ - ${bindir}/ttdebug \ -" diff --git a/meta-agl-core-test/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch b/meta-agl-core-test/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch deleted file mode 100644 index e834becf3..000000000 --- a/meta-agl-core-test/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -urN fsfuzzer-0.7.orig/fstest.c fsfuzzer-0.7/fstest.c ---- fsfuzzer-0.7.orig/fstest.c 2009-01-25 14:50:06.000000000 +0000 -+++ fsfuzzer-0.7/fstest.c 2016-06-16 17:49:27.264565819 +0000 -@@ -35,6 +35,7 @@ - #include <signal.h> - #include <sys/file.h> - #include <sys/mman.h> -+#include <sys/stat.h> - - #define LOGGIT 1 - #define CHECK_XATTR 1 diff --git a/meta-agl-core-test/recipes-test/fsfuzzer/fsfuzzer_0.7.bb b/meta-agl-core-test/recipes-test/fsfuzzer/fsfuzzer_0.7.bb deleted file mode 100644 index 9cda1deb4..000000000 --- a/meta-agl-core-test/recipes-test/fsfuzzer/fsfuzzer_0.7.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "The fsfuzzer is a filesystem fuzzer tool that does stress tests of various filesystems in a reproducible and logged way." -DESCRIPTION = "This tool creates initial (valid) filesystem images and then manipulates their binary format and structure for detecting flaws/bugs/design problems in the parsing/handling code for that particular filesystem. The program expects that you have a /media directory. It uses that one for mounting test images in." -HOMEPAGE = "https://www.ee.oulu.fi/research/ouspg/fsfuzzer" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -SRC_URI = "http://people.redhat.com/sgrubb/files/fsfuzzer-${PV}.tar.gz \ - file://0001-fix_missing_header_sys_stat.patch \ - " -SRC_URI[md5sum] = "d69ac4b67aaba52a889c9188eb456c15" -SRC_URI[sha256sum] = "094aa17c4f66c525a04e5db5ad444b4a561b6f8e310d0bd70b9ca421cdf0a434" - -inherit autotools - -# Specify any options you want to pass to the configure script using EXTRA_OECONF: -EXTRA_OECONF = "" - diff --git a/meta-agl-core-test/recipes-test/glmark2/glmark2_%.bbappend b/meta-agl-core-test/recipes-test/glmark2/glmark2_%.bbappend deleted file mode 100644 index ab453d8b0..000000000 --- a/meta-agl-core-test/recipes-test/glmark2/glmark2_%.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -# Update glmark2 -SRCREV = "784aca755a469b144acf3cae180b6e613b7b057a" -# Already in newer version -SRC_URI:remove = "file://python3.patch" - -PACKAGECONFIG = "wayland-gles2" -PACKAGECONFIG[wayland-gles2] = ",,virtual/egl virtual/libgles2 wayland wayland-protocols wayland-native" diff --git a/meta-agl-core-test/recipes-test/himeno/himeno_2.0.bb b/meta-agl-core-test/recipes-test/himeno/himeno_2.0.bb deleted file mode 100644 index 6932bae07..000000000 --- a/meta-agl-core-test/recipes-test/himeno/himeno_2.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "Himeno Benchmark" -LICENSE = "LGPL-2.0-only" -URL = "http://accc.riken.jp/en/supercom/himenobmt/" - -SRC_URI = "http://accc.riken.jp/en/wp-content/uploads/sites/2/2015/07/himenobmt.c.zip" -SRC_URI[md5sum] = "8d8e837dfc3e00a3b322eb4ae3edd551" -SRC_URI[sha256sum] = "8780bfbdacb0d4dcab2931e65cadd69411731e3f2afcc1231d0743a036298077" - -LIC_FILES_CHKSUM = "file://himenoBMT.c;md5=8e8771ddc01c6d1a795e088e2d6dee78" - -# Upstream ZIP file contains an LZH archive, thus a 2 steps "unpack" is required. -# The LZH archive is unpacked after native tools dependency resolution, -# thus. after "configure" task in our case: - -DEPENDS = "p7zip-native" - -do_configure:append() { - 7z x -y -o${S} ${WORKDIR}/himenobmt.c.lzh - cd ${S} - sed -i -e 's/CC= gcc/#CC= gcc/' Makefile - sed -i -e 's/CFLAGS = /#CFLAGS = /' Makefile -} - -do_install () { - install -d ${D}${bindir} - install -m 0755 bmt ${D}${bindir} -} diff --git a/meta-agl-core-test/recipes-test/interbench/files/interbench.c.patch b/meta-agl-core-test/recipes-test/interbench/files/interbench.c.patch deleted file mode 100644 index c882739ba..000000000 --- a/meta-agl-core-test/recipes-test/interbench/files/interbench.c.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- interbench.c.orig 2009-10-30 23:14:59.000000000 -0500 -+++ interbench.c 2012-07-10 19:06:00.000000000 -0500 -@@ -71,6 +71,7 @@ struct user_data { - char datestamp[13]; - FILE *logfile; - } ud = { -+ .ram = 0, - .duration = 30, - .cpu_load = 4, - .log = 1, -@@ -652,6 +653,8 @@ void emulate_write(struct thread *th) - terminal_error("fopen"); - if (stat(name, &statbuf) == -1) - terminal_fileopen_error(fp, "stat"); -+ if (statbuf.st_blksize < MIN_BLK_SIZE) -+ statbuf.st_blksize = MIN_BLK_SIZE; - for (i = 0 ; i < mem; i++) { - if (fwrite(buf, statbuf.st_blksize, 1, fp) != 1) - terminal_fileopen_error(fp, "fwrite"); -@@ -1136,14 +1139,17 @@ void get_ram(void) - if(!(meminfo = fopen("/proc/meminfo", "r"))) - terminal_error("fopen"); - -- ud.ram = ud.swap = 0; -- while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) ) -- fgets(aux,sizeof(aux),meminfo); -+ if (!ud.ram) -+ { -+ while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) ) -+ fgets(aux,sizeof(aux),meminfo); -+ } -+ ud.swap = 0; - while( !feof(meminfo) && !fscanf(meminfo, "SwapTotal: %lu kB", &ud.swap) ) - fgets(aux,sizeof(aux),meminfo); - if (fclose(meminfo) == -1) - terminal_error("fclose"); -- -+ - if( !ud.ram || !ud.swap ) { - unsigned long i; - fprintf(stderr, "\nCould not get memory or swap size. "); -@@ -1399,6 +1405,7 @@ void usage(void) - fprintf(stderr, "\t[-h]\n\n"); - fprintf(stderr, " -l\tUse <int> loops per sec (default: use saved benchmark)\n"); - fprintf(stderr, " -L\tUse cpu load of <int> with burn load (default: 4)\n"); -+ fprintf(stderr, " -M\tForce RAM size to <int>. Useful when disk is smaller than RAM.\n"); - fprintf(stderr, " -t\tSeconds to run each benchmark (default: 30)\n"); - fprintf(stderr, " -B\tNice the benchmarked thread to <int> (default: 0)\n"); - fprintf(stderr, " -N\tNice the load thread to <int> (default: 0)\n"); -@@ -1482,7 +1489,7 @@ int main(int argc, char **argv) - terminal_error("signal"); - #endif - -- while ((q = getopt(argc, argv, "hl:L:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) { -+ while ((q = getopt(argc, argv, "hl:L:M:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) { - switch (q) { - case 'h': - usage(); -@@ -1496,6 +1503,9 @@ int main(int argc, char **argv) - case 'L': - ud.cpu_load = atoi(optarg); - break; -+ case 'M': -+ ud.ram = atoi(optarg); -+ break; - case 'B': - ud.bench_nice = atoi(optarg); - break; diff --git a/meta-agl-core-test/recipes-test/interbench/interbench_0.31.bb b/meta-agl-core-test/recipes-test/interbench/interbench_0.31.bb deleted file mode 100644 index c9903b340..000000000 --- a/meta-agl-core-test/recipes-test/interbench/interbench_0.31.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "The Linux interactivity benchmark" -HOMEPAGE = "http://users.tpg.com.au/ckolivas/interbench/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" -SRC_URI = "http://ck.kolivas.org/apps/interbench/interbench-${PV}.tar.bz2" - -SRC_URI += "file://interbench.c.patch;striplevel=0" - -inherit autotools - -INSANE_SKIP:${PN} = "ldflags" - -B = "${S}" -EXTRA_OEMAKE = "CC='${CC}'" - -# upstream tarball contains x86_64 binaries, we need a clean source tree -do_compile() { - oe_runmake clean - oe_runmake -} - -do_install() { - install -d ${D}${bindir} ${D}${datadir}/doc/${PN}/ ${D}${mandir}/man8/ - install -m 0755 ${B}/interbench ${D}${bindir} - install -m 0644 ${S}/readme* ${D}${datadir}/doc/${PN}/ - install -m 0644 ${S}/interbench.8 ${D}${mandir}/man8/ -} - -SRC_URI[md5sum] = "832254d7fd1255c548ebea7b97f01015" -SRC_URI[sha256sum] = "89d438b28aef22d26e79812762a57a9f9344a8dd8826edebfe60dad48ee1c784" - diff --git a/meta-agl-core-test/recipes-test/ipv6connect/ipv6connect.bb b/meta-agl-core-test/recipes-test/ipv6connect/ipv6connect.bb deleted file mode 100644 index 3a2f2576f..000000000 --- a/meta-agl-core-test/recipes-test/ipv6connect/ipv6connect.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "ipv6connect test" -HOMEPAGE = "https://chromium.googlesource.com/chromiumos/third_party/autotest/+/0.12.369.B/client/tests/ipv6connect" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://${S}/${PN}/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "b355b7e1f43a19938895964f314484ffd8a39542" - -inherit autotools - -INSANE_SKIP:${PN} = "ldflags" - -B = "${WORKDIR}/git/ipv6connect" -S = "${WORKDIR}/git" - -# configure script is not delivered, only a makefile. -do_configure() { - : -} - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/ipv6connect ${D}${bindir} -} diff --git a/meta-agl-core-test/recipes-test/linpack/linpack.bb b/meta-agl-core-test/recipes-test/linpack/linpack.bb deleted file mode 100644 index 84bed0ff6..000000000 --- a/meta-agl-core-test/recipes-test/linpack/linpack.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Linpack benchmark" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://${S}/${PN}/linpack.c;md5=076f1fd8d313056103f98d4253862eae" - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "920cae73a918d1f516113b0ae967be3ecaba86ef" - -DEPENDS += "rsync-native" - -inherit autotools - -S = "${WORKDIR}/git" - -# configure script is not delivered, only a makefile. -do_configure() { - mkdir -p ${B} - rsync -a ${S}/${PN}/* ${B} -} - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/linpack ${D}${bindir} -} diff --git a/meta-agl-core-test/recipes-test/linus-stress/linus-stress.bb b/meta-agl-core-test/recipes-test/linus-stress/linus-stress.bb deleted file mode 100644 index 927df7876..000000000 --- a/meta-agl-core-test/recipes-test/linus-stress/linus-stress.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "linus_stress test" -HOMEPAGE = "https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/client/tests/linus_stress" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://${S}/linus_stress/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "87cdfd4626c0cb47fc22f328867e49d6268df85c" - -inherit autotools -INSANE_SKIP:${PN} = "ldflags" - -B = "${WORKDIR}/git/linus_stress" -S = "${WORKDIR}/git" - -# configure script is not delivered, only a makefile. -do_configure() { - : -} - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/linus_stress ${D}${bindir} -} diff --git a/meta-agl-core-test/recipes-test/packagegroups/packagegroup-agl-test.bb b/meta-agl-core-test/recipes-test/packagegroups/packagegroup-agl-test.bb deleted file mode 100644 index 2f45f25d0..000000000 --- a/meta-agl-core-test/recipes-test/packagegroups/packagegroup-agl-test.bb +++ /dev/null @@ -1,68 +0,0 @@ -SUMMARY = "Utilities for testing of AGL" -DESCRIPTION = "A set of common packages required by testing AGL for Quality Assurance" - -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-test \ - packagegroup-agl-test-ltp \ - packagegroup-ivi-common-test \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - bc \ - ebizzy \ - evtest \ - ffsb \ - glmark2 \ - interbench \ - ipv6connect \ - linpack \ - linus-stress \ - nmap \ - rt-tests \ - stress \ - " - - - - - -# to be added, but needs LICENSE_FLAGS_ACCEPTED="non-commercial" -# netperf # meta-networking - -# relocate due to dependencies -# iperf3 \ # meta-oe -# lmbench \ # meta-oe -# dbench \ # meta-oe -# nbench-byte \ # meta-oe -# iozone3 \ # meta-oe -# - -# FTBS, SPEC-316 -# himeno # nowhere -# FTBS, SPEC-1384 -# trinity # meta-linaro (1.5) - -# packagegroup-agl-test-ltp \ -# ltp \ # ltp in oe-core -# - -# Packages for shell commands which are required by LTP -# readelf, logrotate, vsftpd, crontab, sar, arp, ftp, -# host, rcp, rlogin, rsh, tcpdump, expect, iptables, dnsmasq, -# pgrep -RDEPENDS:packagegroup-agl-test-ltp = "" -#RDEPENDS:packagegroup-agl-test-ltp += " \ -# initscripts-functions bind-utils binutils \ -# cronie dnsmasq expect inetutils-ftp inetutils-rsh \ -# iptables logrotate net-tools sysstat tcpdump vsftpd \ -# " - -RDEPENDS:packagegroup-ivi-common-test = " \ - packagegroup-agl-test \ - " diff --git a/meta-agl-core-test/recipes-test/trinity/trinity_git.bb b/meta-agl-core-test/recipes-test/trinity/trinity_git.bb deleted file mode 100644 index a8558cb70..000000000 --- a/meta-agl-core-test/recipes-test/trinity/trinity_git.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "a Linux System call fuzz teste." -DESCRIPTION = "Trinity, a Linux System call fuzz tester." -HOMEPAGE = "http://codemonkey.org.uk/projects/trinity/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=96094d47cfbd2cc45eb46ce0fc423c04" - -COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux" - -PV = "1.5" -SRCREV = "edc2e693e298e0372010a361354c4a79a3cd93f3" -SRC_URI = "git://github.com/kernelslacker/trinity.git;protocol=https;nobranch=1 \ - " - -S = "${WORKDIR}/git" - -inherit useradd - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --create-home --shell /bin/sh ${PN} " - -do_configure () { - ./configure.sh -} - -# workaround random build failures -do_compile () { - ${MAKE} -} - -do_install () { - oe_runmake install DESTDIR=${D}/usr - install -o ${PN} -d -m 0755 ${D}/${datadir}/${PN} - install -o ${PN} -m 0755 ${S}/scripts/test-all-syscalls-parallel.sh ${D}/${datadir}/${PN} - install -o ${PN} -m 0755 ${S}/scripts/test-all-syscalls-sequentially.sh ${D}/${datadir}/${PN} - install -o ${PN} -m 0755 ${S}/scripts/test-multi.sh ${D}/${datadir}/${PN} - install -o ${PN} -m 0755 ${S}/scripts/test-vm.sh ${D}/${datadir}/${PN} -} - -PACKAGES =+ "${PN}-example" - -FILES:${PN} = "${bindir}/trinity" -FILES:${PN}-example = "${datadir}/${PN}" diff --git a/meta-agl-core/classes/agl-core-image.bbclass b/meta-agl-core/classes/agl-core-image.bbclass new file mode 100644 index 000000000..bb5580391 --- /dev/null +++ b/meta-agl-core/classes/agl-core-image.bbclass @@ -0,0 +1,32 @@ +# AGL base image class +# +# As opposed to using core-image directly, this class: +# - does not pull in packagegroup-base-extended by default to minimize images. +# This does mean that many of the oe-core / poky MACHINE and DISTRO features +# (e.g. 3g, nfs, etc.) will not result in packages being automatically pulled +# into images since that is driven via packagegroup-base. +# - includes hooks for integrating SELinux via meta-selinux +# - disables locale installation by default +# + +# Disable locales +IMAGE_LINGUAS = "" + +# Hook to allow inheriting e.g. selinux-image by default. +# Any bbclass used as a value should ultimately inherit core-image +AGL_BASE_IMAGE ?= "core-image" + +inherit ${AGL_BASE_IMAGE} + +FEATURE_PACKAGES_selinux = " \ + packagegroup-agl-core-selinux \ + ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'packagegroup-agl-core-selinux-devel', '', d)} \ +" + +IMAGE_FEATURES:append = " ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" + +CORE_IMAGE_BASE_INSTALL = " \ + packagegroup-agl-core-boot \ + \ + ${CORE_IMAGE_EXTRA_INSTALL} \ +" diff --git a/meta-agl-core/classes/agl-crosssdk.bbclass b/meta-agl-core/classes/agl-crosssdk.bbclass new file mode 100644 index 000000000..5f6dbf303 --- /dev/null +++ b/meta-agl-core/classes/agl-crosssdk.bbclass @@ -0,0 +1,9 @@ +IMAGE_FEATURES += "dev-pkgs" +IMAGE_INSTALL += "kernel-dev kernel-devsrc" + +inherit populate_sdk + +# Task do_populate_sdk and do_rootfs can't be exec simultaneously. +# Both exec "createrepo" on the same directory, and so one of them +# can failed (randomly). +addtask do_populate_sdk after do_rootfs diff --git a/meta-agl-core/conf/distro/include/aarch64-tune.inc b/meta-agl-core/conf/distro/include/aarch64-tune.inc index 320b4f1ac..4628fcaf2 100644 --- a/meta-agl-core/conf/distro/include/aarch64-tune.inc +++ b/meta-agl-core/conf/distro/include/aarch64-tune.inc @@ -4,7 +4,9 @@ # A double inclusion would produce a warning. This include line is just for reference # include conf/machine/include/arm/arch-armv8.inc -DEFAULTTUNE:poky-agl := "aarch64" +AGL_DEFAULTTUNE ?= "aarch64" +DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}" + # not yet ready #QB_SYSTEM_NAME ?= "qemu-system-aarch" #QB_DEFAULT_KERNEL ?= "zImage" diff --git a/meta-agl-core/conf/distro/include/arm-tune.inc b/meta-agl-core/conf/distro/include/arm-tune.inc index fa68e05a7..b3ad64ad7 100644 --- a/meta-agl-core/conf/distro/include/arm-tune.inc +++ b/meta-agl-core/conf/distro/include/arm-tune.inc @@ -7,14 +7,16 @@ # include conf/machine/include/arch/arm-armv7-a.inc # Standard target for 32bit ARM (newer than cortex-a15) -AGLDEFAULTTUNE = "armv7vethf-neon-vfpv4" +ARM_DEFAULTTUNE = "armv7vethf-neon-vfpv4" # for cortex-a8, cortex-a9, cortex-a7 (=rpi 2/3) -AGLDEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-medium-arm-compiler', 'armv7athf-neon', '${AGLDEFAULTTUNE}', d)}" +ARM_DEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-medium-arm-compiler', 'armv7athf-neon', '${ARM_DEFAULTTUNE}', d)}" # for armv6 (=rpi0/1) -AGLDEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-low-arm-compiler', 'arm1176jzfshf', '${AGLDEFAULTTUNE}', d)}" -DEFAULTTUNE := "${AGLDEFAULTTUNE}" +ARM_DEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-low-arm-compiler', 'arm1176jzfshf', '${ARM_DEFAULTTUNE}', d)}" + +AGL_DEFAULTTUNE ?= "${ARM_DEFAULTTUNE}" +DEFAULTTUNE:agldefaulttune := "${AGL_DEFAULTTUNE}" QB_SYSTEM_NAME ?= "qemu-system-arm" QB_DEFAULT_KERNEL ?= "zImage" diff --git a/meta-agl-core/conf/distro/include/riscv64-tune.inc b/meta-agl-core/conf/distro/include/riscv64-tune.inc index f8118dec3..981fc4283 100644 --- a/meta-agl-core/conf/distro/include/riscv64-tune.inc +++ b/meta-agl-core/conf/distro/include/riscv64-tune.inc @@ -4,4 +4,5 @@ # A double inclusion would produce a warning. This include line is just for reference # include conf/machine/include/arm/arch-armv8.inc -DEFAULTTUNE = "riscv64" +AGL_DEFAULTTUNE ?= "riscv64" +DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}" diff --git a/meta-agl-core/conf/distro/include/x86_64-tune.inc b/meta-agl-core/conf/distro/include/x86_64-tune.inc index 4e5bb9fda..541b729b6 100644 --- a/meta-agl-core/conf/distro/include/x86_64-tune.inc +++ b/meta-agl-core/conf/distro/include/x86_64-tune.inc @@ -3,7 +3,8 @@ # We should not need the tuning include below as the BSP should include the right set already. # A double inclusion would produce a warning. This include line is just for reference #include conf/machine/include/tune-corei7.inc -DEFAULTTUNE = "corei7-64" +AGL_DEFAULTTUNE ?= "corei7-64" +DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}" # shortened copy of tune-corei7.inc due to bug in inclusion for tune-core2.inc # TUNE_ARCH is using .= x86-64 , if done twice, you get x86-64x86-64 as TUNE_ARCH :/ diff --git a/meta-agl-core/conf/distro/poky-agl.conf b/meta-agl-core/conf/distro/poky-agl.conf index e13ce6f04..19a21ad44 100644 --- a/meta-agl-core/conf/distro/poky-agl.conf +++ b/meta-agl-core/conf/distro/poky-agl.conf @@ -1,35 +1,36 @@ require conf/distro/poky.conf +# Insert overrides "agldefaulttune" and "forcedefaulttune" before forcevariable +OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}${LIBCOVERRIDE}:agldefaulttune:forcedefaulttune:forcevariable" + # AGL specific derivations DISTRO = "poky-agl" DISTRO_NAME = "Automotive Grade Linux" # Release flags -DISTRO_CODENAME = "needlefish" +DISTRO_CODENAME = "ricefish" AGL_BRANCH = "master" -AGLVERSION = "13.90.0" +AGLVERSION = "17.90.0" + # switch devel/release -AGLRELEASETYPE ?= "agldevelopment" -#AGLRELEASETYPE ?= "aglrelease" +#AGLRELEASETYPE ?= "agldevelopment" +AGLRELEASETYPE := "aglrelease" + OVERRIDES .= ":${AGLRELEASETYPE}" -# #for development DISTRO_VERSION:agldevelopment := "${AGLVERSION}+snapshot-${METADATA_REVISION}" -AGL_APP_REVISION:agldevelopment = "${AUTOREV}" -AGL_DEFAULT_REVISION:agldevelopment = "${AUTOREV}" #for release DISTRO_VERSION:aglrelease := "${AGLVERSION}" DISTRO_BRANCH_VERSION_TAG = "${DISTRO_CODENAME}/${@'${DISTRO_VERSION}'.replace('+snapshot-${METADATA_REVISION}','')}" -AGL_APP_REVISION:aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}" -AGL_DEFAULT_REVISION:aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}" # reproducible builds: # Set the desired timestamps -export SOURCE_DATE_EPOCH = "1593400000" -REPRODUCIBLE_TIMESTAMP_ROOTFS = "1593400000" +# E.g. update for (major) releases +export SOURCE_DATE_EPOCH = "1706800000" +REPRODUCIBLE_TIMESTAMP_ROOTFS = "1706800000" # SDK @@ -136,8 +137,8 @@ AGL_EXTRA_INITRAMFS_FSTYPES ??= "" # # Default IMAGE FSTYPES wic.xz AGL_DEFAULT_IMAGE_FSTYPES ?= "wic.xz wic.bmap wic.xz.sha256sum" -AGL_DEFAULT_IMAGE_FSTYPES:qemuall ?= "${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}" -AGL_DEFAULT_IMAGE_FSTYPES:append:netboot = " ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}" +AGL_DEFAULT_IMAGE_FSTYPES:qemuall ?= "${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}" +AGL_DEFAULT_IMAGE_FSTYPES:append:netboot = " ${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}" AGL_DEFAULT_INITRAMFS_FSTYPES ?= "ext4.gz" # DEFAULT IMAGE_FSTYPES for AGL (no - BSPs should not set this) diff --git a/meta-agl-core/conf/include/agl-create-spdx.inc b/meta-agl-core/conf/include/agl-create-spdx.inc new file mode 100644 index 000000000..8d71013e3 --- /dev/null +++ b/meta-agl-core/conf/include/agl-create-spdx.inc @@ -0,0 +1 @@ +INHERIT += " create-spdx " diff --git a/meta-agl-core/conf/include/agl-devel.inc b/meta-agl-core/conf/include/agl-devel.inc index afc284480..055fa61e3 100644 --- a/meta-agl-core/conf/include/agl-devel.inc +++ b/meta-agl-core/conf/include/agl-devel.inc @@ -12,5 +12,5 @@ IMAGE_INSTALL:append = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' lib SDKIMAGE_FEATURES="dev-pkgs" # allows insertion of code or items specific to developement -OVERRIDES .= ":agl-devel" +OVERRIDES:append = ":agl-devel" DISTRO_FEATURES:append = " agl-devel" diff --git a/meta-agl-core/conf/include/agl-selinux.inc b/meta-agl-core/conf/include/agl-selinux.inc new file mode 100644 index 000000000..aeb26e33d --- /dev/null +++ b/meta-agl-core/conf/include/agl-selinux.inc @@ -0,0 +1,20 @@ +DISTRO_FEATURES:append = " acl xattr selinux" + +# Reiterate the upstream default of targeted policy since that +# is the mostly widely used model, and it will likely be easier +# to pull policy from other distributions for it. +# Having an explicit setting here seems useful for documentation +# purposes, and it is still possible that using one of the other +# refpolicy package options as the AGL default desirable, and it +# would be set here. +PREFERRED_PROVIDER_virtual/refpolicy ?= "refpolicy-targeted" + +# Default to permissive mode +DEFAULT_ENFORCING ?= "permissive" + +# Override the base image class to get the SELinux labeling hook +AGL_BASE_IMAGE ?= "selinux-image" + +# Mask out meta-selinux's linux-yocto kernel config bbappend to +# avoid collision with AGL's own more universal scheme. +BBMASK += "meta-selinux/recipes-kernel/linux/"
\ No newline at end of file diff --git a/meta-agl-core/conf/layer.conf b/meta-agl-core/conf/layer.conf index 2749aec47..ddea256fe 100644 --- a/meta-agl-core/conf/layer.conf +++ b/meta-agl-core/conf/layer.conf @@ -13,6 +13,9 @@ BBFILES_DYNAMIC += " \ openembedded-layer:${LAYERDIR}/dynamic-layers/meta-oe/*/*/*.bb \ openembedded-layer:${LAYERDIR}/dynamic-layers/meta-oe/*/*/*.bbappend \ \ + selinux:${LAYERDIR}/dynamic-layers/meta-selinux/*/*/*.bb \ + selinux:${LAYERDIR}/dynamic-layers/meta-selinux/*/*/*.bbappend \ + \ qt5-layer:${LAYERDIR}/dynamic-layers/meta-qt5/*/*/*.bb \ qt5-layer:${LAYERDIR}/dynamic-layers/meta-qt5/*/*/*.bbappend \ " diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend new file mode 100644 index 000000000..4b6deffdf --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'agl-compositor-init_aglcore.inc', '', d)} diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc new file mode 100644 index 000000000..b7d346d39 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc @@ -0,0 +1 @@ +require common-init.inc diff --git a/meta-agl-core/recipes-graphics/wayland/agl-shell-activator_git.bb b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-shell-activator_git.bb index d6a271dbb..38725c1bd 100644 --- a/meta-agl-core/recipes-graphics/wayland/agl-shell-activator_git.bb +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-shell-activator_git.bb @@ -8,10 +8,10 @@ SECTION = "x11" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=e978448a0d41d826d73890d9c22caf75" -DEPENDS = "wayland wayland-protocols wayland-native agl-compositor" +DEPENDS = "wayland wayland-protocols wayland-native agl-compositor grpc grpc-native" SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-shell-activator.git;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "0b21156c3b4f049325dbc7937aabb1f689ed945d" +SRCREV = "027d6f814f3d1f2e6b4b4071365b28dadec34109" PV = "0.0.10+git${SRCPV}" S = "${WORKDIR}/git" diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc new file mode 100644 index 000000000..47f7d8b1d --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc @@ -0,0 +1,6 @@ +# If weston's PACKAGECONFIG contains systemd + pam + polkit, polkit +# ends up a hard requirement for start up due to the pam + systemd +# configuration that is being installed. For now, keep things simple +# and assume that polkit should be a dependency if it is in +# DISTRO_FEATURES. +RDEPENDS:${PN} += "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend new file mode 100644 index 000000000..c09d7ccd3 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'weston-init_aglcore.inc', '', d)} diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc new file mode 100644 index 000000000..b7d346d39 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc @@ -0,0 +1 @@ +require common-init.inc diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend new file mode 100644 index 000000000..1e0e66f01 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend @@ -0,0 +1,3 @@ +IMAGE_INSTALL += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'agl-shell-activator', '', d)} \ +" diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend deleted file mode 100644 index 0db606679..000000000 --- a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'packagegroup-agl-graphical-weston_aglcore.inc', '', d)} diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_aglcore.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_aglcore.inc deleted file mode 100644 index 6167f459e..000000000 --- a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_aglcore.inc +++ /dev/null @@ -1 +0,0 @@ -RDEPENDS:${PN} += "polkit" diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc index 54a6311fb..581f5de99 100644 --- a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc +++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc @@ -1,3 +1,5 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/qtbase:" + PACKAGECONFIG_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}" PACKAGECONFIG_GL = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}" diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation/0001-mapbox-update-API-url-to-match-new-schema.patch b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation/0001-mapbox-update-API-url-to-match-new-schema.patch new file mode 100644 index 000000000..ba8a991ed --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation/0001-mapbox-update-API-url-to-match-new-schema.patch @@ -0,0 +1,47 @@ +From 58197439eade86e7efc6fe98116c0092ea429d29 Mon Sep 17 00:00:00 2001 +From: Matt Ranostay <matt.ranostay@konsulko.com> +Date: Tue, 10 Mar 2020 13:59:58 -0700 +Subject: [PATCH] mapbox: update API url to match new schema + +--- + src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp | 7 ++++--- + src/plugins/geoservices/mapbox/qmapboxcommon.h | 2 +- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp +index 0b128556..bd2be6b6 100644 +--- a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp ++++ b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp +@@ -88,12 +88,13 @@ QGeoTiledMapReply *QGeoTileFetcherMapbox::getTileImage(const QGeoTileSpec &spec) + request.setRawHeader("User-Agent", m_userAgent); + + request.setUrl(QUrl(mapboxTilesApiPath + +- ((spec.mapId() >= m_mapIds.size()) ? QStringLiteral("mapbox.streets") : m_mapIds[spec.mapId() - 1]) + QLatin1Char('/') + ++ m_mapIds[m_mapIds.size() - 1] + ++ QStringLiteral("/tiles/256/") + + QString::number(spec.zoom()) + QLatin1Char('/') + + QString::number(spec.x()) + QLatin1Char('/') + + QString::number(spec.y()) + +- ((m_scaleFactor > 1) ? (QLatin1Char('@') + QString::number(m_scaleFactor) + QLatin1String("x.")) : QLatin1String(".")) + +- m_format + QLatin1Char('?') + ++ ((m_scaleFactor > 1) ? (QLatin1Char('@') + QString::number(m_scaleFactor) + QLatin1String("x")) : QLatin1String("")) + ++ QLatin1Char('?') + + QStringLiteral("access_token=") + m_accessToken)); + + QNetworkReply *reply = m_networkManager->get(request); +diff --git a/src/plugins/geoservices/mapbox/qmapboxcommon.h b/src/plugins/geoservices/mapbox/qmapboxcommon.h +index e60c4e83..4b2ea98d 100644 +--- a/src/plugins/geoservices/mapbox/qmapboxcommon.h ++++ b/src/plugins/geoservices/mapbox/qmapboxcommon.h +@@ -46,7 +46,7 @@ + + QT_BEGIN_NAMESPACE + +-static const QString mapboxTilesApiPath = QStringLiteral("http://api.tiles.mapbox.com/v4/"); ++static const QString mapboxTilesApiPath = QStringLiteral("https://api.mapbox.com/"); + + // https://www.mapbox.com/api-documentation/#geocoding + static const QString mapboxGeocodingApiPath = QStringLiteral("https://api.mapbox.com/geocoding/v5/mapbox.places/"); +-- +2.25.0 + diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_%.bbappend b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_%.bbappend new file mode 100644 index 000000000..a0d80075a --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'qtlocation_aglcore.inc', '', d)} diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_aglcore.inc b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_aglcore.inc new file mode 100644 index 000000000..60867aef0 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_aglcore.inc @@ -0,0 +1,14 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/qtlocation:" + +SRC_URI += "\ + file://0001-mapbox-update-API-url-to-match-new-schema.patch \ + " + +# Need to explicitly enable the various plugins +PACKAGECONFIG += " \ + geoservices_osm \ + geoservices_here \ + geoservices_itemsoverlay \ + geoservices_mapbox \ + geoservices_mapboxgl \ +" diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.service b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.service new file mode 100644 index 000000000..b8d394068 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.service @@ -0,0 +1,12 @@ +[Unit] +Description=Generated file SELinux relabeling +DefaultDependencies=no +After=local-fs.target systemd-machine-id-commit.service +Before=sysinit.target + +[Service] +Type=oneshot +ExecStart=/usr/sbin/systemd-selinux-relabel.sh + +[Install] +WantedBy=sysinit.target diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.sh b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.sh new file mode 100644 index 000000000..b2557a8d6 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# Update labels on files generated on first boot. +/usr/sbin/restorecon -FRi /etc/systemd /etc/machine-id +if [ $? -eq 0 ]; then + # Disable parent service + # NOTE: The service does not use the first boot functionality + # in systemd as /etc/machine-id is not writeable until + # after it is complete. + systemctl disable systemd-selinux-relabel.service +fi +exit 0 diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/systemd-selinux-relabel_1.0.bb b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/systemd-selinux-relabel_1.0.bb new file mode 100644 index 000000000..7e4f9783c --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/systemd-selinux-relabel_1.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "System unit to relabel systemd generated files" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://systemd-selinux-relabel.service \ + file://systemd-selinux-relabel.sh \ +" + +inherit systemd allarch features_check + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + +REQUIRED_DISTRO_FEATURES = "systemd" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/systemd-selinux-relabel.service ${D}${systemd_system_unitdir}/ + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/systemd-selinux-relabel.sh ${D}${sbindir}/ +} + +FILES:${PN} += "${systemd_system_unitdir}" diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-platform/packagegroups/packagegroup-agl-core-selinux.bb b/meta-agl-core/dynamic-layers/meta-selinux/recipes-platform/packagegroups/packagegroup-agl-core-selinux.bb new file mode 100644 index 000000000..493a46f25 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-platform/packagegroups/packagegroup-agl-core-selinux.bb @@ -0,0 +1,57 @@ +SUMMARY = "SELinux packages" +DESCRIPTION = "SELinux packages required for AGL" +LICENSE = "MIT" + +inherit packagegroup features_check + +REQUIRED_DISTRO_FEATURES = "selinux" + +PACKAGES = " \ + packagegroup-agl-core-selinux \ + packagegroup-agl-core-selinux-devel \ +" + +# +# meta-selinux's packagegroup-core-selinux includes a lot of +# policy development tools with its inclusion of the layer's +# packagegroup-selinux-policycoreutils, which is not really +# desirable for a production image. Create our own base +# packagegroup and an accompanying devel packagegroup that +# agl-devel can trigger pulling in. +# +# NOTES: +# - It seems likely we will always want auditd, so include +# it in the base packagegroup. +# - selinux-autorelabel seems required to handle both the +# edge case of builds done on non-xattr capable filesystems, +# and to allow driving relabeling after potential package +# installation during runtime. +# - packagegroup-selinux-policycoreutils includes a lot of +# things that seem not useful in a lot of systems (e.g. +# the gtk dependent selinux-gui), so for now the devel +# packagegroup aims to include a more minimal set of tools +# aimed at enabling checkpolicy and audit2allow use. +# - Some thought needs to go into whether the relabeling +# fixup packages should be handled separately, as they +# ideally should not go into images using read-only or +# stateless rootfs, but those are image features so we +# cannot check for them here. +# + +RDEPENDS:${PN} = " \ + packagegroup-selinux-minimal \ + auditd \ + selinux-autorelabel \ + systemd-selinux-relabel \ +" + +RDEPENDS:${PN}-devel = " \ + ${BPN} \ + libsepol-bin \ + checkpolicy \ + policycoreutils-loadpolicy \ + policycoreutils-setsebool \ + policycoreutils-hll \ + semodule-utils-semodule-package \ + selinux-python-audit2allow \ +" diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_0.1.bbappend b/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_0.1.bbappend new file mode 100644 index 000000000..793b049e5 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_0.1.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'selinux-autorelabel_aglcore.inc', '', d)} diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_aglcore.inc b/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_aglcore.inc new file mode 100644 index 000000000..67d3843f4 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_aglcore.inc @@ -0,0 +1,4 @@ +do_install:append() { + # Do not force auto relabeling just from the package getting installed + rm -f ${D}/.autorelabel +} diff --git a/meta-agl-core/files/group b/meta-agl-core/files/group index 10cec784e..69a86186e 100644 --- a/meta-agl-core/files/group +++ b/meta-agl-core/files/group @@ -89,8 +89,13 @@ wayland::201: display::202: agl-driver::1001: agl-passenger::1002: +applaunchd::1003: systemd-network::1005: systemd-resolve::1006: mosquitto::1007: pipewire::1008: +render::1009: +sgx::1010: kuksa::900: +qemu::901: +kvm::902: diff --git a/meta-agl-core/files/passwd b/meta-agl-core/files/passwd index b97bf3b47..3e6639d86 100644 --- a/meta-agl-core/files/passwd +++ b/meta-agl-core/files/passwd @@ -23,6 +23,7 @@ sshd::996:996::: systemd-bus-proxy::995:995::: agl-driver::1001:1001::: agl-passenger::1002:1002::: +applaunchd::1003:1003::: messagebus::994:994::: afm::992:992::: systemd-timesync::988:988::: @@ -62,3 +63,5 @@ systemd-resolve::1006:1006::: mosquitto::1007:1007::: pipewire::1008:1008::: kuksa::900:900::: +qemu::901:901::: +user::1004:100::: diff --git a/meta-agl-core/recipes-config/agl-users/agl-users.inc b/meta-agl-core/recipes-config/agl-users/agl-users.inc new file mode 100644 index 000000000..428af3806 --- /dev/null +++ b/meta-agl-core/recipes-config/agl-users/agl-users.inc @@ -0,0 +1,14 @@ +inherit useradd + +USERADD_PACKAGES = "${PN}" +USERADDEXTENSION = "useradd-staticids" + +GROUPADD_PARAM:${PN} = "\ + --system video ; \ + --system pipewire ; \ + -g 1001 agl-driver ; \ +" + +USERADD_PARAM:${PN} = "\ + -g 1001 -u 1001 -G video,pipewire -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \ +" diff --git a/meta-agl-core/recipes-config/agl-users/agl-users_1.0.bb b/meta-agl-core/recipes-config/agl-users/agl-users_1.0.bb new file mode 100644 index 000000000..18f25e4be --- /dev/null +++ b/meta-agl-core/recipes-config/agl-users/agl-users_1.0.bb @@ -0,0 +1,9 @@ +SUMMARY = "AGL Users" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +inherit allarch + +require agl-users.inc + +ALLOW_EMPTY:${PN} = "1" diff --git a/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Do-not-overwrite-CFLAGS.patch b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Do-not-overwrite-CFLAGS.patch new file mode 100644 index 000000000..4a86e6c57 --- /dev/null +++ b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Do-not-overwrite-CFLAGS.patch @@ -0,0 +1,37 @@ +From 50ca6e010c3ca3f7cb06dfdf5dbdfaacd4f4749a Mon Sep 17 00:00:00 2001 +From: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> +Date: Tue, 19 Jul 2022 23:28:21 +0200 +Subject: [PATCH] Do not overwrite CFLAGS + +Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> +--- + configure.ac | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7e3307f..c385bc0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -24,14 +24,14 @@ AC_PROG_CC + AC_PROG_CC_C99 + AM_PROG_CC_C_O + +-CFLAGS="" +- +-AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], +- [disable code optimization through compiler]), [ +- if (test "${enableval}" = "no"); then +- CFLAGS="$CFLAGS -O0 -U_FORTIFY_SOURCE" +- fi +-]) ++#CFLAGS="" ++# ++#AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], ++# [disable code optimization through compiler]), [ ++# if (test "${enableval}" = "no"); then ++# CFLAGS="$CFLAGS -O0 -U_FORTIFY_SOURCE" ++# fi ++#]) + + AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], + [enable compiling with debugging information]), [ diff --git a/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Initialize-variables.patch b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Initialize-variables.patch new file mode 100644 index 000000000..9a1078426 --- /dev/null +++ b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Initialize-variables.patch @@ -0,0 +1,39 @@ +From 0389a80796d3ae31d8f60659f0638660a00157b2 Mon Sep 17 00:00:00 2001 +From: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> +Date: Tue, 19 Jul 2022 23:58:05 +0200 +Subject: [PATCH] Initialize variables + +This fixes compiler warnings. + +Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> +--- + main.c | 2 +- + renderers.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/main.c b/main.c +index f0354f9..1fa9ab1 100644 +--- a/main.c ++++ b/main.c +@@ -159,7 +159,7 @@ static void report_error() + */ + static void get_help_window() + { +- char *msg; ++ char *msg = ""; + + if (win_help) + return; +diff --git a/renderers.c b/renderers.c +index c531a1e..d9d0414 100644 +--- a/renderers.c ++++ b/renderers.c +@@ -153,7 +153,7 @@ static void renderers_technologies(struct json_object *jobj) + int i; + char *desc_base = "%-20s Powered %-5s Connected %-5s"; + char desc_base_sub[30]; +- const char *k_name, *k_type, *k_powered, *k_connected; ++ const char *k_name = "" , *k_type = "" , *k_powered = "", *k_connected = ""; + char *desc, *tech_short_name; + struct json_object *sub_array, *dbus_tech_name, *tech_dict; + struct userptr_data *data; diff --git a/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb index 0d1983db2..7b6d50531 100644 --- a/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb +++ b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb @@ -10,13 +10,15 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381" SRC_URI = "git://gitlab.com/iotbzh/connman-json-client.git;protocol=https;branch=master \ - file://stdbool-fixes.patch" + file://stdbool-fixes.patch \ + file://0001-Do-not-overwrite-CFLAGS.patch \ + file://0001-Initialize-variables.patch \ + " SRCREV = "2b0f93ec9518c978c04807fe52e95315d6d80e6b" inherit autotools pkgconfig -EXTRA_AUTORECONF += " -i" -EXTRA_OECONF += " --disable-optimization --enable-debug" +EXTRA_AUTORECONF += " -vfi" S = "${WORKDIR}/git" diff --git a/meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf b/meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf index 4dba25b70..be9fd0ed2 100644 --- a/meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf +++ b/meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf @@ -1,3 +1,3 @@ [General] FallbackTimeservers=pool.ntp.org -NetworkInterfaceBlacklist=vmnet,vboxnet,virbr,ifb,meth +NetworkInterfaceBlacklist=vmnet,vboxnet,virbr,tap,ifb,meth diff --git a/meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc b/meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc index 4505ab779..30a250e1e 100644 --- a/meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc +++ b/meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc @@ -1,2 +1,9 @@ # Pick up our version of main.conf FILESEXTRAPATHS:prepend := "${THISDIR}/connman-conf:" + +# Upstream connman-conf only installs configuration for qemu targets +# but we need it in all our BSP +do_install:append() { + mkdir -p ${D}${sysconfdir}/connman + cp ${S}/main.conf ${D}${sysconfdir}/connman/main.conf +} diff --git a/meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch b/meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch index f129a6580..7cc92e2c4 100644 --- a/meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch +++ b/meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch @@ -1,3 +1,7 @@ +Exempt when nfs is in use. + +Upstream-Status: Pending + --- connman-1.36.orig/src/connman.service.in 2019-02-18 18:02:07.034947373 -0500 +++ connman-1.36/src/connman.service.in 2019-02-18 18:07:24.689959219 -0500 @@ -7,6 +7,7 @@ diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can-fd.network b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can-fd.network new file mode 100644 index 000000000..86042bd90 --- /dev/null +++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can-fd.network @@ -0,0 +1,12 @@ +[Match] +Name=can* + +[CAN] +BitRate=500K +SamplePoint=75% +DataBitRate=4M +DataSamplePoint=80% +FDMode=yes + +[Link] +ActivationPolicy=up diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link new file mode 100644 index 000000000..61fb4d575 --- /dev/null +++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link @@ -0,0 +1,11 @@ +[Match] +Type=can +OriginalName=can* + +[Link] +TransmitQueueLength=1000 +# Need to duplicate default configuration here, since only first +# matching .link is applied +NamePolicy=keep kernel database onboard slot path +AlternativeNamesPolicy=database onboard slot path +MACAddressPolicy=persistent diff --git a/meta-agl-core/recipes-core/systemd/systemd/canbus-can.network b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.network index ae5514bca..ae5514bca 100644 --- a/meta-agl-core/recipes-core/systemd/systemd/canbus-can.network +++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.network diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-virtio.network b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-virtio.network new file mode 100644 index 000000000..cc33d86d6 --- /dev/null +++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-virtio.network @@ -0,0 +1,5 @@ +[Match] +Name=can* + +[CAN] +RestartSec=0.1 diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus_1.0.bb b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus_1.0.bb new file mode 100644 index 000000000..a23cd839a --- /dev/null +++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus_1.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "Systemd canbus configuration" +DESCRIPTION = "Systemd may require slightly different configuration for \ +different machines. This injects configuration for the CAN bus." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PE = "1" + +SRC_URI = "\ + file://canbus-can.network \ + file://canbus-can-fd.network \ + file://canbus-virtio.network \ + file://canbus-can.link \ +" + +CANBUS_NETWORK_CONFIG ??= "canbus-can.network" +CANBUS_NETWORK_CONFIG:virtio-all ?= "canbus-virtio.network" + +do_install() { + # Install CAN bus network configuration + install -d ${D}${nonarch_base_libdir}/systemd/network/ + install -m 0644 ${WORKDIR}/${CANBUS_NETWORK_CONFIG} ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.network + + # Install link configuration to bump queue size on physical CAN bus devices + install -m 0644 ${WORKDIR}/canbus-can.link ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.link +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +FILES:${PN} = " \ + ${nonarch_base_libdir}/systemd/network/ \ +" diff --git a/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf b/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf new file mode 100644 index 000000000..e5d4f4b28 --- /dev/null +++ b/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=/usr/bin/true diff --git a/meta-agl-core/recipes-core/systemd/systemd/wired.network b/meta-agl-core/recipes-core/systemd/systemd/wired.network index 3559b0155..425610a3f 100644 --- a/meta-agl-core/recipes-core/systemd/systemd/wired.network +++ b/meta-agl-core/recipes-core/systemd/systemd/wired.network @@ -1,5 +1,8 @@ [Match] Name=eth* en* +KernelCommandLine=!nbdroot +KernelCommandLine=!nfsroot +KernelCommandLine=!ip [Network] DHCP=yes diff --git a/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc b/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc index 6dd6698fc..9681329be 100644 --- a/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc +++ b/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc @@ -2,32 +2,35 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/systemd:" SRC_URI += "\ file://e2fsck.conf \ - file://canbus-can.network \ - ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','file://wired.network','',d)} \ + file://wait-disable.conf \ + file://wired.network \ " -# enable networkd/resolved support -PACKAGECONFIG:append:pn-systemd = " \ +# Enable networkd/resolved support if using systemd for network management +PACKAGECONFIG:append = " \ ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','networkd resolved','',d)} \ + iptc \ " +# SPEC-737: connmand also has a NTP client which races with systemd-timesyncd +PACKAGECONFIG:remove = "timesyncd" + +# Enable systemd-coredump when agl-devel is set on +PACKAGECONFIG:append:agl-devel = " coredump" + do_install:append() { # Install /etc/e2fsck.conf to avoid boot stuck by wrong clock time install -m 644 -p -D ${WORKDIR}/e2fsck.conf ${D}${sysconfdir}/e2fsck.conf - # Install canbus network script - install -m 0644 ${WORKDIR}/canbus-can.network ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.network - - if ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','true','false',d)}; then + if [ "${VIRTUAL-RUNTIME_net_manager}" = "systemd" ]; then # Install DHCP configuration for Ethernet adapters install -m 644 ${WORKDIR}/wired.network ${D}${sysconfdir}/systemd/network + elif [ "${VIRTUAL-RUNTIME_net_manager}" = "connman" ]; then + # Disable systemd-networkd-wait-online by default + install -d ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d + install -m 0644 ${WORKDIR}/wait-disable.conf ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d/ fi } FILES:${PN} += "${sysconfdir}/e2fsck.conf " -# SPEC-737: connmand also has a NTP client which races with systemd-timesyncd -PACKAGECONFIG:remove = "timesyncd" - -# Enable systemd-coredump when agl-devel is set on -PACKAGECONFIG:append:agl-devel = " coredump" diff --git a/meta-agl-core/recipes-devtools/qemu/qemu_%.bbappend b/meta-agl-core/recipes-devtools/qemu/qemu_%.bbappend new file mode 100644 index 000000000..980783236 --- /dev/null +++ b/meta-agl-core/recipes-devtools/qemu/qemu_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}_aglcore.inc', '', d)} diff --git a/meta-agl-core/recipes-devtools/qemu/qemu_aglcore.inc b/meta-agl-core/recipes-devtools/qemu/qemu_aglcore.inc new file mode 100644 index 000000000..77d461a7f --- /dev/null +++ b/meta-agl-core/recipes-devtools/qemu/qemu_aglcore.inc @@ -0,0 +1,5 @@ +PACKAGECONFIG:append = " \ + aio \ + libusb \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ +" diff --git a/meta-agl-core/recipes-graphics/libsdl2/libsdl2_%.bbappend b/meta-agl-core/recipes-graphics/libsdl2/libsdl2_%.bbappend new file mode 100644 index 000000000..48e50788e --- /dev/null +++ b/meta-agl-core/recipes-graphics/libsdl2/libsdl2_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'libsdl2_aglcore.inc', '', d)} diff --git a/meta-agl-core/recipes-graphics/libsdl2/libsdl2_aglcore.inc b/meta-agl-core/recipes-graphics/libsdl2/libsdl2_aglcore.inc new file mode 100644 index 000000000..7652e1843 --- /dev/null +++ b/meta-agl-core/recipes-graphics/libsdl2/libsdl2_aglcore.inc @@ -0,0 +1,3 @@ +# Make sure opengl is disabled, as using wayland implies gles2 in the +# libsdl2 PACKAGECONFIG definitions. +PACKAGECONFIG:remove = "opengl" diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb index 0cdf4d5d6..d8baf91f9 100644 --- a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb +++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb @@ -1,10 +1,19 @@ -SUMMARY = "Startup systemd unit drop-in file for the AGL Wayland compositor" +SUMMARY = "Startup systemd unit for the AGL Wayland compositor" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +inherit systemd + +# Reuse include file from upstream weston since we have the same requirements +require recipes-graphics/wayland/required-distro-features.inc + PACKAGE_ARCH = "${MACHINE_ARCH}" -SRC_URI = "file://agl-compositor.conf.in" +SRC_URI = "file://agl-compositor.service \ + file://agl-compositor.socket \ + file://agl-compositor-autologin \ + file://agl-compositor.conf.in \ +" S = "${WORKDIR}" @@ -15,7 +24,14 @@ AGL_COMPOSITOR_ARGS:append = " ${@bb.utils.contains("DISTRO_FEATURES", "agl-deve AGL_COMPOSITOR_ARGS:append = " ${@bb.utils.contains("WESTON_USE_PIXMAN", "1", " --use-pixman", "",d)}" do_install() { - # Process ".in" files + # Install systemd service + install -D -p -m0644 ${WORKDIR}/agl-compositor.service ${D}${systemd_system_unitdir}/agl-compositor.service + install -D -p -m0644 ${WORKDIR}/agl-compositor.socket ${D}${systemd_system_unitdir}/agl-compositor.socket + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then + install -D -p -m0644 ${WORKDIR}/agl-compositor-autologin ${D}${sysconfdir}/pam.d/agl-compositor-autologin + fi + + # Install systemd service drop-in with extra configuration files=agl-compositor.conf.in for f in ${files}; do g=${f%.in} @@ -24,17 +40,22 @@ do_install() { ${WORKDIR}/${f} > ${WORKDIR}/${g} fi done - - # Install Weston systemd service drop-in - install -d ${D}${systemd_system_unitdir}/weston.service.d - install -m644 ${WORKDIR}/agl-compositor.conf ${D}/${systemd_system_unitdir}/weston.service.d/agl-compositor.conf + install -d ${D}${systemd_system_unitdir}/agl-compositor.service.d + install -m644 ${WORKDIR}/agl-compositor.conf ${D}/${systemd_system_unitdir}/agl-compositor.service.d/agl-compositor.conf } FILES:${PN} += "\ - ${systemd_system_unitdir}/weston.service.d \ + ${systemd_system_unitdir}/agl-compositor.service \ + ${systemd_system_unitdir}/agl-compositor.socket \ + ${systemd_system_unitdir}/agl-compositor.service.d \ + ${sysconfdir}/default/agl-compositor \ + ${sysconfdir}/pam.d/ \ " -RDEPENDS:${PN} = " \ - agl-compositor \ - weston-init \ -" +CONFFILES:${PN} += "${sysconfdir}/default/agl-compositor" + +RDEPENDS:${PN} = "agl-users agl-compositor weston-ini" + +RCONFLICTS:${PN} = "weston-init" + +SYSTEMD_SERVICE:${PN} = "agl-compositor.service agl-compositor.socket" diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-autologin b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-autologin new file mode 100644 index 000000000..f6e6d106d --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-autologin @@ -0,0 +1,11 @@ +auth required pam_nologin.so +auth required pam_unix.so try_first_pass nullok + +account required pam_nologin.so +account required pam_unix.so + +session required pam_env.so +session required pam_unix.so +-session optional pam_systemd.so type=wayland class=user desktop=weston +-session optional pam_loginuid.so + diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service new file mode 100644 index 000000000..4ee14de27 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service @@ -0,0 +1,72 @@ +# This is a system unit for launching AGL compositor with auto-login as the +# user configured here. +# +# AGL compositor and Weston must be built with systemd support, and your +# weston.ini must load the plugin systemd-notify.so. +# +# Attention: +# If you will add new tty dependency setting, you need to update +# agl-compositor-guest.conf. +[Unit] +Description=AGL compositor +Documentation=man:weston(1) man:weston.ini(5) +Documentation=http://wayland.freedesktop.org/ + +# Make sure we are started after logins are permitted. +Requires=systemd-user-sessions.service +After=systemd-user-sessions.service + +# D-Bus is necessary for contacting logind. Logind is required. +Wants=dbus.socket +After=dbus.socket + +# Ensure the socket is present +Requires=agl-compositor.socket + +# Since we are part of the graphical session, make sure we are started before +# it is complete. +Before=graphical.target + +# Prevent starting on systems without virtual consoles, Weston requires one +# for now. +ConditionPathExists=/dev/tty0 + +[Service] +# Requires systemd-notify.so Weston plugin. +Type=notify +EnvironmentFile=-/etc/default/agl-compositor +ExecStart=/usr/bin/agl-compositor --modules=systemd-notify.so + +# Watchdog setup +TimeoutStartSec=60 +WatchdogSec=20 + +# The user to run as. +User=agl-driver +Group=agl-driver + +# Make sure the working directory is the users home directory +WorkingDirectory=/home/agl-driver + +# Set up a full user session for the user +PAMName=agl-compositor-autologin + +# A virtual terminal is needed. +TTYPath=/dev/tty7 +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes + +# Fail to start if not controlling the tty. +StandardInput=tty-fail +StandardOutput=journal +StandardError=journal + +# Log this user with utmp, letting it show up with commands 'w' and 'who'. +UtmpIdentifier=tty7 +UtmpMode=user + +[Install] +# Note: If you only want weston to start on-demand, remove this line with a +# service drop file +WantedBy=graphical.target diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket index ef9769ff7..ef9769ff7 100644 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket +++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb b/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb index 5f2c8a8c0..3596cbb06 100644 --- a/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb +++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb @@ -8,33 +8,46 @@ SECTION = "x11" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=fac6abe0003c4d142ff8fa1f18316df0" -DEPENDS = "wayland wayland-protocols wayland-native weston \ - ${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', 'waltham waltham-transmitter-plugin', '', d)}" +DEPENDS = "wayland wayland-protocols wayland-native weston" SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-compositor.git;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "1304d412eb2bcefd4733539213ecb9b6ca39a605" +SRCREV = "d5ecd12729734b788546e0d80edc492454bec251" AGL_BRANCH:aglnext = "next" SRCREV:aglnext = "${AUTOREV}" -PV = "0.0.10+git${SRCPV}" +AGL_COMPOSITOR_VERSION = "0.0.24" + +PV = "${AGL_COMPOSITOR_VERSION}+git${SRCPV}" S = "${WORKDIR}/git" PACKAGECONFIG ?= "" PACKAGECONFIG[policy-rba] = "-Dpolicy-default=rba,,librba,librba rba-config" PACKAGECONFIG[policy-deny-all] = "-Dpolicy-default=deny-all,," +PACKAGECONFIG[grpc-proxy] = "-Dgrpc-proxy=true,-Dgrpc-proxy=false,grpc grpc-native,grpc agl-shell-grpc-server" inherit meson pkgconfig python3native +# Reuse include file from upstream weston since we have the same requirements +require recipes-graphics/wayland/required-distro-features.inc + +PACKAGES =+ "agl-shell-grpc-server" + +LDFLAGS:append:riscv64 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" + FILES:${PN} = " \ ${bindir}/agl-compositor \ ${bindir}/agl-screenshooter \ ${libdir}/agl-compositor/libexec_compositor.so.0 \ - ${libdir}/agl-compositor/libexec_compositor.so.0.0.0 \ + ${libdir}/agl-compositor/libexec_compositor.so.${AGL_COMPOSITOR_VERSION} \ +" + +FILES:agl-shell-grpc-server = " \ + ${libdir}/agl-compositor/agl-shell-grpc-server \ " RDEPENDS:${PN} += " \ agl-compositor-init \ - ${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', 'waltham waltham-transmitter-plugin', '', d)} \ + xkeyboard-config \ " FILES:${PN}-dev += " \ diff --git a/meta-agl-core/recipes-graphics/wayland/native-shell-client_git.bb b/meta-agl-core/recipes-graphics/wayland/native-shell-client_git.bb new file mode 100644 index 000000000..c0c31e029 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/native-shell-client_git.bb @@ -0,0 +1,16 @@ +SUMMARY = "Minimal agl-shell Wayland protocol client" + +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/q/project:src%252Fnative-shell-client" +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=3b90ee643ce04400848a8f0deb492a4a" + +DEPENDS = "wayland wayland-protocols wayland-native agl-compositor" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/native-shell-client.git;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "099e06f532eff7c56bf00eb58420f14c95a8e554" + +PV = "0.0.1+git${SRCPV}" +S = "${WORKDIR}/git" + +inherit meson pkgconfig diff --git a/meta-agl-core/recipes-graphics/wayland/waltham-transmitter-plugin.bb b/meta-agl-core/recipes-graphics/wayland/waltham-transmitter-plugin.bb deleted file mode 100644 index 734fadf6f..000000000 --- a/meta-agl-core/recipes-graphics/wayland/waltham-transmitter-plugin.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Waltham transmitter is a libweston plug-in that adds support for receiving input events from a surface streamed on a remote output" -HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/src/waltham-transmitter-plugin.git" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=f21c9af4de068fb53b83f0b37d262ec3" - -DEPENDS += "wayland wayland-native waltham weston" - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/waltham-transmitter-plugin.git;protocol=https;branch=${AGL_BRANCH}" -AGL_BRANCH:aglnext = "next" -SRCREV = "d64b99a999fcc17322393782fe802122fd963ced" -SRCREV:aglnext = "${AUTOREV}" - -S = "${WORKDIR}/git" - -inherit meson pkgconfig python3native - -FILES:${PN} += "${libdir}/*" -FILES:${PN} += "${bindir}/*" diff --git a/meta-agl-core/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch b/meta-agl-core/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch deleted file mode 100644 index 32c2df3c4..000000000 --- a/meta-agl-core/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 6ecdf10a10929164f3cbdb754ae91d27576e5036 Mon Sep 17 00:00:00 2001 -From: Marius Vlad <marius.vlad@collabora.com> -Date: Fri, 16 Oct 2020 18:57:38 +0300 -Subject: [PATCH] Use python3 instead of 2 - -Signed-off-by: Marius Vlad <marius.vlad@collabora.com> ---- - configure.ac | 2 +- - tools/gen.py | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5f65a6b..94b8644 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -32,7 +32,7 @@ AC_SUBST(VERSION_INFO) - # Check for programs - AC_PROG_CC - AC_PROG_CC_STDC --AC_CHECK_PROGS([PYTHON2], [python2 python]) -+AC_CHECK_PROGS([PYTHON3], [python3 python]) - PKG_PROG_PKG_CONFIG() - - AC_ARG_ENABLE(gprof, -diff --git a/tools/gen.py b/tools/gen.py -index 19e8baa..64c5870 100755 ---- a/tools/gen.py -+++ b/tools/gen.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python2 -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - # Copyright © 2013-2014 Collabora, Ltd. -@@ -562,11 +562,11 @@ try: - opts, args = getopt.getopt(sys.argv[1:], "hp:i:o:t:m:", - ["preamble=", "input=", "output=", "type=", "mode="]) - except getopt.GetoptError: -- print 'gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>' -+ print('gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>') - sys.exit(2) - for opt, arg in opts: - if opt == '-h': -- print 'gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>' -+ print('gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>') - sys.exit() - elif opt in ("-p", "--preamble"): - preamble_files.append(arg) --- -2.28.0 - diff --git a/meta-agl-core/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch b/meta-agl-core/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch deleted file mode 100644 index 354bcbc15..000000000 --- a/meta-agl-core/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch +++ /dev/null @@ -1,55 +0,0 @@ -From cc87dddc2cdc0c20b053e3da1197efd671b4f50c Mon Sep 17 00:00:00 2001 -From: Marius Vlad <marius.vlad@collabora.com> -Date: Wed, 23 Sep 2020 22:33:50 +0300 -Subject: [PATCH 1/2] waltham: Fix compile build error - -Newer compilers will complain about the fact debug_message is declared -multiple times: - -multiple definition of `debug_message'; -.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35: -first defined here multiple definition of `debug_message'; -.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35: -first defined here /usr/bin/ld: -.libs/client-serialice.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35: -multiple definition of `debug_message'; -.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35: -first defined here - -Bug-AGL: SPEC-3649 - -Signed-off-by: Marius Vlad <marius.vlad@collabora.com> ---- - src/waltham/marshaller_log.h | 2 +- - src/waltham/waltham-util.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/waltham/marshaller_log.h b/src/waltham/marshaller_log.h -index 8254914..ffa87c1 100644 ---- a/src/waltham/marshaller_log.h -+++ b/src/waltham/marshaller_log.h -@@ -32,7 +32,7 @@ - /* Comment/uncomment to disable/enable debugging log */ - #define DEBUG - //#define PROFILE --int debug_message; -+extern int debug_message; - - #ifdef DEBUG - static inline void DEBUG_STAMP (void) { -diff --git a/src/waltham/waltham-util.c b/src/waltham/waltham-util.c -index 410b114..8f898f8 100644 ---- a/src/waltham/waltham-util.c -+++ b/src/waltham/waltham-util.c -@@ -34,7 +34,7 @@ - #include "waltham-connection.h" - #include "waltham-private.h" - --int debug_message; -+extern int debug_message; - - static void - wth_pfx_print(const char *pfx, const char *fmt, va_list argp) --- -2.28.0 - diff --git a/meta-agl-core/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch b/meta-agl-core/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch deleted file mode 100644 index 5aefb922b..000000000 --- a/meta-agl-core/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch +++ /dev/null @@ -1,70 +0,0 @@ -From d30005429fe92daa14151c2a6175d5cf19506cac Mon Sep 17 00:00:00 2001 -From: Marius Vlad <marius.vlad@collabora.com> -Date: Wed, 7 Oct 2020 16:36:38 +0300 -Subject: [PATCH 2/2] commandxml: Add support wthp_app_id interface - -With it, we hang off the app_id which we can use to pass it to the -receiver side. - -Bug-AGL: SPEC-3601 - -Signed-off-by: Marius Vlad <marius.vlad@collabora.com> ---- - data/command.xml | 29 +++++++++++++++++++++++++++++ - src/waltham/header-preamble.txt | 1 + - 2 files changed, 30 insertions(+) - -diff --git a/data/command.xml b/data/command.xml -index a03082b..cb53f75 100644 ---- a/data/command.xml -+++ b/data/command.xml -@@ -1814,6 +1814,35 @@ - - </interface> - -+ <interface name="wthp_ivi_app_id" version="1"> -+ <description summary="create ivi-style surfaces"> -+ This interface is exposed as a global singleton. -+ This interface is implemented by servers that provide IVI-style user interfaces. -+ It allows clients to associate an ivi_surface with wthp_surface. -+ </description> -+ -+ <enum name="error"> -+ <entry name="role" value="0" summary="given wthp_surface has another role"/> -+ </enum> -+ -+ <request name="surface_create"> -+ <description summary="create ivi_surface with app_id in ivi compositor"> -+ This request gives the wthp_surface the role of an IVI Surface. Creating more than -+ one ivi_surface for a wthp_surface is not allowed. Note, that this still allows the -+ following example: -+ -+ 1. create a wthp_surface -+ 2. create ivi_surface for the wthp_surface -+ 3. destroy the ivi_surface -+ -+ </description> -+ <arg name="app_id" type="string"/> -+ <arg name="surface" type="object" interface="wthp_surface"/> -+ <arg name="id" type="new_id" interface="wthp_ivi_surface"/> -+ </request> -+ -+ </interface> -+ - <interface name="dummy" version="1"> - <request name="dummy_request"> - </request> -diff --git a/src/waltham/header-preamble.txt b/src/waltham/header-preamble.txt -index df765cc..2409859 100644 ---- a/src/waltham/header-preamble.txt -+++ b/src/waltham/header-preamble.txt -@@ -50,5 +50,6 @@ struct wthp_touch; - - struct wthp_ivi_surface; - struct wthp_ivi_application; -+struct wthp_ivi_app_id; - - struct dummy; --- -2.28.0 - diff --git a/meta-agl-core/recipes-graphics/wayland/waltham_%.bbappend b/meta-agl-core/recipes-graphics/wayland/waltham_%.bbappend deleted file mode 100644 index 302eba4d2..000000000 --- a/meta-agl-core/recipes-graphics/wayland/waltham_%.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI:append = "\ - file://0001-waltham-Fix-compile-build-error.patch \ - file://0002-commandxml-Add-support-wthp_app_id-interface.patch \ - file://0001-Use-python3-instead-of-2.patch \ - " diff --git a/meta-agl-core/recipes-graphics/wayland/waltham_git.bb b/meta-agl-core/recipes-graphics/wayland/waltham_git.bb deleted file mode 100644 index da092a5e7..000000000 --- a/meta-agl-core/recipes-graphics/wayland/waltham_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "Waltham is a network IPC library designed to resemble Wayland both protocol and protocol-API wise" -HOMEPAGE = "https://github.com/waltham/waltham" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=e8ad01a5182f2c1b3a2640e9ea268264 \ -" -SRCREV = "1de58c3ff746ddaba7584d760c5454243723d3ca" -SRC_URI = "git://github.com/wmizuno/waltham.git;branch=master;protocol=https \ - " -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -DEPENDS += "libdrm virtual/kernel wayland" -RDEPENDS:${PN} += "libdrm"
\ No newline at end of file diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb index c04ff6568..0611ec5b4 100644 --- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb @@ -9,12 +9,16 @@ SRC_URI = " \ file://hdmi-a-1-90.cfg \ file://hdmi-a-1-180.cfg \ file://hdmi-a-1-270.cfg \ - file://remote-output.cfg \ - file://transmitter-output.cfg.in \ + file://hdmi-a-2-0.cfg \ + file://hdmi-a-2-90.cfg \ + file://hdmi-a-2-180.cfg \ + file://hdmi-a-2-270.cfg \ + file://remote-output.cfg.in \ file://virtual-0.cfg \ file://virtual-90.cfg \ file://virtual-180.cfg \ file://virtual-270.cfg \ + file://grpc-proxy.cfg \ " S = "${WORKDIR}" @@ -27,22 +31,21 @@ WESTON_DISPLAYS ?= "hdmi-a-1-90" # Configuration fragments to use in weston.ini.* # Note that some may be replaced/removed when building the landscape # configuration. -WESTON_FRAGMENTS = "core shell ${WESTON_DISPLAYS}" +WESTON_FRAGMENTS = "core shell grpc-proxy ${WESTON_DISPLAYS}" # On-target weston.ini directory weston_ini_dir = "${sysconfdir}/xdg/weston" # Options for the user to change in local.conf -# e.g. TRANSMITTER_OUTPUT_MODE = "1080x1488" -TRANSMITTER_OUTPUT_MODE ??= "640x720@30" -TRANSMITTER_OUTPUT_HOST ??= "192.168.20.99" -TRANSMITTER_OUTPUT_PORT ??= "5005" +# e.g. REMOTING_OUTPUT_MODE = "1080x1488" +REMOTING_OUTPUT_MODE ??= "640x720@30" +REMOTING_OUTPUT_HOST ??= "192.168.10.3" +REMOTING_OUTPUT_PORT ??= "5005" do_configure() { - sed -e "s#mode=.*#mode=${TRANSMITTER_OUTPUT_MODE}#" \ - -e "s#host=.*#host=${TRANSMITTER_OUTPUT_HOST}#" \ - -e "s#port=.*#port=${TRANSMITTER_OUTPUT_PORT}#" \ - ${WORKDIR}/transmitter-output.cfg.in > ${WORKDIR}/transmitter-output.cfg + sed -e "s#host=.*#host=${REMOTING_OUTPUT_HOST}#" \ + -e "s#port=.*#port=${REMOTING_OUTPUT_PORT}#" \ + ${WORKDIR}/remote-output.cfg.in > ${WORKDIR}/remote-output.cfg } do_compile() { @@ -55,15 +58,21 @@ do_compile() { done sed -i -e '$ d' ${WORKDIR}/weston.ini.default + cat ${WORKDIR}/weston.ini.default > ${WORKDIR}/weston.ini.default-no-activate + # Do it again, but filter fragments to configure for landscape # and a corresponding landscape-inverted that is 180 degrees # rotated. rm -f ${WORKDIR}/weston.ini.landscape + rm -f ${WORKDIR}/weston.ini.landscape-inverted for F in ${WESTON_FRAGMENTS}; do INVF=$F if echo $F | grep '^hdmi-a-1-\(90\|270\)$'; then F="hdmi-a-1-0" INVF="hdmi-a-1-180" + elif echo $F | grep '^hdmi-a-2-\(90\|270\)$'; then + F="hdmi-a-2-0" + INVF="hdmi-a-2-180" elif echo $F | grep '^virtual-90$'; then F="virtual-0" INVF="virtual-180" @@ -75,11 +84,15 @@ do_compile() { done sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape-inverted + + cat ${WORKDIR}/weston.ini.landscape > ${WORKDIR}/weston.ini.landscape-no-activate } do_install:append() { install -d ${D}${weston_ini_dir} install -m 0644 ${WORKDIR}/weston.ini.default ${D}${weston_ini_dir}/ + install -m 0644 ${WORKDIR}/weston.ini.default-no-activate ${D}${weston_ini_dir}/ + install -m 0644 ${WORKDIR}/weston.ini.landscape-no-activate ${D}${weston_ini_dir}/ install -m 0644 ${WORKDIR}/weston.ini.landscape ${D}${weston_ini_dir}/ install -m 0644 ${WORKDIR}/weston.ini.landscape-inverted ${D}${weston_ini_dir}/ } @@ -95,7 +108,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" ALTERNATIVE_LINK_NAME[weston.ini] = "${weston_ini_dir}/weston.ini" -RDEPENDS:${PN} = "weston-init" RPROVIDES:${PN} = "weston-ini" RCONFLICTS:${PN} = "${PN}-landscape" ALTERNATIVE:${PN} = "weston.ini" @@ -105,7 +117,6 @@ PACKAGE_BEFORE_PN += "${PN}-landscape" FILES:${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape" -RDEPENDS:${PN}-landscape = "weston-init" RPROVIDES:${PN}-landscape = "weston-ini" RCONFLICTS:${PN}-landscape = "${PN}" ALTERNATIVE:${PN}-landscape = "weston.ini" @@ -115,8 +126,31 @@ PACKAGE_BEFORE_PN += "${PN}-landscape-inverted" FILES:${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted" -RDEPENDS:${PN}-landscape-inverted = "weston-init" RPROVIDES:${PN}-landscape-inverted = "weston-ini" RCONFLICTS:${PN}-landscape-inverted = "${PN}" ALTERNATIVE:${PN}-landscape-inverted = "weston.ini" ALTERNATIVE_TARGET_${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted" + +# no activation by default +PACKAGE_BEFORE_PN += "${PN}-no-activate" + +FILES:${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate" + +RPROVIDES:${PN}-no-activate = "weston-ini" +RCONFLICTS:${PN}-no-activate = "${PN}" +ALTERNATIVE:${PN}-no-activate = "weston.ini" +ALTERNATIVE_TARGET_${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate" + +# landscape, no activation by default +PACKAGE_BEFORE_PN += "${PN}-landscape-no-activate" + +FILES:${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate" + +RPROVIDES:${PN}-landscape-no-activate = "weston-ini" +RCONFLICTS:${PN}-landscape-no-activate = "${PN}" +ALTERNATIVE:${PN}-landscape-no-activate = "weston.ini" +ALTERNATIVE_TARGET_${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate" + +# This is a settings-only package, we do not need a development package +# (and its fixed dependency to ${PN} being installed) +PACKAGES:remove = "${PN}-dev ${PN}-staticdev" diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend index d441d6577..746bde339 100644 --- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -3,10 +3,10 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" PACKAGE_ARCH = "${MACHINE_ARCH}" WESTON_DISPLAYS:append = "${@bb.utils.contains("DISTRO_FEATURES", "weston-remoting", " remote-output", "", d)}" -WESTON_DISPLAYS:append = "${@bb.utils.contains("AGL_FEATURES", "waltham-remoting", " transmitter-output", "", d)}" # For virtual machines and intel-corei7-64 we want to support both the HDMI-A-1 # and Virtual-1 outputs. This allows us to run virtual images on real hardware # and vice versa. WESTON_DISPLAYS:append:qemuall = " virtual-90" WESTON_DISPLAYS:append:intel-corei7-64 = " virtual-90" +WESTON_DISPLAYS:append:virtio-aarch64 = " virtual-90" diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg index 90774ed79..28f90752d 100644 --- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg @@ -1,4 +1,6 @@ [core] backend=drm-backend.so require-input=false +idle-time=0 modules=systemd-notify.so +activate-by-default=false diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/grpc-proxy.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/grpc-proxy.cfg new file mode 100644 index 000000000..14805b969 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/grpc-proxy.cfg @@ -0,0 +1,4 @@ + +[shell-client-ext] +command=/usr/lib/agl-compositor/agl-shell-grpc-server + diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-0.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-0.cfg new file mode 100644 index 000000000..4d5d51c03 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-0.cfg @@ -0,0 +1,5 @@ +# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees +# to have a proper orientation of the homescreen. For example, the 'eGalax' +# display used in some instances. +[output] +name=HDMI-A-2 diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-180.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-180.cfg new file mode 100644 index 000000000..ffdc5fe60 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-180.cfg @@ -0,0 +1,6 @@ +# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees +# to have a proper orientation of the homescreen. For example, the 'eGalax' +# display used in some instances. +[output] +name=HDMI-A-2 +transform=rotate-180 diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-270.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-270.cfg new file mode 100644 index 000000000..76fc77acd --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-270.cfg @@ -0,0 +1,6 @@ +# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees +# to have a proper orientation of the homescreen. For example, the 'eGalax' +# display used in some instances. +[output] +name=HDMI-A-2 +transform=rotate-270 diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-90.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-90.cfg new file mode 100644 index 000000000..9172a1c6a --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-90.cfg @@ -0,0 +1,6 @@ +# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees +# to have a proper orientation of the homescreen. For example, the 'eGalax' +# display used in some instances. +[output] +name=HDMI-A-2 +transform=rotate-90 diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in index f69a2e096..940cbdd0c 100644 --- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in @@ -1,5 +1,5 @@ [remote-output] name=remote-1 mode=640x720@30 -host=192.168.20.99 +host=192.168.10.3 port=5005 diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg index 975e539e6..8d16ba5d7 100644 --- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg +++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg @@ -1,3 +1,3 @@ [shell] -locking=true +locking=false panel-position=none diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/transmitter-output.cfg.in b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/transmitter-output.cfg.in deleted file mode 100644 index e77f74ec0..000000000 --- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/transmitter-output.cfg.in +++ /dev/null @@ -1,5 +0,0 @@ -[transmitter-output] -name=transmitter-1 -mode=640x720@30 -host=192.168.20.99 -port=5005 diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch new file mode 100644 index 000000000..fc2f35bd6 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch @@ -0,0 +1,71 @@ +From 6d9e9dfa0479abc0ed7921a4ebf42228c0da7533 Mon Sep 17 00:00:00 2001 +From: Michael Olbrich <m.olbrich@pengutronix.de> +Date: Wed, 22 Jun 2022 08:58:21 +0200 +Subject: [PATCH] backend-drm: make sure all buffers are released when an + output is removed + +When an output is destroyed then the output state is freed immediately. In this +case, the plane state is only partially destroyed because it is the currently +active state. This includes the buffer reference. + +Without the output, the plane will not be updated any more until it is used by a +different output (if possible) or the output returns and the plane is used +again. +As a result, the buffer reference is kept for a long time. This will cause some +applications to stall because weston now keeps two buffers (the one here and +another one for a different output where the application is now displayed). + +To avoid this, do a synchronous commit that disables the output. The output +needs to be disabled anyways and this way the current state contains no +buffers that would remain. + +`device->state_invalid = true` in drm_output_detach_crtc() is no longer +needed, because drm_output_detach_crtc() is called only when initialization +failed and the crtc was not yet used or in drm_output_deinit() when the +crtc was already disabled with the new synchronous commit. + +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> +(cherry picked from commit f5a4fb5abcb8aeb6b078b6235834cc4ab6176c26) + +Upstream-Status: Pending + +--- + libweston/backend-drm/drm.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c +index 42787702..8425b0e9 100644 +--- a/libweston/backend-drm/drm.c ++++ b/libweston/backend-drm/drm.c +@@ -1769,14 +1769,11 @@ drm_output_attach_crtc(struct drm_output *output) + static void + drm_output_detach_crtc(struct drm_output *output) + { +- struct drm_backend *b = output->backend; + struct drm_crtc *crtc = output->crtc; + + crtc->output = NULL; + output->crtc = NULL; + +- /* Force resetting unused CRTCs */ +- b->state_invalid = true; + } + + static int +@@ -1839,6 +1836,13 @@ drm_output_deinit(struct weston_output *base) + { + struct drm_output *output = to_drm_output(base); + struct drm_backend *b = to_drm_backend(base->compositor); ++ struct drm_pending_state *pending; ++ ++ if (!b->shutting_down) { ++ pending = drm_pending_state_alloc(b); ++ drm_output_get_disable_state(pending, output); ++ drm_pending_state_apply_sync(pending); ++ } + + if (b->use_pixman) + drm_output_fini_pixman(output); +-- +2.39.2 + diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch deleted file mode 100644 index 02af7cbaf..000000000 --- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 4534fcab54409b08faf4445ed6780136b58afb63 Mon Sep 17 00:00:00 2001 -From: Marius Vlad <marius.vlad@collabora.com> -Date: Mon, 28 Sep 2020 22:51:00 +0300 -Subject: [PATCH 1/2] libweston: Migrate weston_seat_init/release to public - headers - -weston_seat_init/release needed for creating weston plug-ins that want -manage seat/input on their own. - -Signed-off-by: Marius Vlad <marius.vlad@collabora.com> ---- - include/libweston/libweston.h | 25 +++++++++++++++++++++++++ - libweston/libweston-internal.h | 31 +++---------------------------- - 2 files changed, 28 insertions(+), 28 deletions(-) - -diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h -index 54ea008..59541f2 100644 ---- a/include/libweston/libweston.h -+++ b/include/libweston/libweston.h -@@ -2053,6 +2053,31 @@ void - weston_timeline_refresh_subscription_objects(struct weston_compositor *wc, - void *object); - -+/* input, seat */ -+void -+weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec, -+ const char *seat_name); -+void -+weston_seat_release(struct weston_seat *seat); -+ -+void -+weston_seat_init_pointer(struct weston_seat *seat); -+ -+int -+weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap); -+ -+void -+weston_seat_init_touch(struct weston_seat *seat); -+ -+void -+weston_seat_release_keyboard(struct weston_seat *seat); -+ -+void -+weston_seat_release_pointer(struct weston_seat *seat); -+ -+void -+weston_seat_release_touch(struct weston_seat *seat); -+ - #ifdef __cplusplus - } - #endif -diff --git a/libweston/libweston-internal.h b/libweston/libweston-internal.h -index 66c38e8..f5c4c2c 100644 ---- a/libweston/libweston-internal.h -+++ b/libweston/libweston-internal.h -@@ -168,44 +168,19 @@ weston_plane_init(struct weston_plane *plane, - void - weston_plane_release(struct weston_plane *plane); - --/* weston_seat */ -- - struct clipboard * - clipboard_create(struct weston_seat *seat); - --void --weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec, -- const char *seat_name); -- --void --weston_seat_repick(struct weston_seat *seat); -+/* weston_seat */ - - void --weston_seat_release(struct weston_seat *seat); -+weston_seat_update_keymap(struct weston_seat *seat, struct xkb_keymap *keymap); - - void - weston_seat_send_selection(struct weston_seat *seat, struct wl_client *client); - - void --weston_seat_init_pointer(struct weston_seat *seat); -- --int --weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap); -- --void --weston_seat_init_touch(struct weston_seat *seat); -- --void --weston_seat_release_keyboard(struct weston_seat *seat); -- --void --weston_seat_release_pointer(struct weston_seat *seat); -- --void --weston_seat_release_touch(struct weston_seat *seat); -- --void --weston_seat_update_keymap(struct weston_seat *seat, struct xkb_keymap *keymap); -+weston_seat_repick(struct weston_seat *seat); - - void - wl_data_device_set_keyboard_focus(struct weston_seat *seat); --- -2.28.0 - diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch new file mode 100644 index 000000000..4e0e2c587 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch @@ -0,0 +1,117 @@ +From 5361d157ff6b11d5cb7a9f989abe5f376c9e2efa Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Wed, 24 Aug 2022 11:43:06 +0300 +Subject: [PATCH] libweston: Send name,description, update wl_output to ver 4 + +These have been in wayland a while back with version 1.20.0. + +We also need to update the test client helper with this bump, as +those bind to version 4. + +Upstream-Status: Pending + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + libweston/compositor.c | 14 +++++++++++++- + tests/weston-test-client-helper.c | 18 ++++++++++++++++++ + tests/weston-test-client-helper.h | 2 ++ + 3 files changed, 33 insertions(+), 1 deletion(-) + +diff --git a/libweston/compositor.c b/libweston/compositor.c +index 1670c50..af7c71e 100644 +--- a/libweston/compositor.c ++++ b/libweston/compositor.c +@@ -184,6 +184,12 @@ weston_mode_switch_send_events(struct weston_head *head, + if (version >= WL_OUTPUT_SCALE_SINCE_VERSION && scale_changed) + wl_output_send_scale(resource, output->current_scale); + ++ if (version >= WL_OUTPUT_NAME_SINCE_VERSION) ++ wl_output_send_name(resource, head->name); ++ ++ if (version >= WL_OUTPUT_DESCRIPTION_SINCE_VERSION) ++ wl_output_send_description(resource, head->model); ++ + if (version >= WL_OUTPUT_DONE_SINCE_VERSION) + wl_output_send_done(resource); + } +@@ -5198,6 +5204,12 @@ bind_output(struct wl_client *client, + mode->refresh); + } + ++ if (version >= WL_OUTPUT_NAME_SINCE_VERSION) ++ wl_output_send_name(resource, head->name); ++ ++ if (version >= WL_OUTPUT_DESCRIPTION_SINCE_VERSION) ++ wl_output_send_description(resource, head->model); ++ + if (version >= WL_OUTPUT_DONE_SINCE_VERSION) + wl_output_send_done(resource); + } +@@ -5206,7 +5218,7 @@ static void + weston_head_add_global(struct weston_head *head) + { + head->global = wl_global_create(head->compositor->wl_display, +- &wl_output_interface, 3, ++ &wl_output_interface, 4, + head, bind_output); + } + +diff --git a/tests/weston-test-client-helper.c b/tests/weston-test-client-helper.c +index 01c4b80..8369c40 100644 +--- a/tests/weston-test-client-helper.c ++++ b/tests/weston-test-client-helper.c +@@ -715,6 +715,20 @@ output_handle_scale(void *data, + output->scale = scale; + } + ++static void ++output_handle_name(void *data, struct wl_output *wl_output, const char *name) ++{ ++ struct output *output = data; ++ output->name = strdup(name); ++} ++ ++static void ++output_handle_description(void *data, struct wl_output *wl_output, const char *desc) ++{ ++ struct output *output = data; ++ output->name = strdup(desc); ++} ++ + static void + output_handle_done(void *data, + struct wl_output *wl_output) +@@ -729,6 +743,8 @@ static const struct wl_output_listener output_listener = { + output_handle_mode, + output_handle_done, + output_handle_scale, ++ output_handle_name, ++ output_handle_description, + }; + + static void +@@ -737,6 +753,8 @@ output_destroy(struct output *output) + assert(wl_proxy_get_version((struct wl_proxy *)output->wl_output) >= 3); + wl_output_release(output->wl_output); + wl_list_remove(&output->link); ++ free(output->name); ++ free(output->desc); + free(output); + } + +diff --git a/tests/weston-test-client-helper.h b/tests/weston-test-client-helper.h +index 8e1505d..9e05009 100644 +--- a/tests/weston-test-client-helper.h ++++ b/tests/weston-test-client-helper.h +@@ -163,6 +163,8 @@ struct output { + int height; + int scale; + int initialized; ++ char *name; ++ char *desc; + }; + + struct buffer { +-- +2.35.1 + diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch new file mode 100644 index 000000000..02349c098 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch @@ -0,0 +1,171 @@ +From 6ab4713d3eba589aa1f39eee2b48c81906d7ba87 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Tue, 16 Aug 2022 13:34:19 +0300 +Subject: [PATCH] libweston/desktop/xdg-shell: Add tiled orientation states + +With the help of a newly introduced function, weston_desktop_surface_set_orientation(), +this patch adds missing tiled states from the xdg-shell protocol. +The orientation state is passed on as a bitmask enumeration flag, which the +shell can set, allowing multiple tiling states at once. + +These new states are incorporated the same way as the others, retaining +the set state, but also avoiding sending new configure events if nothing +changed since previously acked data. + +Upstream-Status: Pending + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +(cherry-picked from 37a3025d893def991dec59587d17672aa3bf967a) + +Note that this was actually ported because libweston-desktop is not +embedded into libweston and the structure changed in upstream. +--- + include/libweston-desktop/libweston-desktop.h | 11 ++++++ + libweston-desktop/internal.h | 2 + + libweston-desktop/surface.c | 10 +++++ + libweston-desktop/xdg-shell.c | 38 +++++++++++++++++++ + 4 files changed, 61 insertions(+) + +diff --git a/include/libweston-desktop/libweston-desktop.h b/include/libweston-desktop/libweston-desktop.h +index 3e7ac73..c296d16 100644 +--- a/include/libweston-desktop/libweston-desktop.h ++++ b/include/libweston-desktop/libweston-desktop.h +@@ -44,6 +44,14 @@ enum weston_desktop_surface_edge { + WESTON_DESKTOP_SURFACE_EDGE_BOTTOM_RIGHT = 10, + }; + ++enum weston_top_level_tiled_orientation { ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_NONE = 0 << 0, ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_LEFT = 1 << 1, ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_RIGHT = 1 << 2, ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_TOP = 1 << 3, ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_BOTTOM = 1 << 4, ++}; ++ + struct weston_desktop; + struct weston_desktop_client; + struct weston_desktop_surface; +@@ -163,6 +171,9 @@ void + weston_desktop_surface_set_size(struct weston_desktop_surface *surface, + int32_t width, int32_t height); + void ++weston_desktop_surface_set_orientation(struct weston_desktop_surface *surface, ++ enum weston_top_level_tiled_orientation tile_orientation); ++void + weston_desktop_surface_close(struct weston_desktop_surface *surface); + void + weston_desktop_surface_add_metadata_listener(struct weston_desktop_surface *surface, +diff --git a/libweston-desktop/internal.h b/libweston-desktop/internal.h +index 2606d27..8afdede 100644 +--- a/libweston-desktop/internal.h ++++ b/libweston-desktop/internal.h +@@ -100,6 +100,8 @@ struct weston_desktop_surface_implementation { + void *user_data, bool resizing); + void (*set_size)(struct weston_desktop_surface *surface, + void *user_data, int32_t width, int32_t height); ++ void (*set_orientation)(struct weston_desktop_surface *surface, ++ void *user_data, enum weston_top_level_tiled_orientation tiled_orientation); + void (*committed)(struct weston_desktop_surface *surface, void *user_data, + int32_t sx, int32_t sy); + void (*update_position)(struct weston_desktop_surface *surface, +diff --git a/libweston-desktop/surface.c b/libweston-desktop/surface.c +index 433f08a..6b3f4ae 100644 +--- a/libweston-desktop/surface.c ++++ b/libweston-desktop/surface.c +@@ -506,6 +506,16 @@ weston_desktop_surface_set_size(struct weston_desktop_surface *surface, int32_t + width, height); + } + ++WL_EXPORT void ++weston_desktop_surface_set_orientation(struct weston_desktop_surface *surface, ++ enum weston_top_level_tiled_orientation tile_orientation) ++{ ++ if (surface->implementation->set_orientation != NULL) ++ surface->implementation->set_orientation(surface, ++ surface->implementation_data, ++ tile_orientation); ++} ++ + WL_EXPORT void + weston_desktop_surface_close(struct weston_desktop_surface *surface) + { +diff --git a/libweston-desktop/xdg-shell.c b/libweston-desktop/xdg-shell.c +index ff76c39..1e49147 100644 +--- a/libweston-desktop/xdg-shell.c ++++ b/libweston-desktop/xdg-shell.c +@@ -94,6 +94,7 @@ struct weston_desktop_xdg_toplevel_state { + bool fullscreen; + bool resizing; + bool activated; ++ uint32_t tiled_orientation; + }; + + struct weston_desktop_xdg_toplevel_configure { +@@ -624,6 +625,29 @@ weston_desktop_xdg_toplevel_send_configure(struct weston_desktop_xdg_toplevel *t + s = wl_array_add(&states, sizeof(uint32_t)); + *s = XDG_TOPLEVEL_STATE_ACTIVATED; + } ++ if (toplevel->pending.state.tiled_orientation & ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_LEFT) { ++ s = wl_array_add(&states, sizeof(uint32_t)); ++ *s = XDG_TOPLEVEL_STATE_TILED_LEFT; ++ } ++ ++ if (toplevel->pending.state.tiled_orientation & ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_RIGHT) { ++ s = wl_array_add(&states, sizeof(uint32_t)); ++ *s = XDG_TOPLEVEL_STATE_TILED_RIGHT; ++ } ++ ++ if (toplevel->pending.state.tiled_orientation & ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_TOP) { ++ s = wl_array_add(&states, sizeof(uint32_t)); ++ *s = XDG_TOPLEVEL_STATE_TILED_TOP; ++ } ++ ++ if (toplevel->pending.state.tiled_orientation & ++ WESTON_TOP_LEVEL_TILED_ORIENTATION_BOTTOM) { ++ s = wl_array_add(&states, sizeof(uint32_t)); ++ *s = XDG_TOPLEVEL_STATE_TILED_BOTTOM; ++ } + + xdg_toplevel_send_configure(toplevel->resource, + toplevel->pending.size.width, +@@ -686,6 +710,16 @@ weston_desktop_xdg_toplevel_set_size(struct weston_desktop_surface *dsurface, + weston_desktop_xdg_surface_schedule_configure(&toplevel->base); + } + ++static void ++weston_desktop_xdg_toplevel_set_orientation(struct weston_desktop_surface *surface, void *user_data, ++ enum weston_top_level_tiled_orientation tiled_orientation) ++{ ++ struct weston_desktop_xdg_toplevel *toplevel = user_data; ++ ++ toplevel->pending.state.tiled_orientation = tiled_orientation; ++ weston_desktop_xdg_surface_schedule_configure(&toplevel->base); ++} ++ + static void + weston_desktop_xdg_toplevel_committed(struct weston_desktop_xdg_toplevel *toplevel, + int32_t sx, int32_t sy) +@@ -1096,6 +1130,9 @@ weston_desktop_xdg_toplevel_state_compare(struct weston_desktop_xdg_toplevel *to + return false; + if (toplevel->pending.state.resizing != configured.state.resizing) + return false; ++ if (toplevel->pending.state.tiled_orientation != ++ configured.state.tiled_orientation) ++ return false; + + if (toplevel->pending.size.width == configured.size.width && + toplevel->pending.size.height == configured.size.height) +@@ -1440,6 +1477,7 @@ static const struct weston_desktop_surface_implementation weston_desktop_xdg_sur + .set_resizing = weston_desktop_xdg_toplevel_set_resizing, + .set_activated = weston_desktop_xdg_toplevel_set_activated, + .set_size = weston_desktop_xdg_toplevel_set_size, ++ .set_orientation = weston_desktop_xdg_toplevel_set_orientation, + + .get_maximized = weston_desktop_xdg_toplevel_get_maximized, + .get_fullscreen = weston_desktop_xdg_toplevel_get_fullscreen, +-- +2.35.1 + diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch new file mode 100644 index 000000000..5b7a4ca76 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch @@ -0,0 +1,227 @@ +From d5168b8eb0d881a0a6029c0b348a739147317238 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Mon, 29 May 2023 16:30:02 +0300 +Subject: [PATCH] libweston/weston-log: Add a iterator helper for debug scope + +This adds three new helpers: one to iterate over all debug scopes +created/added and other two are for simpler getters for the scope name +and the description. + +Included with this change is also a simple test to retrieve them. + +This is an alternative to using the debug scope list advertised when +using the weston-debug private extension. libweston users can use this +directly to know which scopes they can subscribe to, and there's no need +to have a client implementation for the weston-debug protocol. + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + include/libweston/weston-log.h | 10 ++++ + libweston/weston-log.c | 63 +++++++++++++++++++++++ + tests/iterate-debug-scopes-test.c | 84 +++++++++++++++++++++++++++++++ + tests/meson.build | 6 +++ + 4 files changed, 163 insertions(+) + create mode 100644 tests/iterate-debug-scopes-test.c + +diff --git a/include/libweston/weston-log.h b/include/libweston/weston-log.h +index aeb7768b..70f41675 100644 +--- a/include/libweston/weston-log.h ++++ b/include/libweston/weston-log.h +@@ -134,6 +134,16 @@ weston_log_subscription_iterate(struct weston_log_scope *scope, + void + weston_log_flight_recorder_display_buffer(FILE *file); + ++const char * ++weston_log_scope_get_description(struct weston_log_scope *scope); ++ ++const char * ++weston_log_scope_get_name(struct weston_log_scope *scope); ++ ++struct weston_log_scope * ++weston_log_scopes_iterate(struct weston_log_context *log_ctx, ++ struct weston_log_scope *nscope); ++ + #ifdef __cplusplus + } + #endif +diff --git a/libweston/weston-log.c b/libweston/weston-log.c +index 276fde26..8b4c78a5 100644 +--- a/libweston/weston-log.c ++++ b/libweston/weston-log.c +@@ -1009,3 +1009,66 @@ weston_log_subscription_iterate(struct weston_log_scope *scope, + + return container_of(node, struct weston_log_subscription, source_link); + } ++ ++/** Iterate over all debug scopes added to a weston_log_context ++ * ++ * @param log_ctx the log context ++ * @param nscope the iterator, use NULL to start from the head of the list ++ * @returns the next log scope from list added to weston_log_ctx ++ * ++ * Note that that \c nscope needs to be NULL-initialized before calling ++ * this function. ++ * ++ * This helper can be used by libweston users to grab all the debug scopes ++ * created. This would be an alternative to using weston-debug private ++ * extension. ++ * ++ */ ++WL_EXPORT struct weston_log_scope * ++weston_log_scopes_iterate(struct weston_log_context *log_ctx, ++ struct weston_log_scope *nscope) ++{ ++ struct wl_list *list; ++ struct wl_list *node; ++ ++ assert(log_ctx); ++ ++ list = &log_ctx->scope_list; ++ ++ if (nscope) { ++ node = nscope->compositor_link.next; ++ } else { ++ node = list->next; ++ } ++ ++ assert(node); ++ assert(!nscope || node != &nscope->compositor_link); ++ ++ if (node == list) ++ return NULL; ++ ++ return container_of(node, struct weston_log_scope, compositor_link); ++} ++ ++/** Helper to retrieve, in human readable form, the name of a log scope ++ * ++ * @param scope the scope in question ++ * @returns the name of the scope as a pointer to a string ++ */ ++WL_EXPORT const char * ++weston_log_scope_get_name(struct weston_log_scope *scope) ++{ ++ return scope->name; ++} ++ ++/** Helper to retreive, in human reable form, the description of a log scope ++ * ++ * @param scope the scope in question ++ * @returns the description of the scope as pointer to a string ++ * ++ */ ++WL_EXPORT const char * ++weston_log_scope_get_description(struct weston_log_scope *scope) ++{ ++ return scope->desc; ++} +diff --git a/tests/iterate-debug-scopes-test.c b/tests/iterate-debug-scopes-test.c +new file mode 100644 +index 00000000..82c6c5c8 +--- /dev/null ++++ b/tests/iterate-debug-scopes-test.c +@@ -0,0 +1,84 @@ ++/* ++ * Copyright 2023 Collabora, Ltd. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sublicense, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial ++ * portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++#include "config.h" ++ ++#include <unistd.h> ++#include <assert.h> ++#include <stdlib.h> ++#include <stdio.h> ++#include <string.h> ++ ++#include <libweston/weston-log.h> ++#include "weston-test-client-helper.h" ++#include "weston-test-fixture-compositor.h" ++ ++ ++static enum test_result_code ++fixture_setup(struct weston_test_harness *harness) ++{ ++ struct compositor_setup setup; ++ ++ compositor_setup_defaults(&setup); ++ setup.shell = SHELL_TEST_DESKTOP; ++ ++ return weston_test_harness_execute_as_plugin(harness, &setup); ++} ++ ++DECLARE_FIXTURE_SETUP(fixture_setup); ++ ++static void ++iterate_debug_scopes(struct weston_compositor *compositor) ++{ ++ struct weston_log_scope *nscope = NULL; ++ const char *test_harness_scope = "test-harness-plugin"; ++ bool found_test_harness_debug_scope = false; ++ struct weston_log_context *log_ctx = compositor->weston_log_ctx; ++ ++ weston_log("Printing available debug scopes:\n"); ++ ++ while ((nscope = weston_log_scopes_iterate(log_ctx, nscope))) { ++ const char *scope_name; ++ const char *desc_name; ++ ++ scope_name = weston_log_scope_get_name(nscope); ++ assert(scope_name); ++ ++ desc_name = weston_log_scope_get_description(nscope); ++ assert(desc_name); ++ ++ weston_log("\tscope name: %s, desc: %s\n", scope_name, desc_name); ++ ++ if (strcmp(test_harness_scope, scope_name) == 0) ++ found_test_harness_debug_scope = true; ++ } ++ weston_log("\n"); ++ ++ assert(found_test_harness_debug_scope); ++} ++ ++PLUGIN_TEST(iterate_default_debug_scopes) ++{ ++ iterate_debug_scopes(compositor); ++} +diff --git a/tests/meson.build b/tests/meson.build +index d8e96e77..e52ff5a6 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -224,6 +224,12 @@ tests = [ + ], + 'dep_objs': [ dep_lib_desktop ] + }, ++ { 'name': 'iterate-debug-scopes', ++ 'sources': [ ++ 'iterate-debug-scopes-test.c', ++ ], ++ 'dep_objs': [ dep_libweston_public ] ++ }, + ] + + tests_standalone = [ +-- +2.40.1 + diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-simple-touch-Add-maximized-fullscreen-states.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-simple-touch-Add-maximized-fullscreen-states.patch new file mode 100644 index 000000000..53a620ef7 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-simple-touch-Add-maximized-fullscreen-states.patch @@ -0,0 +1,138 @@ +From 666300564093838c7d6a723fbce7e3b1a719e873 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Thu, 22 Dec 2022 18:27:14 +0200 +Subject: [PATCH 1/3] simple-touch: Add maximized/fullscreen states + +Helpful to have other states like maximized or fullscreen for +the simple-touch client. + +Upstream-Status: Pending + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + clients/simple-touch.c | 55 ++++++++++++++++++++++++++++++++++++------ + 1 file changed, 48 insertions(+), 7 deletions(-) + +diff --git a/clients/simple-touch.c b/clients/simple-touch.c +index 6559aa24d..e32013161 100644 +--- a/clients/simple-touch.c ++++ b/clients/simple-touch.c +@@ -64,9 +64,13 @@ struct touch { + struct xdg_toplevel *xdg_toplevel; + struct buffer *buffer; + int width, height; ++ int init_width, init_height; + bool running; + bool wait_for_configure; ++ bool needs_buffer_update; + bool has_argb; ++ bool maximized; ++ bool fullscreen; + }; + + static struct buffer * +@@ -111,7 +115,7 @@ create_shm_buffer(struct touch *touch) + } + + static void +-initial_redraw(void *data) ++redraw(void *data) + { + struct touch *touch = data; + struct buffer *buffer = NULL; +@@ -119,6 +123,9 @@ initial_redraw(void *data) + buffer = create_shm_buffer(touch); + assert(buffer); + ++ if (touch->buffer) ++ free(touch->buffer); ++ + touch->buffer = buffer; + + /* paint the "work-area" */ +@@ -283,9 +290,10 @@ handle_xdg_surface_configure(void *data, struct xdg_surface *surface, + + xdg_surface_ack_configure(surface, serial); + +- if (touch->wait_for_configure) { +- initial_redraw(touch); ++ if (touch->wait_for_configure || touch->needs_buffer_update) { ++ redraw(touch); + touch->wait_for_configure = false; ++ touch->needs_buffer_update = false; + } + } + +@@ -340,9 +348,40 @@ static const struct wl_registry_listener registry_listener = { + + static void + handle_toplevel_configure(void *data, struct xdg_toplevel *xdg_toplevel, +- int32_t width, int32_t height, +- struct wl_array *state) ++ int32_t width, int32_t height, struct wl_array *states) + { ++ struct touch *touch = data; ++ uint32_t *p; ++ ++ touch->fullscreen = false; ++ touch->maximized = false; ++ ++ wl_array_for_each(p, states) { ++ uint32_t state = *p; ++ switch (state) { ++ case XDG_TOPLEVEL_STATE_FULLSCREEN: ++ touch->fullscreen = true; ++ break; ++ case XDG_TOPLEVEL_STATE_MAXIMIZED: ++ touch->maximized = true; ++ break; ++ } ++ } ++ ++ if (width > 0 && height > 0) { ++ if (!touch->fullscreen && !touch->maximized) { ++ touch->init_width = width; ++ touch->init_width = height; ++ } ++ touch->width = width; ++ touch->height = height; ++ } else if (!touch->fullscreen && !touch->maximized) { ++ touch->width = touch->init_width; ++ touch->height = touch->init_height; ++ ++ } ++ ++ touch->needs_buffer_update = true; + } + + static void +@@ -371,6 +410,7 @@ touch_create(int width, int height) + assert(touch->display); + + touch->has_argb = false; ++ touch->buffer = NULL; + touch->registry = wl_display_get_registry(touch->display); + wl_registry_add_listener(touch->registry, ®istry_listener, touch); + wl_display_dispatch(touch->display); +@@ -386,8 +426,8 @@ touch_create(int width, int height) + exit(1); + } + +- touch->width = width; +- touch->height = height; ++ touch->init_width = width; ++ touch->init_height = height; + touch->surface = wl_compositor_create_surface(touch->compositor); + + touch->xdg_surface = +@@ -403,6 +443,7 @@ touch_create(int width, int height) + xdg_toplevel_set_title(touch->xdg_toplevel, "simple-touch"); + xdg_toplevel_set_app_id(touch->xdg_toplevel, "simple-touch"); + touch->wait_for_configure = true; ++ touch->needs_buffer_update = false; + wl_surface_commit(touch->surface); + + touch->running = true; +-- +2.35.1 + diff --git a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc b/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc index 90ccbc8fa..a19e0f344 100644 --- a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc +++ b/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc @@ -4,7 +4,30 @@ FILESEXTRAPATHS:append := ":${THISDIR}/weston" PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base" PACKAGECONFIG[headless] = "-Dbackend-headless=true" PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting', ' remoting', '', d)}" -PACKAGECONFIG:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', ' remoting', '', d)}" -# seat management is only for waltham-transmitter-plugin -SRC_URI:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', 'file://0001-libweston-Migrate-weston_seat_init-release-to-public.patch', '', d)}" +SRC_URI:append = "file://0001-libweston-Send-name-description-update-wl_output-to-.patch \ + file://0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch \ + file://0001-simple-touch-Add-maximized-fullscreen-states.patch \ + file://0001-backend-drm-make-sure-all-buffers-are-released-when-.patch \ + file://0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch \ +" + +# Split weston-terminal out of the main package to allow installing it +# separately for use with other compositors. The icons, etc. that end +# up in /usr/share/weston are also split out into a separate package +# since they are required for weston-terminal and some of the programs +# packaged in weston-examples in addition to ivi-shell in the main +# package. + +PACKAGE_BEFORE_PN += "${PN}-data ${PN}-terminal" + +FILES:${PN}-data = "${datadir}/weston" + +FILES:${PN}-terminal = "${bindir}/weston-terminal" +RDEPENDS:${PN}-terminal += "weston-data liberation-fonts" + +RDEPENDS:${PN}-examples += "weston-data" + +FILES:${PN}:remove = "weston-terminal" +RDEPENDS:${PN}:remove = "liberation-fonts" +RDEPENDS:${PN} += "weston-data weston-terminal" diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc index 81cf0189d..e42ae823d 100644 --- a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc +++ b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc @@ -39,6 +39,10 @@ AGL_KCONFIG_FRAGMENTS += " \ can-bus.cfg \ fanotify.cfg \ overlayfs.cfg \ + audit.cfg \ + ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux.cfg', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-required.cfg', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-sandbox.cfg', '', d)} \ " AGL_KCONFIG_FRAGMENTS += " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','xen_domu.cfg','',d)}" @@ -48,7 +52,6 @@ AGL_KCONFIG_FRAGMENTS += "sound.cfg" # Enable support for SystemTap AGL_KCONFIG_FRAGMENTS += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'systemtap.cfg', '', d)}" -AGL_KCONFIG_FRAGMENTS:bbe += "disable-relay.cfg" # # Feature override and qemu specific appends: @@ -67,6 +70,10 @@ AGL_KCONFIG_FRAGMENTS:append:qemuall = " \ qemu-drm.cfg \ " +AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \ + sound-hda.cfg \ +" + # Configuration for using the ARM virt machine (and not versatilepb) AGL_KCONFIG_FRAGMENTS:append:qemuarm = " qemuarm.cfg" @@ -74,7 +81,7 @@ AGL_KCONFIG_FRAGMENTS:append:qemuarm = " qemuarm.cfg" # OVERRIDES save us some c'n'p below ... OVERRIDES:prepend:qemux86 = "virtualmachine:" OVERRIDES:prepend:qemux86-64 = "virtualmachine:" -AGL_KCONFIG_FRAGMENTS:append_virtualmachine = " vbox-vmware-sata.cfg" +AGL_KCONFIG_FRAGMENTS:append:virtualmachine = " vbox-vmware-sata.cfg" # Extra configuration for using qemux86-64 image on physical hardware AGL_KCONFIG_FRAGMENTS:append:qemux86-64 = " \ diff --git a/meta-agl-core/recipes-kernel/linux/linux/audit.cfg b/meta-agl-core/recipes-kernel/linux/linux/audit.cfg new file mode 100644 index 000000000..7decc799c --- /dev/null +++ b/meta-agl-core/recipes-kernel/linux/linux/audit.cfg @@ -0,0 +1,2 @@ +CONFIG_AUDIT=y +CONFIG_AUDIT_GENERIC=y diff --git a/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg b/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg new file mode 100644 index 000000000..5998111e3 --- /dev/null +++ b/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg @@ -0,0 +1,16 @@ +CONFIG_NETWORK_SECMARK=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_JFS_SECURITY=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_JFFS2_FS_SECURITY=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 diff --git a/meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg b/meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg new file mode 100644 index 000000000..3586a17bb --- /dev/null +++ b/meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg @@ -0,0 +1,43 @@ +CONFIG_TMPFS=y +CONFIG_TMPFS_XATTR=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_AUTOFS_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_SCHED=y +CONFIG_RT_GROUP_SCHED=n +CONFIG_SCHED_DEBUG=y +CONFIG_SCHEDSTATS=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_INOTIFY_USER=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EPOLL=y +CONFIG_NET=y +CONFIG_UNIX=y +CONFIG_PROC_FS=y +CONFIG_SYSFS=y +CONFIG_SYSFS_DEPRECATED=n +CONFIG_FHANDLE=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_SHA256=y +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_FW_LOADER_USER_HELPER=n +CONFIG_DMIID=y +CONFIG_NAMESPACES=y +CONFIG_NET_NS=y +CONFIG_USER_NS=y +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CFS_BANDWIDTH=y diff --git a/meta-agl-core/recipes-kernel/linux/linux/systemd-sandbox.cfg b/meta-agl-core/recipes-kernel/linux/linux/systemd-sandbox.cfg new file mode 100644 index 000000000..d451d554c --- /dev/null +++ b/meta-agl-core/recipes-kernel/linux/linux/systemd-sandbox.cfg @@ -0,0 +1,9 @@ +CONFIG_BPF=y +CONFIG_BPF_SYSCALL=y +CONFIG_NET_CLS_BPF=m +CONFIG_NET_ACT_BPF=m +CONFIG_BPF_JIT=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_BPF_EVENTS=y +CONFIG_BPF_LSM=y +CONFIG_CGROUP_BPF=y diff --git a/meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg b/meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg index 678ecac04..e7d99e5ac 100644 --- a/meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg +++ b/meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg @@ -11,7 +11,7 @@ CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_VGEM=m -CONFIG_DRM_VMWGFX=m +CONFIG_DRM_VMWGFX=y CONFIG_DRM_VMWGFX_FBCON=y CONFIG_DRM_GMA500=m CONFIG_DRM_UDL=m diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/0001-Added-appid-and-title-support.patch b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/0001-Added-appid-and-title-support.patch new file mode 100644 index 000000000..f4139ff2c --- /dev/null +++ b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/0001-Added-appid-and-title-support.patch @@ -0,0 +1,166 @@ +From 2de455486403a710cb6896b0052b4cd7e46d83a2 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Thu, 10 Aug 2023 14:20:48 +0300 +Subject: [PATCH] ext/wayland: Add title/appid support + +Bug-AGL: SPEC-4870 +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + ext/wayland/gstwaylandsink.c | 43 ++++++++++++++++++++++++++++++++++-- + ext/wayland/gstwaylandsink.h | 2 ++ + ext/wayland/wlwindow.c | 10 ++++++++- + ext/wayland/wlwindow.h | 2 +- + 4 files changed, 53 insertions(+), 4 deletions(-) + +diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c +index 0761304..8913ee2 100644 +--- a/ext/wayland/gstwaylandsink.c ++++ b/ext/wayland/gstwaylandsink.c +@@ -63,7 +63,9 @@ enum + { + PROP_0, + PROP_DISPLAY, +- PROP_FULLSCREEN ++ PROP_FULLSCREEN, ++ PROP_APP_ID, ++ PROP_TITLE + }; + + GST_DEBUG_CATEGORY (gstwayland_debug); +@@ -212,6 +214,16 @@ gst_wayland_sink_class_init (GstWaylandSinkClass * klass) + "Whether the surface should be made fullscreen ", FALSE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + ++ g_object_class_install_property (gobject_class, PROP_APP_ID, ++ g_param_spec_string ("appid", "Top-level application id", "Wayland " ++ "appid, as xdg_shell::set_app_id", ++ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); ++ ++ g_object_class_install_property (gobject_class, PROP_TITLE, ++ g_param_spec_string ("title", "Top-level title", "Wayland " ++ "title, xdg_shell::set_title", ++ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); ++ + gst_type_mark_as_plugin_api (GST_TYPE_WAYLAND_VIDEO, 0); + } + +@@ -246,6 +258,16 @@ gst_wayland_sink_get_property (GObject * object, + g_value_set_string (value, sink->display_name); + GST_OBJECT_UNLOCK (sink); + break; ++ case PROP_APP_ID: ++ GST_OBJECT_LOCK (sink); ++ g_value_set_string (value, sink->app_id); ++ GST_OBJECT_UNLOCK (sink); ++ break; ++ case PROP_TITLE: ++ GST_OBJECT_LOCK (sink); ++ g_value_set_string (value, sink->title); ++ GST_OBJECT_UNLOCK (sink); ++ break; + case PROP_FULLSCREEN: + GST_OBJECT_LOCK (sink); + g_value_set_boolean (value, sink->fullscreen); +@@ -269,6 +291,16 @@ gst_wayland_sink_set_property (GObject * object, + sink->display_name = g_value_dup_string (value); + GST_OBJECT_UNLOCK (sink); + break; ++ case PROP_APP_ID: ++ GST_OBJECT_LOCK (sink); ++ sink->app_id = g_value_dup_string (value); ++ GST_OBJECT_UNLOCK (sink); ++ break; ++ case PROP_TITLE: ++ GST_OBJECT_LOCK (sink); ++ sink->title = g_value_dup_string (value); ++ GST_OBJECT_UNLOCK (sink); ++ break; + case PROP_FULLSCREEN: + GST_OBJECT_LOCK (sink); + gst_wayland_sink_set_fullscreen (sink, g_value_get_boolean (value)); +@@ -291,12 +323,18 @@ gst_wayland_sink_finalize (GObject * object) + gst_buffer_unref (sink->last_buffer); + if (sink->display) + g_object_unref (sink->display); ++ if (sink->title) ++ g_object_unref (sink->title); ++ if (sink->app_id) ++ g_object_unref (sink->app_id); + if (sink->window) + g_object_unref (sink->window); + if (sink->pool) + gst_object_unref (sink->pool); + + g_free (sink->display_name); ++ g_free (sink->title); ++ g_free (sink->app_id); + + g_mutex_clear (&sink->display_lock); + g_mutex_clear (&sink->render_lock); +@@ -718,7 +756,8 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer) + if (!sink->window) { + /* if we were not provided a window, create one ourselves */ + sink->window = gst_wl_window_new_toplevel (sink->display, +- &sink->video_info, sink->fullscreen, &sink->render_lock); ++ &sink->video_info, sink->fullscreen, sink->app_id, sink->title, ++ &sink->render_lock); + g_signal_connect_object (sink->window, "closed", + G_CALLBACK (on_window_closed), sink, 0); + } +diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h +index 7aabb6f..4db00e5 100644 +--- a/ext/wayland/gstwaylandsink.h ++++ b/ext/wayland/gstwaylandsink.h +@@ -63,6 +63,8 @@ struct _GstWaylandSink + gboolean fullscreen; + + gchar *display_name; ++ gchar *app_id; ++ gchar *title; + + gboolean redraw_pending; + GMutex render_lock; +diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c +index 66df0fc..ad2d3f3 100644 +--- a/ext/wayland/wlwindow.c ++++ b/ext/wayland/wlwindow.c +@@ -254,7 +254,7 @@ gst_wl_window_ensure_fullscreen (GstWlWindow * window, gboolean fullscreen) + + GstWlWindow * + gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info, +- gboolean fullscreen, GMutex * render_lock) ++ gboolean fullscreen, gchar *app_id, gchar *title, GMutex * render_lock) + { + GstWlWindow *window; + +@@ -287,6 +287,14 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info, + + /* Finally, commit the xdg_surface state as toplevel */ + window->configured = FALSE; ++ if (app_id) ++ xdg_toplevel_set_app_id (window->xdg_toplevel, app_id); ++ else ++ xdg_toplevel_set_app_id (window->xdg_toplevel, "ext.wayland.waylandsink"); ++ if (title) ++ xdg_toplevel_set_title (window->xdg_toplevel, title); ++ else ++ xdg_toplevel_set_title (window->xdg_toplevel, "ext.wayland.waylandsink"); + wl_surface_commit (window->area_surface); + wl_display_flush (display->display); + +diff --git a/ext/wayland/wlwindow.h b/ext/wayland/wlwindow.h +index 303c336..64399b3 100644 +--- a/ext/wayland/wlwindow.h ++++ b/ext/wayland/wlwindow.h +@@ -83,7 +83,7 @@ GType gst_wl_window_get_type (void); + void gst_wl_window_ensure_fullscreen (GstWlWindow * window, + gboolean fullscreen); + GstWlWindow *gst_wl_window_new_toplevel (GstWlDisplay * display, +- const GstVideoInfo * info, gboolean fullscreen, GMutex * render_lock); ++ const GstVideoInfo * info, gboolean fullscreen, gchar * app_id, gchar *title, GMutex * render_lock); + GstWlWindow *gst_wl_window_new_in_surface (GstWlDisplay * display, + struct wl_surface * parent, GMutex * render_lock); + +-- +2.35.1 + diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch new file mode 100644 index 000000000..72b924337 --- /dev/null +++ b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch @@ -0,0 +1,166 @@ +From df64f7e34d01a03957d78317ef9a1cf6d6b95055 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Wed, 9 Aug 2023 14:34:19 +0300 +Subject: [PATCH] Added appid and title support + +Bug-AGL: SPEC-4870 +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + ext/wayland/gstwaylandsink.c | 43 ++++++++++++++++++++++++++++++++++-- + ext/wayland/gstwaylandsink.h | 2 ++ + ext/wayland/wlwindow.c | 10 ++++++++- + ext/wayland/wlwindow.h | 2 +- + 4 files changed, 53 insertions(+), 4 deletions(-) + +diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c +index 4918154..f743cf2 100644 +--- a/ext/wayland/gstwaylandsink.c ++++ b/ext/wayland/gstwaylandsink.c +@@ -66,7 +66,9 @@ enum + PROP_DISPLAY, + PROP_FULLSCREEN, + PROP_USE_SUBSURFACE, +- PROP_SUPPRESS_INTERLACE ++ PROP_SUPPRESS_INTERLACE, ++ PROP_APP_ID, ++ PROP_TITLE + }; + + #define DEFAULT_USE_SUBSURFACE TRUE +@@ -229,6 +231,16 @@ gst_wayland_sink_class_init (GstWaylandSinkClass * klass) + DEFAULT_SUPPRESS_INTERLACE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + ++ g_object_class_install_property (gobject_class, PROP_APP_ID, ++ g_param_spec_string ("appid", "Top-level application id", "Wayland " ++ "appid, as xdg_shell::set_app_id", ++ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); ++ ++ g_object_class_install_property (gobject_class, PROP_TITLE, ++ g_param_spec_string ("title", "Top-level title", "Wayland " ++ "title, xdg_shell::set_title", ++ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); ++ + gst_type_mark_as_plugin_api (GST_TYPE_WAYLAND_VIDEO, 0); + } + +@@ -266,6 +278,16 @@ gst_wayland_sink_get_property (GObject * object, + g_value_set_string (value, sink->display_name); + GST_OBJECT_UNLOCK (sink); + break; ++ case PROP_APP_ID: ++ GST_OBJECT_LOCK (sink); ++ g_value_set_string (value, sink->app_id); ++ GST_OBJECT_UNLOCK (sink); ++ break; ++ case PROP_TITLE: ++ GST_OBJECT_LOCK (sink); ++ g_value_set_string (value, sink->title); ++ GST_OBJECT_UNLOCK (sink); ++ break; + case PROP_FULLSCREEN: + GST_OBJECT_LOCK (sink); + g_value_set_boolean (value, sink->fullscreen); +@@ -298,6 +320,16 @@ gst_wayland_sink_set_property (GObject * object, + sink->display_name = g_value_dup_string (value); + GST_OBJECT_UNLOCK (sink); + break; ++ case PROP_APP_ID: ++ GST_OBJECT_LOCK (sink); ++ sink->app_id = g_value_dup_string (value); ++ GST_OBJECT_UNLOCK (sink); ++ break; ++ case PROP_TITLE: ++ GST_OBJECT_LOCK (sink); ++ sink->title = g_value_dup_string (value); ++ GST_OBJECT_UNLOCK (sink); ++ break; + case PROP_FULLSCREEN: + GST_OBJECT_LOCK (sink); + gst_wayland_sink_set_fullscreen (sink, g_value_get_boolean (value)); +@@ -331,12 +363,18 @@ gst_wayland_sink_finalize (GObject * object) + gst_buffer_unref (sink->last_buffer); + if (sink->display) + g_object_unref (sink->display); ++ if (sink->title) ++ g_object_unref (sink->title); ++ if (sink->app_id) ++ g_object_unref (sink->app_id); + if (sink->window) + g_object_unref (sink->window); + if (sink->pool) + gst_object_unref (sink->pool); + + g_free (sink->display_name); ++ g_free (sink->title); ++ g_free (sink->app_id); + + g_mutex_clear (&sink->display_lock); + g_mutex_clear (&sink->render_lock); +@@ -768,7 +806,8 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer) + if (!sink->window) { + /* if we were not provided a window, create one ourselves */ + sink->window = gst_wl_window_new_toplevel (sink->display, +- &sink->video_info, sink->fullscreen, &sink->render_lock); ++ &sink->video_info, sink->fullscreen, sink->app_id, sink->title, ++ &sink->render_lock); + g_signal_connect_object (sink->window, "closed", + G_CALLBACK (on_window_closed), sink, 0); + } +diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h +index 46ea538..e6c94ae 100644 +--- a/ext/wayland/gstwaylandsink.h ++++ b/ext/wayland/gstwaylandsink.h +@@ -64,6 +64,8 @@ struct _GstWaylandSink + gboolean fullscreen; + + gchar *display_name; ++ gchar *app_id; ++ gchar *title; + + gboolean redraw_pending; + GMutex render_lock; +diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c +index 3aace87..16faec8 100644 +--- a/ext/wayland/wlwindow.c ++++ b/ext/wayland/wlwindow.c +@@ -255,7 +255,7 @@ gst_wl_window_ensure_fullscreen (GstWlWindow * window, gboolean fullscreen) + + GstWlWindow * + gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info, +- gboolean fullscreen, GMutex * render_lock) ++ gboolean fullscreen, gchar *app_id, gchar *title, GMutex * render_lock) + { + GstWlWindow *window; + +@@ -288,6 +288,14 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info, + + /* Finally, commit the xdg_surface state as toplevel */ + window->configured = FALSE; ++ if (app_id) ++ xdg_toplevel_set_app_id (window->xdg_toplevel, app_id); ++ else ++ xdg_toplevel_set_app_id (window->xdg_toplevel, "ext.wayland.waylandsink"); ++ if (title) ++ xdg_toplevel_set_title (window->xdg_toplevel, title); ++ else ++ xdg_toplevel_set_title (window->xdg_toplevel, "ext.wayland.waylandsink"); + wl_surface_commit (window->area_surface); + wl_display_flush (display->display); + +diff --git a/ext/wayland/wlwindow.h b/ext/wayland/wlwindow.h +index 034a5a5..6b525c8 100644 +--- a/ext/wayland/wlwindow.h ++++ b/ext/wayland/wlwindow.h +@@ -84,7 +84,7 @@ GType gst_wl_window_get_type (void); + void gst_wl_window_ensure_fullscreen (GstWlWindow * window, + gboolean fullscreen); + GstWlWindow *gst_wl_window_new_toplevel (GstWlDisplay * display, +- const GstVideoInfo * info, gboolean fullscreen, GMutex * render_lock); ++ const GstVideoInfo * info, gboolean fullscreen, gchar * app_id, gchar *title, GMutex * render_lock); + GstWlWindow *gst_wl_window_new_in_surface (GstWlDisplay * display, + struct wl_surface * parent, GMutex * render_lock); + +-- +2.35.1 + diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_%.bbappend b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_%.bbappend new file mode 100644 index 000000000..96bbdc34b --- /dev/null +++ b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'gstreamer1.0-plugins-bad_aglcore.inc', '', d)} diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_aglcore.inc b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_aglcore.inc new file mode 100644 index 000000000..97a0c1688 --- /dev/null +++ b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_aglcore.inc @@ -0,0 +1,9 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +AGL_PATCHES = "file://0001-Added-appid-and-title-support.patch" + +# Above patch fails to apply against NXP's forked version, disable +# for now +AGL_PATCHES:use-nxp-bsp = "" + +SRC_URI:append = " ${AGL_PATCHES}" diff --git a/meta-agl-core/recipes-platform/images/agl-image-agl-compositor.bb b/meta-agl-core/recipes-platform/images/agl-image-agl-compositor.bb deleted file mode 100644 index 9ca70e041..000000000 --- a/meta-agl-core/recipes-platform/images/agl-image-agl-compositor.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "A very basic Wayland image with agl-compositor" - -require agl-image-weston.inc - -LICENSE = "MIT" - -IMAGE_INSTALL:append = "\ - agl-compositor \ - packagegroup-agl-profile-graphical \ - " diff --git a/meta-agl-core/recipes-platform/images/agl-image-boot.bb b/meta-agl-core/recipes-platform/images/agl-image-boot.bb index 6e2b89324..dde6a18db 100644 --- a/meta-agl-core/recipes-platform/images/agl-image-boot.bb +++ b/meta-agl-core/recipes-platform/images/agl-image-boot.bb @@ -1,9 +1,5 @@ -SUMMARY = "An AGL small image just capable of allowing a device to boot." - -require agl-image-boot.inc - +SUMMARY = "A small image just capable of allowing a device to boot." LICENSE = "MIT" -IMAGE_INSTALL:append = "\ - packagegroup-agl-image-boot \ - " +inherit agl-core-image + diff --git a/meta-agl-core/recipes-platform/images/agl-image-boot.inc b/meta-agl-core/recipes-platform/images/agl-image-boot.inc deleted file mode 100644 index 60d671bca..000000000 --- a/meta-agl-core/recipes-platform/images/agl-image-boot.inc +++ /dev/null @@ -1,7 +0,0 @@ -IMAGE_LINGUAS = " " - -inherit core-image - -IMAGE_INSTALL = "packagegroup-agl-core-boot ${CORE_IMAGE_EXTRA_INSTALL}" - -IMAGE_ROOTFS_SIZE ?= "8192" diff --git a/meta-agl-core/recipes-platform/images/agl-image-compositor.bb b/meta-agl-core/recipes-platform/images/agl-image-compositor.bb new file mode 100644 index 000000000..b78536be8 --- /dev/null +++ b/meta-agl-core/recipes-platform/images/agl-image-compositor.bb @@ -0,0 +1,15 @@ +SUMMARY = "A very basic Wayland image with agl-compositor" +LICENSE = "MIT" + +require agl-image-minimal.bb + +inherit features_check + +REQUIRED_DISTRO_FEATURES = "wayland" + +SYSTEMD_DEFAULT_TARGET = "graphical.target" + +IMAGE_INSTALL += " \ + packagegroup-agl-graphical-compositor \ + ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'weston-examples', '', d)} \ +" diff --git a/meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb b/meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb index 3a887a5c0..eec1cf54c 100644 --- a/meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb +++ b/meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb @@ -1,16 +1,14 @@ SUMMARY = "A very basic Wayland image with a terminal" +LICENSE = "MIT" -require agl-image-weston.inc +require agl-image-weston.bb -LICENSE = "MIT" +IMAGE_FEATURES += "splash" -IMAGE_INSTALL:append = "\ - packagegroup-agl-profile-graphical \ +IMAGE_INSTALL += " \ busybox \ - psplash \ gdb \ gperf \ - weston \ weston-examples \ curl \ ptest-runner \ diff --git a/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb b/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb index 8c5aae1bf..6aa308273 100644 --- a/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb +++ b/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb @@ -1,18 +1,9 @@ -SUMMARY = "Cross SDK of Full AGL Distribution for core profile" - -DESCRIPTION = "SDK image for full AGL Distribution for IVI profile. \ -It includes the full meta-toolchain, plus developement headers and libraries \ -to form a standalone cross SDK." - require agl-image-minimal.bb +SUMMARY = "Cross SDK of minimal AGL Distribution for core profile" +DESCRIPTION = "SDK image for AGL core distribution. \ +It includes the full toolchain, plus developement headers and libraries \ +to form a standalone cross SDK." LICENSE = "MIT" -require agl-image-minimal-crosssdk.inc - -inherit populate_sdk - -# Task do_populate_sdk and do_rootfs can't be exec simultaneously. -# Both exec "createrepo" on the same directory, and so one of them -# can failed (randomly). -addtask do_populate_sdk after do_rootfs +inherit agl-crosssdk diff --git a/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.inc b/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.inc deleted file mode 100644 index bab27eb98..000000000 --- a/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.inc +++ /dev/null @@ -1,2 +0,0 @@ -IMAGE_FEATURES:append = " dev-pkgs" -IMAGE_INSTALL:append = " kernel-dev kernel-devsrc" diff --git a/meta-agl-core/recipes-platform/images/agl-image-minimal.bb b/meta-agl-core/recipes-platform/images/agl-image-minimal.bb index 52cc06aeb..4e54e93ed 100644 --- a/meta-agl-core/recipes-platform/images/agl-image-minimal.bb +++ b/meta-agl-core/recipes-platform/images/agl-image-minimal.bb @@ -1,9 +1,9 @@ SUMMARY = "An AGL small image just capable of allowing a device to boot." +LICENSE = "MIT" -require agl-image-minimal.inc +inherit agl-core-image -LICENSE = "MIT" +IMAGE_INSTALL = "packagegroup-agl-image-minimal ${CORE_IMAGE_EXTRA_INSTALL}" -IMAGE_INSTALL:append = "\ - packagegroup-agl-image-minimal \ - " +IMAGE_ROOTFS_SIZE ?= "8192" +IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}" diff --git a/meta-agl-core/recipes-platform/images/agl-image-minimal.inc b/meta-agl-core/recipes-platform/images/agl-image-minimal.inc deleted file mode 100644 index 50b6336de..000000000 --- a/meta-agl-core/recipes-platform/images/agl-image-minimal.inc +++ /dev/null @@ -1 +0,0 @@ -require agl-image-boot.inc diff --git a/meta-agl-core/recipes-platform/images/agl-image-weston.bb b/meta-agl-core/recipes-platform/images/agl-image-weston.bb index 7e9f8814e..d902020cc 100644 --- a/meta-agl-core/recipes-platform/images/agl-image-weston.bb +++ b/meta-agl-core/recipes-platform/images/agl-image-weston.bb @@ -1,9 +1,15 @@ SUMMARY = "A very basic Wayland image with a terminal" +LICENSE = "MIT" -require agl-image-weston.inc +require agl-image-minimal.bb -LICENSE = "MIT" +inherit features_check + +REQUIRED_DISTRO_FEATURES = "wayland" + +SYSTEMD_DEFAULT_TARGET = "graphical.target" -IMAGE_INSTALL:append = "\ - packagegroup-agl-profile-graphical \ - " +IMAGE_INSTALL += " \ + packagegroup-agl-graphical-weston \ + ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'weston-examples', '', d)} \ +" diff --git a/meta-agl-core/recipes-platform/images/agl-image-weston.inc b/meta-agl-core/recipes-platform/images/agl-image-weston.inc deleted file mode 100644 index 00e36bc4e..000000000 --- a/meta-agl-core/recipes-platform/images/agl-image-weston.inc +++ /dev/null @@ -1,9 +0,0 @@ -require recipes-platform/images/agl-image-minimal.inc - -# NOTE: In hardknott or later this can be replaced by adding "weston" -# to IMAGE_FEATURES. -SYSTEMD_DEFAULT_TARGET = "graphical.target" - -inherit features_check - -REQUIRED_DISTRO_FEATURES = "wayland" diff --git a/meta-agl-core/recipes-platform/images/core-image-weston.bbappend b/meta-agl-core/recipes-platform/images/core-image-weston.bbappend deleted file mode 100644 index 082637b7e..000000000 --- a/meta-agl-core/recipes-platform/images/core-image-weston.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'core-image-weston_aglcore.inc', '', d)} diff --git a/meta-agl-core/recipes-platform/images/core-image-weston_aglcore.inc b/meta-agl-core/recipes-platform/images/core-image-weston_aglcore.inc deleted file mode 100644 index 82e348587..000000000 --- a/meta-agl-core/recipes-platform/images/core-image-weston_aglcore.inc +++ /dev/null @@ -1,3 +0,0 @@ -# NOTE: In hardknott or later this can be replaced by adding "weston" -# to IMAGE_FEATURES. -SYSTEMD_DEFAULT_TARGET = "graphical.target" diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb index fe1ee7b8c..28a734548 100644 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb @@ -16,6 +16,7 @@ VIRTUAL-RUNTIME_rngd ?= "rng-tools" RDEPENDS:${PN} = "\ packagegroup-core-boot \ + packagegroup-machine-base \ ${VIRTUAL-RUNTIME_rngd} \ " diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb index 5dd274026..aeee0f8d3 100644 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb @@ -12,7 +12,8 @@ ALLOW_EMPTY:${PN} = "1" PKGGROUP_ZEROCONF = "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'packagegroup-base-zeroconf', '', d)}" RDEPENDS:${PN} += "\ - ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','connman','connman connman-client connman-tests \ - connman-tools connman-ncurses' ,'',d)} \ + ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','connman','connman connman-client connman-conf \ + connman-wait-online connman-tests connman-tools connman-ncurses' ,'',d)} \ ${@bb.utils.contains('AGL_FEATURES', 'agl-devel', '${PKGGROUP_ZEROCONF}', '', d)} \ + systemd-conf-canbus \ " diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb index f3e2a9eff..887604ec3 100644 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb @@ -10,20 +10,14 @@ RDEPENDS:${PN} = "\ vim \ lsof \ gdb \ - valgrind \ screen \ usbutils \ rsync \ pstree \ procps \ libxslt-bin \ - gcc-sanitizers \ pciutils \ - " + openssh-sftp-server \ + zstd \ +" -# needs meta-oe present -#RRECOMMENDS:${PN} = "\ -# jq \ -# htop \ -# tree \ -#" diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb deleted file mode 100644 index 0ee63e82a..000000000 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "The packages of middlewares for AGL IVI profile" -DESCRIPTION = "The set of packages required by Operating System and Common libraries Subsystem" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-core-os-commonlibs \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - " diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb deleted file mode 100644 index 7532f4cd7..000000000 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "The packages of middlewares for AGL IVI profile" -DESCRIPTION = "The set of packages required by Operating System and Common libraries Subsystem" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-core-security \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - " diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb new file mode 100644 index 000000000..b2c7d8ec8 --- /dev/null +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb @@ -0,0 +1,9 @@ +DESCRIPTION = "The minimal set of packages required for the AGL compositor" +LICENSE = "MIT" + +inherit packagegroup + +RDEPENDS:${PN} += " \ + agl-compositor \ + agl-compositor-init \ +" diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb deleted file mode 100644 index f9903d942..000000000 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "The software for application framework of AGL IVI profile" -DESCRIPTION = "A set of packages belong to AGL application framework which required by \ -Multimedia Subsystem" - -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-graphical-multimedia \ - " - -RDEPENDS:${PN} += "\ - alsa-utils \ - gstreamer1.0-meta-base \ - " diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb index 859303049..96f09d5ab 100644 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb @@ -1,17 +1,9 @@ -DESCRIPTION = "The minimal set of packages required for Wayland support" +DESCRIPTION = "The minimal set of packages required for the Weston compositor" LICENSE = "MIT" inherit packagegroup -PACKAGES = "\ - packagegroup-agl-graphical-weston \ - " - -ALLOW_EMPTY:${PN} = "1" - RDEPENDS:${PN} += " \ - weston \ - weston-init \ - weston-examples \ - " - + weston \ + weston-init \ +" diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb deleted file mode 100644 index 8b2cfbb31..000000000 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "The minimal set of packages required by AGL" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-image-boot \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - packagegroup-agl-core-boot \ - packagegroup-machine-base \ - " - -RDEPENDS:${PN} += "\ - " diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb index 1a51a9bf1..a60cbab21 100644 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb @@ -12,13 +12,7 @@ ALLOW_EMPTY:${PN} = "1" RDEPENDS:${PN} += "\ packagegroup-agl-core-boot \ - packagegroup-machine-base \ - " - -RDEPENDS:${PN} += "\ packagegroup-agl-core-connectivity \ - packagegroup-agl-core-os-commonlibs \ - packagegroup-agl-core-security \ " RDEPENDS:profile-agl-minimal = "${PN}" diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb index 2b708603b..b92e760ae 100644 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb @@ -1,5 +1,5 @@ SUMMARY = "The middleware for AGL IVI profile" -DESCRIPTION = "The set of packages required for AGL IVI Distribution" +DESCRIPTION = "The base set of packages required for a AGL IVI Distribution" LICENSE = "MIT" inherit packagegroup @@ -7,16 +7,11 @@ inherit packagegroup PACKAGES = "\ packagegroup-agl-profile-graphical \ profile-graphical \ - " - -ALLOW_EMPTY:${PN} = "1" +" RDEPENDS:${PN} += "\ packagegroup-agl-image-minimal \ - packagegroup-agl-graphical-weston \ - packagegroup-agl-graphical-multimedia \ + packagegroup-agl-graphical-compositor \ " -# FIXME: Removed due to issues building against weston 5.0.0: -# waltham-transmitter RDEPENDS:profile-graphical = "${PN}" diff --git a/meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch b/meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch index 3b7672df9..14c90b714 100644 --- a/meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch +++ b/meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch @@ -17,6 +17,8 @@ emitted to stdout: It is valid to have a measurement without units, but not units without a measurement. +Upstream-Status: Pending + Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> [updated for ptest-runner 2.3.2] [updated for ptest-runner 2.4.1] diff --git a/meta-agl-core/scripts/run-yocto-check-layer-feature-enabled.sh b/meta-agl-core/scripts/run-yocto-check-layer-feature-enabled.sh deleted file mode 100755 index e0e9d17a4..000000000 --- a/meta-agl-core/scripts/run-yocto-check-layer-feature-enabled.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -set -x - -SCRIPTPATH="$( cd $(dirname $0) >/dev/null 2>&1 ; pwd -P )" -echo $SCRIPTPATH -AGLROOT="$SCRIPTPATH/../../.." -POKYDIR="$AGLROOT/external/poky" -TMPROOT=`mktemp -d` - -rm -rf ${TMPROOT}/testbuild-ycl || true -mkdir -p ${TMPROOT}/testbuild-ycl -cd ${TMPROOT}/testbuild-ycl - -source $POKYDIR/oe-init-build-env . - -cat << EOF >> conf/local.conf -# just define defaults -AGL_FEATURES ?= "" -AGL_EXTRA_IMAGE_FSTYPES ?= "" - -# important settings imported from poky-agl.conf -# we do not import -DISTRO_FEATURES:append = " systemd" -DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit" -VIRTUAL-RUNTIME_init_manager = "systemd" - -AGL_FEATURES += "aglcore" - -EOF - - -yocto-check-layer \ - --dependency \ - $AGLROOT/external/meta-openembedded/meta-oe \ - -- \ - $AGLROOT/meta-agl/meta-agl-core - - -[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl - -exit 0 - - --dependency \ - $AGLROOT/external/meta-openembedded/meta-oe \ - $AGLROOT/external/meta-openembedded/meta-python \ - $AGLROOT/external/meta-openembedded/meta-networking \ diff --git a/meta-agl-core/scripts/run-yocto-check-layer.sh b/meta-agl-core/scripts/run-yocto-check-layer.sh index 3af61bc19..cd9364682 100755 --- a/meta-agl-core/scripts/run-yocto-check-layer.sh +++ b/meta-agl-core/scripts/run-yocto-check-layer.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -x +#set -x SCRIPTPATH="$( cd $(dirname $0) >/dev/null 2>&1 ; pwd -P )" echo $SCRIPTPATH @@ -19,17 +19,18 @@ AGL_FEATURES ?= "" AGL_EXTRA_IMAGE_FSTYPES ?= "" # important settings imported from poky-agl.conf -# we do not import -DISTRO_FEATURES:append = " systemd" +# we cannot import the distro config right away +# as the initial values are poky only till the layer +# is added in +# no polkit ! +AGL_DEFAULT_DISTRO_FEATURES = "usrmerge largefile opengl wayland pam bluetooth bluez5 3g" +DISTRO_FEATURES:append = " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}" DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" EOF - -yocto-check-layer \ - --dependency \ - $AGLROOT/external/meta-openembedded/meta-oe \ +yocto-check-layer --no-auto-dependency \ -- \ $AGLROOT/meta-agl/meta-agl-core @@ -37,8 +38,3 @@ yocto-check-layer \ [ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl exit 0 - - --dependency \ - $AGLROOT/external/meta-openembedded/meta-oe \ - $AGLROOT/external/meta-openembedded/meta-python \ - $AGLROOT/external/meta-openembedded/meta-networking \ diff --git a/meta-app-framework/README b/meta-app-framework/README new file mode 120000 index 000000000..4a7a1a175 --- /dev/null +++ b/meta-app-framework/README @@ -0,0 +1 @@ +README-AGL.md
\ No newline at end of file diff --git a/meta-app-framework/README-AGL.md b/meta-app-framework/README-AGL.md new file mode 100644 index 000000000..bd0c2de8f --- /dev/null +++ b/meta-app-framework/README-AGL.md @@ -0,0 +1,31 @@ +Overview +======== + +The +[AGL Project](https://www.automotivelinux.org/) is an automotive-specific +development environment that provides a Linux distribution +[AGL UCB](https://www.automotivelinux.org/software/unified-code-base). + +AGL uses layers designed to be compatible with the +[Yocto Project](https://www.yoctoproject.org) and the +[OpenEmbedded Project (OE)](https://www.openembedded.org/wiki/Main_Page). + +This section provides information about the layers used by the AGL Project: + +* **`meta-agl/meta-app-framework`**: Application (lifecycle) manager + + ``` + $ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl + ``` + +Maintenance +----------- + +All patches must be submitted via the AGL Gerrit instance at +<https://gerrit.automotivelinux.org>. See this wiki page for +details: + +<https://wiki.automotivelinux.org/agl-distro/contributing> + +Layer maintainers: +* Jan-Simon Möller <jsmoeller@linuxfoundation.org> diff --git a/meta-app-framework/classes/agl-app.bbclass b/meta-app-framework/classes/agl-app.bbclass new file mode 100644 index 000000000..491a36e02 --- /dev/null +++ b/meta-app-framework/classes/agl-app.bbclass @@ -0,0 +1,83 @@ +# +# AGL application systemd unit installation class +# + +# Systemd template unit +# * agl-app, agl-app-web, agl-app-flutter valid +AGL_APP_TEMPLATE ?= "agl-app" + +# Application ID +# This is what the application will be referred to in the list +# exposed to clients by applaunchd, and generally ends up as the +# identifier used by agl-compositor for application surface +# activation. +AGL_APP_ID ?= "${BPN}" + +# Application display name +AGL_APP_NAME ?= "${AGL_APP_ID}" + +# Application executable +# * agl-app template only +# Use if the application ID and the executable name are both +# different from the package name and each other as well. +AGL_APP_EXEC ?= "${AGL_APP_ID}" + +# Web application bundle directory (non-absolute, so directory +# name under /usr/lib/wam_apps) +# * agl-app-web template only +# Use if the web application bundle installs to a directory that +# is not the same as the package name. +AGL_APP_WAM_DIR ?= "${BPN}" + +do_install:append () { + install -d ${D}${systemd_system_unitdir} + ln -s ${AGL_APP_TEMPLATE}\@.service \ + ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service + + # NOTE: Unit & Service changes could potentially be collected + # and a single override .conf created, but things will be + # kept simple for now. + + if [ "${AGL_APP_EXEC}" != "${AGL_APP_ID}" ]; then + install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d + cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/exec.conf + [Service] + ExecStart= + ExecStart=${AGL_APP_EXEC} + EOF + fi + + if [ "${AGL_APP_NAME}" != "${AGL_APP_ID}" ]; then + install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d + cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/name.conf + [Unit] + Description= + Description=${AGL_APP_NAME} + EOF + fi + + if [ "${AGL_APP_TEMPLATE}" = "agl-app-web" -a "${AGL_APP_ID}" != "${BPN}" ]; then + # The application ID does not necessarily match the package name + # used in the WAM install hierarchy, and the IDs are hard-coded in + # some of the web apps, so if necessary create an override for the + # environment variable used in place of directly deriving from %i + # (which will always be the app id). + install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d + cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/wam.conf + [Service] + Environment=AGL_APP_WAM_DIR=${AGL_APP_WAM_DIR} + EOF + fi + + if [ "${AGL_APP_TEMPLATE}" = "agl-app-flutter" ]; then + # Install icon if present + if [ -f ${S}/package/${AGL_APP_ID}.svg ]; then + install -d ${D}${datadir}/icons/hicolor/scalable + install -m 0644 ${S}/package/${AGL_APP_ID}.svg ${D}${datadir}/icons/hicolor/scalable/ + fi + fi +} + +FILES:${PN}:append = " ${systemd_system_unitdir} ${datadir}/icons" + +RDEPENDS:${PN}:append = " applaunchd-template-${AGL_APP_TEMPLATE}" diff --git a/meta-app-framework/conf/layer.conf b/meta-app-framework/conf/layer.conf index 10d458001..85565353e 100644 --- a/meta-app-framework/conf/layer.conf +++ b/meta-app-framework/conf/layer.conf @@ -10,4 +10,4 @@ BBFILE_PATTERN_meta-app-framework = "^${LAYERDIR}/" BBFILE_PRIORITY_meta-app-framework = "60" LAYERSERIES_COMPAT_meta-app-framework = "kirkstone" -LAYERDEPENDS_meta-app-framework = "core aglcore" +LAYERDEPENDS_meta-app-framework = "core aglcore openembedded-layer" diff --git a/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb b/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb deleted file mode 100644 index ecad1615d..000000000 --- a/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "AGL user session" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -SRC_URI = "\ - file://agl-session@.service \ - file://agl-session.target \ - file://50-xdg-data-dirs.sh \ -" - -inherit systemd allarch useradd - -USERADD_PACKAGES = "${PN}" -USERADDEXTENSION = "useradd-staticids" -GROUPADD_PARAM:${PN} = "\ - --system display ; \ - --system video ; \ - --system pipewire ; \ - -g 1001 agl-driver ; \ -" -USERADD_PARAM:${PN} = "\ - -g 1001 -u 1001 -G video,display,pipewire -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \ -" - -SYSTEMD_PACKAGES = "${PN}" -# Instantiate session for the 'agl-driver' user, so we don't have to hardcode -# the user name/ID in the service file itself -SYSTEMD_SERVICE:${PN} = "agl-session@agl-driver.service" -SYSTEMD_AUTO_ENABLE:${PN} = "enable" - -do_install() { - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/agl-session@.service ${D}${systemd_system_unitdir} - - install -d ${D}${systemd_user_unitdir} - install -m 0644 ${WORKDIR}/agl-session.target ${D}${systemd_user_unitdir} - - install -d ${D}${libdir}/systemd/user-environment-generators - install -m 0755 ${WORKDIR}/50-xdg-data-dirs.sh ${D}${libdir}/systemd/user-environment-generators/ -} - -FILES:${PN} += " \ - ${systemd_system_unitdir} \ - ${systemd_user_unitdir} \ - ${libdir}/systemd/user-environment-generators/ \ -" diff --git a/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh b/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh deleted file mode 100644 index 15ec3744a..000000000 --- a/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -# use a default value if not already set -XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}" - -# write our output -echo "XDG_DATA_DIRS=${XDG_DATA_DIRS}" diff --git a/meta-app-framework/recipes-config/agl-session/files/agl-session.target b/meta-app-framework/recipes-config/agl-session/files/agl-session.target deleted file mode 100644 index 84d9daa5b..000000000 --- a/meta-app-framework/recipes-config/agl-session/files/agl-session.target +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -Description=AGL user session - -BindsTo=graphical-session.target -Before=graphical-session.target diff --git a/meta-app-framework/recipes-config/agl-session/files/agl-session@.service b/meta-app-framework/recipes-config/agl-session/files/agl-session@.service deleted file mode 100644 index 61afa4141..000000000 --- a/meta-app-framework/recipes-config/agl-session/files/agl-session@.service +++ /dev/null @@ -1,24 +0,0 @@ -[Unit] -Description=AGL user session -After=systemd-user-sessions.service -Wants=dbus.socket -After=dbus.socket -After=session-c1.scope -Before=multi-user.target - -[Service] -Environment=XDG_SESSION_TYPE=wayland -ExecStart=/bin/systemctl --wait --user start agl-session.target -TimeoutStartSec=30 -# This is a template service, instantiate for desired user's name or uid -User=%i -PAMName=login -WorkingDirectory=~ -StandardInput=tty-fail -StandardOutput=journal -StandardError=journal -Restart=always -RestartSec=3s - -[Install] -WantedBy=multi-user.target diff --git a/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules b/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules new file mode 100644 index 000000000..35b9559c5 --- /dev/null +++ b/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules @@ -0,0 +1,7 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.systemd1.manage-units" && + action.lookup("unit").indexOf("agl-app") == 0 && + subject.isInGroup("applaunchd")) { + return polkit.Result.YES; + } +}); diff --git a/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb b/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb new file mode 100644 index 000000000..57dda7787 --- /dev/null +++ b/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb @@ -0,0 +1,21 @@ +SUMMARY = "Rule for agl-driver to control agl-app@ services" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://50-agl-app.rules" + +DEPENDS += "polkit" + +inherit useradd features_check +REQUIRED_DISTRO_FEATURES = "polkit" + +do_install() { + install -m 700 -d ${D}${datadir}/polkit-1/rules.d + chown polkitd:root ${D}/${datadir}/polkit-1/rules.d + install -m 0644 ${WORKDIR}/50-agl-app.rules ${D}${datadir}/polkit-1/rules.d +} + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} += "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;" + +FILES:${PN} += "${datadir}/polkit-1/rules.d/*.rules" diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service new file mode 100644 index 000000000..a9a2527e0 --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service @@ -0,0 +1,12 @@ +[Unit] +Description=%I + +[Service] +Type=simple +User=agl-driver +Environment=FLUTTER_VERSION=3.3.7 +Environment=FLUTTER_RUNTIME=release +EnvironmentFile=-/etc/default/flutter +EnvironmentFile=-/etc/default/%I +Environment=XDG_RUNTIME_DIR=/run/user/1001/ +ExecStart=/usr/bin/flutter-auto --b=/usr/share/flutter/%I/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --xdg-shell-app-id=%I diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service new file mode 100644 index 000000000..e0353b6ae --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service @@ -0,0 +1,11 @@ +[Unit] +Description=%I + +[Service] +Type=simple +User=agl-driver +EnvironmentFile=-/etc/default/WebAppMgr.env +Environment=XDG_RUNTIME_DIR=/run/user/1001/ +Environment=AGL_APP_WAM_DIR=%I +ExecStart=/usr/bin/WebAppMgrCli --appid=%I --app-install-dir=/usr/lib/wam_apps/${AGL_APP_WAM_DIR}/ + diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service new file mode 100644 index 000000000..234348846 --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service @@ -0,0 +1,8 @@ +[Unit] +Description=%I + +[Service] +Type=simple +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ +ExecStart=%i diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service new file mode 100644 index 000000000..73d36bd0c --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service @@ -0,0 +1,13 @@ +[Unit] +Wants=network.target polkit.service +After=network.target polkit.service + +[Service] +Type=notify +User=applaunchd +Environment=XDG_DATA_DIRS=/usr/share +ExecStart=/usr/bin/applaunchd +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf b/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf new file mode 100644 index 000000000..c7c4f8a31 --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf @@ -0,0 +1,2 @@ +[Service] +PrivateNetwork=true diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf b/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf new file mode 100644 index 000000000..0bdba7c99 --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf @@ -0,0 +1,2 @@ +[Service] +PrivateTmp=yes diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb b/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb index d588868a2..c1bafad8e 100644 --- a/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb @@ -8,21 +8,71 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" DEPENDS = " \ glib-2.0 \ glib-2.0-native \ + protobuf-native \ + grpc-native \ + grpc \ + systemd \ " -PV = "1.0+git${SRCPV}" +PV = "2.0+git${SRCPV}" SRC_URI = " \ - git://gerrit.automotivelinux.org/gerrit/src/applaunchd;protocol=https;branch=${AGL_BRANCH} \ - " -SRCREV = "${AGL_APP_REVISION}" + git://gerrit.automotivelinux.org/gerrit/src/applaunchd;protocol=https;branch=${AGL_BRANCH} \ + file://applaunchd.service \ + file://agl-app@.service \ + file://agl-app-web@.service \ + file://agl-app-flutter@.service \ + file://no-network.conf \ + file://private-tmp.conf \ +" +SRCREV = "c32fe42f40d0af8b31b6113a3140f52b83be7769" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig systemd useradd features_check + +REQUIRED_DISTRO_FEATURES = "systemd polkit" + +USERADD_PACKAGES = "${PN}" +USERADDEXTENSION = "useradd-staticids" +GROUPADD_PARAM:${PN} = "-g 1003 applaunchd ; " +USERADD_PARAM:${PN} = "\ + -g 1003 -u 1003 -o -d / -K PASS_MAX_DAYS=-1 applaunchd ; \ +" + +SYSTEMD_SERVICE:${PN} = "applaunchd.service" -S = "${WORKDIR}/git" +do_install:append() { + # Install generic template for all agl-app services + install -d ${D}${systemd_system_unitdir} + install -m 644 ${WORKDIR}/applaunchd.service ${D}${systemd_system_unitdir}/ + install -m 644 ${WORKDIR}/agl-app@.service ${D}${systemd_system_unitdir}/ + install -m 644 ${WORKDIR}/agl-app-web@.service ${D}${systemd_system_unitdir}/ + install -m 644 ${WORKDIR}/agl-app-flutter@.service ${D}${systemd_system_unitdir}/ -inherit meson pkgconfig + # Install individual sandboxing overrides/drop-ins to be used by apps + install -d ${D}${systemd_system_unitdir}/sandboxing + install -m 644 ${WORKDIR}/no-network.conf ${D}${systemd_system_unitdir}/sandboxing/ + install -m 644 ${WORKDIR}/private-tmp.conf ${D}${systemd_system_unitdir}/sandboxing/ +} -FILES:${PN} += " ${datadir}/dbus-1/" +PACKAGE_BEFORE_PN += "${PN}-template-agl-app ${PN}-template-agl-app-web ${PN}-template-agl-app-flutter" + +FILES:${PN} += "${systemd_system_unitdir}" + +FILES:${PN}-template-agl-app = "${systemd_system_unitdir}/agl-app@.service" + +FILES:${PN}-template-agl-app-web = "${systemd_system_unitdir}/agl-app-web@.service" + +FILES:${PN}-template-agl-app-flutter = "${systemd_system_unitdir}/agl-app-flutter@.service" RDEPENDS:${PN} += " \ - agl-session \ + agl-users \ + polkit-rule-agl-app \ " + +RDEPENDS:${PN}-template-agl-app = "${PN}" + +RDEPENDS:${PN}-template-agl-app-web = "${PN}" + +RDEPENDS:${PN}-template-agl-app-flutter = "${PN}" diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend deleted file mode 100644 index 70cbaabe2..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agl-app-fw', 'agl-compositor-init_agl-app-fw.inc', '', d)} diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf deleted file mode 100644 index 66778a91b..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -ConditionPathExists=/dev/tty7 - -[Service] -Environment=XDG_SESSION_TYPE=wayland -TTYPath=/dev/tty7 -TTYReset=yes -TTYVHangup=yes -TTYVTDisallocate=yes -UtmpIdentifier=tty7 -UtmpMode=user diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in deleted file mode 100644 index fd56c7c3e..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in +++ /dev/null @@ -1,29 +0,0 @@ -# -# Weston must be built with systemd support, and your weston.ini must load -# the plugin systemd-notify.so. - -[Unit] -Description=agl-compositor, a Wayland compositor, as a systemd user service -Documentation=https://docs.automotivelinux.org/en/master/#5_Component_Documentation/1_agl-compositor/ - -# Activate using a systemd socket -Requires=agl-compositor.socket -After=agl-compositor.socket - -# Since we are part of the agl session, make sure we are started before -# it is complete. -Before=agl-session.target - -[Service] -Type=notify -EnvironmentFile=-/etc/default/agl-compositor -ExecStart=/usr/bin/agl-compositor @AGL_COMPOSITOR_ARGS@ - -TimeoutStartSec=60 -WatchdogSec=20 - -StandardOutput=journal -StandardError=journal - -[Install] -WantedBy=agl-session.target diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc deleted file mode 100644 index b97a537d5..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc +++ /dev/null @@ -1,47 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/agl-compositor-init:" - -SRC_URI = " \ - file://agl-compositor.conf \ - file://agl-compositor.service.in \ - file://agl-compositor.socket \ - " - -# Reset systemd services list -SYSTEMD_SERVICE:${PN} = "" - -do_install() { - # Process ".in" files - files=agl-compositor.service.in - for f in ${files}; do - g=${f%.in} - if [ "${f}" != "${g}" ]; then - sed -e "s,@AGL_COMPOSITOR_ARGS@,${AGL_COMPOSITOR_ARGS},g" \ - ${WORKDIR}/${f} > ${WORKDIR}/${g} - fi - done - - install -d ${D}${systemd_system_unitdir}/agl-session@agl-driver.service.d - install -m 0644 ${WORKDIR}/agl-compositor.conf \ - ${D}${systemd_system_unitdir}/agl-session@agl-driver.service.d/agl-compositor.conf - - install -D -p -m0644 ${WORKDIR}/agl-compositor.service ${D}${systemd_user_unitdir}/agl-compositor.service - install -D -p -m0644 ${WORKDIR}/agl-compositor.socket ${D}${systemd_user_unitdir}/agl-compositor.socket - - # Enable the compositor as part of the user session - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - ln -s ../agl-compositor.service ${D}${systemd_user_unitdir}/agl-session.target.wants/agl-compositor.service -} - -FILES:${PN} = "\ - ${systemd_system_unitdir} \ - ${systemd_user_unitdir} \ -" - -RDEPENDS:${PN} = " \ - agl-compositor \ - agl-shell-activator \ - agl-session \ - weston-ini \ -" - -RCONFLICTS:${PN} = "weston-init" diff --git a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend deleted file mode 100644 index 699275fe8..000000000 --- a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agl-app-fw', 'weston-ini-conf_agl-app-fw.inc', '', d)} diff --git a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc b/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc deleted file mode 100644 index 25213a9f1..000000000 --- a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc +++ /dev/null @@ -1,3 +0,0 @@ -RDEPENDS:${PN} = "" -RDEPENDS:${PN}-landscape = "" -RDEPENDS:${PN}-landscape-inverted = "" diff --git a/meta-app-framework/scripts/run-yocto-check-layer.sh b/meta-app-framework/scripts/run-yocto-check-layer.sh index 62377d34e..cbe35ed8d 100755 --- a/meta-app-framework/scripts/run-yocto-check-layer.sh +++ b/meta-app-framework/scripts/run-yocto-check-layer.sh @@ -19,19 +19,25 @@ AGL_FEATURES ?= "" AGL_EXTRA_IMAGE_FSTYPES ?= "" # important settings imported from poky-agl.conf -# we do not import -DISTRO_FEATURES:append = " systemd" +# we cannot import the distro config right away +# as the initial values are poky only till the layer +# is added in + +AGL_DEFAULT_DISTRO_FEATURES := "usrmerge largefile opengl wayland pam bluetooth bluez5 3g polkit" +DISTRO_FEATURES:append := " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}" DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" EOF - -yocto-check-layer \ +yocto-check-layer --no-auto-dependency \ --dependency \ $AGLROOT/meta-agl/meta-agl-core \ + $AGLROOT/external/meta-openembedded/meta-oe \ -- \ $AGLROOT/meta-agl/meta-app-framework [ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl + +exit 0 diff --git a/meta-netboot/conf/include/agl-netboot.inc b/meta-netboot/conf/include/agl-netboot.inc index 555629537..2c1307e81 100644 --- a/meta-netboot/conf/include/agl-netboot.inc +++ b/meta-netboot/conf/include/agl-netboot.inc @@ -1,3 +1,6 @@ INHERIT += "netboot" -IMAGE_INSTALL:append:netboot = " curl" +IMAGE_INSTALL:append:netboot = " \ + curl \ + ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'resolv-conf-relabel policycoreutils-loadpolicy', '', d)} \ +" diff --git a/meta-netboot/recipes-core/initramfs-netboot/files/init.sh b/meta-netboot/recipes-core/initramfs-netboot/files/init.sh index 92927df47..87a1acb80 100644 --- a/meta-netboot/recipes-core/initramfs-netboot/files/init.sh +++ b/meta-netboot/recipes-core/initramfs-netboot/files/init.sh @@ -154,6 +154,22 @@ fi rm -f /etc/resolv.conf grep -v bootserver /proc/net/pnp | sed 's/^domain/search/g' >/etc/resolv.conf +# Do SELinux relabeling if required, to avoid a reboot that would complicate CI +if [ -f /.autorelabel ]; then + # Nothing SELinux related works w/o the fs mounted + do_mount_fs selinuxfs /sys/fs/selinux + + # Labeling requires the policy to be loaded + log_info "Loading SELinux policy" + /usr/sbin/load_policy + + /usr/bin/selinux-autorelabel.sh + + # Will get remounted by systemd startup, unmount to keep that behavior + # more like the non-netboot case. + umount /sys/fs/selinux +fi + # unmount tmp and run to let systemd remount them log_info "Unmounting /tmp and /run" umount /tmp diff --git a/meta-netboot/recipes-core/systemd/files/resolv-conf-relabel.service b/meta-netboot/recipes-core/systemd/files/resolv-conf-relabel.service new file mode 100644 index 000000000..5d9216cc2 --- /dev/null +++ b/meta-netboot/recipes-core/systemd/files/resolv-conf-relabel.service @@ -0,0 +1,14 @@ +[Unit] +Description=SELinux resolv.conf relabeling +DefaultDependencies=no +ConditionKernelCommandLine=ip +ConditionKernelCommandLine=nbd.server +After=local-fs.target +Before=sysinit.target + +[Service] +Type=oneshot +ExecStart=/usr/sbin/restorecon -Fi /etc/resolv.conf + +[Install] +WantedBy=sysinit.target diff --git a/meta-netboot/recipes-core/systemd/resolv-conf-relabel.bb b/meta-netboot/recipes-core/systemd/resolv-conf-relabel.bb new file mode 100644 index 000000000..36d096b44 --- /dev/null +++ b/meta-netboot/recipes-core/systemd/resolv-conf-relabel.bb @@ -0,0 +1,21 @@ +SUMMARY = "System unit to relabel resolve.conf" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://resolv-conf-relabel.service" + +inherit systemd allarch features_check + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + +REQUIRED_DISTRO_FEATURES = "systemd" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/resolv-conf-relabel.service ${D}${systemd_system_unitdir}/ +} + +FILES:${PN} += "${systemd_system_unitdir}" diff --git a/meta-netboot/scripts/run-yocto-check-layer-flags-enabled.sh b/meta-netboot/scripts/run-yocto-check-layer-flags-enabled.sh deleted file mode 100755 index 4e814f51f..000000000 --- a/meta-netboot/scripts/run-yocto-check-layer-flags-enabled.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash -#set -x - -SCRIPTPATH="$( cd $(dirname $0) >/dev/null 2>&1 ; pwd -P )" -echo $SCRIPTPATH -AGLROOT="$SCRIPTPATH/../../.." -POKYDIR="$AGLROOT/external/poky" -TMPROOT=`mktemp -d` - -rm -rf ${TMPROOT}/testbuild-ycl || true -mkdir -p ${TMPROOT}/testbuild-ycl -cd ${TMPROOT}/testbuild-ycl - -source $POKYDIR/oe-init-build-env . - -cat << EOF >> conf/local.conf -# just define defaults -AGL_FEATURES ?= "" -AGL_EXTRA_IMAGE_FSTYPES ?= "" - -# important settings imported from poky-agl.conf -# we do not import -DISTRO_FEATURES:append = " systemd" -DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit" -VIRTUAL-RUNTIME_init_manager = "systemd" - -NETBOOT_ENABLED = "1" -NETBOOT_FSTYPES ??= "ext4.gz" - -EOF - - -yocto-check-layer \ - --dependency \ - $AGLROOT/external/meta-openembedded/meta-oe \ - $AGLROOT/external/meta-openembedded/meta-python \ - $AGLROOT/external/meta-openembedded/meta-networking \ - -- \ - $AGLROOT/meta-agl/meta-netboot/ - - -[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl diff --git a/meta-netboot/scripts/run-yocto-check-layer.sh b/meta-netboot/scripts/run-yocto-check-layer.sh index b36788a99..979c76838 100755 --- a/meta-netboot/scripts/run-yocto-check-layer.sh +++ b/meta-netboot/scripts/run-yocto-check-layer.sh @@ -19,21 +19,26 @@ AGL_FEATURES ?= "" AGL_EXTRA_IMAGE_FSTYPES ?= "" # important settings imported from poky-agl.conf -# we do not import -DISTRO_FEATURES:append = " systemd" +# we cannot import the distro config right away +# as the initial values are poky only till the layer +# is added in + +AGL_DEFAULT_DISTRO_FEATURES = "usrmerge largefile opengl wayland pam bluetooth bluez5 3g polkit" +DISTRO_FEATURES:append = " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}" DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" EOF - -yocto-check-layer \ +yocto-check-layer --no-auto-dependency \ --dependency \ - $AGLROOT/external/meta-openembedded/meta-oe \ - $AGLROOT/external/meta-openembedded/meta-python \ - $AGLROOT/external/meta-openembedded/meta-networking \ + $AGLROOT/external/meta-openembedded/meta-oe \ + $AGLROOT/external/meta-openembedded/meta-python \ + $AGLROOT/external/meta-openembedded/meta-networking \ -- \ - $AGLROOT/meta-agl/meta-netboot/ + $AGLROOT/meta-agl/meta-netboot [ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl + +exit 0 diff --git a/meta-pipewire/conf/include/agl-pipewire.inc b/meta-pipewire/conf/include/agl-pipewire.inc index 0c585adb0..03b419c2a 100644 --- a/meta-pipewire/conf/include/agl-pipewire.inc +++ b/meta-pipewire/conf/include/agl-pipewire.inc @@ -1,2 +1 @@ DISTRO_FEATURES:append = " pipewire" -PREFERRED_RPROVIDER_virtual/wireplumber-config = "wireplumber-config-agl" diff --git a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb index 1d20b4705..6237dcf80 100644 --- a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb +++ b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb @@ -13,4 +13,5 @@ RDEPENDS:${PN} += "\ pipewire-modules-meta \ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'pipewire-tools pipewire-spa-tools alsa-utils', '', d)} \ pipewire-alsa \ + pipewire-alsa-card-profile \ " diff --git a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb index b56723b2b..e7ad14258 100644 --- a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb +++ b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb @@ -6,6 +6,7 @@ inherit packagegroup PACKAGES = "\ packagegroup-pipewire \ + packagegroup-pipewire-tools \ " RDEPENDS:${PN} += "\ @@ -15,5 +16,9 @@ RDEPENDS:${PN} += "\ pipewire-alsa \ gstreamer1.0-pipewire \ wireplumber \ - ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'pipewire-tools pipewire-spa-tools', '', d)} \ " + +RDEPENDS:${PN}-tools += "\ + pipewire-tools \ + pipewire-spa-tools \ +"
\ No newline at end of file diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-Revert-loop-remove-destroy-list.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-Revert-loop-remove-destroy-list.patch deleted file mode 100644 index 8a988b024..000000000 --- a/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-Revert-loop-remove-destroy-list.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 16f63a3c8fa227625bade5a9edea22354b347d18 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com> -Date: Fri, 18 Feb 2022 18:36:36 +0100 -Subject: [PATCH] Revert "loop: remove destroy list" - -This reverts commit c474846c42967c44db069a23b76a29da6f496f33. -In addition, `s->loop` is also checked before dispatching a source. - -The destroy list is needed in the presence of threads. The -issue is that a source may be destroyed between `epoll_wait()` -returning and thread loop lock being acquired. If this -source is active, then a use-after-free will be triggered -when the thread loop acquires the lock and starts dispatching -the sources. - - thread 1 thread 2 - ---------- ---------- - loop_iterate - spa_loop_control_hook_before - // release lock - - pw_thread_loop_lock - - spa_system_pollfd_wait - // assume it returns with source A - - pw_loop_destroy_source(..., A) - // frees storage of A - - pw_thread_loop_unlock - spa_loop_control_hook_after - // acquire the lock - - for (...) { - struct spa_source *s = ep[i].data; - s->rmask = ep[i].events; - // use-after-free if `s` refers to - // the previously freed `A` - -Fixes #2147 - -Upstream-Status: Backport [https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/16f63a3c] -Signed-off-by: Scott Murray <scott.murray@konsulko.com> - ---- - spa/plugins/support/loop.c | 19 +++++++++++++++++-- - 1 file changed, 17 insertions(+), 2 deletions(-) - -diff --git a/spa/plugins/support/loop.c b/spa/plugins/support/loop.c -index 0588ce770..04739eb2a 100644 ---- a/spa/plugins/support/loop.c -+++ b/spa/plugins/support/loop.c -@@ -75,6 +75,7 @@ struct impl { - struct spa_system *system; - - struct spa_list source_list; -+ struct spa_list destroy_list; - struct spa_hook_list hooks_list; - - int poll_fd; -@@ -325,6 +326,14 @@ static void loop_leave(void *object) - impl->thread = 0; - } - -+static inline void process_destroy(struct impl *impl) -+{ -+ struct source_impl *source, *tmp; -+ spa_list_for_each_safe(source, tmp, &impl->destroy_list, link) -+ free(source); -+ spa_list_init(&impl->destroy_list); -+} -+ - static int loop_iterate(void *object, int timeout) - { - struct impl *impl = object; -@@ -354,11 +363,14 @@ static int loop_iterate(void *object, int timeout) - } - for (i = 0; i < nfds; i++) { - struct spa_source *s = ep[i].data; -- if (SPA_LIKELY(s && s->rmask)) { -+ if (SPA_LIKELY(s && s->rmask && s->loop)) { - s->priv = NULL; - s->func(s); - } - } -+ if (SPA_UNLIKELY(!spa_list_is_empty(&impl->destroy_list))) -+ process_destroy(impl); -+ - return nfds; - } - -@@ -712,7 +724,7 @@ static void loop_destroy_source(void *object, struct spa_source *source) - spa_system_close(impl->impl->system, source->fd); - source->fd = -1; - } -- free(source); -+ spa_list_insert(&impl->impl->destroy_list, &impl->link); - } - - static const struct spa_loop_methods impl_loop = { -@@ -783,6 +795,8 @@ static int impl_clear(struct spa_handle *handle) - spa_list_consume(source, &impl->source_list, link) - loop_destroy_source(impl, &source->source); - -+ process_destroy(impl); -+ - spa_system_close(impl->system, impl->ack_fd); - spa_system_close(impl->system, impl->poll_fd); - -@@ -844,6 +858,7 @@ impl_init(const struct spa_handle_factory *factory, - impl->poll_fd = res; - - spa_list_init(&impl->source_list); -+ spa_list_init(&impl->destroy_list); - spa_hook_list_init(&impl->hooks_list); - - impl->buffer_data = SPA_PTR_ALIGN(impl->buffer_mem, MAX_ALIGN, uint8_t); --- -2.35.1 - diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bb b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb index c7479bec9..6fa851caa 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bb +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb @@ -20,8 +20,8 @@ SECTION = "multimedia" DEPENDS = "dbus" -# v0.3.47 -SRCREV = "2af393889358723a2789caa3c856700b1c968ef0" +# v1.0.0(El Presidente) +SRCREV = "4debdcd40b055b3eaa83a8f4443aa990ea566bfe" SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" S = "${WORKDIR}/git" @@ -84,7 +84,7 @@ PACKAGECONFIG ??= "\ # is why these two are marked in their respective packageconfigs # as being in conflict. -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev" +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa-card-profile" PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native" PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base" @@ -230,9 +230,20 @@ SYSTEMD_SERVICE:${PN} = "pipewire.service" CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" FILES:${PN} = " \ ${datadir}/pipewire/pipewire.conf \ + ${datadir}/pipewire/filter-chain.conf \ ${datadir}/pipewire/filter-chain \ ${systemd_user_unitdir}/pipewire.* \ + ${systemd_system_unitdir}/pipewire* \ ${bindir}/pipewire \ + ${datadir}/pipewire/pipewire-avb.conf \ + ${bindir}/pipewire-avb \ + ${datadir}/pipewire/pipewire-aes67.conf \ + ${bindir}/pipewire-aes67 \ + ${datadir}/pipewire/pipewire.conf.avail \ + ${datadir}/pipewire/pipewire-pulse.conf.avail \ + ${datadir}/pipewire/client-rt.conf.avail \ + ${datadir}/pipewire/client.conf.avail \ + ${sysconfdir}/security/limits.d \ " FILES:${PN}-dev += " \ diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bbappend b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bbappend index 4cd74a818..beb7c0817 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bbappend +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bbappend @@ -1,6 +1,5 @@ SRC_URI += "\ file://0001-systemd-Do-not-override-rootprefix.patch \ - file://0002-Revert-loop-remove-destroy-list.patch \ " PACKAGECONFIG = "\ diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf index ebd0b6004..9077e3f45 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf @@ -6,7 +6,7 @@ context.properties = { application.name = "WirePlumber Bluetooth" log.level = 2 wireplumber.script-engine = lua-scripting - wireplumber.export-core = false + wireplumber.export-core = true #mem.mlock-all = false #support.dbus = true diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua index 75a169675..d07f7ab85 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua @@ -8,7 +8,7 @@ alsa_monitor.properties = { } alsa_monitor.rules = { - -- disable ACP (PulseAudio-like profiles) + -- enable ACP (PulseAudio-like profiles) { matches = { { @@ -16,7 +16,7 @@ alsa_monitor.rules = { }, }, apply_properties = { - ["api.alsa.use-acp"] = false, + ["api.alsa.use-acp"] = true, }, }, diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua index 365bab59a..e0d332422 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua @@ -14,7 +14,7 @@ function device_defaults.enable() -- Selects appropriate default routes ("ports" in pulseaudio terminology) -- and enables saving and restoring them together with -- their properties (per-route/port volume levels, channel maps, etc) - load_script("default-routes.lua", device_defaults.properties) + load_script("policy-device-routes.lua", device_defaults.properties) if device_defaults.properties["use-persistent-storage"] then -- Enables functionality to save and restore default device profiles diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua index f6d73a3f1..ecb7da476 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua @@ -4,7 +4,7 @@ load_module("metadata") -- Load devices alsa_monitor.enable() ---v4l2_monitor.enable() +v4l2_monitor.enable() -- Track/store/restore user choices about devices device_defaults.enable() @@ -13,7 +13,7 @@ device_defaults.enable() load_script("suspend-node.lua") -- Automatically sets device profiles to 'On' -load_module("device-activation") +load_script("policy-device-profile.lua") -- Mute ALSA sinks when requested by pipewire-ic-ipc load_module("mixer-api") diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf index 680a791f3..46ad11302 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf @@ -57,6 +57,47 @@ context.modules = [ # Provides factories to make session manager objects. { name = libpipewire-module-session-manager } + + { name = libpipewire-module-filter-chain + args = { + node.description = "Equalizer Sink" + media.name = "Equalizer Sink" + filter.graph = { + nodes = [ + { + type = builtin + name = bass + label = bq_lowshelf + # the cut off freq of the bass filter can be adjusted here. + control = { "Freq" = 250.0 "Q" = 1.0 "Gain" = 0.0 } + } + { + type = builtin + name = treble + label = bq_peaking + # the cut off freq of the treble filter can be adjusted here. + control = { "Freq" = 6000.0 "Q" = 1.0 "Gain" = 0.0 } + } + ] + links = [ + { output = "bass:Out" input = "treble:In" } + ] + } + audio.channels = 2 + audio.position = [ FL FR ] + capture.props = { + node.name = "eq-sink" + media.class = Audio/Sink + # select the endpoint to which the node is attached + target.endpoint = "endpoint.multimedia" + node.passive = true + } + playback.props = { + node.name = "eq-output-stream" + node.passive = true + } + } + } ] wireplumber.components = [ diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua index e6170dd1c..6814fce4d 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua @@ -66,7 +66,7 @@ policy_config.policy = { ["Multimedia"] = { ["alias"] = { "Movie", "Music", "Game" }, ["priority"] = 25, - ["action.default"] = "cork", + ["action.default"] = "mix", }, ["Speech-Low"] = { ["priority"] = 30, diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch deleted file mode 100644 index 88301d56f..000000000 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 1197f31d2b681d0cf0ca1309d50c8ab8ea80ac5e Mon Sep 17 00:00:00 2001 -From: Ashok Sidipotu <ashok.sidipotu@collabora.com> -Date: Thu, 2 Dec 2021 16:57:54 +0530 -Subject: [PATCH 1/2] Revert "tests: add pipewire env variables when running - tests, tidy up common_env" - -This reverts commit c24db9f3539f9b7ebe9e74c991cc3037f28ea22c. - -Upstream-Status: Inappropriate[meson version dependent] ---- - tests/meson.build | 31 ------------------------------- - tests/modules/meson.build | 9 ++++++--- - tests/wp/meson.build | 10 +++++++--- - tests/wplua/meson.build | 15 +++++++++++---- - 4 files changed, 24 insertions(+), 41 deletions(-) - -diff --git a/tests/meson.build b/tests/meson.build -index 0e06568..9238d5b 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -28,37 +28,6 @@ if valgrind.found() - timeout_multiplier: 2) - endif - --# The common test environment --common_test_env = environment({ -- 'HOME': '/invalid', -- 'XDG_RUNTIME_DIR': '/invalid', -- 'PIPEWIRE_RUNTIME_DIR': '/tmp', -- 'XDG_CONFIG_HOME': meson.current_build_dir() / '.config', -- 'XDG_STATE_HOME': meson.current_build_dir() / '.local' / 'state', -- 'FILE_MONITOR_DIR': meson.current_build_dir() / '.local' / 'file_monitor', -- 'WIREPLUMBER_CONFIG_DIR': '/invalid', -- 'WIREPLUMBER_DATA_DIR': '/invalid', -- 'WIREPLUMBER_MODULE_DIR': meson.current_build_dir() / '..' / 'modules', -- 'WIREPLUMBER_DEBUG': '7', --}) -- --spa_plugindir = spa_dep.get_variable( -- pkgconfig: 'plugindir', internal: 'plugindir', default_value: '') --pipewire_moduledir = pipewire_dep.get_variable( -- pkgconfig: 'moduledir', internal: 'moduledir', default_value: '') --pipewire_confdatadir = pipewire_dep.get_variable( -- pkgconfig: 'confdatadir', internal: 'confdatadir', default_value: '') -- --if spa_plugindir != '' -- common_test_env.set('SPA_PLUGIN_DIR', spa_plugindir) --endif --if pipewire_moduledir != '' -- common_test_env.set('PIPEWIRE_MODULE_DIR', pipewire_moduledir) --endif --if pipewire_confdatadir != '' -- common_test_env.set('PIPEWIRE_CONFIG_DIR', pipewire_confdatadir) --endif -- - subdir('wp') - subdir('wplua') - subdir('modules') -diff --git a/tests/modules/meson.build b/tests/modules/meson.build -index ffab80b..2fc46dc 100644 ---- a/tests/modules/meson.build -+++ b/tests/modules/meson.build -@@ -1,7 +1,10 @@ - common_deps = [gobject_dep, gio_dep, wp_dep, pipewire_dep] --common_env = common_test_env --common_env.set('G_TEST_SRCDIR', meson.current_source_dir()) --common_env.set('G_TEST_BUILDDIR', meson.current_build_dir()) -+common_env = environment({ -+ 'G_TEST_SRCDIR': meson.current_source_dir(), -+ 'G_TEST_BUILDDIR': meson.current_build_dir(), -+ 'WIREPLUMBER_MODULE_DIR': meson.current_build_dir() / '..' / '..' / 'modules', -+ 'WIREPLUMBER_DEBUG': '7', -+}) - common_args = [ - '-DG_LOG_USE_STRUCTURED', - ] -diff --git a/tests/wp/meson.build b/tests/wp/meson.build -index 178564d..b64ccae 100644 ---- a/tests/wp/meson.build -+++ b/tests/wp/meson.build -@@ -1,7 +1,11 @@ - common_deps = [gobject_dep, gio_dep, wp_dep, pipewire_dep] --common_env = common_test_env --common_env.set('G_TEST_SRCDIR', meson.current_source_dir()) --common_env.set('G_TEST_BUILDDIR', meson.current_build_dir()) -+common_env = environment({ -+ 'G_TEST_SRCDIR': meson.current_source_dir(), -+ 'G_TEST_BUILDDIR': meson.current_build_dir(), -+ 'XDG_CONFIG_HOME': meson.current_build_dir() / '.config', -+ 'WIREPLUMBER_MODULE_DIR': meson.current_build_dir() / '..' / '..' / 'modules', -+ 'WIREPLUMBER_DEBUG': '7', -+}) - common_args = [ - '-DG_LOG_USE_STRUCTURED', - ] -diff --git a/tests/wplua/meson.build b/tests/wplua/meson.build -index a7ff033..fcf4b51 100644 ---- a/tests/wplua/meson.build -+++ b/tests/wplua/meson.build -@@ -1,13 +1,18 @@ - common_deps = [wplua_dep, pipewire_dep, wp_dep] --common_env = common_test_env --common_env.set('G_TEST_SRCDIR', meson.current_source_dir()) --common_env.set('G_TEST_BUILDDIR', meson.current_build_dir()) --common_env.set('WIREPLUMBER_DATA_DIR', meson.current_source_dir()) -+common_env = environment({ -+ 'G_TEST_SRCDIR': meson.current_source_dir(), -+ 'G_TEST_BUILDDIR': meson.current_build_dir(), -+ 'WIREPLUMBER_CONFIG_DIR': '/invalid', -+ 'WIREPLUMBER_DATA_DIR': meson.current_source_dir(), -+ 'WIREPLUMBER_MODULE_DIR': meson.current_build_dir() / '..' / '..' / 'modules', -+ 'WIREPLUMBER_DEBUG': '7', -+}) - - test( - 'test-wplua', - executable('test-wplua', 'wplua.c', dependencies: common_deps), - env: common_env, -+ workdir : meson.current_source_dir(), - ) - - script_tester = executable('script-tester', -@@ -20,6 +25,7 @@ test( - script_tester, - args: ['pod.lua'], - env: common_env, -+ workdir : meson.current_source_dir(), - ) - test( - 'test-lua-json', -@@ -32,4 +38,5 @@ test( - script_tester, - args: ['monitor-rules.lua'], - env: common_env, -+ workdir : meson.current_source_dir(), - ) --- -2.35.1 - diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch deleted file mode 100644 index d20634d8b..000000000 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 8e959b7894047030edca21a04dd91994e8868a1f Mon Sep 17 00:00:00 2001 -From: Ashok Sidipotu <ashok.sidipotu@collabora.com> -Date: Fri, 25 Feb 2022 06:05:43 +0530 -Subject: [PATCH 2/2] Revert "wp-uninstalled: build this script with the meson - dirs filled in" - -This reverts commit 52aaf96179584292f493c4b329bc2c409e6d3dee. -Upstream-Status: Inappropriate[meson version dependent] ---- - meson.build | 31 ------------------------------- - wp-uninstalled.sh | 11 ++--------- - 2 files changed, 2 insertions(+), 40 deletions(-) - -diff --git a/meson.build b/meson.build -index e4323dc..185248f 100644 ---- a/meson.build -+++ b/meson.build -@@ -120,34 +120,3 @@ subdir('src') - if get_option('tests') - subdir('tests') - endif -- --conf_uninstalled = configuration_data() --conf_uninstalled.set('MESON', '') --conf_uninstalled.set('MESON_SOURCE_ROOT', meson.project_source_root()) --conf_uninstalled.set('MESON_BUILD_ROOT', meson.project_build_root()) -- --wp_uninstalled = configure_file( -- input : 'wp-uninstalled.sh', -- output : 'wp-uninstalled.sh.in', -- configuration : conf_uninstalled, --) -- --wireplumber_uninstalled = custom_target('wp-uninstalled', -- output : 'wp-uninstalled.sh', -- input : wp_uninstalled, -- build_by_default : true, -- command : ['cp', '@INPUT@', '@OUTPUT@'], --) -- --if meson.version().version_compare('>= 0.58') -- builddir = meson.project_build_root() -- srcdir = meson.project_source_root() -- -- devenv = environment({ -- 'WIREPLUMBER_MODULE_DIR': builddir / 'modules', -- 'WIREPLUMBER_CONFIG_DIR': srcdir / 'src' / 'config', -- 'WIREPLUMBER_DATA_DIR': srcdir / 'src', -- }) -- -- meson.add_devenv(devenv) --endif -diff --git a/wp-uninstalled.sh b/wp-uninstalled.sh -index 79e53f2..d6279ff 100755 ---- a/wp-uninstalled.sh -+++ b/wp-uninstalled.sh -@@ -2,15 +2,8 @@ - - set -e - --# This is unset by meson --# shellcheck disable=SC2157 --if [ -z "@MESON@" ]; then -- SOURCEDIR="@MESON_SOURCE_ROOT@" -- BUILDDIR="@MESON_BUILD_ROOT@" --else -- SOURCEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -- BUILDDIR=$(find "${SOURCEDIR}" -maxdepth 2 -name build.ninja -printf "%h\n" -quit 2>/dev/null || echo "${SOURCEDIR}/build") --fi -+SOURCEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -+BUILDDIR=${SOURCEDIR}/build - CONFIGDIR=config - - while getopts ":b:c:" opt; do --- -2.35.1 - diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch deleted file mode 100644 index 9d0c68d58..000000000 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch +++ /dev/null @@ -1,214 +0,0 @@ -From ae6c9a5e612c343dd307fe34a1a282b7a4f17a5c Mon Sep 17 00:00:00 2001 -From: Julian Bouzas <julian.bouzas@collabora.com> -Date: Wed, 9 Feb 2022 07:59:59 -0500 -Subject: [PATCH 3/3] spa-json: fix va_list APIs for different architectures - -The va_list type might not always be a pointer in some architectures, so we -cannot guarantee it will be modified after using it for a second time in another -function. This fixes the issue by using macros so args does not get copied, and -always gets modified when using it more than once. - -Upstream-Status: Backport ---- - lib/wp/spa-json.c | 156 ++++++++++++++++++++++++---------------------- - 1 file changed, 80 insertions(+), 76 deletions(-) - -diff --git a/lib/wp/spa-json.c b/lib/wp/spa-json.c -index f14f395..c5e59a3 100644 ---- a/lib/wp/spa-json.c -+++ b/lib/wp/spa-json.c -@@ -363,33 +363,33 @@ wp_spa_json_new_string (const gchar *value) - wp_spa_json_builder_new_formatted ("\"%s\"", value)); - } - --static void --wp_spa_json_builder_add_value (WpSpaJsonBuilder *self, const gchar *fmt, -- va_list args) --{ -- switch (*fmt) { -- case 'n': -- wp_spa_json_builder_add_null (self); -- break; -- case 'b': -- wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean)); -- break; -- case 'i': -- wp_spa_json_builder_add_int (self, va_arg(args, gint)); -- break; -- case 'f': -- wp_spa_json_builder_add_float (self, (float)va_arg(args, double)); -- break; -- case 's': -- wp_spa_json_builder_add_string (self, va_arg(args, const gchar *)); -- break; -- case 'J': -- wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *)); -- break; -- default: -- return; -- } --} -+/* Args is not a pointer in some architectures, so this needs to be a macro to -+ * avoid args being copied */ -+#define wp_spa_json_builder_add_value(self,fmt,args) \ -+do { \ -+ switch (*fmt) { \ -+ case 'n': \ -+ wp_spa_json_builder_add_null (self); \ -+ break; \ -+ case 'b': \ -+ wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean)); \ -+ break; \ -+ case 'i': \ -+ wp_spa_json_builder_add_int (self, va_arg(args, gint)); \ -+ break; \ -+ case 'f': \ -+ wp_spa_json_builder_add_float (self, (float)va_arg(args, double)); \ -+ break; \ -+ case 's': \ -+ wp_spa_json_builder_add_string (self, va_arg(args, const gchar *)); \ -+ break; \ -+ case 'J': \ -+ wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *)); \ -+ break; \ -+ default: \ -+ break; \ -+ } \ -+} while(false) - - /*! - * \brief Creates a spa json of type array -@@ -724,48 +724,46 @@ wp_spa_json_parse_object_valist (WpSpaJson *self, va_list args) - return res; - } - --static gboolean --wp_spa_json_parse_value (const gchar *data, int len, const gchar *fmt, -- va_list args) --{ -- switch (*fmt) { -- case 'n': -- if (!spa_json_is_null (data, len)) -- return FALSE; -- break; -- case 'b': -- if (!wp_spa_json_parse_boolean_internal (data, len, -- va_arg(args, gboolean *))) -- return FALSE; -- break; -- case 'i': -- if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0) -- return FALSE; -- break; -- case 'f': -- if (spa_json_parse_float (data, len, -- (float *)va_arg(args, double *)) < 0) -- return FALSE; -- break; -- case 's': { -- gchar *str = wp_spa_json_parse_string_internal (data, len); -- if (!str) -- return FALSE; -- *va_arg(args, gchar **) = str; -- break; -- } -- case 'J': { -- WpSpaJson *j = wp_spa_json_new (data, len); -- if (!j) -- return FALSE; -- *va_arg(args, WpSpaJson **) = j; -- break; -- } -- default: -- return FALSE; -- } -- return TRUE; --} -+/* Args is not a pointer in some architectures, so this needs to be a macro to -+ * avoid args being copied */ -+#define wp_spa_json_parse_value(data,len,fmt,args) \ -+do { \ -+ switch (*fmt) { \ -+ case 'n': \ -+ if (!spa_json_is_null (data, len)) \ -+ return FALSE; \ -+ break; \ -+ case 'b': \ -+ if (!wp_spa_json_parse_boolean_internal (data, len, \ -+ va_arg(args, gboolean *))) \ -+ return FALSE; \ -+ break; \ -+ case 'i': \ -+ if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0) \ -+ return FALSE; \ -+ break; \ -+ case 'f': \ -+ if (spa_json_parse_float (data, len, va_arg(args, float *)) < 0) \ -+ return FALSE; \ -+ break; \ -+ case 's': { \ -+ gchar *str = wp_spa_json_parse_string_internal (data, len); \ -+ if (!str) \ -+ return FALSE; \ -+ *va_arg(args, gchar **) = str; \ -+ break; \ -+ } \ -+ case 'J': { \ -+ WpSpaJson *j = wp_spa_json_new (data, len); \ -+ if (!j) \ -+ return FALSE; \ -+ *va_arg(args, WpSpaJson **) = j; \ -+ break; \ -+ } \ -+ default: \ -+ return FALSE; \ -+ } \ -+} while(false) - - /*! - * \brief Parses the object property values of a spa json object -@@ -827,8 +825,7 @@ wp_spa_json_object_get_valist (WpSpaJson *self, va_list args) - value = g_value_get_boxed (&item); - - if (g_strcmp0 (key_str, lookup_key) == 0) { -- if (!wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args)) -- return FALSE; -+ wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args); - lookup_key = va_arg(args, const gchar *); - if (!lookup_key) - return TRUE; -@@ -1366,9 +1363,12 @@ gboolean - wp_spa_json_parser_get_value (WpSpaJsonParser *self, const gchar *fmt, - va_list args) - { -- return wp_spa_json_parser_advance (self) && -- wp_spa_json_parse_value (self->curr.cur, -- self->curr.end - self->curr.cur, fmt, args); -+ if (wp_spa_json_parser_advance (self)) { -+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur, -+ fmt, args); -+ return TRUE; -+ } -+ return FALSE; - } - - /*! -@@ -1419,9 +1419,13 @@ wp_spa_json_parser_get_valist (WpSpaJsonParser *self, va_list args) - if (!format) - return TRUE; - -- /* parse value */ -- if (!wp_spa_json_parser_get_value (self, format, args)) -+ /* advance */ -+ if (!wp_spa_json_parser_advance (self)) - return FALSE; -+ -+ /* parse value */ -+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur, -+ format, args); - } while (TRUE); - - return FALSE; --- -2.35.1 - diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch deleted file mode 100644 index be1e0a527..000000000 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 61dcf8b203f26a7c25ffaccdfdd94c233c0440e9 Mon Sep 17 00:00:00 2001 -From: Ashok Sidipotu <ashok.sidipotu@collabora.com> -Date: Wed, 2 Mar 2022 06:55:37 +0530 -Subject: [PATCH] policy-endpoint-device: Fix endpoints not connected with - devices - --if device linkables are created ahead of the endpoints, - endpoints are not connected with the devices. - --rescan the endpoints on an endpoint creation. ---- - src/scripts/policy-endpoint-device.lua | 4 ++++ - 1 file changed, 4 insertions(+) - - Upstream-Status: Submitted [https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/337] - -diff --git a/src/scripts/policy-endpoint-device.lua b/src/scripts/policy-endpoint-device.lua -index c9c6ceb..0ba39b0 100644 ---- a/src/scripts/policy-endpoint-device.lua -+++ b/src/scripts/policy-endpoint-device.lua -@@ -221,6 +221,10 @@ linkables_om:connect("objects-changed", function (om) - scheduleRescan () - end) - -+endpoints_om:connect("object-added", function (om) -+ scheduleRescan () -+end) -+ - linkables_om:connect("object-removed", function (om, si) - unhandleLinkable (si) - end) --- -2.35.1 - diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb index 9504a5671..a04f115c3 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb @@ -14,18 +14,14 @@ DEPENDS = "glib-2.0 glib-2.0-native pipewire lua" SRC_URI = "\ git://gitlab.freedesktop.org/pipewire/wireplumber.git;protocol=https;branch=master \ " -# v0.4.8 -SRCREV = "e14bb72dcc85e2130d0ea96768e5ae3b375a041e" +# v0.4.17 +SRCREV = "d3eb77b292655cef333a8f4cab4e861415bc37c2" # patches to be able to compile with lower version of meson that is available in AGL. SRC_URI += "\ - file://0001-Revert-tests-add-pipewire-env-variables-when-running.patch \ - file://0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch \ - file://0003-spa-json-fix-va_list-APIs-for-different-architecture.patch \ - file://0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch \ " -PV = "0.4.8" +PV = "0.4.17" S = "${WORKDIR}/git" WPAPI="0.4" @@ -63,9 +59,9 @@ FILES:${PN} = "\ ${bindir}/wpexec \ ${libdir}/wireplumber-${WPAPI}/* \ ${datadir}/wireplumber/scripts/* \ + ${datadir}/zsh/* \ ${systemd_system_unitdir}/* \ " -RPROVIDES:${PN} += "virtual/pipewire-sessionmanager" FILES:lib${PN}-${WPAPI} = "\ ${libdir}/libwireplumber-${WPAPI}.so.* \ diff --git a/meta-pipewire/scripts/run-yocto-check-layer.sh b/meta-pipewire/scripts/run-yocto-check-layer.sh index 508d8f749..0e911a145 100755 --- a/meta-pipewire/scripts/run-yocto-check-layer.sh +++ b/meta-pipewire/scripts/run-yocto-check-layer.sh @@ -19,17 +19,24 @@ AGL_FEATURES ?= "" AGL_EXTRA_IMAGE_FSTYPES ?= "" # important settings imported from poky-agl.conf -# we do not import -DISTRO_FEATURES:append = " systemd" +# we cannot import the distro config right away +# as the initial values are poky only till the layer +# is added in + +AGL_DEFAULT_DISTRO_FEATURES = "usrmerge largefile opengl wayland pam bluetooth bluez5 3g polkit" +DISTRO_FEATURES:append = " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}" DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" EOF - -yocto-check-layer \ +yocto-check-layer --no-auto-dependency \ + --dependency \ + $AGLROOT/external/meta-openembedded/meta-oe \ -- \ $AGLROOT/meta-agl/meta-pipewire [ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl + +exit 0 diff --git a/scripts/ci-yocto-check-layer.sh b/scripts/ci-yocto-check-layer.sh new file mode 100755 index 000000000..c22114356 --- /dev/null +++ b/scripts/ci-yocto-check-layer.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e + +pushd . + +pushd meta-agl-core +./scripts/run-yocto-check-layer.sh +popd + +pushd meta-netboot +./scripts/run-yocto-check-layer.sh +popd + +pushd meta-pipewire +./scripts/run-yocto-check-layer.sh +popd + +pushd meta-app-framework +./scripts/run-yocto-check-layer.sh +popd + +popd
\ No newline at end of file diff --git a/templates/base/bblayers.conf.sample b/templates/base/bblayers.conf.sample index 8a6ff8804..e3c5fcc65 100644 --- a/templates/base/bblayers.conf.sample +++ b/templates/base/bblayers.conf.sample @@ -15,6 +15,7 @@ METADIR := "${@os.path.abspath('##OEROOT##/../..')}" YOCTO_LAYERS = " \ ${METADIR}/external/poky/meta \ ${METADIR}/external/poky/meta-poky \ + ${METADIR}/external/meta-lts-mixins_rust \ " # this is added for the boards where necessary, not globally # ${METADIR}/external/poky/meta-yocto-bsp \ @@ -25,7 +26,6 @@ YOCTO_LAYERS = " \ #----------------------------------------------------- AGL_CORE_LAYERS = " \ ${METADIR}/meta-agl/meta-agl-core \ - ${METADIR}/meta-agl/meta-agl-core-test \ ${METADIR}/meta-agl/meta-agl-bsp \ " @@ -43,6 +43,7 @@ AGL_META_FILESYSTEMS ?= "" AGL_META_MULTIMEDIA ?= "" AGL_META_VIRTUALIZATION ?= "" AGL_META_CLANG ?= "" +AGL_META_QT5 ?= "" AGL_OTHER_DEPENDENCY_LAYERS = " \ ${AGL_META_NETWORKING} \ @@ -51,6 +52,7 @@ AGL_OTHER_DEPENDENCY_LAYERS = " \ ${AGL_META_MULTIMEDIA} \ ${AGL_META_VIRTUALIZATION} \ ${AGL_META_CLANG} \ + ${AGL_META_QT5} \ " #################### diff --git a/templates/feature/agl-ci/99_local.conf.inc b/templates/feature/agl-ci/99_local.conf.inc index 93b9d5a11..1ff8c571b 100644 --- a/templates/feature/agl-ci/99_local.conf.inc +++ b/templates/feature/agl-ci/99_local.conf.inc @@ -1,4 +1,4 @@ -DISTRO_FEATURES:append = " AGLCI" +AGL_FEATURES:append = " AGLCI" # opencv seems to have a parallel make bug # ...contrib/modules/xfeatures2d/test/test_features2d.cpp:51:10: fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory PARALLEL_MAKE:pn-opencv = "-j 1" @@ -21,12 +21,12 @@ INHERIT += "buildstats" INHERIT += "buildstats-summary" # setup for PRSERV and HASHSERV -#AGL_HOST_PRSERV ?= "10.30.72.18" -#AGL_HOST_HASHSERV ?= "10.30.72.18" +AGL_HOST_PRSERV ?= "10.30.72.18" +AGL_HOST_HASHSERV ?= "10.30.72.18" -#BB_HASHSERVE = "${AGL_HOST_HASHSERV}:8686" -#BB_SIGNATURE_HANDLER = "OEEquivHash" +BB_HASHSERVE = "${AGL_HOST_HASHSERV}:8383" +BB_SIGNATURE_HANDLER = "OEEquivHash" -#PRSERV_HOST = "${AGL_HOST_PRSERV}:8585" +PRSERV_HOST = "${AGL_HOST_PRSERV}:8181" IMAGE_INSTALL:append = " curl" diff --git a/templates/feature/agl-ci/included.dep b/templates/feature/agl-ci/included.dep new file mode 100644 index 000000000..21543697b --- /dev/null +++ b/templates/feature/agl-ci/included.dep @@ -0,0 +1 @@ +agl-create-spdx diff --git a/templates/feature/agl-create-spdx/50_local.conf.inc b/templates/feature/agl-create-spdx/50_local.conf.inc new file mode 100644 index 000000000..2dd5314f3 --- /dev/null +++ b/templates/feature/agl-create-spdx/50_local.conf.inc @@ -0,0 +1,2 @@ +#see meta-agl/meta-agl/conf/include/agl-devel.inc +require conf/include/agl-create-spdx.inc diff --git a/templates/feature/agl-create-spdx/README_feature_agl-create-spdx.md b/templates/feature/agl-create-spdx/README_feature_agl-create-spdx.md new file mode 100644 index 000000000..332a9dbd5 --- /dev/null +++ b/templates/feature/agl-create-spdx/README_feature_agl-create-spdx.md @@ -0,0 +1,7 @@ +--- +description: Feature agl-create-spdx +authors: Jan-Simon Moeller <jsmoeller@linuxfoundation.rg> +--- + +### Feature agl-create-spdx +Activation of the create-spdx class in oe-core. diff --git a/templates/feature/agl-ptest/90_local.conf.inc b/templates/feature/agl-ptest/90_local.conf.inc index 6341b012a..dcaf72ab3 100644 --- a/templates/feature/agl-ptest/90_local.conf.inc +++ b/templates/feature/agl-ptest/90_local.conf.inc @@ -1,7 +1,7 @@ # Enabling ptest in image ... -OVERRIDES .= ":agl-ptest" +OVERRIDES:append = ":agl-ptest" DISTRO_FEATURES:append = " ptest" EXTRA_IMAGE_FEATURES:append = " ptest-pkgs" IMAGE_INSTALL:append = " lua-ptest xmlsec1-ptest libxml2-ptest" diff --git a/templates/feature/agl-selinux/50_bblayers.conf.inc b/templates/feature/agl-selinux/50_bblayers.conf.inc new file mode 100644 index 000000000..b17e292e9 --- /dev/null +++ b/templates/feature/agl-selinux/50_bblayers.conf.inc @@ -0,0 +1,5 @@ +AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python" + +BBLAYERS =+ " \ + ${METADIR}/external/meta-selinux \ + " diff --git a/templates/feature/agl-selinux/50_local.conf.inc b/templates/feature/agl-selinux/50_local.conf.inc new file mode 100644 index 000000000..4aaac2d14 --- /dev/null +++ b/templates/feature/agl-selinux/50_local.conf.inc @@ -0,0 +1,2 @@ +#see meta-agl/meta-agl/conf/include/agl-selinux.inc +require conf/include/agl-selinux.inc diff --git a/templates/feature/agl-selinux/README_feature_agl-selinux.md b/templates/feature/agl-selinux/README_feature_agl-selinux.md new file mode 100644 index 000000000..c48ce06b0 --- /dev/null +++ b/templates/feature/agl-selinux/README_feature_agl-selinux.md @@ -0,0 +1,9 @@ +--- +description: Feature agl-selinux +authors: Scott Murray <scott.murray@konsulko.com> +--- + +### Feature agl-selinux + +Enables building with SELinux enabled, with the default mode +being permissive. diff --git a/templates/feature/agl-weston-waltham-remoting/50_local.conf.inc b/templates/feature/agl-weston-waltham-remoting/50_local.conf.inc deleted file mode 100644 index d965eae6f..000000000 --- a/templates/feature/agl-weston-waltham-remoting/50_local.conf.inc +++ /dev/null @@ -1 +0,0 @@ -AGL_FEATURES:append = " waltham-remoting" diff --git a/templates/feature/agl-weston-waltham-remoting/README_feature_agl-weston-waltham-remoting.md b/templates/feature/agl-weston-waltham-remoting/README_feature_agl-weston-waltham-remoting.md deleted file mode 100644 index 416ff3f26..000000000 --- a/templates/feature/agl-weston-waltham-remoting/README_feature_agl-weston-waltham-remoting.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: Feature agl-weston-waltham-remoting -authors: Marius Vlad <marius.vlad@collabora.com> ---- - -### Feature agl-weston-waltham-remoting - -Enables remote display configuration using libWeston's remoting plug-in -for remote output and remote input using waltham-transmitter-plug-in. diff --git a/templates/feature/agl-weston-waltham-remoting/included.dep b/templates/feature/agl-weston-waltham-remoting/included.dep deleted file mode 100644 index 82639da07..000000000 --- a/templates/feature/agl-weston-waltham-remoting/included.dep +++ /dev/null @@ -1 +0,0 @@ -agl-demo diff --git a/templates/machine/am62xx-evm/50_bblayers.conf.inc b/templates/machine/am62xx-evm/50_bblayers.conf.inc new file mode 100644 index 000000000..6ef08c43e --- /dev/null +++ b/templates/machine/am62xx-evm/50_bblayers.conf.inc @@ -0,0 +1,5 @@ +BBLAYERS =+ "\ + ${METADIR}/bsp/meta-arm/meta-arm \ + ${METADIR}/bsp/meta-arm/meta-arm-toolchain \ + ${METADIR}/bsp/meta-ti/meta-ti-bsp \ + " diff --git a/templates/machine/am62xx-evm/50_local.conf.inc b/templates/machine/am62xx-evm/50_local.conf.inc new file mode 100644 index 000000000..782d11a76 --- /dev/null +++ b/templates/machine/am62xx-evm/50_local.conf.inc @@ -0,0 +1,3 @@ +MACHINE = "am62xx-evm" +#see meta-agl/meta-agl-bsp/conf/include/agl_am62xx-evm.inc +require conf/include/agl_am62xx-evm.inc diff --git a/templates/machine/aws-ec2-arm64/50_bblayers.conf.inc b/templates/machine/aws-ec2-arm64/50_bblayers.conf.inc new file mode 100644 index 000000000..4e619cde0 --- /dev/null +++ b/templates/machine/aws-ec2-arm64/50_bblayers.conf.inc @@ -0,0 +1,8 @@ +AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python" +AGL_META_MULTIMEDIA = "${METADIR}/external/meta-openembedded/meta-multimedia" +AGL_META_NETWORKING = "${METADIR}/external/meta-openembedded/meta-networking" +AGL_META_VIRTUALIZATION = "${METADIR}/external/meta-virtualization" + +BBLAYERS =+ "\ + ${METADIR}/bsp/meta-aws \ + " diff --git a/templates/machine/aws-ec2-arm64/50_local.conf.inc b/templates/machine/aws-ec2-arm64/50_local.conf.inc new file mode 100644 index 000000000..ca20e0bf2 --- /dev/null +++ b/templates/machine/aws-ec2-arm64/50_local.conf.inc @@ -0,0 +1,21 @@ +MACHINE = "aws-ec2-arm64" + +VIRTUAL-RUNTIME_initscripts = "systemd-compat-units" +IMAGE_INSTALL:append = " cloud-init" +DISTRO_FEATURES:append = " virtualization" + + +# can we shuffle this out so CI still works +INHERIT += "extrausers" +# Hardening: Locking the root password. Creating the user without password for ssh key-based login only +EXTRA_USERS_PARAMS = "usermod -L root; useradd -p '*' user" + +EXTRA_IMAGE_FEATURES:append = " ssh-server-openssh" + +# Forcing removal of debug-tweakes as that leads to reversing some sshd_config hardening done in our bbappend when do_rootfs runs +EXTRA_IMAGE_FEATURES:remove = "debug-tweaks" + +AGL_DEFAULT_IMAGE_FSTYPES := "wic.vhd" + +# workaround bug in cloud-init leading to empty cloud-init-systemd package +PACKAGES:pn-cloud-init:forcevariable = "cloud-init-src cloud-init-dbg cloud-init-staticdev cloud-init-dev cloud-init-doc cloud-init-locale cloud-init-systemd cloud-init" diff --git a/templates/machine/aws-ec2-x86-64/50_bblayers.conf.inc b/templates/machine/aws-ec2-x86-64/50_bblayers.conf.inc new file mode 100644 index 000000000..4e619cde0 --- /dev/null +++ b/templates/machine/aws-ec2-x86-64/50_bblayers.conf.inc @@ -0,0 +1,8 @@ +AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python" +AGL_META_MULTIMEDIA = "${METADIR}/external/meta-openembedded/meta-multimedia" +AGL_META_NETWORKING = "${METADIR}/external/meta-openembedded/meta-networking" +AGL_META_VIRTUALIZATION = "${METADIR}/external/meta-virtualization" + +BBLAYERS =+ "\ + ${METADIR}/bsp/meta-aws \ + " diff --git a/templates/machine/aws-ec2-x86-64/50_local.conf.inc b/templates/machine/aws-ec2-x86-64/50_local.conf.inc new file mode 100644 index 000000000..58b4b087d --- /dev/null +++ b/templates/machine/aws-ec2-x86-64/50_local.conf.inc @@ -0,0 +1,21 @@ +MACHINE = "aws-ec2-x86-64" + +VIRTUAL-RUNTIME_initscripts = "systemd-compat-units" +IMAGE_INSTALL:append = " cloud-init" +DISTRO_FEATURES:append = " virtualization" + + +# can we shuffle this out so CI still works +INHERIT += "extrausers" +# Hardening: Locking the root password. Creating the user without password for ssh key-based login only +EXTRA_USERS_PARAMS = "usermod -L root; useradd -p '*' user" + +EXTRA_IMAGE_FEATURES:append = " ssh-server-openssh" + +# Forcing removal of debug-tweakes as that leads to reversing some sshd_config hardening done in our bbappend when do_rootfs runs +EXTRA_IMAGE_FEATURES:remove = "debug-tweaks" + +AGL_DEFAULT_IMAGE_FSTYPES := "wic.vhd" + +# workaround bug in cloud-init leading to empty cloud-init-systemd package +PACKAGES:pn-cloud-init:forcevariable = "cloud-init-src cloud-init-dbg cloud-init-staticdev cloud-init-dev cloud-init-doc cloud-init-locale cloud-init-systemd cloud-init" diff --git a/templates/machine/bbe/50_bblayers.conf.inc b/templates/machine/bbe/50_bblayers.conf.inc index 6e6a6c951..c94c1db8f 100644 --- a/templates/machine/bbe/50_bblayers.conf.inc +++ b/templates/machine/bbe/50_bblayers.conf.inc @@ -1,7 +1,7 @@ BBLAYERS =+ " \ ${METADIR}/bsp/meta-arm/meta-arm \ ${METADIR}/bsp/meta-arm/meta-arm-toolchain \ - ${METADIR}/bsp/meta-ti \ + ${METADIR}/bsp/meta-ti/meta-ti-bsp \ ${METADIR}/bsp/meta-sancloud \ ${METADIR}/bsp/meta-rtlwifi \ " diff --git a/templates/machine/beaglebone-ai64/50_bblayers.conf.inc b/templates/machine/beaglebone-ai64/50_bblayers.conf.inc new file mode 100644 index 000000000..6ef08c43e --- /dev/null +++ b/templates/machine/beaglebone-ai64/50_bblayers.conf.inc @@ -0,0 +1,5 @@ +BBLAYERS =+ "\ + ${METADIR}/bsp/meta-arm/meta-arm \ + ${METADIR}/bsp/meta-arm/meta-arm-toolchain \ + ${METADIR}/bsp/meta-ti/meta-ti-bsp \ + " diff --git a/templates/machine/beaglebone-ai64/50_local.conf.inc b/templates/machine/beaglebone-ai64/50_local.conf.inc new file mode 100644 index 000000000..80d4aac97 --- /dev/null +++ b/templates/machine/beaglebone-ai64/50_local.conf.inc @@ -0,0 +1,3 @@ +MACHINE = "beaglebone-ai64" +#see meta-agl/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc +require conf/include/agl_beaglebone-ai64.inc diff --git a/templates/machine/beaglebone-ai64/README_machine_beaglebone-ai64.md b/templates/machine/beaglebone-ai64/README_machine_beaglebone-ai64.md new file mode 100644 index 000000000..7edf758a5 --- /dev/null +++ b/templates/machine/beaglebone-ai64/README_machine_beaglebone-ai64.md @@ -0,0 +1,9 @@ +--- +description: Machine beaglebone-ai64 +authors: Denys Dmytriyenko <denys@konsulko.com> +--- + +### Machine beaglebone-ai64 + +BeagleBoard.org BeagleBone AI-64 (uses Texas Instruments J721e/TDA4VM SoC). + diff --git a/templates/machine/beagleplay/50_bblayers.conf.inc b/templates/machine/beagleplay/50_bblayers.conf.inc new file mode 100644 index 000000000..6ef08c43e --- /dev/null +++ b/templates/machine/beagleplay/50_bblayers.conf.inc @@ -0,0 +1,5 @@ +BBLAYERS =+ "\ + ${METADIR}/bsp/meta-arm/meta-arm \ + ${METADIR}/bsp/meta-arm/meta-arm-toolchain \ + ${METADIR}/bsp/meta-ti/meta-ti-bsp \ + " diff --git a/templates/machine/beagleplay/50_local.conf.inc b/templates/machine/beagleplay/50_local.conf.inc new file mode 100644 index 000000000..334f81819 --- /dev/null +++ b/templates/machine/beagleplay/50_local.conf.inc @@ -0,0 +1,3 @@ +MACHINE = "beagleplay" +#see meta-agl/meta-agl-bsp/conf/include/agl_beagleplay.inc +require conf/include/agl_beagleplay.inc diff --git a/templates/machine/beagleplay/README_machine_beagleplay.md b/templates/machine/beagleplay/README_machine_beagleplay.md new file mode 100644 index 000000000..d4528fba2 --- /dev/null +++ b/templates/machine/beagleplay/README_machine_beagleplay.md @@ -0,0 +1,9 @@ +--- +description: Machine beagleplay +authors: Denys Dmytriyenko <denys@konsulko.com> +--- + +### Machine beagleplay + +BeagleBoard.org BeaglePlay (uses Texas Instruments AM625x SoC). + diff --git a/templates/machine/dragonboard-410c/50_bblayers.conf.inc b/templates/machine/dragonboard-410c/50_bblayers.conf.inc deleted file mode 100644 index 41fe36719..000000000 --- a/templates/machine/dragonboard-410c/50_bblayers.conf.inc +++ /dev/null @@ -1,2 +0,0 @@ -BBLAYERS =+ "${METADIR}/bsp/meta-qcom" -BBMASK += "bsp/meta-qcom/openembedded-layer/recipes-navigation/gpsd" diff --git a/templates/machine/dragonboard-410c/50_local.conf.inc b/templates/machine/dragonboard-410c/50_local.conf.inc deleted file mode 100644 index f717fd8ee..000000000 --- a/templates/machine/dragonboard-410c/50_local.conf.inc +++ /dev/null @@ -1,3 +0,0 @@ -MACHINE = "dragonboard-410c" -#see meta-agl/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc -require conf/include/agl_dragonboard-410c.inc diff --git a/templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md b/templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md deleted file mode 100644 index 047e08c28..000000000 --- a/templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: Machine dragonboard-410c -authors: Jan-Simon Möller <jsmoeller@linuxfoundation.org>, Kotaro Hashimoto <Hashimoto.Kotaro@ds.MitsubishiElectric.co.jp>, Stephane Desneux <stephane.desneux@iot.bzh> ---- - -### Machine dragonboard-410c - -*Description is missing - please complete file meta-agl/templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md* - diff --git a/templates/machine/dragonboard-820c/50_bblayers.conf.inc b/templates/machine/dragonboard-820c/50_bblayers.conf.inc deleted file mode 100644 index f3b96cbb6..000000000 --- a/templates/machine/dragonboard-820c/50_bblayers.conf.inc +++ /dev/null @@ -1 +0,0 @@ -BBLAYERS =+ "${METADIR}/bsp/meta-qcom" diff --git a/templates/machine/dragonboard-820c/50_local.conf.inc b/templates/machine/dragonboard-820c/50_local.conf.inc deleted file mode 100644 index 1cd53d60c..000000000 --- a/templates/machine/dragonboard-820c/50_local.conf.inc +++ /dev/null @@ -1,3 +0,0 @@ -MACHINE = "dragonboard-820c" -#see meta-agl/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc -require conf/include/agl_dragonboard-820c.inc diff --git a/templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md b/templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md deleted file mode 100644 index 73d9532c3..000000000 --- a/templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: Machine dragonboard-820c -authors: Jan-Simon Möller <jsmoeller@linuxfoundation.org> ---- - -### Machine dragonboard-820c - -*Description is missing - please complete file meta-agl/templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md* - diff --git a/templates/machine/hsdk/40_bblayers.conf.inc b/templates/machine/hsdk/40_bblayers.conf.inc deleted file mode 100644 index e3954fef3..000000000 --- a/templates/machine/hsdk/40_bblayers.conf.inc +++ /dev/null @@ -1,2 +0,0 @@ -# Use meta-synopsys layer for ARC HSDK board -BBLAYERS =+ "${METADIR}/bsp/meta-synopsys" diff --git a/templates/machine/hsdk/50_local.conf.inc b/templates/machine/hsdk/50_local.conf.inc deleted file mode 100644 index 61f77435e..000000000 --- a/templates/machine/hsdk/50_local.conf.inc +++ /dev/null @@ -1,2 +0,0 @@ -MACHINE = "hsdk" -require conf/include/agl_hsdk.inc diff --git a/templates/machine/hsdk/README_machine_hsdk.md b/templates/machine/hsdk/README_machine_hsdk.md deleted file mode 100644 index 30e56d13b..000000000 --- a/templates/machine/hsdk/README_machine_hsdk.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: Machine hsdk -authors: Evgeniy Didin <didin@synopsys.com>, Jan-Simon Möller <jsmoeller@linuxfoundation.org> ---- - -### Machine hsdk - -*Description is missing - please complete file meta-agl/templates/machine/hsdk/README_machine_hsdk.md* - diff --git a/templates/machine/nitrogen6x/40_bblayers.conf.inc b/templates/machine/imx8mq-evk-viv/40_bblayers.conf.inc index a4323be1a..edcb6a3a2 100644 --- a/templates/machine/nitrogen6x/40_bblayers.conf.inc +++ b/templates/machine/imx8mq-evk-viv/40_bblayers.conf.inc @@ -2,5 +2,4 @@ # recognized by meta-freescale/dynamic-layers BBLAYERS =+ "\ ${METADIR}/bsp/meta-freescale \ - ${METADIR}/bsp/meta-freescale-3rdparty \ " diff --git a/templates/machine/imx8mq-evk-viv/50_local.conf.inc b/templates/machine/imx8mq-evk-viv/50_local.conf.inc new file mode 100644 index 000000000..7504c1120 --- /dev/null +++ b/templates/machine/imx8mq-evk-viv/50_local.conf.inc @@ -0,0 +1,3 @@ +MACHINE = "imx8mq-evk" +#see meta-agl/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc +require conf/include/agl_imx8mq-evk-viv.inc diff --git a/templates/machine/nitrogen6x/50_setup.sh b/templates/machine/imx8mq-evk-viv/50_setup.sh index eefd1eb7f..eefd1eb7f 100644 --- a/templates/machine/nitrogen6x/50_setup.sh +++ b/templates/machine/imx8mq-evk-viv/50_setup.sh diff --git a/templates/machine/imx8mq-evk-viv/README_machine_imx8mq-evk-viv.md b/templates/machine/imx8mq-evk-viv/README_machine_imx8mq-evk-viv.md new file mode 100644 index 000000000..be30e00fe --- /dev/null +++ b/templates/machine/imx8mq-evk-viv/README_machine_imx8mq-evk-viv.md @@ -0,0 +1,9 @@ +--- +description: i.MX8MQ EVK with Vivante GPU driver +authors: Scott Murray <scott.murray@konsulko.com> +--- + +### Machine imx8mqevk-viv + +i.MX8MQ EVK and EVKB boards with Vivante GPU driver support. + diff --git a/templates/machine/nitrogen6x/50_local.conf.inc b/templates/machine/nitrogen6x/50_local.conf.inc deleted file mode 100644 index f8178bbd1..000000000 --- a/templates/machine/nitrogen6x/50_local.conf.inc +++ /dev/null @@ -1,3 +0,0 @@ -MACHINE = "nitrogen6x" -#see meta-agl/meta-agl-bsp/conf/include/agl_nitrogen6x.inc -require conf/include/agl_nitrogen6x.inc diff --git a/templates/machine/nitrogen6x/README_machine_nitrogen6x.md b/templates/machine/nitrogen6x/README_machine_nitrogen6x.md deleted file mode 100644 index 9994de052..000000000 --- a/templates/machine/nitrogen6x/README_machine_nitrogen6x.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: Machine nitrogen6x -authors: Jan-Simon Möller <jsmoeller@linuxfoundation.org>, Mihail Grigorov <michael.grigorov@konsulko.com>, Nathan Illerbrun <nathani@validmanufacturing.com>, Scott Murray <scott.murray@konsulko.com> ---- - -### Machine nitrogen6x - -*Description is missing - please complete file meta-agl/templates/machine/nitrogen6x/README_machine_nitrogen6x.md* - diff --git a/templates/machine/raspberrypi5/50_bblayers.conf.inc b/templates/machine/raspberrypi5/50_bblayers.conf.inc new file mode 100644 index 000000000..2e677dd8a --- /dev/null +++ b/templates/machine/raspberrypi5/50_bblayers.conf.inc @@ -0,0 +1 @@ +BBLAYERS =+ "${METADIR}/bsp/meta-raspberrypi" diff --git a/templates/machine/raspberrypi5/50_local.conf.inc b/templates/machine/raspberrypi5/50_local.conf.inc new file mode 100644 index 000000000..9ee2644ab --- /dev/null +++ b/templates/machine/raspberrypi5/50_local.conf.inc @@ -0,0 +1,4 @@ +MACHINE = "raspberrypi5" + +#see meta-agl/meta-agl-bsp/conf/include/agl_raspberrypi5.inc +require conf/include/agl_raspberrypi5.inc diff --git a/templates/machine/s4sk/50_bblayers.conf.inc b/templates/machine/s4sk/50_bblayers.conf.inc new file mode 100644 index 000000000..0cc25a9ab --- /dev/null +++ b/templates/machine/s4sk/50_bblayers.conf.inc @@ -0,0 +1,7 @@ +BBLAYERS =+ "\ + ${METADIR}/bsp/meta-renesas/meta-rcar-gateway \ + ${METADIR}/external/poky/meta-yocto-bsp \ + " + +AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python" + diff --git a/templates/machine/s4sk/50_local.conf.inc b/templates/machine/s4sk/50_local.conf.inc new file mode 100644 index 000000000..b804b3845 --- /dev/null +++ b/templates/machine/s4sk/50_local.conf.inc @@ -0,0 +1,4 @@ +MACHINE = "s4sk" +#see meta-agl/meta-agl-bsp/conf/include/agl_s4sk.inc +require conf/include/agl_s4sk.inc + diff --git a/templates/machine/s4sk/README_machine_s4sk.md b/templates/machine/s4sk/README_machine_s4sk.md new file mode 100644 index 000000000..275be67a6 --- /dev/null +++ b/templates/machine/s4sk/README_machine_s4sk.md @@ -0,0 +1,11 @@ +--- +description: Machine s4sk +authors: Loc Nguyen <loc.nguyen.wt@renesas.com> +--- + +### Machine s4sk + +Renesas RCar Gen4 "s4sk" board. + +* [R-Car S4 Starter Kit website](https://www.renesas.com/us/en/products/automotive-products/automotive-system-chips-socs/y-ask-rcar-s4-1000base-t-r-car-s4-starter-kit) +* [elinux S4 Starter Kit](https://elinux.org/R-Car/Boards/S4SK) diff --git a/templates/machine/unmatched/50_bblayers.conf.inc b/templates/machine/unmatched/50_bblayers.conf.inc new file mode 100644 index 000000000..03565bafd --- /dev/null +++ b/templates/machine/unmatched/50_bblayers.conf.inc @@ -0,0 +1,6 @@ +# This is the original place, but we need to tweak layer.conf +BBLAYERS =+ "${METADIR}/bsp/meta-sifive" + +# For now, tweak the layer's compatibility to allow using with kirkstone, +# since we know it works without major issues. +LAYERSERIES_COMPAT_meta-sifive:append = " kirkstone" diff --git a/templates/machine/unmatched/50_local.conf.inc b/templates/machine/unmatched/50_local.conf.inc new file mode 100644 index 000000000..c4d2b3ae5 --- /dev/null +++ b/templates/machine/unmatched/50_local.conf.inc @@ -0,0 +1,4 @@ +MACHINE = "unmatched" + +#see meta-agl/meta-agl-bsp/conf/include/agl_raspberrypi4.inc +require conf/include/agl_unmatched.inc |