Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Jan 2008 14:53:09 GMT
From:      KOMATSU Shinichiro <koma2@lovepeers.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/119383: ports-mgmt/portupgrade: Installation problem of depended ports that are not yet instaled.
Message-ID:  <200801061453.m06Er9gu053438@www.freebsd.org>
Resent-Message-ID: <200801061500.m06F04Fr089737@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         119383
>Category:       ports
>Synopsis:       ports-mgmt/portupgrade: Installation problem of depended ports that are not yet instaled.
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 06 15:00:03 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     KOMATSU Shinichiro
>Release:        FreeBSD 6.2-RELEASE i386
>Organization:
>Environment:
FreeBSD 6.2-RELEASE i386
>Description:
Previously, portupgrade skips installation of dependened ports
if they are not yet installed.
(Skiped ports are installed by ports system (bsd.port.mk) itself,
so this might not made big trouble.)

It was mentioned that this has been fixed in portupgrade-2.3 
according to the commit log of bin/portupgrade rev.1.27,
but this does not work actually.


>How-To-Repeat:
Install a port that has one or more non-installed dependency.
>Fix:
In line 698 of bin/portupgrade rev.1.38, the following code exists:

            if $pkgdb.deorigin(origin)

This is always evaluated to false, however, because this part of code is executed
only when none of the ports passed by command line arguments are installed,
and each of the command line arguments is assigned to "origin",
so none of the uninstalled dependes are assigned to "install_tasks".



Patch attached with submission follows:

Index: bin/portupgrade
===================================================================
RCS file: /cvsroot/portupgrade/pkgtools/bin/portupgrade,v
retrieving revision 1.38
diff -u -r1.38 portupgrade
--- bin/portupgrade	9 Aug 2007 15:28:05 -0000	1.38
+++ bin/portupgrade	6 Jan 2008 14:40:46 -0000
@@ -695,12 +695,10 @@
 	    make_env = get_make_env(dep)
 
 	    # If has not yet installed
-	    if $pkgdb.deorigin(origin)
-	      install_tasks << dep
-	      $task_options[dep] = {
-	        :make_args => make_args
-	      }
-	    end
+	    install_tasks << dep
+	    $task_options[dep] = {
+	      :make_args => make_args
+	    }
 	  end
 
 	  if $upward_recursive


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801061453.m06Er9gu053438>