Date: Wed, 12 Oct 2005 04:07:13 -0400 From: Kris Kennaway <kris@obsecurity.org> To: Harti Brandt <harti@freebsd.org> Cc: ports@FreeBSD.org, re@FreeBSD.org, Kris Kennaway <kris@obsecurity.org> Subject: Re: Make broken in 6.0 ([ports-i386@pointyhat.freebsd.org: empire-1.7 failed on i386 6]) Message-ID: <20051012080712.GA99339@xor.obsecurity.org> In-Reply-To: <20051012092826.F63649@beagle.kn.op.dlr.de> References: <20051012020023.GB40204@xor.obsecurity.org> <20051012021112.GA48078@xor.obsecurity.org> <20051012090453.N63649@beagle.kn.op.dlr.de> <20051012071958.GA80671@xor.obsecurity.org> <20051012092826.F63649@beagle.kn.op.dlr.de>
next in thread | previous in thread | raw e-mail | index | archive | help
--XsQoSWH+UP9D9v3l Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Oct 12, 2005 at 09:34:53AM +0200, Harti Brandt wrote: > On Wed, 12 Oct 2005, Kris Kennaway wrote: >=20 > KK>On Wed, Oct 12, 2005 at 09:12:58AM +0200, Harti Brandt wrote: > KK>> On Tue, 11 Oct 2005, Kris Kennaway wrote: > KK>>=20 > KK>> KK>On Tue, Oct 11, 2005 at 10:00:24PM -0400, Kris Kennaway wrote: > KK>> KK>> For some reason a number of ports are failing with this error o= n the > KK>> KK>> latest build. I suspect that a change may have been merged to = some > KK>> KK>> part of the base system that broke them. Can someone please ta= ke a > KK>> KK>> look? > KK>>=20 > KK>> I actually doubt that the $(shell ...) construct was ever supported = in our=20 > KK>> make. The canonical way to assign the output of a shell command to a= =20 > KK>> variable is > KK>>=20 > KK>> VERSION !=3D sed <bs.spec -n -e '/Version: \(.*\)/s//\1/p' > KK>>=20 > KK>> we also support the SysV syntax: > KK>>=20 > KK>> VERSION :sh=3D ... > KK>>=20 > KK>> although that's not documented and should be avoided. > KK> > KK>Do you know when the handling of this was changed? These ports > KK>apparently build fine on 5.x and older, although it's possible that > KK>the shell command is just silently not being executed or something. >=20 > During december - march I incorporated a lot of fixes to the variable=20 > parsing code from DragonFly BSD. I just checked that a RELENG_5_0 make > would interpret in >=20 > VERSION =3D $(shell sed <bs.spec -n -e '/Version: \(.*\)/s//\1/p') >=20 > "shell sed <bs.spec -n -e '/Version" (everything up to the colon) as the= =20 > name of a variable and would then try to interprete the space after the= =20 > colon as a modifier. There is no space modifier so it prints an error, bu= t=20 > muddles along. So it ends up putting the rest until the ) into the=20 > variable. The current make does basically the same, but ends up with some= =20 > random string in the variable. This is obviously an error. Make should=20 > probably just stop when finding this syntax error or at least set the=20 > variable to be empty. >=20 > So to make it short: it never worked, the only difference is that the=20 > string in the variable is different now (in both cases not making any=20 > sense). Thanks for the analysis..for now I'll just switch these ports to use gmake (I did 3 already). Kris --XsQoSWH+UP9D9v3l Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDTMQwWry0BWjoQKURAsLMAKD6DiFWVTCCarcb8pNe5+8uCcGcXgCg5Iuv V8vfU8OVe+ryZGp3EnWdmN0= =hJt8 -----END PGP SIGNATURE----- --XsQoSWH+UP9D9v3l--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051012080712.GA99339>