Subject: Re: apr0/apr naming scheme not getting along with pkg_chk (hard problem)
To: Greg Troxel <gdt@ir.bbn.com>
From: Todd Vierling <tv@pobox.com>
List: tech-pkg
Date: 02/08/2007 11:02:01
On 2/5/07, Greg Troxel <gdt@ir.bbn.com> wrote:
> I have a machine with a number of packages, including:
>
> apr (0.9)
> subversion-base
> apache2
>
> pkg_chk reports:
>
> devel/apr - apr-0.9.12.2.0.59nb2 < apr-1.2.8.2.2.4nb1

This happens because devel/apr was bumped to 1.2.8, but the old
version moved to apr0.  If you do a "make replace" on apr0 by hand,
this will fix itself (because the new pkgsrc subdir will be recorded
in the rebuild).

> The fix is to delete apr and reinstall apr0, but then this happens
> again.

Doesn't happen if apr0 is rebuilt *from source*.  Using a binpkg just
brings back the old subdir naming in +BUILD_INFO.

>   pkg_chk:
>     pkg_chk should realize somehow that a user running apr-0.9.x which
>     is current with respect to the devel/apr0 package is not really
>     out of date in the usual sense.  Clearly somehow one decided to do
>     this, and branch jumps aren't really something pkg_chk should do
>     for you.

pkg_chk uses the PKGPATH variable in the +BUILD_INFO for the package
to determine the source of the original package build.  Thus it's
physically incapable of knowing that a package moved.

>   pkg_rolling-replace:

With the caveat that "make replace" is not reliable, and even says so
when you use it (which is why it should always be done with manual
supervision):

This suffers from exactly the same problem as pkg_chk, and there's no
current solution for it.

> 3) The Apache people should have made a way to have apr be able to
>    install multiple versions at the same time.

This is *almost* possible, but no one has stepped up to make it happen.

-- 
-- Todd Vierling <tv@duh.org> <tv@pobox.com> <todd@vierling.name>