Software /
code /
prosody
Comparison
prosodyctl @ 12103:fc297128c33a
prosodyctl: Hide process management commands when init system should be used instead
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 21 Dec 2021 14:23:09 +0100 |
parent | 12102:949c2b52f51e |
child | 12264:ba712f7559dc |
comparison
equal
deleted
inserted
replaced
12102:949c2b52f51e | 12103:fc297128c33a |
---|---|
224 | 224 |
225 show_message(error_messages[msg]) | 225 show_message(error_messages[msg]) |
226 return 1; | 226 return 1; |
227 end | 227 end |
228 | 228 |
229 local function has_init_system() --> which | |
230 lfs = lfs or require"lfs"; | |
231 if lfs.attributes("/etc/systemd") then | |
232 return "systemd"; | |
233 elseif lfs.attributes("/etc/init.d/prosody") then | |
234 return "rc.d"; | |
235 end | |
236 end | |
237 | |
229 local function service_command_warning(service_command) | 238 local function service_command_warning(service_command) |
230 if prosody.installed and configmanager.get("*", "prosodyctl_service_warnings") ~= false then | 239 if prosody.installed and configmanager.get("*", "prosodyctl_service_warnings") ~= false then |
231 show_warning("WARNING: Use of prosodyctl start/stop/restart/reload is not recommended"); | 240 show_warning("WARNING: Use of prosodyctl start/stop/restart/reload is not recommended"); |
232 show_warning(" if Prosody is managed by an init system - use that directly instead."); | 241 show_warning(" if Prosody is managed by an init system - use that directly instead."); |
233 lfs = lfs or require"lfs"; | 242 local init = has_init_system() |
234 if lfs.attributes("/etc/systemd") then | 243 if init == "systemd" then |
235 show_warning(" e.g. systemctl %s prosody", service_command); | 244 show_warning(" e.g. systemctl %s prosody", service_command); |
236 elseif lfs.attributes("/etc/init.d/prosody") then | 245 elseif init == "rc.d" then |
237 show_warning(" e.g. /etc/init.d/prosody %s", service_command); | 246 show_warning(" e.g. /etc/init.d/prosody %s", service_command); |
238 end | 247 end |
239 show_warning(""); | 248 show_warning(""); |
240 end | 249 end |
241 end | 250 end |
674 shell = "Interact with a running Prosody", | 683 shell = "Interact with a running Prosody", |
675 } | 684 } |
676 | 685 |
677 local done = {}; | 686 local done = {}; |
678 | 687 |
688 if prosody.installed and has_init_system() then | |
689 -- Hide start, stop, restart | |
690 done[table.remove(commands_order, 2)] = true; | |
691 done[table.remove(commands_order, 2)] = true; | |
692 done[table.remove(commands_order, 2)] = true; | |
693 end | |
694 | |
679 for _, command_name in ipairs(commands_order) do | 695 for _, command_name in ipairs(commands_order) do |
680 local command_func = commands[command_name]; | 696 local command_func = commands[command_name]; |
681 if command_func then | 697 if command_func then |
682 command_func{ "--help" }; | 698 command_func{ "--help" }; |
683 done[command_name] = true; | 699 done[command_name] = true; |