I recently checked out @ 2.0.0 and attempted to build it, but found the rsync step was failing because of a missing dependency in the image.
This likely would not have caused a visible issue (at least as far as the build artefacts were concerned) if the build was performed in a dirty environment in which rsync copied files had already been copied, however, it did cause issues in my (clean) environment where there were no such artefacts available. The issue was also apparent in the build messages themselves which showed that rsync was missing.
So, I fixed the Dockerfile to add the rsync dependency to the image.
I have also added a Makefile with a clean target to allow a pristine environment to be restored easily and idiomatically.
The code in this PR is built on the 2.0.0 tag but merges cleanly with master.
PR amended with commits to:
add .gitignore rules for the build products (mainly for cases where this module is used as a submodule)
fail the build in case any command fails
disable the docker run -i option in non-interactive environments
configure PROJ_LIB variable to reduce noise during test lambda execution
The final 2 commits are git foo to permit the same branch to be merged (at different points) with a branch derived from 2.0.0 or a branch derived from origin/master and both merges will succeed without conflict as will any merged derived from each.
I am, of course, happy to restructure the PR into a master only PR if this too complicated for others to follow, but until I get feedback I will leave it as is, is as this is the format I prefer to maintain it in.
For others: if you want these fixes on 2.0.0 variant, merge
c27bf0a. If you want a master variant, merge
7d8e184 (or 1c8d1f6)
I recently checked out @ 2.0.0 and attempted to build it, but found the rsync step was failing because of a missing dependency in the image.
This likely would not have caused a visible issue (at least as far as the build artefacts were concerned) if the build was performed in a dirty environment in which rsync copied files had already been copied, however, it did cause issues in my (clean) environment where there were no such artefacts available. The issue was also apparent in the build messages themselves which showed that rsync was missing.
So, I fixed the Dockerfile to add the rsync dependency to the image.
I have also added a Makefile with a clean target to allow a pristine environment to be restored easily and idiomatically.
The code in this PR is built on the 2.0.0 tag but merges cleanly with master.
PR amended with commits to:
The final 2 commits are git foo to permit the same branch to be merged (at different points) with a branch derived from 2.0.0 or a branch derived from origin/master and both merges will succeed without conflict as will any merged derived from each.
I am, of course, happy to restructure the PR into a master only PR if this too complicated for others to follow, but until I get feedback I will leave it as is, is as this is the format I prefer to maintain it in.
For others: if you want these fixes on 2.0.0 variant, merge c27bf0a. If you want a master variant, merge 7d8e184 (or 1c8d1f6)