Date: Sat, 20 Nov 2010 01:33:22 -0800 From: Joel Ray Holveck <joelh@piquan.org> To: ruby@freebsd.org Cc: wtp@bsdserwis.com, tobiash@gmail.com, shoesoft@gmx.net Subject: [FIX] portupgrade fails if BEFOREDEINSTALL is set Message-ID: <9FA7F784-CA43-4E6B-8EA0-EE89D27DCE3A@piquan.org>
next in thread | raw e-mail | index | archive | help
--Apple-Mail-6-553273615 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii 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.) 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. Please copy me on all replies, since I'm not on the list. Thanks, joelh= --Apple-Mail-6-553273615--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9FA7F784-CA43-4E6B-8EA0-EE89D27DCE3A>