Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Dec 2009 23:03:27 -0700
From:      James Harrison <oscartheduck@gmail.com>
To:        James Harrison <oscartheduck@gmail.com>
Cc:        ruby@FreeBSD.org, "Michael R. Wayne" <wayne@staff.msen.com>
Subject:   Re: portupgrade not finding ports?
Message-ID:  <FD20D706-A743-4549-8B55-8D8305746752@gmail.com>
In-Reply-To: <F35CE53E-F3B9-4E23-AC0D-E280991686D5@gmail.com>
References:  <20091230164858.GI23001@manor.msen.com> <F35CE53E-F3B9-4E23-AC0D-E280991686D5@gmail.com>

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

On Dec 30, 2009, at 10:23 PM 12/30/09, James Harrison wrote:

>=20
> On Dec 30, 2009, at 9:48 AM 12/30/09, Michael R. Wayne wrote:
>=20
>>=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)
>=20
> I'm completely new to looking at portupgrade, so don't take my word =
for anything.
>=20
> That said, I took a look into this and I saw that  the method =
generating the error begins with:
>=20
> if $portsdb.exist?(arg)
>=20
> So I looked around and found out what class portsdb is an instance of, =
then read the exist? method:
>=20
>  def exist?(port, quick =3D false)
>    return if %r"^[^/]+/[^/]+$" !~ port
>=20
>    dir =3D portdir(port)
>=20
>    return false if not File.file?(File.join(dir, 'Makefile'))
>=20
>    return true if quick
>=20
>    make_var('PKGNAME', dir) || false
>  end
>=20
> 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.
>=20
> A quick look in www/apache22 reveals that the Makefile exists happily, =
so that's not the issue.
>=20
> That's what I've discovered so far.
>=20
> James


Re-reading the above, it looks like it shouldn't be the regex that's =
returning false, as it has no boolean associated with its return. =
Leaving the make_var method. Time for more researchings...





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FD20D706-A743-4549-8B55-8D8305746752>