diff options
| author | John Estabrook <jestabro@vyos.io> | 2026-03-29 21:17:44 -0500 |
|---|---|---|
| committer | John Estabrook <jestabro@vyos.io> | 2026-04-15 15:17:27 -0500 |
| commit | 47814a3f61f58dd79d4165cb75f358b93b289310 (patch) | |
| tree | b21134596bc21d3f27b9bcd4c4a7d8a52df9addd /src/activation-scripts | |
| parent | ad0658eba6084943da3ef7430314b757478252e5 (diff) | |
| download | vyos-1x-47814a3f61f58dd79d4165cb75f358b93b289310.tar.gz vyos-1x-47814a3f61f58dd79d4165cb75f358b93b289310.zip | |
T8445: add activation script to indicate first installed boot
Add script to leave hint of first installed boot (as, say, distinguished
from first live boot, or subsequent); this is useful as pre/post
conditions and self-modification of activation scripts.
Diffstat (limited to 'src/activation-scripts')
| -rw-r--r-- | src/activation-scripts/00-first-installed-boot.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/activation-scripts/00-first-installed-boot.py b/src/activation-scripts/00-first-installed-boot.py new file mode 100644 index 000000000..ca02c2642 --- /dev/null +++ b/src/activation-scripts/00-first-installed-boot.py @@ -0,0 +1,35 @@ +# Copyright (C) VyOS Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library. If not, see <http://www.gnu.org/licenses/>. + + +from vyos.configtree import ConfigTree +from vyos.system.image import is_live_boot +from vyos.utils.activate import set_activation +from vyos.utils.activate import set_first_installed_boot +from vyos.utils.activate import is_first_installed_boot + + +def pre_condition() -> bool: + return not is_live_boot() + + +def activate(_config: ConfigTree) -> None: + pass + + +def post_condition() -> None: + set_first_installed_boot() + if is_first_installed_boot(): + set_activation(__file__, 'never') |
