DESTDIR silently breaks CONFLICTS
Matthias Andree
matthias.andree at gmx.de
Sun Aug 20 00:39:14 UTC 2006
>Submitter-Id: current-users
>Originator: Matthias Andree
>Organization:
>Confidential: no
>Synopsis: DESTDIR silently breaks CONFLICTS
>Severity: critical
>Priority: high
>Category: ports
>Class: sw-bug
>Release: FreeBSD 6.1-RELEASE-p3 i386
>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.
More information about the freebsd-ports
mailing list