diff options
Diffstat (limited to 'recipes-core/distro-build-manifest')
-rw-r--r-- | recipes-core/distro-build-manifest/distro-build-manifest.bb | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/recipes-core/distro-build-manifest/distro-build-manifest.bb b/recipes-core/distro-build-manifest/distro-build-manifest.bb deleted file mode 100644 index 823cc28a1..000000000 --- a/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" - |