Page MenuHomeFreeBSD

Remove support for FreeBSD < 10.3
ClosedPublic

Authored by rene on Jan 1 2017, 1:25 PM.

Details

Summary

Now that FreeBSD 9.3, 10.1 and 10.2 are no longer supported by so@, remove support for these versions from Mk/* and Mk/Uses/*

Lightly tested with an INDEX-12 build.

Test Plan

'make index' seems OK

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

rene retitled this revision from to Remove support for FreeBSD < 10.3.
rene updated this object.
rene edited the test plan for this revision. (Show Details)
rene added a reviewer: portmgr.
rene set the repository for this revision to rP FreeBSD ports repository.
adamw added inline comments.
Mk/Uses/linux.mk
45 ↗(On Diff #23507)

This new language became somewhat vague. The original message was an approximation, so this could be too:

Linux ${LINUX_DEFAULT} is only supported on FreeBSD/amd64 11.0-RELEASE or higher

Mk/Uses/linux.mk
45 ↗(On Diff #23507)

It is supported on 10.3-RELEASE, so the massage is more correct. But perhaps we can suggest users to update to 11.0-RELEASE, because they are running some unsupported 11.0-CURRENT ?

Mk/bsd.port.mk
1637 ↗(On Diff #23507)

I was indeed thinking about simplifying this to

.if ${OSVERSION} >= 1003503
Mk/Uses/linux.mk
45 ↗(On Diff #23507)

Gotcha. I mean presumably if someone is running 11.0-CURRENT they understand what "not supported on early -CURRENT" means.

Linux ${LINUX_DEFAULT} is unsupported on pre-release versions of FreeBSD 11. Update to 11.0-RELEASE or higher

Mk/bsd.port.mk
1637 ↗(On Diff #23507)

Yes

rene edited edge metadata.
  • Clarify an IGNORE message after suggestion from adamw
  • Simplify an if statement
rene marked 2 inline comments as done.Jan 1 2017, 4:28 PM
Mk/bsd.port.mk
1641 ↗(On Diff #23512)

This else block is still valid for 10.3-RELEASE and early 10.3-STABLE, i.e. versions 1003000 to 1003502.
For 11.0-CURRENT and later this does not apply, see https://svnweb.freebsd.org/base?view=revision&revision=264661

If you really want to remove support for FreeBSD < 10.3, it also means removing fmake support, for example, the silly .for constructs we had to use.

For example, in a loop like this, the _G_TEMP can be removed (and replaced by _group).

.       for _group in ${_S_TEMP:S/,/ /g}
_G_TEMP=    ${_group}
.           if ${_G_TEMP:C/[a-zA-Z0-9_]//g}
check-makevars::
                @${ECHO_MSG} "The ${_S} MASTER_SITES line has"
                @${ECHO_MSG} "a group with invalid characters, only use [a-zA-Z0-9_]"
                @${FALSE}
.           endif
.           if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
check-makevars::
                @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
                @${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITES"
                @${FALSE}
.           endif
_MASTER_SITES_${_group}+=   ${_S:C@^(.*/):[^/:]+$@\1@}
.       endfor

becomes

.       for _group in ${_S_TEMP:S/,/ /g}
.           if ${_group:C/[a-zA-Z0-9_]//g}
check-makevars::
                @${ECHO_MSG} "The ${_S} MASTER_SITES line has"
                @${ECHO_MSG} "a group with invalid characters, only use [a-zA-Z0-9_]"
                @${FALSE}
.           endif
.           if ${_group} == all || ${_group} == ALL || ${_group} == default
check-makevars::
                @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
                @${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITES"
                @${FALSE}
.           endif
_MASTER_SITES_${_group}+=   ${_S:C@^(.*/):[^/:]+$@\1@}
.       endfor

Those constructs were necessary because fmake replaced each occurence of the for variable by the value it was currently iterating, whereas newer make created temporary variables holding the value.

mat added a reviewer: mat.

Looks good, I have not checked all the tests you removed though.

This revision is now accepted and ready to land.Jan 2 2017, 9:51 PM
This revision was automatically updated to reflect the committed changes.