Subject: Re: pkg_rolling-replace calling 'make install'?
To: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-pkg
Date: 08/19/2007 10:46:00
  Mhm. The choice of packages for a "make install" is funny, though - right
  now, pkg_rr (I should alias pkg_rolling-replace to that, to avoid RSI ;)
  tried and failed to "make install" amanda-base, but properly replaced
  amanda-client and amanda-server; then it replaced gtar-base properly, but
  tried and failed to "make install" gtar-info. Guess I'll try a "pkg_rr -u"
  next.

I'd be happy to look at the log from your run.  But if your installed
packages are out of date, then pkg_rr without -u is going to run into
problems.

The basic issue is that sometimes a package A should be replaced
(unsafe_depends or rebuild), and that package depends on some installed
package B.  If B is out of date, and either B's bl3 default or A's
explicit variable says that B is too old to be used, then pkgsrc's basic
build target will reject the installed B and try to pull in B as a
dependency, which causes build, install, and maybe package.  So this
isn't really something that pkg_rr is doing - had you done "make
replace" in www/dillo (from your original mail), you would have had the
same issue.

When this situation arises, there are basically two choices:

 give up on updating package A, because B is too old

 update B

I always update B, and maybe pkgsrc should have a variable that says
"when a depending package is required, and it's too old, do make replace
on it instead of failing to install".  Note that you can do this
manually (go to x11/gtk and 'make replace package clean' - it's already
built so this will be fast.  Then, rerun pkg_rr and it will pick up
where it left off.