Package Details: securefs 1.0.1-1

Git Clone URL: https://aur.archlinux.org/securefs.git (read-only, click to copy)
Package Base: securefs
Description: A filesystem in userspace (FUSE) with transparent encryption and decryption
Upstream URL: https://github.com/netheril96/securefs
Licenses: MIT
Submitter: mrxx
Maintainer: mhdi
Last Packager: mhdi
Votes: 9
Popularity: 0.024137
First Submitted: 2016-03-26 21:34 (UTC)
Last Updated: 2024-10-20 18:57 (UTC)

Latest Comments

1 2 3 4 Next › Last »

mrxx commented on 2024-05-29 22:05 (UTC)

Disowning package, feel free to adopt it and have fun with its ever changing dependencies and compilation errors.

ccorn commented on 2024-05-24 06:38 (UTC) (edited on 2024-05-24 08:56 (UTC) by ccorn)

SecureFS version 1.0.0 has been released. The new version works with current abseil-cpp and needs some more dependencies.

Posting the adapted PKGBUILD here directly because that's shorter than the diff.

pkgname=securefs
pkgver=1.0.0
pkgrel=1
pkgdesc="A better transparent encryption filesystem"
arch=('i686' 'x86_64')
url=https://github.com/netheril96/securefs
license=('MIT')
depends=('abseil-cpp' 'argon2' 'crypto++' 'fuse' 'google-fruit' 'uni-algo' 'protobuf' 'sqlite3' 'zlib')
makedepends=('cmake' 'doctest' 'git' 'pkgconf' 'python' 'tclap')
source=("git+${url}.git#tag=v${pkgver}")
sha256sums=('SKIP')

prepare() {
    cd "$pkgname"
    git submodule init && git submodule update
}

build() {
    cd "$pkgname"
    mkdir -p build && cd build
    cmake \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DSECUREFS_USE_VCPKG=OFF \
        -DSECUREFS_ENABLE_INTEGRATION_TEST=OFF \
        ..

    make
    ctest
}

package() {
    cd "$pkgname"
    DESTDIR="$pkgdir" cmake --install build
    install -Dm644 LICENSE.md ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
    install -Dm644 README.md ${pkgdir}/usr/share/doc/${pkgname}/README
}

ccorn commented on 2024-01-21 01:30 (UTC)

For an update, apply the following changes:

--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,14 +1,14 @@
 # Maintainer: mrxx <mrxx at cyberhome dot at>

 pkgname=securefs
-pkgver=0.13.1
+pkgver=0.14.3
 pkgrel=1
 pkgdesc="A better transparent encryption filesystem"
 arch=('i686' 'x86_64')
 url=https://github.com/netheril96/securefs
 license=('MIT')
-depends=('fuse' 'clang')
-makedepends=('cmake' 'git' 'python')
+depends=('abseil-cpp11' 'argon2' 'crypto++' 'fuse' 'jsoncpp' 'libutf8proc')
+makedepends=('cmake' 'doctest' 'git' 'pkgconf' 'python' 'tclap')
 source=("git+${url}.git#tag=${pkgver}")
 sha256sums=('SKIP')

@@ -20,19 +20,22 @@ prepare() {
 build() {
     cd "$pkgname"
     mkdir -p build && cd build
-    CC=clang CXX=clang++ cmake -DCMAKE_INSTALL_PREFIX=/usr -Dlibdir=/usr/lib ..
-
-    # fix regression in 0.13.0
-    sed -i 's/"-march=x86-64 -mtune=generic -O2 -pipe.*-fno-plt.*"//' external/cryptopp/CMakeFiles/{cryptest.dir/*.make,cryptopp-static.dir/*.make,cryptopp-object.dir/*.make}
+    export PKG_CONFIG_PATH=/usr/lib/abseil-cpp11/pkgconfig
+    cmake \
+        -DCMAKE_INSTALL_PREFIX=/usr \
+        -DSECUREFS_USE_VCPKG=OFF \
+        -DSECUREFS_ENABLE_INTEGRATION_TEST=OFF \
+        -Dabsl_DIR=/usr/lib/abseil-cpp11/cmake/absl \
+        -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \
+        ..

     make
-    # ctest
+    ctest
 }

 package() {
     cd "$pkgname"
-    install -Dm755 build/securefs "$pkgdir"/usr/bin/securefs
-    install -Dm755 build/securefs_test "$pkgdir"/usr/bin/securefs_test
+    DESTDIR="$pkgdir" cmake --install build
     install -Dm644 LICENSE.md ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
     install -Dm644 README.md ${pkgdir}/usr/share/doc/${pkgname}/README
 }

This depends on the AUR package abseil-cpp11 with the runpath patch.

mrxx commented on 2023-10-08 19:01 (UTC) (edited on 2023-10-08 19:03 (UTC) by mrxx)

v0.14.3 is out, but I get the following error with crypto++ and cryptopp either.

 CMake Error at CMakeLists.txt:83 (find_package):
   Could not find a package configuration file provided by "cryptopp" with any
   of the following names:

  cryptoppConfig.cmake
  cryptopp-config.cmake

 Add the installation prefix of "cryptopp" to CMAKE_PREFIX_PATH or set
 "cryptopp_DIR" to a directory containing one of the above files. If
 "cryptopp" provides a separate development package or SDK, be sure it has
 been installed.

emmieaur commented on 2022-12-01 05:54 (UTC)

Yeah, I think it will need a more generic regular expression. Just tried to build today and I got error: unknown target CPU 'native -O2 -pipe -fstack-protector-strong'. The * didn't work for me since mine lacked the -fno-plt.

mrxx commented on 2022-11-18 17:14 (UTC)

Thank you, wildcard added as suggested.

MCOfficer commented on 2022-11-09 23:43 (UTC)

Here's another edge case for the $CXX regex: unknown target CPU 'x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt'.

Can confirm that just adding another wildcard works (...-pipe.*-fno-plt"), but perhaps an even more generic regex is needed at this point.

mrxx commented on 2022-06-15 23:42 (UTC)

Thank you for the suggestion, I've included the wildcard extension to the fix.

teras commented on 2022-06-11 09:47 (UTC) (edited on 2022-06-11 09:48 (UTC) by teras)

I found the problem. The fix provided by @mrxxm actually doesn't work on my system. Instead of replacing "-march=x86-64 -mtune=generic -O2 -pipe -fno-plt" on my system the string is "-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS". Since this solution is already too hairy for me, I dared to replace with this: "-march=x86-64 -mtune=generic -O2 -pipe -fno-plt.*" (notice the wildcard) and of course it worked.

I am not sure if this should be the correct behavior, or understand why the CXX flag was messed up (and maybe report upstream to more Arch developers if they have an idea about it).

connesc commented on 2022-06-09 13:51 (UTC) (edited on 2022-06-09 13:51 (UTC) by connesc)

@teras: I observe the same behavior. I think the difference is that makepkg sets the CXXFLAGS environment variable. This is incorrectly handled somewhere and the variable gets duplicated with extraneous quotes.