Re: portupgrade(1) | portmaster(8) -- which is more effective for large upgrade?

2013-06-28 Thread Ronald Klop

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?

2013-06-27 Thread Chris H
 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?

2013-06-27 Thread Don Lewis
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?

2013-06-27 Thread Warren Block

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?

2013-06-27 Thread Miroslav Lachman

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?

2013-06-27 Thread Chris H
 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?

2013-06-27 Thread Garrett Wollman
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?

2013-06-27 Thread Warren Block

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?

2013-06-26 Thread Matthias Andree
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?

2013-06-26 Thread Jeremy Chadwick
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?

2013-06-26 Thread Jeremy Chadwick
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?

2013-06-26 Thread Bob Willcox
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?

2013-06-26 Thread Warren Block

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?

2013-06-26 Thread Daniel O'Connor

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?

2013-06-26 Thread Chris H
 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?

2013-06-26 Thread Warren Block

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?

2013-06-26 Thread Scott Lambert
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?

2013-06-26 Thread Chris H
 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?

2013-06-26 Thread chrish
 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?

2013-06-26 Thread Warren Block

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?

2013-06-26 Thread Garrett Wollman
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