Page MenuHomeFreeBSD

D2608.id5533.diff
No OneTemporary

D2608.id5533.diff

Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk
+++ Mk/bsd.port.mk
@@ -1316,14 +1316,8 @@
PKGVERSION= ${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2}
PKGNAME= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PKGVERSION}
DISTVERSIONFULL= ${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX}
-.if defined(USE_GITHUB) && 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
+.if defined(USE_GITHUB) && empty(MASTER_SITES:MGHC) && empty(DISTNAME)
+_GITHUB_MUST_SET_DISTNAME= yes
.else
DISTNAME?= ${PORTNAME}-${DISTVERSIONFULL}
.endif
Index: Mk/bsd.sites.mk
===================================================================
--- Mk/bsd.sites.mk
+++ Mk/bsd.sites.mk
@@ -523,23 +523,114 @@
. if !defined(MASTER_SITES) || !${MASTER_SITES:MGH} && !${MASTER_SITES:MGHC}
MASTER_SITES+= GH
. endif
-GH_ACCOUNT?= ${PORTNAME}
-GH_PROJECT?= ${PORTNAME}
+_GH_ACCOUNT_DEFAULT= ${PORTNAME}
+GH_ACCOUNT?= ${_GH_ACCOUNT_DEFAULT}
+_GH_PROJECT_DEFAULT= ${PORTNAME}
+GH_PROJECT?= ${_GH_PROJECT_DEFAULT}
# Use full PREFIX/SUFFIX and converted DISTVERSION
-GH_TAGNAME?= ${DISTVERSIONFULL}
-# This new scheme rerolls distfiles. Also ensure they are renamed to avoid
-# conflicts. Use _GITHUB_REV in case github changes their zipping or structure
-# which has happened before.
-_GITHUB_REV= 0
-. if ${MASTER_SITES:MGH}
-DISTNAME:= ${DISTNAME}_GH${_GITHUB_REV}
+_GH_TAGNAME_DEFAULT= ${DISTVERSIONFULL}
+GH_TAGNAME?= ${_GH_TAGNAME_DEFAULT}
+_GITHUB_GROUPS= DEFAULT
+.for _A in ${GH_ACCOUNT}
+_S_TEMP= ${_A:S/^${_A:C@:[^/:]+$@@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+. if ${_group} == all || ${_group} == ALL || ${_group} == default
+check-makevars::
+ @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your GH_ACCOUNT"
+ @${FALSE}
+. endif
+. if !${_GITHUB_GROUPS:M${_group}}
+_GITHUB_GROUPS+= ${_group}
+. endif
+_GH_ACCOUNT_${_group}= ${_A:C@^(.*):[^/:]+$@\1@}
+. endfor
+. else
+_GH_ACCOUNT_DEFAULT= ${_A:C@^(.*):[^/:]+$@\1@}
+. endif
+.endfor
+.for _P in ${GH_PROJECT}
+_S_TEMP= ${_P:S/^${_P:C@:[^/:]+$@@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+. if ${_group} == all || ${_group} == ALL || ${_group} == default
+check-makevars::
+ @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your GH_PROJECT"
+ @${FALSE}
+. endif
+. if !${_GITHUB_GROUPS:M${_group}}
+_GITHUB_GROUPS+= ${_group}
+. endif
+_GH_PROJECT_${_group}= ${_P:C@^(.*):[^/:]+$@\1@}
+. endfor
+. else
+_GH_PROJECT_DEFAULT= ${_P:C@^(.*):[^/:]+$@\1@}
+. endif
+.endfor
+.for _T in ${GH_TAGNAME}
+_S_TEMP= ${_T:S/^${_T:C@:[^/:]+$@@}//:S/^://}
+. if !empty(_S_TEMP)
+. for _group in ${_S_TEMP:S/,/ /g}
+. if ${_group} == all || ${_group} == ALL || ${_group} == default
+check-makevars::
+ @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
+ @${ECHO_MSG} "used in group definitions. Please fix your GH_TAGNAME"
+ @${FALSE}
+. endif
+. if !${_GITHUB_GROUPS:M${_group}}
+_GITHUB_GROUPS+= ${_group}
+. endif
+_GH_TAGNAME_${_group}= ${_T:C@^(.*):[^/:]+$@\1@}
+. endfor
+. else
+_GH_TAGNAME_DEFAULT= ${_T:C@^(.*):[^/:]+$@\1@}
. endif
+.endfor
+GH_ACCOUNT:= ${_GH_ACCOUNT_DEFAULT}
+GH_PROJECT:= ${_GH_PROJECT_DEFAULT}
+GH_TAGNAME:= ${_GH_TAGNAME_DEFAULT}
. if defined(GH_TAGNAME)
GH_TAGNAME_SANITIZED= ${GH_TAGNAME:S,/,-,}
# Github silently converts tags starting with v to not have v in the filename
# and extraction directory.
GH_TAGNAME_EXTRACT= ${GH_TAGNAME_SANITIZED:C/^[vV]([0-9])/\1/}
+. endif
+. if defined(_GITHUB_MUST_SET_DISTNAME)
+# GH_TAGNAME defaults to DISTVERSIONFULL; Avoid adding DISTVERSIONFULL in twice
+. if ${GH_TAGNAME_SANITIZED} != ${DISTVERSIONFULL}
+DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONFULL}-${GH_TAGNAME_SANITIZED}
+. else
+DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME_SANITIZED}
+. endif
. endif
+# This new scheme rerolls distfiles. Also ensure they are renamed to avoid
+# conflicts. Use _GITHUB_REV in case github changes their zipping or structure
+# which has happened before.
+_GITHUB_REV= 0
+. if ${MASTER_SITES:MGH}
+DISTNAME:= ${DISTNAME}_GH${_GITHUB_REV}
+. endif
+.endif
+_GITHUB_EXTRACT_SUFX= .tar.gz
+# If there are non default groups
+.if !empty(_GITHUB_GROUPS:NDEFAULT)
+# Put the DEFAULT distfile first
+DISTFILES+= ${DISTNAME}${_GITHUB_EXTRACT_SUFX}
+# Then for each group, add DISTFILES and MASTER_SITES entries
+# and create a WRKSRC_group helper variable.
+. for _group in ${_GITHUB_GROUPS:NDEFAULT}
+_a_tmp= ${_GH_ACCOUNT_${_group}:U${_GH_ACCOUNT_DEFAULT}}
+_p_tmp= ${_GH_PROJECT_${_group}:U${_GH_PROJECT_DEFAULT}}
+_t_tmp= ${_GH_TAGNAME_${_group}:U${_GH_TAGNAME_DEFAULT}}
+_t_tmp_s= ${_t_tmp:S,/,-,}
+_t_tmp_e= ${_t_tmp_s:C/^[vV]([0-9])/\1/}
+_DISTNAME= ${_a_tmp}-${_p_tmp}-${DISTVERSIONFULL}-${_t_tmp_s}
+DISTFILES+= ${_DISTNAME}${_GITHUB_EXTRACT_SUFX}:${_group}
+MASTER_SITES+= ${MASTER_SITE_GITHUB:S@%SUBDIR%@${_a_tmp}/${_p_tmp}/tar.gz/${_t_tmp}?dummy=/:${_group}@}
+WRKSRC_${_group}= ${WRKDIR}/${_p_tmp}-${_t_tmp_e}
+. endfor
.endif
.endif
@@ -658,6 +749,7 @@
.if !defined(IGNORE_MASTER_SITE_ISC)
MASTER_SITE_ISC+= \
+ https://source.isc.org/bind-sw/${ISCVERSION}/ \
http://ftp.isc.org/isc/%SUBDIR%/ \
ftp://ftp.isc.org/isc/%SUBDIR%/ \
ftp://ftp.ciril.fr/pub/isc/%SUBDIR%/ \

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 21, 5:30 PM (1 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31923191
Default Alt Text
D2608.id5533.diff (5 KB)

Event Timeline