To view parent comment, click here.
To read all comments associated with this story, please click here.
FreeBSD ports miss information about versions (package abc requires def >=2.5). So, either you recompile all dependencies,.FreeBSD ports miss information about versions (package abc requires def >=2.5). So, either you recompile all dependencies,,,
No, not really - there are some occasions when you have to update related ports, but these are the exceptions, always notified in /usr/ports/UPDATING.
It's true I hadn't picked up the habit of reading this file. Thanks for the tip. If I remember correctly though "portinstall" (not portupgrade) always insisted on upgrading dependencies - so you install "xtinyapp" and suddenly you have to upgrade x.org to its latest version.
I'll try *BSD again though, this time using binaries and all the shiny tools (portsnap, portaudit). Maybe this time ports will work for me, because I was otherwise very pleased with it.
Glad to be of help
What you describe in installing "xtinyapp" is partly true. There is a ports freeze period that precedes each release, and once a Release is out of the door, pending updates are commited. Also, whether or not you have to upgrade most apps depends on how soon you install after a release is made: for instance, if you install FreeBSD 6.0 right now, probably all the installed packages will be updated when you install a new port. This is simply because the ports tree is tested as a whole. This is a tradeoff - a single ports tree supporting multiple releases, from very old ones like 4.x to 7-CURRENT, and the difference between 4.x and CURRENT is HUGE - most major FreeBSd subsystems has been rewritten. This is analogous to supporting Mandrake 8.0 and a Mandriva cooker from the same repository!
There is a solution howerer: someone wrote it here in this thread, that you can point your PKG_SITE variable to a repository of binary packages that contain the recent software, then use portupgrade -PP -a first (this will pull only updates that have binary packages available - "-P" will try binary first, and if not available, use ports). Then you can install your "xtinyapp" - with fewer upgrades. Even if you intend to use ports exclusively, you have to be aware that the massive upgrade you noticed is a one time job. Once your installed ports/packages are at the version of your current ports tree, you install software as normal. I would chose this latter route - read /usr/ports/UPDATING, than portupgrade -a (and go into a pub while it finishes the job, like someone suggested
. After that, you install ports like in gentoo. man ports, man portupgrade explain a lot of things, they are very well written, and - to me at least - a lot more easier to grasp than portage's concepts.




Member since:
2005-09-10
FreeBSD ports miss information about versions (package abc requires def >=2.5). So, either you recompile all dependencies,..
Ports are also very stable compared to ebuilds (except stable branch, which is slightly more outdated than ports). Yes, there are always broken ports (but currently, www.freshports.org doesn't differenciate between broken on $arch or $version - but they are working on it, so half of the ports marked as broken will probably work for you, because they might be broken on Fbsd 4.x, or on the Alpha, or any combinations).
No, not really - there are some occasions when you have to update related ports, but these are the exceptions, always notified in /usr/ports/UPDATING. So, for instance, there is an update to mysql. You compiled amarok with mysql support - which means, amarok now depends on mysql. When you portupgrade -a - which updates mysql to the newest version - you don't have to recompile amarok. Also, if you take a look at the Makefiles, most ports depend on the presence of specific libraries, not package version. Everything is handled automatically by portugprade/install tools - you don't have to skip anything, or have additional recompiles: most of the times (there are exceptions as I noted) when you update, you only update those packs that have newer version available in the ports tree. I might have misunderstood your post however, so please clarify if I missed your point.
Ports is a single version - supporting at least 4 branches of FreeBSD (4.x, 5.x, 6.x, 7-CURRENT) - I think that this is not a problem, in fact, it is a small miracle I believe