Massive portupgrade without being interrupted by configuration screens?

Brandon Gooch jamesbrandongooch at gmail.com
Sat Oct 2 14:49:51 UTC 2010


On Sat, Oct 2, 2010 at 5:27 AM, Thomas Mueller
<mueller6727 at bellsouth.net> wrote:
> 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

Well, I'm not using portupgrade, but instead ports-mgmt/portmaster:

# portmaster --force-config --no-confirm [...] lang/perl5.12

Gets all of the config menus out of the way (--force-config), and
doesn't sit waiting for confirmation to proceed with install
(--no-confirm). I do this only the first time I build a port, or if I
need to change a config option and reinstall.

Works for me!

-Brandon


More information about the freebsd-questions mailing list