Page MenuHomeFreeBSD

Make it clear that a port's dependencies should not be minimal.
ClosedPublic

Authored by mat on Sep 19 2019, 2:21 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 22 2023, 9:38 PM
Unknown Object (File)
Dec 4 2023, 1:12 AM
Unknown Object (File)
Nov 9 2023, 5:20 PM
Unknown Object (File)
Nov 8 2023, 12:21 AM
Unknown Object (File)
Nov 5 2023, 9:15 PM
Unknown Object (File)
Nov 4 2023, 4:40 PM
Unknown Object (File)
Nov 1 2023, 9:43 AM
Unknown Object (File)
Oct 8 2023, 4:15 PM

Diff Detail

Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 26570
Build 24958: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Sep 19 2019, 2:23 PM
This revision now requires review to proceed.Sep 19 2019, 2:25 PM
This revision is now accepted and ready to land.Sep 19 2019, 2:29 PM
This revision now requires review to proceed.Sep 19 2019, 2:40 PM
rene requested changes to this revision.Sep 19 2019, 2:42 PM
rene added a subscriber: rene.
rene added inline comments.
en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml
5473

"When software" (remove 'a')

5477

"dependencies" (insert missing 'n')

5479

Replace "The dependencies .. extra dependencies" by "The goal is not to include every dependency possible."

This revision now requires changes to proceed.Sep 19 2019, 2:42 PM
bdrewery added a subscriber: bdrewery.

I like it. But it still comes down to a bikeshed/opinion. Anyway it's a good guidance.

Ok. So, my concern here is that (a) I don't know what an "extra dependency" looks like, and (b) sometimes the configuration that would benefit the most people is the minimal or maximal set.

Maybe try:

When a port is capable of building with a variety of dependencies, the correct dependency list is the one that provides the most benefit to the most users. The goal should not be the minimum set that lets the port build, nor should it be the set that includes every possible dependency.  Allow the "right" set to change over time as users provide feedback about features they need or features they never use.

Ok. So, my concern here is that (a) I don't know what an "extra dependency" looks like, and (b) sometimes the configuration that would benefit the most people is the minimal or maximal set.

Maybe try:

When a port is capable of building with a variety of dependencies, the correct dependency list is the one that provides the most benefit to the most users. The goal should not be the minimum set that lets the port build, nor should it be the set that includes every possible dependency.  Allow the "right" set to change over time as users provide feedback about features they need or features they never use.

This sounds fine, but what we're really talking about here is dependencies which enable optional features. As an example, a port may have a pulseaudio option which enables it to support pulseaudio output and is of interest to some users, but probably not many, so that might be off by default unless a number of people ask for it. Or a port may support http but not https unless an optional dependency on an ssl support package is enabled. Most users would probably expect to be able to make https requests when they can make http requests, so that would be something that would benefit most users to be on by default. Let's find the right wording and get this committed.

Ah okay. I thought this was separate from OPTIONS.Then maybe:

The right set of OPTIONS is the one that provides the most benefit to the most users. The goal should not necessarily be the minimum that lets the port build, nor should it necessarily be enabling every possible option. The same holds true for ports that are capable of building with a variety of dependencies. Allow the “right” set to change over time as users provide feedback about features they need or features they never use.”

Ah okay. I thought this was separate from OPTIONS.Then maybe:

The right set of OPTIONS is the one that provides the most benefit to the most users. The goal should not necessarily be the minimum that lets the port build, nor should it necessarily be enabling every possible option. The same holds true for ports that are capable of building with a variety of dependencies. Allow the “right” set to change over time as users provide feedback about features they need or features they never use.”

It may be OPTIONS, it may not be. Doesn't really matter. The point is the default packages should most usable for most users, not as minimal as possible or just everything.

This revision was not accepted when it landed; it landed in state Needs Revision.Oct 3 2019, 8:51 PM
This revision was automatically updated to reflect the committed changes.

The committed version is a little weird. Sometimes the minimal dependency set is the ideal set, so saying it should never be it is misleading. Also, the last sentence isn't a sentence.