Hi I am still kind of new at using FreeBSD so I was curious about everyones favorite way of updating/upgrading their ports.

I am using portsnap and portupgrade to handle everything right now and it's really easy and I have no complaints. I heard there is occasional dependency issues amongst some of the port upgraders and sometimes some work better than others.

I kind of wanted to start a poll but I couldn't find the option for it so it would be really cool for some feedback instead about your favorite port upgraders and why you like them over others.

I've been using portmaster for over a year now. It's nice, clean and doesn't create another database to keep track of installed software. And if I remember well it never gave me any headaches with dependencies.

I use portsnap and portmaster. I used portupgrade earlier, and it mostly works fine. But having to maintain the database manually to resolve conflicts was a drawback. I have little experience with portmaster, just used it for one month, but no problems yet.

I too am using portmaster, but mainly because I got tired of the ruby requirement with portupgrade (plus I like that it doesn't keep a different database).

I set a cron job to run portsnap (took me a while to stop using CVS... old habits die hard) overnight, which of course the output is mailed to root. I then later run a cron job that basically runs "pkg_version -v -L '='" and mails the output to root. That way I always know what needs updating, and can plan accordingly.

I don't always update immediately (unless it's a security issue). I usually check the changes at "http://www.freebsd.org/ports/" for what changed in the port, and if it's something minor I'll apply it during the regular weekly maintenance.

__________________
I just saved a bunch of money on my car insurance by fleeing the scene of the accident!

I am using csup (stubborn, I guess?) and portmaster. IIRC, the impetus for moving to portmaster was the Xorg 7 bump in 2007. I also was seeing some ongoing pkgdb problems on a couple 5.x servers I maintained. It seemed silly to have to guess to resolve portupgrade db dependency issues and/or rebuild its db.

I moved everything to portmaster and it's been relatively smooth sailing.

When removing packages, I am not using pkg_delete or pkg_deinstall with the -r/-R options because they caused me enough times troubles but the below script , which backups the package and display the left dependencies ( I have call it pkg_remove )

Portmaster
With portmaster, you can update the OpenBSD way:
- first build the newer version binary package, if it does not exist in the path, install from source
- update from packages (you only build the package once for every WS).
- if upgrade fails, keep both the older install and the new binary.

Well, I may be very lazy these days but you can blame that on my primary BSD machine having a Sempron Mobile with 512MB DDR instead of a Core 2 Duo with 1024MB of DDR2 ;-)

I normally delete everything (saving changed conf files), then reinstall it with newer packages and ports. Because of the Sempron I usually use packages as much as possible for larger applications rather then ports; backed up packages also help.

In the past I always used portupgrade but got rather tired of it. Now're days, if I was to use ports for _everything_ I would likely adapt portmaster.

I keep a list of programs I want (e.g. pidgin, xgalaga, gimp, etc) and use it to handle the task.

My intention is soon to be placing it fully into automation with backed up and pre-fetched packages. The test machine runs a much faster setup (Pentium D, 2048MB DDR2) so I sometimes will create packages updated on it and transfer them over to the laptop for installation.

I would only do this after major branch switches (such as if you moved from FreeBSD 6 to 7). Other than that, I have never just recompiled all ports.

Quote:

Originally Posted by chill

Hi I am still kind of new at using FreeBSD so I was curious about everyones favorite way of updating/upgrading their ports.

Portmaster! Portmaster! Portmaster! I also occasionally use pkg_cutleaves to make sure I don't have any excess junk. I switched to portmaster about 18 months ago and it is fantastic. I really like how it does all the 'make config's (that blue screen where you pick the port's compile options) at the beginning, so you don't end up half-way through a compile stopped at a blue screen while you are AFK.

I was wondering what is the best way to handle binary package upgrading...I know about portupgrade -P, and it sounds like exactly what I need. Except for the fact that everyone says that portupgrade is a nightmare.

I've just been spoiled by binary packages in Arch Linux and can't go back to the loooooong waits that come with compiling from source (this is on a pretty old machine).

Of course if something is newer in ports than in packages then I'd be willing to wait for it, (hence the attraction to portupgrade -P) but if the binary is as new as the source I'd really rather not have to deal with compiling.

I was wondering what is the best way to handle binary package upgrading...I know about portupgrade -P, and it sounds like exactly what I need. Except for the fact that everyone says that portupgrade is a nightmare.

I haven't tried it, but there is a new(ish) port maintainer called pkg_replace (it's in the ports tree). I know that it also supports pkg_replace -P for binary packages.

IIRC pkg_replace is written in C instead of ruby and does not use an external database (like portupgrade does with pkgdb).

I'll look into it. It's nice not to have the ruby dep and the external db.

I understand that the most used way is ports, and it is the most mature way of handling software. I can deal with compiling, and I'd rather have the most recent software, but the fact is that if the newest package version == the newest port version...then I'd rather just get the package (assuming I don't plan on using any knobs, but tbh I don't use those on 90% of ports anyway).

As a general rule, whenever I get bored :O Starting large compiles for no reason is still some of the greatest fun you can have while playing Pokemon next to your PC :O

And I use csup and portupgrade for my port needs. pkg_cutleaves as well, although I haven't used portupgrade yet in my new install of FreeBSD 7.0-STABLE.

I'm going to give portmaster a go when the time comes. I've been reading through Absolute FreeBSD second edition, and it looks pretty neat. And I can agree with the people who switched from portupgrade due to the ruby dependancy.