Convert all packages to ports

Ian Smith smithi at nimnet.asn.au
Fri Jul 2 17:37:23 UTC 2010


In freebsd-questions Digest, Vol 317, Issue 9, Message: 26
On Thu, 01 Jul 2010 18:52:54 -0400 Glen Barber <glen.j.barber at gmail.com> wrote:
 > On 7/1/10 5:58 PM, Chris Stankevitz wrote:
 > > --- On Thu, 7/1/10, Glen Barber<glen.j.barber at gmail.com>  wrote:
 > >> Once "ports" or "packages" are installed,
 > >> there is no
 > >> differentiation to the system.
 > >
 > > Interesting.  If this is true, then I can just start upgrading my 
 > > 'pkg_add' installed packages using ports and eventually they will 
 > > all be converted over to 'make'.

The only difference is that a package is a port built with its default 
options.  Sometimes that might not be suitable and you'll want to make 
it with other options.  One way to tell if something was installed by 
making a port is that /var/db/ports will contain a directory for that 
port with the file 'options', created or updated by 'make config'.

 > > However, your comment seems to be in disagreement with online 
 > > warnings of "do not mix 'pkg_add' packages with 'make' ports".
 > 
 > portmaster will deinstall and reinstall (and I believe rollback if 
 > something blows up).  You are correct - don't mix ports and packages.

I don't know where these 'do not mix ports and packages' warnings come 
from, but I suspect it's from people who think that they're different :)

If you like to run portsnap followed by portupgrade or portmaster every 
morning before breakfast, then yes, you might have to wait a day or two
now and again, for the package build systems to catch up with a freshly 
upgraded port.  Except when building a new set of release packages for 
all architectures - like soon with 8.1-RELEASE a'coming - there's not
usually much delay in package building these days.

And it's not true that packages are only built for releases; any port 
that doesn't have (eg) distribution restrictions on binary packages will 
find its way into the queue on the package build systems, and update the 
Latest/ package, after every update.

 > > My original question's intention was to prevent me from having a 
 > > system where some packages were installed with 'pkg_add' while 
 > > others were installed with 'make'.
 > 
 > portmaster is probably the easiest road to get you there.

Sure, or portupgrade.  I think both have -P switches to use packages 
rather than make from source where the matching package is available, 
which is pretty handy on less than awesome boxes for Big Things like 
Xorg, KDE and the like .. not to mention Java ..

cheers, Ian


More information about the freebsd-questions mailing list