Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 23112 - sys-fs/avfs-0.9999 (NEW EBUILD)
Summary: sys-fs/avfs-0.9999 (NEW EBUILD)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords: EBUILD
: 115274 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-06-19 08:59 UTC by José Romildo Malaquias
Modified: 2006-06-02 11:24 UTC (History)
11 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
First attempt at an ebuild (avfs-0.9.3.ebuild,1.66 KB, text/plain)
2003-07-23 15:18 UTC, Jeremy Naylor
Details
Updated ebuild, includes a Gentoo-style init script (avfs-0.9.3.ebuild,1.71 KB, text/plain)
2003-07-24 12:40 UTC, Jeremy Naylor
Details
init script, to be placed in the files dir (avfscoda.gentoo,656 bytes, text/plain)
2003-07-24 12:43 UTC, Jeremy Naylor
Details
Tarball of ebuild with supporting files (avfs-0.9.3.tar.bz2,1.64 KB, application/octet-stream)
2003-09-04 06:14 UTC, Jeremy Naylor
Details
sys-fs/avfs/avfs-0.9999.ebuild (avfs-0.9999.ebuild,2.24 KB, text/plain)
2005-11-20 11:56 UTC, Peter Hyman
Details
sys-fs/avfs/files/README.avfs-fuse (README.avfs-fuse,2.05 KB, text/plain)
2005-11-20 11:57 UTC, Peter Hyman
Details
sys-fs/avfs/files/README.avfs-fuse (README.avfs-fuse,2.05 KB, text/plain)
2005-11-20 14:37 UTC, Peter Hyman
Details
sys-fs/avfs/avfs-0.9999.ebuild (avfs-0.9999.ebuild,2.23 KB, text/plain)
2005-11-21 05:24 UTC, Peter Hyman
Details
sys-fs/avfs/avfs-0.9999.ebuild (avfs-0.9999.ebuild,2.32 KB, text/plain)
2005-12-02 15:08 UTC, Peter Hyman
Details
avfs-0.9.6_p20060301.ebuild (avfs-0.9.6_p20060301.ebuild,2.61 KB, text/plain)
2006-03-02 17:26 UTC, Peter Hyman
Details

Note You need to log in before you can comment on or make changes to this bug.
Description José Romildo Malaquias 2003-06-19 08:59:20 UTC
"AVFS is a system, which enables all programs to look inside archived or compressed files, 
or access remote files without recompiling the programs or changing the kernel. At the 
moment it supports floppies, tar and gzip files, zip, bzip2, ar and rar files, ftp sessions, http, 
webdav, rsh/rcp, ssh/scp." 
 
	http://www.inf.bme.hu/~mszeredi/avfs/ 
 
Avfs is very useful and having it in Gentoo GNU/Linux would be very nice. Please, add it. 

Reproducible: Always
Steps to Reproduce:
1.
2.
3.



The latest release (0.9.3) can be downloaded from http://sourceforge.net/projects/avf.
Comment 1 Jeremy Naylor 2003-07-23 15:18:27 UTC
Created attachment 14940 [details]
First attempt at an ebuild

I hacked together an ebuild for this that seems to work fine for me.  It just
uses the generic init script, I didn't make a gentoo-specific one.
Comment 2 Jeremy Naylor 2003-07-24 12:40:58 UTC
Created attachment 14963 [details]
Updated ebuild, includes a Gentoo-style init script

Touched up the ebuild and set it to install a Gentoo-style init script.
Comment 3 Jeremy Naylor 2003-07-24 12:43:16 UTC
Created attachment 14964 [details]
init script, to be placed in the files dir
Comment 4 Jeremy Naylor 2003-09-04 06:14:25 UTC
Created attachment 17057 [details]
Tarball of ebuild with supporting files

Changed init script dependency to net, since avfs needs to be restarted when
you restart net.  Created a tarball to make things easier.
Comment 5 Thomas R. (TRauMa) 2003-09-25 20:30:19 UTC
It is possible to use --enable-libxml instead of --disable-webdav.

Ebuild works fine here :-)

Perhaps I will find the time to make a /etc/bash-completion.d/avfs -file,
so cd /path/archive<TAB> works
Comment 6 Tim Yamin (RETIRED) gentoo-dev 2004-02-02 10:23:45 UTC
I'll commit this in sometime soon, I just need to check that this works with my patch for the 2.6 headers.
Comment 7 Thomas R. (TRauMa) 2004-02-03 08:20:45 UTC
Uhm, does this mean there is hope you add some functionality to 2.6.x so this can be used with it? AVFS wont compile with vanilla-2.6.x, so this would be great.

Just asking, though; don't want you to waste time on testing this with 2.6.x if you didn't add something special.
Comment 8 Tim Yamin (RETIRED) gentoo-dev 2004-02-03 08:38:00 UTC
Yes. I've already got it compile on 2.4/2.6 // 2.6/2.4 header/kernel variations, I just need to convert the makefiles to kbuild so that it'll compile in the right format for 2.6 and so it's usable.
Comment 9 Thomas R. (TRauMa) 2004-02-22 20:15:55 UTC
I thought avfs overrides some system calls inside the kernel, which isn't allowed anymore with 2.6. Don't want to bug you, but is there something already I could have a look at? ^^
Comment 10 Enderson Tadeu S. Maia (RETIRED) gentoo-dev 2004-09-03 12:06:16 UTC
I get this error:
# ACCEPT_KEYWORDS="~x86" emerge avfs
....
....
gcc -I../include -DCODAINCLUDE=\"/usr/src/linux/include/linux/coda.h\" -mcpu=i686 -O2 -pipe  -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS   -c -o dispatch.o dispatch.c
In file included from /usr/src/linux/include/linux/coda.h:102,
                 from dispatch.c:27:
/usr/include/linux/time.h:9: error: redefinition of `struct timespec'
/usr/include/linux/time.h:88: error: redefinition of `struct timeval'
/usr/include/linux/time.h:93: error: redefinition of `struct timezone'
/usr/include/linux/time.h:119: error: redefinition of `struct itimerspec'
/usr/include/linux/time.h:124: error: redefinition of `struct itimerval'
dispatch.c:322: error: syntax error before '*' token
dispatch.c: In function `look_info':
dispatch.c:326: error: `id' undeclared (first use in this function)
dispatch.c:326: error: (Each undeclared identifier is reported only once
dispatch.c:326: error: for each function it appears in.)
dispatch.c: At top level:
dispatch.c:348: error: syntax error before '*' token
dispatch.c: In function `look_name':
dispatch.c:352: error: `id' undeclared (first use in this function)
dispatch.c: At top level:
dispatch.c:361: error: syntax error before '*' token
dispatch.c: In function `ref_fid':
dispatch.c:363: error: `fid' undeclared (first use in this function)
dispatch.c: At top level:
dispatch.c:369: error: syntax error before '*' token
dispatch.c: In function `unref_fid':
dispatch.c:371: error: `fid' undeclared (first use in this function)
dispatch.c: At top level:
dispatch.c:401: error: syntax error before "ViceFid"
dispatch.c: In function `create_file':
dispatch.c:406: error: `parentid' undeclared (first use in this function)
dispatch.c:409: error: `filename' undeclared (first use in this function)
dispatch.c:411: error: `newid' undeclared (first use in this function)
dispatch.c: In function `purge_file':
dispatch.c:430: error: structure has no member named `Volume'
dispatch.c:431: error: structure has no member named `Vnode'
dispatch.c:432: error: structure has no member named `Unique'
dispatch.c: In function `zap_file':
dispatch.c:449: error: structure has no member named `Volume'
dispatch.c:450: error: structure has no member named `Vnode'
dispatch.c:451: error: structure has no member named `Unique'
dispatch.c: At top level:
dispatch.c:585: error: syntax error before "ViceFid"
dispatch.c: In function `close_file':
dispatch.c:588: error: `of' undeclared (first use in this function)
dispatch.c:594: error: `ofp' undeclared (first use in this function)
dispatch.c:596: error: `fid' undeclared (first use in this function)
dispatch.c: In function `send_to_child':
dispatch.c:1061: error: structure has no member named `cred'
dispatch.c:1062: error: structure has no member named `cred'
dispatch.c: At top level:
dispatch.c:1143: error: syntax error before "ViceFid"
dispatch.c: In function `send_with_path':
dispatch.c:1149: error: `id' undeclared (first use in this function)
dispatch.c:1151: error: `req' undeclared (first use in this function)
dispatch.c:1157: error: `filename' undeclared (first use in this function)
dispatch.c:1159: error: `path2' undeclared (first use in this function)
dispatch.c:1165: error: `reqsize' undeclared (first use in this function)
dispatch.c: In function `process_kernel_req':
dispatch.c:1251: error: structure has no member named `Volume'
dispatch.c:1252: error: structure has no member named `Vnode'
dispatch.c:1253: error: structure has no member named `Unique'
dispatch.c:1315: error: structure has no member named `cred'
dispatch.c:1315: error: structure has no member named `cred'
dispatch.c:1526: warning: deprecated use of label at end of compound statement
make[1]: ** [dispatch.o] Erro 1
make[1]: Leaving directory `/var/tmp/portage/avfs-0.9.3/work/avfs-0.9.3/avfscoda'
make: ** [all] Erro 2

!!! ERROR: sys-apps/avfs-0.9.3 failed.
!!! Function src_compile, Line 38, Exitcode 2
!!! Make failed


################
# emerge info
Portage 2.0.50-r10 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r1, 2.6.5-mm6)
=================================================================
System uname: 2.6.5-mm6 i686 mobile AMD Athlon(tm) XP2400+
Gentoo Base System version 1.4.16
distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-mcpu=i686 -O2 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-mcpu=i686 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X aalib acpi acpi4linux alsa amd apache2 apm avi berkdb cdr crypt cups directfb dvd encode esd ethereal faad ffmpeg foomaticdb gd gdbm geoip gif gphoto2 gpm gtk gtk2 imagemagick imlib java jpeg ldap libg++ libwww mad mikmod mmx mozilla moznocompose moznoirc mpeg mpeg4 mysql ncurses net nls odbc oggvorbis opengl openssh oss pam pcmcia pdflib perl png postgres ppds python quicktime radeon readline ruby samba sdl slang spell sse ssl svga tcltk tcpd truetype usb x86 xine xml2 xmms xv xvid zlib"
Comment 11 Tim Yamin (RETIRED) gentoo-dev 2004-09-17 14:55:46 UTC
OK, I'm closing this as WONTFIX for the reason that avfs does not seem to be maintained / developed upon any further upstream (as well as the website listed in the ebuild no longer being functional) and as such I think it would not be beneficial to have this package in Portage - since it does not support 2.6 kernels, for example. If this issue is fixed, then please by all means reopen this bug and I will gladly reconsider adding this to Portage. Thanks!
Comment 12 Peter Hyman 2005-11-20 05:36:02 UTC
AVFS is back from the dead and I have been testing it. HOWEVER, it will only
work with sys-fs/fuse and fuse compiled into or as a kernel module. This is not
bad and greatly simplifies implementation because:

1) PRELOAD won't work with glibc >2.1
2) AVFSCODA requires lots of patches, it requires CODA and all the client and
server packages which really complicates things. Some have had success with
CODA. I was not able to get it working.
3) Not many programs, if any at all, use the AVFS shared libraries. They work
though.

In order to get AVFS running, it is necessay to pull the CVS version only.
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/avf login
 
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/avf co -P avfs

Then, DON'T make or configure anything. Change to the fuse directory and type
./compile.sh. Since I am only testing, I did not copy the one file created:
avfsd. I ran it in place as user.

In order to make this work, the user needs to create a directory ~/.avfs. Then,
there is a file in the scripts directory called mountavfs:

#!/bin/sh
MntDir=${HOME}/.avfs
grep -q "avfsd ${MntDir}" /proc/mounts || {
   echo Mounting AVFS on $MntDir...
   avfsd $MntDir
}

Be sure the kernel fuse modules are loaded (modprobe fuse) or compiled into the
kernel.

If you run this from the fuse directory, ../scripts/mountavfs there will be a
new mount point similar to this:

avfsd on /home/peter/.avfs type fuse (rw,nosuid,nodev,user=peter)

Then, to read any compressed file, simply cat or open $HOME/.avfs/[filename]#.

The only difference when using fuse is that the AVFS docs seem to want you to
test it with

ls /#avfsstat

which won't work. Instead use

ls $HOME/.avfs/#avfsstat

peter@mars ~ $ ls /#avfsstat
ls: /#avfsstat: No such file or directory
peter@mars ~ $ ls $HOME/.avfs/#avfsstat
cache  copyright  debug  http_proxy  logfile  modules  version

Obviously, this hack is dependent on a qualified user to correctly set this up.
I cannot think of an elegant way for an ebuild to set up a user account. I can
only think of having example files and scripts the user can have run in his/her
profile on login.

Any ebuild attempt on this would have to:
1) pull the AVFS CVS
2) check that fuse is installed (fuse will check for the kernel module)
3) somehow hack the compile.sh so it will use CFLAGS and any user compile settings.
4) copy the one resulting file, avfsd to /usr/sbin
5) have lots of einfo messages telling the user how to add this to his/her login
script because the daemon cannot be loaded at boot time (unless you foolishly
want to use a root-owned .avfs file).
6) create a sample startup script which adds a test for the ~/.avfs directory.
Perhaps adding something like this to the above script:

[ ! -d ~/.avfs ] && mkdir ~/.avfs

IMHO creating an ebuild out of this would be quirky at best. Hopefully, this
roadmap will help interested parties and maybe when AVFS gets more developed an
ebuild will be forthcoming. Personally, I hope they are able to get the PRELOAD
feature working again since that would be the best solutiuon. Sort of like the
way libtrash works -- intercepting file move and delete calls.

The bug owner or project maintainer may wish to reopen this bug so that others
can continue to comment on it. Unless someone else beats me to it, I will try
and construct some sort of ebuild with supporting documentation.

HTH

Comment 13 José Romildo Malaquias 2005-11-20 06:44:41 UTC
Reopen for considering the possibility of use avfs with fuse.
Comment 14 Peter Hyman 2005-11-20 08:52:27 UTC
Let me correct one statement. avfs DOES need to be configured and maked because
the fuse compile script will link in the static library which must exist. So,
even though it won't be used, the library lib/.libs/libavfs.a must be there.
Even though the end result is one file, the entire project must be compiled
first. So,  after pulling the cvs, do autoheader, autoconf, configure, make. Then
cd fuse
./compile.sh
(which will leave avfsd in place)

then
../scripts/mountavfs

which will mount ~/.avfs by default or ignore it if it is already mounted, OR
report an error if ~/.avfs does not exist.
Comment 15 Peter Hyman 2005-11-20 11:56:40 UTC
Created attachment 73262 [details]
sys-fs/avfs/avfs-0.9999.ebuild

marked as -* since this code is from CVS. User should place in
/usr/local/portage/sys-fs/avfs and adjust package.keywords accordingly. Also
download the following file README.avfs-fuse which explains how to use the
package. Works for me! Bug reporter or maintainer may wish to change the title
of this bug to sys-fs/avfs-0.9999 (NEW EBUILD) to make clear what we are doing
here. I moved to sys-fs instead of sys-apps since it is a vfs daemon not an
application. I'll leave it to the maintainer for final placement and setting an
appropriate keyword.
Comment 16 Peter Hyman 2005-11-20 11:57:40 UTC
Created attachment 73263 [details]
sys-fs/avfs/files/README.avfs-fuse

Important README that explains usage. Place in sys-fs/avfs/files directory for
inclusion.
Comment 17 Peter Hyman 2005-11-20 14:37:48 UTC
Created attachment 73272 [details]
sys-fs/avfs/files/README.avfs-fuse

Corrects website URL for avfs and a small grammar error :(
Comment 18 Peter Hyman 2005-11-21 05:24:57 UTC
Created attachment 73296 [details]
sys-fs/avfs/avfs-0.9999.ebuild

Correct compile option (actually, just clarified it since the default was OK)
and  changed installation of docs since the README file I wrote is now included
in the CVS tree. No need for the README-avfs-fuse file anymore. Sorry for all
the updates, but I would like everything to be correct. Feedback is
appreciated.
Comment 19 José Romildo Malaquias 2005-11-21 10:20:33 UTC
Changing the title this bug as sugested in comment #15.
Comment 20 Peter Hyman 2005-11-28 07:19:56 UTC
Anyone try this one out yet? I have been using it for a week with no surprises
or issues. I have been active with the developers and am hoping they will
resurrect their work on avfs to get the PRELOAD features working. It would be
nice for users not to have to kludge around with virtual directories. No need
for coda since fuse works. I hope the maintainers will consider adding this to
portage. It is a very lightweight and universal solution which could apply to
all WMs. It's as fast and easy as when using mc. Cheers!
Comment 21 Peter Hyman 2005-12-02 15:08:19 UTC
Created attachment 73956 [details]
sys-fs/avfs/avfs-0.9999.ebuild

Adds additional script from cvs for unloading daemon as well as updated
documentation. Any movement on evaluating this for inclusion in the portage
tree? Works really well for me.
Comment 22 José Romildo Malaquias 2005-12-03 04:38:08 UTC
Just to let you know that it does work form me.
Comment 23 Jakub Moc (RETIRED) gentoo-dev 2005-12-12 01:44:32 UTC
*** Bug 115274 has been marked as a duplicate of this bug. ***
Comment 24 Peter Hyman 2006-03-02 17:25:38 UTC
Stefan Schweizer (genstef) had recommended using a date limited method of pulling CVS. This makes sense since it will allow users to revert to an earlier version if there are problems due to new "features." So, a new ebuild series based on avfs-0.9.6 is introduced. It uses the _p suffix to denote patches. Unfortunately, upstream has the same version in production AND in CVS. So, the new ebuild assumes cvs changes are patches. When/if this changes, the _p will become _pre. So for now, the new series will be:

avfs-0.9.6_p20060301. This version work fine (for me anyway).

Another small change Stefan recommended was making the scripts document subdirectory installed using docinto and dodoc, not insinto/doins which I had done.

I am hoping it will be put into the portage tree soon. Feeback?
Comment 25 Peter Hyman 2006-03-02 17:26:37 UTC
Created attachment 81164 [details]
avfs-0.9.6_p20060301.ebuild

new ebuild series - date limited.
Comment 26 Stefan Schweizer (RETIRED) gentoo-dev 2006-03-03 02:26:08 UTC
thanks, fixed