diff options
| author | Daniil Baturin <daniil@vyos.io> | 2026-05-01 22:00:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-01 22:00:19 +0100 |
| commit | f8a364a85b57e25bab12715980e541b9064acdd0 (patch) | |
| tree | d532008fd992bf1cbd4c520740e2be50bc663aa4 /scripts | |
| parent | 81c74e964433f6bec3d459b6dc02acd318be800e (diff) | |
| parent | 033929ee38b284cb2dd8a5c98dc4cc2329744741 (diff) | |
| download | vyos-build-f8a364a85b57e25bab12715980e541b9064acdd0.tar.gz vyos-build-f8a364a85b57e25bab12715980e541b9064acdd0.zip | |
Merge pull request #1156 from jestabro/extend-activation-system
T8445: add support for extension of activation system
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/image-build/build-vyos-image | 19 | ||||
| -rw-r--r-- | scripts/image-build/utils.py | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/scripts/image-build/build-vyos-image b/scripts/image-build/build-vyos-image index 11537de0..fb91cfc6 100755 --- a/scripts/image-build/build-vyos-image +++ b/scripts/image-build/build-vyos-image @@ -141,6 +141,8 @@ def build(): from utils import cmd, rc_cmd from utils import directories + from utils import activation_hint + from utils import activation_init ## Check if there are missing build dependencies deps = { @@ -491,6 +493,13 @@ DOCUMENTATION_URL="{build_config['documentation_url']}" with open(os.path.join(binary_includes_dir, 'version.json'), 'w') as f: json.dump(version_data, f) + # For initialization of activation scripts, we need to know if we + # are building with create_raw_image + if build_config["image_format"] != ["iso"]: + raw_build_hint = os.path.join(vyos_data_dir, os.path.basename(activation_hint)) + with open(raw_build_hint, 'w') as f: + pass + # For backwards compatibility with 'add system image' script from older versions # we need a file in the old format so that script can find out the version of the image # for upgrade @@ -629,6 +638,16 @@ DOCUMENTATION_URL="{build_config['documentation_url']}" with open(file_path, 'w') as f: f.write(build_config["default_config"]) + ## Allow override of which activation scripts are enabled at boot + if has_nonempty_key(build_config, "activation_init"): + file_path = os.path.join( + chroot_includes_dir, + activation_init.lstrip(os.sep) + ) + os.makedirs(os.path.dirname(file_path), exist_ok=True) + with open(file_path, 'w') as f: + f.write(build_config["activation_init"]) + ## Configure live-build lb_config_tmpl = jinja2.Template(""" lb config noauto \ diff --git a/scripts/image-build/utils.py b/scripts/image-build/utils.py index 9e6dc634..5f557333 100644 --- a/scripts/image-build/utils.py +++ b/scripts/image-build/utils.py @@ -26,6 +26,8 @@ import defaults import vyos from vyos.defaults import directories +from vyos.defaults import activation_hint +from vyos.defaults import activation_init def check_build_config(): |
