Don't run under sudo
This commit is contained in:
parent
36fbe5bba5
commit
9393c1d80e
2 changed files with 29 additions and 1 deletions
|
|
@ -537,6 +537,7 @@ print( 'OS = ' + OS )
|
||||||
print( 'gadget_dir = ' + gadget_dir )
|
print( 'gadget_dir = ' + gadget_dir )
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
|
formatter_class = argparse.RawDescriptionHelpFormatter,
|
||||||
description = 'Install DAP Servers for use with Vimspector.',
|
description = 'Install DAP Servers for use with Vimspector.',
|
||||||
epilog =
|
epilog =
|
||||||
"""
|
"""
|
||||||
|
|
@ -548,6 +549,12 @@ parser = argparse.ArgumentParser(
|
||||||
|
|
||||||
The format of the file can be found on the Vimspector reference guide:
|
The format of the file can be found on the Vimspector reference guide:
|
||||||
https://puremourning.github.io/vimspector
|
https://puremourning.github.io/vimspector
|
||||||
|
|
||||||
|
NOTE: This script should usually _not_ be run under `sudo` or as root. It
|
||||||
|
downloads and extracts things only to directories under its own path. No
|
||||||
|
system files or folders are chnaged by this script. If you really want to
|
||||||
|
run under sudo, pass --sudo, but this is _almost certainly_ the wrong thing
|
||||||
|
to do.
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
parser.add_argument( '--all',
|
parser.add_argument( '--all',
|
||||||
|
|
@ -571,6 +578,11 @@ parser.add_argument( '--enable-custom',
|
||||||
'can be supplied multiple times and each time '
|
'can be supplied multiple times and each time '
|
||||||
'multiple files can be passed.' )
|
'multiple files can be passed.' )
|
||||||
|
|
||||||
|
parser.add_argument( '--sudo',
|
||||||
|
action='store_true',
|
||||||
|
help = "If you're really really really sure you want to "
|
||||||
|
"run this as root via sudo, pass this flag." )
|
||||||
|
|
||||||
done_languages = set()
|
done_languages = set()
|
||||||
for name, gadget in GADGETS.items():
|
for name, gadget in GADGETS.items():
|
||||||
lang = gadget[ 'language' ]
|
lang = gadget[ 'language' ]
|
||||||
|
|
@ -608,6 +620,8 @@ parser.add_argument(
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
installer.AbortIfSUperUser( args.sudo )
|
||||||
|
|
||||||
if args.force_all and not args.all:
|
if args.force_all and not args.all:
|
||||||
args.all = True
|
args.all = True
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import ssl
|
||||||
import subprocess
|
import subprocess
|
||||||
import functools
|
import functools
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
from vimspector import install
|
from vimspector import install
|
||||||
|
|
||||||
|
|
@ -220,7 +221,6 @@ def MakeSymlink( in_folder, link, pointing_to ):
|
||||||
else:
|
else:
|
||||||
os.symlink( pointing_to_relative, link_path )
|
os.symlink( pointing_to_relative, link_path )
|
||||||
|
|
||||||
|
|
||||||
def CloneRepoTo( url, ref, destination ):
|
def CloneRepoTo( url, ref, destination ):
|
||||||
RemoveIfExists( destination )
|
RemoveIfExists( destination )
|
||||||
git_in_repo = [ 'git', '-C', destination ]
|
git_in_repo = [ 'git', '-C', destination ]
|
||||||
|
|
@ -231,3 +231,17 @@ def CloneRepoTo( url, ref, destination ):
|
||||||
'update',
|
'update',
|
||||||
'--init',
|
'--init',
|
||||||
'--recursive' ] )
|
'--recursive' ] )
|
||||||
|
|
||||||
|
|
||||||
|
def AbortIfSUperUser( force_sudo ):
|
||||||
|
# TODO: We should probably check the effective uid too
|
||||||
|
is_su = False
|
||||||
|
if 'SUDO_COMMAND' in os.environ:
|
||||||
|
is_su = True
|
||||||
|
|
||||||
|
if is_su:
|
||||||
|
if force_sudo:
|
||||||
|
print( "*** RUNNING AS SUPER USER DUE TO force_sudo! "
|
||||||
|
" All bets are off. ***" )
|
||||||
|
else:
|
||||||
|
sys.exit( "This script should *not* be run as super user. Aborting." )
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue