# # spec file for package fusecompress # # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # %define doc_license %{nil} %define doc_license 1 %if 0%{?rhel}%{?fedora} %if 0%{?rhel} %if 0%{?rhel} < 7 %define doc_license 0 %endif %else %if 0%{?fedora} < 19 %define doc_license 0 %endif %endif %endif %define license_files COPYING # https://github.com/hexxellor/fusecompress/pull/58 %define force_gcc_gnu90 %{nil} %define force_gcc_gnu90 1 %if 0%{?rhel}%{?fedora} %if 0%{?rhel} %if 0%{?rhel} < 7 # cc1: error: unrecognized command line option "-std=gnu90" %define force_gcc_gnu90 0 %endif %else %if 0%{?fedora} < 19 %define force_gcc_gnu90 0 %endif %endif %endif Name: fusecompress Version: 0.9.2svn20090226 Release: 25%{?dist} Summary: FUSE-based filesystem with transparent compression Group: System/Filesystems #Group: System Environment/Libraries #License: GPL-2.0 License: GPLv2 URL: http://code.google.com/p/fusecompress/ Source: %{name}-%{version}.tar.gz Patch1: fusecompress-linking.patch BuildRequires: cmake BuildRequires: fuse-devel BuildRequires: gcc-c++ BuildRequires: lzo-devel BuildRequires: zlib-devel %if 0%{?rhel}%{?fedora} BuildRequires: bzip2-devel %else BuildRequires: libbz2-devel %endif BuildRequires: xz-devel #BuildRoot: %{_tmppath}/%{name}-%{version}-build #Obsoletes: FuseCompress < %{version} Obsoletes: FuseCompress < %{?epoch:%{epoch}:}%{version} #Provides: FuseCompress = %{version}-%{release} Provides: FuseCompress = %{?epoch:%{epoch}:}%{version}-%{release} %description FuseCompress provides a mountable Linux filesystem which transparently compresses its content. Files stored in this filesystem are compressed on the fly and FUSE allows to create a transparent interface between compressed files and user applications. This is the legacy C implementation of FuseCompress. It performs slightly less well than the current one implemented in C++, but does not exhibit flaws such as data corruption or files growing larger and larger that make the current code (as of July 17 2008) unusable in a production environment. Authors: -------- Milan Svoboda Anders Aagaard Ulrich Hecht %prep %setup -q -n "%{name}" %patch1 %build %if 0%{?force_gcc_gnu90} CFLAGS="${RPM_OPT_FLAGS} -std=gnu90" %else CFLAGS="${RPM_OPT_FLAGS}" %endif export CFLAGS %{cmake} -DCMAKE_BUILD_TYPE=debug . %{__make} %{?_smp_mflags} VERBOSE=1 %{__mv} "fusecompress" "fusecompress.debug" %{__make} clean %{cmake} -DCMAKE_BUILD_TYPE=release . %{__make} %{?_smp_mflags} VERBOSE=1 %{__mv} "fusecompress" "fusecompress.release" %install %{__install} -d -m 755 "${RPM_BUILD_ROOT}%{_bindir}" %{__install} -d -m 755 "${RPM_BUILD_ROOT}%{_sbindir}" #%{__install} -D -m 755 "fusecompress.release" "${RPM_BUILD_ROOT}/bin/fusecompress" #%{__install} -D -m 755 "fusecompress.release" "${RPM_BUILD_ROOT}%{_bindir}/fusecompress" %{__install} -m 755 "fusecompress.release" "${RPM_BUILD_ROOT}%{_bindir}/" %{__ln_s} "fusecompress.release" "${RPM_BUILD_ROOT}%{_bindir}/fusecompress" %{__install} -m 755 "fusecompress.debug" "${RPM_BUILD_ROOT}%{_bindir}/" %{__install} -m 755 "fusecompress_offline" "${RPM_BUILD_ROOT}%{_bindir}/" #%{__install} -m 755 "fsck.fusecompress" "${RPM_BUILD_ROOT}/bin/" %{__install} -m 755 "fsck.fusecompress" "${RPM_BUILD_ROOT}%{_sbindir}/" %files %defattr(-,root,root) %if 0%{?doc_license} %license %{license_files} %else %doc %{license_files} %endif %doc README BUGS #/bin/* %{_bindir}/* %{_sbindir}/* %changelog * Fri Dec 08 2017 Tomasz Tomasik - 0.9.2svn20090226-25 - Force -std=gnu90 for GCC >= 5: https://github.com/hexxellor/fusecompress/pull/58 - Rebuilt for EL7 * Fri Dec 08 2017 Tomasz Tomasik - 0.9.2svn20090226-24 - SPEC file cleanups - Use license macro - Rebuilt for EL7 * Fri May 25 2012 jengelh@inai.de - 0.9.2svn20090226-23.1.3 - Remove redundant tags/sections from specfile - Parallel build with %%_smp_mflags * Mon Aug 29 2011 crrodriguez@opensuse.org - Fix linking, must use -pthread - Use rpmoptflags * Thu Feb 26 2009 uli@suse.de - update -> SVN trunk (r84) - once again chasing the ever-changing LZMA API... - convert to CMake * Mon Feb 16 2009 coolo@suse.de - lzma-alpha-devel is no more, xz-devel contains liblzma now * Wed Nov 12 2008 uli@suse.de - update -> SVN trunk (r81) - fix stale cache problem properly (issue #32), add test - LZO is non-deterministic, do not check compressed data in tc.sh * Tue Nov 11 2008 uli@suse.de - update -> SVN trunk (r78) - invalidate cache when modifying files (issue #32) - support liblzma 4.999.5 (issue #31) * Mon Oct 6 2008 uli@suse.de - update -> SVN trunk (r77) - stuff memleak by freeing cache arrays (issue #30) - make do_decompress() handle uncompressed files correctly (issue #28) - fix segfault (and possibly garbage reads) when reading beyond EOF with cache_skipped (issue #29) * Thu Sep 18 2008 uli@suse.de - update -> SVN trunk (r76) - update README - make allow_other,suid,dev,noterm default for FSs mounted as root - limit number of errors reported per file (issue #27) - added "noterm" option rewiring SIGTERM from "unmount" to "purge files", which keeps root-mounted filesystems from dying before their time (sort of issue #25) - replaced outdated BUGS file with reference to bugtracker * Fri Sep 5 2008 uli@suse.de - update -> SVN trunk (r69) - added mechanism for selectively enabling and disabling debug output at runtime - direct_decompress(): always fall back if file type is WRITE (issue #26) - direct_decompress(): clean up and fix fallback condition to prevent massive performance impact when caching (issue #24) - direct_decompress(): don't start caching when you can already tell that the cache is too small - fsck: detect and fix files with trailing garbage (issue #23) - fsck: failure to open files changed from error to warning (most likely an ownership problem) - fsck: added testcase (issue #8) - direct_decompress(): do not request more data from compressions modules than there actually is (issue #23) - fsck: nftw()'s typeflag seems to register FIFOs as regular files; using S_ISREG instead - handle do_decompress() failure gracefully (see issue #22, comment 1) * Mon Sep 1 2008 uli@suse.de - update -> SVN trunk r64 - handle non-page-aligned reads when caching (for direct I/O) - fixed assertion in direct_rename() (issue #2) - cache uncompressed data ("cache_skipped" option) - added FS option "uncompressed_binaries" (don't compress shared objects and standard binary directories) - added FS options for compression method and detaching (issue #19) - added read-only support (issue #18, test included) - made run_tests clean up after failed test cases - added my copyright where appropriate - clarified GPL version (some files said any, others said v2) - move fsck to /bin * Wed Aug 27 2008 crrodriguez@suse.de - fix build, lzo static library is gone and shared lib is now in /lib * Fri Aug 15 2008 uli@suse.de - new package (SVN trunk r57)