config: set RCLONE_CONFIG_DIR for use in config files and subprocesses

See: https://forum.rclone.org/t/relative-path-in-rclone-config-service-account-json/16693
This commit is contained in:
Nick Craig-Wood 2020-06-02 11:46:28 +01:00
parent 50e31c6636
commit b62d08d136
2 changed files with 8 additions and 4 deletions

View File

@ -1770,7 +1770,8 @@ you must create the `..._TYPE` variable as above.
### Other environment variables ### ### Other environment variables ###
* `RCLONE_CONFIG_PASS` set to contain your config file password (see [Configuration Encryption](#configuration-encryption) section) - `RCLONE_CONFIG_PASS` set to contain your config file password (see [Configuration Encryption](#configuration-encryption) section)
* `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` (or the lowercase versions thereof). - `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` (or the lowercase versions thereof).
* `HTTPS_PROXY` takes precedence over `HTTP_PROXY` for https requests. - `HTTPS_PROXY` takes precedence over `HTTP_PROXY` for https requests.
* The environment values may be either a complete URL or a "host[:port]" for, in which case the "http" scheme is assumed. - The environment values may be either a complete URL or a "host[:port]" for, in which case the "http" scheme is assumed.
- `RCLONE_CONFIG_DIR` - rclone **sets** this variable for use in config files and sub processes to point to the directory holding the config file.

View File

@ -213,6 +213,9 @@ func makeConfigPath() string {
// LoadConfig loads the config file // LoadConfig loads the config file
func LoadConfig() { func LoadConfig() {
// Set RCLONE_CONFIG_DIR for backend config and subprocesses
_ = os.Setenv("RCLONE_CONFIG_DIR", filepath.Dir(ConfigPath))
// Load configuration file. // Load configuration file.
var err error var err error
configFile, err = loadConfigFile() configFile, err = loadConfigFile()