diff options
| author | ruki <[email protected]> | 2017-09-21 00:28:19 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-09-20 20:49:57 +0800 |
| commit | 9b3dc3d2a9250be9bfde08fbd3afadd0eb406894 (patch) | |
| tree | b7d1e4c19674892aa14e6dc1867aa13eae835386 /xmake/modules/package/manager/yum/install.lua | |
| parent | 33d847860f7f963fc47286634460dc435941c1e9 (diff) | |
add root perm to apt/yum
Diffstat (limited to 'xmake/modules/package/manager/yum/install.lua')
| -rw-r--r-- | xmake/modules/package/manager/yum/install.lua | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/xmake/modules/package/manager/yum/install.lua b/xmake/modules/package/manager/yum/install.lua index dcbffbc02..581f557e0 100644 --- a/xmake/modules/package/manager/yum/install.lua +++ b/xmake/modules/package/manager/yum/install.lua @@ -25,6 +25,7 @@ -- imports import("core.base.option") import("lib.detect.find_tool") +import("privilege.sudo") -- install package -- @@ -50,9 +51,35 @@ function main(name, opt) table.insert(argv, "--verbose") end - -- TODO sudo - -- install package - os.vrunv(yum.program, argv) + -- install package directly if the current user is root + if os.isroot() then + os.vrunv(yum.program, argv) + -- install with administrator permission? + elseif sudo.has() then + + -- get confirm + local confirm = option.get("yes") + if confirm == nil then + + -- show tips + cprint("${bright yellow}note: ${default yellow}try to install %s with administrator permission?", name) + cprint("please input: y (y/n)") + + -- get answer + io.flush() + local answer = io.read() + if answer == 'y' or answer == '' then + confirm = true + end + end + + -- install it if be confirmed + if confirm then + sudo.vrunv(yum.program, argv) + end + else + return false + end -- ok return true |
