- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
          Require all paths passed to ShouldRun::paths to exist on disk
          #95906
        
          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
Conversation
| (rust-highfive has picked a reviewer for you, use r? to override) | 
99985f9    to
    507b798      
    Compare
  
    | @rustbot label -S-waiting-on-review +S-waiting-on-author | 
507b798    to
    0990851      
    Compare
  
    | @rustbot ready | 
        
          
                src/bootstrap/install.rs
              
                Outdated
          
        
      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.
x.py install is a bit of a mess I guess between paths and aliases. My tendency is to move towards the dist tarball names for simplicity (and maybe just universally support any of them; I suspect it might not be that hard with the relatively uniform tarball generation work @pietroalbini did a while back).
Can be a future 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.
Yeah, my impression is that x.py install isn't a super well trodden path in general - not sure who's using it. I can look into cleaning it up sometime in the next few weeks, I've been meaning to write up instructions for how to port a new architecture anyway and I suspect this will come up as part of the work. Leaving it be for now.
| @bors delegate+ r=me with changes made | 
| ✌️ @jyn514 can now approve this pull request | 
This has two benefits: 1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components). 2. Bootstrap has better checks for internal consistency. This caught several issues: - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias. - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works. - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work. - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`. - `install` was still using `src/librustc` instead of `compiler/rustc`. - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like.
0990851    to
    0db70ca      
    Compare
  
    | @bors r=Mark-Simulacrum | 
| 📌 Commit 0db70ca has been approved by  | 
…Simulacrum Require all paths passed to `ShouldRun::paths` to exist on disk This has two benefits: 1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components). 2. Bootstrap has better checks for internal consistency. This caught several issues: - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias. - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works. - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work. - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`. - `install` was still using `src/librustc` instead of `compiler/rustc`. - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like. Builds on rust-lang#95901 and should not be merged before.
…Simulacrum Require all paths passed to `ShouldRun::paths` to exist on disk This has two benefits: 1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components). 2. Bootstrap has better checks for internal consistency. This caught several issues: - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias. - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works. - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work. - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`. - `install` was still using `src/librustc` instead of `compiler/rustc`. - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like. Builds on rust-lang#95901 and should not be merged before.
| ☀️ Test successful - checks-actions | 
| Finished benchmarking commit (0516711): comparison url. Summary: 
 
 If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. 
 @rustbot label: -perf-regression Footnotes | 
This has two benefits:
src/sanitizersdoesn't exist; I changed it to just be asanitizersalias.src/tools/llddoesn't exist; I removed it, sincelldalone already works.src/llvmdoesn't exist; removed it sincellvmandsrc/llvm-projectboth work.src/lldb_batchmode.pydoesn't exist, it was moved tosrc/etc.installwas still usingsrc/librustcinstead ofcompiler/rustc.dist/installallowed usingsrc/tools/Xto build them. This might be intentional - I can change them to aliases if you like.Builds on #95901 and should not be merged before.