mirror of https://github.com/borgbackup/borg.git
Merge pull request #3262 from ThomasWaldmann/add_borg_config_dir-1.1
add borg config dir (1.1-maint)
This commit is contained in:
commit
8e18bf1995
|
@ -197,6 +197,8 @@ Directories and files:
|
||||||
BORG_CACHE_DIR
|
BORG_CACHE_DIR
|
||||||
Default to '~/.cache/borg'. This directory contains the local cache and might need a lot
|
Default to '~/.cache/borg'. This directory contains the local cache and might need a lot
|
||||||
of space for dealing with big repositories).
|
of space for dealing with big repositories).
|
||||||
|
BORG_CONFIG_DIR
|
||||||
|
Default to '~/.config/borg'. This directory contains the whole config directories.
|
||||||
|
|
||||||
Building:
|
Building:
|
||||||
BORG_OPENSSL_PREFIX
|
BORG_OPENSSL_PREFIX
|
||||||
|
|
|
@ -482,8 +482,7 @@ def get_home_dir():
|
||||||
def get_keys_dir():
|
def get_keys_dir():
|
||||||
"""Determine where to repository keys and cache"""
|
"""Determine where to repository keys and cache"""
|
||||||
|
|
||||||
xdg_config = os.environ.get('XDG_CONFIG_HOME', os.path.join(get_home_dir(), '.config'))
|
keys_dir = os.environ.get('BORG_KEYS_DIR', os.path.join(get_config_dir(), 'keys'))
|
||||||
keys_dir = os.environ.get('BORG_KEYS_DIR', os.path.join(xdg_config, 'borg', 'keys'))
|
|
||||||
if not os.path.exists(keys_dir):
|
if not os.path.exists(keys_dir):
|
||||||
os.makedirs(keys_dir)
|
os.makedirs(keys_dir)
|
||||||
os.chmod(keys_dir, stat.S_IRWXU)
|
os.chmod(keys_dir, stat.S_IRWXU)
|
||||||
|
@ -492,8 +491,7 @@ def get_keys_dir():
|
||||||
|
|
||||||
def get_security_dir(repository_id=None):
|
def get_security_dir(repository_id=None):
|
||||||
"""Determine where to store local security information."""
|
"""Determine where to store local security information."""
|
||||||
xdg_config = os.environ.get('XDG_CONFIG_HOME', os.path.join(get_home_dir(), '.config'))
|
security_dir = os.environ.get('BORG_SECURITY_DIR', os.path.join(get_config_dir(), 'security'))
|
||||||
security_dir = os.environ.get('BORG_SECURITY_DIR', os.path.join(xdg_config, 'borg', 'security'))
|
|
||||||
if repository_id:
|
if repository_id:
|
||||||
security_dir = os.path.join(security_dir, repository_id)
|
security_dir = os.path.join(security_dir, repository_id)
|
||||||
if not os.path.exists(security_dir):
|
if not os.path.exists(security_dir):
|
||||||
|
@ -519,6 +517,16 @@ def get_cache_dir():
|
||||||
return cache_dir
|
return cache_dir
|
||||||
|
|
||||||
|
|
||||||
|
def get_config_dir():
|
||||||
|
"""Determine where to store whole config"""
|
||||||
|
xdg_config = os.environ.get('XDG_CONFIG_HOME', os.path.join(get_home_dir(), '.config'))
|
||||||
|
config_dir = os.environ.get('BORG_CONFIG_DIR', os.path.join(xdg_config, 'borg'))
|
||||||
|
if not os.path.exists(config_dir):
|
||||||
|
os.makedirs(config_dir)
|
||||||
|
os.chmod(config_dir, stat.S_IRWXU)
|
||||||
|
return config_dir
|
||||||
|
|
||||||
|
|
||||||
def to_localtime(ts):
|
def to_localtime(ts):
|
||||||
"""Convert datetime object from UTC to local time zone"""
|
"""Convert datetime object from UTC to local time zone"""
|
||||||
return datetime(*time.localtime((ts - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds())[:6])
|
return datetime(*time.localtime((ts - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds())[:6])
|
||||||
|
|
|
@ -18,7 +18,7 @@ from ..helpers import Buffer
|
||||||
from ..helpers import partial_format, format_file_size, parse_file_size, format_timedelta, format_line, PlaceholderError, replace_placeholders
|
from ..helpers import partial_format, format_file_size, parse_file_size, format_timedelta, format_line, PlaceholderError, replace_placeholders
|
||||||
from ..helpers import make_path_safe, clean_lines
|
from ..helpers import make_path_safe, clean_lines
|
||||||
from ..helpers import interval, prune_within, prune_split
|
from ..helpers import interval, prune_within, prune_split
|
||||||
from ..helpers import get_cache_dir, get_keys_dir, get_security_dir
|
from ..helpers import get_cache_dir, get_keys_dir, get_security_dir, get_config_dir
|
||||||
from ..helpers import is_slow_msgpack
|
from ..helpers import is_slow_msgpack
|
||||||
from ..helpers import yes, TRUISH, FALSISH, DEFAULTISH
|
from ..helpers import yes, TRUISH, FALSISH, DEFAULTISH
|
||||||
from ..helpers import StableDict, int_to_bigint, bigint_to_int, bin_to_hex
|
from ..helpers import StableDict, int_to_bigint, bigint_to_int, bin_to_hex
|
||||||
|
@ -447,6 +447,17 @@ class TestParseTimestamp(BaseTestCase):
|
||||||
self.assert_equal(parse_timestamp('2015-04-19T20:25:00'), datetime(2015, 4, 19, 20, 25, 0, 0, timezone.utc))
|
self.assert_equal(parse_timestamp('2015-04-19T20:25:00'), datetime(2015, 4, 19, 20, 25, 0, 0, timezone.utc))
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_config_dir(monkeypatch):
|
||||||
|
"""test that get_config_dir respects environment"""
|
||||||
|
monkeypatch.delenv('BORG_CONFIG_DIR', raising=False)
|
||||||
|
monkeypatch.delenv('XDG_CONFIG_HOME', raising=False)
|
||||||
|
assert get_config_dir() == os.path.join(os.path.expanduser('~'), '.config', 'borg')
|
||||||
|
monkeypatch.setenv('XDG_CONFIG_HOME', '/var/tmp/.config')
|
||||||
|
assert get_config_dir() == os.path.join('/var/tmp/.config', 'borg')
|
||||||
|
monkeypatch.setenv('BORG_CONFIG_DIR', '/var/tmp')
|
||||||
|
assert get_config_dir() == '/var/tmp'
|
||||||
|
|
||||||
|
|
||||||
def test_get_cache_dir(monkeypatch):
|
def test_get_cache_dir(monkeypatch):
|
||||||
"""test that get_cache_dir respects environment"""
|
"""test that get_cache_dir respects environment"""
|
||||||
monkeypatch.delenv('BORG_CACHE_DIR', raising=False)
|
monkeypatch.delenv('BORG_CACHE_DIR', raising=False)
|
||||||
|
|
Loading…
Reference in New Issue