October 17th, 2008, 18:08
I don't know exactly which version it started with, but in the last year portupgrade has changed the order in which it builds required ports. The current behavior is to parse all the makefiles and build all the requirements before it runs the option selection dialog box of your build target. I love portupgrade and openly thank the developers; but I don't understand why anyone thinks this is a desirable behavior.

I like to keep the number of installed ports on my servers to a minimum simply because keeping them all up to date and in sync with one another takes a lot of time. So when I install plone, I am somewhat dismayed to witness the installation of TCL/TK. This happens because plone requires zope which requires py-imaging which optionally (by default) includes a TK interface. Currently, if you run portinstall plone3, tcl and tk will both be installed before you are presented with the py-imaging options list.

Admittedly, it is not that difficult to simply uninstall tcl and tk after the fact; however, it seems that its a waste of time, cpu and download bandwidth. More to the point, what other unnecessary ports are being installed. I've gotten into the habit recently of only using portupgrade when actually upgrading and simply using 'make install' when installing new ones. [sigh]

I think I would feel better if I could understand where the win comes in from this change; but I don't see it.

October 18th, 2008, 13:13
ericx, I believe there's a make option in ports that lets you pre-adjust the build options, ie to tweak the saved port-option config file and not do anything else. You should be able to cd into the ports tree and set the options on plone before you run portupgrade.

The other thing to do is tweak /usr/local/etc/pkgtools.conf to control explicitly what options to apply to the plone build.

I feel your pain, though. I agree with you that the order of operations is kinda wrong by default. Might have been better if they'd made this new behaviour a settable flag.