NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bin/45875: usr.bin/make: make -B not using a shell for every command



The following reply was made to PR bin/45875; it has been noted by GNATS.

From: Marko =?UTF-8?B?U2Now7x0eg==?= Schmuck <MarkoSchuetz%web.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: gnats-admin%netbsd.org@localhost,
        netbsd-bugs%netbsd.org@localhost
Subject: Re: bin/45875: usr.bin/make: make -B not using a shell for every 
command
Date: Tue, 28 Feb 2012 17:45:45 -0400

 --pgp-sign-Multipart_Tue_Feb_28_17:45:44_2012-1
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 At Sat, 28 Jan 2012 00:50:04 +0000 (UTC),
 Marko Sch=C3=BCtz-Schmuck wrote:
 >=20
 > The following reply was made to PR bin/45875; it has been noted by GNATS.
 >=20
 > From: =3D?ISO-8859-1?Q?Marko_Sch=3DFCtz=3D2DSchmuck?=3D <markoschuetz@goo=
 glemail.com>
 > To: gnats-bugs%netbsd.org@localhost
 > Cc: netbsd-bugs%netbsd.org@localhost, MarkoSchuetz%web.de@localhost, 
 > gnats-admin%netbsd.org@localhost
 > Subject: Re: bin/45875: usr.bin/make: make -B not using a shell for every=
  command
 > Date: Fri, 27 Jan 2012 20:45:01 -0400
 >=20
 >  --e89a8f234bfb632ed004b78bec94
 >  Content-Type: text/plain; charset=3DISO-8859-1
 > =20
 >  On Jan 27, 2012 12:25 PM, "David Holland" 
 > <dholland-bugs%netbsd.org@localhost> wro=
 te:
 >  >
 >  > The following reply was made to PR bin/45875; it has been noted by GNA=
 TS.
 >  >
 >  > From: David Holland <dholland-bugs%netbsd.org@localhost>
 >  > To: gnats-bugs%NetBSD.org@localhost
 >  > Cc:
 >  > Subject: Re: bin/45875: usr.bin/make: make -B not using a shell for ev=
 ery
 >  >  command
 >  > Date: Fri, 27 Jan 2012 16:22:38 +0000
 >  >
 >  >  On Thu, Jan 26, 2012 at 11:35:02PM +0000, Marko Sch?tz Schmuck wrote:
 >  >  >  >  That's in a separate invocation, as advertised. What are you
 >  >  >  >  complaining about? That it skips going through the shell for si=
 mple
 >  >  >  >  commands?
 >  >  >
 >  >  >  Yes, that's what I am complaining about. It says that it executes a
 >  >  >  "single shell per command". Also there is the target .SINGLESHELL =
 (not
 >  >  >  documented in the man page) that sets compatMake to true. The chan=
 ge I
 >  >  >  propose would also make that work.
 >  >
 >  >  That's a feature, not a bug. If you find a case where it fails, that
 >  >  is, where make thinks it knows how to execute some piece of shell
 >  >  syntax itself but gets it wrong, please file a bug report. The
 >  >  behavior as it is should be completely equivalent, except faster.
 >  >
 > =20
 >  a.)  The shell invocation is supposed to use .SHELL specification, which=
  of
 >  course allows the while command to be rewritten
 > =20
 >  b.) The shell invocation will be subject to various expansions (eg. alias
 >  expansion)  to which execve will not be subjected
 > =20
 >  So I think the assumption that execve.is just a faster version of execut=
 ing
 >  a command through the shell (even for well-behaved cases) is wrong. And
 >  definitely when the user asks explicitly for individual shells...
 > =20
 >  Best regards,
 > =20
 >  Marko
 >  >  The important thing about how many shells it invokes is the scope of
 >  >  shell actions like "cd".
 >  >
 >  >  --
 >  >  David A. Holland
 >  >  dholland%netbsd.org@localhost
 
 It would also be more in line with POSIX:
 
 "The execution line shall then be executed by a shell as if it were
  passed as the argument to the system() interface, except that the
  shell -e option shall also be in effect. The environment for the
  command being executed shall contain all of the variables in the
  environment of make."
 
 Best regards,
 
 Marko
 --pgp-sign-Multipart_Tue_Feb_28_17:45:44_2012-1
 Content-Type: application/pgp-signature
 Content-Transfer-Encoding: 7bit
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAk9NSwgACgkQOrTq/v3ACNrrYgCeOoruZbVqYV/n1TaYjir1Ogvw
 t/gAn0+vBrUn2qwKWtqcH9lYqdF3ndht
 =YVu8
 -----END PGP SIGNATURE-----
 
 --pgp-sign-Multipart_Tue_Feb_28_17:45:44_2012-1--
 


Home | Main Index | Thread Index | Old Index