-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: allow building without scion-ci #4449
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
For context: the error occurs because building some of the tools requires cgo. Specifically, this is braccept
which uses the cgo-based gopacket/afpacket
library to write raw packets.
As I see it, the braccept
utility is solely built used for the router_multi
test, which is triggered from within bazel, and does not need the output of the scion-ci
target. As an alternative approach, I think it could make sense to just drop braccept
from the scion-ci
target.
If we decide to go for the approach with different make targets, I think it could make sense to call the non-ci variant just something plain like build
, and the variant with the CI tools something like build-dev
.
Or, something like dist-bin
could make sense for the no-CI variant; I was planning to add a make target dist-deb
for building debian packages (see WIP #4448), so this could also fit.
Reviewable status: 0 of 1 files reviewed, all discussions resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gopacket is also used by brload now.
Reviewable status: 0 of 1 files reviewed, all discussions resolved
All of these sound fine to me, no strong preference either way. I'm happy to update this PR, but feel free to just close it and include this in a separate PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. Let's just add the make target that you propose then.
My preference for the name would be something like dist
, dist-bin
, or build
(and build-dev
for the "ci" variant) -- nothing with "bazel".
Please mark the target as .PHONY
.
Reviewable status: 0 of 1 files reviewed, all discussions resolved
f687837
to
e079858
Compare
@matzf How about this version with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯
Reviewed 3 of 3 files at r2, all commit messages.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on @mlegner)
doc/dev/setup.rst
line 75 at r2 (raw file):
make .. hint:: This installs tools for tests in addition to the main SCION services (e.g., `end2end`);
Nit: I think "installs" could be mistaken here, just "build" or "compile" might be better.
e079858
to
1938a94
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 1 files at r3, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @mlegner)
The default target remains unchanged but is renamed to `build-dev`. The target `build` now only builds the main SCION services.
Head branch was pushed to by a user without write access
e6a8a93
to
247e90c
Compare
The default target remains unchanged but is renamed to `build-dev`. The target `build` now only builds the main SCION services.
My motivation for this is an error on ARM64 machines when building
scion-ci
:However, it may be interesting irrespective of this to just build the main binaries without the CI tools.
Maybe the naming could be improved, let me know what you think.
This change is