Skip to content

Conversation

Lekensteyn
Copy link
Contributor

@Lekensteyn Lekensteyn commented May 3, 2019

  • Do not wipe GOROOT for every _dev/go.sh invocation.
  • Do not clone sidh and nobs repositories when only tris has changed.
  • Do not copy and rebuild stdlib when only crypto/tls has changed.
  • Avoid creating a temporary directory on every make invocation.
  • Avoid creating src/src/ when the src/ directory already exists.

Important fix for integration of Tris in external projects which use the _dev/go.sh wrapper. WIthout this fix, it would rebuild Tris for every single go invocation.

@Lekensteyn Lekensteyn requested a review from kriskwiatkowski May 3, 2019 13:09
@Lekensteyn Lekensteyn force-pushed the pwu/rebuild-fixes branch from 7926b4c to 234ff88 Compare May 3, 2019 14:24
@Lekensteyn Lekensteyn changed the title Build fixes for non-Linux, avoid unnecessary rebuilds Makefile: avoid unnecessary rebuilds of the library May 3, 2019
@Lekensteyn
Copy link
Contributor Author

Lekensteyn commented May 3, 2019

Changes since the initial PR:

  • The bogo tests failed only on 1.12 because the bogo image was using 1.11 while the outside tests use 1.12.
  • Moved another non-Linux build fix to PR Add ESNI client and server support #172 to avoid an overlap with that PR.
  • ed4428f - ensure that stdlib is not considered complete until patch succeeds.
  • 551e57e - ensure that $(GOROOT_LOCAL)/src is also wiped if Go was updated, otherwise files from old and new Go files might be mixed, resulting in the most bizarre error messages.

Initially the Makefile depended on $(GOROOT_LOCAL)/pkg under the assumption that this directory will have an older mtime whenever $(GOROOT_LOCAL)/pkg is updated. This was not the case with the bogo test and prevented the $(GOROOT_LOCAL)/src from being updated to the latest version. As a fix, now the version is included (as $(GOROOT_LOCAL)/pkg/.ok_$(VER_OS_ARCH).

@Lekensteyn Lekensteyn force-pushed the pwu/rebuild-fixes branch from 234ff88 to ed4428f Compare May 3, 2019 14:37
* Do not wipe GOROOT for every `_dev/go.sh` invocation.
* Do not clone sidh and nobs repositories when only tris has changed.
* Do not copy and rebuild stdlib when only crypto/tls has changed.
* Avoid creating a temporary directory on every make invocation.
* Avoid creating src/src/ when the src/ directory already exists.
@Lekensteyn
Copy link
Contributor Author

Hi @henrydcase, any comments on this patch? It would remove unnecessary git clones during the build and speed up development.

@Lekensteyn Lekensteyn requested a review from wbl August 9, 2019 17:23
@Lekensteyn Lekensteyn merged commit 551e57e into master Aug 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants