Hi, FuseCompress[1] is a transparent compression module for FUSE recently gone stable. It currently supports lzo, gzip and bzip2 and therefore depends on zlib and bzip2. The Makefile is a bit strange and comes without an install routine, have a look at the ebuid for my (probably wrong) workarround. Greetings, Alex [1] http://miio.net/fusecompress/
Created attachment 83016 [details] fusecompress-0.9.1.ebuild Initial submit
Created attachment 83379 [details] Add debug use; use dobin for install
Created attachment 88658 [details] Fixed ebuild for version 0.9.1.1
Created attachment 109231 [details] ebuild for the new version 1.99.4 Please notice: This release has a new file format which is incompatible with prior releases!
won't compile on ~amd64... :( too bad i really need this thing. latest version is 1.99.13.
What was the error on amd64? It compiles here on amd64. I added ~amd64 to the KEYWORDS line of the ebuild.
Created attachment 131503 [details] fusecompress-1.99.13.ebuild
Created attachment 131504 [details] fusecompress-1.99.13.main-errno.patch I forgot I have a patch.
Created attachment 151759 [details] fusecompress 1.99.15
Created attachment 151761 [details, diff] remove Lock.hpp include
Created attachment 151763 [details, diff] don't rely on Lock's destructor (original intention) just call m_Mutex.Lock() and .Unlock() not needed if Lock.hpp is included
Created attachment 179130 [details] fusecompress 2.3 New branch (2.0), with lzma support. Tar files are no longer available at www.miio.net, so I had to use git (github.com requires session cookies to download tar|zip). Configure works, but compilation doesn't: x86_64-pc-linux-gnu-g++-4.3.2 -DHAVE_CONFIG_H -I. -I.. -D_GNU_SOURCE -D_REENTRANT -D_POSIX_C_SOURCE=200112L -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -pedantic -Wno-long-long -Wall -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=25 -DNDEBUG -DRLOG_COMPONENT="fusecompress" -O2 -pipe -march=nocona -MT CompressedMagic.o -MD -MP -MF .deps/CompressedMagic.Tpo -c -o CompressedMagic.o CompressedMagic.cpp In file included from /usr/include/boost/iostreams/traits.hpp:38, from /usr/include/boost/iostreams/pipeline.hpp:18, from /usr/include/boost/iostreams/detail/push.hpp:22, from /usr/include/boost/iostreams/filtering_stream.hpp:19, from CompressionType.hpp:6, from FileHeader.hpp:15, from FileHeader.cpp:19: /usr/include/boost/range/iterator_range.hpp: In member function 'IteratorT boost::iterator_range<Iterator>::begin() const': /usr/include/boost/range/iterator_range.hpp:265: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available /usr/include/boost/range/iterator_range.hpp:265: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) I'm not familiar with boost do I don't know how to fix this. Maybe some will.
Adding myself to CC.
(this is an automated message based on filtering criteria that matched this bug) 'EBUILD' is in the KEYWORDS which should mean that there is a ebuild attached to this bug. This bug is assigned to maintainer-wanted which means that it is not in the main tree. Heuristics show that no Gentoo developer has commented on your ebuild. Hello, The Gentoo Team would like to firstly thank you for your ebuild submission. We also apologize for not being able to accommodate you in a timely manner. There are simply too many new packages. Allow me to use this opportunity to introduce you to Gentoo Sunrise. The sunrise overlay[1] is a overlay for Gentoo which we allow trusted users to commit to and all users can have ebuilds reviewed by Gentoo devs for entry into the overlay. So, the sunrise team is suggesting that you look into this and submit your ebuild to the overlay where even *you* can commit to. =) Because this is a mass message, we are also asking you to be patient with us. We anticipate a large number of requests in a short time. Thanks, On behalf of the Gentoo Sunrise Team, Jeremy. [1]: http://www.gentoo.org/proj/en/sunrise/ [2]: http://overlays.gentoo.org/proj/sunrise/wiki/SunriseFaq
Created attachment 187883 [details] A working ebuild 1. Adding the right options to configure (for some reason it detects by default the static boost libraries and not the shared ones) 2. Removing the dependency on lzma because it needs a beta version that it's not in portage. I can confirm this ebuild is working correctly for me with gcc 4.1 and boost 1.34.1.
Created attachment 190094 [details] fusecompress-2.5-r1 ebuild As of today, fusecompress doesn't require rlog and doesn't seem to inherit it's bugs. Last version tag is 2.5, but this ebuild pulls in a bit more than that, hence the "-r1". I've also added optional dependencies to pull in compression libs. lzma flag depends on last pre-xz lzma-utils, which I'll post here as well, since I doubt they are of much use anywhere else.
Created attachment 190096 [details] lzma-utils-4.999.5 ebuild (fusecompress lzma dependency) Last pre-xz lzma-utils version. Contains liblzma, used in fusecompress. xz-utils also have this lib but fusecompress won't compile against it, at least the late versions.
I also wanted to point out that lzma compression here might not be worth it. rsync of rootfs (1.6G) to fusecompress (backed by reiser3) over ssh, remounting both to drop caches: zlib - 490M, 13min lzma - 458M, 62min lzo - 655M, 11min tar/gz - 361M, 7min
Created attachment 199428 [details] fusecompress-2.6.ebuild Bump to 2.6 tag.
(In reply to comment #19) > Created an attachment (id=199428) [details] > fusecompress-2.6.ebuild > > Bump to 2.6 tag. > This doesn't work for me. I'm using gcc-4.4.2 (which needs, e.g., #include <stdio.h> in rlog/rlog.h since vprintf isn't defined otherwise) More serious, it fails with boost-1.41.0-r3, giving In file included from Compress.cpp:22: ./boost/archive/portable_binary_iarchive.hpp:242:62: error: boost/archive/impl/archive_pointer_iserializer.ipp: No such file or directory Is fusecompress still maintained?
Created attachment 220413 [details] fusecompress-9999.ebuild live ebuild using gitorious repo Works for me on ~x86 and ~amd64 (both gcc 4.4.3)
*** Bug 351391 has been marked as a duplicate of this bug. ***
This depends on pkgconfig which everyone forgets to add.
The project moved to googlecode.
Oops.. sorry. As of today, this fails to compile on 64 bit systems with -- configure: error: Boost library compiled for 32bit architecture without long file support!
That problem got fixed somehow, but now its -- CompressionType.cpp:(.text._ZN5boost9iostreams6detail23bzip2_decompressor_implISaIcEE6filterERPKcS6_RPcS8_b[boost::iostreams::detail::bzip2_decompressor_impl<std::allocator<char> >::filter(char const*&, char const*, char*&, char*, bool)]+0xf0): undefined reference to `boost::iostreams::detail::bzip2_base::check_end(char const*, char const*)'