Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F154670365
D35782.id108049.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D35782.id108049.diff
View Options
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk
+++ Mk/bsd.port.mk
@@ -2100,7 +2100,11 @@
DISTORIG?= .bak.orig
PATCH?= /usr/bin/patch
PATCH_STRIP?= -p0
+. if defined(USE_GITHUB) && !empty(GH_CHERRYPICK)
+PATCH_DIST_STRIP?= -p1
+. else
PATCH_DIST_STRIP?= -p0
+. endif
. if defined(PATCH_DEBUG)
PATCH_DEBUG_TMP= yes
PATCH_ARGS?= --forward -E ${PATCH_STRIP}
Index: Mk/bsd.sites.mk
===================================================================
--- Mk/bsd.sites.mk
+++ Mk/bsd.sites.mk
@@ -365,9 +365,13 @@
#
# GH_TUPLE - above shortened to account:project:tagname[:group][/subdir]
#
+# GH_CHERRYPICK - list of commit hashes to automatically apply as patches
+# This will also set DIST_SUBDIR to ${PORTNAME} if not defined.
+# default: empty
+#
. if defined(USE_GITHUB)
-. if defined(GH_TAGNAME) && ${GH_TAGNAME} == master
-IGNORE?= Using master as GH_TAGNAME is invalid. \
+. if defined(GH_TAGNAME) && (${GH_TAGNAME} == master || ${GH_TAGNAME} == main)
+IGNORE?= Using ${GH_TAGNAME} as GH_TAGNAME is invalid. \
Must use a tag or commit hash so the upstream does \
not "reroll" as soon as the branch is updated
. endif
@@ -401,9 +405,12 @@
# Use full PREFIX/SUFFIX and converted DISTVERSION
GH_TAGNAME_DEFAULT= ${DISTVERSIONFULL}
GH_TAGNAME?= ${GH_TAGNAME_DEFAULT}
-# Iterate over GH_ACCOUNT, GH_PROJECT, GH_TAGNAME and GH_SUBDIR to extract groups
+GH_CHERRYPICK_DEFAULT=
+GH_CHERRYPICK?= ${GH_CHERRYPICK_DEFAULT}
+# Iterate over GH_ACCOUNT, GH_PROJECT, GH_TAGNAME, GH_SUBDIR and GH_CHERRYPICK
+# to extract groups
_GITHUB_GROUPS= DEFAULT
-. for _gh_v in GH_ACCOUNT GH_PROJECT GH_TAGNAME GH_SUBDIR
+. for _gh_v in GH_ACCOUNT GH_PROJECT GH_TAGNAME GH_SUBDIR GH_CHERRYPICK
. for _v_ex in ${${_gh_v}}
_GH_GROUPS= ${_v_ex:S/^${_v_ex:C@:[^/:]+$@@}//:S/^://}
. if !empty(_GH_GROUPS)
@@ -430,6 +437,7 @@
GH_PROJECT:= ${GH_PROJECT_DEFAULT}
GH_TAGNAME:= ${GH_TAGNAME_DEFAULT}
GH_SUBDIR:= ${GH_SUBDIR_DEFAULT}
+GH_CHERRYPICK:= ${GH_CHERRYPICK_DEFAULT}
. if defined(GH_TAGNAME)
# If you change either of the _SANITIZED or _EXTRACT variables, please keep the
# changes in sync with the GH_TAGNAME_${_group}_* variables 50 lines below.
@@ -469,6 +477,13 @@
@${MKDIR} ${WRKSRC}/${GH_SUBDIR_DEFAULT:H} 2>/dev/null || :
@${LN} -s ${GH_SUBDIR_DEFAULT:C/[^\/]//g:C/\//..\//g:S/^$/./} ${WRKSRC}/${GH_SUBDIR_DEFAULT}
. endif
+. if !empty(GH_CHERRYPICK)
+DIST_SUBDIR?= ${PORTNAME}
+PATCH_SITE_DEFAULT= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCH_SITES+= ${PATCH_SITE_DEFAULT}
+PATCHFILES_DEFAULT= ${GH_CHERRYPICK:S/$/.diff/}
+PATCHFILES+= ${PATCHFILES_DEFAULT}
+. endif
# If there are non default groups
. if !empty(_GITHUB_GROUPS:NDEFAULT)
# Then for each of the remaining groups, add DISTFILES and MASTER_SITES
@@ -499,6 +514,13 @@
@${MV} ${WRKSRC_${_group}} ${WRKSRC}/${GH_SUBDIR_${_group}}
@${LN} -s ${WRKSRC:T}/${GH_SUBDIR_${_group}} ${WRKSRC_${_group}}
. endif
+. if !empty(GH_CHERRYPICK_${_group})
+DIST_SUBDIR?= ${PORTNAME}
+PATCH_SITE_${_group}= https://github.com/${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}/commit/:${_group}
+PATCH_SITES+= ${PATCH_SITE_${_group}}
+PATCHFILES_${_group}= ${GH_CHERRYPICK_${_group}:S/$/.diff:${_group}/}
+PATCHFILES+= ${PATCHFILES_${_group}}
+. endif
git-clone: git-clone-${_group}
git-clone-${_group}: ${_GITHUB_CLONE_DIR}
@git clone https://github.com/${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}.git ${_GITHUB_CLONE_DIR}/${GH_PROJECT_${_group}}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Apr 30, 4:36 AM (22 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32345274
Default Alt Text
D35782.id108049.diff (3 KB)
Attached To
Mode
D35782: bsd.sites.mk: Add GH_CHERRYPICK variable
Attached
Detach File
Event Timeline
Log In to Comment