mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
DataStorage: create parent config home if it doesn't exist yet (#10382)
This situation might potentially occur in something like a Docker/Podman container or WSL. Fixes #10380.
This commit is contained in:
@@ -20,15 +20,22 @@ function DataStorage:getDataDir()
|
||||
elseif os.getenv("APPIMAGE") or os.getenv("KO_MULTIUSER") then
|
||||
if os.getenv("XDG_CONFIG_HOME") then
|
||||
data_dir = string.format("%s/%s", os.getenv("XDG_CONFIG_HOME"), "koreader")
|
||||
if lfs.attributes(os.getenv("XDG_CONFIG_HOME"), "mode") ~= "directory" then
|
||||
lfs.mkdir(os.getenv("XDG_CONFIG_HOME"))
|
||||
end
|
||||
else
|
||||
local user_rw = jit.os == "OSX" and "Library/Application Support" or ".config"
|
||||
if lfs.attributes(user_rw, "mode") ~= "directory" then
|
||||
lfs.mkdir(user_rw)
|
||||
end
|
||||
data_dir = string.format("%s/%s/%s", os.getenv("HOME"), user_rw, "koreader")
|
||||
end
|
||||
else
|
||||
data_dir = "."
|
||||
end
|
||||
if lfs.attributes(data_dir, "mode") ~= "directory" then
|
||||
lfs.mkdir(data_dir)
|
||||
local ok, err = lfs.mkdir(data_dir)
|
||||
if not ok then error(err) end
|
||||
end
|
||||
|
||||
return data_dir
|
||||
|
||||
Reference in New Issue
Block a user