On 09/29/2013 09:25 PM, Mark David Dumlao wrote:
> On Mon, Sep 30, 2013 at 10:01 AM, Daniel Campbell <li...@sporkbox.us> wrote:
>> On 09/29/2013 08:51 PM, Mark David Dumlao wrote:
>>> On Mon, Sep 30, 2013 at 9:22 AM, Daniel Campbell <li...@sporkbox.us> wrote:
>>>> It's fairly obvious (to me, anyway) that anything mounting a filesystem
>>>> and making it available is system-critical. I run samba and don't need
>>>> it for boot, but like you said, someone may need that. I wouldn't see a
>>>> problem with smbmount being in /bin. FUSE deserves similar treatment.
>>>> LVM's another that probably deserves special treatment.
>>>>
>>>
>>> If you allow FUSE you've already failed, because arbitrary programs can
>>> be required by FUSE filesystems. Suddenly your ssh client should be pushed
>>> to /, or your telnet, or rsync, or ftp.
>>>
>> FUSE is that lenient with what it can use to mount with? o_O
> 
> Fuse is filesystems in userspace. The hard problem that isn't obvious
> here, is that
> anybody can come up with a userspace filesystem, and there is ZERO 
> intelligence
> in the package manager that some filesystem is dependent on some userspace
> logic.
> 
> for example, there's a filesystem called sshfs. It allows you to view an ssh
> connection as a directory. sshfs itself could be in /, but it depends
> on ssh and its
> libraries, which are normally in /usr. Now what do you do? Just to
> support sshfs,
> you have to move or copy all those programs to /. Portage doesn't know this.
> Ebuilds don't know this. Manual compiles don't know this. What should the ssh
> packagers do? What should the fuse-sshfs packagers do? What should users
> who are manually rolling out sshfs do?
> 
> How about when you develop the next revolutionary crazy filesystem that
> allows you to view emacs sessions as directories? What should the emacs
> packagers do? What should the fuse-emacsfs packagers do? What should users
> manually rolling out that do?
> 
> You want to automatically version /etc using some filesystem that uses a git
> backend (I'll call it gitfs). What should git packagers do? What
> should fuse-gitfs
> packagers do? etc.... How about svnfs? hgfs? bzrfs? scpfs? ...
> 
Ah, I wasn't aware of how flexible and arbitrary fuse could be. In that
case I'd probably keep it out of /bin for the reasons you outlined. But
that doesn't solve the problem of "what if people want to boot with
fuse?". At least, not without an initramfs. And then we've created a
similar problem.

If the proposed solution is all binaries and libraries in the same
root/prefix directory, then why call it /usr? It has little to do with
users if it's nothing but binaries, libraries, etc. In addition, would a
local directory still be under this, for user-compiled programs not
maintained by the PM? Or does that deserve a different top level directory?

Then there's /opt, whose purpose I'm still not sure of. This is
strengthening the idea that something new should be thought up and
drafted. Not necessarily by us at Gentoo, but *somebody*. If I was crazy
and knowledgeable enough I'd volunteer myself.

Reply via email to