diff options
author | Bryan Drewery <bdrewery@FreeBSD.org> | 2015-04-28 18:44:04 +0000 |
---|---|---|
committer | Bryan Drewery <bdrewery@FreeBSD.org> | 2015-04-28 18:44:04 +0000 |
commit | aa6ad6e726c3c4a5cd1f2bf3d5dad7ff89df6a2f (patch) | |
tree | 2b59a6775d67f0b251944f26266df4b96cde831b /Mk | |
parent | Use 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.mk | 8 |
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 |