Date: Wed, 12 Oct 2016 20:34:02 +1100 From: Kubilay Kocak <koobs@FreeBSD.org> To: Matthew Seaman <matthew@FreeBSD.org>, freebsd-ports@freebsd.org Subject: Re: harder and harder to avoid pkg Message-ID: <0021d146-4e20-c5d5-7222-b7fa1e73d75c@FreeBSD.org> In-Reply-To: <e6a18c8e-e636-06ce-6ec7-f6b9ff3b7e91@FreeBSD.org> References: <638fe078-80db-2492-90be-f1280eb8d445@freebsd.org> <29bf92f3-994f-e695-431a-dc73a3f9c19d@FreeBSD.org> <409bd2ed-0836-a2dc-a62b-1651b36370d7@FreeBSD.org> <e6a18c8e-e636-06ce-6ec7-f6b9ff3b7e91@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/10/2016 8:12 PM, Matthew Seaman wrote: > On 2016/10/12 09:43, Kubilay Kocak wrote: >>> You are describing the 'sub-packages' concept that has been >>> knocking >>>> around for some time. With sub-packages you'ld divide up the >>>> result of staging each port into various chunks: >> Yep, like this: >> >> Mar 6 2016 - https://reviews.freebsd.org/D5563 Ports framework >> "variants" proof-of-concept (with poudriere support) >> >> Status Report Dec 2015 - Supporting Variants in the Ports >> Framework >> >> https://www.freebsd.org/news/status/report-2015-10-2015-12.html#Supporting-Variants-in-the-Ports-Framework > >> > Variants is a related but different concept -- known as 'flavours' > (or 'flavors') in some parts. The difference is that 'sub packages' > divide up the output from one compilation of the sources, whereas > 'variants' or 'flavours' require the same source code to be > recompiled with different options. (As you'ld need to do to create > eg. py27- and py34- versions of python modules.) Both are things we'd > like to have in ports, but they can be implemented pretty much > separately. They could be, but they don't need to be. From one perspective, division of a port (or package) is exactly a 'variant'. Yes a 'part' (-debug package) of a whole (-full package) is a "sub package", but the 'debug' variant of the foo port only includes debug files, and has a -debug suffix. Variants (in its current PoC form) is just a generic implementation for enabling one-to-many-packages, and is not prescriptive. The 'what to Vary: on' (like the HTTP headers), including perhaps what to include or exclude from the package, is left as a exercise for the configuration, or portmgr or a later stage discussion. There is nothing explicitly prescribing that specified 'variants' must compile source each time (or do anything else specific for that matter), or that said variants cannot merely execute the "dividing up" (on some basis) logic on the resulting artifacts that were created in the common/base 'variant'. > Cheers, > > Matthew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0021d146-4e20-c5d5-7222-b7fa1e73d75c>