Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Apr 2019 20:56:30 -0700
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Miroslav Lachman <000.fbsd@quip.cz>
Cc:        David Chisnall <theraven@FreeBSD.org>, 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
Subject:   Re: CFT: FreeBSD Package Base
Message-ID:  <201905010356.x413uUnV068470@slippy.cwsent.com>
In-Reply-To: Message from Miroslav Lachman <000.fbsd@quip.cz> of "Wed, 01 May 2019 00:03:44 +0200." <292eadc6-3662-ec43-1175-53fc252487bd@quip.cz>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
In message <292eadc6-3662-ec43-1175-53fc252487bd@quip.cz>, Miroslav 
Lachman wri
tes:
> David Chisnall wrote on 2019/04/30 10:22:
> > 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.
>
> Will it not be maintainer's nightmare to take care of all the 
> dependencies on the base packages for each port we have in the ports tree?

No more than it is today. Remember, people have been doing this sort of 
thing for decades. If the folks at Red Hat, Oracle (formerly Sun), and 
IBM can do it, I'm sure we can too. The dependency lists will be 
longer. We may require dependency lists that allow the choice of one of 
many prereqs or coreqs.


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.





Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?201905010356.x413uUnV068470>