diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2022-02-16 19:55:10 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2022-02-17 01:58:57 -0300 |
| commit | 7b61fda916ed40589896e067127e9c6c35730b07 (patch) | |
| tree | fa6a03f8cfec2a8ed982c301f73c93218e638ee5 /src | |
| parent | 48babcc745639f417c87c08cbaf989b9f0e7fc01 (diff) | |
| download | luarocks-7b61fda916ed40589896e067127e9c6c35730b07.tar.gz luarocks-7b61fda916ed40589896e067127e9c6c35730b07.tar.bz2 luarocks-7b61fda916ed40589896e067127e9c6c35730b07.zip | |
Always produce a default config if cfg.init() fails loading a file
This ensures that luarocks.loader() gets a baseline configuration
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/core/cfg.lua | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua index f0e5aa93..9059098a 100644 --- a/src/luarocks/core/cfg.lua +++ b/src/luarocks/core/cfg.lua | |||
| @@ -562,6 +562,10 @@ local cfg = {} | |||
| 562 | function cfg.init(detected, warning) | 562 | function cfg.init(detected, warning) |
| 563 | detected = detected or {} | 563 | detected = detected or {} |
| 564 | 564 | ||
| 565 | local exit_ok = true | ||
| 566 | local exit_err = nil | ||
| 567 | local exit_what = nil | ||
| 568 | |||
| 565 | local hc_ok, hardcoded = pcall(require, "luarocks.core.hardcoded") | 569 | local hc_ok, hardcoded = pcall(require, "luarocks.core.hardcoded") |
| 566 | if not hc_ok then | 570 | if not hc_ok then |
| 567 | hardcoded = {} | 571 | hardcoded = {} |
| @@ -670,7 +674,7 @@ function cfg.init(detected, warning) | |||
| 670 | sys_config_file = (cfg.sysconfdir .. "/" .. config_file_name):gsub("\\", "/") | 674 | sys_config_file = (cfg.sysconfdir .. "/" .. config_file_name):gsub("\\", "/") |
| 671 | local sys_config_ok, err = load_config_file(cfg, platforms, sys_config_file) | 675 | local sys_config_ok, err = load_config_file(cfg, platforms, sys_config_file) |
| 672 | if err then | 676 | if err then |
| 673 | return nil, err, "config" | 677 | exit_ok, exit_err, exit_what = nil, err, "config" |
| 674 | end | 678 | end |
| 675 | 679 | ||
| 676 | -- Load user configuration file (if allowed) | 680 | -- Load user configuration file (if allowed) |
| @@ -687,7 +691,7 @@ function cfg.init(detected, warning) | |||
| 687 | if env_value then | 691 | if env_value then |
| 688 | local env_ok, err = load_config_file(cfg, platforms, env_value) | 692 | local env_ok, err = load_config_file(cfg, platforms, env_value) |
| 689 | if err then | 693 | if err then |
| 690 | return nil, err, "config" | 694 | exit_ok, exit_err, exit_what = nil, err, "config" |
| 691 | elseif warning and not env_ok then | 695 | elseif warning and not env_ok then |
| 692 | warning("Warning: could not load configuration file `"..env_value.."` given in environment variable "..env_var.."\n") | 696 | warning("Warning: could not load configuration file `"..env_value.."` given in environment variable "..env_var.."\n") |
| 693 | end | 697 | end |
| @@ -704,7 +708,7 @@ function cfg.init(detected, warning) | |||
| 704 | home_config_file = (cfg.homeconfdir .. "/" .. config_file_name):gsub("\\", "/") | 708 | home_config_file = (cfg.homeconfdir .. "/" .. config_file_name):gsub("\\", "/") |
| 705 | home_config_ok, err = load_config_file(cfg, platforms, home_config_file) | 709 | home_config_ok, err = load_config_file(cfg, platforms, home_config_file) |
| 706 | if err then | 710 | if err then |
| 707 | return nil, err, "config" | 711 | exit_ok, exit_err, exit_what = nil, err, "config" |
| 708 | end | 712 | end |
| 709 | end | 713 | end |
| 710 | 714 | ||
| @@ -714,7 +718,7 @@ function cfg.init(detected, warning) | |||
| 714 | home_config_file = (cfg.homeconfdir .. "/" .. config_file_name):gsub("\\", "/") | 718 | home_config_file = (cfg.homeconfdir .. "/" .. config_file_name):gsub("\\", "/") |
| 715 | home_config_ok, err = load_config_file(cfg, platforms, home_config_file) | 719 | home_config_ok, err = load_config_file(cfg, platforms, home_config_file) |
| 716 | if err then | 720 | if err then |
| 717 | return nil, err, "config" | 721 | exit_ok, exit_err, exit_what = nil, err, "config" |
| 718 | end | 722 | end |
| 719 | end | 723 | end |
| 720 | 724 | ||
| @@ -723,7 +727,7 @@ function cfg.init(detected, warning) | |||
| 723 | project_config_file = cfg.project_dir .. "/.luarocks/" .. config_file_name | 727 | project_config_file = cfg.project_dir .. "/.luarocks/" .. config_file_name |
| 724 | project_config_ok, err = load_config_file(cfg, platforms, project_config_file) | 728 | project_config_ok, err = load_config_file(cfg, platforms, project_config_file) |
| 725 | if err then | 729 | if err then |
| 726 | return nil, err, "config" | 730 | exit_ok, exit_err, exit_what = nil, err, "config" |
| 727 | end | 731 | end |
| 728 | end | 732 | end |
| 729 | end | 733 | end |
| @@ -876,7 +880,7 @@ function cfg.init(detected, warning) | |||
| 876 | return table.concat(platform_keys, ", ") | 880 | return table.concat(platform_keys, ", ") |
| 877 | end | 881 | end |
| 878 | 882 | ||
| 879 | return true | 883 | return exit_ok, exit_err, exit_what |
| 880 | end | 884 | end |
| 881 | 885 | ||
| 882 | return cfg | 886 | return cfg |
