From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Sep 25 07:00:40 2006 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 92AB816A47B for ; Mon, 25 Sep 2006 07:00:40 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id C97FD43D5C for ; Mon, 25 Sep 2006 07:00:36 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k8P70aux065858 for ; Mon, 25 Sep 2006 07:00:36 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k8P70ahG065857; Mon, 25 Sep 2006 07:00:36 GMT (envelope-from gnats) Resent-Date: Mon, 25 Sep 2006 07:00:36 GMT Resent-Message-Id: <200609250700.k8P70ahG065857@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, vd@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C23C16A403; Mon, 25 Sep 2006 06:51:44 +0000 (UTC) (envelope-from vd@datamax.bg) Received: from jengal.datamax.bg (jengal.datamax.bg [82.103.104.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id A62EA43D5F; Mon, 25 Sep 2006 06:51:43 +0000 (GMT) (envelope-from vd@datamax.bg) Received: from qlovarnika.bg.datamax (qlovarnika.bg.datamax [192.168.10.2]) by jengal.datamax.bg (Postfix) with SMTP id B58D8B844; Mon, 25 Sep 2006 09:51:42 +0300 (EEST) Received: (nullmailer pid 83020 invoked by uid 1002); Mon, 25 Sep 2006 06:51:42 -0000 Message-Id: <20060925065142.GA82828@qlovarnika.bg.datamax> Date: Mon, 25 Sep 2006 09:51:42 +0300 From: Vasil Dimov To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: portmgr@FreeBSD.org Subject: ports/103606: [patch] bsd.port.mk: check-already-installed target does not catch old versions of installed packages X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vd@FreeBSD.org List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Sep 2006 07:00:40 -0000 >Number: 103606 >Category: ports >Synopsis: [patch] bsd.port.mk: check-already-installed target does not catch old versions of installed packages >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: Mon Sep 25 07:00:35 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Vasil Dimov >Release: FreeBSD 6.2-PRERELEASE amd64 >Organization: N/A >Environment: >Description: bsd.port.mk reads the following: 3783 if [ -n "$${df}" ]; then \ 3784 found_package=$${p}; \ 3785 break; \ 3786 fi; \ 3787 fi; \ 3788 done; \ 3789 fi ; \ 3790 if [ -d ${PKG_DBDIR}/${PKGNAME} -o -n "$${found_package}" ]; the Notice the shell started at line 3790 is different from the one which sets $found_package and thus the variable contents is lost for the test on 3790 line. This results in new versions of packages being installed although the old versions are not deinstalled (e.g. a compleat mess). >How-To-Repeat: /usr/ports/security/libgpg-error# make -V PKGNAME libgpg-error-1.4 /usr/ports/security/libgpg-error# ls -ld /var/db/pkg/libgpg-error-1.3 drwxr-xr-x 2 root wheel 512 Sep 23 02:46 /var/db/pkg/libgpg-error-1.3 /usr/ports/security/libgpg-error# make check-already-installed ===> Checking if security/libgpg-error already installed /usr/ports/security/libgpg-error# echo $? 0 /usr/ports/security/libgpg-error# >Fix: --- bsd.port.mk_check-already-installed.diff begins here --- Index: bsd.port.mk =================================================================== RCS file: /home/pcvs/ports/Mk/bsd.port.mk,v retrieving revision 1.543 diff -u -r1.543 bsd.port.mk --- bsd.port.mk 20 Sep 2006 04:04:05 -0000 1.543 +++ bsd.port.mk 25 Sep 2006 06:37:47 -0000 @@ -3786,8 +3786,8 @@ fi; \ fi; \ done; \ - fi - @if [ -d ${PKG_DBDIR}/${PKGNAME} -o -n "$${found_package}" ]; then \ + fi ; \ + if [ -d ${PKG_DBDIR}/${PKGNAME} -o -n "$${found_package}" ]; then \ if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \ if [ -z "${DESTDIR}" ] ; then \ ${ECHO_CMD} "===> ${PKGNAME} is already installed"; \ --- bsd.port.mk_check-already-installed.diff ends here --- -- Vasil Dimov gro.DSBeerF@dv % The man who sets out to carry a cat by its tail learns something that will always be useful and which never will grow dim or doubtful. -- Mark Twain >Release-Note: >Audit-Trail: >Unformatted: