Massive portupgrade without being interrupted by configuration screens?

Thomas Mueller mueller6727 at bellsouth.net
Sat Oct 2 10:10:45 UTC 2010


How can one do a massive portupgrade, as with -r or -R, without being interrupted by options configuration screens for many individual ports?  Idea is to let it run unattended such as when I might run it starting just before bedtime.  Doing "make config" ahead of time also gives the chance to recover from a typo at the configuration screen (high risk).

Best thing I can think of is, using multimedia/ffmpeg as an example, is doing a dry run

portupgrade -Rn multimedia/ffmpeg |& tee -a wouldbe.log

This would show what other packages would need to be portupgraded and avoid reconfiguring up-to-date dependencies.  Then I would go to each of those directories in the ports tree and run "make config".

Running "make config-recursive" in /usr/ports/multimedia/ffmpeg would produce configuration screens for all dependencies, including those that are up-to-date.

I tried 

portupgrade -RCn multimedia/ffmpeg |& tee -a wouldbe.log

but then I got all dependency configuration screens, including those that were up-to-date, and also the interface didn't work right: I got garbage when trying to respond; it didn't write to the configuration screen but produced non-color garbage to the background.

Running "make config-recursive" in /usr/ports/multimedia/ffmpeg would configure all dependencies, including those that are up-to-date and therefore not in need of portupgrading, though "make config-recursive" seems appropriate for a first build/install of a port.

But I think there is no perfect way to be sure of doing all "make config"s in advance, since selectable options could require additional dependencies.

If you try to portupgrade perl to 5.12 and everything that depends on it, as advised in UPDATING file, date 20100715, you will likely get a lot of configuration dialog screens: I speak from experience, would surely like a way to do all these "make config"s at the beginning.

Tom


More information about the freebsd-questions mailing list