On Sun, Apr 14, 2019 at 12:30:24PM -0400, Greg Troxel wrote: > Opinions differ about whether libfuse/perfuse and librefuse should be > the standard approach. For a very long time, librefuse has been the > standard approach. So obviously just changing to use libfuse is out of > the question. > > Adding some kind of preference variable so that people who wish to have > all packages that need the FUSE high-level API use libfuse/perfuse > instead (leaving the default) seems fine; that's similar to how we let > alternative implementations of other things be selected.
I suppose you meant perfuse is for low-level APIs, or did I miss something? So if I understand things, the options are these: fuse-* to by default link with librefuse. [I do not know technical reasons behind this preference, but that apart. Users have to be aware that they won't get some features of the filesystem e.g. mmap, instead of them discovering this the hard way]. fuse-* to provide an option to link with pkg fuse, for those who want low level APIs. Most fuse-* patches would need to become conditional. Going by encfs as an example, most patches may not be needed if you choose pkg fuse. [I think since pkg fuse layer exists, where Maya has got all patch upstreaming done already, probably it's not productive to chase upstream for fuse-* patches that are nb specific. That's just my 2 cents.] pkg fuse need not link with librefuse as fuse-* can link with it directly. [This I am not 100% sure about. Just seeking views.] pkg fuse may have an option to link with pkg libperfuse or base libperfuse. Or may be instead of user choosing this, it can be decided by the following logic: As confirmed by Emmanuel, up to NetBSD 8.0 it needs to link with pkg libperfuse only. For NetBSD>8.0 base libperfuse should be usable. Please let me know if above analysis is correct. Mayuresh