Date: Wed, 1 May 2019 10:31:41 +0200 From: Miroslav Lachman <000.fbsd@quip.cz> To: Cy Schubert <Cy.Schubert@cschubert.com> Cc: FreeBSD Stable <freebsd-stable@freebsd.org>, freebsd-pkg@freebsd.org, =?UTF-8?Q?Goran_Meki=c4=87?= <meka@tilda.center>, freebsd-hackers@freebsd.org, David Chisnall <theraven@FreeBSD.org>, FreeBSD Current <freebsd-current@freebsd.org>, freebsd-pkgbase@freebsd.org, freebsd-ports@freebsd.org Subject: Re: CFT: FreeBSD Package Base Message-ID: <56b15cc3-4605-f693-4ad6-188ea865820d@quip.cz> In-Reply-To: <201905010356.x413uUnV068470@slippy.cwsent.com> References: <201905010356.x413uUnV068470@slippy.cwsent.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Cy Schubert wrote on 2019/05/01 05:56: > 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. They are experts and they are paid for their work. I am not. I am maintaining a few packages and the reality is I don't know what they need in base. Till these days I don't care about this kind of dependency. I am not system developer or programmer and I think there are more than just me who see this as a kind of problem. So in this case, pkg base gives me nothing but more work on those packages. Miroslav Lachman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56b15cc3-4605-f693-4ad6-188ea865820d>