From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Mar 23 05:00:11 2007 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 [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DD94716A404 for ; Fri, 23 Mar 2007 05:00:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id BE42813C44C for ; Fri, 23 Mar 2007 05:00:11 +0000 (UTC) (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 l2N50Bp7068747 for ; Fri, 23 Mar 2007 05:00:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l2N50Brk068746; Fri, 23 Mar 2007 05:00:11 GMT (envelope-from gnats) Resent-Date: Fri, 23 Mar 2007 05:00:11 GMT Resent-Message-Id: <200703230500.l2N50Brk068746@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, Yoshihiro Ota Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D2F7516A402 for ; Fri, 23 Mar 2007 04:59:59 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [69.147.83.33]) by mx1.freebsd.org (Postfix) with ESMTP id AAF4313C465 for ; Fri, 23 Mar 2007 04:59:59 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id l2N4xxIJ010629 for ; Fri, 23 Mar 2007 04:59:59 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id l2N4swPX010064; Fri, 23 Mar 2007 04:54:58 GMT (envelope-from nobody) Message-Id: <200703230454.l2N4swPX010064@www.freebsd.org> Date: Fri, 23 Mar 2007 04:54:58 GMT From: Yoshihiro Ota To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.0 Cc: Subject: ports/110693: Port does not rebuild newer version if work dir of old versions are not removed X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Mar 2007 05:00:11 -0000 >Number: 110693 >Category: ports >Synopsis: Port does not rebuild newer version if work dir of old versions are not removed >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: Fri Mar 23 05:00:11 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Yoshihiro Ota >Release: 7.0-CURRENT >Organization: >Environment: latest port tree >Description: Port installs older version/revision if you don't cleanup your work directories. Even if port revision number increases after updaing ports tree, the previous revision is installed since *_COOKIEs only use port's name only. In my case, I did csup and then 'cd /usr/ports/x11/gnome && make install' everyday until it finishes. It took about a week to install all dependencies. During the period some ports were updated and version number or revision number were increased. In one of the run-depend chains, it required the newest port, but port build system didn't rebuild it because an old version was already built and was there. I do not run 'make clean' because it takes very long time. Instead, I have WRKDIRPREFIX set and have one filesystem assigned for port work areas so that I can use newfs to wipe out everything. >How-To-Repeat: This could be done with any ports, but, for example, % cd /usr/ports/ports-mgmt/pkg_tree % make install % vi Makefile -- increase PORTREVISION from 1 to 2. % make {de,re}install OR portupgrade -wW pkg_tree This installs the old (revision 1) version but installed package has revision 2. >Fix: Patch attached with submission follows: --- Mk/bsd.port.mk.orig Wed Mar 7 01:58:20 2007 +++ Mk/bsd.port.mk Wed Mar 7 21:18:46 2007 @@ -2088,12 +2088,13 @@ REINPLACE_CMD?= ${SED} ${REINPLACE_ARGS} # Names of cookies used to skip already completed stages -EXTRACT_COOKIE?= ${WRKDIR}/.extract_done.${PORTNAME}.${PREFIX:S/\//_/g} -CONFIGURE_COOKIE?= ${WRKDIR}/.configure_done.${PORTNAME}.${PREFIX:S/\//_/g} -INSTALL_COOKIE?= ${WRKDIR}/.install_done.${PORTNAME}.${PREFIX:S/\//_/g} -BUILD_COOKIE?= ${WRKDIR}/.build_done.${PORTNAME}.${PREFIX:S/\//_/g} -PATCH_COOKIE?= ${WRKDIR}/.patch_done.${PORTNAME}.${PREFIX:S/\//_/g} -PACKAGE_COOKIE?= ${WRKDIR}/.package_done.${PORTNAME}.${PREFIX:S/\//_/g} +COOKIE_SUFFIX?= ${PORTNAME}-${PORTVERSION}_${PORTREVISION}.${PREFIX:S/\//_/g} +EXTRACT_COOKIE?= ${WRKDIR}/.extract_done.${COOKIE_SUFFIX} +CONFIGURE_COOKIE?= ${WRKDIR}/.configure_done.${COOKIE_SUFFIX} +INSTALL_COOKIE?= ${WRKDIR}/.install_done.${COOKIE_SUFFIX} +BUILD_COOKIE?= ${WRKDIR}/.build_done.${COOKIE_SUFFIX} +PATCH_COOKIE?= ${WRKDIR}/.patch_done.${COOKIE_SUFFIX} +PACKAGE_COOKIE?= ${WRKDIR}/.package_done.${COOKIE_SUFFIX} # How to do nothing. Override if you, for some strange reason, would rather # do something. >Release-Note: >Audit-Trail: >Unformatted: