diff --git a/.gitmodules b/.gitmodules index 90d89e9f48..4c9ae13d80 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "openembedded-core"] path = openembedded-core - url = http://git.openembedded.org/openembedded-core - branch = master + url = https://github.com/klihub/openembedded-core.git + branch = intel-iot-refkit/flatpak [submodule "bitbake"] path = bitbake url = http://git.openembedded.org/bitbake @@ -32,3 +32,11 @@ path = meta-clang url = https://github.com/kraj/meta-clang.git branch = krogoth +[submodule "meta-flatpak"] + path = meta-flatpak + url = https://github.com/klihub/meta-flatpak + branch = intel-iot-refkit/flatpak + ignore = untracked +[submodule "meta-gplv2"] + path = meta-gplv2 + url = https://git.yoctoproject.org/git/meta-gplv2 diff --git a/docker/build-project.sh b/docker/build-project.sh index 6468b06e5a..58a950470b 100755 --- a/docker/build-project.sh +++ b/docker/build-project.sh @@ -115,6 +115,8 @@ if [ -z "$BUILD_TARGET" ]; then (REFKIT_CI_SDK_TARGETS) _sufx=":do_populate_sdk" ;; (REFKIT_CI_ESDK_TARGETS) _sufx=":do_populate_sdk_ext" ;; (REFKIT_CI_TEST_EXPORT_TARGETS) _sufx=":do_test_iot_export" ;; + (REFKIT_CI_FLATPAK_RUNTIME_TARGETS) _sufx="-flatpak-runtime:do_test_iot_export" ;; + (REFKIT_CI_FLATPAK_SDK_TARGETS) _sufx="-flatpak-sdk" ;; (*) continue;; esac for img in `grep ${ci_var} ${WORKSPACE}/refkit_ci_vars | perl -pe 's/.+="(.*)"/\1/g; s/[^ a-zA-Z0-9_-]//g'`; do diff --git a/meta-flatpak b/meta-flatpak new file mode 160000 index 0000000000..896a7f2267 --- /dev/null +++ b/meta-flatpak @@ -0,0 +1 @@ +Subproject commit 896a7f2267502e16ea42c12006d165e26c811d9c diff --git a/meta-gplv2 b/meta-gplv2 new file mode 160000 index 0000000000..de001bd6bf --- /dev/null +++ b/meta-gplv2 @@ -0,0 +1 @@ +Subproject commit de001bd6bfcec943d274b649c62be6848cc9c3e6 diff --git a/meta-refkit/classes/refkit-image.bbclass b/meta-refkit/classes/refkit-image.bbclass index 9ea0bb69e2..d3376e223b 100644 --- a/meta-refkit/classes/refkit-image.bbclass +++ b/meta-refkit/classes/refkit-image.bbclass @@ -162,6 +162,9 @@ FEATURE_PACKAGES_tools-debug_append = " valgrind" FEATURE_PACKAGES_computervision = "packagegroup-computervision" FEATURE_PACKAGES_computervision-test = "packagegroup-computervision-test" +inherit ${@bb.utils.contains('DISTRO_FEATURES', 'flatpak', \ + 'flatpak-image', '', d)} + IMAGE_LINGUAS = " " LICENSE = "MIT" diff --git a/meta-refkit/conf/bblayers.conf.sample b/meta-refkit/conf/bblayers.conf.sample index 7f29b131ae..347e28bc99 100644 --- a/meta-refkit/conf/bblayers.conf.sample +++ b/meta-refkit/conf/bblayers.conf.sample @@ -16,6 +16,8 @@ REFKIT_LAYERS = " \ ##OEROOT##/../meta-security-isafw \ ##OEROOT##/../meta-intel-realsense \ ##OEROOT##/../meta-clang \ + ##OEROOT##/../meta-flatpak \ + ##OEROOT##/../meta-gplv2 \ " # REFKIT_LAYERS += "##OEROOT##/../meta-openembedded/meta-efl" diff --git a/meta-refkit/conf/conf-notes.txt b/meta-refkit/conf/conf-notes.txt index 4b8b31140d..20199f89df 100644 --- a/meta-refkit/conf/conf-notes.txt +++ b/meta-refkit/conf/conf-notes.txt @@ -9,3 +9,11 @@ Common targets are: refkit-image-gateway (when building an image with tools and configuration for acting as an IoT sensor gateway) + +If you enable flatpak applications (see the comments in local.conf on how to +do this), you can build two additional image variants: + -flatpak-runtime flatpak-enabled version of + -flatpak-sdk flatpak SDK runtime (OSTree repo) for the above + +You can use a -flatpak-sdk image variant on your (flatpak-enabled) host +to build flatpaks for the -flatpak-runtime image variant. diff --git a/meta-refkit/conf/distro/include/refkit-ci.inc b/meta-refkit/conf/distro/include/refkit-ci.inc index 602e2cc0a1..2eafbd5bc5 100644 --- a/meta-refkit/conf/distro/include/refkit-ci.inc +++ b/meta-refkit/conf/distro/include/refkit-ci.inc @@ -44,6 +44,9 @@ BB_GENERATE_MIRROR_TARBALLS = "1" # Configure images in "development mode". require conf/distro/include/refkit-development.inc +# Enable flatpak application support. +require conf/distro/include/flatpak-applications.inc + REFKIT_VM_IMAGE_TYPES = "wic.xz wic.zip wic.bmap wic.xz.sha256sum" # @@ -65,6 +68,17 @@ REFKIT_CI_SDK_TARGETS="" # Uses the fully-populated image to ensure that the eSDK is as complete # as possible. REFKIT_CI_ESDK_TARGETS="" +# We'll automatically enable flatpak runtime/SDK support for the +# following targets if flatpak support is enabled (by commenting out +# the corresponding require above. +REFKIT_CI_FLATPAK_RUNTIME_TARGETS = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'flatpak', \ + 'refkit-image-minimal', '', d)} \ +" +REFKIT_CI_FLATPAK_SDK_TARGETS = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'flatpak', \ + 'refkit-image-minimal', '', d)} \ +" # Following targets would be executed with do_test_iot_export task REFKIT_CI_TEST_EXPORT_TARGETS="refkit-image-common refkit-image-computervision refkit-image-gateway" # Execute automatic tests for following images with corresponding diff --git a/meta-refkit/conf/local.conf.sample b/meta-refkit/conf/local.conf.sample index ef47c55e3b..b33438afd1 100644 --- a/meta-refkit/conf/local.conf.sample +++ b/meta-refkit/conf/local.conf.sample @@ -283,6 +283,21 @@ PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" # #require conf/distro/include/refkit-production.inc +# If you'd like to enable support for flatpak applications and building +# flatpak SDK runtime repositories, which you can use on your flatpak- +# enabled host to build flatpak applications for a flatpak-enabled version +# of an image, enabled the require line below. You can build a flatpak- +# enabled version of an image by appending '-flatpak-runtime' to the image +# name. Simiarly you can build a flatpak SDK runtime for such an image +# by appending '-flatpak-sdk' to the image name. +# +# For instance, to build a flatpak-enabled version of the minimal image and +# a flatpak SDK runtime for it, use +# +# bitbake refkit-image-minimal-flatpak-runtime refkit-image-minimal-flatpak-sdk +# +#require conf/distro/include/flatpak-applications.inc + # systemd-bootchart is a useful tool to analyze and optimize a system # boot time. The tool is available in IoT Reference OS Kit and needs to be activated # by a kernel command-line parameter which requires to build a new diff --git a/openembedded-core b/openembedded-core index d68a86d87a..f42139f6b3 160000 --- a/openembedded-core +++ b/openembedded-core @@ -1 +1 @@ -Subproject commit d68a86d87aa017dd0fecb0f626d22711efefcd3f +Subproject commit f42139f6b3d7c366ef636334bf66b987ac5f3263