Skip site navigation (1)Skip section navigation (2)
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>