|
|
@@ -239,6 +239,7 @@ class DownloadGitHubTarball(object):
|
|
|
self.version = args.version
|
|
|
self.subdir = args.subdir
|
|
|
self.source = args.source
|
|
|
+ self.submodules = args.submodules
|
|
|
self.url = args.url
|
|
|
self._init_owner_repo()
|
|
|
self.xhash = args.hash
|
|
|
@@ -249,6 +250,8 @@ class DownloadGitHubTarball(object):
|
|
|
|
|
|
def download(self):
|
|
|
"""Download and repack GitHub archive tarball."""
|
|
|
+ if self.submodules and self.submodules != ['skip']:
|
|
|
+ raise self._error('Fetching submodules is not yet supported')
|
|
|
self._init_commit_ts()
|
|
|
with Path(TMPDIR_DL, keep=True) as dir_dl:
|
|
|
# fetch tarball from GitHub
|
|
|
@@ -262,7 +265,7 @@ class DownloadGitHubTarball(object):
|
|
|
dir0 = os.path.join(dir_untar.path, tarball_prefix)
|
|
|
dir1 = os.path.join(dir_untar.path, self.subdir)
|
|
|
# submodules check
|
|
|
- if self._has_submodule(dir0):
|
|
|
+ if self.submodules != ['skip'] and self._has_submodule(dir0):
|
|
|
raise self._error('Fetching submodules is not yet supported')
|
|
|
# rename subdir
|
|
|
os.rename(dir0, dir1)
|
|
|
@@ -415,6 +418,7 @@ def main():
|
|
|
parser.add_argument('--version', help='Source code version')
|
|
|
parser.add_argument('--source', help='Source tarball filename')
|
|
|
parser.add_argument('--hash', help='Source tarball\'s expected sha256sum')
|
|
|
+ parser.add_argument('--submodules', nargs='*', help='List of submodules, or "skip"')
|
|
|
args = parser.parse_args()
|
|
|
try:
|
|
|
method = DownloadGitHubTarball(args)
|