Make broken in 6.0 ([ports-i386@pointyhat.freebsd.org:
empire-1.7 failed on i386 6])
Kris Kennaway
kris at obsecurity.org
Wed Oct 12 01:34:37 PDT 2005
On Wed, Oct 12, 2005 at 09:34:53AM +0200, Harti Brandt wrote:
> On Wed, 12 Oct 2005, Kris Kennaway wrote:
>
> KK>On Wed, Oct 12, 2005 at 09:12:58AM +0200, Harti Brandt wrote:
> KK>> On Tue, 11 Oct 2005, Kris Kennaway wrote:
> KK>>
> 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 on 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 take a
> KK>> KK>> look?
> KK>>
> KK>> I actually doubt that the $(shell ...) construct was ever supported in our
> KK>> make. The canonical way to assign the output of a shell command to a
> KK>> variable is
> KK>>
> KK>> VERSION != sed <bs.spec -n -e '/Version: \(.*\)/s//\1/p'
> KK>>
> KK>> we also support the SysV syntax:
> KK>>
> KK>> VERSION :sh= ...
> KK>>
> 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.
>
> During december - march I incorporated a lot of fixes to the variable
> parsing code from DragonFly BSD. I just checked that a RELENG_5_0 make
> would interpret in
>
> VERSION = $(shell sed <bs.spec -n -e '/Version: \(.*\)/s//\1/p')
>
> "shell sed <bs.spec -n -e '/Version" (everything up to the colon) as the
> name of a variable and would then try to interprete the space after the
> colon as a modifier. There is no space modifier so it prints an error, but
> muddles along. So it ends up putting the rest until the ) into the
> variable. The current make does basically the same, but ends up with some
> random string in the variable. This is obviously an error. Make should
> probably just stop when finding this syntax error or at least set the
> variable to be empty.
>
> So to make it short: it never worked, the only difference is that the
> string in the variable is different now (in both cases not making any
> sense).
Thanks for the analysis..for now I'll just switch these ports to use
gmake (I did 3 already).
Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20051012/32809966/attachment.bin
More information about the freebsd-ports
mailing list