summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xlibexec/container/version71
1 files changed, 39 insertions, 32 deletions
diff --git a/libexec/container/version b/libexec/container/version
index e580688..e567f8f 100755
--- a/libexec/container/version
+++ b/libexec/container/version
@@ -1,6 +1,8 @@
-#!/bin/sh
+#!/usr/bin/python3
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Open Infrastructure: compute-tools
+
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
@@ -17,33 +19,38 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
-set -e
-
-PROJECT="open-infrastructure"
-SOFTWARE="compute-tools"
-PROGRAM="container"
-COMMAND="$(basename ${0})"
-
-HOOKS="/etc/${SOFTWARE}/hooks"
-SHARE="/usr/share/${SOFTWARE}"
-
-# Pre hooks
-for FILE in "${HOOKS}/pre-${COMMAND}".* "${HOOKS}/${NAME}.pre-${COMMAND}"
-do
- if [ -x "${FILE}" ]
- then
- "${FILE}"
- fi
-done
-
-# Run
-cat "${SHARE}/VERSION.txt"
-
-# Post hooks
-for FILE in "${HOOKS}/post-${COMMAND}".* "${HOOKS}/${NAME}.post-${COMMAND}"
-do
- if [ -x "${FILE}" ]
- then
- "${FILE}"
- fi
-done
+from os import access, X_OK
+from pathlib import Path
+from subprocess import run
+from sys import exit, stderr, stdout
+
+import compute_tools.container as container
+
+def main():
+ # pre hooks
+ pre_hooks = Path('/etc/compute-tools/hooks').glob('pre-version.*')
+
+ if pre_hooks:
+ # hooks exist
+ for hook in pre_hooks:
+ if access(hook, X_OK):
+ # hook is executable
+ run(str(hook), shell=True, stderr=stderr, stdout=stdout)
+
+ # run
+ container.print_version()
+
+ # post hooks
+ post_hooks = Path('/etc/compute-tools/hooks').glob('post-version.*')
+
+ if post_hooks:
+ # hooks exist
+ for hook in post_hooks:
+ if access(hook, X_OK):
+ # hook is executable
+ run(str(hook), shell=True, stderr=stderr, stdout=stdout)
+
+ exit(0)
+
+if __name__ == '__main__':
+ main()