ports/54988: [non-maintainer] usage of NO_DESCRIBE build variable breaks 'make index' for non-root
Mark Linimon
linimon at lonesome.com
Mon Jul 28 20:10:19 UTC 2003
>Number: 54988
>Category: ports
>Synopsis: [non-maintainer] usage of NO_DESCRIBE build variable breaks 'make index' for non-root
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Jul 28 13:10:09 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Mark Linimon
>Release: FreeBSD-
>Organization:
FreeBSD
>Environment:
System: FreeBSD lonesome.lonesome.com 4.8-STABLE FreeBSD 4.8-STABLE #1: Sun Jul 13 23:03:01 CDT 2003 root at lonesome.lonesome.com:/usr/src/sys/compile/MULTIMEDIA i386
>Description:
Recently several people have reported the inability to run
an overall ports 'make index' under certain conditions. I have
isolated the conditions: 1) you must not be running as root;
2) you must not have previously either done 'make index' as root,
or installed the 2 offending ports as root. (Note: to understand
the following, you must understand that 'cd /usr/ports; make index'
descends into each port directory and there does a 'make describe'.
The error is in the two individual 'make describe' repsonses.)
>How-To-Repeat:
(with system meeting above conditions, and as non-root): either
cd /usr/ports/net/bind9-dlz; make describe, or
cd /usr/ports/net/powerdns; make describe.
>Fix:
The underlying problem is that the ports are attempting to create
the (auxiliary) Makefile.inc file to hold user preferences even
when just being asked to output information via 'make describe'.
I do not understand what the following logic is attempting to do,
so I can't offer a solution, but IMHO it must not assume that it
can create Makefile.inc if it is not already created -- at least
for the purposes of running 'make describe'. (NB: the underlying
logic in the two ports is the same).
# use user config if possible
.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc)
.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc"
.else
.if defined(BATCH)
# default package, can be configured in /etc/make.conf
BINDDLZ_OPTIONS?= \"OpenSSL\" \"PostgreSQL\" \"FileSystem\"
.endif
# make INDEX match
NO_DESCRIBE=yes
.endif
[ ... elided for clarity ...]
.if defined(NO_DESCRIBE)
describe:
.if defined(BATCH)
@ ${SETENV} ${SCRIPTS_ENV} ${SH} ${FILESDIR}/configure.bind9-dlz
.endif
@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} BATCH=yes ${.TARGET}
.endif
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list