summaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2015-04-28 18:44:04 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2015-04-28 18:44:04 +0000
commitaa6ad6e726c3c4a5cd1f2bf3d5dad7ff89df6a2f (patch)
tree2b59a6775d67f0b251944f26266df4b96cde831b /Mk
parentUse gmake to fix build on 9.x. (diff)
USE_GITHUB: For the new support, fix DISTNAME to be more consistent.
When using GH_TAGNAME the DISTNAME would have GH_PROJECT and GH_ACCOUNT in it. When not using GH_TAGNAME it would not have this. Now both cases will add in the GH_PROJECT and GH_ACCOUNT. Add special care to ensure that the DISTVERSION is not added in twice. If a port does GH_TAGNAME=v${PORTVERSION} it will be added in twice though. For that case DISTVERSIONPREFIX=v should be set and no GH_TAGNAME should be used. empty() is used rather than (!defined || !${}) to support fmake. The purpose of setting DISTNAME at all in these cases is to make it more clear that the distfile is from *GITHUB* and to avoid collisions if a project were to be renamed or moved. Without adding in GH_PROJECT and GH_ACCOUNT then there are real risks that collisions on filenames would happen on renamed or moved projects, which is fairly common. A GITHUB-generated file may not match a custom-rolled or git-archive-rolled distfile. PR: 199069 With hat: portmgr Testing done: All USE_GITHUB ports without GH_COMMIT were checksum/fetch/extract/WRKSRC tested.
Notes
Notes: svn path=/head/; revision=384932
Diffstat (limited to 'Mk')
-rw-r--r--Mk/bsd.port.mk8
1 files changed, 7 insertions, 1 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index f95b97672cf9..4b3456b3a691 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -1316,8 +1316,14 @@ _SUF2= ,${PORTEPOCH}
PKGVERSION= ${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2}
PKGNAME= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PKGVERSION}
DISTVERSIONFULL= ${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX}
-.if defined(USE_GITHUB) && defined(GH_TAGNAME) && !defined(GH_COMMIT)
+.if defined(USE_GITHUB) && !defined(GH_COMMIT) && empty(MASTER_SITES:MGHC)
+# Only add in DISTVERSIONFULL if GH_TAGNAME if set by port. Otherwise
+# GH_TAGNAME defaults to DISTVERSIONFULL; Avoid adding DISTVERSIONFULL in twice.
+. if defined(GH_TAGNAME)
DISTNAME?= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONFULL}-${GH_TAGNAME_SANITIZED}
+. else
+DISTNAME?= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME_SANITIZED}
+. endif
.else
DISTNAME?= ${PORTNAME}-${DISTVERSIONFULL}
.endif