Date: Wed, 30 Dec 2009 22:23:57 -0700 From: James Harrison <oscartheduck@gmail.com> To: Michael R. Wayne <wayne@staff.msen.com> Cc: ruby@FreeBSD.org Subject: Re: portupgrade not finding ports? Message-ID: <F35CE53E-F3B9-4E23-AC0D-E280991686D5@gmail.com> In-Reply-To: <20091230164858.GI23001@manor.msen.com> References: <20091230164858.GI23001@manor.msen.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 30, 2009, at 9:48 AM 12/30/09, Michael R. Wayne wrote: >=20 > I've seen this a few times, just curious why it's failing on just > the port name? Didn't seem worth a PR... >=20 > /\/\ \/\/ >=20 > 380> sudo portinstall --fetch-only --upward-recursive apache22 > ** No such package or port: apache22 >=20 > 381> sudo portinstall --fetch-only --upward-recursive www/apache22 > [Gathering depends for www/apache22 ..................... done] >=20 > (works) I'm completely new to looking at portupgrade, so don't take my word for = anything. That said, I took a look into this and I saw that the method generating = the error begins with: if $portsdb.exist?(arg) So I looked around and found out what class portsdb is an instance of, = then read the exist? method: def exist?(port, quick =3D false) return if %r"^[^/]+/[^/]+$" !~ port dir =3D portdir(port) return false if not File.file?(File.join(dir, 'Makefile')) return true if quick make_var('PKGNAME', dir) || false end So, either the regex isn't matching (my regexfu is weak, so I'm working = on parsing the regex in my head, which is slow going), or the make_var = method is failing, or there's no Makefile for apache22. A quick look in www/apache22 reveals that the Makefile exists happily, = so that's not the issue. That's what I've discovered so far. James=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F35CE53E-F3B9-4E23-AC0D-E280991686D5>