Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Thu, 27 Jun 2013 16:14:31 +0200, Chris H bsd-li...@1command.com wrote: Warren Block wrote: On Wed, 26 Jun 2013, Chris H wrote: On Wed, 26 Jun 2013, Chris H wrote: Okay, look up the last time you installed or upgraded a port: % ls -ltr /var/db/pkg The last one is the most recently modified. Update your ports tree, follow all the steps that apply to your system since that date. That should say all the steps in /usr/ports/UPDATING that apply to your system since that date. There is a nice command that helps you to list only relevant entries from UPDATING (entries from UPDATING for already installed ports) pkg_updating -d MMDD Where MMDD is the last time you did ports update, for example pkg_updating -d 20120923 Miroslav Lachman Greetings Miroslav, That _is_ nice. Thank you for taking the time post this. That'll help quite a bit! /usr/ports/ports-mgmt/portupdate-scan is also very usefull Ronald. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
In article 5e20544e3580a75759c3858f31894dc9.authentica...@ultimatedns.net, bsd-li...@lcommand.com writes: I haven't upgraded my tree(s) for awhile. My last attempt to rebuild after an updating src ports, resulted in nearly installing the entire ports tree, which is why I've waited so long. Try as I might, I've had great difficulty finding something that will _only_ upgrade what I already have installed, _and_ respect the options used during the original make make install, or those options expressed in make.conf. Having just gone through this in two different environments, I can very very strongly recommend doing the following. It's not the easy button of the TV commercials, but it will make things much much easier in the future. 1) Switch your system to pkgng if you haven't already. Unfortunately, this will not result in the right ports being marked as automatic, so you'll need to do a bit of post-conversion surgery: # pkg set -A 1 -g '*' # pkg query -e '%#r==0' '%n-%v: %c' Then look through the output of pkg query to identify the leaf packages that are the ones you actually wanted explicitly to have installed. For each one of those: # pkg set -A 0 packagename Create a list of your desired packages: # pkg query -e '%a==0' '%o' pkg-list Clean up the unnecessary local packages: # pkg autoremove (You can iterate the last three steps, aborting pkg autoremove each time but the last, until it doesn't offer to remove anything you care about keeping.) Repeat this process for each machine, and merge the resulting pkg-list files using sort -u. Make sure that pkgng is enabled for ports in /etc/make.conf. 2) Install and set up poudriere. Copy /var/db/ports, /etc/src.conf, and /etc/make.conf to /usr/local/etc (possibly with local variations as described in poudriere(8) under the heading CUSTOMISATION). 3) Run poudriere options for each jail and setname (if you created any sets following the customization section referenced above), providing the package list you constructed, to make sure that any new options are configured as you require them. 4) Run poudriere bulk for each jail and setname (if you created any), providing the package list as before. This will create a pkgng repository for each jail and set, which you can serve by HTTP (using your choice of Web server) or SSH (with pkgng 1.1+), and all of these packages will have been built in a clean jail and (if their dependencies were specified correctly) will have no library inconsistencies. 5) Configure your client machines to reference the appropriate repository created in step (4). 6) Run pkg upgrade -fy on all of your machines, and resolve any inconsistencies by pkg remove-ing the offending local package. That seems like a lot of work, and it is, but having done it, there's a huge benefit the next time you want to do update your systems: a) Update the ports tree (how you do this depends on how you set up poudriere -- see the man page). b) Repeat step (3). c) Repeat step (4). d) Check the ports UPDATING file for any warnings about packages you are about to install. If it tells you to do pkg install -fR somepackage, then do those. e) Run pkg upgrade -y to upgrade any remaining packages. Even for just three machines it was worth going through this process -- and worth unifying all of my package sets and options. Since I now do one build instead of three, I'm no longer so ocncerned about minimizing dependencies; it's no big deal if some X libraries get installed on my server. -GAWollman Greetings, WOW! Thank you for the _very_ informative reply, Garrett. _Greatly_ appreciated. --Chris ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On 26 Jun, Bob Willcox wrote: On Wed, Jun 26, 2013 at 01:23:32PM -0700, Jeremy Chadwick wrote: On Wed, Jun 26, 2013 at 09:42:43AM -0700, Chris H wrote: Greetings, I haven't upgraded my tree(s) for awhile. My last attempt to rebuild after an updating src ports, resulted in nearly installing the entire ports tree, which is why I've waited so long. Try as I might, I've had great difficulty finding something that will _only_ upgrade what I already have installed, _and_ respect the options used during the original make make install, or those options expressed in make.conf. As portupgrade(1) portmaster(8) appear to be the most used in this scenario, I'm soliciting opinions on which of these works best, or if there is something else to better manage this situation. Is there such a thing as a FreeBSD upgrade easy button? Use portmaster, avoid portupgrade. And no I will not expand on my reasoning -- I urge anyone even mentioning the word portupgrade to spend a few hours of their day reading the horror stories on the mailing lists over the past 10 years or so (including recently). Choose wisely. Well, just to offer a counter-opinion here, I use portupgrade and feel that it has improved significantly over the past year or two and has become quite usable. I run it every two to four weeks on about five systems and haven't had any problems with it in a long time. However, YMMV. I'm also a long-time portupgrade user, though I've been running locally tweaked versions for quite some time. Currently I'm using the patch from the PR ports/177365, which makes the -a -f and -r options play together much better. I always start my upgrades by running portupgrade -aFc to fetch any needed distfiles and configure all the port options. That avoids breakage in the middle of the upgrade from an unfetchable distfile, and avoids interactive pauses in the middle of the upgrade to set options. In my latest upgrade, I had to deal with the ruby version change as well as the perl upgrade and the audio/flac library version bump. On my sole 10-CURRENT machine, I just followed the initial steps listed in UPDATING for the ruby version change, and then ran: portupgrade -afx ruby-1.8.\* -r lang/ruby18 lang/perl5.12 audio/flac That upgrades all the ports that are out of date and rebuilds all the ports that depend on the explictly listed ports, all in the correct dependency order. For my 8-STABLE machines, I build pkgng packages on one machine and then use pkg to upgrade the others. I build the packages in three steps: portupgrade -nfx ruby-1.8.\* -r lang/ruby18 lang/perl5.12 audio/flac f edit the file f to get the list of the origins of the ports that would be upgraded portugrade -fpr `cat f` I do this so that if port foo gets upgraded because it is out of date, I want to rebuild all the packages that depend on foo. The reason for that is if I install package bar that depends on foo, I want pkg to also install the correct version of foo. If I feel ambitious, I might tweak portouprade so that it can handle this internally instead of having to do the extra steps manually. On the other hand, I might switch to poudriere, which is probably a better solution. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Thu, 27 Jun 2013, Garrett Wollman wrote: Having just gone through this in two different environments, I can very very strongly recommend doing the following. It's not the easy button of the TV commercials, but it will make things much much easier in the future. This is an interesting procedure and should be made into a web-accessible document! Setting up a build machine for a network is a fairly common desire, and your procedure looks to be doing everything the newest way. Then look through the output of pkg query to identify the leaf packages that are the ones you actually wanted explicitly to have installed. On a single machine, this can be approximated with portmaster's --list-origins option. It gives a list of root and leaf ports which can be edited to just the desired ones. Feed that list to portmaster on a system with no ports installed, and it will install the leaf ports and dependencies. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
Warren Block wrote: On Wed, 26 Jun 2013, Chris H wrote: On Wed, 26 Jun 2013, Chris H wrote: Okay, look up the last time you installed or upgraded a port: % ls -ltr /var/db/pkg The last one is the most recently modified. Update your ports tree, follow all the steps that apply to your system since that date. That should say all the steps in /usr/ports/UPDATING that apply to your system since that date. There is a nice command that helps you to list only relevant entries from UPDATING (entries from UPDATING for already installed ports) pkg_updating -d MMDD Where MMDD is the last time you did ports update, for example pkg_updating -d 20120923 Miroslav Lachman ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
Warren Block wrote: On Wed, 26 Jun 2013, Chris H wrote: On Wed, 26 Jun 2013, Chris H wrote: Okay, look up the last time you installed or upgraded a port: % ls -ltr /var/db/pkg The last one is the most recently modified. Update your ports tree, follow all the steps that apply to your system since that date. That should say all the steps in /usr/ports/UPDATING that apply to your system since that date. There is a nice command that helps you to list only relevant entries from UPDATING (entries from UPDATING for already installed ports) pkg_updating -d MMDD Where MMDD is the last time you did ports update, for example pkg_updating -d 20120923 Miroslav Lachman Greetings Miroslav, That _is_ nice. Thank you for taking the time post this. That'll help quite a bit! --Chris ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
In article alpine.bsf.2.00.1306270602300.99...@wonkity.com, wbl...@wonkity.com writes: On Thu, 27 Jun 2013, Garrett Wollman wrote: Having just gone through this in two different environments, I can very very strongly recommend doing the following. It's not the easy button of the TV commercials, but it will make things much much easier in the future. This is an interesting procedure and should be made into a web-accessible document! Setting up a build machine for a network is a fairly common desire, and your procedure looks to be doing everything the newest way. See http://people.freebsd.org/~wollman/converting-to-pkg-repository.html. -GAWollman ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Thu, 27 Jun 2013, Garrett Wollman wrote: In article alpine.bsf.2.00.1306270602300.99...@wonkity.com, wbl...@wonkity.com writes: On Thu, 27 Jun 2013, Garrett Wollman wrote: Having just gone through this in two different environments, I can very very strongly recommend doing the following. It's not the easy button of the TV commercials, but it will make things much much easier in the future. This is an interesting procedure and should be made into a web-accessible document! Setting up a build machine for a network is a fairly common desire, and your procedure looks to be doing everything the newest way. See http://people.freebsd.org/~wollman/converting-to-pkg-repository.html. Bookmarked--that could make a nice addition to one of the official docs, maybe the Handbook. Thank you! ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
Am 26.06.2013 18:42, schrieb Chris H: Greetings, I haven't upgraded my tree(s) for awhile. My last attempt to rebuild after an updating src ports, resulted in nearly installing the entire ports tree, which is why I've waited so long. Try as I might, I've had great difficulty finding something that will _only_ upgrade what I already have installed, _and_ respect the options used during the original make make install, or those options expressed in make.conf. As portupgrade(1) portmaster(8) appear to be the most used in this scenario, I'm soliciting opinions on which of these works best, or if there is something else to better manage this situation. Is there such a thing as a FreeBSD upgrade easy button? Thank you for all your consideration. Chris, this time around, you will again rebuild almost your entire ports tree because some basic ports, such as Perl. Also, you will rarely be able to only upgrade what you already have installed because sometimes ports grow new requisite other ports you do not already have. I haven't used portupgrade in a long time because there was a period where it had fallen to bit-rot, but both tools are being maintained now. portupgrade has the decided advantage of being able to continue building some ports if another port failed as long as the failed port is not itself a requisite port for one that is yet to be built; portmaster bails out at the first error. portmaster, on the other hand, has a rebuild everything approach in the manual page, and can be used to list only leaf ports -- but that approach will require you to deinstall all ports so that the machine becomes unusable while it builds. There are other approaches, like using portmaster just to list this ports tree, and then use Tinderbox or poudriere to build packages in a chroot, and then only deinstall and install if you have all packages built successfully - but I am not familiar with automating this, not familiar with poudriere, and it requires a bit of work to get your options transferred to these build systems. Such a build all packages first before you start deinstalling would reduce the downtime, though. Hope that helps a little. Best regards Matthias Andree ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, Jun 26, 2013 at 09:42:43AM -0700, Chris H wrote: Greetings, I haven't upgraded my tree(s) for awhile. My last attempt to rebuild after an updating src ports, resulted in nearly installing the entire ports tree, which is why I've waited so long. Try as I might, I've had great difficulty finding something that will _only_ upgrade what I already have installed, _and_ respect the options used during the original make make install, or those options expressed in make.conf. As portupgrade(1) portmaster(8) appear to be the most used in this scenario, I'm soliciting opinions on which of these works best, or if there is something else to better manage this situation. Is there such a thing as a FreeBSD upgrade easy button? Use portmaster, avoid portupgrade. And no I will not expand on my reasoning -- I urge anyone even mentioning the word portupgrade to spend a few hours of their day reading the horror stories on the mailing lists over the past 10 years or so (including recently). Choose wisely. And before going on any sort of update crusade, I recommend you re-examine your make.conf methodologies for options if you haven't already. The OPTIONS framework has been revamped and improved many times over, so you will find things like this on a system whose admin keeps up with the times (compare this to older ways/methods, which may break or stop working): OPTIONS_UNSET+= X11 IPV6 NLS php5_SET+= APACHE php5_UNSET+=CGI postfix_SET+= PCRE TLS SASL2 samba36_SET+= AIO_SUPPORT samba36_UNSET+= LDAP CUPS ACL_SUPPORT WINBIND POPT wget_SET+= OPENSSL wget_UNSET+=IDN When rebuilding everything, I have always resorted to this: rsync -avH /usr/local/ /usr/local.old/ pkg_delete -a -f rm -fr /usr/local/* rm -fr /var/db/ports/* rm -fr /usr/ports/distfiles/* cd /usr/ports/whatever make install clean {lather rinse repeat until done} And add some pkg_add -r's in there for large-ish things I don't want to rebuild from source (I think folks who use X probably do this quite a bit; I remember hearing how Open/LibreOffice takes something like 3-4 hours to build on some systems). But that's just how I do things. My advice on using portmaster, however, still stands. -- | Jeremy Chadwick j...@koitsu.org | | UNIX Systems Administratorhttp://jdc.koitsu.org/ | | Making life hard for others since 1977. PGP 4BD6C0CB | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, Jun 26, 2013 at 01:23:32PM -0700, Jeremy Chadwick wrote: On Wed, Jun 26, 2013 at 09:42:43AM -0700, Chris H wrote: {snipping} Also, hoping the OP is subscribed to -stable -- you should probably deal with this. This is not the first time I've seen problems with mail delivery to a 1command.com address. bsd-li...@1command.com: host male.ultimateDNS.NET[209.180.214.225] said: 550 5.0.0 SPAM and BULK mail REJECTED (in reply to MAIL FROM command) -- | Jeremy Chadwick j...@koitsu.org | | UNIX Systems Administratorhttp://jdc.koitsu.org/ | | Making life hard for others since 1977. PGP 4BD6C0CB | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, Jun 26, 2013 at 01:23:32PM -0700, Jeremy Chadwick wrote: On Wed, Jun 26, 2013 at 09:42:43AM -0700, Chris H wrote: Greetings, I haven't upgraded my tree(s) for awhile. My last attempt to rebuild after an updating src ports, resulted in nearly installing the entire ports tree, which is why I've waited so long. Try as I might, I've had great difficulty finding something that will _only_ upgrade what I already have installed, _and_ respect the options used during the original make make install, or those options expressed in make.conf. As portupgrade(1) portmaster(8) appear to be the most used in this scenario, I'm soliciting opinions on which of these works best, or if there is something else to better manage this situation. Is there such a thing as a FreeBSD upgrade easy button? Use portmaster, avoid portupgrade. And no I will not expand on my reasoning -- I urge anyone even mentioning the word portupgrade to spend a few hours of their day reading the horror stories on the mailing lists over the past 10 years or so (including recently). Choose wisely. Well, just to offer a counter-opinion here, I use portupgrade and feel that it has improved significantly over the past year or two and has become quite usable. I run it every two to four weeks on about five systems and haven't had any problems with it in a long time. However, YMMV. I do get ports that won't build from time to time, but I haven't seen any connection between their failures and portupgrade. -- Bob Willcox| The future lies ahead. b...@immure.com | Austin, TX | ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, 26 Jun 2013, Jeremy Chadwick wrote: When rebuilding everything, I have always resorted to this: rsync -avH /usr/local/ /usr/local.old/ pkg_delete -a -f rm -fr /usr/local/* rm -fr /var/db/ports/* rm -fr /usr/ports/distfiles/* cd /usr/ports/whatever make install clean {lather rinse repeat until done} I don't generally rebuild from scratch, but there is a procedure at the end of the portmaster man page for doing it. Something that should be mentioned: if you are not deleting and reinstalling everything, always--yes, always--check the new entries in /usr/ports/UPDATING first. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On 27/06/2013, at 5:53, Jeremy Chadwick j...@koitsu.org wrote: cd /usr/ports/whatever make install clean {lather rinse repeat until done} The faster version of this is find /usr/ports -maxdepth 3 -name work -type d -print0 | xargs -0 rm -rf Simpler is to put.. WRKDIRPREFIX=/foo/bar in /etc/make.conf Then you can just rm -rf /foo/bar/work to delete all of the port build goop. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au The nice thing about standards is that there are so many of them to choose from. -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
Am 26.06.2013 18:42, schrieb Chris H: Greetings, I haven't upgraded my tree(s) for awhile. My last attempt to rebuild after an updating src ports, resulted in nearly installing the entire ports tree, which is why I've waited so long. Try as I might, I've had great difficulty finding something that will _only_ upgrade what I already have installed, _and_ respect the options used during the original make make install, or those options expressed in make.conf. As portupgrade(1) portmaster(8) appear to be the most used in this scenario, I'm soliciting opinions on which of these works best, or if there is something else to better manage this situation. Is there such a thing as a FreeBSD upgrade easy button? Thank you for all your consideration. Chris, this time around, you will again rebuild almost your entire ports tree because some basic ports, such as Perl. Also, you will rarely be able to only upgrade what you already have installed because sometimes ports grow new requisite other ports you do not already have. I haven't used portupgrade in a long time because there was a period where it had fallen to bit-rot, but both tools are being maintained now. portupgrade has the decided advantage of being able to continue building some ports if another port failed as long as the failed port is not itself a requisite port for one that is yet to be built; portmaster bails out at the first error. portmaster, on the other hand, has a rebuild everything approach in the manual page, and can be used to list only leaf ports -- but that approach will require you to deinstall all ports so that the machine becomes unusable while it builds. There are other approaches, like using portmaster just to list this ports tree, and then use Tinderbox or poudriere to build packages in a chroot, and then only deinstall and install if you have all packages built successfully - but I am not familiar with automating this, not familiar with poudriere, and it requires a bit of work to get your options transferred to these build systems. Such a build all packages first before you start deinstalling would reduce the downtime, though. Hope that helps a little. Best regards Matthias Andree Greetings, and thank you for your reply. I understand that portupgrade _will_ pull in other dependencies _as needed_ -- I _do_ read the man(1) pages. :) But it installed (pulled in) far more than those dependencies actually required. I believe, due to the fact that it doesn't appear to honor the original build options recorded in /var/db/ports/portname/options. Nor, do I recall that it honored /etc/make.conf -- make.conf(5). Maybe things have changed? I don't see it. Oh, and should it not have been clear; I _do_ anticipate the upgrade to re-build most everything, as that is why I'm trying to find a mass upgrader port, to do the dirty work. Also should it not have been clear in the beginning; I am _not_ doing anything more than upgrading everything _within_ my current version; eg; no major point upgrade, or anything. Thank you again, for taking the time to respond. --chris ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, 26 Jun 2013, Chris H wrote: But it installed (pulled in) far more than those dependencies actually required. It may bring in build dependencies, but should be no different than manually installing ports. I believe, due to the fact that it doesn't appear to honor the original build options recorded in /var/db/ports/portname/options. Nor, do I recall that it honored /etc/make.conf -- make.conf(5). Maybe things have changed? Both portupgrade and portmaster did and do honor these. Both are automated versions of installing the ports manually. That can be overridden with mis-recommended BATCH variable. Don't do that. I don't see it. Oh, and should it not have been clear; I _do_ anticipate the upgrade to re-build most everything, as that is why I'm trying to find a mass upgrader port, to do the dirty work. Also should it not have been clear in the beginning; I am _not_ doing anything more than upgrading everything _within_ my current version; eg; no major point upgrade, or anything. Okay, look up the last time you installed or upgraded a port: % ls -ltr /var/db/pkg The last one is the most recently modified. Update your ports tree, follow all the steps that apply to your system since that date. If any ports are left to upgrade at the end, use either port upgrade program with -a. I recommend portmaster. It does almost everything portupgrade does, but without the overhead of Ruby or bdb. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, Jun 26, 2013 at 05:34:45PM -0700, Chris H wrote: Greetings, and thank you for your reply. I understand that portupgrade _will_ pull in other dependencies _as needed_ -- I _do_ read the man(1) pages. :) But it installed (pulled in) far more than those dependencies actually required. I believe, due to the fact that it doesn't appear to honor the original build options recorded in /var/db/ports/portname/options. Nor, do I recall that it honored /etc/make.conf -- make.conf(5). Maybe things have changed? You may have asked portupgrade to use packages first and fall back to building from source. That would install the packages which were built with the default options on the package building cluster. It saves time; but I don't like mixing packages with build from source, especially when I want custom options on anything. -- Scott LambertKC5MLE Unix SysAdmin lamb...@lambertfam.org ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, 26 Jun 2013, Chris H wrote: But it installed (pulled in) far more than those dependencies actually required. It may bring in build dependencies, but should be no different than manually installing ports. I believe, due to the fact that it doesn't appear to honor the original build options recorded in /var/db/ports/portname/options. Nor, do I recall that it honored /etc/make.conf -- make.conf(5). Maybe things have changed? Both portupgrade and portmaster did and do honor these. Both are automated versions of installing the ports manually. That can be overridden with mis-recommended BATCH variable. Don't do that. I don't see it. Oh, and should it not have been clear; I _do_ anticipate the upgrade to re-build most everything, as that is why I'm trying to find a mass upgrader port, to do the dirty work. Also should it not have been clear in the beginning; I am _not_ doing anything more than upgrading everything _within_ my current version; eg; no major point upgrade, or anything. Okay, look up the last time you installed or upgraded a port: % ls -ltr /var/db/pkg The last one is the most recently modified. Update your ports tree, follow all the steps that apply to your system since that date. If any ports are left to upgrade at the end, use either port upgrade program with -a. I recommend portmaster. It does almost everything portupgrade does, but without the overhead of Ruby or bdb. Greetings Warren, and thank you for your reply. Sounds like the plan. I'll take your advice, and run with it. Gave me just the confidence I needed. :) Thanks again, for taking the time to reply. --Chris ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, Jun 26, 2013 at 05:34:45PM -0700, Chris H wrote: Greetings, and thank you for your reply. I understand that portupgrade _will_ pull in other dependencies _as needed_ -- I _do_ read the man(1) pages. :) But it installed (pulled in) far more than those dependencies actually required. I believe, due to the fact that it doesn't appear to honor the original build options recorded in /var/db/ports/portname/options. Nor, do I recall that it honored /etc/make.conf -- make.conf(5). Maybe things have changed? You may have asked portupgrade to use packages first and fall back to building from source. That would install the packages which were built with the default options on the package building cluster. It saves time; but I don't like mixing packages with build from source, especially when I want custom options on anything. -- Scott LambertKC5MLE Unix SysAdmin lamb...@lambertfam.org Greetings Scott, and thank you for the reply. You may be right. Like I said, it's been awhile. I don't like mixing things either. I have more than enough to think about, as it is. Why try adding any additional unnecessary elements to reconcile. I'm gonna give portmaster a try, I think. Seems to have more positive comments. But, in all fairness to portupgrade; it may have been a misunderstanding on my part. Thanks again, for taking the time to respond. --Chris ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
On Wed, 26 Jun 2013, Chris H wrote: On Wed, 26 Jun 2013, Chris H wrote: Okay, look up the last time you installed or upgraded a port: % ls -ltr /var/db/pkg The last one is the most recently modified. Update your ports tree, follow all the steps that apply to your system since that date. That should say all the steps in /usr/ports/UPDATING that apply to your system since that date. I recommend portmaster. It does almost everything portupgrade does, but without the overhead of Ruby or bdb. Greetings Warren, and thank you for your reply. Sounds like the plan. I'll take your advice, and run with it. Gave me just the confidence I needed. :) Good! Please post if you have any problems. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?
In article 5e20544e3580a75759c3858f31894dc9.authentica...@ultimatedns.net, bsd-li...@lcommand.com writes: I haven't upgraded my tree(s) for awhile. My last attempt to rebuild after an updating src ports, resulted in nearly installing the entire ports tree, which is why I've waited so long. Try as I might, I've had great difficulty finding something that will _only_ upgrade what I already have installed, _and_ respect the options used during the original make make install, or those options expressed in make.conf. Having just gone through this in two different environments, I can very very strongly recommend doing the following. It's not the easy button of the TV commercials, but it will make things much much easier in the future. 1) Switch your system to pkgng if you haven't already. Unfortunately, this will not result in the right ports being marked as automatic, so you'll need to do a bit of post-conversion surgery: # pkg set -A 1 -g '*' # pkg query -e '%#r==0' '%n-%v: %c' Then look through the output of pkg query to identify the leaf packages that are the ones you actually wanted explicitly to have installed. For each one of those: # pkg set -A 0 packagename Create a list of your desired packages: # pkg query -e '%a==0' '%o' pkg-list Clean up the unnecessary local packages: # pkg autoremove (You can iterate the last three steps, aborting pkg autoremove each time but the last, until it doesn't offer to remove anything you care about keeping.) Repeat this process for each machine, and merge the resulting pkg-list files using sort -u. Make sure that pkgng is enabled for ports in /etc/make.conf. 2) Install and set up poudriere. Copy /var/db/ports, /etc/src.conf, and /etc/make.conf to /usr/local/etc (possibly with local variations as described in poudriere(8) under the heading CUSTOMISATION). 3) Run poudriere options for each jail and setname (if you created any sets following the customization section referenced above), providing the package list you constructed, to make sure that any new options are configured as you require them. 4) Run poudriere bulk for each jail and setname (if you created any), providing the package list as before. This will create a pkgng repository for each jail and set, which you can serve by HTTP (using your choice of Web server) or SSH (with pkgng 1.1+), and all of these packages will have been built in a clean jail and (if their dependencies were specified correctly) will have no library inconsistencies. 5) Configure your client machines to reference the appropriate repository created in step (4). 6) Run pkg upgrade -fy on all of your machines, and resolve any inconsistencies by pkg remove-ing the offending local package. That seems like a lot of work, and it is, but having done it, there's a huge benefit the next time you want to do update your systems: a) Update the ports tree (how you do this depends on how you set up poudriere -- see the man page). b) Repeat step (3). c) Repeat step (4). d) Check the ports UPDATING file for any warnings about packages you are about to install. If it tells you to do pkg install -fR somepackage, then do those. e) Run pkg upgrade -y to upgrade any remaining packages. Even for just three machines it was worth going through this process -- and worth unifying all of my package sets and options. Since I now do one build instead of three, I'm no longer so ocncerned about minimizing dependencies; it's no big deal if some X libraries get installed on my server. -GAWollman ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org