Date: Sat, 2 Oct 2010 10:05:33 -0500 From: Doug Poland <doug@polands.org> To: Brandon Gooch <jamesbrandongooch@gmail.com> Cc: Thomas Mueller <mueller6727@bellsouth.net>, "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: Re: Massive portupgrade without being interrupted by configuration screens? Message-ID: <90CBD45F-CB00-4656-A5BB-836FE6401B8A@polands.org> In-Reply-To: <AANLkTikrHxMdJnMnXCHn7ON8FSC6BMAvjLvke6-tYPKj@mail.gmail.com> References: <4ca708f4.svuMWmkOCHSjxBDf%mueller6727@bellsouth.net> <AANLkTikrHxMdJnMnXCHn7ON8FSC6BMAvjLvke6-tYPKj@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
On Oct 2, 2010, at 9:49, Brandon Gooch <jamesbrandongooch@gmail.com> wrote: > On Sat, Oct 2, 2010 at 5:27 AM, Thomas Mueller > <mueller6727@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 If I understand the OPs question correctly, I believe setting the environment variable BATCH=yes will give desired results with portupgrade. This will cause port compile defaults to be used in lieu of an existing /var/db/ports/*/options file.help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?90CBD45F-CB00-4656-A5BB-836FE6401B8A>
