Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153362300
D2608.id5533.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D2608.id5533.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D2608: Support multi-USE_GITHUB.
Attached
Detach File
Event Timeline
Log In to Comment