From 2b90e45dd18d204e57c7973138e1384a5f1bcde3 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sun, 4 Sep 2016 03:01:29 +0200 Subject: [PATCH 1/2] vagrant: fix fuse permission issues on linux/freebsd, fixes #1544 --- Vagrantfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Vagrantfile b/Vagrantfile index 53ea02c3b..cf440fb5a 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -25,6 +25,8 @@ def packages_debianoid # for building borgbackup and dependencies: apt-get install -y libssl-dev libacl1-dev liblz4-dev libfuse-dev fuse pkg-config usermod -a -G fuse $username + chgrp fuse /dev/fuse + chmod 666 /dev/fuse apt-get install -y fakeroot build-essential git apt-get install -y python3-dev python3-setuptools # for building python: @@ -45,6 +47,8 @@ def packages_redhatted # for building borgbackup and dependencies: yum install -y openssl-devel openssl libacl-devel libacl lz4-devel fuse-devel fuse pkgconfig usermod -a -G fuse vagrant + chgrp fuse /dev/fuse + chmod 666 /dev/fuse yum install -y fakeroot gcc git patch # needed to compile msgpack-python (otherwise it will use slow fallback code): yum install -y gcc-c++ @@ -96,6 +100,8 @@ def packages_freebsd kldload fuse sysctl vfs.usermount=1 pw groupmod operator -M vagrant + # /dev/fuse has group operator + chmod 666 /dev/fuse touch ~vagrant/.bash_profile ; chown vagrant ~vagrant/.bash_profile # install all the (security and other) updates, packages pkg update From f9aa74e7e1a5baebc105a35323dd0c446dd56032 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sun, 4 Sep 2016 04:32:16 +0200 Subject: [PATCH 2/2] skip fuse test for borg binary + fakeroot strange: works on wheezy, blows up on xenial --- borg/testsuite/archiver.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/borg/testsuite/archiver.py b/borg/testsuite/archiver.py index 4a470c2bf..ee68f61b1 100644 --- a/borg/testsuite/archiver.py +++ b/borg/testsuite/archiver.py @@ -27,6 +27,7 @@ from ..keymanager import RepoIdMismatch, NotABorgKeyFile from ..remote import RemoteRepository, PathNotAllowed from ..repository import Repository from . import BaseTestCase, changedir, environment_variable, no_selinux +from .platform import fakeroot_detected try: import llfuse @@ -1316,6 +1317,12 @@ class ArchiverTestCaseBinary(ArchiverTestCase): def test_overwrite(self): pass + def test_fuse(self): + if fakeroot_detected(): + unittest.skip('test_fuse with the binary is not compatible with fakeroot') + else: + super().test_fuse() + class ArchiverCheckTestCase(ArchiverTestCaseBase):