summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--python/vyos/utils/activate.py8
-rw-r--r--src/activation-scripts/01-set-config-path-hint.py35
2 files changed, 43 insertions, 0 deletions
diff --git a/python/vyos/utils/activate.py b/python/vyos/utils/activate.py
index 056bb2527..51b92a4aa 100644
--- a/python/vyos/utils/activate.py
+++ b/python/vyos/utils/activate.py
@@ -116,3 +116,11 @@ def set_first_installed_boot():
def is_first_installed_boot():
return Path(first_installed_boot_file).exists()
+
+
+def set_config_path_hint():
+ """The config hint allows subsequent installs to find previous disk
+ resident config data. It is traditionally added as part of the image
+ install procedure, however, for raw image builds an alternative is
+ needed."""
+ Path(directories['config']).joinpath('.vyatta_config').touch(exist_ok=True)
diff --git a/src/activation-scripts/01-set-config-path-hint.py b/src/activation-scripts/01-set-config-path-hint.py
new file mode 100644
index 000000000..3146a7905
--- /dev/null
+++ b/src/activation-scripts/01-set-config-path-hint.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_config_path_hint
+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:
+ if is_first_installed_boot():
+ set_config_path_hint()
+ set_activation(__file__, 'never')