summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThao Nguyen <thao.nguyen.yb@renesas.com>2017-07-15 18:34:21 +0700
committerThao Nguyen <thao.nguyen.yb@renesas.com>2017-08-25 08:45:32 +0700
commitf8e997803ce1f4af660bf527e8a47805af440baf (patch)
tree6522b7d0b98eb94b2b8a54e95f1b7b9234b80e0b
parentbc0a99ebfbe6c14c7f94b298ca89ea5e02656e78 (diff)
rcar-gen3: libegl: Create new recipe to fix build dependency issues
This commit adds libegl recipe which provides build dependencies on virtual/egl. Signed-off-by: Thuy Tran <thuy.tran.xh@rvc.renesas.com> Signed-off-by: Thao Nguyen <thao.nguyen.yb@renesas.com> Signed-off-by: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
-rw-r--r--meta-rcar-gen3/README.proprietary2
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf2
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf2
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf2
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf2
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf2
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf2
-rw-r--r--meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb2
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/libegl.bb19
9 files changed, 26 insertions, 9 deletions
diff --git a/meta-rcar-gen3/README.proprietary b/meta-rcar-gen3/README.proprietary
index ac3a958..72f916c 100644
--- a/meta-rcar-gen3/README.proprietary
+++ b/meta-rcar-gen3/README.proprietary
@@ -53,7 +53,7 @@ II/ Build with GLES
DISTRO_FEATURES_append = " pam"
PREFERRED_PROVIDER_virtual/libgles1 = ""
PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
- PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+ PREFERRED_PROVIDER_virtual/egl = "libegl"
PREFERRED_PROVIDER_virtual/libgl = ""
PREFERRED_PROVIDER_virtual/mesa = ""
PREFERRED_PROVIDER_libgbm = "libgbm"
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf
index 5e7f6f6..44c5741 100644
--- a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf
@@ -258,7 +258,7 @@ MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/
DISTRO_FEATURES_append = " pam"
PREFERRED_PROVIDER_virtual/libgles1 = ""
PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
PREFERRED_PROVIDER_virtual/libgl = ""
PREFERRED_PROVIDER_virtual/mesa = ""
PREFERRED_PROVIDER_libgbm = "libgbm"
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf
index bfe3fa4..45772ea 100644
--- a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf
@@ -258,7 +258,7 @@ MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/
DISTRO_FEATURES_append = " pam"
PREFERRED_PROVIDER_virtual/libgles1 = ""
PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
PREFERRED_PROVIDER_virtual/libgl = ""
PREFERRED_PROVIDER_virtual/mesa = ""
PREFERRED_PROVIDER_libgbm = "libgbm"
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf
index ba5a64d..89d741a 100644
--- a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf
@@ -258,7 +258,7 @@ MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/
DISTRO_FEATURES_append = " pam"
PREFERRED_PROVIDER_virtual/libgles1 = ""
PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
PREFERRED_PROVIDER_virtual/libgl = ""
PREFERRED_PROVIDER_virtual/mesa = ""
PREFERRED_PROVIDER_libgbm = "libgbm"
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf
index 8ce2402..04ef841 100644
--- a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf
@@ -258,7 +258,7 @@ MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/
DISTRO_FEATURES_append = " pam"
PREFERRED_PROVIDER_virtual/libgles1 = ""
PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
PREFERRED_PROVIDER_virtual/libgl = ""
PREFERRED_PROVIDER_virtual/mesa = ""
PREFERRED_PROVIDER_libgbm = "libgbm"
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf
index 9a80463..3c58e58 100644
--- a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf
@@ -263,7 +263,7 @@ MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/
DISTRO_FEATURES_append = " pam"
PREFERRED_PROVIDER_virtual/libgles1 = ""
PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
PREFERRED_PROVIDER_virtual/libgl = ""
PREFERRED_PROVIDER_virtual/mesa = ""
PREFERRED_PROVIDER_libgbm = "libgbm"
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf
index c8d75f3..971b546 100644
--- a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf
@@ -263,7 +263,7 @@ MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/
DISTRO_FEATURES_append = " pam"
PREFERRED_PROVIDER_virtual/libgles1 = ""
PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
PREFERRED_PROVIDER_virtual/libgl = ""
PREFERRED_PROVIDER_virtual/mesa = ""
PREFERRED_PROVIDER_libgbm = "libgbm"
diff --git a/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb
index 5c21a9f..e66164f 100644
--- a/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb
+++ b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb
@@ -105,8 +105,6 @@ RPROVIDES_${PN} += " \
libgles2-mesa-dev \
libgles2 \
libgles2-dev \
- libegl \
- libegl1 \
"
RDEPENDS_${PN} = " \
diff --git a/meta-rcar-gen3/recipes-graphics/wayland/libegl.bb b/meta-rcar-gen3/recipes-graphics/wayland/libegl.bb
new file mode 100644
index 0000000..0bde4ae
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/wayland/libegl.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Recipe for libegl"
+LICENSE = "CLOSED"
+
+DEPENDS = "gles-user-module \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgbm wayland-kms', '', d)} \
+"
+
+PR = "r0"
+
+RDEPENDS_${PN} = " \
+ gles-user-module \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgbm wayland-kms', '', d)} \
+"
+
+PROVIDES = "virtual/egl"
+RPROVIDES_${PN} += " \
+ libegl \
+ libegl1 \
+"
ardware vendors is creating applications, modules, libraries, services that will be installed to the platform. The hacker is a user that also develops application for tuning its system. The distributor is the mediator between the developer and the user. It provides The user is either the driver or a passenger of the car. The application, libraries, services are available on the platform. Some of them are in direct interaction with users. Some others, like services, are used indirectly. ### Scenarii #### Writing applications The application will receive an identifier. That identifier must have the following feature: - it must be unique to identify the application and its revisions - it should be short enough to be used with efficiency by security components of the system - it can not be stolen by malicious applications that would like to spoof the application identity - it can be sold to other company The framework provide a facility to create an asymetric key that will serve all the above purposes (it currently doesn't). Using its favorite environment, the developer produces applications for the target. Depending on its constraints either economic, technical or human, the developer chooses the language and the environment for developing the applications. This step needs to test and to debug the application on a target or on a simulator of the target. In both cases, the code should be lively inspected and changed, as well as the permissions and the security aspects. The framework will provide facilities for debugging (it currently doesn't). #### Packaging applications Currently the framework expects widgets packaged as specified by [Packaged Web Apps](http://www.w3.org/TR/widgets). When the application is ready, the developer creates a package for it. The creation of the package is made of few steps: - isolate the strict necessarily files and structure it to be children of only one root directory - sign the application with the developer key - sign the application with its application key - pack the application using zip The framework will provide facilities to package applications. Parts of the job can be done with tools provided by afm-main: - ***wgtpkg-sign*** is used to add signatures at root of the package - ***wgtpkg-pack*** is used to create the package file (with wgt extension). Currently, the ***config.xml*** file must be edited by hand. See below [Writing the config.xml](#writing-config). #### Distributing applications Normally a store will distribute the application. It will be the normal process. The distributor adds a signature to the distributed application. The added signature can allow more or less permission to applications. For example, a critical application nested in the system should have high level permissions allowing it to do things that should normally not be done (changing system configuration for example). To allow such application, the distributor must sign it using its secret private key that will unlock the requested level of permissions. Currently, the framework allows to make these steps manually using ***unzip***, ***wgtpkg-sign*** and ***wgtpkg-pack*** utilities. Applications of the store will then be available for browsing and searching over HTTP/Internet. #### Installing applications The framework will provide an API for downloading and installing an application from stores (it currently doesn't). The current version of afm allows to install widgets from local files (either pre-installed or downloaded). To install a widget, you can use either the program ***wgtpkg-installer*** while being the framework user. TO BE CONTINUED #### Launching application TO BE CONTINUED ## Writing the config.xml <a id="writing-config"/> TO BE CONTINUED For permissions: ***urn:agl:perm:...*** For plugins: ***urn:agl:plugin:...*** ## Cryptography The widgets are currently signed and checked using the library [XMLSec](https://www.aleksey.com/xmlsec). The current state isn't providing our keys. Will be done soon. TO BE CONTINUED ## Extension to the packaging specifications The widgets are specified in that W3C recommendation: [Packaged Web Apps](http://www.w3.org/TR/widgets). This model was initially designed for HTML applications. But it is well suited for other kind of applications. It relies on this specification that is the master piece of interest and the most useful part: [XML Digital Signatures for Widgets](http://www.w3.org/TR/widgets-digsig). An other specification exist that isn't either mature nor suited for managing privileges: [Web App Manifest](http://www.w3.org/TR/appmanifest). However, it may become of actuallity in some future. The main idea is to use the file ***config.xml*** as a switch for several constants. The current specifications for ***config.xml*** are allowing to describe either HTML5, QML and native applications. Using *feature*, it is also possible to define uses of libraries. For more advanced uses like: - incremental updates - multiple application packages - system updates The file ***config.xml*** may: - either, contain a root different that *widget* - or, not exist, being replaced with something else. ## Comparison with Tizen framework This package is providing few less behaviour than the following Tizen packages: - platform/appfw/app-installers - platform/core/security/cert-svc - platform/core/appfw/ail - platform/core/appfw/aul-1 - platform/core/appfw/libslp-db-util - platform/core/appfw/pkgmgr-info - platform/core/appfw/slp-pkgmgr ## Links - [Packaged Web Apps](http://www.w3.org/TR/widgets) - [XML Digital Signatures for Widgets](http://www.w3.org/TR/widgets-digsig) - [libxml2](http://xmlsoft.org/html/index.html) - [OpenSSL](https://www.openssl.org) - [XMLSec](https://www.aleksey.com/xmlsec) - [JSON-c](https://github.com/json-c/json-c) - [D-Bus](http://www.freedesktop.org/wiki/Software/dbus) - [libzip](http://www.nih.at/libzip) - [CMake](https://cmake.org) - [Security-Manager](https://wiki.tizen.org/wiki/Security/Tizen_3.X_Security_Manager) - [Web App Manifest](http://www.w3.org/TR/appmanifest)