ports/102300: DESTDIR silently breaks CONFLICTS

Matthias Andree matthias.andree at gmx.de
Sun Aug 20 00:40:16 UTC 2006


>Number:         102300
>Category:       ports
>Synopsis:       DESTDIR silently breaks CONFLICTS
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 20 00:40:14 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Matthias Andree
>Release:        FreeBSD 6.1-RELEASE-p3 i386
>Organization:
>Environment:
System: FreeBSD libertas.emma.line.org 6.1-RELEASE-p3 FreeBSD 6.1-RELEASE-p3 #13: Sat Jul 15 11:21:56 CEST 2006 toor at libertas.emma.line.org:/usr/obj/usr/src/sys/MA6 i386


	
>Description:
The new DESTDIR scheme in ports/Mk/bsd.port.mk *silently* breaks CONFLICTS,
ports built with default (empty) DESTDIR have no CONFLICTS recorded.

Cause: DESTDIR isn't defined by default, hence this part in ports/Mk/bsd.port.mk
lines 2304 ff.:

# Does the pkg_create tool support conflict checking?
# XXX Slow?
.if !defined(PKGINSTALLVER)
PKGINSTALLVER!= ${CHROOT} ${DESTDIR} ${PKG_INFO} -P 2>/dev/null | ${SED} -e 's/.*: //'
.endif

expands to:

PKGINSTALLVER!= chroot  /usr/sbin/pkg_info -P | sed -e 's/.*: //'

which causes chroot to complain "chroot: /usr/sbin/pkg_info: Not a directory"
- however this message is usually discarded.

You can check this (DESTDIR must not be set) easily with:

$ cd /usr/ports/security/openvpn # this isn't specific to OpenVPN
                                 # but must happen in some port directory
$ pkg_info -P
Package tools revision: 20040629
$ make -V DESTDIR

$ make -V PKGINSTALLVER

$ make -V DISABLE_CONFLICTS
YES

	
>How-To-Repeat:
	
>Fix:
Either set a reasonable default for DESTDIR, or omit the CHROOT if DESTDIR is
an empty string.
	
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list