[ITP] cygfuse

Jon Turney jon.turney@dronecode.org.uk
Sat Mar 12 14:43:52 GMT 2022

On 10/03/2022 06:16, Mark Geisert wrote:
> This is a Cygwin version of libfuse{,3} that can be found in various 
> Linux distributions.  It is a couple of link libraries and additions to 
> /usr/include to allow porting of FUSE apps.  FUSE: File System In User 
> Space.  I will shortly be providing an sshfs FUSE app, to be covered by 
> a separate ITP.
> Importantly, cygfuse depends on an underlying Windows FUSE 
> implementation: WinFSP.  In fact the Cygwin library code was provided by 
> the author of WinFSP.  I'm just providing a bona-fide Cygwin package for 
> the code.
> WinFSP, and thus cygfuse, is made available under GPLv3 for Free/Libre 
> and Open Source Software or under a commercial license.
> If another Windows FUSE provider shows interest in supporting Cygwin, I 
> suspect it could be supported with alternatives(8).

It's not quite that straightforward as the Windows loader can only 
follow symlinks to DLLs if they are

But that's not

> The initial project files for review are located at:
> http://maxrnd.com/~mark/cygwin/cygfuse/cygfuse.cygport
> http://maxrnd.com/~mark/cygwin/cygfuse/cygfuse-3.2.0-1-src.tar.xz
> http://maxrnd.com/~mark/cygwin/cygfuse/cygfuse-3.2.0-1.src.patch
> Thanks for reading and for any feedback you might have,

A few small comments on the cygport file

> HOMEPAGE="https://github.com/mgeisert/cygfuse"
> #SRC_URI="http://maxrnd.com/~mark/cygwin/x86_64/release/cygfuse/cygfuse-${PV}.tar.xz"
> #NOT YET: GIT_URI="https://github.com/mgeisert/cygfuse.git"
> #NOT YET:	inherit git

It's unclear where the upstream source tarball comes from...

> PKG_NAMES="cygfuse"
> cygfuse_CONTENTS="
>     usr/bin/*
>     usr/include/fuse/*
>     usr/include/fuse3/*
>     usr/lib/*
>     usr/share/man/man1/*
>     usr/share/man/man8/*
> "
> # take over these activities from cygport..

This should be written 'RESTRICT=strip', I think.

> src_compile()
> {
>     # fix source tree glitch.. (maybe 'prep' stumbling or bad tarfile layout?)
>     if [ -e ${S}/src ]; then
> 	mv ${S}/src/cygfuse ${S}
> 	rmdir ${S}/src
>     fi

I think this can be handled with 'SRC_DIR=src/cygfuse' (and suitable 
adjustment to paths throughout)

>     # and on with the show..
>     cd ${S}
>     lndirs
>     # compile emulation of Linux libfuse..
>     mkdir -p ${B}/cygfuse/fuse
>     cd ${B}/cygfuse/fuse
>     cygmake
>     # compile emulation of Linux libfuse3..
>     mkdir -p ${B}/cygfuse/fuse3
>     cd ${B}/cygfuse/fuse3
>     cygmake
> }

More information about the Cygwin-apps mailing list