fix: ensure source baseenv not overwritten in local build (release-4.2) #3362
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Description of the Pull Request (PR):
Pick #3360
When building from a local image, we need to insert the base environment (default runscripts etc), into the rootfs after extracting it. This is because of an issue with
unsquashfsthat causes it to fail in the presence of certain symlinks (#3151).We also want any runscript etc. in the source image to be preservered, and not replaced with defaults.
Modify the base environment insertion to accept a bool controlling whether it overwrites any existing files. For the local image case, where we insert the baseenv after extraction, do not overwrite. In all other cases keep existing behaviour by setting overwrite to true.
This fixes or addresses the following GitHub issues:
runscriptwiped during build #3353Before submitting a PR, make sure you have done the following:
make checkand tested this PR locally with amake test, andmake testallif possible (see CONTRIBUTING.md).