Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
eepm
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
eepm
Commits
c2967451
Commit
c2967451
authored
3 years ago
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rewrite set_sudo (add return status, don' fail SUDO if nofail arg is there)
parent
947aae30
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
11 deletions
+20
-11
epm-sh-functions
bin/epm-sh-functions
+20
-11
No files found.
bin/epm-sh-functions
View file @
c2967451
...
...
@@ -294,12 +294,17 @@ info()
fi
}
SUDO_TESTED
=
"0"
SUDO_CMD
=
"sudo"
# if we have not sudo, returns 1 and set SUDO variable to fatal
SUDO_TESTED
=
''
SUDO_CMD
=
'sudo'
set_sudo
()
{
[
"
$SUDO_TESTED
"
=
"1"
]
&&
return
SUDO_TESTED
=
"1"
local
nofail
=
"
$1
"
# cache the result
[
-n
"
$SUDO_TESTED
"
]
&&
return
"
$SUDO_TESTED
"
SUDO_TESTED
=
"0"
SUDO
=
""
# skip SUDO if disabled
[
-n
"
$EPMNOSUDO
"
]
&&
return
...
...
@@ -310,28 +315,32 @@ set_sudo()
EFFUID
=
$(
id
-u
)
# do not need sudo
#
if we are root,
do not need sudo
[
$EFFUID
=
"0"
]
&&
return
# start error section
SUDO_TESTED
=
"1"
if
!
which
$SUDO_CMD
>
/dev/null 2>/dev/null
;
then
SUDO
=
"fatal 'Can't find sudo. Please install and tune sudo ('# epm install sudo') or run epm under root.'"
return
[
"
$nofail
"
=
"nofail"
]
||
SUDO
=
"fatal 'Can't find sudo. Please install and tune sudo ('# epm install sudo') or run epm under root.'"
return
"
$SUDO_TESTED
"
fi
# if input is a console
if
inputisatty
&&
isatty
&&
isatty2
;
then
if
!
$SUDO_CMD
-l
>
/dev/null
;
then
SUDO
=
"fatal 'Can't use sudo (only without password sudo is supported in non interactive using). Please run epm under root.'"
return
[
"
$nofail
"
=
"nofail"
]
||
SUDO
=
"fatal 'Can't use sudo (only without password sudo is supported in non interactive using). Please run epm under root.'"
return
"
$SUDO_TESTED
"
fi
else
# use sudo if one is tuned and tuned without password
if
!
$SUDO_CMD
-l
-n
>
/dev/null 2>/dev/null
;
then
SUDO
=
"fatal 'Can't use sudo (only without password sudo is supported). Please run epm under root.'"
return
[
"
$nofail
"
=
"nofail"
]
||
SUDO
=
"fatal 'Can't use sudo (only without password sudo is supported). Please run epm under root.'"
return
"
$SUDO_TESTED
"
fi
fi
SUDO_TESTED
=
"0"
SUDO
=
"
$SUDO_CMD
--"
# check for < 1.7 version which do not support -- (and --help possible too)
$SUDO_CMD
-h
2>/dev/null |
grep
-q
" --"
||
SUDO
=
"
$SUDO_CMD
"
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment