1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-08 17:22:05 +03:00

sh-filename: New module.

* m4/sh-filename.m4: New file.
* modules/sh-filename: New file.
* lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
"/bin/sh".
* tests/test-posix_spawn1.c (main): Likewise.
* tests/test-posix_spawn2.c (main): Likewise.
* lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
is_envjavac_gcj43): Likewise.
* lib/javaexec.c (execute_java_class): Likewise.
* modules/posix_spawn-internal (Depends-on): Add sh-filename.
* modules/posix_spawnp-tests (Depends-on): Likewise.
* modules/javacomp (Depends-on): Likewise.
* modules/javaexec (Depends-on): Likewise.
This commit is contained in:
Bruno Haible
2018-10-05 01:38:46 +02:00
parent 050357c685
commit 1ffc70c32c
12 changed files with 74 additions and 13 deletions

View File

@@ -1,3 +1,20 @@
2018-10-04 Bruno Haible <bruno@clisp.org>
sh-filename: New module.
* m4/sh-filename.m4: New file.
* modules/sh-filename: New file.
* lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
"/bin/sh".
* tests/test-posix_spawn1.c (main): Likewise.
* tests/test-posix_spawn2.c (main): Likewise.
* lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
is_envjavac_gcj43): Likewise.
* lib/javaexec.c (execute_java_class): Likewise.
* modules/posix_spawn-internal (Depends-on): Add sh-filename.
* modules/posix_spawnp-tests (Depends-on): Likewise.
* modules/javacomp (Depends-on): Likewise.
* modules/javaexec (Depends-on): Likewise.
2018-10-04 Bruno Haible <bruno@clisp.org> 2018-10-04 Bruno Haible <bruno@clisp.org>
spawn-pipe tests: Avoid test failure on native Windows. spawn-pipe tests: Avoid test failure on native Windows.

View File

@@ -339,11 +339,11 @@ compile_using_envjavac (const char *javac,
if (verbose) if (verbose)
printf ("%s\n", command); printf ("%s\n", command);
argv[0] = "/bin/sh"; argv[0] = BOURNE_SHELL;
argv[1] = "-c"; argv[1] = "-c";
argv[2] = command; argv[2] = command;
argv[3] = NULL; argv[3] = NULL;
exitstatus = execute (javac, "/bin/sh", argv, false, false, false, exitstatus = execute (javac, BOURNE_SHELL, argv, false, false, false,
null_stderr, true, true, NULL); null_stderr, true, true, NULL);
err = (exitstatus != 0); err = (exitstatus != 0);
@@ -656,11 +656,11 @@ is_envjavac_gcj (const char *javac)
abort (); abort ();
/* Call $JAVAC --version 2>/dev/null. */ /* Call $JAVAC --version 2>/dev/null. */
argv[0] = "/bin/sh"; argv[0] = BOURNE_SHELL;
argv[1] = "-c"; argv[1] = "-c";
argv[2] = command; argv[2] = command;
argv[3] = NULL; argv[3] = NULL;
child = create_pipe_in (javac, "/bin/sh", argv, DEV_NULL, true, true, child = create_pipe_in (javac, BOURNE_SHELL, argv, DEV_NULL, true, true,
false, fd); false, fd);
if (child == -1) if (child == -1)
goto failed; goto failed;
@@ -738,11 +738,11 @@ is_envjavac_gcj43 (const char *javac)
abort (); abort ();
/* Call $JAVAC --version 2>/dev/null. */ /* Call $JAVAC --version 2>/dev/null. */
argv[0] = "/bin/sh"; argv[0] = BOURNE_SHELL;
argv[1] = "-c"; argv[1] = "-c";
argv[2] = command; argv[2] = command;
argv[3] = NULL; argv[3] = NULL;
child = create_pipe_in (javac, "/bin/sh", argv, DEV_NULL, true, true, child = create_pipe_in (javac, BOURNE_SHELL, argv, DEV_NULL, true, true,
false, fd); false, fd);
if (child == -1) if (child == -1)
goto failed; goto failed;

View File

@@ -172,11 +172,11 @@ execute_java_class (const char *class_name,
if (verbose) if (verbose)
printf ("%s\n", command); printf ("%s\n", command);
argv[0] = "/bin/sh"; argv[0] = BOURNE_SHELL;
argv[1] = "-c"; argv[1] = "-c";
argv[2] = command; argv[2] = command;
argv[3] = NULL; argv[3] = NULL;
err = executer (java, "/bin/sh", argv, private_data); err = executer (java, BOURNE_SHELL, argv, private_data);
freea (command); freea (command);

View File

@@ -32,7 +32,7 @@
#if _LIBC || HAVE_PATHS_H #if _LIBC || HAVE_PATHS_H
# include <paths.h> # include <paths.h>
#else #else
# define _PATH_BSHELL "/bin/sh" # define _PATH_BSHELL BOURNE_SHELL
#endif #endif
#include <signal.h> #include <signal.h>

20
m4/sh-filename.m4 Normal file
View File

@@ -0,0 +1,20 @@
# sh-filename.m4 serial 1
dnl Copyright (C) 2018 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
AC_DEFUN([gl_SH_FILENAME],
[
AH_VERBATIM([SH_FILENAME],
[/* File name of the Bourne shell. */
#if defined __CYGWIN__
/* Omit the directory part because for 32-bit Cygwin programs in a
64-bit Cygwin environment, the Cygwin mounts are not visible. */
# define BOURNE_SHELL "sh"
#else
# define BOURNE_SHELL "/bin/sh"
#endif])
])

View File

@@ -28,6 +28,7 @@ xvasprintf
c-strstr c-strstr
gettext-h gettext-h
javacomp-script javacomp-script
sh-filename
configure.ac: configure.ac:

View File

@@ -17,6 +17,7 @@ xmalloca
error error
gettext-h gettext-h
javaexec-script javaexec-script
sh-filename
configure.ac: configure.ac:

View File

@@ -12,6 +12,7 @@ alloca-opt
dup2 dup2
errno errno
open open
sh-filename
strchrnul strchrnul
configure.ac: configure.ac:

View File

@@ -20,6 +20,7 @@ unistd
sys_wait sys_wait
dup dup
environ environ
sh-filename
sigprocmask sigprocmask
configure.ac: configure.ac:

20
modules/sh-filename Normal file
View File

@@ -0,0 +1,20 @@
Description:
Provide BOURNE_SHELL, the file name of the standard Bourne shell.
Files:
m4/sh-filename.m4
Depends-on:
configure.ac:
gl_SH_FILENAME
Makefile.am:
Include:
License:
LGPLv2+
Maintainer:
all

View File

@@ -73,7 +73,7 @@ fd_safer (int fd)
int int
main () main ()
{ {
char *argv[3] = { (char *) "/bin/sh", (char *) CHILD_PROGRAM_FILENAME, NULL }; char *argv[3] = { (char *) BOURNE_SHELL, (char *) CHILD_PROGRAM_FILENAME, NULL };
int ifd[2]; int ifd[2];
sigset_t blocked_signals; sigset_t blocked_signals;
sigset_t fatal_signal_set; sigset_t fatal_signal_set;
@@ -113,7 +113,7 @@ main ()
|| (attrs_allocated = true, || (attrs_allocated = true,
(err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0 (err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0
|| (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0) || (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0)
|| (err = posix_spawnp (&child, "/bin/sh", &actions, &attrs, argv, environ)) != 0)) || (err = posix_spawnp (&child, BOURNE_SHELL, &actions, &attrs, argv, environ)) != 0))
{ {
if (actions_allocated) if (actions_allocated)
posix_spawn_file_actions_destroy (&actions); posix_spawn_file_actions_destroy (&actions);

View File

@@ -51,7 +51,7 @@ fd_safer (int fd)
int int
main () main ()
{ {
char *argv[3] = { (char *) "/bin/sh", (char *) CHILD_PROGRAM_FILENAME, NULL }; char *argv[3] = { (char *) BOURNE_SHELL, (char *) CHILD_PROGRAM_FILENAME, NULL };
int ofd[2]; int ofd[2];
sigset_t blocked_signals; sigset_t blocked_signals;
sigset_t fatal_signal_set; sigset_t fatal_signal_set;
@@ -90,7 +90,7 @@ main ()
|| (attrs_allocated = true, || (attrs_allocated = true,
(err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0 (err = posix_spawnattr_setsigmask (&attrs, &blocked_signals)) != 0
|| (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0) || (err = posix_spawnattr_setflags (&attrs, POSIX_SPAWN_SETSIGMASK)) != 0)
|| (err = posix_spawnp (&child, "/bin/sh", &actions, &attrs, argv, environ)) != 0)) || (err = posix_spawnp (&child, BOURNE_SHELL, &actions, &attrs, argv, environ)) != 0))
{ {
if (actions_allocated) if (actions_allocated)
posix_spawn_file_actions_destroy (&actions); posix_spawn_file_actions_destroy (&actions);