* msys2-runtime: add a shell script to generate the patches from msys2/Cygwin The idea is to commit a change incrementing the `pkgver`, then running this script, and then amending the commit. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> * msys2-runtime: work around Cygwin's source code containing symlinks It is a bit unfortunate that MSYS2 substitutes symlinks by deep copies, by default. Git, for example, claims that it cannot do symlinks, but Cygwin now needs this. Let's make do with that default. The strategy we use is simple: we override the auto-detected `core.symlinks` setting. That will result in a dirty worktree, of course: deep copies are not symlinks, and `git status` will detect it. But that does not matter, as the build will now work ("deep" copies of those header files will work just as well as real symlinks would have done). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> * msys2-runtime: upgrade to v3.1.4 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
From 7156663e55452398887c3d75de68239ee48655a8 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B8=CC=86=20=D0=9F?=
|
|
=?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=BE=D0=B2?= <alexey.pawlow@gmail.com>
|
|
Date: Sun, 14 Apr 2019 21:50:55 +0300
|
|
Subject: [PATCH 08/N] Do not convert environment for strace
|
|
|
|
Strace is a Windows program so MSYS2 will convert all arguments and environment vars and that makes debugging msys2 software with strace very tricky.
|
|
---
|
|
winsup/cygwin/spawn.cc | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
|
|
index cb83a37..77b75da 100644
|
|
--- a/winsup/cygwin/spawn.cc
|
|
+++ b/winsup/cygwin/spawn.cc
|
|
@@ -547,11 +547,13 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
|
|
bool switch_user = ::cygheap->user.issetuid ()
|
|
&& (::cygheap->user.saved_uid
|
|
!= ::cygheap->user.real_uid);
|
|
+ bool keep_posix = (iscmd (argv[0], "strace.exe")
|
|
+ || iscmd (argv[0], "strace")) ? true : real_path.iscygexec ();
|
|
moreinfo->envp = build_env (envp, envblock, moreinfo->envc,
|
|
real_path.iscygexec (),
|
|
switch_user ? ::cygheap->user.primary_token ()
|
|
: NULL,
|
|
- real_path.iscygexec ());
|
|
+ keep_posix);
|
|
if (!moreinfo->envp || !envblock)
|
|
{
|
|
set_errno (E2BIG);
|
|
--
|
|
2.26.2
|
|
|