File tree 2 files changed +11
-4
lines changed
2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -793,6 +793,8 @@ def set_dist_environment(self, url):
793
793
794
794
def check_vendored_status (self ):
795
795
"""Check that vendoring is configured properly"""
796
+ # keep this consistent with the equivalent check in rustbuild:
797
+ # https://github.com/rust-lang/rust/blob/a8a33cf27166d3eabaffc58ed3799e054af3b0c6/src/bootstrap/lib.rs#L399-L405
796
798
if 'SUDO_USER' in os .environ and not self .use_vendored_sources :
797
799
if os .getuid () == 0 :
798
800
self .use_vendored_sources = True
Original file line number Diff line number Diff line change @@ -395,13 +395,18 @@ impl Build {
395
395
let src = config. src . clone ( ) ;
396
396
let out = config. out . clone ( ) ;
397
397
398
+ #[ cfg( unix) ]
399
+ // keep this consistent with the equivalent check in x.py:
400
+ // https://github.com/rust-lang/rust/blob/a8a33cf27166d3eabaffc58ed3799e054af3b0c6/src/bootstrap/bootstrap.py#L796-L797
398
401
let is_sudo = match env:: var_os ( "SUDO_USER" ) {
399
- Some ( sudo_user ) => match env :: var_os ( "USER" ) {
400
- Some ( user ) => user != sudo_user ,
401
- None => false ,
402
- } ,
402
+ Some ( _sudo_user ) => {
403
+ let uid = unsafe { libc :: getuid ( ) } ;
404
+ uid == 0
405
+ }
403
406
None => false ,
404
407
} ;
408
+ #[ cfg( not( unix) ) ]
409
+ let is_sudo = false ;
405
410
406
411
let ignore_git = config. ignore_git ;
407
412
let rust_info = channel:: GitInfo :: new ( ignore_git, & src) ;
You can’t perform that action at this time.
0 commit comments