-
Notifications
You must be signed in to change notification settings - Fork 37.7k
depends: Make less assumptions about build env #15581
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
depends: Make less assumptions about build env #15581
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
Concept ACK |
utACK d46af06 |
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.
utACK d46af06
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.
utACK d93414c, only change since last review is adding comment
Gitian builds for commit c3b1cb9 (master):
Gitian builds for commit 73322ba (master and this pull):
|
utACK d93414c after squashing the Ran a depends build and compiled Core on macOS. tar
|
d93414c
to
f7696e6
Compare
Since autoconf already detects the correct python binary path, we should use that instead of going around it. Also has the benefit of working in extremely restricted environments where /usr/bin/env might not be available.
For normal users, --no-same-owner is default, but not so for root, where it is assumed that root can change ownership willy-nilly. This is not the case for privilege-limited container environments where we gaslight the process into thinking it's root.
Let a man use his builtins if he wants to! Also, removes the unnecessary assumption that pwd lives under /bin/pwd.
Squashed. |
re-utACK f7696e6 (only change is rebase and adding the comment) |
f7696e6 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1b depends: tar: Always extract as yourself (Carl Dong) 340ef50 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc
Enable macOS cross-compilation Includes code cherry-picked from the following upstream PRs: - bitcoin/bitcoin#7809 - The `native_cctools` fix. - bitcoin/bitcoin#8210 - The macOS toolchain bump. - bitcoin/bitcoin#9891 - bitcoin/bitcoin#15581 - The `tar` change. - bitcoin/bitcoin#16049 - The `native_cctools` change. Build instructions: - Fetch `MacOSX10.11.sdk` from e.g. https://github.com/phracker/MacOSX-SDKs/releases - Extract it into `depends/SDKs` (creating that folder first) - `HOST=x86_64-apple-darwin11 ./zcutil/build.sh`
Summary: ``` Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. ``` Backport of core [[bitcoin/bitcoin#15581 | PR15581]]. Test Plan: Run the Gitian builds. Reviewers: #bitcoin_abc, deadalnix Reviewed By: #bitcoin_abc, deadalnix Subscribers: deadalnix Differential Revision: https://reviews.bitcoinabc.org/D5614
Summary: ``` Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. ``` Backport of core [[bitcoin/bitcoin#15581 | PR15581]]. Test Plan: Run the Gitian builds. Reviewers: #bitcoin_abc, deadalnix Reviewed By: #bitcoin_abc, deadalnix Subscribers: deadalnix Differential Revision: https://reviews.bitcoinabc.org/D5614
f7696e6 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1b depends: tar: Always extract as yourself (Carl Dong) 340ef50 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc
f7696e6 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1b depends: tar: Always extract as yourself (Carl Dong) 340ef50 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc
f7696e6 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1b depends: tar: Always extract as yourself (Carl Dong) 340ef50 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc
f7696e6 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1b depends: tar: Always extract as yourself (Carl Dong) 340ef50 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc
f7696e6 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1b depends: tar: Always extract as yourself (Carl Dong) 340ef50 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc
f7696e6 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1b depends: tar: Always extract as yourself (Carl Dong) 340ef50 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc
f7696e6 depends: qt: Don't hardcode pwd path (Carl Dong) 89bee1b depends: tar: Always extract as yourself (Carl Dong) 340ef50 depends: Defer to Python detected by autoconf (Carl Dong) Pull request description: Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix. Tree-SHA512: e8618f9310a0deae864b44f9b60baa29e6225ba16817973ff7830b55798ebd4343aa06da6c1f92682a7afb709d26f80d6ee794a139d4d44c27caf4f0c8fe95fc
Removes some implicit assumptions that the depends system has about its environment and, as a side-effect, makes it possible to build the depends tree under severely privilege-limited environments such as containers built by Guix.