public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* [ITP] cygfuse
@ 2022-03-10  6:16 Mark Geisert
  2022-03-10 20:53 ` Marco Atzeri
  2022-03-12 14:43 ` Jon Turney
  0 siblings, 2 replies; 6+ messages in thread
From: Mark Geisert @ 2022-03-10  6:16 UTC (permalink / raw)
  To: cygwin-apps

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).

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,

..mark

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITP] cygfuse
  2022-03-10  6:16 [ITP] cygfuse Mark Geisert
@ 2022-03-10 20:53 ` Marco Atzeri
  2022-03-12 14:43 ` Jon Turney
  1 sibling, 0 replies; 6+ messages in thread
From: Marco Atzeri @ 2022-03-10 20:53 UTC (permalink / raw)
  To: cygwin-apps

On 10.03.2022 07: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).
> 
> 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,
> 
> ..mark

added to the cygwin-pkg-maint list

Thanks
Marco

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITP] cygfuse
  2022-03-10  6:16 [ITP] cygfuse Mark Geisert
  2022-03-10 20:53 ` Marco Atzeri
@ 2022-03-12 14:43 ` Jon Turney
  2022-03-12 14:46   ` Jon Turney
  2022-03-25  8:24   ` Mark Geisert
  1 sibling, 2 replies; 6+ messages in thread
From: Jon Turney @ 2022-03-12 14:43 UTC (permalink / raw)
  To: Mark Geisert, cygwin-apps

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: GIT_TAG="v$VERSION"
> #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..
> _CYGPORT_RESTRICT_strip_=1

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
> }



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITP] cygfuse
  2022-03-12 14:43 ` Jon Turney
@ 2022-03-12 14:46   ` Jon Turney
  2022-03-25  8:24   ` Mark Geisert
  1 sibling, 0 replies; 6+ messages in thread
From: Jon Turney @ 2022-03-12 14:46 UTC (permalink / raw)
  To: Mark Geisert, cygwin-apps

On 12/03/2022 14:43, Jon Turney wrote:
> 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).

Oops. This email escaped early...

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

... made using 'winsymlinks:native'

> But that's not

... important right now.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITP] cygfuse
  2022-03-12 14:43 ` Jon Turney
  2022-03-12 14:46   ` Jon Turney
@ 2022-03-25  8:24   ` Mark Geisert
  2022-03-27  8:20     ` [ITP] cygfuse -- cygport issues solved Mark Geisert
  1 sibling, 1 reply; 6+ messages in thread
From: Mark Geisert @ 2022-03-25  8:24 UTC (permalink / raw)
  To: Cygwin-Apps

Hi Jon,
Thanks for the helpful review comments. More below.

Jon Turney wrote:
> On 10/03/2022 06:16, Mark Geisert wrote:
[...]> 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: GIT_TAG="v$VERSION"
>> #NOT YET:    inherit git
> 
> It's unclear where the upstream source tarball comes from...

Things were in flux and are now straightened out. There's just a SRC_URI now.
>>
>> # take over these activities from cygport..
>> _CYGPORT_RESTRICT_strip_=1
> 
> This should be written 'RESTRICT=strip', I think.

Yep, thanks.

>> 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)

I had tried several variations on this before the initial ITP post. I tried again 
after your comment. I'm still having issues with source layout.

I think my trouble is I'm bootstrapping my own source tree and there seem to be 
conventions (that I don't know) on how it should be laid out. It seems the source 
tarball generated by cygport doesn't match the layout of my own source tree.

Should my original source be in directory "src" or "src/cygfuse"? If the latter, 
should there be a version number as part of the directory name? Should my original 
source be placed under "origsrc" or "src"? These questions pertain to layout 
before cygport is run to generate the first-ever package tarballs.

Currently the build, install, package steps seem to run to completion.  But doing 
a fetch and prep of the tarball has got me stymied (in the prep step).  Error is
     SRC_DIR is not correctly defined
I have been perusing /usr/share/cygport/*.cygpart but haven't found a solution.
Thanks,

..mark

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ITP] cygfuse -- cygport issues solved
  2022-03-25  8:24   ` Mark Geisert
@ 2022-03-27  8:20     ` Mark Geisert
  0 siblings, 0 replies; 6+ messages in thread
From: Mark Geisert @ 2022-03-27  8:20 UTC (permalink / raw)
  To: Cygwin-Apps

Mark Geisert wrote:
> Hi Jon,
> Thanks for the helpful review comments.

cygport is a wondrous tool.  My issues were solved by making a simple tar.xz of my 
local source tree, renaming it to have the version number expected by the cygport 
script, placing that file and the cygport script in a test directory, then running 
'cygport cygfuse.cygport prep'.  All the necessary subdirectories are then built 
and the build, install, package steps run correctly.  Next is upload and announce.

I was making things more complicated than they needed to be.
cygport is a wondrous tool.  Thanks Yaakov!

..mark

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-03-27  8:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-10  6:16 [ITP] cygfuse Mark Geisert
2022-03-10 20:53 ` Marco Atzeri
2022-03-12 14:43 ` Jon Turney
2022-03-12 14:46   ` Jon Turney
2022-03-25  8:24   ` Mark Geisert
2022-03-27  8:20     ` [ITP] cygfuse -- cygport issues solved Mark Geisert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).