Date: Sun, 20 Aug 2006 02:39:09 +0200 (CEST) From: Matthias Andree <matthias.andree@gmx.de> To: FreeBSD-gnats-submit@freebsd.org Cc: ports@freebsd.org, portmgr@freebsd.org Subject: DESTDIR silently breaks CONFLICTS Message-ID: <20060820003909.8BF0E35@libertas.emma.line.org>
next in thread | raw e-mail | index | archive | help
>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@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060820003909.8BF0E35>