Re: Unable to 'git push' to /git/cygwin-packages/*

2024-03-15 Thread Mark Geisert via Cygwin-apps

On 3/14/2024 11:26 AM, Corinna Vinschen via Cygwin-apps wrote:
[...]


You may also want to use https:// rather than git:// for reading
the repository these days, given the insecurity of the git protocol.


Right. I now remember this recommendation too. I will make the change in 
all the git configs for my projects.

Thanks much,

..mark



Re: Unable to 'git push' to /git/cygwin-packages/*

2024-03-15 Thread Mark Geisert via Cygwin-apps

On 3/14/2024 9:07 AM, Jon Turney via Cygwin-apps wrote:

On 14/03/2024 15:39, Mark Geisert via Cygwin-apps wrote:

On 3/14/2024 2:42 AM, Jon Turney via Cygwin-apps wrote:

On 14/03/2024 05:45, Mark Geisert via Cygwin-apps wrote:

Hi folks,
I'm getting the error:

fatal: remote error: service not enabled: /git/cygwin-packages/sshfs

when I attempt 'git push' to that repository.  The same happens with 
all the repositories for my packages.  It's been this way for a 
couple days at least.


Have I forgotten some step in the connection at my end?  I'm running 
ssh-agent.



[...]

What is the repository URL you are trying to push to (git remote -v)?


/usr/src/upstaging/sshfs git remote -v
origin git://cygwin.com/git/cygwin-packages/sshfs (fetch)
origin git://cygwin.com/git/cygwin-packages/sshfs (push)


This maybe looks like pilot error.

We don't allow pushing using the git:// protocol (since this protocol 
doesn't do any authorization, pushes with a it are very rarely enabled)



I suggest you need to do

   git push 
ssh://cyg...@cygwin.com:git/cygwin-packages/sshfs


to push successfully.

If that works, I suggest you memorialize that by doing

   git remote set-url origin --push 
ssh://cyg...@cygwin.com:git/cygwin-packages/sshfs


which will cause git to automatically use the ssh URL with a simple 'git 
push'.


With a minor correction ("/git" instead of "git" in the URL) this works 
fine.  I've made the git config change for all my projects.



You might like to review the last time we discussed this at [1]

(Note that's slightly different, as to push to cygwin-apps repositories 
you must present the key as 
yourusername-rdbxbdvo6bxqt0dzr+a...@public.gmane.org, whereas for 
cygwin-packages repositories, you can present the key as 
cygwin-rdbxbdvo6bwxj1p+fo2...@public.gmane.org There are just different 
due to historical reasons.)


[1] https://cygwin.com/pipermail/cygwin-apps/2021-September/041539.html


Thanks very much, Jon.

..mark



Re: Unable to 'git push' to /git/cygwin-packages/*

2024-03-14 Thread Mark Geisert via Cygwin-apps

On 3/14/2024 2:42 AM, Jon Turney via Cygwin-apps wrote:

On 14/03/2024 05:45, Mark Geisert via Cygwin-apps wrote:

Hi folks,
I'm getting the error:

fatal: remote error: service not enabled: /git/cygwin-packages/sshfs

when I attempt 'git push' to that repository.  The same happens with 
all the repositories for my packages.  It's been this way for a couple 
days at least.


Have I forgotten some step in the connection at my end?  I'm running 
ssh-agent.


This is probably due to some recent changes made on sourceware. 
Apologies for the inconvenience.


What is the repository URL you are trying to push to (git remote -v)?


/usr/src/upstaging/sshfs git remote -v
origin  git://cygwin.com/git/cygwin-packages/sshfs (fetch)
origin  git://cygwin.com/git/cygwin-packages/sshfs (push)

and likewise for packages cygfuse, util-linux, inkscape.
Thanks much, Jon!

..mark



Unable to 'git push' to /git/cygwin-packages/*

2024-03-13 Thread Mark Geisert via Cygwin-apps

Hi folks,
I'm getting the error:

fatal: remote error: service not enabled: /git/cygwin-packages/sshfs

when I attempt 'git push' to that repository.  The same happens with all 
the repositories for my packages.  It's been this way for a couple days at 
least.


Have I forgotten some step in the connection at my end?  I'm running 
ssh-agent.

Thanks for any advice,

..mark


Request for import of git repository history

2024-01-28 Thread Mark Geisert via Cygwin-apps

Hi folks,
I'm finally getting around to setting up the centralized git repositories 
for the packages I maintain.


There is currently no history for the cygutils package. Could I please 
have its history imported with ctm2git?

Thanks much,

..mark


Re: [NMU] inkscape 0.92.3-2 (Test)

2023-12-22 Thread Mark Geisert via Cygwin-apps

This test version of inkscape has been promoted to current.

Apologies to JonT who probably has to help this through again.
Next time I do this will be after I ITA the thing.
Thanks & Regards,

..mark


Re: Unmaintained packages in base package set

2023-12-21 Thread Mark Geisert via Cygwin-apps

Marco Atzeri via Cygwin-apps wrote:

Is anyone looking at QT5 and QT6 ?


I've "looked at" Qt5 in the past, though not to the point of being able to take it 
over.  I have a patch for the qterminal issue that I'd like to contribute. 
There's issues I've had building this I haven't had the time to resolve or even 
ask about.  Not sure I've tried since Achim last did some work on it.


I haven't looked at Qt6 at all.

Marco, if you've got an itch to see either/both of these through, be my guest as 
far as I'm concerned.


Meanwhile, I'm looking over the Unmaintained list too with some interest.
Regards,

..mark


Re: [NMU] inkscape 0.92.3-2 (Test)

2023-12-13 Thread Mark Geisert via Cygwin-apps

ASSI via Cygwin-apps wrote:

Mark Geisert via Cygwin-apps writes:

I've uploaded a non-maintainer re-build of the existing inkscape
0.92.3. This attempts to work around a problem with the current
inkscape reported to exit with 127 error code (missing DLL).  This
build was produced with gcc-g++ 7.4 while the current build was
produced with gcc-g++ 6.4.  Newer gcc-g++ releases fail to build
inkscape due to C++ include file evolution.


Since apparently you can compile it with that compiler on an otherwise
current release of Cygwin (I assume), you should be able to request a
previous C++ or G++ standard version and have the current compiler do
the same?  The baseline for gcc-6 until gcc-10 has been C++14 and gcc-11
switched to C++17.  You should also check that the compiler is detected
correctly, there are some configure scripts that fail to take higher
version numbers (esp. double digits for the main gcc version) correctly into
account and then set bogus options.  Inkscape shouldn't have been using
C++11 until 0.93, so the appropriate standard to invoke is probably
C++98 (or thew GNU variant thereof).


Thanks much, Achim, for pointing out that additional dimension. That should help 
with my future builds and/or ITA.


..mark


Re: [NMU] inkscape 0.92.3-2 (Test)

2023-12-01 Thread Mark Geisert via Cygwin-apps

Hi Jon,

Jon Turney via Cygwin-apps wrote:

On 30/11/2023 00:38, Mark Geisert via Cygwin-apps wrote:
Not sure of the logistical process for doing a non-maintainer update. If I've 
missed something please let me know.

>

Thanks very much for looking into this.


You're welcome.  It was a curious report on the main list and I got hooked.

So, this is all a bit ad-hoc at the moment, but only certain ("trusted") 
  maintainers are currently allowed to do NMUs.


Oops.


If you have ideas about how to make things work better, I'm all ears.

For the moment, I tweaked things to let your upload through.


Thanks Jon.  I have only seen a handful of NMUs go by and it didn't occur to me 
that those doing them were explicitly allowed to.


ISTM the process works fine as it is.  If I happen to have a future itch to do an 
NMU should I handle it as I did this one?  Or say something on cygwin-apps 
beforehand?  I don't expect it will be often.  I'm totally fine not being on the 
"trusted" list for this type of thing.

Thanks,

..mark


[NMU] inkscape 0.92.3-2 (Test)

2023-11-29 Thread Mark Geisert via Cygwin-apps
I've uploaded a non-maintainer re-build of the existing inkscape 0.92.3. 
This attempts to work around a problem with the current inkscape reported 
to exit with 127 error code (missing DLL).  This build was produced with 
gcc-g++ 7.4 while the current build was produced with gcc-g++ 6.4.  Newer 
gcc-g++ releases fail to build inkscape due to C++ include file evolution.


The only changes in this test build were to the cygport file:
- include python3 rather than 'python'
- supply a BUILD_REQUIRES containing most if not all requirements

Not sure of the logistical process for doing a non-maintainer update.  If 
I've missed something please let me know.  I might consider doing an ITA 
if I have luck with this... we'll see.

Thanks,

..mark


Kindly update my SSH public key

2023-11-28 Thread Mark Geisert via Cygwin-apps

Name: Mark Geisert
 BEGIN SSH2 PUBLIC KEY 
Comment: "256-bit ED25519, converted by Mark@zotac from OpenSSH"
C3NzaC1lZDI1NTE5IP1ks1stdrx1ofmpCBnQWdJ2zt9qlnNqrCX0y15INZHf
 END SSH2 PUBLIC KEY 


Re: can't compile coreutils-9.3 any more after upgrade to cygwin-3.4.8

2023-09-02 Thread Mark Geisert via Cygwin-apps

Corinna Vinschen via Cygwin-apps wrote:

On Sep  1 03:28, Mark Geisert via Cygwin-apps wrote:

I then tried recompiling a CPU affinity test program of mine (that uses
cpusets) but it could not link due to missing __cpuset_alloc and
__cpuset_free.  I think this is likely a local issue of mine in copying
newly-built stuff into place, though I've automated that process and do it
frequently, so...  ?


You missed to copy libcygwin.a to /usr/lib.


That's what I thought at first as well.  However nm showed the __cpuset_* 
functions present in the newly-created libcygwin.a.  Did I mis-copy the new lib 
somewhere incorrect?  Nope.  It turned out I had stale files in 
/usr/x86_64-pc-cygwin/lib that's evidently earlier in the link search path than 
the directory with newest contents.


I just renamed that directory out of the way and now the test program links and 
runs without issues.  I should investigate what populated that directory though.


I saw that you've applied your two patches.  Excellent!

..mark


Re: can't compile coreutils-9.3 any more after upgrade to cygwin-3.4.8

2023-09-01 Thread Mark Geisert via Cygwin-apps

Hi Corinna,

Corinna Vinschen via Cygwin-apps wrote:

On Aug 30 20:10, Corinna Vinschen via Cygwin-apps wrote:

On Aug 30 12:04, Brian Inglis via Cygwin-apps wrote:

On 2023-08-30 06:17, Corinna Vinschen via Cygwin-apps wrote:

On Aug 30 11:57, Corinna Vinschen via Cygwin-apps wrote:

On Aug 30 11:34, Corinna Vinschen via Cygwin-apps wrote:

   #define CPU_ZERO_S(siz, set) __cpuset_zero_s (siz, set)
-static __inline void
-__cpuset_zero_s (size_t siz, cpu_set_t *set)
-{
-  (void) memset (set, 0, siz);
-}
+void __cpuset_zero_s (size_t, cpu_set_t *);
   [...]
+__cpuset_zero_s (size_t siz, cpu_set_t *set)
+{
+  (void) memset (set, 0, siz);
+}
+
   } /* extern C */


Also, we can avoid an external __cpuset_zero_s function by just using a
loop, kind of like this:


I attached a matching patch. Please give it a try.


Shouldn't cpuset.h #include  for size_t and  for pid_t?


It shouldn't need that. sys/cpuset.h is a non-standard header which is
only included indirectly via sys/types.h.

We may want to change from size_t to __size_t and from pid_t to __pid_t.
That should eliminate any further dependency.


Try this:


After applying both patches to my system I was able to build coreutils without 
issues.  After updating my local Cygwin tree's sched.cc and cygwin.din I rebuilt 
the Cygwin DLL without issues.


I then tried recompiling a CPU affinity test program of mine (that uses cpusets) 
but it could not link due to missing __cpuset_alloc and __cpuset_free.  I think 
this is likely a local issue of mine in copying newly-built stuff into place, 
though I've automated that process and do it frequently, so...  ?


I believe those two patches you wrote are fine.  Ship when convenient, I say.
Cheers & Regards,

..mark


Re: can't compile coreutils-9.3 any more after upgrade to cygwin-3.4.8

2023-08-31 Thread Mark Geisert via Cygwin-apps

Corinna Vinschen via Cygwin-apps wrote:

On Aug 30 11:57, Corinna Vinschen via Cygwin-apps wrote:

On Aug 30 11:34, Corinna Vinschen via Cygwin-apps wrote:

  #define CPU_ZERO_S(siz, set) __cpuset_zero_s (siz, set)
-static __inline void
-__cpuset_zero_s (size_t siz, cpu_set_t *set)
-{
-  (void) memset (set, 0, siz);
-}
+void __cpuset_zero_s (size_t, cpu_set_t *);
  [...]
+__cpuset_zero_s (size_t siz, cpu_set_t *set)
+{
+  (void) memset (set, 0, siz);
+}
+
  } /* extern C */


Also, we can avoid an external __cpuset_zero_s function by just using a
loop, kind of like this:


I attached a matching patch. Please give it a try.


I like where this discussion is going.  Going to need another day to test..

..mark


Re: can't compile coreutils-9.3 any more after upgrade to cygwin-3.4.8

2023-08-30 Thread Mark Geisert via Cygwin-apps

[redirected from the main Cygwin ML]

Hi Corinna,

Corinna Vinschen via Cygwin wrote:

On Aug 25 22:50, Mark Geisert via Cygwin wrote:

Hi Corinna,

Corinna Vinschen via Cygwin wrote:

On Aug 24 14:39, Mark Geisert via Cygwin wrote:

Denis Excoffier via Cygwin wrote:

Hello,
When i try to compile coreutils-9.3 under cygwin-3.4.8 i get the following 
error messages (see below).
There seems to be a kind of loop in the hierarchy of #includes.


It is not a loop.


Moreover, with cygwin-3.4.7, this is ok. Also, if under cygwin-3.4.8 i 
removethe 2 #includes from /usr/include/sys/cpuset.h,
this is also ok.


This is an important clue.



Regards,

Denis Excoffier.


[...compilation log excerpt elided here...]


Usually it's easily fixable. There's typically no loop because
of the guards, e.g.

#ifndef _SYS_CPUSET_H_
#define _SYS_CPUSET_H_

but some guarding can have side effects.

However, somebody needs to come up *at least* with a simple reproducer.


It can be reproduced by running 'cygport coreutils.cygport build' in a
prep'd coreutils source directory e.g. /usr/src/coreutils-9.0-1.src .
Excerpt follows:


This is not what I meant.  A simple reproducer is ideally a piece of
C code which shows ;the problem with a minimum of code.  In this case,
a pice of C code with the #includes required to reproduce the compiler
failing is what I'm looking for.


I've always been supportive of the notion of STCs, but for this issue it would 
mean duplicating a bunch of coreutils-build-built include files (in its lib 
directory) and I decided, why not just cut the coreutils build process back to the 
first compilation that exhibits the error?


So I modified coreutils.cygport to change "cygmake" to "cygmake --trace" and ran 
'cygport build' to see all gcc commands as they're executed.  I then extracted the 
gcc command that compiles chroot.c to a new STC shell script where I could modify 
gcc options at will.  I changed "-c" to "-E" to see the sequence of include file 
usage and where #defines actually happen.


From this I discovered that pthread_attr_t and pthread_t defs are missing because 
sys/_pthreadtypes.h includes sys/cpuset.h which starts a whole include chain 
ending up in sys/signal.h where the defs are needed.  Note they are defined in 
sys/_pthreadtypes.h where we started, but haven't been seen yet because 
sys/cpuset.h has gone off on this detour.


Similarly, the timestruc_t def is missing because sys/_pthreadtypes.h again starts 
an include chain that ends up in sys/stat.h where the def is needed.  Note 
timestruc_t is defined in machine/types.h, which is included (by sys/types.h) 
after sys/_pthreadtypes.h, so the def hasn't been seen yet because of a similar 
detour.


The fix I'm considering is to
(1) move sys/_pthreadtypes.h's "#include sys/cpuset.h" to just before its final 
#endif, and
(2) exchange the positions of "#include " and "#include 
" within sys/types.h.

I could submit for review a patch to do these things.

An alternative would be to somehow massage the coreutils build 
include-file-wrapping to accomplish the same end.  I personally don't have the 
time or skills to figure that out.


I hope this info is usable in one form or another.
Regards,

..mark


Test failures from 'cygport python39.cygport test' etc

2023-02-27 Thread Mark Geisert via Cygwin-apps

Hi Marco,
I'm seeing test failures and hangs on the 'cygport test' step for both 
Python 3.9 and 3.8.  3.9 has 37 failures out of 423 tests, 3.8 has 39 
failures out of 425 tests.  Both releases have 3 tests hanging after as 
much as 20 minutes wait w/no cputime: test_asyncio, test_ssl, test_io.


My procedure is to (with cygport) prep, build, test.  Do I need to 
'install' before 'test'?  I believe I tried that but it made no 
difference.  Is there a different procedure you use to test the Python 
builds?

Thanks & Regards,

..mark


Concerning Python patch 3.6.12-socketmodule.patch -- ping Marco

2023-02-10 Thread Mark Geisert via Cygwin-apps

Hi Marco,
When I said "could you handle" I meant I would author the revised patch, test it 
locally, and pass it on to you to integrate into the Cygwin Python packages.  Does 
that sound workable to you?

Thank you,

..mark

 Forwarded Message 
Subject: Concerning Python patch 3.6.12-socketmodule.patch
Date: Mon, 7 Nov 2022 23:07:02 -0800
From: Mark Geisert 
To: cygwin-apps@cygwin.com

Hi Marco,
Recently there's been a complaint about that patch on the Cygwin mailing list. The 
patch was meant to allow same-machine communication between Cygwin Python programs 
via an AF_UNIX socket.  The patch works because both ends of the connection are 
Python programs that have the patch.


The problem reported by the user is that when a Python program attempts to 
communicate with ssh-agent, the connection freezes.  This is due to the above 
patch being applied only to the Python end (of course).


Given that we need the patch for Python build tests, could you handle an 
environment variable setting to choose the behavior of the patch?
In other words. a revised patch would consult an environment variable 
PYTHON_NET_DISABLE_CREDENTIALS to decide whether to do what the current patch 
does.  I guess the pythonXX.cygport file would have to define that env var.


Does that sound like a workable scheme to you?
Thanks,

..mark


Concerning Python patch 3.6.12-socketmodule.patch

2022-11-07 Thread Mark Geisert

Hi Marco,
Recently there's been a complaint about that patch on the Cygwin mailing list. 
The patch was meant to allow same-machine communication between Cygwin Python 
programs via an AF_UNIX socket.  The patch works because both ends of the 
connection are Python programs that have the patch.


The problem reported by the user is that when a Python program attempts to 
communicate with ssh-agent, the connection freezes.  This is due to the above 
patch being applied only to the Python end (of course).


Given that we need the patch for Python build tests, could you handle an 
environment variable setting to choose the behavior of the patch?
In other words. a revised patch would consult an environment variable 
PYTHON_NET_DISABLE_CREDENTIALS to decide whether to do what the current patch 
does.  I guess the pythonXX.cygport file would have to define that env var.


Does that sound like a workable scheme to you?
Thanks,

..mark


Re: resolv.conf and gnupg2

2022-08-07 Thread Mark Geisert

Marco Atzeri wrote:

Hi,

currently as default Gnupg 2.x is unable to contact keyservers and recover any 
key. Gnupg 1.x has not such problem


$  /usr/bin/gpg2 --keyserver pgp.mit.edu --recv-keys 5981E818 gpg: keyserver 
receive failed: No such file or directory


The cryptic message is due to the absence of a /etc/resolv.conf
as adding a simple one with a public DNS server overcomes the issue

$ cat /etc/resolv.conf
; /etc/resolv.conf file for dnsmaster
;
domain   .com
nameserver   0.0.0.0
nameserver   8.8.8.8


$  /usr/bin/gpg2 --keyserver pgp.mit.edu --recv-keys 5981E818
gpg: key D17BF2305981E818: 1 duplicate signature removed
gpg: key D17BF2305981E818: "Andrew Makhorin 
" not chan

gpg: Total number processed: 1
gpg:  unchanged: 1


I would expect BIND to be a package that creates/manages resolv.conf as
it provides a library to parser it, but I do not see any place where this is 
done.

$ cygcheck -p resolv.conf
Found 7 matches for resolv.conf
..
libirs161-9.11.9-1 - libirs161: BIND resolv.conf parser library
man-pages-linux-5.13-1 - man-pages-linux: Linux manual pages

Any suggestion on how to solve the absence of /etc/resolv.conf ?
I doubt  gnupg2 is the proper package to do so.


Could Cygwin itself provide a minimal /etc/resolv.conf pointing to public DNS 
server(s)?  Some users might object to Google's public DNS (e.g. 8.8.8.8) though.


Or perhaps a new package 'resolv.conf' with either the public DNS pointers or a 
postinstall script that massages the system's 'ipconfig /all' to obtain Windows' 
current settings.


..mark


Re: fuse

2022-04-15 Thread Mark Geisert

Hi Jon, Achim,

Jon Turney wrote:

On 01/02/2022 06:20, ASSI wrote:

Mark Geisert writes:

I see that 'mtr' is another Cygwin package that makes use of a Windows
driver via libpcap.  Maybe I can use mtr.cygport etc as a guide; I'm
unsure whether a Cygwin package should be including Windows drivers.


No they should not, although there is at least one other package (libusb
IIRC) that requires non-standard Windows drivers for functioning fully
or correctly.  How to present that requirement in setup is another
question.


The 'message:' line in the .hint file (see [1]) can be used for a related purpose 
of telling people that Windows drivers are needed, although in fact this is only 
used by libusb0 at the moment.


Actually checking for those being installed generically in setup seems fraught.  
But I guess you could write a postinstall script which checks somehow for it's 
presence and fails if it's not present?


[1] https://cygwin.com/packaging-hint-files.html


I had seen "message:" there on [1] and tried once to make use of it, but failed. 
From reading cygport's pkg_pkg.cygpart, it seemed to me that a 'MESSAGE="foo"' 
line in the cygfuse.cygport file should cause a 'message: cygfuse "foo"' to be 
emitted to the .hint file.  That didn't seem to happen.  Maybe I goofed.


I then thought about manually adding the "message: ..." line, but then realized I 
had two full 75-char lines of info to display and did not know if that was too big 
or what it would look like.  I dropped the idea for the time being and went with 
an Overview section on the package update announcement instead.


I should look at libusb.cygport; thanks Achim for that reminder.
Regards,

..mark


Re: [ITP] cygfuse -- cygport issues solved

2022-03-27 Thread Mark Geisert

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


Re: [ITP] cygfuse

2022-03-25 Thread Mark Geisert

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


Re: [ITP] sshfs

2022-03-10 Thread Mark Geisert

Marco Atzeri wrote:

On 10.03.2022 08:22, Mark Geisert wrote:
This is a Cygwin port of the FUSE app sshfs that can be found in various Linux 

[...]


added to cygwin-pkg-maint list


Thanks Marco for both adds.
Cheers,

..mark


[ITP] sshfs

2022-03-09 Thread Mark Geisert
This is a Cygwin port of the FUSE app sshfs that can be found in various 
Linux distributions.  It allows mounting a remote directory via ssh onto a 
local directory.  It requires cygfuse.


sshfs is a subproject of the Linux-focused libfuse project.

The initial project files for review are located at:
http://maxrnd.com/~mark/cygwin/sshfs/sshfs.cygport
http://maxrnd.com/~mark/cygwin/sshfs/sshfs-3.7.2-1-src.tar.xz

Thanks for reading and for any feedback you might have,

..mark


[ITP] cygfuse

2022-03-09 Thread Mark Geisert
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


Re: Go or Rust Packages?

2022-02-04 Thread Mark Geisert

Brian Inglis wrote:

On 2022-02-02 02:44, Corinna Vinschen wrote:

On Feb  1 21:22, Adam Dinwoodie wrote:

The upstream fzf package moved from Ruby to Go some time ago.  I had
vague but noble intetions to try to maintain a fork on the basis of the
last version of the Ruby code, but never managed anything useful.  In
that context, I expect it's time that I officially throw in the towel,
and mark fzf as orphaned.

The existing build still works, and I don't think there's likely to be
any crass security problems or anything like that.  But there's no
longer any upstream support, and I clearly don't have the capacity to
properly maintain it solo.

I'm not quite sure what the process is here, but I suspect it's just a
case of someone with the appropriate access making an update to
https://cygwin.com/cygwin-pkg-maint


Anyone know of anyone trying to build Go or Rust on Cygwin?
I made some progress with Go on Cygwin a couple years ago, but had to give up 
because it required more time than I could give it.  I got about 1/3 of the way 
through it.  The last straw was its need for syscall?() and Cygwin not having 
those functions (or a need for them).  It was a lot of looking for "#ifdef 
Windows" and usually adding "&& !defined(__CYGWIN__)".  The goal still tantalizes 
though...


I don't think anybody has mentioned a need for Rust on Cygwin before.  That might 
be easier because of a simpler runtime than Go, but still a major, major project.


..mark


Re: fuse

2022-02-03 Thread Mark Geisert

One final reply to myself on this topic..


Thomas Wolff wrote:

What became of the winfsp-fuse project discussed in July 2016?
I'd like to be able to use ftpfs or sshfs in cygwin.


Integration of the project into Cygwin stalled around that time, or was it 2018? 

[...]
I've now looked at and installed the most recent WinFSP.  The Cygwin glue layer 
works as well as it always had.  But something is missing: integration with the 
usual shell file manipulation commands.  For example, one can't 'cd' into the 
directory on which a foreign file system has been loaded.  That seems like a major 
issue unless I'm misunderstanding things.


This turned out to be an issue in Cygwin 3.3.3 but not 3.3.4 or the upcoming 
3.4.0.  WinFSP is ready to be used from Cygwin.



I plan to rename it FUSE for the upcoming ITP, to avoid
name conflict with libfuse* common on Linux.


Nah, there will be two upcoming ITPs, cygfuse and sshfs.  The first will provide 
the glue layers (libfuse and libfuse3) that ride on top of WinFSP, and also a 
'fusermount' command.  The second ITP will be a port of the latest sshfs reference 
implementation to Cygwin.  sshfs is known to clean-compile against the glue layer 
already.


..mark


Re: fuse

2022-01-31 Thread Mark Geisert

Replying to myself...

Mark Geisert wrote:

Hi Thomas,

Thomas Wolff wrote:

What became of the winfsp-fuse project discussed in July 2016?
I'd like to be able to use ftpfs or sshfs in cygwin.


Integration of the project into Cygwin stalled around that time, or was it 2018? 

[...]
I would love to have somebody interested in trying out FUSE on Cygwin.  If you 
require a cygfuse package I guess the first step for that would be for me to 
reissue the ITP and make the package real.  Another alternative would be for you 
to build from the Github repo https://github.com/mgeisert/cygfuse if you're 
feeling adventurous.


Our fuse package as it stands is not ready for use.  When I last looked at it 
years ago I was too new to both FUSE and project porting to understand what was 
missing.  Currently it's a source package that supplies a glue layer for Cygwin 
apps to make use of WinFSP, a Windows FUSE driver.  It also supplies source for a 
Cygwin sshfs app that demonstrates correct operation of WinFSP via Cygwin.


I've now looked at and installed the most recent WinFSP.  The Cygwin glue layer 
works as well as it always had.  But something is missing: integration with the 
usual shell file manipulation commands.  For example, one can't 'cd' into the 
directory on which a foreign file system has been loaded.  That seems like a major 
issue unless I'm misunderstanding things.


Let me reach out to the WinFSP folks and see if I'm doing something wrong or if 
there's additional work to be done on the Cygwin side.  In any case the project 
needs some smartening up.  I plan to rename it FUSE for the upcoming ITP, to avoid 
name conflict with libfuse* common on Linux.


I see that 'mtr' is another Cygwin package that makes use of a Windows driver via 
libpcap.  Maybe I can use mtr.cygport etc as a guide; I'm unsure whether a Cygwin 
package should be including Windows drivers.

Thanks for reading; advice welcome,

..mark


Re: fuse

2022-01-09 Thread Mark Geisert

Hi Thomas,

Thomas Wolff wrote:

What became of the winfsp-fuse project discussed in July 2016?
I'd like to be able to use ftpfs or sshfs in cygwin.


Integration of the project into Cygwin stalled around that time, or was it 2018? 
ISTR there was an objection from the Dokany FUSE project about whether WinFSP FUSE 
should be the basis for Cygwin's implementation.  I tried to mollify that by 
implementing a poor-man's plugin feature that would allow a user to select which 
underlying FUSE layer to use.  I believe I was waiting for confirmation from 
Dokany that they could work with that plugin architecture.


I think it was my ITP for libfuse that prompted the discussion with Dokany.  In 
any case the ITP was never acted on and the project has since languished.  WinFSP 
itself has been improved over time; I don't know if the improvements would require 
an update to the Cygwin portion.


I would love to have somebody interested in trying out FUSE on Cygwin.  If you 
require a cygfuse package I guess the first step for that would be for me to 
reissue the ITP and make the package real.  Another alternative would be for you 
to build from the Github repo https://github.com/mgeisert/cygfuse if you're 
feeling adventurous.


..mark


Re: Unable to push to cygutils git repo on sourceware

2021-09-14 Thread Mark Geisert

Hi Jon,

Jon Turney wrote:

On 07/09/2021 04:46, Mark Geisert wrote:

Something's likely changed in the 4 years since I last did this :-).


..or something allegedly similar to this...  too much code under the bridge...


$ git push
fatal: remote error: service not enabled: /git/cygwin-cygutils.git

$ cat .git/config
[core]
 # blah elided
[remote "origin"]
 url = git://sourceware.org/git/cygwin-cygutils.git
 fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
 remote = origin
 merge = refs/heads/master

[...]


So, to answer the question actually asked:

* While there have been some changes, this specific URL still works. (However, the 
published path nowadays is /git/cygwin-apps/cygutils.git)


* We've never supported pushing using the git:// protocol (since this protocol 
doesn't do any authorization, pushes with a it are very rarely enabled)


OK, makes sense.

* So you perhaps explicitly did a "git push 
ssh://usern...@cygwin.com/git/cygwin-apps/cygutils.git" 
last time you pushed changes?


That seems pretty likely in retrospect, or @sourceware.org, same IP address.


* Since git supports configuring a separate push url, I'd suggest something 
like:

git clone git://cygwin.com/git/cygwin-apps/cygutils.git
git remote set-url origin --push 
ssh://usern...@cygwin.com/git/cygwin-apps/cygutils.git


I find this convenient (especially when working with remote repositories to which 
other people will push changes), since it lets you pull without authenticating, 
but still push with appropriate authentication.


I've amended https://sourceware.org/cygwin-apps/ to include that suggestion and 
hopefully clarify things.


Thank you for the advice and for updating the web docs.  I'll be trying the push 
again shortly and will respond with any issues.

Regards,

..mark


Unable to push to cygutils git repo on sourceware

2021-09-06 Thread Mark Geisert

Something's likely changed in the 4 years since I last did this :-).

$ git push
fatal: remote error: service not enabled: /git/cygwin-cygutils.git

$ cat .git/config
[core]
# blah elided
[remote "origin"]
url = git://sourceware.org/git/cygwin-cygutils.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master

I tried cygwin.com in place of sourceware.org but no change.  Have the 
repositories moved or the access policies changed?

Thanks for any leads,

..mark


Is it possible to 'cygport upload' with same p-v-r?

2021-08-28 Thread Mark Geisert

HI all,B
I'd like to re-spin the latest version of cygutils, that is, upload newer 
files with the same release number (1.4.16-5).  Is this possible, or do we 
now always change the release# when uploading?

Thanks,

..mark


Re: [PATCH] cygutils/cygdrop: fix return type of usageCore

2021-05-26 Thread Mark Geisert

Hi Jeremy,

Jeremy Drake via Cygwin-apps wrote:

Fixes a warning "no return statement in function returning non-void",
and solves a crash running --help.

Hopefully this is the right place for this now, since I am not interesting
in becoming a package maintainer as the list description says ;)


Thanks for the report and patch.  I can't reproduce the crash but no worries.  The 
patch will be part of the next update to cygutils in a short while.


..mark


Re: python > 3.5: Issue with unix domain sockets

2021-05-04 Thread Mark Geisert

Hi Marco,

Marco Atzeri via Cygwin wrote:

On 04.05.2021 06:41, Mark Geisert wrote:

Ken Brown via Cygwin wrote:

On 5/3/2021 8:57 AM, Maximilian.Blenk--- via Cygwin wrote:

Incorrect Behavior:
Server:
$ python3.7 server.py
starting up on ./uds_socket
waiting for a connection
Traceback (most recent call last):
   File "server.py", line 27, in 
 connection, client_address = sock.accept()
   File "/usr/lib/python3.7/socket.py", line 214, in accept
 sock = socket(self.family, self.type, self.proto, fileno=fd)
   File "/usr/lib/python3.7/socket.py", line 151, in __init__
 _socket.socket.__init__(self, family, type, proto, fileno)
SystemError:  returned 
NULL without setting an error


Client:
$ python3.7 client.py
connecting to ./uds_socket
sending b'This is the message.  It will be repeated.'
closing socket
Traceback (most recent call last):
   File "client.py", line 27, in 
 data = sock.recv(16)
ConnectionResetError: [Errno 104] Connection reset by peer


I wonder if this has the same cause as the problem reported here:

   https://cygwin.com/pipermail/cygwin/2021-February/247884.html

Mark, can you check that?


Hmm, the correlation between failing Python versions and patch placements is 
troubling.  I've reproduced the OP's findings and will dig further.


..mark



3.5 has not your patch for asyncio, as I am not updating it.

all the others have it. It will be nice to solve this problem and avoid the freeze 
that your patch solved.


It turns out a small adjustment to the existing patch fixes this latest issue and 
shouldn't affect the situations reported in the original bug report that provoked 
the patch in the first place.


Line 11 of the patch 3.6.12-socketmodule.patch has:
return -1;
using dots to denote spaces because this mailer might deformat this email.  If 
that patch line is replaced with:

/* ignore error returns */;
we have a patch that solves the latest issue as well as the original issue.

That revised patch should also apply to 3.7 and 3.8 without problems.
Thanks & Regards,

..mark


Re: binutils 2.36.1

2021-02-27 Thread Mark Geisert

Achim Gratz wrote:

Before releasing binutils 2.35.2, I had already built 2.36 (which was
released two days earlier), but it became almost immediately clear that
there were problems.  Now that 2.36.1 came out I tried again (not that
the changes would indicate anything addressing those problems) and of
course the problems are still there.  With the new binutils installed, I
get lots of fork problems on x86, but not exactly reproducible.  Like
these:

--8<---cut here---start->8---
checking for working fork...   1 [main] conftest 7615 
D:\Freeware\CygProShare\cygpkgs\mosh\mosh.x86\build\conftest.exe: *** fatal 
error in forked process - fork: can't reserve
memory for parent stack 0x140 - 0x160, (child has 0x84 - 0xA4), 
Win32 error 487
   74330 [main] conftest 7615 cygwin_exception::open_stackdumpfile: Dumping 
stack trace to conftest.exe.stackdump
   1 [main] conftest 7614 dofork: child -1 - forked process 1224 died 
unexpectedly, retry 0, exit code 0x100, errno 11
no
--8<---cut here---end--->8---

I have yet to find any mention of a change to binutils that would
explain what is going on, so if anybody could have a look and generate
an hypothesis that would be most helpful.  You can use the cygport file
and just change the version number (plus the name of the patch file to
match the version).


I have now built and installed x86 binutils 2.36.1 locally.  I've been able to 
build the Cygwin DLL and mosh without issues.  I suspect you might be right on the 
edge of running out of address space given your symptoms are erratically recurring 
and it's on x86.


As a basis for comparison I've got 293 DLLs according to 'rebase -i *.dll|wc -l' 
in the /usr/bin directory.  'rebase -i *.dll | head' shows this:


/usr/bin/tk86.dll base 0x59b8 size 0x0015e000
/usr/bin/libtk8.6.dll base 0x59ce size 0x00149000
/usr/bin/libtcl8.6.dllbase 0x59e3 size 0x001a8000
/usr/bin/libpython3.8.dll base 0x59fe size 0x002d6000
/usr/bin/libpython3.6m.dllbase 0x5a2c size 0x00279000
/usr/bin/libpython2.7.dll base 0x5a54 size 0x001cd000
/usr/bin/libexpect5.45.dllbase 0x5a71 size 0x00031000
/usr/bin/libbtparse.dll   base 0x5a75 size 0x0002
/usr/bin/cygzzipwrap-0-13.dll base 0x5a77 size 0xb000
/usr/bin/cygzzipmmapped-0-13.dll  base 0x5a78 size 0xc000

The output is sorted by base address.  See where your lowest DLL is based; that 
should tell you if you'll need to prune some lesser-used packages to free up some 
DLL address space.


..mark


Re: Extreme slowdown due to malloc?

2021-01-17 Thread Mark Geisert

Hi Achim,
Thank you very much for the detailed instructions and also the comparison data 
Linux vs Cygwin for all those testcases.


Achim Gratz wrote:

ASSI writes:

I have a Cygwin malloc speedup patch that *might* help the m-t part.
I'll prepare and submit that to cygwin-patches shortly.


Well, if you want to test it with the new ZStandard, give it a spin…
I'll check how far I can strip that test down so you can use the Cygwin
source tree for testing.


I've now done this.  And I don't see any improvement.  Reasons below...


OK, it's actually pretty simple, do this inside a checkout of
newlib-cygwin:

$ find newlib winsup texinfo -type f > flist
$ zstd --train-cover --ultra -22 -T0 -vv --filelist=flist -o dict-cover

On Linux, it reads in all the files in about two seconds, while it takes
quite a while longer on Cygwin.  But the real bummer is that
constructing the partial suffix arrays (which is single-threaded) will
seemingly take forever, while it's done much faster on Linux.  You can
pare down the number of files like that:

$ shuf -n 320 flist > slist


I've settled on '-n 1600' for testing.  I'm running these Cygwin tests on a 2C/4T 
i3-something with 8GB memory and an SSD used for filesystem and page file.  Not a 
dog but clearly not a dire-wolf either.


The page fault numbers are comparable to what you've shown for Cygwin on your 
system.  The long pause after zstd prints "Constructing partial suffix array" is 
because zstd is cpu-bound in qsort() for a long time.  No paging during that time. 
 Then when the statistics start being printed out, that's when the paging 
insanity starts.


What I discovered is that zstd is repeatedly asking malloc() for large memory 
blocks, presumably to mmap files in, then free()ing them.  Any malloc request 256K 
or larger is fulfilled by mmap() rather than enlarging the heap for it.  But 
crucially, there is no mechanism for our malloc to hang on to freed mmap()ed pages 
for future use.  If you free an mmap()ed block, it is unmap()ed immediately.  So 
for zstd's usage pattern you get an incredible number of page faults to satisfy 
the mmap()s and Windows seems to take a non-trivial bit of time for each mmap().


I will be looking at our malloc implementation to see if tuning something can fix 
this behavior.  Adding code is the last resort.

Thanks again for the great testcase.

..mark


Re: [ATTN MAINTAINER] qt5-base

2021-01-01 Thread Mark Geisert

Achim Gratz wrote:
[some nifty stuff with puzzlers in it...]

Unfortunately I can't help with the qt5 build questions.  Been down that path and 
gotten lost.  But if/when you have a package ready for test installation, I can 
shortly thereafter provide a patch to qt5-base that fixes the longstanding 
Cygwin-specific gnuplot vs qterminal issue.  Upstream doesn't seem inclined to fix.

Regards,

..mark


Re: python fails asyncio tests (py 3.7 & 3.8)

2020-12-28 Thread Mark Geisert

Hi Marco,

On Mon, 28 Dec 2020, Marco Atzeri via Cygwin-apps wrote:

On 17.12.2020 10:20, Mark Geisert wrote:

Hi Marco,
Below is the patch I developed to work around the problem report in
https://cygwin.com/pipermail/cygwin/2020-November/246830.html
I called the patch file 3.8.3-peercred-cygwin.patch.

I am unable to test the patch myself because of continuing problems 
building a new Python.  I don't know if my issues are due to being on 
latest Cygwin code vs 3.1.7, or gcc 10.2 vs 9.3, or what.  Could you tell 
me what your build environment is like?  I'll try to duplicate it.


Test the patch by running a Python built with it on the example from the 
OP. Without the patch, the run would hang in the middle of the test 
script.  With the patch, it should quickly complete with 4 unrelated 
errors mentioning MSG_OOB.

Thanks & Regards,

..mark



Hi Mark,
is this the expected result ?

test_connection_attributes (__main__.TestAPI_UseUnixSocketsPoll) ... ERROR
/usr/lib/python3.8/unittest/case.py:704: ResourceWarning: unclosed 
type=SocketKind.SOCK_STREAM, proto=0>

 outcome.errors.clear()

It does not freeze


That's a new error to me; I haven't run that test.  I could have been more 
specific in my test instructions.  There are apparently two test series 
(which is also news to me).  They are /usr/lib/python3.8/test and 
.../unittest.  It seems you were in the latter?  The script to run is in 
.../test.  Here's how:

cd /usr/lib/python3.8/test
python3.8 test_asyncore.py -v

Separately, I'm still wrestling with build issues.  Just as a known-good 
alternative, how is your test environment set up?  Is your cygwin1.dll 
from standard 3.1.7, or a snapshot, or do you build from git master?  Are 
you using the latest binutils and gcc-g++ packages or something newer?


Thanks for any info you can provide.  I seem to be having issues with 
linking programs having many object files.  Like any Python 3, or the 
Flint math library for examples.  The link fails with a SIGSEGV or an 
assertion failure in cofflink.c.  Nobody else has reported these.

Thanks & Regards,

..mark


Re: Extreme slowdown due to malloc?

2020-12-21 Thread Mark Geisert

Hi Achim,

Achim Gratz wrote:

I've been experimenting a bit with ZStandard dictionaries.  The
dictionary builder is probably not the most optimized piece of software


Is this what leads you to suspect malloc?  Really heavy use of malloc?


and if you feed it large amounts of data it needs quite a lot of
cycles.  So I thought I run some of this on Cygwin since that machine is
faster and has more threads than my Linux box.  Unfortunately that plan
shattered due to extreme slowness of the first (single-threaded) part of
the dictionary builder that sets up the partial suffix array.

|--+---+---|
|  | E3-1225v3 | E3-1276v3 |
|  | 4C/4T | 4C/8T |
|  | 3.2/3.6GHz| 3.6/4.0GHz|
|--+---+---|
|  100 | 00:14 /   55s | 00:23 /  126s |
|  200 | 00:39 /  145s | 01:10 /  241s |
|  400 | 01:12 /  266s | 01:25 /  322s |
|  800 | 02:06 /  466s | 11:12 / 1245s |
| 1600 | 03:57 /  872s | > 2hr |
| 3200 | 08:03 / 1756s | n/a   |
| 6400 | 16:17 / 3581s | n/a   |
|--+---+---|

The obvious difference is that I/O takes a lot longer on Cygwin (roughly
a minute for reading all the data) and that I have an insane amount of
page faults on Windows (as reported by time) vs. none on Linux.


How much RAM does the Windows machine have?  Do you have a paging file?  Is it 
fixed size or "let Windows manage"?  How big is it?



While doing that I also noticed that top shows the program taking 100%
CPU in the multithreaded portion of the program, while it should show
close to 800% at that time.  I'm not sure if that information just isn't
available on Windows or if procps-ng needs to look someplace else for
that to be shown as expected.


No offense, but are you sure it's actually running multi-threaded on Windows?

I have a Cygwin malloc speedup patch that *might* help the m-t part.  I'll prepare 
and submit that to cygwin-patches shortly.

Cheers,

..mark


python fails asyncio tests (py 3.7 & 3.8)

2020-12-17 Thread Mark Geisert

Hi Marco,
Below is the patch I developed to work around the problem report in
https://cygwin.com/pipermail/cygwin/2020-November/246830.html
I called the patch file 3.8.3-peercred-cygwin.patch.

I am unable to test the patch myself because of continuing problems building a new 
Python.  I don't know if my issues are due to being on latest Cygwin code vs 
3.1.7, or gcc 10.2 vs 9.3, or what.  Could you tell me what your build environment 
is like?  I'll try to duplicate it.


Test the patch by running a Python built with it on the example from the OP. 
Without the patch, the run would hang in the middle of the test script.  With the 
patch, it should quickly complete with 4 unrelated errors mentioning MSG_OOB.

Thanks & Regards,

..mark

--- origsrc/Python-3.8.3/Modules/socketmodule.c 2020-05-13 
10:31:54.0-0700
+++ src/Python-3.8.3/Modules/socketmodule.c 2020-12-15 
21:00:15.373059900-0800
@@ -1030,6 +1030,14 @@ init_sockobject(PySocketSockObject *s,
 }
 }
 }
+#ifdef __CYGWIN__
+/* Temporarily work around AF_UNIX credential passing issues */
+if (s->sock_family == AF_UNIX && s->sock_fd != -1) {
+if (setsockopt(s->sock_fd, SOL_SOCKET, SO_PEERCRED, 0, 0) == -1) {
+return -1;
+}
+}
+#endif
 return 0;
 }



Re: Failure during build of Python 3.8 via cygport

2020-12-13 Thread Mark Geisert

Mark Geisert wrote:
This seems to be a problem setting up a platform-specific build directory. The 
sysconfig.py script wants to use "lib." + platform + pythonversion but the 
platform string somehow gets corrupted into non-utf8 bytes.  For instance, 
building Python 3.8 comes up with:

     lib.cygwin-\365\377\377o-\377o-3.8
as the directory name.  Broken, but could work.  The build failure happens because 
the script tries to write this directory name into a file but it's not a valid 
utf8 string.  The directory name should have been:

     lib.cygwin-3.2.0-x86_64-3.8


And the corruption is due to something about a recent change to the operation of 
Cygwin's uname() function.  The change was introduced in Cygwin API version 335; 
I'm running 340 on my test machine.  This being a fairly recent change might 
possibly explain why nobody else has run into this issue yet.


Basically, os.uname within Python is calling Cygwin's uname() passing the address 
of a buffer declared to be 'struct utsname'.  The structure layout changed in API 
335.  What I've hit is a mismatch between what Python expects and Cygwin delivers.


I'll move this discussion over to the developers list tomorrow.

..mark


Re: Failure during build of Python 3.8 via cygport

2020-12-11 Thread Mark Geisert

[replying to myself again...]

A similar problem happens when building 3.6 and 3.7 too.  Details at end.

On Wed, 9 Dec 2020, Mark Geisert wrote:

Hi Marco,
I was building Python locally so I can later submit a patch against it.  It 
appears the local python.exe was built successfully, but a later step failed 
with:



./python.exe -E -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
echo "generate-posix-vars failed" ; \
rm -f ./pybuilddir.txt ; \
exit 1 ; \
fi
Traceback (most recent call last):
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/runpy.py", 
line 194, in _run_module_as_main

return _run_code(code, main_globals, None,
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/runpy.py", 
line 87, in _run_code

exec(code, run_globals)
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py", 
line 711, in 

_main()
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py", 
line 699, in _main

_generate_posix_vars()
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py", 
line 416, in _generate_posix_vars

f.write(pybuilddir)
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 
17-19: surrogates not allowed

generate-posix-vars failed
make: *** [Makefile:592: pybuilddir.txt] Error 1
*** ERROR: make failed


I've seen UnicodeEncodeError before and searched and found how to fix it.. 
but hitting the issue while building Python itself seems more fraught.  Is 
this a known issue with known fix?


This seems to be a problem setting up a platform-specific build directory. 
The sysconfig.py script wants to use "lib." + platform + pythonversion but 
the platform string somehow gets corrupted into non-utf8 bytes.  For 
instance, building Python 3.8 comes up with:

lib.cygwin-\365\377\377o-\377o-3.8
as the directory name.  Broken, but could work.  The build failure happens 
because the script tries to write this directory name into a file but it's 
not a valid utf8 string.  The directory name should have been:

lib.cygwin-3.2.0-x86_64-3.8

I'm trying to debug further, learning Python as I go.  Whee

..mark


Failure during build of Python 3.8 via cygport

2020-12-09 Thread Mark Geisert

Hi Marco,
I was building Python locally so I can later submit a patch against it.  It 
appears the local python.exe was built successfully, but a later step failed with:



./python.exe -E -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
echo "generate-posix-vars failed" ; \
rm -f ./pybuilddir.txt ; \
exit 1 ; \
fi
Traceback (most recent call last):
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/runpy.py",
 line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/runpy.py",
 line 87, in _run_code
exec(code, run_globals)
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py",
 line 711, in 
_main()
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py",
 line 699, in _main
_generate_posix_vars()
  File 
"/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py",
 line 416, in _generate_posix_vars
f.write(pybuilddir)
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 17-19: 
surrogates not allowed
generate-posix-vars failed
make: *** [Makefile:592: pybuilddir.txt] Error 1
*** ERROR: make failed


I've seen UnicodeEncodeError before and searched and found how to fix it.. but 
hitting the issue while building Python itself seems more fraught.  Is this a 
known issue with known fix?

Thank you,

..mark


ATWIL ?

2020-10-27 Thread Mark Geisert

Does it mean "All The World Is Linux" or something else?

..mark


Re: cygwinports domains

2020-09-21 Thread Mark Geisert

Yaakov Selkowitz wrote:

My domain registrations cygwinports.com, cygwinports.net, and
cygwinports.org will expire very soon.  If anyone would like to adopt
them for the Cygwin project, please let me know ASAP.  Otherwise, I
will let them lapse.


Hi Yaakov,
I'm willing to adopt them if only to keep them out of the hands of potential 
mischief-makers.  Are you using the hosting facilities of the domain registrar?


I've been using Joker for domain management for years, and have transferred 
domains from other registrars.  Shouldn't be a big deal for these three.


Let me know if this sounds OK.  Either on this list or PM is OK.
Cheers,

..mark


Re: zsh 5.8: configure fails only on 32bit

2020-06-23 Thread Mark Geisert

Yasuhiro KIMURA wrote:

Thank you for reply, and sorry for late response.

From: ASSI 
Subject: Re: zsh 5.8: configure fails only on 32bit
Date: Sat, 13 Jun 2020 07:53:25 +0200


To me that indicates either BLODA interference or that you run into some
limit (e.g. on environment size or PATH length).

More generally I'd advise everyone to not build in your Windows user
directory (which Windows specially "protects" in various ways) and never
use any /cygdrive prefix while building packages (these are mounted with
posix=0 mount option by default).  If you have the option, use a
separate SSD for all of Cygwin and create a separate mount point for the
build directory that mounts with "posix=1,binary".  I haven't sprung for
full case sensitivity yet myself since that still entails mucking with
the registry more than I want to, but I've run into problems with that
once or twice (which I've worked around).  Install Cygwin into a
directory two levels down the root (i.e D:\Freeware\Cygwin) in order to
not get "special" treatment from Windows.  I have forgotten what the
exact problem was, but putting the Cygwin install directory directly
into the root triggered some BLODA several years ago.  Also if you use
Cygwin for yourself on that same machine it is better to have a separate
user account for building (I use a dedicated build machine).  Set
CYGWIN_NOWINPATH=1 in the system or user environment options of Windows
for the build user.  Be aware that some packages need to build or tested
with admin rights enabled (that's a whole 'nother reason to not use your
main account, as these days it shouldn't have admin rights at all),
which I generally have since I build via ssh.  Once in a while you'll
run into some test that fails until you aren't admin, in which case you
can use cygdrop.  Lastly, once you need to build GUI applications you
might want to be able to RDC into your build box, which means it should
have at least the "Professional" variant of Windows installed.


I tried what you say with newly clean installed 64bit Windows 10 Pro
1909. But problem still happens.

From: Marco Atzeri via Cygwin-apps 

Subject: Re: zsh 5.8: configure fails only on 32bit
Date: Sat, 13 Jun 2020 08:18:56 +0200


what cygwin version and terminal are you using ?
I saw a similar problem in the past

https://sourceware.org/pipermail/cygwin/2020-April/244363.html
https://sourceware.org/pipermail/cygwin-apps/2020-May/040107.html

and it went away with a recent cygwin


yasu@rolling[1070]% cygcheck -c cygwin mintty
Cygwin Package Information
Package  VersionStatus
cygwin   3.1.5-1OK
mintty   3.2.0-1OK
yasu@rolling[1071]%

And after number of trials and errors I add following definition of src_compile
function to zsh.cygport.

--
src_compile() {
 cd ${S}
 cygautoreconf
 cd ${B}
 dash ${S}/configure --srcdir=${S}  --prefix=$(__host_prefix) 
--exec-prefix=$(__host_prefix) --localstatedir=$(__host_localstatedir) 
--sysconfdir=$(__host_sysconfdir)  --infodir=$(__host_prefix)/share/info 
--mandir=$(__host_prefix)/share/man -C --enable-function-subdirs --enable-gdbm 
--enable-multibyte --enable-pcre --enable-zsh-secure-free || error "configure 
failed"
 cygmake
}
--

This is same as default definition except that dash is used to
interpret configure script. And with it build succeeded on 32bit
Cygwin console. So It seems I hit bug of bash that only happens under
very limited conditions.

And I'm wondering if I should investigate the problem further or
accept adding the function definition as a workaround.


Not sure if your end result will be a patch to the Cygwin zsh package or an ITA 
of same.  In either case it seems like the Cygwin zsh maintainer (Peter A. 
Castro) ought to be brought into this conversation...


..mark


"non-unique current versions" error from calm

2020-04-13 Thread Mark Geisert
I tried uploading my re-spin of util-linux (2.33.1-2) but received the 
following error report on both x86_64 and x86 uploads:


ERROR: install packages from source package 'e2fsprogs' have non-unique
current versions 2.33.1-2 (uuidd), 1.44.5-1 (4 others)

I see it's talking about sub-packages of util-linux, but ISTM that even 
the prior upload of 2.33.1-1 long ago should have provoked this error.


I've looked around a bit locally in hopes of figuring this out, but no 
luck.  I can't tell if this is something I could/should fix with a manual 
"version: 2.33.1-2" added to the appropriate hint files before upload, or 
something that needs fixing or cleanout on sourceware.


Any leads appreciated...  Thanks!

..mark


[ITA] util-linux

2020-04-06 Thread Mark Geisert
I'd like to adopt util-linux from Yaakov if that's possible.  To that end 
I've re-spun the current (for Cygwin) 2.33.1 release with additional 
patches to enable building 'taskset' and 'chrt'.  Taskset works, chrt 
"works" but can't do anything useful.  Tested both 64- and 32-bit Cygwin.


I've placed a copy of the source tarball at
http://maxrnd.com/~mark/cygwin/util-linux/util-linux-2.33.1-2-src.tar.xz
for your reviewing pleasure.  I'd appreciate any comments or corrections.
Thanks,

..mark


util-linux update?

2020-03-03 Thread Mark Geisert

Hi Yaakov,
May I update the version of util-linux available on Cygwin?  Your cygport 
file for the current 2.33.1 seems to work fine for the latest 2.35.1.


I would add a patch file 2.33.1-cygwin-cpuset.patch (see attached) and 
update the cygport file to reference this additional patch and remove the 
"--disable-schedutils" from CYGCONF_ARGS.  With these changes a working

'taskset.exe' will be an additional build output.

I would package the latest util-linux 2.35.1 unless you'd prefer some 
intermediate version.

Thank you,

..mark
--- origsrc/util-linux-2.33.1/lib/cpuset.c  2018-06-04 00:57:02.792445800 
-0700
+++ src/util-linux-2.33.1/lib/cpuset.c  2020-01-11 00:37:39.126054200 -0800
@@ -60,7 +60,7 @@ static const char *nexttoken(const char
  */
 int get_max_number_of_cpus(void)
 {
-#ifdef SYS_sched_getaffinity
+#if defined(SYS_sched_getaffinity) || defined(__CYGWIN__)
int n, cpus = 2048;
size_t setsize;
cpu_set_t *set = cpuset_alloc(cpus, , NULL);
@@ -72,7 +72,11 @@ int get_max_number_of_cpus(void)
CPU_ZERO_S(setsize, set);
 
/* the library version does not return size of cpumask_t */
+#if defined(__CYGWIN__)
+   n = __sched_getaffinity_sys(0, setsize, set);
+#else
n = syscall(SYS_sched_getaffinity, 0, setsize, set);
+#endif
 
if (n < 0 && errno == EINVAL && cpus < 1024 * 1024) {
cpuset_free(set);


Towards support of taskset(1) within util-linux package

2019-06-24 Thread Mark Geisert

Hi Yaakov,
I patched util-linux locally to build the 'taskset' tool so I could test 
my implementation of the get- and set-affinity functions within Cygwin. 
The implementation will be part of the upcoming Cygwin 3.1.0 release.


I'm not sure how to manipulate the build environment so I could supply a 
'git send-mail' of a 'git format-patch' that would be usable to you.
I hope the following 'diff -u' outputs will be useful; but if you'd prefer 
a different format just let me know.


Thank you for all your work on Cygwin!

..mark

cd /usr/src/util-linux-2.33.1-1.src
diff -u util-linux.cygport.safe util-linux.cygport
--- util-linux.cygport.safe 2019-03-05 12:07:51.0 -0800
+++ util-linux.cygport  2019-05-23 22:43:40.520885600 -0700
@@ -147,7 +147,6 @@
   --enable-more
   --enable-pg
   --disable-setterm
-  --disable-schedutils
   --disable-wall
   --disable-write
   --disable-use-tty-group

cd util-linux-2.33.1-1.x86_64/src/util-linux-2.33.1/lib 
diff -u cpuset.c.safe cpuset.c

--- cpuset.c.safe   2018-06-04 00:57:02.792445800 -0700
+++ cpuset.c2019-06-21 01:36:44.078702800 -0700
@@ -60,7 +60,7 @@
  */
 int get_max_number_of_cpus(void)
 {
-#ifdef SYS_sched_getaffinity
+#if defined(SYS_sched_getaffinity) || defined(__CYGWIN__)
int n, cpus = 2048;
size_t setsize;
cpu_set_t *set = cpuset_alloc(cpus, , NULL);
@@ -71,8 +71,12 @@
for (;;) {
CPU_ZERO_S(setsize, set);

+#if defined(__CYGWIN__)
+   n = sched_getaffinity(0, setsize, set);
+#else
/* the library version does not return size of cpumask_t */
n = syscall(SYS_sched_getaffinity, 0, setsize, set);
+#endif

if (n < 0 && errno == EINVAL && cpus < 1024 * 1024) {
cpuset_free(set);



Re: setup 2.894 release candidate - please test

2018-10-15 Thread Mark Geisert

Corinna Vinschen wrote:

On Oct 14 13:29, Achim Gratz wrote:

Marco Atzeri writes:

May I have a hippo for Jon ?


+1


+1


+1
Looks and works great in my limited testing.

..mark



Re: [PATCH libtirpc] Disable libtirpc's own bindresvport{,_sa}() in favor of Cygwin's

2018-02-07 Thread Mark Geisert

Yaakov Selkowitz wrote:

On 2018-02-07 01:29, Mark Geisert wrote:

I don't have libtirpc in git so I'm submitting a text patch.  Sorry for
any inconvenience.  This is Cygwin-specific and against
src/bindresvport.c of libtirpc 1.0.1.  Unsure if it ought to go
upstream; appreciate input on that.


As Eric mentioned, ed-script diffs are useless.  Nonetheless, I have
been following the discussion, and the correct fix is:

https://github.com/cygwinports/libtirpc/blob/master/1.0.2-cygwin-bindresvport.patch

libtirpc 1.0.2-2 is on its way to the mirrors.



Thank you for following the discussion and reworking the patch, Yaakov.
Cheers,

..mark


Re: [PATCH libtirpc] Disable libtirpc's own bindresvport{,_sa}() in favor of Cygwin's

2018-02-07 Thread Mark Geisert

Brian Inglis wrote:

On 2018-02-07 08:38, Eric Blake wrote:

On 02/07/2018 01:29 AM, Mark Geisert wrote:

I don't have libtirpc in git so I'm submitting a text patch.  Sorry for any
inconvenience.  This is Cygwin-specific and against src/bindresvport.c of
libtirpc 1.0.1.  Unsure if it ought to go upstream; appreciate input on that.
Thanks much,

..mark

8<
35a36,38
 > /* On Cygwin prefer Cygwin's bindresvport{,_sa}() to portable version here */


An ed-script diff is practically useless; without context, it is too easy to
misapply the patch if the file has been edited differently in the meantime.
ALWAYS use 'diff -u' (what git does by default) or 'diff -c' when generating a
patch, so that it has proper context.


Also mandatory to add -p, --show-c-function for patches, and in general for
directory or recursive patch diffs -N, --new-file so new files are diffed as if
against an empty file; --strip-trailing-cr is useful if some files may have CRs.



Understood.  Thanks for the advice.  I knowingly took a risk here on the 
assumption nobody else would be working on this specific file.  But with your 
advice I don't need to take that kind of risk again.  And the patch will be more 
robust too.

Cheers,

..mark


[PATCH libtirpc] Disable libtirpc's own bindresvport{,_sa}() in favor of Cygwin's

2018-02-06 Thread Mark Geisert
I don't have libtirpc in git so I'm submitting a text patch.  Sorry for any 
inconvenience.  This is Cygwin-specific and against src/bindresvport.c of 
libtirpc 1.0.1.  Unsure if it ought to go upstream; appreciate input on that.

Thanks much,

..mark

8<
35a36,38
> /* On Cygwin prefer Cygwin's bindresvport{,_sa}() to portable version here */
> #if !defined(__CYGWIN__)
>
247a251,252
>
> #endif /* !defined(__CYGWIN__) */


Re: libtool not finding /usr/lib/libintl.la or what?

2017-07-01 Thread Mark Geisert

On Sat, 1 Jul 2017, Marco Atzeri wrote:

On 01/07/2017 07:47, Mark Geisert wrote:

Esteemed co-conspirators,
I've been pulling my hair out trying to build a new cygutils package on
32-bit Cygwin.  The exact same source package builds fine on 64-bit but
32-bit fails with the following...

  CC   src/ipc/semstat.o
  CXX  src/cygdrop/src_cygdrop_cygdrop-cygdrop.o
  CCLD src/cygicons/libicons.la
  CCLD src/banner/banner.exe
libtool:   error: cannot find the library '/usr/lib/libintl.la' or
unhandled argument '/usr/lib/libintl.la'


it is pulled by /usr/lib/libpopt.la.


try

$ cd /usr/lib
$ mv libpopt.la libpopt.la_bk

and run again make in build


Amazing.  That does work.  But what is the correct way to deal with this 
when some random user wants to build 32-bit cygutils from source?  Should 
the build procedure actually do what you suggested?  I could not figure 
out which package supplies (or used to supply) libintl.la for 32 bits.

Thanks much,

..mark


libtool not finding /usr/lib/libintl.la or what?

2017-06-30 Thread Mark Geisert

Esteemed co-conspirators,
I've been pulling my hair out trying to build a new cygutils package on 
32-bit Cygwin.  The exact same source package builds fine on 64-bit but 
32-bit fails with the following...


make[2]: Entering directory 
'/usr/src/cygutils-test/cygutils-1.4.16-1.i686/build'
  CCRC   src/cygicons/cygicons.lo
  CC   src/banner/banner.o
  CC   src/clip/getclip.o
  CC   src/clip/putclip.o
  CC   src/cygstart/cygstart.o
  CXX  src/lpr/Printer.o
  CXX  src/lpr/Win32Utils.o
  CXX  src/lpr/lpr.o
  CC   src/mkshortcut/mkshortcut.o
  CC   src/readshortcut/readshortcut.o
  CC   src/winln/winln.o
  CC   src/conv/conv.o
  CC   src/dump/dump.o
  CC   src/ipc/semtool.o
  CC   src/ipc/shmtool.o
  CC   src/ipc/msgtool.o
  CC   src/ipc/semstat.o
  CXX  src/cygdrop/src_cygdrop_cygdrop-cygdrop.o
  CCLD src/cygicons/libicons.la
  CCLD src/banner/banner.exe
libtool:   error: cannot find the library '/usr/lib/libintl.la' or unhandled 
argument '/usr/lib/libintl.la'
make[2]: *** [Makefile:848: src/banner/banner.exe] Error 1
make[2]: *** Waiting for unfinished jobs
make[2]: Leaving directory '/usr/src/cygutils-test/cygutils-1.4.16-1.i686/build'
make[1]: *** [Makefile:1352: all-recursive] Error 1
make[1]: Leaving directory '/usr/src/cygutils-test/cygutils-1.4.16-1.i686/build'
make: *** [Makefile:687: all] Error 2
*** ERROR: make failed

None of the source files make use of internationalization yet.  Package 
author Charles Wilson made the package i18n-ready in case a future 
addition to the package needed it.  There weren't any issues building for 
32-bit on the last go-round ~1.5 years ago.


Does anybody recognize the issue?  Thanks for any leads.
Yours in frustration,

..mark


Re: cygfuse

2016-09-20 Thread Mark Geisert

On Tue, 20 Sep 2016, Bill Zissimopoulos wrote:

On 9/8/16, 1:03 AM, Mark Geisert wrote:

I've changed Subject: to reflect what's being discussed now.  When we
have a
consensus cygfuse I'll issue an ITP for it.

I've now updated the cygfuse repository on GitHub so it is more neutral
about
FUSE implementations.  It can be seen at
https://github.com/mgeisert/cygfuse .

I've also read up a little on Dokan and Dokany, so I should be able to
better
respond to any comments Adrien might have about the updated cygfuse.


Mark, has there been any additional progress on this?


No activity. I was not expecting Dokany to be fully integrated before 
ITPing cygfuse, but I had hoped to hear at least that the layout of FUSE 
include files works for them (or doesn't) and that the strategy of dynamic 
loading Dokany's DLL is workable for them too.



Looking at the updated cygfuse I believe one change would be to rename
cygfuse.pc back to fuse.pc so that build configuration scripts can find
it. I have created a github issue for this.


I've now made those changes and updated the GitHub issue. Should the URL 
named in fuse.pc.in now point at the GitHub cygfuse project?



Other than that I would think that the package would be ready for
submission. Any changes to support additional projects like Dokany, etc.
could easily happen in the future when those projects are ready.


Agreed. It would be neet though to find out sooner rather than later 
whether some other FUSE implementation can coexist with WinFSP. I don't 
have the bandwidth to check Dokany or any others myself despite interest.


..mark


Re: [ITP] FUSE 2.8

2016-09-08 Thread Mark Geisert

Herbert Stocker wrote:

Maybe somebody wants to use WinFSP for Windows programs and Dokan for
Cygwin programs. There should be some user setting for the case both
are installed. Maybe some cygfuse-admin command could do the job.


This kind of flexibility would be nice.  We can of course only control the 
Cygwin environment though.  As a first cut I've implemented an environment 
variable CYGFUSE that can be set to either "WinFSP" or "Dokany" (any case 
allowed) to select which FUSE DLL to load at runtime.

Thanks,

..mark



cygfuse (was Re: [ITP] FUSE 2.8)

2016-09-08 Thread Mark Geisert

Mark Geisert wrote:
[... some stuff ...]

I've changed Subject: to reflect what's being discussed now.  When we have a 
consensus cygfuse I'll issue an ITP for it.


I've now updated the cygfuse repository on GitHub so it is more neutral about 
FUSE implementations.  It can be seen at https://github.com/mgeisert/cygfuse .


I've also read up a little on Dokan and Dokany, so I should be able to better 
respond to any comments Adrien might have about the updated cygfuse.

Thanks all,

..mark



Re: [ITP] FUSE 2.8

2016-09-06 Thread Mark Geisert

Hi Adrien,
I want to dig a little further into this...

Adrien JUND wrote:

I have tried to see how to integrate Dokan in cygfuse and it is
currently hard linked to WinFSP and makes hard the integration for
others FS.
A neutral interface with common operations should be made to fix the situation.


Cygfuse is intended to be the neutral interface.  I'll be making cosmetic 
changes to it to make it more clear what belongs to cygfuse and what belongs to 
FUSE implementation DLLs loaded by cygfuse.


Does the strategy of testing something in the environment for existence of 
Dokan, then if found, load a Dokan-specific DLL sound workable for you?  I want 
to be sure I'm not assuming too much about what FUSE implementations provide.


If you can be more specific about the gap between cygfuse as it is now and 
cygfuse being usable for you, please feel free.  You could also wait for a 
cosmetically updated cygfuse which I hope to have in "a few days" modulo real 
life interruptions.

Thanks much,

..mark



Re: [ITP] FUSE 2.8

2016-09-05 Thread Mark Geisert

Adrien JUND wrote:

Separate from that, it's been a little work disentangling the meaning of 
various names used for this project.  Here's what I think the names mean:

FUSE - a protocol, which exists in different versions
WinFSP - a Windows-native DLL mapping FUSE 2.8 ops to/from Windows file ops
cygfuse - a Cygwin DLL allowing Cygwin SSHFS and FUSEPY to use WinFSP

If that's correct, I'd like to regularize the names of things in the proposed 
cygfuse package to accurately reflect their meaning.  E.g., change fuse.cygport 
to cygfuse.cygport, etc.  The doc inside some files might need updating.


About cygfuse description, does the goal of cygfuse is not to wrappe
FUSE API for user land file systems like Dokan, WinFSP, CBFS, and
others ?

I have tried to see how to integrate Dokan in cygfuse and it is
currently hard linked to WinFSP and makes hard the integration for
others FS.
A neutral interface with common operations should be made to fix the situation.


I believe all interested parties have agreed we want to support multiple FUSE 
implementations.  cygfuse is intended to be the connector between a FUSE 
implementation and Cygwin versions of FUSE apps like SSHFS and FUSEPY.  The idea 
was to allow different FUSE implementations (e.g., WinFSP, Dokan, etc) under the 
hood without having to modify the Cygwin level apps SSHFS, FUSEPY, etc to match.


As currently implemented, cygfuse is hardwired to work with WinFSP.  That's only 
a consequence of cygfuse having been provided by WinFSP's author.  The plan is 
to extend cygfuse so that it can support multiple FUSE implementations of which 
one is selected at runtime.


Currently, if WinFSP is installed on the system (determined by the existence of 
a particular registry key) then cygfuse attaches to the WinFSP DLL.  This code 
needs to be extended to check whether Dokan is installed (determined by some 
mechanism TBD) and then attach to Dokan's DLL.  And so on for other future 
implementations.


I'm trying to get my understanding of the pieces and naming correct in order to 
modify the cygfuse code to be more generic and less tied to WinFSP.


..mark


Re: [ITP] FUSE 2.8

2016-09-05 Thread Mark Geisert

Bill Zissimopoulos wrote:

Mark, hi:

On 8/22/16, 12:43 PM, cygwin-apps-ow...@cygwin.com on behalf of Mark
Geisert wrote:

>

I'm debugging some faulting test programs so this cygfuse code doesn't
seem fully ready for prime time just yet.  I'm sure Bill had it working
so
it's likely to be some kind of local issue, so it's mine to solve.


While still on vacation I now have reliable access to the Internet and am
able to follow up on any issues. Please let me know what the issue you are
seeing is and I will try to help.


Sorry for the delay.  I've 'git clone'd the cygfuse repository and have been 
poking around, building and testing things.  'make cygfuse-test.exe' does build 
a cygfuse-test.exe but running it yields a core dump.  Exit status is 134.


I'm just running it without any args.  Is that abort a symptom of not having the 
WinFSP driver loaded, or something else?  Cygfuse works for both 32- and 64-bit 
Windows environments, right (assuming you're running the correct one)?


Separate from that, it's been a little work disentangling the meaning of various 
names used for this project.  Here's what I think the names mean:


FUSE - a protocol, which exists in different versions
WinFSP - a Windows-native DLL mapping FUSE 2.8 ops to/from Windows file ops
cygfuse - a Cygwin DLL allowing Cygwin SSHFS and FUSEPY to use WinFSP

If that's correct, I'd like to regularize the names of things in the proposed 
cygfuse package to accurately reflect their meaning.  E.g., change fuse.cygport 
to cygfuse.cygport, etc.  The doc inside some files might need updating.


I wasn't sure from Corinna's comments a while back (re hosting this package) 
whether she thought cygfuse should be part of Cygwin, as in placed in the Cygwin 
source tree, or just conveniently hosted on the Cygwin GitHub area.


That's where I'm at.  Thanks for reading.

..mark


Re: [ITP] FUSE 2.8

2016-08-22 Thread Mark Geisert

On Wed, 17 Aug 2016, Corinna Vinschen wrote:

Mark, did you find out how to move the repo under the Cygwin org
in the meantime?  Is it the "Import repository" functionality by
any chance?


Hi Corinna,
Bill and I worked it out on a different thread of this conversation.  I
currently have a public repo mgeisert/cygfuse on GitHub.  That seemed to be
sufficient to me as maintainer.  Does it need to be moved under cygwin/ ?
If yes, it looks like "Import Repository" is a way to do it.


It doesn't *need* to be but it would be neat and helpful to have
closley Cygwin-related projects in the Cygwin org.


I don't have any objection to that in principle.  It's hard for me to tell 
if this project qualifies that way, though.  Conceptually it's kind of 
like a VFS layer, but the core functionality is in Bill's separate 
Windows-native WinFSP dll.  The Cygwin end of things is just a bunch of 
wrappers around WinFSP calls all collected in a Cygwin dll.  (BTW, I don't 
see how transparency is supposed to work in a setup like this.)



I was planning to make sure the package Bill supplied met all the
requirements for a Cygwin package.  I figure it's real close but there was
something I wasn't sure about and needed to research further, then real life
intervened.  Something to do with where its cygport file was getting package
source from.


Directly from git?  See, e.g., the cygwin package's cygport.


OK.  The cygfuse.cygport file is referring to Bill's separate GitHub space 
for source code.  Not sure it ought to do that.  Either my GitHub space 
(as I'm the Cygwin cygfuse maintainer) or Cygwin's GitHub space seems 
better.


I'm debugging some faulting test programs so this cygfuse code doesn't 
seem fully ready for prime time just yet.  I'm sure Bill had it working so 
it's likely to be some kind of local issue, so it's mine to solve.


..mark


Re: [ITP] FUSE 2.8

2016-08-17 Thread Mark Geisert

Corinna Vinschen wrote:

On Jul 29 11:48, Corinna Vinschen wrote:

On Jul 29 02:15, Mark Geisert wrote:

Corinna Vinschen wrote:

On Jul 29 01:19, Mark Geisert wrote:

Bill Zissimopoulos wrote:

On 7/28/16, 5:17 PM, Bill Zissimopoulos wrote:

Ok. I did the transfer (twice, because of some ambiguous GitHub messages).
Someone from cygwin’s side has to accept the repo within a day according
to GitHub.


Turns out I can transfer a repo to another user, but not to an
organization that I do not have admin rights for:

   From github’s transfer repo instructions:
<<
Transfer this repository to another user or to an organization where you
have admin rights.





FWIW I've signed up with GitHub with username mgeisert.  I think I need to
be invited to join the cygwin@github org.  Then maybe I can transfer your
repo to me?  Corrections welcome...


I invited you with email mark AT maxrnd DOT com

There appears to be a user account called mgeisert, but it has no further
info attached, not even a name.


Thanks Corinna, I've accepted the invite and filled in my profile a bit.
How would I/we accept the repo as Bill mentions above?  Then I guess a
transfer needs to be done after that?


I really don't know, sorry.  I'm not actually using github a lot since
the cygwin repo is only mirrored to github.  I'd guess there's some
kind of documentation on github explaining stuff like that...?


Mark, did you find out how to move the repo under the Cygwin org
in the meantime?  Is it the "Import repository" functionality by
any chance?


Hi Corinna,
Bill and I worked it out on a different thread of this conversation.  I 
currently have a public repo mgeisert/cygfuse on GitHub.  That seemed to be 
sufficient to me as maintainer.  Does it need to be moved under cygwin/ ?  If 
yes, it looks like "Import Repository" is a way to do it.


I was planning to make sure the package Bill supplied met all the requirements 
for a Cygwin package.  I figure it's real close but there was something I wasn't 
sure about and needed to research further, then real life intervened.  Something 
to do with where its cygport file was getting package source from.


..mark


Re: [ITP] FUSE 2.8

2016-07-29 Thread Mark Geisert

Bill Zissimopoulos wrote:

On 7/29/16, 1:19 AM, Mark Geisert wrote:



FWIW I've signed up with GitHub with username mgeisert.  I think I need
to be
invited to join the cygwin@github org.  Then maybe I can transfer your
repo to
me?  Corrections welcome...


Hey, Mark. I just transferred the cygfuse repo under your name. Thanks.


Great!  Thank you Bill for your contribution of Cygwin support for WinFSP.
Have a nice time AWOL :).

..mark



Re: [ITP] FUSE 2.8

2016-07-29 Thread Mark Geisert

Corinna Vinschen wrote:

On Jul 29 01:19, Mark Geisert wrote:

Bill Zissimopoulos wrote:

On 7/28/16, 5:17 PM, Bill Zissimopoulos wrote:

Ok. I did the transfer (twice, because of some ambiguous GitHub messages).
Someone from cygwin’s side has to accept the repo within a day according
to GitHub.


Turns out I can transfer a repo to another user, but not to an
organization that I do not have admin rights for:

  From github’s transfer repo instructions:
<<
Transfer this repository to another user or to an organization where you
have admin rights.





FWIW I've signed up with GitHub with username mgeisert.  I think I need to
be invited to join the cygwin@github org.  Then maybe I can transfer your
repo to me?  Corrections welcome...


I invited you with email mark AT maxrnd DOT com

There appears to be a user account called mgeisert, but it has no further
info attached, not even a name.


Thanks Corinna, I've accepted the invite and filled in my profile a bit.  How 
would I/we accept the repo as Bill mentions above?  Then I guess a transfer 
needs to be done after that?


..mark



Re: [ITP] FUSE 2.8

2016-07-29 Thread Mark Geisert

Bill Zissimopoulos wrote:

On 7/28/16, 5:17 PM, Bill Zissimopoulos wrote:

Ok. I did the transfer (twice, because of some ambiguous GitHub messages).
Someone from cygwin’s side has to accept the repo within a day according
to GitHub.


Turns out I can transfer a repo to another user, but not to an
organization that I do not have admin rights for:

 From github’s transfer repo instructions:
<<
Transfer this repository to another user or to an organization where you
have admin rights.





FWIW I've signed up with GitHub with username mgeisert.  I think I need to be 
invited to join the cygwin@github org.  Then maybe I can transfer your repo to 
me?  Corrections welcome...


..mark



Re: [ITP] FUSE 2.8

2016-07-29 Thread Mark Geisert

Bill Zissimopoulos wrote:

Hi, Mark:

On 7/28/16, 10:29 AM, Mark Geisert wrote:



Please be mindful if you intend to test that the current released
binary
of WinFsp does not support Windows 7. This is because the last release
erroneously uses a Windows 8 only API (GetOverlappedResultEx).


It's your call obviously but do you want to forgo Win 7 support when
many
of the
kind of developers who might be interested in FUSE on Windows are
delaying or
not bothering to upgrade to Win 8.x or Win 10 for various reasons?


I agree. Win7 support will return soon. I am trying to get this fixed
before I leave tomorrow, but I also have some real (as in paying) work
to
do so no guarantees.


Just wanted to let you know that I have made a new public release of
WinFsp, which should correctly work on all versions of Windows 7 and above.

You can download it from here:
http://www.secfs.net/winfsp/download/


Excellent!  Thanks for your patience and diligence on this.  I look forward to 
using WinFSP and taking over maintenance of the Cygwin end of it.

Cheers,

..mark


Re: [ITP] FUSE 2.8

2016-07-28 Thread Mark Geisert

Bill Zissimopoulos wrote:

On 7/28/16, 1:04 PM, Corinna Vinschen wrote:



On Jul 28 19:13, Bill Zissimopoulos wrote:

Mark:


I agree with how you want to adjust license and transfer ownership.  I
don't
have a presence on GitHub but I should be able to grab cygfuse anyway.


Thank you very much for agreeing to become the maintainer for [CYGFUSE].
Please consider this post as my public announcement that I am
relicensing
the [CYGFUSE] files under the BSD 2-clause license and that I am
assigning
maintainership to Mark.

The project has been updated with a README and a LICENSE file that state
the same. Source files have been updated to reflect the license change
as
well.

Mark, if at some point you do get a github account, I will be happy to
transfer ownership of the project as well. In the mean time do you have
somewhere where you intend to host it?


github Cygwin org?

https://github.com/cygwin

Every Cygwin-related project is welcome.


If Mark agrees, I am happy to transfer ownership of the github repo to the
cygwin@github.


Sounds like a fine idea!

..mark



Re: [ITP] FUSE 2.8

2016-07-28 Thread Mark Geisert

Bill Zissimopoulos wrote:

Mark:


I agree with how you want to adjust license and transfer ownership.  I
don't
have a presence on GitHub but I should be able to grab cygfuse anyway.


Thank you very much for agreeing to become the maintainer for [CYGFUSE].
Please consider this post as my public announcement that I am relicensing
the [CYGFUSE] files under the BSD 2-clause license and that I am assigning
maintainership to Mark.

The project has been updated with a README and a LICENSE file that state
the same. Source files have been updated to reflect the license change as
well.

Mark, if at some point you do get a github account, I will be happy to
transfer ownership of the project as well. In the mean time do you have
somewhere where you intend to host it?

Regards,
Bill Zissimopoulos

[CYGFUSE]: https://github.com/billziss-gh/cygfuse


I'll likely host it from my private http/ftp server at maxrnd.com, at least 
initially.  The cygutils package was there for review so I know it would work. 
I've been looking at some of the public repositories over time but haven't moved 
to one, largely because I haven't really needed it.


OK on your changes above including the minor correction you made afterwards.
Cheers,

..mark



Re: [ITP] FUSE 2.8

2016-07-28 Thread Mark Geisert

Bill Zissimopoulos wrote:

On 7/28/16, Mark Geisert wrote:

Bill Zissimopoulos wrote:

Please be mindful if you intend to test that the current released binary
of WinFsp does not support Windows 7. This is because the last release
erroneously uses a Windows 8 only API (GetOverlappedResultEx).


It's your call obviously but do you want to forgo Win 7 support when many
of the
kind of developers who might be interested in FUSE on Windows are
delaying or
not bothering to upgrade to Win 8.x or Win 10 for various reasons?


I agree. Win7 support will return soon. I am trying to get this fixed
before I leave tomorrow, but I also have some real (as in paying) work to
do so no guarantees.


Is there an alternative to that particular API that would allow Win 7
support?


This particular problem has been fixed by a combination of
WaitForSingleObject and GetOverlappedResult (GetOverlappedResultEx is
really a wrapper around WaitForSingeObject). But I have also discovered
another issue that is less trivial.


Argh.


Your detailed build instructions worked fine for me.  I'll be unable to
test
until I set up a Win 8.x or Win 10 VM at some point.  But so far so good.


I am going to really try to get that Win 7 supporting build out by the end
of Thursday (Pacific time).


That's the timezone I'm in.  I'll see what's going on later tonight :) .


Since this cygfuse glue DLL is a separate package from your FUSE
implementation,
I guess it'll need a separate ITP.  Will you do the initial package
upload and
then turn maintainership over to me, or would you prefer I own the
package from
the start?  Either way OK with me.  I guess whoever will be doing the
initial
upload should be the ITP submitter as well.


Actually my ITP submission is this cygfuse DLL. Based on what you write
above it looks like you are happy to become the maintainer(?). If yes, it
would perhaps make sense for you to resubmit the package.

Please let me know if you agree and I will place the package under the BSD
and transfer ownership to you on GitHub.


My mistake.  I thought your FUSE implementation had to be compiled for Cygwin, 
in order to make use of the cygfuse glue logic.  But instead you have a native 
Windows FUSE implementation?  Won't you have ABI (not API) problems connecting 
those two pieces, depending on how the FUSE guts are implemented?  Apologies if 
you've sorted that all out; don't want to hold you up talking about solved aspects.


I agree with how you want to adjust license and transfer ownership.  I don't 
have a presence on GitHub but I should be able to grab cygfuse anyway.

Thanks much,

..mark


Re: [ITP] FUSE 2.8

2016-07-28 Thread Mark Geisert

Bill Zissimopoulos wrote:

Please be mindful if you intend to test that the current released binary
of WinFsp does not support Windows 7. This is because the last release
erroneously uses a Windows 8 only API (GetOverlappedResultEx).


It's your call obviously but do you want to forgo Win 7 support when many of the 
kind of developers who might be interested in FUSE on Windows are delaying or 
not bothering to upgrade to Win 8.x or Win 10 for various reasons?


Is there an alternative to that particular API that would allow Win 7 support?


PS: I am going AWOL this Friday.


If you don't mind my asking, do you mean for the day, for a couple
weeks, for ever, ???


:-D

Sorry! I am realizing now this could be taken in a darker way than I
intended. I just meant I am going on vacation and that I have to attend to
some family matters. It is likely I will not be able to participate in
discussions for a few weeks.


Appreciate knowing the time frame :).

Your detailed build instructions worked fine for me.  I'll be unable to test 
until I set up a Win 8.x or Win 10 VM at some point.  But so far so good.


Since this cygfuse glue DLL is a separate package from your FUSE implementation, 
I guess it'll need a separate ITP.  Will you do the initial package upload and 
then turn maintainership over to me, or would you prefer I own the package from 
the start?  Either way OK with me.  I guess whoever will be doing the initial 
upload should be the ITP submitter as well.

Thanks,

..mark



Re: [ITP] FUSE 2.8

2016-07-27 Thread Mark Geisert
Bill Zissimopoulos writes:
> To test that things work, clone my sshfs repo from:
> 
> https://github.com/billziss-gh/sshfs
> 
> And issue the following commands:
> 
> $ autoreconf -i
> $ ./configure

On my test machine (Win7 64, Cygwin 64) I get the errors shown below.  
But first let me ask...

> PS: I am going AWOL this Friday.

If you don't mind my asking, do you mean for the day, for a couple 
weeks, for ever, ???
Thanks,

..mark

Here is the tail end of the ./configure output:
8<
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for library containing dlsym... none required
checking OpenSSH version... 6.9 >= 4.4, disabling NODELAY workaround
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SSHFS... no
configure: error: Package requirements (fuse >= 2.3 glib-2.0 gthread-
2.0) were not met:

No package 'fuse' found
No package 'glib-2.0' found
No package 'gthread-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables SSHFS_CFLAGS
and SSHFS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
>8

The following shows I have glib2 installed.  I can't find a gthread 
package for Cygwin.  I've compiled cygfuse; what cygport command will 
satisfy the package reference for configure (newbie question this)?

$ cygcheck -c | egrep 'fuse|glib|gthread'
libglib2.0_0   2.46.2-4  OK




Re: [ITP] FUSE 2.8

2016-07-26 Thread Mark Geisert
Bill Zissimopoulos writes:
> BTW, here is another alternative that I have been mulling around.
> 
[...]

Very interesting.  I'll need a little more time to investigate; github is 
throwing unicorns at the moment.

Could the Dokany folks consider whether this kind of wrapping might work 
for them too?  I'm guessing they'll have a different a list of symbols to 
be dlsym'd (unless there's a common API) and possibly a different method 
to determine whether their driver is installed.

If this turns out to be a workable solution, I am willing to be maintainer 
of the glue library Bill is offering.
Thanks,

..mark

--
captcha: durability




Re: [ITP] FUSE 2.8

2016-07-26 Thread Mark Geisert
Adrien JUND writes:
> >You could define a package "fuse" with no contents and a dependency 
on
> >package "winfsp-fuse".  Then later when/if another FUSE 
implementation
> >becomes available, "somebody" could replace the "fuse" package with
> >whatever is required to get alternatives support for the variants.

> I have not officially open request now but right after we found a
> solution to handle fuse wrapper packages,
> I will apply for dokan as well as winfsp.
> 
> Also, I think that packages binary dependent to a fuse wrapper would 
not work
> if it is another wrapper that is installed.
> So shall we not just let the package dependent to fuse, explicit the
> wrapper that he will use ?

Erm, I'm belatedly comprehending it's two independent FUSE 
implementations and not two versions with some common history.  OK.  If 
there's a documented binary API at some level of the FUSE definition 
that both implementations provide then that's what the proposed "fuse" 
package could export.  Both implementations would then independently 
supply code that meets the API.  I'm not sure how much extra work this 
means for both projects.

If a common API-level interface is unworkable for whatever reason, then 
we'll just have to live with two independent fuse implementations.  
Tools like sshfs will have to be supplied by both projects and will only 
work with the correct underlying FUSE implementation.

Something alternatives-like would be nice for an end user to switch 
between implementations, but I don't know if that's workable.  Should it 
be possible to have both implementations installed at the same time?

..mark

--
captcha: homely



Re: [ITP] FUSE 2.8

2016-07-26 Thread Mark Geisert
Bill Zissimopoulos writes:
> - Rename the package to winfsp-fuse, but have it somehow “satisfy”
> packages that require “fuse” (e.g. SSHFS, FUSEPY). This would allow
> multiple *-fuse packages to exist in the setup database and the user
> chooses which one they want. My understanding based on Marco’s answer is
> that this is not currently supported by Cygwin’s dependency system.

You could define a package "fuse" with no contents and a dependency on 
package "winfsp-fuse".  Then later when/if another FUSE implementation 
becomes available, "somebody" could replace the "fuse" package with 
whatever is required to get alternatives support for the variants.

I'm wondering if "fuse-" is a better name template than "-fuse" in 
order to keep the variants near each other in setup.exe's displays.

..mark

Re: unison-2.48 build fails with latest ocaml and flexdll (ping: Yaakov, Damien)

2016-04-29 Thread Mark Geisert

Mark Geisert wrote:

the relocation error is different in a 5.3.0 object than a 4.9.2 object such as

 ^ 4.8.2


So for your case I'd first try rebasing flexdll.so down to 0xeff3 (you
may collide with something else so pay attention to rebase complaints and try a
different address if necessary).  If that doesn't help then try rebuilding
flexdll.so with gcc 5.3.0 if it is currently being built with an older gcc.


Mis-stated the 2nd incantation.  Try rebuilding the thing that's linking against 
flexdll.so with gcc 5.3.0.


..mark



Re: SSH key for upload access

2016-01-17 Thread Mark Geisert

On Sun, 17 Jan 2016, Corinna Vinschen wrote:

On Jan 17 01:50, Mark Geisert wrote:

Name: Mark Geisert
Package: cygutils
 BEGIN SSH2 PUBLIC KEY 


Applied, please test that it works.


Works fine; thanks much!

..mark


SSH key for upload access

2016-01-17 Thread Mark Geisert

Name: Mark Geisert
Package: cygutils
 BEGIN SSH2 PUBLIC KEY 
Comment: "4096-bit RSA, converted by Mark@zotac from OpenSSH"
B3NzaC1yc2EDAQABAAACAQDaZYFNfPTl20P8ASod06gPtRPVDlwWbDr1YaQcxN
G4lfl8+fhcBl4G6X/wrhzo+oDxzVErHniAZfR8TyMp3F4l02/BufQ5JgUzfMG+g2E8y4Sv
LTqkgy2H7alyR4s/QxU9pzFrNfOsfK09jGHfmac8oBbJRpz3yFzCgpHsUDekdLKTKxhetN
J7vX9f7IQFxJa6O7yn5GoXQ/2sFTU9FAY6jusZ3Gb1eGWvwtCKj35Sc73n33yrPVAyMMmc
LvAUFj78HmcS64WZtOaswiK5feIy3CGAcMsmYgzLp9proiy8yenH1YSIIvEYo2ufi7MLnC
xqHS60yyLJM4KepssqfHg1UUgtmDeOIklxehL4qk91ab8r+75QshFMAlQUXIAtgw6R8L4H
XlxqZyoSJouCTniwqelZ7fI2FaARapM5Fwp+JfH953mRmFrNNLUZ08Zk3Lul0/C4s1eHL7
Cfi6SL0fmCT4iCrNAROzz+QCFDVwGVkU2Fr6dCIXjG0AN9+Di+YzWsTwh/kKtHZbUt/37b
2Uf23f8wOoqAx+lDt3r3Xy58eOz7ynmG6UQBxAwhMpxGA4Xns/3/BkWrhSM1v8tvtMW1/r
BJFcEzUPKDUnw3JAux4ZHoBn4yFFp8zbb44tKoKqM8BlhY4la2nIE7Hy33zzhQasrGkyBA
pZ2Ab5JhiuGeWQ==
 END SSH2 PUBLIC KEY 


Re: [ITA] cygutils

2015-11-19 Thread Mark Geisert

On Mon, 16 Nov 2015, Corinna Vinschen wrote:

Packaging looks good.  Just one nit:  While this is as Chuck did it way
back when, I think the files under /usr/share/doc should go into the
base cygutils package, rather than the cygutils-extra package, i.e.

 usr/share/doc/cygutils/AUTHORS
 usr/share/doc/cygutils/ChangeLog
 usr/share/doc/cygutils/COPYING
 usr/share/doc/cygutils/HOW-TO-CONTRIBUTE
 usr/share/doc/cygutils/licenses/
 usr/share/doc/cygutils/licenses/COPYING.BSD-no-advert
 usr/share/doc/cygutils/licenses/COPYING.GPLv2
 usr/share/doc/cygutils/licenses/COPYING.GPLv3
 usr/share/doc/cygutils/NEWS
 usr/share/doc/cygutils/PROGLIST
 usr/share/doc/cygutils/README
 usr/share/doc/cygutils/TODO

should be in the cygutils package, while

 usr/share/doc/cygutils/cygicons/
 usr/share/doc/cygutils/cygicons/README
 usr/share/doc/cygutils/lpr/
 usr/share/doc/cygutils/lpr/README

should stay in cygutils-extra.

That's a minor point and at your discretion, otherwise GTG.


I agree and have adjusted the packaging as you suggested.


Something I don't understand yet is why, when using this cygutils.cygport,
some cygport commands download the source from sourceware via git, while
other commands seem to want the .tar.bz2 file.  The cygutils.cygport is
possibly not completely right yet.


You have both, a SRC_URI and a GIT_URI.  This might confuse cygport.
Drop the SRC_URI and only keep GIT_URI.


Even with that change 'cygport all' wants the .tar.bz2 file to be present.
 Maybe my mistake is assuming "all" means pull the source too?  If I do 
'cygport fetch all' it works like a charm using the Git tree, so I'll just 
keep doing that.


..mark


Re: [ITA] cygutils

2015-11-15 Thread Mark Geisert

Sorry, the links are busted.  Let me fix and re-post.  Sheesh.

..mark

On Sun, 15 Nov 2015, Mark Geisert wrote:

I think my ITA is sorted out well enough to be reviewed.  If you find a sharp 
edge somewhere, please don't assume it's maintainer preference; it's more 
likely maintainer ignorance so please do fill me in.


The following links are all relative to http://maxrnd.com/~mark/cygwin/.

HREF="http://maxrnd.com/~mark/cygwin/cygutils/cygutils-1.4.15-1.src.patch;>cygutils/cygutils-1.4.15-1.src.patch

[...]


Re: [ITA] cygutils

2015-11-15 Thread Mark Geisert
I think my ITA is sorted out well enough to be reviewed.  If you find a 
sharp edge somewhere, please don't assume it's maintainer preference; it's 
more likely maintainer ignorance so please do fill me in.


The following links are all relative to http://maxrnd.com/~mark/cygwin/.

http://maxrnd.com/~mark/cygwin/cygutils/cygutils-1.4.15-1.src.patch;>cygutils/cygutils-1.4.15-1.src.patch
http://maxrnd.com/~mark/cygwin/cygutils/cygutils.cygport;>cygutils/cygutils.cygport
http://maxrnd.com/~mark/cygwin/cygutils/cygwin-cygutils-1.4.15.tar.bz2;>cygutils/cygwin-cygutils-1.4.15.tar.bz2

http://maxrnd.com/~mark/cygwin/x86/release/cygutils/cygutils-1.4.15-1-src.tar.xz;>x86/release/cygutils/cygutils-1.4.15-1-src.tar.xz
http://maxrnd.com/~mark/cygwin/x86/release/cygutils/cygutils-1.4.15-1.tar.xz;>x86/release/cygutils/cygutils-1.4.15-1.tar.xz
http://maxrnd.com/~mark/cygwin/x86/release/cygutils/setup.hint;>x86/release/cygutils/setup.hint
http://maxrnd.com/~mark/cygwin/x86/release/cygutils/cygutils-debuginfo/cygutils-debuginfo-1.4.15-1.tar.xz;>x86/release/cygutils/cygutils-debuginfo/cygutils-debuginfo-1.4.15-1.tar.xz
http://maxrnd.com/~mark/cygwin/x86/release/cygutils/cygutils-debuginfo/setup.hint;>x86/release/cygutils/cygutils-debuginfo/setup.hint
http://maxrnd.com/~mark/cygwin/x86/release/cygutils/cygutils-extra/cygutils-extra-1.4.15-1.tar.xz;>x86/release/cygutils/cygutils-extra/cygutils-extra-1.4.15-1.tar.xz
http://maxrnd.com/~mark/cygwin/x86/release/cygutils/cygutils-extra/setup.hint;>x86/release/cygutils/cygutils-extra/setup.hint
http://maxrnd.com/~mark/cygwin/x86/release/cygutils/cygutils-x11/cygutils-x11-1.4.15-1.tar.xz;>x86/release/cygutils/cygutils-x11/cygutils-x11-1.4.15-1.tar.xz
http://maxrnd.com/~mark/cygwin/x86/release/cygutils/cygutils-x11/setup.hint;>x86/release/cygutils/cygutils-x11/setup.hint

http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/cygutils-1.4.15-1-src.tar.xz;>x86_64/release/cygutils/cygutils-1.4.15-1-src.tar.xz
http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/cygutils-1.4.15-1.tar.xz;>x86_64/release/cygutils/cygutils-1.4.15-1.tar.xz
http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/setup.hint;>x86_64/release/cygutils/setup.hint
http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/cygutils-debuginfo/cygutils-debuginfo-1.4.15-1.tar.xz;>x86_64/release/cygutils/cygutils-debuginfo/cygutils-debuginfo-1.4.15-1.tar.xz
http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/cygutils-debuginfo/setup.hint;>x86_64/release/cygutils/cygutils-debuginfo/setup.hint
http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/cygutils-extra/cygutils-extra-1.4.15-1.tar.xz;>x86_64/release/cygutils/cygutils-extra/cygutils-extra-1.4.15-1.tar.xz
http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/cygutils-extra/setup.hint;>x86_64/release/cygutils/cygutils-extra/setup.hint
http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/cygutils-x11/cygutils-x11-1.4.15-1.tar.xz;>x86_64/release/cygutils/cygutils-x11/cygutils-x11-1.4.15-1.tar.xz
http://maxrnd.com/~mark/cygwin/x86_64/release/cygutils/cygutils-x11/setup.hint;>x86_64/release/cygutils/cygutils-x11/setup.hint

Something I don't understand yet is why, when using this cygutils.cygport, 
some cygport commands download the source from sourceware via git, while 
other commands seem to want the .tar.bz2 file.  The cygutils.cygport is 
possibly not completely right yet.

Thanks for any comments,

..mark


Re: Still unable to 'git push' or ssh to sourceware -- resolved

2015-11-12 Thread Mark Geisert

On Tue, 10 Nov 2015, Corinna Vinschen wrote:

You're missing something important.  The key you sent to sware and the
other key you sent to the cygwin-apps list are both the public part of
your keys.  This public part of a key *never* requires a passphrase.
After all it's supposed to be readable by everyone, right?

If ssh asks for a passphrase, it's your local, *private* key which is
encrypted using this passphrase.  Therefore this has nothing to do with
ssh on the remote machine.  It can't require passphrases since,
obviously, it doesn't know your private key.  The private key never
leaves your local machine.  So this asking for a passphrase is a local
problem on your machine which you would have to fix locally.

Btw., I never saw the problem that a local key without passphrase results
in ssh asking for a passphrase.  The difference in the keyfile (encrypted
vs. non-encrypted) is obvious to ssh:

 $ head -2 .ssh/my_key
 -BEGIN RSA PRIVATE KEY-
 Proc-Type: 4,ENCRYPTED


Many thanks for this correction to my broken mental model of passphrases 
vs passwords.  Between these nuggets-o-knowledge and a fix to my 
~/.ssh/config (i.e. IdentityFile *must* refer to a private key file) I was 
able to 'git push' my cygutils updates to sourceware with my original key.


I am now debugging a revised cygutils.cygport and figuring out where I can 
host the updated tar.xz packages for review.  I've got a place in mind.

Thanks again,

..mark


Still unable to 'git push' or ssh to sourceware

2015-11-09 Thread Mark Geisert
Apologies for my continued stumbling around with this.  I'm enough of a 
newbie in several necessary skills that I can't seem to get a handle on 
what's going wrong.


I had assumed that having sent my "SSH key for upload access", it goes to 
the same location as my original key supplied on the 
sourceware.org/cgi-bin/pdw/ps_form.cgi form.  That original 
key I supplied always provoked an 'enter passphrase' prompt when ssh or 
git contacted sourceware even though I had never supplied a passphrase 
for it.  OK, maybe sourceware requires passphrases so I generated a new 
key with a passphrase.  That's the key I sent recently as "SSH key for 
upload access".


The only way I could think of to test authentication without doing 
anything potentially damaging was this command:

ssh -v -v mgeis...@sourceware.org appendkey < /dev/null

Here's the resulting debug log:
OpenSSH_6.9p1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /home/Mark/.ssh/config
debug1: /home/Mark/.ssh/config line 1: Applying options for sourceware.org
debug1: Reading configuration data /etc/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to sourceware.org [209.132.180.131] port 22.
debug1: Connection established.
debug1: identity file /home/Mark/.ssh/id_dsa.pub type 2
debug1: key_load_public: No such file or directory
debug1: identity file /home/Mark/.ssh/id_dsa.pub-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
debug1: Remote protocol version 1.99, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c00
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to sourceware.org:22 as 'mgeisert'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: 
curve25519-sha...@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: 
ssh-rsa-cert-...@openssh.com,ssh-rsa-cert-...@openssh.com,ssh-rsa,ecdsa-sha2-nistp256-cert-...@openssh.com,ecdsa-sha2-nistp384-cert-...@openssh.com,ecdsa-sha2-nistp521-cert-...@openssh.com,ssh-ed25519-cert-...@openssh.com,ssh-dss-cert-...@openssh.com,ssh-dss-cert-...@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-dss
debug2: kex_parse_kexinit: 
chacha20-poly1...@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-...@openssh.com,aes256-...@openssh.com,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-...@lysator.liu.se
debug2: kex_parse_kexinit: 
chacha20-poly1...@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-...@openssh.com,aes256-...@openssh.com,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-...@lysator.liu.se
debug2: kex_parse_kexinit: 
umac-64-...@openssh.com,umac-128-...@openssh.com,hmac-sha2-256-...@openssh.com,hmac-sha2-512-...@openssh.com,hmac-sha1-...@openssh.com,umac...@openssh.com,umac-...@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-md5-...@openssh.com,hmac-ripemd160-...@openssh.com,hmac-sha1-96-...@openssh.com,hmac-md5-96-...@openssh.com,hmac-md5,hmac-ripemd160,hmac-ripemd...@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: 
umac-64-...@openssh.com,umac-128-...@openssh.com,hmac-sha2-256-...@openssh.com,hmac-sha2-512-...@openssh.com,hmac-sha1-...@openssh.com,umac...@openssh.com,umac-...@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-md5-...@openssh.com,hmac-ripemd160-...@openssh.com,hmac-sha1-96-...@openssh.com,hmac-md5-96-...@openssh.com,hmac-md5,hmac-ripemd160,hmac-ripemd...@openssh.com,hmac-sha1-96,hmac-md5-96

debug2: kex_parse_kexinit: none,z...@openssh.com,zlib
debug2: kex_parse_kexinit: none,z...@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: 
diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: 
aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-...@lysator.liu.se
debug2: kex_parse_kexinit: 
aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-...@lysator.liu.se
debug2: kex_parse_kexinit: 
hmac-md5,hmac-sha1,umac...@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd...@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: 
hmac-md5,hmac-sha1,umac...@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd...@openssh.com,hmac-sha1-96,hmac-md5-96

debug2: kex_parse_kexinit: none,z...@openssh.com

Re: Still unable to 'git push' or ssh to sourceware

2015-11-09 Thread Mark Geisert

On Mon, 9 Nov 2015, Yaakov Selkowitz wrote:

On Mon, 2015-11-09 at 17:54 -0800, Mark Geisert wrote:

I had assumed that having sent my "SSH key for upload access", it goes to
the same location as my original key supplied on the
sourceware.org/cgi-bin/pdw/ps_form.cgi form.


Incorrect.  Upload access is completely separate from shell access to
sourceware, and neither implies or requires the other.


Thanks for that.  I need to update my shell access key but I can't make 
use of the appendkey trick, catch-22.  Sounds like I should contact 
overseers then.


..mark


SSH key for upload access

2015-11-07 Thread Mark Geisert

Name: Mark Geisert
Package: cygutils
 BEGIN SSH2 PUBLIC KEY 
B3NzaC1kc3MAAACBAPqsi50rpgqK96tXNgBYvenDeC/cd2uNOlWd6Lnir7UkrouasK
cvzTjmonCqcjdNNND8ckSWr0mx2Vr1tlLAFziqRQN6WPzOISBsqbazB8LQ1OMfzjN2QNQN
0I2cQyoxkQGaRJZwucxYHTIRHIK7Os6k9Klwxh76FGNBUtzqrhfPFQDoP+1qKyKwV9
YVvI/uh6cukNjipQAAAIBnxrnRAyqBaZ34nxTiX14ulsROj/NfVNh99qI3z/dyWwseCW5Q
9h9IY8NhrXf6NuDoIuJ0W1S9LLa8qT/vWuHTCfpBkWfN/YZXM7Rd5rYqQTR0lWVIj7JAc6
A2jQTvz4McuECEBEVKF1GvNRxw/Gopi1XUzo8eZ3oH/tpHeIoZyQAAAIEAl7kkPDTSvBnN
YrB7gPoS5GHwKGOUx2/6t9JTs7AKjU/BV7jFrCm98bXFahYNvWMmL5sVvkHizC9jLktwUz
A4kxNifJVIO1PunwzAontScYkZTjJe67NBwmoqGxNalI90U8vk7i0RwjB60a7HM87qBLAq
3xBRP1hhseI+hk+EDzM=
 END SSH2 PUBLIC KEY 


Re: Questions on package adoption conventions

2015-11-04 Thread Mark Geisert
I was able to 'git clone' the cygutils source tree and fix user-reported 
issues and my build issues.  I'm ready to push the updates but have hit a 
snag...

8<
 git push origin master
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
>8

I tried creating a git branch and pushing that instead; same error. 
Adding -v to the 'git push' command shows "Pushing to 
git://sourceware.org/git/cygwin-cygutils.git" which seems correct.


I suspect my login credentials are incorrect.  How/where do I specify what 
my sourceware login is?  Or maybe it's some other problem?


Separate from that, I will need to update the cygutils.cygport file which 
resides outside of this cygutils source tree.  How do I access that file?


And if that wasn't enough, here's another newbie question:  Am I really 
supposed to push to master or is there a review that should be done first? 
So pushing a revision branch is the right way to allow for a review?

Thanks for any hints,

..mark


Re: Questions on package adoption conventions

2015-10-31 Thread Mark Geisert

On Sat, 31 Oct 2015, Corinna Vinschen wrote:

On Oct 31 00:18, Jon Turney wrote:

On 30/10/2015 23:25, Mark Geisert wrote:

I was confused by the SRC_URI= line in cygutils.cygport.  Does that
merely indicate where this package came from at the time the .cygport
file was written, or does it denote a commitment by the maintainer to
continue hosting the package from that URI?  If the latter, that's why I
was asking about access methods.  Is SRC_URI required?


SRC_URI is the URI for the upstream source.

cygport's fetch (aka download) subcommand will fetch the upstream source
from the specified SRC_URI

cygutils is somewhat a special case as cygwin is the upstream :)

The sources are in CVS at pserver:anon...@sourceware.org:/cvs/cygwin-apps,
but the tarballs seem to be hosted on fruitbat.org at the moment.

I think the best thing to do is to ask for that CVS to be migrated to git,


Done:

 git clone git://sourceware.org/git/cygwin-cygutils.git

 Gitweb: https://sourceware.org/git/?p=cygwin-cygutils.git

Mark, if you're going to maintain the project, you probably want to
make changes to the git repo.  For that you need ssh access to
sourceware.org AKA cygwin.com.  Pleae use the form at

 https://sourceware.org/cgi-bin/pdw/ps_form.cgi

to request SSH access to sware.  Project is "cygwin-apps", Use my
email address for the approver field.


then the cygport can be written to fetch the source directly from a
specified tag in git, since this will avoid the need for you to make
tarballs and work out where to host them.


E.g.

 GIT_URI="git://cygwin.com/git/newlib-cygwin.git"
 GIT_TAG="..."


This does seems like the best way to go, for several reasons.  I've sent 
in the SSH access request form.

Thanks much!

..mark


Questions on package adoption conventions

2015-10-30 Thread Mark Geisert
Q1: Does a new maintainer typically put out a new package version upon 
take-over, or can he/she run with the existing version number and just 
keep bumping the build number (e.g. for bug fixes)?


Q2: Does the location hosting a test build for external review have to be 
the same location used to host final builds?


Q3: What kind of external access is typically used for hosting final 
builds?  I've run a micro-ISP that allowed on-request FTP access, by IP 
address, to customers, but have not needed to run anonymous FTP to this 
point.  What about SSH/SFTP?  Is there such a thing as anonymous SFTP? 
Does HTTP and/or HTTPS access need to be provided?


Detailed suggestions for that last question would be welcomed.  I'd like 
to make it least-hassle for reviewers and whatever a source install of my 
packages would require, but still keep the hosting machine as secured as 
can be managed.


..mark


Re: [ITA] cygutils

2015-10-28 Thread Mark Geisert

Corinna is climbing down the vaults to polish goldstars...


Awarded!  http://cygwin.com/goldstars/#MG


A bit early, this one ;)


Oops
Want me to add a stinkbomb to offset, until he makes good?


+1 motivational