osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/34343?usp=email )
Change subject: OBS: exit() -> sys.exit() ......................................................................
OBS: exit() -> sys.exit()
As pointed out in code review, sys.exit() should be used instead of exit() from site.
https://docs.python.org/3/library/constants.html#exit says:
The site module (which is imported automatically during startup, except if the -S command-line option is given) adds several constants to the built-in namespace. They are useful for the interactive interpreter shell and should not be used in programs.
Change-Id: Ia9d355e660afd1ad3c60064900d8be66e8e1d385 --- M scripts/obs/build_binpkg.py M scripts/obs/build_srcpkg.py M scripts/obs/lib/__init__.py M scripts/obs/lib/docker.py M scripts/obs/lib/osc.py M scripts/obs/lib/srcpkg.py M scripts/obs/sync_obs_projects.py M scripts/obs/update_obs_project.py 8 files changed, 39 insertions(+), 15 deletions(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved
diff --git a/scripts/obs/build_binpkg.py b/scripts/obs/build_binpkg.py index 67a4bec..f3b4bcf 100755 --- a/scripts/obs/build_binpkg.py +++ b/scripts/obs/build_binpkg.py @@ -3,9 +3,10 @@ # Copyright 2022 sysmocom - s.f.m.c. GmbH info@sysmocom.de import argparse import fnmatch +import lib import multiprocessing import os -import lib +import sys import lib.binpkg_deb import lib.config import lib.docker @@ -57,7 +58,7 @@ if not os.path.exists(srcdir): print(f"ERROR: {args.package}: no srcpkg found, run build_srcpkg.py" " first!") - exit(1) + sys.exit(1)
bindir = f"{lib.config.path_temp}/binpkgs" lib.run_cmd(["rm", "-rf", bindir]) diff --git a/scripts/obs/build_srcpkg.py b/scripts/obs/build_srcpkg.py index 0ec1958..a5feeea 100755 --- a/scripts/obs/build_srcpkg.py +++ b/scripts/obs/build_srcpkg.py @@ -2,6 +2,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright 2022 sysmocom - s.f.m.c. GmbH info@sysmocom.de import argparse +import sys import lib import lib.config import lib.docker @@ -26,7 +27,7 @@
if not args.meta and not args.package: print("ERROR: specify -m and/or a package. See -h for help.") - exit(1) + sys.exit(1)
lib.set_args(args)
diff --git a/scripts/obs/lib/__init__.py b/scripts/obs/lib/__init__.py index 842dd41..1f686e5 100644 --- a/scripts/obs/lib/__init__.py +++ b/scripts/obs/lib/__init__.py @@ -98,7 +98,7 @@
if not ok: print("Either install them or use the -d argument to run in docker") - exit(1) + sys.exit(1)
def set_proper_package_name(package): @@ -117,7 +117,7 @@
print(f"ERROR: unknown package: {package}") print("See packages_osmocom and packages_other in obs/lib/config.py") - exit(1) + sys.exit(1)
def exit_error_cmd(completed, error_msg): diff --git a/scripts/obs/lib/docker.py b/scripts/obs/lib/docker.py index 4f9f981..779099b 100644 --- a/scripts/obs/lib/docker.py +++ b/scripts/obs/lib/docker.py @@ -55,7 +55,7 @@ return os.path.realpath(ret)
print("ERROR: couldn't find ~/.oscrc. Put it there or set OSCRC.") - exit(1) + sys.exit(1)
def run_in_docker_and_exit(script_path, add_oscrc=False, @@ -75,7 +75,7 @@
if not shutil.which("docker"): print("ERROR: docker is not installed") - exit(1) + sys.exit(1)
if not distro: distro = lib.config.docker_distro_default @@ -116,4 +116,4 @@
print(f"docker: running: {script_path} inside docker") ret = subprocess.run(cmd) - exit(ret.returncode) + sys.exit(ret.returncode) diff --git a/scripts/obs/lib/osc.py b/scripts/obs/lib/osc.py index 656783e..20a63b5 100644 --- a/scripts/obs/lib/osc.py +++ b/scripts/obs/lib/osc.py @@ -6,6 +6,7 @@ import os import shlex import shutil +import sys import lib import lib.config
@@ -22,7 +23,7 @@
print("ERROR: oscrc does not exist, please create one as explained in the" " README.") - exit(1) + sys.exit(1)
def set_apiurl(url, obs_proj=None): @@ -32,7 +33,7 @@ if obs_proj is not None: if ":" not in obs_proj: print(f"ERROR: this doesn't look like a valid OBS project: {obs_proj}") - exit(1) + sys.exit(1) proj = obs_proj
apiurl = url diff --git a/scripts/obs/lib/srcpkg.py b/scripts/obs/lib/srcpkg.py index b97bbf8..13404a7 100644 --- a/scripts/obs/lib/srcpkg.py +++ b/scripts/obs/lib/srcpkg.py @@ -4,6 +4,7 @@ import glob import os import pathlib +import sys import lib.config import lib.debian import lib.rpm_spec @@ -42,7 +43,7 @@ print(f"ERROR: {project}.git doesn't have a git-version-gen script and" " couldn't find libosmocore.git's copy of the script here either: " + ret) - exit(1) + sys.exit(1)
def get_git_version(project): diff --git a/scripts/obs/sync_obs_projects.py b/scripts/obs/sync_obs_projects.py index 85ceba3..cc4635a 100755 --- a/scripts/obs/sync_obs_projects.py +++ b/scripts/obs/sync_obs_projects.py @@ -8,6 +8,7 @@ import os import shlex import shutil +import sys import xml.etree.ElementTree
import lib @@ -75,7 +76,7 @@
if not ok: print("Either install them or use the -d argument to run in docker") - exit(1) + sys.exit(1)
def generate_prjconf_header(project): diff --git a/scripts/obs/update_obs_project.py b/scripts/obs/update_obs_project.py index eee58a7..a456218 100755 --- a/scripts/obs/update_obs_project.py +++ b/scripts/obs/update_obs_project.py @@ -3,6 +3,7 @@ # Copyright 2022 sysmocom - s.f.m.c. GmbH info@sysmocom.de import argparse import os +import sys import traceback import lib import lib.config @@ -185,7 +186,7 @@ print(f"Deleted: {len(srcpkgs_deleted)}")
if not srcpkgs_failed_build and not srcpkgs_failed_upload: - exit(0) + sys.exit(0)
print() print("List of failed packages:") @@ -194,7 +195,7 @@ for package in srcpkgs_failed_upload: print(f"* {package} (srcpkg upload)")
- exit(1) + sys.exit(1)
def validate_args(args): @@ -202,7 +203,7 @@ # git repository before trying to update/delete a package from OBS if args.delete and args.feed != "master": print("ERROR: --delete can only be used with --feed=master") - exit(1) + sys.exit(1)
def main():