mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-13 07:34:50 +00:00
Fix a sub-submodule extraction problem with GH_SUBDIR.
The problem is that GH_SUBDIR are handled in a somewhat random manner. (The truth is that in the end of things, they end up being sorted by the group name being used in the GH_TUPLE.) So if you have a submodule in bar/foo, and a sub-submodule in bar/foo/baz, it may happen that foo/bar/baz is handled before foo/bar and then things are messed up. This makes it so the GH_SUBDIR target handling is sorted first by the number of / in the path. (So, bar/foo is always handled before bar/foo/baz.) PR: 226221 Reported by: ygy Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D14532
This commit is contained in:
parent
a19dcac247
commit
60a2a2ca9d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=463301
@ -486,7 +486,10 @@ DISTFILES:= ${DISTFILES} ${DISTFILE_${_group}}:${_group}
|
||||
MASTER_SITES:= ${MASTER_SITES} ${MASTER_SITE_GITHUB:S@%SUBDIR%@${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}/tar.gz/${GH_TAGNAME_${_group}}?dummy=/:${_group}@}
|
||||
WRKSRC_${_group}:= ${WRKDIR}/${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_EXTRACT}
|
||||
. if !empty(GH_SUBDIR_${_group})
|
||||
_SITES_extract:= ${_SITES_extract} 690:post-extract-gh-${_group}
|
||||
# In order to sort the subdir extraction so that foo/bar is moved in before
|
||||
# foo/bar/baz, we count the number of / in the path and use it to order the
|
||||
# targets. This handles up to 9 levels. The max as of r463123 is 4.
|
||||
_SITES_extract:= ${_SITES_extract} 69${GH_SUBDIR_${_group}:C=[^/]+= =g:range:[-1]}:post-extract-gh-${_group}
|
||||
post-extract-gh-${_group}:
|
||||
@${RMDIR} ${WRKSRC}/${GH_SUBDIR_${_group}} 2>/dev/null || :
|
||||
@${MKDIR} ${WRKSRC}/${GH_SUBDIR_${_group}:H} 2>/dev/null || :
|
||||
|
Loading…
Reference in New Issue
Block a user