Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Nov 2010 10:58:47 +0100
From:      Stefan Ehmann <shoesoft@gmx.net>
To:        Joel Ray Holveck <joelh@piquan.org>
Cc:        ruby@freebsd.org
Subject:   Re: [FIX] portupgrade fails if BEFOREDEINSTALL is set
Message-ID:  <201011201058.47097.shoesoft@gmx.net>
In-Reply-To: <9FA7F784-CA43-4E6B-8EA0-EE89D27DCE3A@piquan.org>
References:  <9FA7F784-CA43-4E6B-8EA0-EE89D27DCE3A@piquan.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 20 November 2010 10:33:22 Joel Ray Holveck wrote:
> In pkg_deinstall, in get_beforedeinstall_command, there's a line:
> 
>   commands.each { |cmd| cmd.sub!(/^[;\s]+/, '') if !cmd.nil }
> 
> I'm kinda out of my area here, but I'm pretty sure that method should be
> "nil?", not "nil".  As it stands, portupgrade fails to upgrade anything if
> BEFOREDEINSTALL in pkgtools.conf returns anything.  (The example in the
> .conf file's comments returns a command for all packages, although it
> frequently is an empty string.)
The fix seems to work for me. But ruby is also outside of my area.

> I've seen a couple of references to this by searching on Google, but I'm
> not aware of anybody having fixed it.  The primary symptom is that
> portupgrade will build but during the deinstall will stop working on that
> package with no clear error message, and the reason given in the "why the
> upgrades failed" summary is "undefined method `nil' for "":String". I've
> seen people asking about this on freebsd-questions and freebsd-ruby, but
> haven't really searched that hard.  (I cc'd the people I saw asking about
> it.)
> 
> I'm sending this to ruby@freebsd.org because that's what's listed as the
> maintainer for portupgrade; let me know if there's somewhere else it
> should go.  I don't subscribe to the ruby list, and I apologize if this
> has been discussed here before.

If the fix doesn't get picked up, a PR should be filed. So it doesn't get 
lost.

Thanks,
Stefan



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