aboutsummaryrefslogtreecommitdiff
path: root/utils/ng/pkgbuild.py
diff options
context:
space:
mode:
authorKunoiSayami <[email protected]>2022-10-25 13:10:14 +0800
committerKunoiSayami <[email protected]>2022-10-25 13:10:14 +0800
commit978011b008721d66b12dd00f6fe552d39f7b4b70 (patch)
tree77a3c3ae87d3c83131a21837efe01ef1729fc642 /utils/ng/pkgbuild.py
parent8aa2177d248e0a8d35ceb9355cc1d92f90a85aa0 (diff)
feat(script): Optimize hook and build script
Signed-off-by: KunoiSayami <[email protected]>
Diffstat (limited to 'utils/ng/pkgbuild.py')
-rwxr-xr-xutils/ng/pkgbuild.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/utils/ng/pkgbuild.py b/utils/ng/pkgbuild.py
index 507d79c..8be755a 100755
--- a/utils/ng/pkgbuild.py
+++ b/utils/ng/pkgbuild.py
@@ -345,6 +345,7 @@ async def do_build(target: PackageVersionWithPath) -> int:
if build_ret != 0:
if build_ret == 13:
logger.warning("Already build %s, skipped.", base_dir_name)
+ return 0
FAIL_REPOS.append(base_dir_name)
logger.warning("Build %s fail: %d", base_dir_name, build_ret)
@@ -353,7 +354,10 @@ async def do_build(target: PackageVersionWithPath) -> int:
async def clean_installed_packages() -> int:
p = await asyncio.create_subprocess_exec(
- "/bin/bash", "-c", "sudo pacman --noconfirm -Rcns $(pacman -Qdtq)", stdout=None
+ "/bin/bash", "-c",
+ "PKGS=$(pacman -Qdtq | tr '\n' ' '); "
+ "if [ -n \"$PKGS\" ]; then echo $PKGS | xargs sudo pacman --noconfirm -Rcns ; fi",
+ stdout=None
)
await p.wait()
return p.returncode
@@ -408,10 +412,15 @@ async def do_work(
if not target.arch:
logger.info("Skipped %s (Architecture not match)", target.name)
continue
- if (await do_build(target)) != 0 and fail_fast:
- break
+ if (await do_build(target)) != 0:
+ if fail_fast:
+ break
+ else:
+ await asyncio.sleep(5)
if run_auto_remove:
await clean_installed_packages()
+ for _ in range(3):
+ logger.debug("---------------------------------------------------------")
if (src_dst := pathlib.Path(BUILD_ENVS.src_dest).resolve()).is_dir():
shutil.rmtree(str(src_dst), ignore_errors=True)