ports, packages, jails

Matthew Seaman matthew at FreeBSD.org
Wed May 20 11:16:37 UTC 2015


On 2015/05/20 11:14, Luca Ferrari wrote:
> reading some recent discussions I start wondering what the real
> problem with mixing ports and packages is and why one should use jails
> to build ports (e.g., as poudriere does). What is the real advantage
> of using a building system with regard to a "normal" usage of ports
> and packages?

There are really three different sources for ported software at the moment:

   1) FreeBSD official pkg servers:

       Advantage: speed -- just install what you want straight away

   2) Building using portmaster or the like:

       Advantages: flexibility -- use whatever combination of options
         you like.
       Disadvantage: time and resources -- you have to download and
         build not just the software you want, but everything else
         required to do the actual building.  Lengthy service
         disruption while building and installing software updates

   3) Local Poudriere instance:

       Advantage: off-load all the package building onto a separate
          server.  Is a real winner if you have many machines to
          administer, or you need to manage machines that cannot be
          taken out of service for extended periods of time.
       Advantage: clean-room building in a jail with only the software
          any particular package depends on installed.  This gives a
          more reliable result and avoids accidentally making your
          package dependent on some other random software you happen to
          have installed.
       Disadvantage: some setup required, needs resources to run the
          actual build server itself.

Now, if you are happy with the default options settings from the FreeBSD
ports, then it's pretty obvious: just use the official pkg servers.
Otherwise you're going to need to build your own in some way shape or form.

A fairly obvious question at this point is "what about if I only want
custom options on one or two ports -- can't I just build those myself,
and get the rest from the pkg servers?"

Well, yes-ish.  It depends on what your custom options do, and where in
the dependency hierarchy those packages are.  If, for instance, what you
want to do is use a different version of mysql or postgresql or php or
ruby or python or perl or various other important packages, then trying
to mix eg. portmaster and official pkgs will lead to tears before
bedtime.  Even if it's not one of those sort of structural packages,
there is problem with compiled packages having overly specific
dependencies 'baked into' them, which often leads to pkg wanting to
reinstall or remove your precious locally compiled packages and sulking
when it isn't allowed to.

In these sot of cases, it's much smoother to use a poudriere instance to
build your customized stuff -- which, if you wish, you can then overlay
onto the default FreeBSD pkg repos with not too much difficulty.

Otherwise, I'd say suck it and see.  Have a go at whatever mix of
methodologies seems best to you and adapt and evolve until you find a
setup that works well for you.  If you run into problems, then this list
is a good place to ask more specific questions.

	Cheers,

	Matthew



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1012 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20150520/d912015f/attachment.sig>


More information about the freebsd-questions mailing list