-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
AGL build fails on Ubuntu 21.04 in distro-build-manifest with error
Exception: bb.process.ExecutionError: Execution of '.../tmp/work/virtio_aarch64-agl-linux/distro-build-manifest/1.0-r0/temp/run.do_compilestep2.894323' failed with exit code 99:
The name of the generation script is not defined.
The name of the data file is not defined.
The problem seems to be due to snippet
# special fragment to call distro-manifest-generator.sh from # meta-agl-profile-core/recipes-core/distro-build-manifest/distro-build-manifest.bb append_fragment $BUILDDIR/conf/local.conf /dev/stdin "# generated by $(realpath $BASH_SOURCE)" <<-EOF DISTRO_SETUP_MANIFEST = "$(realpath -Ls $BUILDDIR)/$SETUP_MANIFEST" DISTRO_MANIFEST_GENERATOR = "$(dirname $(realpath $BASH_SOURCE))/distro-manifest-generator.sh" EOF
in meta-agl/scripts/.aglsetup_genconfig.bash generates empty fragment
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # fragment { # # generated by .../meta-agl/scripts/.aglsetup_genconfig.bash # # } # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
I have found that
[[ -f /dev/stdin ]]
fails in append_fragment.
Very similar problem is described here: https://github.com/containers/podman/issues/6659#issuecomment-661199469
Looks like bash creates temporary file for heredocs and passes fd to deleted file to command that use heredocs. Somehow this worked before...
# | Subject | Branch | Project | Status | CR | V |
---|---|---|---|---|---|---|
26428,3 | aglsetup: Fix append_fragment fails with heredocs on Ubuntu 21.04. | master | AGL/meta-agl | Status: MERGED | +2 | +1 |
27020,2 | aglsetup: Fix append_fragment fails with heredocs on Ubuntu 21.04. | koi | AGL/meta-agl | Status: MERGED | +2 | +1 |