mirror of
https://github.com/vgough/encfs.git
synced 2024-11-24 17:03:13 +01:00
Merge pull request #376 from vgough/osx
Special case FDATASYNC check on Apple
This commit is contained in:
commit
1eb93609ce
12
.travis.yml
12
.travis.yml
@ -4,18 +4,26 @@ language: cpp
|
|||||||
|
|
||||||
sudo: true
|
sudo: true
|
||||||
|
|
||||||
|
os:
|
||||||
|
- linux
|
||||||
|
- osx
|
||||||
|
|
||||||
compiler:
|
compiler:
|
||||||
- clang
|
- clang
|
||||||
- gcc
|
- gcc
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
exclude:
|
||||||
|
- os: osx
|
||||||
|
compiler: gcc
|
||||||
|
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
- travis
|
- travis
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- sudo modprobe fuse
|
- ./ci/setup.sh
|
||||||
- cmake --version
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- ./ci/check.sh
|
- ./ci/check.sh
|
||||||
|
@ -97,7 +97,12 @@ check_cxx_source_compiles ("#include <sys/types.h>
|
|||||||
include (CheckFuncs)
|
include (CheckFuncs)
|
||||||
check_function_exists_glibc (lchmod HAVE_LCHMOD)
|
check_function_exists_glibc (lchmod HAVE_LCHMOD)
|
||||||
check_function_exists_glibc (utimensat HAVE_UTIMENSAT)
|
check_function_exists_glibc (utimensat HAVE_UTIMENSAT)
|
||||||
check_function_exists_glibc (fdatasync HAVE_FDATASYNC)
|
if (APPLE)
|
||||||
|
message ("-- There is no usable FDATASYNC on Apple")
|
||||||
|
set(HAVE_FDATASYNC FALSE)
|
||||||
|
else()
|
||||||
|
check_function_exists_glibc (fdatasync HAVE_FDATASYNC)
|
||||||
|
endif (APPLE)
|
||||||
|
|
||||||
set (CMAKE_THREAD_PREFER_PTHREAD)
|
set (CMAKE_THREAD_PREFER_PTHREAD)
|
||||||
find_package (Threads REQUIRED)
|
find_package (Threads REQUIRED)
|
||||||
|
2
build.sh
2
build.sh
@ -7,7 +7,7 @@ if [[ ! -d build ]]
|
|||||||
then
|
then
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake ..
|
cmake .. $*
|
||||||
cd ..
|
cd ..
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
11
ci/check.sh
11
ci/check.sh
@ -1,12 +1,19 @@
|
|||||||
#!/bin/bash -eu
|
#!/bin/bash -eu
|
||||||
|
|
||||||
|
cmake --version
|
||||||
|
|
||||||
|
CFG=""
|
||||||
|
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||||
|
CFG="-DENABLE_NLS=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ! -d build ]]
|
if [[ ! -d build ]]
|
||||||
then
|
then
|
||||||
mkdir build
|
mkdir build
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
cmake ..
|
cmake .. ${CFG}
|
||||||
make -j2
|
make -j2
|
||||||
make test
|
make test
|
||||||
|
|
||||||
|
10
ci/setup.sh
Executable file
10
ci/setup.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash -eu
|
||||||
|
|
||||||
|
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
||||||
|
sudo modprobe fuse
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||||
|
brew cask install osxfuse
|
||||||
|
fi
|
||||||
|
|
@ -258,7 +258,7 @@ int FileNode::sync(bool datasync) {
|
|||||||
int fh = io->open(O_RDONLY);
|
int fh = io->open(O_RDONLY);
|
||||||
if (fh >= 0) {
|
if (fh >= 0) {
|
||||||
int res = -EIO;
|
int res = -EIO;
|
||||||
#ifdef linux
|
#if defined(HAVE_FDATASYNC)
|
||||||
if (datasync) {
|
if (datasync) {
|
||||||
res = fdatasync(fh);
|
res = fdatasync(fh);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1035,7 +1035,7 @@ RootPtr createV6Config(EncFS_Context *ctx,
|
|||||||
alg = findCipherAlgorithm("AES", keySize);
|
alg = findCipherAlgorithm("AES", keySize);
|
||||||
|
|
||||||
// If case-insensitive system, opt for Block32 filename encoding
|
// If case-insensitive system, opt for Block32 filename encoding
|
||||||
#if DEFAULT_CASE_INSENSITIVE
|
#if defined(DEFAULT_CASE_INSENSITIVE)
|
||||||
nameIOIface = BlockNameIO::CurrentInterface(true);
|
nameIOIface = BlockNameIO::CurrentInterface(true);
|
||||||
#else
|
#else
|
||||||
nameIOIface = BlockNameIO::CurrentInterface();
|
nameIOIface = BlockNameIO::CurrentInterface();
|
||||||
|
Loading…
Reference in New Issue
Block a user