Index: Mk/bsd.sites.mk =================================================================== --- Mk/bsd.sites.mk (revision 403379) +++ Mk/bsd.sites.mk (working copy) @@ -519,6 +519,7 @@ # Using the name of a branch here is incorrect. It is # possible to do GH_TAGNAME= GIT_HASH to do a snapshot. # default: ${DISTVERSION} +# GH_TUPLE - above shortened to account:project:tagname[:group] # .if defined(USE_GITHUB) . if defined(GH_TAGNAME) && ${GH_TAGNAME} == master @@ -526,6 +527,31 @@ Must use a tag or commit hash so the upstream does \ not "reroll" as soon as the branch is updated . endif +. if defined(GH_TUPLE) +GH_ACCOUNT+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\1\4@} +GH_PROJECT+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\2\4@} +GH_TAGNAME+= ${GH_TUPLE:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\3\4@} + +.for _TUPLE_TMP in ${GH_TUPLE} + +_GIT_REV_GET+= GIT_REV_${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\4@:C@:@@:C@-@_@g}=`git ls-remote https://github.com/${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\1@}/${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\2@}.git | ${GREP} HEAD | ${SED} -E "s/^(.......).*/\1/g"` && +_GIT_REV_ECHO+= echo "GH_TUPLE+= ${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\1:\2:\${GIT_REV_${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\4@:C@:@@:C@-@_@g}}\4@}" && +_GIT_REV_CHANGE+=if [ ${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\3@} != "$$GIT_REV_${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\4@:C@:@@:C@-@_@g}" ]; then echo "GH_TUPLE+= ${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\1:\2:\${GIT_REV_${_TUPLE_TMP:C@^([^:]*):([^:]*):([^:]*)((:[^:]*)?).*@\4@:C@:@@:C@-@_@g}}\4@}"; fi && + +.endfor + +gh-get-latest-revisions: + @${ECHO} "--begin latest revisions--" && \ + ${_GIT_REV_GET} \ + ${_GIT_REV_ECHO} \ + ${ECHO} "--end latest revisions--" + +gh-get-changed-revisions: + @${ECHO} "--begin changed revisions--" && \ + ${_GIT_REV_GET} \ + ${_GIT_REV_CHANGE} \ + ${ECHO} "--end changed revisions--" +. endif # We are cheating and using backend URLS for Github here. See ports/194898 # comment #15 for explanation as to why and how to deal with it if it breaks. MASTER_SITE_GITHUB+= https://codeload.github.com/%SUBDIR%