From 30295bbdb9b7972e8e30b823a78ed7a9c36ee58f Mon Sep 17 00:00:00 2001 From: pardallio Date: Wed, 18 Mar 2026 09:23:33 +0000 Subject: [PATCH 1/4] adds --arch-dir argument to point to specific architecture directories --- bin/ecbundle-create | 3 +++ ecbundle/create.py | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/bin/ecbundle-create b/bin/ecbundle-create index 91bf285..cc412a7 100755 --- a/bin/ecbundle-create +++ b/bin/ecbundle-create @@ -51,6 +51,9 @@ def main(): parser.add_argument('--src-dir', help='Directory containing repositories', default='source') + parser.add_argument('--arch-dir', + help='Directory containing supported architectures', default='arch') + parser.add_argument('--update', help='Update local checkout with remote changes', action='store_true') diff --git a/ecbundle/create.py b/ecbundle/create.py index ca2f11f..4d13636 100644 --- a/ecbundle/create.py +++ b/ecbundle/create.py @@ -66,9 +66,14 @@ def create(self): bundle_yml_file = src_dir + "/bundle.yml" + arch_dir=self.get("arch_dir", "arch") + if os.path.isabs(arch_dir): + symlink_force(arch_dir, src_dir + "/arch") + else: + symlink_force(os.path.dirname(bundle.file()) + f"/{arch_dir}", src_dir + "/arch") + if self.bundle_needs_updating(): symlink_force(bundle.file(), bundle_yml_file) - symlink_force(os.path.dirname(bundle.file()) + "/arch", src_dir + "/arch") self.create_cmakelists_from_bundle() From 7dce27fb2ba12b2f1413cb5736717bde8ad9258c Mon Sep 17 00:00:00 2001 From: Willem Deconinck Date: Thu, 9 Apr 2026 15:49:39 +0200 Subject: [PATCH 2/4] QA --- ecbundle/create.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ecbundle/create.py b/ecbundle/create.py index 4d13636..e4cf044 100644 --- a/ecbundle/create.py +++ b/ecbundle/create.py @@ -66,11 +66,13 @@ def create(self): bundle_yml_file = src_dir + "/bundle.yml" - arch_dir=self.get("arch_dir", "arch") + arch_dir = self.get("arch_dir", "arch") if os.path.isabs(arch_dir): symlink_force(arch_dir, src_dir + "/arch") else: - symlink_force(os.path.dirname(bundle.file()) + f"/{arch_dir}", src_dir + "/arch") + symlink_force( + os.path.dirname(bundle.file()) + f"/{arch_dir}", src_dir + "/arch" + ) if self.bundle_needs_updating(): symlink_force(bundle.file(), bundle_yml_file) From ce2a3598be2f96474865a5dd286609d87c9cb32a Mon Sep 17 00:00:00 2001 From: Willem Deconinck Date: Thu, 9 Apr 2026 16:04:45 +0200 Subject: [PATCH 3/4] Fix tests --- ecbundle/create.py | 5 ++++- tests/bundle_create/test_create.py | 4 ++++ tests/bundle_install/test_install.py | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ecbundle/create.py b/ecbundle/create.py index e4cf044..df6270c 100644 --- a/ecbundle/create.py +++ b/ecbundle/create.py @@ -33,6 +33,9 @@ def dryrun(self): def src_dir(self): return fullpath(self.get("src_dir", "source")) + def arch_dir(self): + return self.get("arch_dir", "arch") + def bundle(self): bundle_path = fullpath(self.get("bundle", None)) if bundle_path: @@ -66,7 +69,7 @@ def create(self): bundle_yml_file = src_dir + "/bundle.yml" - arch_dir = self.get("arch_dir", "arch") + arch_dir = self.arch_dir() if os.path.isabs(arch_dir): symlink_force(arch_dir, src_dir + "/arch") else: diff --git a/tests/bundle_create/test_create.py b/tests/bundle_create/test_create.py index b35ba76..18d76a2 100644 --- a/tests/bundle_create/test_create.py +++ b/tests/bundle_create/test_create.py @@ -51,6 +51,7 @@ def test_create_simple(here, cleanup): "dry_run": True, "bundle": "%s" % here, "src_dir": "%s" % src_dir, + "arch_dir": "%s" % (here / "arch"), "update": False, "forced_update": False, "threads": 1, @@ -80,6 +81,7 @@ def test_create_optional_fail(here, cleanup): "dryrun": True, "dry_run": True, "src_dir": "%s" % src_dir, + "arch_dir": "%s" % (here / "arch"), "update": False, "forced_update": False, "threads": 1, @@ -117,6 +119,7 @@ def test_create_optional_success(here, cleanup): "dryrun": True, "dry_run": True, "src_dir": "%s" % src_dir, + "arch_dir": "%s" % (here / "arch"), "update": False, "forced_update": False, "threads": 1, @@ -158,6 +161,7 @@ def test_create_existing_symlink(here, cleanup, watcher): "dry_run": True, "bundle": "%s" % here, "src_dir": "%s" % src_dir, + "arch_dir": "%s" % (here / "arch"), "update": False, "forced_update": False, "threads": 1, diff --git a/tests/bundle_install/test_install.py b/tests/bundle_install/test_install.py index 45e0fc4..059eb84 100644 --- a/tests/bundle_install/test_install.py +++ b/tests/bundle_install/test_install.py @@ -70,6 +70,7 @@ def args(here): "cmake": None, "project1.cmake": None, "arch": None, + "arch_dir": "%s" % (here / "arch"), "build_type": "BIT", "bundle": "%s" % here, } @@ -79,6 +80,7 @@ def test_build_install(args, here, cleanup, watcher): src_dir = here / "source" build_dir = here / "build" install_dir = here / "install" + arch_dir = here / "arch" args["dryrun"] = False args["dry_run"] = False From 2c6a5a47d2ed2537a7832c619d6dec8b00a48f4b Mon Sep 17 00:00:00 2001 From: Willem Deconinck Date: Thu, 9 Apr 2026 16:12:11 +0200 Subject: [PATCH 4/4] fixup --- tests/bundle_install/test_install.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/bundle_install/test_install.py b/tests/bundle_install/test_install.py index 059eb84..367bb21 100644 --- a/tests/bundle_install/test_install.py +++ b/tests/bundle_install/test_install.py @@ -80,7 +80,6 @@ def test_build_install(args, here, cleanup, watcher): src_dir = here / "source" build_dir = here / "build" install_dir = here / "install" - arch_dir = here / "arch" args["dryrun"] = False args["dry_run"] = False