From a22c5801f865bd7fc5fa1c24d45a9b2db5691cce Mon Sep 17 00:00:00 2001 From: Harry Huang Date: Mon, 5 Nov 2018 16:39:11 +0800 Subject: Modify build process JIRA: - Remove sudo to avoid permisson issue when cleaning the environment Change-Id: I4b9f9d0c64b977fa5e3c186f52cc8ee7a7757d03 Signed-off-by: Harry Huang --- build/parser.py | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) (limited to 'build') diff --git a/build/parser.py b/build/parser.py index b0a87f93..971d2844 100644 --- a/build/parser.py +++ b/build/parser.py @@ -18,6 +18,14 @@ def load_env(): return cache_dir +def exec_command(cmd, ignore_error=False): + rc = os.system(cmd) + if not ignore_error and rc != 0: + sys.exit(1) + else: + return rc + + def get_from_cache(cache, package): filename = package.get("name") remotefile = list(package.get("url")) @@ -25,13 +33,13 @@ def get_from_cache(cache, package): localmd5file = localfile + ".md5" print "removing local md5 file...." cmd = "rm -f " + localmd5file - os.system(cmd) + exec_command(cmd) print "downloading remote md5 file to local...." for file in remotefile: remotemd5file = file + ".md5" cmd = "curl --connect-timeout 10 -o {0} {1}".format( localmd5file, remotemd5file) - rc = os.system(cmd) + rc = exec_command(cmd, True) if os.path.exists(localfile): print "calculate md5sum of local file" cmd = "md5sum " + localfile + "|cut -d ' ' -f 1" @@ -45,43 +53,38 @@ def get_from_cache(cache, package): if rc == 0: break print "downloading remote file to local...." - cmd = "aria2c --max-connection-per-server=4 --allow-overwrite=true --dir={0} \ - --out={1} {2}".format(cache, filename, " ".join(remotefile)) + cmd = "aria2c --max-tries 1 --max-connection-per-server=4 \ + --allow-overwrite=true --dir={0} --out={1} {2}".format( + cache, filename, " ".join(remotefile)) print cmd - rc = os.system(cmd) - if rc != 0: - sys.exit(1) + exec_command(cmd) def get_from_git(cache, package): localfile = cache + "/" + package.get("name") cmd = "rm -rf " + localfile print cmd - os.system(cmd) + exec_command(cmd) cmd = "git clone " + package.get("url") + " " + localfile print cmd - rc = os.system(cmd) - if rc != 0: - sys.exit(1) + exec_command(cmd) def get_from_docker(cache, package): + package_ouput = cache+"/"+package.get("name")+".tar" cmd = "sudo docker pull "+package.get("url") - os.system(cmd) - cmd = "sudo docker save "+package.get("url")+" -o "+cache+"/" - cmd += package.get("name")+".tar" - rc = os.system(cmd) - if rc != 0: - sys.exit(1) + exec_command(cmd) + cmd = "sudo docker save "+package.get("url")+" -o "+package_ouput + exec_command(cmd) + cmd = "user=$(whoami); sudo chown -R $user:$user "+package_ouput + exec_command(cmd) def get_from_curl(cache, package): cmd = "curl --connect-timeout 10 -o " + cache + "/" cmd += package.get("name") + " " + package.get("url") print cmd - rc = os.system(cmd) - if rc != 0: - sys.exit(1) + exec_command(cmd) def usage(): -- cgit 1.2.3-korg