portmaster stopped finding dependent ports if non-standard PORTSDIR

Doug Barton dougb at dougbarton.us
Thu May 6 06:14:02 UTC 2010

On 5/5/2010 6:58 PM, John Marshall wrote:
> Yesterday I updated ports on my notebook (8.0-RELEASE-p2), took a deep
> breath, used portmaster to upgrade xorg to 7.5 (portmaster -D xorg-7.4_4)
> - ran without a hitch.
> Then, I upgraded portmaster (portmaster -D portmaster) - also no
> problems.

Both good news. :) Although generally you should update a new portmaster
version first before upgrading other stuff ...

> Then, I tried to upgrade jpeg...
> ----------------------------------------
> rwpc08# portmaster -D jpeg
> ===>>> Currently installed version: jpeg-8_1
> ===>>> Port directory: /usr/ports/graphics/jpeg
> ===>>> Launching 'make checksum' for graphics/jpeg in background
> ===>>> Gathering dependency list for graphics/jpeg from ports
> ===>>> Starting recursive 'make config' check
> ===>>> Launching child to update /build/ports/devel/libtool22
> 	jpeg-8_1 >> /build/ports/devel/libtool22

That's very bad, because it's picking up /usr/ports/graphics/jpeg but
also /build/ports/devel/libtool22.

> I've tried upgrading other ports as well: same story.  portmaster 2.25
> seems to work fine on other systems which have a native /usr/ports.  I'm
> thinking that portmaster's non-standard location awareness may have
> broken with some of the recent ORIGIN stuff?  The version of portmaster
> I used to upgrade xorg was 2.2x (I think 2.22): I remember noticing that
> it was 2 or 3 releases behind.

The logic has changed, to:
is pd set in portmasterrc? If so, use it, if not
  is PORTSDIR set in portmasterrc? If so, use it, if not
    does /usr/ports exist? If so, use it, if not
      test for the value of PORTSDIR with make(1) like before

So a couple of questions. What does:
make BEFOREPORTMK=bpm -f/usr/share/mk/bsd.port.mk -V PORTSDIR
return? And do you have an actual /usr/ports directory on the box where
PORTSDIR is supposed to be /build/ports? If the answer to the first
question is not "/build/ports" and the answer to the second question is
"no," then do this:

Change the first line of /usr/local/sbin/portmaster to:
#!/bin/sh -x
Then do the following:
script pm.log
<whatever portmaster command you did previously that didn't work>

Then send me the log.




	... and that's just a little bit of history repeating.
			-- Propellerheads

	Improve the effectiveness of your Internet presence with
	a domain name makeover!    http://SupersetSolutions.com/

More information about the freebsd-ports mailing list