borgbackup/borg/platform.py

40 lines
1.1 KiB
Python
Raw Normal View History

import errno
2016-06-30 20:07:30 -04:00
import os
import subprocess
import sys
2014-04-13 14:26:46 -04:00
2016-06-30 20:07:30 -04:00
# POSIX-only, from borg 1.1 platform.base
def sync_dir(path):
fd = os.open(path, os.O_RDONLY)
try:
os.fsync(fd)
except OSError as os_error:
# Some network filesystems don't support this and fail with EINVAL.
# Other error codes (e.g. EIO) shouldn't be silenced.
if os_error.errno != errno.EINVAL:
raise
2016-06-30 20:07:30 -04:00
finally:
os.close(fd)
# most POSIX platforms (but not Linux), see also borg 1.1 platform.base
def umount(mountpoint):
return subprocess.call(['umount', mountpoint])
if sys.platform.startswith('linux'): # pragma: linux only
from .platform_linux import acl_get, acl_set, umount, API_VERSION
elif sys.platform.startswith('freebsd'): # pragma: freebsd only
from .platform_freebsd import acl_get, acl_set, API_VERSION
elif sys.platform == 'darwin': # pragma: darwin only
from .platform_darwin import acl_get, acl_set, API_VERSION
else: # pragma: unknown platform only
API_VERSION = '1.0_01'
def acl_get(path, item, st, numeric_owner=False):
2014-04-13 14:26:46 -04:00
pass
2014-04-13 14:26:46 -04:00
def acl_set(path, item, numeric_owner=False):
pass