[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Libferris support in TRAMP
Re: Libferris support in TRAMP
Tue, 02 Mar 2010 22:50:33 +0100
Gnus/5.13 (Gnus v5.13) Emacs/23.1.93 (gnu/linux)
Ben Martin <address@hidden> writes:
> Well, I do have FUSE integration to allow direct interaction. I find
> fuse to be a bit heavy handed for some things though, for example, using
> fcat I can peek into an XML file directly without any explicit "mount"
OK, let it be an option for later.
> I now also have completions working with libferris thanks to a ferrisls
> -F derivative which only classifies directories
> I suspect we are on the same page here with the ssh+ferris method. I was
> thinking as far as making the patch less intrusive goes, adding to
> tramp-methods this ssh+ferris object and including things like for
> where a nil would perhaps induce "ls" and "cp" to be used. Though for
> this part just telling tramp to use a specific shell init file could
> allow the shell itself to alias ls=ferrisls etc. The knowledge of things
> like the added --classify-directories switch to ferrisls is harder to
> sweep away, along with the redirection changes.
tramp.el is already a monster; it's on my wishlist to cut it into
pieces. So we shall put everything into a new tramp-ferris.el. Look at
tramp-smb.el to get an idea how it could be done.
In tramp-methods, we shall add a new "ferris" method, derived from
"ssh". We could add some new entries like `tramp-ls-program', which
would be "fls" in the ferris case. Something like this:
;; Define libferris method ...
(defcustom tramp-ferris-method "ferris"
"*Method to connect via libferris."
;; ... and add it to the method list.
(tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-q")
Then you could, for example, use the entry `tramp-ls-program' for
determining, which binary to call. If this entry does not exists, you
would fall back to the default values already used. The code in
`tramp-get-ls-command' would look then:
(if (tramp-get-method-parameter method 'tramp-ls-program)
(list (tramp-get-method-parameter method 'tramp-ls-program))
'("ls" "gnuls" "gls")))
By this, the code in tramp.el would be changed only slightly, and
without libferris dependencies.
>> Hmm. I would like to follow your examples. Unfortunately, I haven't
>> found a simple recipe, how to download and install libferris on my
>> machine (I'm running Ubuntu, btw). Going to
>> http://sourceforge.net/projects/witme/files/ as instructed on your
>> download page doesn't tell me too much. What do I need really for the
>> beginning? How to install?
> Although the graph looks a bit scarey, much of the stuff should already
> be available packaged. You will probably need to build and install
> libferrisloki, libferrisstreams, stldb4, fampp2, libferris,
> ferriscreate, in that order.
OK, I'll try it next days. Limited by the usual lack of time :-(
Btw, Tramp is coyrighted by the FSF. This would require that you sign
their papers, if you contribute to Tramp. Would it be a problem for you?
Best regards, Michael.