Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
security
encfs
encfs.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File encfs.spec of Package encfs
# # spec file for package encfs # # Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # # Perl-Test-More >= 0.31 is requires by checks but yet not present in SuSE repos %define do_checks 0 # The cmake macro for distros with cmake 3.3 cannot build encfs %define use_cmake_macro 1 %if 0%{?suse_version} == 1315 && 0%{?sle_version} == 120100 # Leap 42.1 %define use_cmake_macro 0 %endif %if 0%{?suse_version} > 1320 %ifarch ppc %define use_cmake_macro 0 %endif %endif # Leap 42.2 and Tumbleweed have tinyxml2-3. For other distribution use the # tinyxml2-3 that is shipped with encfs. %define os_has_tinyxml2 0 %if 0%{?leap_version} >= 420200 %ifarch x86_64 %define os_has_tinyxml2 1 %endif %endif %if 0%{?suse_version} > 1320 %ifnarch ppc %define os_has_tinyxml2 1 %endif %endif Name: encfs Version: 1.9.5 Release: 0 Summary: Userspace Encrypted File System License: GPL-2.0-or-later AND GPL-3.0-or-later Group: System/Filesystems URL: https://vgough.github.io/encfs/ Source: https://github.com/vgough/encfs/releases/download/v%{version}/encfs-%{version}.tar.gz BuildRequires: cmake >= 3.0.2 BuildRequires: fuse-devel BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: openssl-devel BuildRequires: pkgconfig BuildRequires: zlib-devel %if %{os_has_tinyxml2} BuildRequires: tinyxml2-devel %endif Requires: fuse BuildRoot: %{_tmppath}/%{name}-%{version}-build Recommends: %{name}-lang = %{version} # requirements for check %if %{do_checks} BuildRequires: fuse BuildRequires: perl(Digest::MD5) BuildRequires: perl(File::Copy) BuildRequires: perl(File::Path) BuildRequires: perl(File::Temp) BuildRequires: perl(IO::Handle) BuildRequires: perl(Test::Harness) BuildRequires: perl(Test::More) => 31 BuildRequires: perl(Time::HiRes) %if %{os_has_tinyxml2} BuildRequires: libtinyxml2-3 %endif BuildRequires: expect BuildRequires: openssl BuildRequires: zlib %endif %description EncFS provides an encrypted file system, layered on top of a normal directory tree and encrypts individual files which are stored in the hosting directory tree. This has several advantages over the loopback encryption which provided by the Linux kernel: - No space is and has to be reserved, encrypted files only take the space that they really occupy - Backups: encrypted files can be individually backed-up on the host filesystem - Layering: Since it's hosted on a normal filesystem, encfs can be used on filesystems which normally have no support encryption, like NFS or other userspace filesystems. EncFS is implemented as a userspace filesystem in an unprivileged application using fuse (FUSE (Filesystem in USErspace)). %lang_package %prep %setup %build %if %{use_cmake_macro} %cmake -DCMAKE_SKIP_RPATH:BOOL=ON \ %if %{os_has_tinyxml2} -DUSE_INTERNAL_TINYXML:BOOL=OFF %else -DUSE_INTERNAL_TINYXML:BOOL=ON %endif %else mkdir build cd build /usr/bin/cmake .. -G"Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \ -DLIB_INSTALL_DIR:PATH=%{_libdir} \ -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \ -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_C_FLAGS="${CFLAGS:-%optflags} -DNDEBUG" \ -DCMAKE_CXX_FLAGS="${CXXFLAGS:-%optflags} -DNDEBUG" \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ %if "%{?_lib}" == "lib64" -DLIB_SUFFIX=64 \ %endif -DCMAKE_SKIP_RPATH:BOOL=ON \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DBUILD_STATIC_LIBS:BOOL=OFF \ -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ -DCMAKE_MODULES_INSTALL_DIR=%{_datadir}/cmake/Modules \ %if %{os_has_tinyxml2} -DUSE_INTERNAL_TINYXML:BOOL=OFF %else -DUSE_INTERNAL_TINYXML:BOOL=ON %endif %endif %if %{use_cmake_macro} %cmake_build %else make %{?_smp_mflags} VERBOSE=1 %endif %install %cmake_install %__install -d -D -m 0755 %{buildroot}%{_libdir} cp -a build/libencfs.so.* %{buildroot}%{_libdir} %if %{os_has_tinyxml2}==0 cp -a build/internal/tinyxml2-3.0.0/libtinyxml2.so.* %{buildroot}%{_libdir} %endif chmod 755 "%{buildroot}%{_bindir}/encfssh" %find_lang %{name} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %check %if %{do_checks} export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/build: ./test.sh %endif %files %defattr(-,root,root) %license COPYING* %doc AUTHORS ChangeLog DESIGN.md PERFORMANCE.md README* %{_mandir}/man?/* %{_bindir}/encfs* %{_libdir}/libencfs.so.* %if %{os_has_tinyxml2}==0 %{_libdir}/libtinyxml2.so.* %endif %files lang -f %{name}.lang %defattr(-,root,root) %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor