Convert all packages to ports

Polytropon freebsd at
Fri Jul 2 17:57:21 UTC 2010

Please let me add this:

On Sat, 3 Jul 2010 03:37:14 +1000 (EST), Ian Smith <smithi at> wrote:
> 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'.

A package is a precompiled port - as you said correctly, using
the default options for that port. Nothing more or less. It *is*
that simple. :-)

> 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 :)

I think it may have come from PC-BSD, taking into mind their PBI
system, like "do not mix PBI with ports or packages". :-)

> 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.

Correct again. Packages are updated regularly (with the corresponding
port's default options), but it may (!) be interesting to incorporate
daily changes of the ports tree and keep the own installed software
up-to-date, in an absolutely bleeding-edge state.

Personally, there are only few ports that I really want or need to
install via ports. Specific optimization, e. g. due to limited
hardware resources, as well as for example codecs to include (I'm
talking about mencoder / mplayer here), or the pure absence of
precompiled packages (like OpenOffice) requires this.

>  > > 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. 

The portupgrade set of tools also included pkgdb. If you plan to
mix several methods of installing (e. g. portinstall, make install,
pkg_add -r), use

	# pkgdb -aF

before and after you installed (or removed) something. This will
keep portupgrade's database up to date, so it takes into mind when
you *didn't* use it to install (or remove) something.

> 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 ..

Or OpenOffice, where this won't work. :-)

But you're correct: For portinstall / portupgrade, -P (use package)
and -PP (use packages only) can be used, and will also affect how to
deal with dependencies.

Finally, portinstall / portupgrade allow you to create a package from
a port you've just installed, see -p in the manual.

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list