Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Jul 2005 11:34:49 +0900
From:      KOMATSU Shinichiro <koma2@lovepeers.org>
To:        Olivier Certner <olivier.certner@free.fr>
Cc:        freebsd-hackers@freebsd.org, Kris Kennaway <kris@obsecurity.org>, Florent Thoumie <flz@xbsd.org>
Subject:   Re: Bug in portupgrade
Message-ID:  <42EC38C9.8070402@lovepeers.org>
In-Reply-To: <200507130015.31521.olivier.certner@free.fr>
References:  <200507102313.12719.olivier.certner@free.fr> <20050712165530.GA5475@xor.obsecurity.org> <1121189986.6598.1.camel@cream.xbsd.org> <200507130015.31521.olivier.certner@free.fr>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello.

Olivier Certner wrote:
> Le Mardi 12 Juillet 2005 19:39, Florent Thoumie a écrit :
> 
>>Le Mardi 12 juillet 2005 à 12:55 -0400, Kris Kennaway a écrit :
>>
>>>On Sun, Jul 10, 2005 at 11:13:12PM +0200, Olivier Certner wrote:
>>>
>>>>	Hi,
>>>>
>>>>	There is a bug with portupgrade when it is used to upgrade already
>>>>compiled and installed ports for which some dependencies have been
>>>>deleted in the package database. This causes a crash in the function
>>>>'deorigin' in pkgdb.rb.
>>>>
>>>>	Since I don't know the internals of portupgrade, I don't know if it's
>>>>normal to call 'deorigin' with its argument set to nil. If it is, then
>>>>the patch below might be useful (beware, I don't know any ruby, I've
>>>>just tried something and it works), if it is not, I only can provide
>>>>the stack (see below) in order for maintainers to seek the faulty
>>>>callers.
>>>
>>>Please talk to the port maintainer.
>>
>>	Yeah, and good luck :)
>>
>>	Otherwise, he can try to pkgdb -F or remove pkgdb.rb and re-run
>>	portupgrade.
> 
> 
> 	This doesn't work in fact. I'm forwarding these mails to the maintainer.

Sorry for my late reply, but would you try out the following patch?


Index: lib/portsdb.rb
===================================================================
--- lib/portsdb.rb      (revision 37)
+++ lib/portsdb.rb      (revision 38)
@@ -846,7 +846,7 @@

    def all_depends_list(origin, before_args = nil, after_args = nil)
      if !before_args && !after_args && i = port(origin)
-      i.all_depends.map { |n| origin(n) }
+      i.all_depends.map { |n| origin(n) }.compact
      else
        all_depends_list!(origin, before_args, after_args)
      end



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