diff options
author | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2020-12-08 11:12:45 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2020-12-17 13:59:52 +0000 |
commit | 1c3c06842ac1b9c089d0a08e91c60f44e4844fac (patch) | |
tree | 21e97368be8f78a3e76b66dfda24c1d5e774519f /meta-agl-profile-core/recipes-core/distro-build-manifest | |
parent | c1e048fc05542d859115990312e0753ce2dea72e (diff) |
SPEC-3723: restructure meta-agl
Goal is to reach a minimal meta-agl-core as base for IVI and IC work at the same time.
Trim dependencies and move most 'demo' related recipes to meta-agl-demo.
v2: changed to bbapend + .inc , added description
v3: testbuild of all images
v4: restore -test packagegroup and -qa images, compare manifests and adapt packagegroups.
v5: rebased
v6: merged meta-agl-distro into meta-agl-core,
due to dependency on meta-oe, moved -test packagegroup and -qa images
to own layer meta-agl-core-test
v7: Fixed comments from Paul Barker
v8: Update the markdown files
v9: restore wayland/weston/agl-compositor recipes/appends, reworked to
move app f/w specific changes to bbappends in meta-app-framework and
only demo specific weston-init changes to meta-agl-demo
v10: fix s/agldemo/aglcore/ missed in weston-init.bbappend
Description:
This patch is part 1 out of 2 large patches that implement the layer rework
discussed during the previous workshop. Essentially meta-agl-core is the
small but versatile new core layer of AGL serving as basis for
the work done by the IC and IVI EGs.
All demo related work is moved to meta-agl-demo in the 2nd patchset.
This should be applied together as atomic change.
The resulting meta-agl/* follows these guidelines:
- only bsp adaptations in meta-agl-bsp
- remove the agl-profile-* layers for simplicity
-- the packagegroup-agl(-profile)-graphical and so on
have been kept in meta-agl-demo
- meta-agl-profile-core is now meta-agl-core
- meta-agl-core does pass yocto-check-layer
-- therefore use the bbappend + conditional + .inc file
construct found in meta-virtualization
- meta-agl/meta-security has been merged into meta-agl/meta-app-framework
- meta-netboot does pass yocto-check-layer
- meta-pipewire does pass yocto-check-layer
Migration:
All packagegroups are preserved but they're now enabled by 'agl-demo'.
Bug-AGL: SPEC-3723
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ia6c6e5e6ce2b4ffa69ea94959cdc57c310ba7c53
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25769
Diffstat (limited to 'meta-agl-profile-core/recipes-core/distro-build-manifest')
-rw-r--r-- | meta-agl-profile-core/recipes-core/distro-build-manifest/distro-build-manifest.bb | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/meta-agl-profile-core/recipes-core/distro-build-manifest/distro-build-manifest.bb b/meta-agl-profile-core/recipes-core/distro-build-manifest/distro-build-manifest.bb deleted file mode 100644 index 823cc28a1..000000000 --- a/meta-agl-profile-core/recipes-core/distro-build-manifest/distro-build-manifest.bb +++ /dev/null @@ -1,164 +0,0 @@ -SUMMARY = "Distribution build manifest" -DESCRIPTION = "The folder /etc/platform-info contains build manifest (SPEC-720)." -LICENSE = "MIT" - -# information distributed by the package is machine specific -PACKAGE_ARCH = "${MACHINE_ARCH}" - -# dependencies of ${DISTRO_MANIFEST_GENERATOR} -DEPENDS = "coreutils-native bash-native git-native gawk-native sed-native jq-native" - -# force a rebuild everytime a build is started -do_compile[nostamp] = "1" - -# borrowed to os-release.bb (output format is very close) -python do_compilestep1 () { - import shutil - with open(d.expand('${B}/bbinfo-deploy'),'w') as f: - allkeys=[] - for field in d.getVar('BUILD_MANIFEST_FIELDS_DEPLOY').split(): - key='DIST_BB_{0}'.format(field) - allkeys.append(key) - value=d.getVar(field) - if value: - f.write('{0}="{1}"\n'.format(key,value)) - f.write('declare -A BITBAKE_VARS\nBITBAKE_VARS[deploy]="%s"' % ' '.join(allkeys)) - - with open(d.expand('${B}/bbinfo-target'),'w') as f: - allkeys=[] - for field in d.getVar('BUILD_MANIFEST_FIELDS_TARGET').split(): - key='DIST_BB_{0}'.format(field) - allkeys.append(key) - value=d.getVar(field) - if value: - f.write('{0}="{1}"\n'.format(key,value)) - f.write('declare -A BITBAKE_VARS\nBITBAKE_VARS[target]="%s"' % ' '.join(allkeys)) - - with open(d.expand('${B}/bbinfo-sdk'),'w') as f: - allkeys=[] - for field in d.getVar('BUILD_MANIFEST_FIELDS_SDK').split(): - key='DIST_BB_{0}'.format(field) - allkeys.append(key) - value=d.getVar(field) - if value: - f.write('{0}="{1}"\n'.format(key,value)) - f.write('declare -A BITBAKE_VARS\nBITBAKE_VARS[sdk]="%s"' % ' '.join(allkeys)) -} - -do_compilestep2 () { - rc=99 - timestamp=${DATETIME} - outfile=${B}/build-info - if [ -x "${DISTRO_MANIFEST_GENERATOR}" -a -f "${DISTRO_SETUP_MANIFEST}" ]; then - rc=0 - for format in bash json; do - if [ "$format" = "json" ]; then - ext=".json" - else - ext="" - fi - for mode in deploy target sdk; do - ${DISTRO_MANIFEST_GENERATOR} -m $mode -f $format -t $timestamp -s ${B}/bbinfo-${mode} ${DISTRO_SETUP_MANIFEST} >${outfile}-${mode}${ext} - rc=$? - if [ $rc -ne 0 ]; then - break - fi - done - done - else - if [ -z "${DISTRO_MANIFEST_GENERATOR}" ]; then - echo "The name of the generation script is not defined." - elif [ ! -f "${DISTRO_MANIFEST_GENERATOR}" ]; then - echo "Generation script ${DISTRO_MANIFEST_GENERATOR} is missing." - elif [ ! -x "${DISTRO_MANIFEST_GENERATOR}" ]; then - echo "Generation script ${DISTRO_MANIFEST_GENERATOR} isn't executable." - fi - if [ -z "${DISTRO_SETUP_MANIFEST}" ]; then - echo "The name of the data file is not defined." - elif [ ! -f "${DISTRO_SETUP_MANIFEST}" ]; then - echo "Data file ${DISTRO_SETUP_MANIFEST} is missing." - fi - echo "You can try to rerun aglsetup.sh to solve that issue." - echo "You can also try to source agl-init-build-env instead of oe-init-build-env." - fi - - if [ "$rc" -ne 0 ]; then - echo "distro-build-manifest generation failed." - fi - return $rc -} - -do_compilestep1[vardeps] += " ${BUILD_MANIFEST_FIELDS_DEPLOY}" -do_compilestep1[vardeps] += " ${BUILD_MANIFEST_FIELDS_TARGET}" -do_compilestep1[vardeps] += " ${BUILD_MANIFEST_FIELDS_SDK}" - -# avoid errors "ERROR: When reparsing .../distro-build-manifest/distro-build-manifest.bb.do_compile, the basehash value changed from .... to .... . The metadata is not deterministic and this needs to be fixed." -do_compilestep2[vardepsexclude] = "DATETIME" - -# combine the two steps -python do_compile() { - bb.build.exec_func("do_compilestep1",d) - bb.build.exec_func("do_compilestep2",d) -} - -do_install () { - # install in target dir - install -d ${D}${sysconfdir}/platform-info - install -m 0644 build-info-target ${D}${sysconfdir}/platform-info/build - install -m 0644 build-info-target.json ${D}${sysconfdir}/platform-info/build.json - - # also copy in deploy dir - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 build-info-deploy ${DEPLOY_DIR_IMAGE}/build-info - install -m 0644 build-info-deploy.json ${DEPLOY_DIR_IMAGE}/build-info.json - - # copy into sdk deploy dir - install -d ${DEPLOY_DIR}/sdk - install -m 0644 build-info-sdk ${DEPLOY_DIR}/sdk/${SDK_NAME}.build-info - install -m 0644 build-info-sdk.json ${DEPLOY_DIR}/sdk/${SDK_NAME}.build-info.json - - # and copy to nativesdk package - # TODO -} - -# list of variables to add to the various manifests -# smalles one is 'target', then 'deploy' and finally 'sdk' -BUILD_MANIFEST_FIELDS_TARGET = "\ - MACHINE_ARCH \ - MACHINEOVERRIDES \ - MACHINE_FEATURES \ - DISTRO_CODENAME \ - DISTRO_FEATURES \ - DISTRO_BRANCH_VERSION_TAG \ - AGLVERSION \ - AGL_BRANCH \ - AGLRELEASETYPE \ -" - -BUILD_MANIFEST_FIELDS_DEPLOY = "\ - ${BUILD_MANIFEST_FIELDS_TARGET} \ - DISTRO \ - DISTRO_VERSION \ - DISTROOVERRIDES \ - TUNE_FEATURES \ - TUNE_PKGARCH \ - ALL_MULTILIB_PACKAGE_ARCHS \ -" - -BUILD_MANIFEST_FIELDS_SDK = "\ - ${BUILD_MANIFEST_FIELDS_DEPLOY} \ - HOST_SYS \ - TARGET_SYS \ - TARGET_VENDOR \ - SDK_ARCH \ - SDK_VENDOR \ - SDK_VERSION \ - SDK_OS \ -" - -# dont exec useless tasks -do_fetch[noexec] = "1" -do_unpack[noexec] = "1" -do_patch[noexec] = "1" -do_configure[noexec] = "1" - |