portupgrade -c (was Re: Boot GUI / Boot data and process /
Ralph M. Los
Ralph at boundariez.com
Wed Jun 23 13:53:16 PDT 2004
Alright, I feel stupid but I'm going to ask anyway...
Portversion exists in /usr/local/sbin on one FreeBSD 5.2.1 server, but
not on the other, which is an install off the *same CD*. What package or
port does portversion come from?
::From: Randy Pratt [mailto:rpratt1950 at earthlink.net]
::Sent: Tuesday, June 08, 2004 12:16 PM
::To: Kent Stewart
::Cc: freebsd-questions at freebsd.org; bhunter at solisix.com
::Subject: portupgrade -c (was Re: Boot GUI / Boot data and
::process / Fragmentation)
::On Tue, 8 Jun 2004 00:59:58 -0700
::Kent Stewart <kstewart at owt.com> wrote:
::> On Tuesday 08 June 2004 12:37 am, Bruce Hunter wrote:
::> > Thanks for your help Kent
::> > I read something about using portversion -c with the portupgrade
::> > command to upgrade installed pkgs that needed to be updated.
::> > When I run portversion -c :: I get a print out of things
::> > be upgraded and at the end, it shows a 'if' statment.
::> > How do you use this command with portupgrade so it just
::> > instead of just showing me. Just do it dang it... just do it! ;o)
::The output of "portversion -c" needs to be redirected to a file:
:: portversion -c > scriptname.sh
::To make it usable as a shell script, it needs to have
::added at the top to insure that it uses the sh command
::interperter. Then, the script needs to be made executable:
:: chmod 744 scriptname.sh
::Then it can be run as root:
::> I'm not the one to ask because I use the -c and do them one
::at a time.
::> The portupgrade option -rRa will do some of it. I just want
::it to do it
::> at my convience and choosing :). I also have an AMD 2400+
::that sits off
::> to the side of my computer desk and I build everything on it. The
::> problem with the -c list is that it doesn't build
::I think it will build the required dependencies first *if*
::they need updated. The synopsis of portupgrade is:
:: portupgrade [ ... bunch of options ... ] pkgname-glob
::A list of ports can be passed to portugrade and it will check
::which needs to be built first. This can easily be checked if
::you have doubts. Use -n for "no-execute" and -f to "force".
::This is a test case I tried where liveMedia is a dependency
:: # portupgrade -nf mplayer-gtk-esound-0.92.1_2 liveMedia-2004.06.07,1
:: ---> Session started at: Tue, 08 Jun 2004 11:06:39 -0400
:: ---> Reinstallation of net/liveMedia started at: Tue, 08 Jun 2004
:: 11:06:40 -0400
:: ---> Reinstalling 'liveMedia-2004.06.07,1' (net/liveMedia)
:: OK? [no]
:: ---> Reinstallation of net/liveMedia ended at: Tue, 08 Jun 2004
:: 11:06:40 -0400 (consumed 00:00:00)
:: ---> Reinstallation of multimedia/mplayer started at: Tue, 08 Jun
:: 2004 11:06:41 -0400
:: ---> Reinstalling 'mplayer-gtk-esound-0.92.1_2'
:: OK? [no]
:: ---> Reinstallation of multimedia/mplayer ended at: Tue, 08 Jun
:: 2004 11:06:41 -0400 (consumed 00:00:00)
:: ---> Listing the results (+:done / -:ignored / *:skipped /
:: + net/liveMedia (liveMedia-2004.06.07,1)
:: + multimedia/mplayer (mplayer-gtk-esound-0.92.1_2)
:: ---> Packages processed: 2 done, 0 ignored, 0 skipped and 0 failed
:: ---> Session ended at: Tue, 08 Jun 2004 11:06:41 -0400
::Notice that liveMedia was updated first even though it was
::last in the list of ports passed to portupgrade. The portversion -c
::produces a list of ports and stores them in its variable
::$pkgs. Portupgrade will take the list and build them in the
::correct dependency order.
::I've used this approach for several years now and it works fine.
::However, caution should be used when scripting the upgrading
::of ports. After cvsupping and running portsdb -Uu, the
::/usr/ports/UPDATING should be read and any items that are
::applicable to the installation should be followed before
::running any scripts or other portupgrade commands.
::If you still prefer doing ports manually, the output of
::portupgrade -c can still be useful. By modifying the script
::slightly, it will produce a list of ports to be updated in
::the order they should be updated. Just change the line:
:: portupgrade "$@" $pkgs
:: pkg_glob $pkgs | pkg_sort
::It should be noted that some ports may not work until the
::entire list is updated and as usual, your mileage may vary.
::I'm sure someone will correct me if I'm thinking wrong about this.
::[ ... other topics snipped ... ]
::freebsd-questions at freebsd.org mailing list
::To unsubscribe, send any mail to
::"freebsd-questions-unsubscribe at freebsd.org"
More information about the freebsd-questions