Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Apr 2019 09:22:56 +0100
From:      David Chisnall <theraven@FreeBSD.org>
To:        Joe Maloney <jmaloney@ixsystems.com>, Cy Schubert <Cy.Schubert@cschubert.com>
Cc:        "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net>, Kris Moore <kris@ixsystems.com>, FreeBSD Stable <freebsd-stable@freebsd.org>, freebsd-ports@freebsd.org, =?UTF-8?Q?Goran_Meki=c4=87?= <meka@tilda.center>, freebsd-hackers@freebsd.org, FreeBSD Current <freebsd-current@freebsd.org>, freebsd-pkgbase@freebsd.org, freebsd-pkg@freebsd.org, Emmanuel Vadot <manu@bidouilliste.com>
Subject:   Re: CFT: FreeBSD Package Base
Message-ID:  <daecd304-d4f6-7b15-3455-6a3b734cb258@FreeBSD.org>
In-Reply-To: <6EB65F49-47CD-48B2-8C58-BF387D8C7A58@ixsystems.com>
References:  <201904291931.x3TJV73d079802@slippy.cwsent.com> <6EB65F49-47CD-48B2-8C58-BF387D8C7A58@ixsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 29/04/2019 21:12, Joe Maloney wrote:
> With CFT version you chose to build, and package individual components such as sendmail with a port option.  That does entirely solve the problem of being able to reinstall sendmail after the fact without a rebuild of the userland (base) port but perhaps base flavors could solve that problem assuming flavors could extend beyond python.

This sounds very much like local optimisation. It's now easy to create a 
custom base image.  Great.  But how do I express dependencies in ports 
on a specific base configuration? This is easy if I depend on a specific 
base package, but how does this work in your model?  For example, if I 
have a package that depends on a library that is an optional part of the 
base system, how do I express that pkg needs to either refuse to install 
it, or install a userland pkg that includes that library in place of my 
existing version as part of the install process?

More importantly for the container use case, if I want to take a 
completely empty jail and do pkg ins nginx (for example), what does the 
maintainer of the nginx port need to do to express the minimum set of 
the base system that needs to be installed to allow nginx to work?

One of the goals for the pkg base concept was to allow this kind of use 
case, easily creating a minimal environment required to run a single 
service. With a monolithic base package set, you're going to need some 
mechanism other than packages to express the specific base subset 
package that you need and I think that you need to justify why this 
mechanism is better than using small individual packages.

David



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?daecd304-d4f6-7b15-3455-6a3b734cb258>