"Christian Walde" writes:
>> File/stat and op/stat make assumptions about how permissions work
>> that aren't valid on Windows or more generally any system that has
>> MAC enabled.
>
> Those aren't actually an issue on the github cygwin smoke runs. For
> whatever reasons all the permissions-related tests run fine.
The Github (correctly) does not enable those security provileges, which
however will lead to some other test fails that would require them and
aren't properly guarded. The exact results to be expected depend on the
list of privileges that are still in effect.
If you run "cygdrop -v echo" you will see what privileges got
deactivated (and hence were previously available).
> 2. There is a stronger flap on the cygwin vm caused by alarm not
> firing correctly while a long regex operation is running. In a ticket
> that had not been given the time of the day until yesterday i provided
> a test that converted (via fairly basic perl means) that flap into a
> full fail on github cygwin.
>
> You can view the diff here. (without needing to be logged in)
>
> https://github.com/Perl/perl5/commit/d6049bebb5f7286958c894606abb2df210f104a3
>
> You will also be able to see it in blead now, thanks to Karl.
I might have seen that fail before, but on a much older Perl and a much
slower machine. If it's timing related then that would perhaps explain
it.
> 3. There are further flaps that i've seen, and was intending to look
> at, in:
>
> t/re/pat_thr.t t/op/threads.t t/op/alarm.t
>
> Which have a ... fairly obvious common theme, and feel relevant to the
> flap from point 2.
These were fairly common quite some time ago, but I haven't seen them in a
while. If they all depend on the same underlying issue (a signal not
delivered to the correct thread or just not at the right time) then it
may indeed be a Cygwin bug, although the current version should be much
better in that respect.
> As for the patches, in that repo they're without context and
> explanation, so maybe it would indeed be best if you convert them into
> commits with full messages that can be applied to the Perl repo. Happy
> to work with you on that.
OK, I'll put that on my TODO list. Not sure when I'll find time for
that, though. Here's a short explanation:
perl-5.30.3-cygwin_README.patch
Removes some verbiage about no longer supported Windows versions and
adds/modifies some other things that have been changed. Should actually
be updated again I think.
perl-5.30.3-cygwin-auto-image-base.patch
Forcing an image-base is a no-no, especially if it's the same for
everything.
perl-5.30.3-cygwin-Configure-libpth.patch
The original code was adding superfluous linker flags and/or picking up
the wrong libraries, I think. The patched code may or may not work on
other systems, I haven't tried.
perl-5.30.3-cygwin-Configure-libsearch.patch
I've presented this patch on this list some years ago I think. In a
nutshell, you also need to consider that import libs are a thing on
Windows for this part of configure to work correctly.
perl-5.30.3-cygwin-hints.patch
The obvious updates to support current Cygwin versions (and make sure
that things at least don't break knowingly on older ones, although I
don't test that).
perl-5.30.3-cygwin-patchlevel.patch
List the local patches in perl -V output.
perl-5.30.3-cygwin-Win32.patch
Patches what looks like a double encoding bug out of Win32 tests. I
believe I've shown that patch here before, but it hasn't received any
attention IIRC.
> That link appears to be only the test output, can you link to your
> actual appveyor configuration?
I'm not the person doing that, but I believe you'll find it here:
https://cygwin.com/git/?p=cygwin-apps/scallywag.git;a=summary If you have questions about it, either ask on the cygwin-apps mailing
list or #cygwin-developers on Freenode.
> Meanwhile, the current github script for testing on cygwin can be
> viewed here. (again, requiring no login)
>
> https://github.com/Perl/perl5/blob/blead/.github/workflows/testsuite.yml#L364
As I suspected, cargo-culting. You'd probably be much better off if
you'd simply run setup for Cygwin directly and just specify which
packages you want on top of the base install (cyg-get does that under
the hood, from what I've seen). The way it's done now you run setup
needlessly twice and I have not been able to figure out conclusively
what arguments it'll get. You should be able to run cyg-get without
having to choco cygwin before if it wasn't for the fact that cyg-get
doesn't let you specify where to put the install.
Installing cygwin64-w32api-headers is completely useless if you haven't
also installed the cygwin64 cross-compilation toolchain, which itself is
useless on a 64bit Cygwin (which is the target for that compiler). The
native toolchain you installed never looks at those header files. You
either want w32api-headers or nothing at all. Any W32 API headers /
wrappers that Cygwin itself needs are delivered with the cygwin-devel
package.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
SD adaptations for KORG EX-800 and Poly-800MkII V0.9:
http://Synth.Stromeko.net/Downloads.html#KorgSDada