Date: Thu, 6 Oct 2005 01:12:21 GMT From: soc-chenk <soc-chenk@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 84876 for review Message-ID: <200510060112.j961CLbV094500@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=84876 Change 84876 by soc-chenk@soc-chenk_leavemealone on 2005/10/06 01:12:09 Upgrade userspace to 2.4.0 Submitted by: soc-chenk Affected files ... .. //depot/projects/soc2005/fuse4bsd2/Changelog#15 edit .. //depot/projects/soc2005/fuse4bsd2/README.html#8 edit .. //depot/projects/soc2005/fuse4bsd2/fuselib/fuselib-2.4.0-rc1.diff#3 delete .. //depot/projects/soc2005/fuse4bsd2/fuselib/fuselib-2.4.0.diff#1 add Differences ... ==== //depot/projects/soc2005/fuse4bsd2/Changelog#15 (text+ko) ==== @@ -1,3 +1,6 @@ +Thu Oct 6 03:01:20 CEST 2005 at node: creo.hu, nick: csaba + * Upgrade userspace to 2.4.0 + Tue Oct 4 23:16:26 CEST 2005 at node: creo.hu, nick: csaba * Fixes in library patch - trying again to get mknod right ==== //depot/projects/soc2005/fuse4bsd2/README.html#8 (text+ko) ==== @@ -32,7 +32,7 @@ The main part of Fuse for FreeBSD is a kernel module which provides a kernel messaging interface to the Fuse library in userspace which is compatible with that of the Linux module. The userspace part is pretty portable. A lightweight patch is enough to get that compile and work. </p> <p> -The module was written for and tested with CURRENT, aka FreeBSD-7.0. I'd guess it will work fine with RELENG 6 too, but currently it's not usable with 5.x (or lower) versions. The module will work with 7.0-CURRENT snapshots from not earlier than 8th of August and RELENG_6 snapshots from not earlier than 13th of August (desperate types can try with older CURRENT/RELENG_6 snapshots if they set the <tt>-DUSE_OLD_CLONEHANDLER_API</tt> flag for <tt>cc</tt>). +The module can be expected work with RELENG_6 snapshots of version number at least <strong>600034</strong>, or with HEAD snapshots of version number at least <strong>700002</strong>. (<em>Hint:</em> you can get the version number of your currently running kernel by <tt>sysctl -n kern.osreldate</tt>; or you can extract the version number directly from the source code by <tt>awk '/#define/{if ($2 == "__FreeBSD_version") { print $3; exit }}' /sys/sys/param.h</tt>.) (Desperate types can try with older HEAD/RELENG_6 snapshots if they set the <tt>-DUSE_OLD_CLONEHANDLER_API</tt> flag for <tt>cc</tt>.) </p> <p> What can be considered as a public homepage for the project is <a class="external" href="http://wikitest.freebsd.org/moin.cgi/FuseFilesystem"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">http://wikitest.freebsd.org/moin.cgi/FuseFilesystem</a>; for updates, further info go there. Get in contact with me via the <tt>soc-chenk</tt> email addrees of the FreeBSD organization (<tt>freebsd.org</tt>). @@ -50,7 +50,7 @@ <li> <p> - Fuse itself. Get Fuse 2.4.0-rc1 from their <a class="external" href="http://sourceforge.net/projects/fuse"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">Sourceforge project page</a>. If this is not availabe there (because a newer (pre)release has taken its place), you can either try to adopt these instructions to the newer (pre)release, or fetch it from my download directory, <a class="external" href="http://creo.hu/~csaba/projects/fuse4bsd/downloads/"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">http://creo.hu/~csaba/projects/fuse4bsd/downloads/</a>. + Fuse itself. Get Fuse 2.4.0 from their <a class="external" href="http://sourceforge.net/projects/fuse"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">Sourceforge project page</a>. If this is not availabe there (because a newer (pre)release has taken its place), you can either try to adopt these instructions to the newer (pre)release, or fetch it from my download directory, <a class="external" href="http://creo.hu/~csaba/projects/fuse4bsd/downloads/"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">http://creo.hu/~csaba/projects/fuse4bsd/downloads/</a>. </p> </li> <li> @@ -58,6 +58,12 @@ The FreeBSD module. Source tarballs are provided at <a class="external" href="http://creo.hu/~csaba/projects/fuse4bsd/downloads/"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">http://creo.hu/~csaba/projects/fuse4bsd/downloads/</a> under the name <tt>fuse4bsd-</tt><em><version></em><tt>.tar.*</tt> (latest release is <strong>0.2.11</strong>, date of release: <strong>21th Sep 2005</strong>). The current code is available via <a class="external" href="http://www.freshports.org/devel/darcs"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">Darcs</a>, you can fetch it by <pre> darcs get http://creo.hu/~csaba/darcs-repos/fuse4bsd</pre> command, or via <a class="external" href="http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=/depot/projects/soc2005/fuse4bsd2"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">Perforce</a> (you can use this latter link for online source code browsing). </p> +<p> + <em>Release tarballs and SCM snapshots include a version of this wiki page as <tt>README.html</tt>. Always act according to the included version. +</p> +<p> + <img src="/classic/img/attention.png" alt="<!>" height="15" width="15"> <strong>Warning</strong>: on rare occasions the wiki version may refer to a not yet committed state of the module code.</em> +</p> </li> <li> <p> @@ -98,30 +104,27 @@ <li> <p> Apply the patch with -<pre> patch -Np1 < ../fuse4bsd/fuselib/fuselib-2.4.0-rc1.diff</pre> +<pre> patch -Np1 < ../fuse4bsd/fuselib/fuselib-2.4.0.diff</pre> </p> </li> <li> <p> Do <pre> cp ../fuse4bsd/fuse_module/fuse_kernel.h include/ && - cp ../fuse4bsd/fuse_module/linux_compat.h include/</pre> (these commands dynamically customize the header file defining the kernel-userland interface; as these are needed in the module as well, they are handled separately from the userspace patch). + cp ../fuse4bsd/fuse_module/linux_compat.h include/</pre> (as <tt>fuse_kernel.h</tt> is used by both of kernel and userspace, the necessary patch is separated from the all-over userspace patch, and is kept by the module code). </p> </li> <li> <p> - We will do a non-privileged install (I'd say that's easier than set up a jail), I'll use <tt>~/meta/fuse-2.4.0-rc1</tt> as the prefix. Type the following commands: + We will do a non-privileged install (I'd say that's easier than set up a jail), I'll use <tt>~/meta/fuse-2.4.0</tt> as the prefix. Type the following commands: <pre> mkdir junk && ln -s /usr/bin/true junk/chown && ln -s /usr/bin/true junk/mknod && - echo '#!/bin/sh - echo "$1" | grep -q /etc/udev || /bin/mkdir "$@"' > junk/mkdir && - chmod a+x junk/mkdir && - echo '#!/bin/sh - echo "$@" | grep -q udev || /usr/bin/install "$@"' > junk/install && - chmod a+x junk/install && + echo 'echo "$1" | grep -q /etc/udev || /bin/mkdir "$@"' > junk/mkdir && + echo 'echo "$@" | grep -q udev || /usr/bin/install "$@"' > junk/install && + chmod a+x junk/mkdir junk/install && (export PATH=`pwd`/junk:$PATH && - ./configure --prefix=$HOME/meta/fuse-2.4.0-rc1 --bindir=`pwd`/junk --disable-kernel-module MOUNT_FUSE_PATH=`pwd`/junk && + ./configure --prefix=$HOME/meta/fuse-2.4.0 --bindir=`pwd`/junk --disable-kernel-module MOUNT_FUSE_PATH=`pwd`/junk && make && make install)</pre> </p> @@ -144,7 +147,7 @@ <li> <p> Type -<pre> env PKG_CONFIG_PATH=~/meta/fuse-2.4.0-rc1/lib/pkgconfig/ ./configure && make</pre> +<pre> env PKG_CONFIG_PATH=~/meta/fuse-2.4.0/lib/pkgconfig/ ./configure && make</pre> </p> </li> @@ -160,15 +163,14 @@ </p> <p> As the superuser, do -<pre>kldload use_module/fuse.ko +<pre>kldload fuse_module/fuse.ko sysctl vfs.usermount=1</pre> </p> <p> -Now you'll have to act as a user belonging to the <tt>operator</tt> group or you can as well delete all barriers by -<pre>devfs rule add path 'fuse*' mode 666</pre>(opening and doing I/O on fuse devices will have no effect until they get mounted). +Now you'll have to act as a user belonging to the <tt>operator</tt> group. (A different access policy could be set by <a class="external" href="http://www.freebsd.org/cgi/man.cgi?query=devfs&sektion=8"><img src="/classic/img/moin-www.png" alt="[WWW]" height="11" width="11">devfs(8)</a>; eg., deleting all barriers would look like <tt>devfs rule add path 'fuse*' mode 666</tt>. Think of permissions of fuse devices directly as mount permissions of Fuse filesystems.) </p> <p> -Proceed on with the user you chose (we will assume you use the same user as the one who did the installation). +Proceed on with the user you chose (nevertheless, we will assume you use the same user as the one who did the installation). </p> <p> Pick your favourite ssh accessible account (though maybe you'd better stick to servers running OpenSSH -- I've seen commits in sshfs' CVS for better interoperability with other servers, which show there might occur problems with them), say, it's <tt>foo@bar.baz</tt>. @@ -176,7 +178,7 @@ <p> Go to sshfs' directory. First prepare the mount: <pre>mkdir -p ~/fuse && -export LD_LIBRARY_PATH=~/meta/fuse-2.4.0-rc1/lib/</pre>and also make sure that <tt>mount_fusefs</tt> (of FreeBSD Fuse) is in your path. Then do: +export LD_LIBRARY_PATH=~/meta/fuse-2.4.0/lib/</pre>and also make sure that <tt>mount_fusefs</tt> (of FreeBSD Fuse) is in your path. Then do: <pre>mount_fusefs auto ~/fuse ./sshfs foo@bar.baz:</pre> </p> <p> @@ -204,6 +206,14 @@ <li> <p> + Make autotools play nice with Fuse (generating configure files doesn't work with CVS snapshots) +</p> +<p> + <img src="/classic/img/alert.png" alt="/!\" height="15" width="15"> <strong>Autotools gurus, help please! It might be just a five minutes work for you to fix it.</strong> +</p> +</li> + <li> +<p> Implement attr/name caching (with timeouts) </p> </li>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510060112.j961CLbV094500>