Upgrading question (issue?) - was:(no subject)

Chris H. fbsd at 1command.com
Tue May 16 01:58:07 PDT 2006

Hello, and thank you for your reply.

Quoting Duane Whitty <duane at greenmeadow.ca>:

> Chris H. wrote:
>> Quoting "Chris H." <fbsd at 1command.com>:
>> Hello,
>> I have a question as to accomplishing an upgrade of *only* what ports I
>> already have installed. That is to say; I somewhat frequently suck down
>> the latest source for system and ports for the release I run on my servers
>> (RELENG_5_4 - soon to be 5_5) and usually rebuildworld/ kernel, and 
>> *painfully*
>> the ports I already have installed. Which brings me to my issue; Is there
>> any way to rebuild (upgrade) the ports I already have installed, and *only*
>> the ports I already have installed? I have recently discovered portmaster.
>> Which is heads-and-tails over portupgrade. But (from my personal knowlede/
>> experience) it doesn't provide a "one shot" command/ option to achieve my
>> desired goal. Many times while upgrading one of the ports, it will fail
>> during installation with the "HEY! this port is already installed! You may
>> wish to cd to the ports directory and execute port deinstall, then port
>> reinstall" What?! I'm *upgrading* (or at least trying) this port. :\
>> Anyway, thank you for all your time and consideration.
>> --Chris H.
> Hi Chris,
> Does portupgrade -a not work for you?

Actually, for some reason I am frequently plagued with database (portsdb)
problems that are difficult to reconcile. Every cvsup I perform is with the
following command:

cvsup -g -L 2 ports-supfile && portsdb -Uu && pkgdb -F

However, I all to often run into conflicts in the database. So I found it
(seemingly) more efficient to switch to portmaster (no database required).
My other issue with portupgrade was it's perpensity to (seemingly) make
arbitrary decisions to start down any and all paths possible to install
any other possibly related libraries and ports. This occurred with my
last session using it. I went from a 7gig installation base to a 15gig
installation. That was the last straw for me. I had to wipe the disks
and perform a fresh (re)install. I think it's my inability to reconcile
the meaning of the -R option vs. the -r option. I can't make sense of them;
-R --upward-recursive
Act on all those packages required by the given
packages as well. (When specified with -F, fetch
recursively, including the brand new, uninstalled
ports that an upgraded port requires)

-r --recursive
Act on all those packages depending on the given packages as well.

I know these are my downfall (7Gb vs. 15Gb). I'm running servers here
and have no need for every desktop bell and whistle available in the
ports tree. I guess what I'm looking for is the option:

+R --recurse-only
Act on and retrieve *only* those applications and libraries that are
absolutely _manditory_ to successfully upgrade the port(s).

Seems a reasonable option, no?

> Actually, I've been thinking maybe the better way to accomplish
> this goal is:
> Read /usr/ports/UPDATING

As always; *prudent* advice. :)

> pkgdb -F
> script pre-update-all
> portupgrade -an
> exit
> Read pre-update-all and fix potential conflicts
> script update-all
> portupgrade -aFR
> portupgrade -a
> exit
> Read update-all for special instructions that went by during upgrade.
> As for the problem with a port utility telling you to deinstall a previous
> version,  I've run into this as well.  The problem is that the upgrade tools
> upgrade versions of the same application.  They can't upgrade across 
> different
> editions of a port.  As an example, Apache 1.35 to Apache 2.2.  Ports 
> treat them
> as different applications.

Understood. This is not the trouble I experience. For example, I had Apache
1.3.4 and portaudit emailed me informing me that a security issue had been
found in 1.3.4. So I waited a week till I figured the secure version had
made it into CVS and performed cvsup to fetch a more recent ports tree. I
then attempted to upgrade it. But if failed at the install phase with the
Hey! this port is already installed, blah, blah...
So I simply went to the ports/www/apache and performed port deinstall and
went back and told the upgrade process to finish. This is only one example.
I could site many others. I just figured that there was a new install
standard and not all of the ports had been upgraded to the new standard,
so as to conform and understand that they were being upgraded - a reinplace
sort of thing.

Anyway, I wanted to launch bsdwatch.NET this week. But I need to sync out
the installed port base beforehand. As I want to migrate the server to
5_5 before I do (launch the site). So was looking for the most reliable
and efficient method to accomplish this. The new site will keep me busy
and I won't have alot of time to go through the whole install tree
upgrading them 1 by 1. :)
I'll give your suggestion a shot. In the worse case scenerio, I can just
blow the disk away and replace it with the backup. But I'll hope for the
best. :)

Thanks again.

--Chris H.

> I think all the port utilities do this.
> Best Regards,
> Duane Whitty
> -- 
> duane at greenmeadow.ca
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"


FreeBSD 5.4-RELEASE-p12 (SMP - 900x2) Tue Mar 7 19:37:23 PST 2006

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: PGP Digital Signature
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20060516/0a05b1bc/attachment.pgp

More information about the freebsd-stable mailing list