Index: head/Mk/bsd.port.mk =================================================================== --- head/Mk/bsd.port.mk +++ head/Mk/bsd.port.mk @@ -1144,6 +1144,24 @@ .endif _EXPORTED_VARS+= OSVERSION +.if (${OPSYS} == FreeBSD && (${OSVERSION} < 1003000 || (${OSVERSION} >= 1100000 && ${OSVERSION} < 1100122))) || \ + (${OPSYS} == DragonFly && ${DFLYVERSION} < 400400) +_UNSUPPORTED_SYSTEM_MESSAGE= Ports Collection support for your ${OPSYS} version has ended, and no ports\ + are guaranteed to build on this system. Please upgrade to a supported release. +. if defined(ALLOW_UNSUPPORTED_SYSTEM) +WARNING+= "${_UNSUPPORTED_SYSTEM_MESSAGE}" +. else +show-unsupported-system-error: + @${ECHO_MSG} "/!\\ ERROR: /!\\" + @${ECHO_MSG} + @${ECHO_MSG} "${_UNSUPPORTED_SYSTEM_MESSAGE}" | ${FMT} 75 79 + @${ECHO_MSG} + @${ECHO_MSG} "No support will be provided if you silence this message by defining ALLOW_UNSUPPORTED_SYSTEM." | ${FMT} 75 79 + @${ECHO_MSG} + @${FALSE} +. endif +.endif + # Convert OSVERSION to major release number _OSVERSION_MAJOR= ${OSVERSION:C/([0-9]?[0-9])([0-9][0-9])[0-9]{3}/\1/} # Sanity checks for chroot/jail building. @@ -5168,7 +5186,8 @@ # If you change the pre-foo and post-foo values here, go and keep them in sync # in _OPTIONS_TARGETS in bsd.options.mk -_SANITY_SEQ= 050:post-chroot 100:pre-everything 150:check-makefile \ +_SANITY_SEQ= 050:post-chroot 100:pre-everything \ + 125:show-unsupported-system-error 150:check-makefile \ 200:show-warnings 210:show-dev-warnings 220:show-dev-errors \ 250:check-categories 300:check-makevars \ 350:check-desktop-entries 400:check-depends \ Index: head/UPDATING =================================================================== --- head/UPDATING +++ head/UPDATING @@ -5,6 +5,16 @@ You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20170117: + AFFECTS: users of EoL'ed FreeBSD versions (<10.3, 11 prior to 11.0) + AUTHOR: amdmi3@FreeBSD.org + + The ports system will now refuse to build anything if it's run on + outdated system version. This protects users from unexpected build + failures after code to support EoL'ed systems is removed from the + tree. You may define ALLOW_UNSUPPORTED_SYSTEM to override this and + allow builds, but no support will be provided in case of failures. + 20170116: AFFECTS: users of java/wildfly10 AUTHOR: olgeni@FreeBSD.org