From cc86483fdf7a6bd988f485c06402fd07368dd26e Mon Sep 17 00:00:00 2001 From: kumvijaya Date: Tue, 21 May 2024 16:41:14 +0530 Subject: T6357: create test repository to validate setup --- src/validators/script | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/validators/script (limited to 'src/validators/script') diff --git a/src/validators/script b/src/validators/script new file mode 100644 index 0000000..eb176d2 --- /dev/null +++ b/src/validators/script @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2018-2023 VyOS maintainers and contributors +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; If not, see . + +import os +import sys +import shlex + +from vyos.utils.file import file_is_persistent + +if __name__ == '__main__': + if len(sys.argv) < 2: + sys.exit('Please specify script file to check') + + # if the "script" is a script+ stowaway arguments, this removes the aguements + script = shlex.split(sys.argv[1])[0] + + if not os.path.exists(script): + sys.exit(f'File {script} does not exist') + + if not (os.path.isfile(script) and os.access(script, os.X_OK)): + sys.exit(f'File {script} is not an executable file') + + # File outside the config dir is just a warning + if not file_is_persistent(script): + sys.exit(0)( + f'Warning: file {script} is outside the "/config" directory\n' + 'It will not be automatically migrated to a new image on system update' + ) -- cgit v1.2.3