From ed2e01d6d0a3e84efb3d3a1108b64d4373825ef6 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Fri, 9 Jul 2021 19:29:45 -0500 Subject: [PATCH] [buildcore] Replace gmake < file with pybb cat --- base.mk | 2 +- scripts/pybb.py | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/base.mk b/base.mk index a0857cf..a38d47e 100644 --- a/base.mk +++ b/base.mk @@ -48,7 +48,7 @@ ifneq ($(shell which docker 2> /dev/null),) ENV_RUN=docker exec -i -t --user $(shell id -u ${USER}) ${DEVENV} endif endif -CURRENT_BUILD=$(HOST_ENV)-$(file < .current_build) +CURRENT_BUILD=$(HOST_ENV)-$(shell ${PYBB} cat .current_build) .PHONY: build build: diff --git a/scripts/pybb.py b/scripts/pybb.py index e7040c9..3308ff1 100755 --- a/scripts/pybb.py +++ b/scripts/pybb.py @@ -17,10 +17,22 @@ import subprocess import sys +def cat(path): + try: + with open(path) as f: + data = f.read() + print(data) + return 0 + except FileNotFoundError: + sys.stderr.write('cat: {}: no such file or directory\n'.format(path)) + return 1 + + def mkdir(path): if not os.path.exists(path) and os.path.isdir(path): os.mkdir(path) + # this exists because Windows is utterly incapable of providing a proper rm -rf def rm(path): if (os.path.exists(path) or os.path.islink(path)) and not os.path.isdir(path): @@ -28,6 +40,7 @@ def rm(path): elif os.path.isdir(path): shutil.rmtree(path) + def cmake_build(base_path, target): if not os.path.isdir(base_path): # nothing to build @@ -40,6 +53,7 @@ def cmake_build(base_path, target): if err != 0: return err + def main(): if sys.argv[1] == 'mkdir': mkdir(sys.argv[2]) @@ -49,10 +63,13 @@ def main(): elif sys.argv[1] == 'cmake-build': err = cmake_build(sys.argv[2], sys.argv[3] if len(sys.argv) > 3 else None) sys.exit(err) + elif sys.argv[1] == 'cat': + err = cat(sys.argv[2]) + sys.exit(err) + if __name__ == '__main__': try: main() except KeyboardInterrupt: sys.exit(1) -