Merge pull request #120501 from Mic92/gnumake
gnumake: use sh instead of /bin/sh by default
This commit is contained in:
commit
41902c2f7d
@ -0,0 +1,35 @@
|
|||||||
|
From e00a5257a6ca5fedbf68b09eee7df3502971a057 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
|
||||||
|
Date: Sat, 24 Apr 2021 10:11:40 +0200
|
||||||
|
Subject: [PATCH 1/2] No impure bin sh
|
||||||
|
|
||||||
|
default_shell is used to populuate default shell used to execute jobs.
|
||||||
|
Unless SHELL is set to a different value this would be /bin/sh.
|
||||||
|
Our stdenv provides sh in form of bash anyway. Having this value not
|
||||||
|
hard-coded has some advantages:
|
||||||
|
|
||||||
|
- It would ensure that on all systems it uses sh from its PATH rather
|
||||||
|
than /bin/sh, which helps as different systems might have different
|
||||||
|
shells there (bash vs. dash)
|
||||||
|
- In the past I had issues with LD_PRELOAD with BEAR, where /bin/sh
|
||||||
|
used a different glibc than BEAR which came from my development shell.
|
||||||
|
---
|
||||||
|
src/job.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/job.c b/src/job.c
|
||||||
|
index ae1f18b..6b4ddb3 100644
|
||||||
|
--- a/src/job.c
|
||||||
|
+++ b/src/job.c
|
||||||
|
@@ -77,7 +77,7 @@ char * vms_strsignal (int status);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
-const char *default_shell = "/bin/sh";
|
||||||
|
+const char *default_shell = "sh";
|
||||||
|
int batch_mode_shell = 0;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -0,0 +1,40 @@
|
|||||||
|
From 795d63d3c8b5c0dbb7e544954f75507b371b7228 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
|
||||||
|
Date: Sat, 24 Apr 2021 10:20:16 +0200
|
||||||
|
Subject: [PATCH 2/2] remove impure dirs
|
||||||
|
|
||||||
|
---
|
||||||
|
src/read.c | 3 ---
|
||||||
|
src/remake.c | 2 --
|
||||||
|
2 files changed, 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/read.c b/src/read.c
|
||||||
|
index fa197fb..defacfb 100644
|
||||||
|
--- a/src/read.c
|
||||||
|
+++ b/src/read.c
|
||||||
|
@@ -109,9 +109,6 @@ static const char *default_include_directories[] =
|
||||||
|
#endif
|
||||||
|
INCLUDEDIR,
|
||||||
|
#ifndef _AMIGA
|
||||||
|
- "/usr/gnu/include",
|
||||||
|
- "/usr/local/include",
|
||||||
|
- "/usr/include",
|
||||||
|
#endif
|
||||||
|
0
|
||||||
|
};
|
||||||
|
diff --git a/src/remake.c b/src/remake.c
|
||||||
|
index fb237c5..94bff7d 100644
|
||||||
|
--- a/src/remake.c
|
||||||
|
+++ b/src/remake.c
|
||||||
|
@@ -1601,8 +1601,6 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
|
||||||
|
static const char *dirs[] =
|
||||||
|
{
|
||||||
|
#ifndef _AMIGA
|
||||||
|
- "/lib",
|
||||||
|
- "/usr/lib",
|
||||||
|
#endif
|
||||||
|
#if defined(WINDOWS32) && !defined(LIBDIR)
|
||||||
|
/*
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -14,11 +14,14 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0";
|
sha256 = "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# to update apply these patches with `git am *.patch` to https://git.savannah.gnu.org/git/make.git
|
||||||
patches = [
|
patches = [
|
||||||
|
# Replaces /bin/sh with sh, see patch file for reasoning
|
||||||
|
./0001-No-impure-bin-sh.patch
|
||||||
# Purity: don't look for library dependencies (of the form `-lfoo') in /lib
|
# Purity: don't look for library dependencies (of the form `-lfoo') in /lib
|
||||||
# and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
|
# and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
|
||||||
# included Makefiles, don't look in /usr/include and friends.
|
# included Makefiles, don't look in /usr/include and friends.
|
||||||
./impure-dirs.patch
|
./0002-remove-impure-dirs.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals guileSupport [ pkg-config ];
|
nativeBuildInputs = lib.optionals guileSupport [ pkg-config ];
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
diff -Naur a/src/read.c b/src/read.c
|
|
||||||
--- a/src/read.c
|
|
||||||
+++ b/src/read.c
|
|
||||||
@@ -109,9 +109,6 @@
|
|
||||||
#endif
|
|
||||||
INCLUDEDIR,
|
|
||||||
#ifndef _AMIGA
|
|
||||||
- "/usr/gnu/include",
|
|
||||||
- "/usr/local/include",
|
|
||||||
- "/usr/include",
|
|
||||||
#endif
|
|
||||||
0
|
|
||||||
};
|
|
||||||
diff -Naur a/src/remake.c b/src/remake.c
|
|
||||||
--- a/src/remake.c
|
|
||||||
+++ b/src/remake.c
|
|
||||||
@@ -1601,8 +1601,6 @@
|
|
||||||
static const char *dirs[] =
|
|
||||||
{
|
|
||||||
#ifndef _AMIGA
|
|
||||||
- "/lib",
|
|
||||||
- "/usr/lib",
|
|
||||||
#endif
|
|
||||||
#if defined(WINDOWS32) && !defined(LIBDIR)
|
|
||||||
/*
|
|
Loading…
Reference in New Issue
Block a user