Skip site navigation (1)Skip section navigation (2)
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>