Trouble upgrading older Subversion on recent FreeBSD? You might be missing devel/scons
I upgraded Subversion 1.8.1 to 1.8.5 on some non-critical FreeBSD servers the other day. Normally I would run this command:
portupgrade -fprv devel/subversion
www/serf also needed updating, so this time I ran a command like:
portupgrade -fprv www/serf
I got a bit surprised when
portupgrade bombed out unable to compile the new
www/serf port due to missing dependencies. “How strange”, I thought, as I had just witnessed
devel/scons being compiled and presumably installed. No such luck.
Instead, do this:
portupgrade -Nfprv devel/scons portupgrade -fprv www/serf
Ah, that’s much better thank you very much. I never tracked down the culprit, be it
portupgrade or the ports collection. Anyway, manual handling of
devel/scons saved the day.
It seems the new stage feature of the ports collection is causing
portupgrade to assume that some of the ports have been installed when the truth is that the ports have only been installed in the stage directory. Luckily, a package would have been erected in
/usr/ports/packages/All, enabling us to manually install what was supposed to be installed automatically, and the rerun
portupgrade. Either the stage feature has to be globally disabled somehow, or
portupgrade needs to be taught a lesson or two.