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