Re: cygport pkg pkg_info:__list_deps() xargs: cannot fit single argument within argument list size limit

2024-12-29 Thread Mark Geisert via Cygwin-apps

Hi again :),

On Sun, 29 Dec 2024, Brian Inglis via Cygwin-apps wrote:


On 2024-12-28 17:56, Mark Geisert via Cygwin-apps wrote:

Hi Brian,

On Sat, 28 Dec 2024, Brian Inglis via Cygwin-apps wrote:

Hi folks,

Packaging bash-completion I noticed during cygport pkg running 
pkg_info:__list_deps() (I think) produces the error message:


xargs: cannot fit single argument within argument list size limit

but does not stop the build or affect the results as far as I can see.

The scallywag noarch build log for 9116 showing the error message is:

https://github.com/cygwin/scallywag/actions/runs/12529311037/job/34944818784

I have attached the cygport --debug pkg.log as I can not spot which arg is 
causing xargs to fail when trying to find requires for bash-completion 
binary subpackage.


Hopefully if someone else has some time over the holidays they can see 
what I have failed to narrow in on.


I copy/pasted the pkg.log into a temp file and took a look with vim.
(I assume Firefox is not truncating the lines...)
Starting at the line with the "xargs:" error I backed up a few lines.

The line starting with "echo" is 58029 chars long. It has many many 
duplicate strings in it, FWIW.


The line starting with "xargs" is 28836 chars long. It, too, has many many 
duplicate arg strings in it, though they do start with '^' and end with '$' 
as reasonable for -e arg strings.


I'm not enough of a shell debugging guy to know which line-expressions are 
pipe starters or pipe members, so that's as far as I can go.


Thanks Mark,

That's where I'm at too - but there are sort -u commands which should 
eliminate the duplicates!?

[...useful info about arg size limits elided...]

Ah, in that case the problem seems to be that 'sort' is being handed a 
single line by 'echo'.  There needs to be something added to the pipe 
expression to split the 'echo' result at ' ' chars.  Something like:

tr ' ' '\n'
Then 'sort -u' cuts the number of arg strings from 530 down to 110.

..mark


Re: cygport pkg pkg_info:__list_deps() xargs: cannot fit single argument within argument list size limit

2024-12-28 Thread Mark Geisert via Cygwin-apps
I dug into xargs with gdb and found that its maximum arg size is 24215. 
This despite its man page (describing the '-s' option) saying the default 
is 128Kib.


You could try using '-s 65536' or some larger number to avoid the error 
xargs is reporting in your test case.

HTH,

..mark


Re: cygport pkg pkg_info:__list_deps() xargs: cannot fit single argument within argument list size limit

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

Hi Brian,

On Sat, 28 Dec 2024, Brian Inglis via Cygwin-apps wrote:

Hi folks,

Packaging bash-completion I noticed during cygport pkg running 
pkg_info:__list_deps() (I think) produces the error message:


xargs: cannot fit single argument within argument list size limit

but does not stop the build or affect the results as far as I can see.

The scallywag noarch build log for 9116 showing the error message is:

https://github.com/cygwin/scallywag/actions/runs/12529311037/job/34944818784

I have attached the cygport --debug pkg.log as I can not spot which arg is 
causing xargs to fail when trying to find requires for bash-completion binary 
subpackage.


Hopefully if someone else has some time over the holidays they can see what I 
have failed to narrow in on.


I copy/pasted the pkg.log into a temp file and took a look with vim.
(I assume Firefox is not truncating the lines...)
Starting at the line with the "xargs:" error I backed up a few lines.

The line starting with "echo" is 58029 chars long. It has many many 
duplicate strings in it, FWIW.


The line starting with "xargs" is 28836 chars long. It, too, has many many 
duplicate arg strings in it, though they do start with '^' and end 
with '$' as reasonable for -e arg strings.


I'm not enough of a shell debugging guy to know which line-expressions are 
pipe starters or pipe members, so that's as far as I can go.

HTH,

..mark


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-01 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-30 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