[RFC] Why FreeBSD ports should have branches by OS version

scratch65535 at att.net scratch65535 at att.net
Tue Jun 27 20:56:52 UTC 2017

[Default] On Tue, 27 Jun 2017 12:45:34 -0500, Mark Linimon
<linimon at lonesome.com> wrote:

>On Tue, Jun 27, 2017 at 09:24:31AM -0400, scratch65535 at att.net wrote:
>> The number of ports to build a server-of-all-work is not large.
>Now the problem is getting people to agree on exactly what that
>subset is.

Since that's what I integrate for my dev use, I'd be happy to
take a zero'th-order cut at defining it, if nobody else wants to.

>If there is interest, I can provide the examples and code I use
>whenever I start up a new machine here at the house, e.g. powerpc64,
>sparc64, etc.  And we'll see how close to agreement people can get.

Sounds good t'me!  

>(Yes, I'm quite skeptical.)
>> Unnecessarily complex and a source of uncontrolled errors, yes,
>One person's "unnecessary" is another person's "necessary".

By "unnecessary", Mark, I mean the fact that the bits are not
controlled locally, and thus potentially change from moment to
moment such that it's impossible to guarantee that two people
building the same app with the same options on two different
days, or even hours, will get the same result.

Switching to a central repository model, where the bits are
fetched from around the globe only once per cycle, sanitised, and
thereafter read only from the repository, would drop the number
of file-not-founds and wrong-versions down pretty close to zero.

>> Specialist workstations such as sound/video editing?  Maybe.
>You'll immediately go from a few hundred ports to a few thousand ports.
I'm happy to take your word for it, because I've no clue.  I
wonder whether the most important subset could be determined by
survey.  Any views on that?

>No one has ever done the work on "most minimal set of dependencies"
>in the ports tree -- and that's because it's hard work.  Add to that
>the fact that the technology has never supported partial checkouts
>and it complicates things.

No argument from me!   IMO a big contributor to the problem is
that the bits haven't been normalised and integrated into
libraries.  So the process is frankensteinean:  odds and bobs
dredged up wherever they can be found and stuck together in hope
that they'll cooperate.  Just looking at the stuff that goes into
Firefox made my blood run cold, and completely explained (fsvo
explained) where all the problems come from with that app.

>tl;dr: I do have long-time experience building subsets of the ports
>tree and in my experience it's harder than people think, once you
>get beyond a few dozen targets.

I don't doubt that even  slightly.   But I do think the magnitude
could be at least reduced by moving toward normalised bits.

More information about the freebsd-ports mailing list