bsd.port.mk: Implement BROKEN_${OPSYS} and BROKEN_${OPSYS}_${OSREL:R}

Examples of use:
  * BROKEN_FreeBSD=	does not link
  * BROKEN_DragonFly=	requires later jail
  * BROKEN_FreeBSD_8=	long type-name is invalid

The latter example could replace something like:

  .include <bsd.port.pre.mk>
  .if ${OPSYS} == FreeBSD && ${OSVERSION} <= 900000
  BROKEN=	long type-name is invalid
  .endif

Differential Revision:	https://reviews.freebsd.org/D2207
Reviewed by:		portmgr
Approved by:		portmgr (mat)
This commit is contained in:
John Marino
2015-06-02 21:17:00 +00:00
parent 6806137838
commit 12a19c24bf

View File

@@ -175,9 +175,16 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org
# BROKEN - Port is believed to be broken. Package builds can
# still be attempted using TRYBROKEN to test this
# assumption.
# BROKEN_${ARCH} Port is believed to be broken on ${ARCH}. Package builds
# can still be attempted using TRYBROKEN to test this
# assumption.
# BROKEN_${ARCH} - Port is believed to be broken on ${ARCH}. Package builds
# can still be attempted using TRYBROKEN to
# test this assumption.
# BROKEN_${OPSYS} - Port is believed to be broken on ${OPSYS}. Package builds
# can still be attempted using TRYBROKEN to
# test this assumption.
# BROKEN_${OPSYS}_${OSREL:R} - Port is believed to be broken on a single
# release of ${OPSYS}, e.g BROKEN_FreeBSD_8
# would affect all point releases of FreeBSD 8
# unless TRYBROKEN is also set.
# DEPRECATED - Port is deprecated to install. Advisory only.
# EXPIRATION_DATE
# - If DEPRECATED is set, determines a date when
@@ -2820,6 +2827,14 @@ IGNORE= is marked as broken: ${BROKEN}
.if !defined(TRYBROKEN)
IGNORE= is marked as broken on ${ARCH}: ${BROKEN_${ARCH}}
.endif
.elif defined(BROKEN_${OPSYS}_${OSREL:R})
.if !defined(TRYBROKEN)
IGNORE= is marked as broken on ${OPSYS} ${OSREL}: ${BROKEN_${OPSYS}_${OSREL:R}}
.endif
.elif defined(BROKEN_${OPSYS})
.if !defined(TRYBROKEN)
IGNORE= is marked as broken on ${OPSYS}: ${BROKEN_${OPSYS}}
.endif
.elif defined(FORBIDDEN)
IGNORE= is forbidden: ${FORBIDDEN}
.endif