Skip to content

rustbuild shouldn't require cargo-vendor when building from tarballs #41042

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
cuviper opened this issue Apr 3, 2017 · 3 comments
Closed

rustbuild shouldn't require cargo-vendor when building from tarballs #41042

cuviper opened this issue Apr 3, 2017 · 3 comments
Labels
regression-from-stable-to-beta Performance or correctness regression from stable to beta.

Comments

@cuviper
Copy link
Member

cuviper commented Apr 3, 2017

Rustbuild uses cargo-vendor to get complete sources for the dist-src target, but this isn't needed when building from tarballs rather than git, as everything is already vendored. It breaks distro builds when it tries to install cargo-vendor, as we have no network access allowed. I see this on 1.17-beta, but 1.16 didn't deal with cargo-vendor.

I don't really even need the dist-src target anyway, as I just want to install binaries and docs, but ./x.py dist --install always requires it AFAICT, even when explicit paths are specified.
(e.g. ./x.py dist --install src/librustc src/libstd src/doc)

@est31
Copy link
Member

est31 commented Apr 3, 2017

cc @alexcrichton

@cuviper
Copy link
Member Author

cuviper commented Apr 3, 2017

I was talking to @alexcrichton about this on IRC already. I have a PR for this ready in just a moment.

@arielb1 arielb1 added regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-tools labels Apr 4, 2017
@arielb1
Copy link
Contributor

arielb1 commented Apr 4, 2017

This sounds like a regression? (should we beta-nominate the fix)?

frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 6, 2017
Only use cargo-vendor if building from git sources

The only time we need to vendor sources is when building from git.  If one is
building from a rustc source tarball, everything should already be in place.
This also matters for distros which do offline builds, as they can't install
cargo-vendor this way.

This adds a common `Build::src_is_git` flag, and then uses it in the dist-src
target to decide whether to install or use `cargo-vendor` at all.

Fixes rust-lang#41042.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 6, 2017
Only use cargo-vendor if building from git sources

The only time we need to vendor sources is when building from git.  If one is
building from a rustc source tarball, everything should already be in place.
This also matters for distros which do offline builds, as they can't install
cargo-vendor this way.

This adds a common `Build::src_is_git` flag, and then uses it in the dist-src
target to decide whether to install or use `cargo-vendor` at all.

Fixes rust-lang#41042.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 6, 2017
Only use cargo-vendor if building from git sources

The only time we need to vendor sources is when building from git.  If one is
building from a rustc source tarball, everything should already be in place.
This also matters for distros which do offline builds, as they can't install
cargo-vendor this way.

This adds a common `Build::src_is_git` flag, and then uses it in the dist-src
target to decide whether to install or use `cargo-vendor` at all.

Fixes rust-lang#41042.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 7, 2017
Only use cargo-vendor if building from git sources

The only time we need to vendor sources is when building from git.  If one is
building from a rustc source tarball, everything should already be in place.
This also matters for distros which do offline builds, as they can't install
cargo-vendor this way.

This adds a common `Build::src_is_git` flag, and then uses it in the dist-src
target to decide whether to install or use `cargo-vendor` at all.

Fixes rust-lang#41042.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 7, 2017
Only use cargo-vendor if building from git sources

The only time we need to vendor sources is when building from git.  If one is
building from a rustc source tarball, everything should already be in place.
This also matters for distros which do offline builds, as they can't install
cargo-vendor this way.

This adds a common `Build::src_is_git` flag, and then uses it in the dist-src
target to decide whether to install or use `cargo-vendor` at all.

Fixes rust-lang#41042.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
regression-from-stable-to-beta Performance or correctness regression from stable to beta.
Projects
None yet
Development

No branches or pull requests

3 participants