Skip site navigation (1)Skip section navigation (2)
Date:      Tue,  8 Oct 2002 16:55:47 +1000 (EST)
From:      Edwin Groothuis <edwin@mavetju.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/43813: bsd.gnomeng.mk is acting strange while using pkg_version
Message-ID:  <20021008065547.67D496A7130@k7.mavetju>

next in thread | raw e-mail | index | archive | help

>Number:         43813
>Category:       ports
>Synopsis:       bsd.gnomeng.mk is acting strange while using pkg_version
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 08 00:00:15 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Edwin Groothuis
>Release:        FreeBSD 4.5-RELEASE i386
>Organization:
-
>Environment:
System: FreeBSD k7.mavetju 4.5-RELEASE FreeBSD 4.5-RELEASE #4: Sat Sep 14 10:41:50 EST 2002 edwin@k7.mavetju:/usr/src/sys/compile/k7 i386

$FreeBSD: ports/Mk/bsd.gnomeng.mk,v 1.16 2002/10/07 21:25:57 marcus Exp $

>Description:

Now this is a tricky one. On my system (4.5, with pkg_version still
being perl), pkg_version is chocking on the yesterday commited code
to support WITHOUT_GNOME:

Without having WITH_GNOME or WITHOUT_GNOME in /etc/make.conf, I get:
[~] edwin@k7>pkg_version -vs xchat
"/usr/ports/Mk/bsd.gnomeng.mk", line 1: Malformed conditional (!defined(WITHOUT_GNOME) || (defined(WITHOUT_GNOME) &&  ${WITHOUT_GNOME:Mgnomehack}==""))
"/usr/ports/Mk/bsd.gnomeng.mk", line 2: Malformed conditional (exists(${gnomehack_DETECT}) || (defined(WITH_GNOME) &&  (${WITH_GNOME}=="yes" || ${WITH_GNOME:Mgnomehack}!="" ||  ${WITH_GNOME}=="1")))
"/usr/ports/Mk/bsd.gnomeng.mk", line 2: Need an operator
[...]

With only WITHOUT_GNOME in /etc/make.conf, I get:
[~] edwin@k7>pkg_version -vs xchat
"/usr/ports/Mk/bsd.gnomeng.mk", line 2: Malformed conditional (exists(${gnomehack_DETECT}) || (defined(WITH_GNOME) &&  (${WITH_GNOME}=="yes" || ${WITH_GNOME:Mgnomehack}!="" ||  ${WITH_GNOME}=="1")))
"/usr/ports/Mk/bsd.gnomeng.mk", line 2: Need an operator
[...]

With both in /etc/make.conf, I get:
[~] edwin@k7>pkg_version -vs xchat
xchat-gnome-1.8.9                   =   up-to-date with port


A friend running 4.7-pre doesn't have these symptons, I assume it's
a 4.5 issue.

>How-To-Repeat:

See description

>Fix:

I don't know, I don't get it. The offensive lines are in this part:
    _USE_GNOME_SAVED:=${USE_GNOME}
    HAVE_GNOME?=
    .if (defined(WANT_GNOME) && !defined(WITHOUT_GNOME)) || \
      (defined(WITHOUT_GNOME) && ${WITHOUT_GNOME}!="yes" && \
      ${WITHOUT_GNOME}!="1")
    . for component in ${_USE_GNOME_ALL}
|   .  if !defined(WITHOUT_GNOME) || (defined(WITHOUT_GNOME) && \
|	 ${WITHOUT_GNOME:M${component}}=="")
:   .    if exists(${${component}_DETECT}) || (defined(WITH_GNOME) && \
:	   (${WITH_GNOME}=="yes" || ${WITH_GNOME:M${component}}!="" || \
:	   ${WITH_GNOME}=="1"))
    HAVE_GNOME+=    ${component}
:   .    endif
|   .  endif
    . endfor
    .endif

| is the one which complains when running without WITHOUT_GNOME,
: is the one which complains when running without WITH_GNOME.

It looks okay from my point of view, it's almost as if the if-statement
does a full line-evaluation.

=== little bit later ===
http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/make/var.c revision 1.16.2.3
*duh*

Seems that it can't be fixed on <4.6, unless there was a way to
check the version number of make(1) and install a new version a la
the sed_inplace.

Anyway, up to ports@ to discuss solutions for this.

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021008065547.67D496A7130>