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>