diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2014-05-17 18:09:14 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2014-05-17 18:09:14 +0000 |
commit | 46a53638d333fe49f9e6577bf95cc798176566e2 (patch) | |
tree | 8e310dd952a520966531c446664b4ca89aa2d7a7 /Mk | |
parent | e77550ecd99833627b3a4f42aba932936d6281e1 (diff) | |
download | freebsd-ports-46a53638d333fe49f9e6577bf95cc798176566e2.zip |
Add support for inserting CPE URIs as package annotations.
To enable this for a particular port, add "cpe" to the USES list and
optionally define CPE_VENDOR, CPE_PRODUCT etc. if the defaults are not
correct (they should be in most cases).
Approved by: portmgr (bdrewery)
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/Uses/cpe.mk | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Mk/Uses/cpe.mk b/Mk/Uses/cpe.mk new file mode 100644 index 000000000000..252d09ce720d --- /dev/null +++ b/Mk/Uses/cpe.mk @@ -0,0 +1,55 @@ +# $FreeBSD$ +# +# Include CPE URI in package manifest. +# +# http://scap.nist.gov/specifications/cpe/ +# +# The URI is constructed as follows: +# +# cpe:/part:vendor:product:version:update:edition:lang +# +# Trailing colons are ommitted. +# +# CPE_PART Defaults to (and should always be) "a" for "application" +# CPE_VENDOR Defaults to same as ${CPE_PRODUCT} (below) +# CPE_PRODUCT Defaults to ${PORTNAME} +# CPE_VERSION Defaults to ${PORTVERSION} +# CPE_UPDATE Defaults to empty +# CPE_EDITION Defaults to ~~~freebsd~~, see below +# CPE_LANG Defaults to empty +# +# Originally, EDITION was an arbitrary string. In later revisions of +# the CPE specification, it is composed of five tilde-separated fields +# with a leading tilde to distinguish the new syntax from the old. +# The five fields are: +# +# CPE_LEGACY_EDITION Defaults to empty +# CPE_SW_EDITION Defaults to empty +# CPE_TARGET_SW Defaults to "freebsd" +# CPE_TARGET_HW Defaults to empty (subject to future change) +# CPE_OTHER Defaults to empty +# +# MAINTAINER: ports-secteam@freebsd.org + +.if !defined(_INCLUDE_USES_CPE_MK) +_INCLUDE_USES_CPE_MK= yes + +CPE_PART ?= a +CPE_PRODUCT ?= ${PORTNAME} +CPE_VENDOR ?= ${CPE_PRODUCT} +CPE_VERSION ?= ${PORTVERSION} +CPE_UPDATE ?= +CPE_LEGACY_EDITION ?= +CPE_SW_EDITION ?= +CPE_TARGET_SW ?= freebsd +CPE_TARGET_HW ?= +CPE_OTHER ?= +CPE_EDITION ?= ~${CPE_LEGACY_EDITION}~${CPE_SW_EDITION}~${CPE_TARGET_SW}~${CPE_TARGET_HW}~${CPE_OTHER} +CPE_LANG ?= +_CPE_URI = cpe:/${CPE_PART}:${CPE_VENDOR}:${CPE_PRODUCT}:${CPE_VERSION}:${CPE_UPDATE}:${CPE_EDITION}:${CPE_LANG} +CPE_URI ?= ${_CPE_URI:C/:+$//} + +PKG_NOTES += cpe +PKG_NOTE_cpe = ${CPE_URI} + +.endif |