Page MenuHomeFreeBSD

Some more basic flavors work.
ClosedPublic

Authored by mat on Oct 3 2017, 4:47 PM.

Details

Reviewers
bapt
bdrewery
Group Reviewers
portmgr
Commits
rP455205: Generic FLAVORS work.

Diff Detail

Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 12996
Build 13250: arc lint + arc unit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
  • Move the flavors sanity checks a bit later.
This revision is now accepted and ready to land.Oct 4 2017, 1:50 PM
  • Add a target showing the different package names of a port.
This revision now requires review to proceed.Oct 12 2017, 5:07 PM
  • Add a non pretty target to be used in qa checks.
  • Add a qa check for unique package names amongst flavors.

Its output is something like:

Error: Package names are not uniques with flavors:
python2: b2-0.7.2
python3: b2-0.7.2
Error: maybe use <flavor>_PKGNAMEPREFIX/SUFFIX.
This revision is now accepted and ready to land.Oct 13 2017, 2:41 PM
  • Make MOVEDlint understand flavors.
This revision now requires review to proceed.Oct 18 2017, 1:12 PM
  • Be a bit more verbose about which FLAVOR is defined when none should be.
  • Fix fetch-specials when flavors are in play.
  • fix make clean FLAVOR=xxx
  • Add a bit of sanity check to make sure FLAVORS stay lowercase.

rebase after MOVEDlint update.

Mk/bsd.port.mk
1460

So, this works just fine on FreeBSD 11.x, but does not work at all on FreeBSD 10.3.

Any ideas on how I can make this work ?

  • Make the bad FLAVORS name work on 10.
  • Add support for flavors in the from field.
  • Add a tentative CHANGES entry.
  • Forbid using "all" as a flavor name.
allanjude added inline comments.
CHANGES
15

Flavors are a way to have multiple variants of a port.

mat marked an inline comment as done.Nov 24 2017, 1:04 PM
  • fixup! Add a tentative CHANGES entry.
bdrewery added a subscriber: bdrewery.
bdrewery added inline comments.
CHANGES
15

I don't think we should use the word 'variant' anywhere as then people ask "Why not call them variants?? I will just do that anyway". And there is prior art for "variant" in macports which seems to be analogous to our OPTIONS and not FLAVORS.

25

"pass the FLAVOR as an argument after make". Your example is not environment, and as far as I can tell it is safer to use it as an argument rather than as environment anyway.

Mk/bsd.port.mk
1462

Perfect, thanks!

4348

Is DESCRIBE_FLAVORED intended to be DESCRIBE_FLAVORS here and below? The phrase "describe flavored" doesn't make sense to me :)

4367

Pass FLAVOR as a make argument please

4651

.PHONY

4657

Pass FLAVOR as a make argument please

4661

.PHONY

4666

Pass FLAVOR as a make argument please

This revision now requires changes to proceed.Nov 28 2017, 11:47 PM
mat marked 2 inline comments as done.Nov 29 2017, 11:30 AM
mat added inline comments.
CHANGES
15

I am at a loss of synonyms, what would you want me to use ? I can't use flavor again because I cannot define some word with itself, "version" would be bad...

Mk/bsd.port.mk
4348

It may be frenglish :-)
Maybe it should have been FLAVORED_DESCRIBE.

4367

It is passed as a make argument, is it not ?

4651

I guess many many targets are missing .PHONY here, no ?

4657

It is a make argument, isn't it ?

4666

it is, no ?

adamw added inline comments.
CHANGES
15

I'm not sure that "variant" will be confused for OPTIONS, because we've been pretty clear on what OPTIONS are in FreeBSD for many years.

But if not variants: configurations, variations, forms, arrangements.

17

to the flavors

31

Be sure to guard against an empty FLAVOR variable by using ${FLAVOR:U}:

mat marked 5 inline comments as done.Nov 29 2017, 1:57 PM

DESCRIBE_FLAVORED is still weird but otherwise ship it.

Mk/bsd.port.mk
4348

maybe DESCRIBED_FLAVOR ?

4367

oops

This revision is now accepted and ready to land.Nov 29 2017, 10:31 PM
This revision was automatically updated to reflect the committed changes.