Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Hi folks, Please unblock package lavacli There are a couple of small changes that we'd really like to see in buster before release. It's a new upstream release, but the changes are small to fix a few issues that are biting users. debdiff attached. unblock lavacli/0.9.5-1 -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
diffstat for lavacli-0.9.4 lavacli-0.9.5 .gitignore | 16 ---------- MANIFEST.in | 4 ++ PKG-INFO | 23 ++++++++++++++ debian/changelog | 15 +++++++++ debian/control | 7 +--- debian/gbp.conf | 4 -- lavacli.egg-info/PKG-INFO | 23 ++++++++++++++ lavacli.egg-info/SOURCES.txt | 50 ++++++++++++++++++++++++++++++++ lavacli.egg-info/dependency_links.txt | 1 lavacli.egg-info/entry_points.txt | 3 + lavacli.egg-info/requires.txt | 4 ++ lavacli.egg-info/top_level.txt | 1 lavacli.egg-info/zip-safe | 1 lavacli/__about__.py | 6 +-- lavacli/commands/identities.py | 4 ++ lavacli/commands/jobs.py | 53 +++++++++++++++++++++++++--------- lavacli/utils.py | 9 +++++ setup.cfg | 4 ++ 18 files changed, 187 insertions(+), 41 deletions(-) diff -Nru lavacli-0.9.4/.gitignore lavacli-0.9.5/.gitignore --- lavacli-0.9.4/.gitignore 2019-01-30 10:27:18.000000000 +0000 +++ lavacli-0.9.5/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -.virtualenv -bin -dist -versiontools-*.egg -*.egg-info -build -.idea -*.pyc -*~ -*.swp -tmp*/ -_build/ -.eggs -*.e4p -.eric6project/ -.pytest_cache/ diff -Nru lavacli-0.9.4/MANIFEST.in lavacli-0.9.5/MANIFEST.in --- lavacli-0.9.4/MANIFEST.in 2019-01-30 10:27:18.000000000 +0000 +++ lavacli-0.9.5/MANIFEST.in 2019-03-05 17:21:14.000000000 +0000 @@ -1,3 +1,7 @@ include doc/* include share/lavacli.yaml include tests/* +include .coveragerc +include .gitlab-ci.yml +include LICENSE +include requirements.txt diff -Nru lavacli-0.9.4/PKG-INFO lavacli-0.9.5/PKG-INFO --- lavacli-0.9.4/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/PKG-INFO 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1,23 @@ +Metadata-Version: 1.2 +Name: lavacli +Version: 0.9.5 +Summary: LAVA XML-RPC command line interface +Home-page: https://git.lavasoftware.org/lava/lavacli +Author: Rémi Duraffort +Author-email: remi.duraff...@linaro.org +License: AGPLv3+ +Description: UNKNOWN +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Console +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) +Classifier: Operating System :: POSIX :: Linux +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Topic :: Communications +Classifier: Topic :: Software Development :: Testing +Classifier: Topic :: System :: Networking +Requires-Python: >=3.4 diff -Nru lavacli-0.9.4/debian/changelog lavacli-0.9.5/debian/changelog --- lavacli-0.9.4/debian/changelog 2019-01-30 12:06:40.000000000 +0000 +++ lavacli-0.9.5/debian/changelog 2019-03-05 17:09:33.000000000 +0000 @@ -1,3 +1,18 @@ +lavacli (0.9.5-1) unstable; urgency=medium + + * New upstream release + + Fix user-agent + + When submitting multiple jobs, declare which job failed and + continue + + jobs.validate: allow to validate job definitions + + Allow fallback to yaml.Loader + + Create config dir if it doesn't exist + * Fix Uploaders: add me, remove Senthil + * Moved Debian packaging into the upstream repo, so update the VCS- + links to point there + + -- Steve McIntyre <93...@debian.org> Tue, 05 Mar 2019 17:09:33 +0000 + lavacli (0.9.4-1) unstable; urgency=medium * New upstream release diff -Nru lavacli-0.9.4/debian/control lavacli-0.9.5/debian/control --- lavacli-0.9.4/debian/control 2019-01-30 12:06:40.000000000 +0000 +++ lavacli-0.9.5/debian/control 2019-03-05 17:03:41.000000000 +0000 @@ -1,7 +1,6 @@ Source: lavacli Maintainer: Debian LAVA team <pkg-linaro-lava-de...@lists.alioth.debian.org> -Uploaders: Senthil Kumaran S (stylesen) <style...@gmail.com>, - Neil Williams <codeh...@debian.org> +Uploaders: Steve McIntyre <93...@debian.org>, Neil Williams <codeh...@debian.org> Section: admin Priority: optional Build-Depends: debhelper (>= 10), dh-python, python3, @@ -11,8 +10,8 @@ X-Python-Version: >= 3.6 Standards-Version: 4.2.1 Homepage: https://git.lavasoftware.org/lava/lavacli -Vcs-Git: https://github.com/Linaro/pkg-lavacli.git -Vcs-Browser: https://github.com/Linaro/pkg-lavacli.git +Vcs-Git: https://git.lavasoftware.org/lava/lavacli +Vcs-Browser: https://git.lavasoftware.org/lava/lavacli Package: lavacli Architecture: all diff -Nru lavacli-0.9.4/debian/gbp.conf lavacli-0.9.5/debian/gbp.conf --- lavacli-0.9.4/debian/gbp.conf 2019-01-30 12:06:40.000000000 +0000 +++ lavacli-0.9.5/debian/gbp.conf 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -[DEFAULT] -overlay = True -pristine-tar = False -cleaner = true diff -Nru lavacli-0.9.4/lavacli/__about__.py lavacli-0.9.5/lavacli/__about__.py --- lavacli-0.9.4/lavacli/__about__.py 2019-01-30 10:27:18.000000000 +0000 +++ lavacli-0.9.5/lavacli/__about__.py 2019-03-05 16:22:12.000000000 +0000 @@ -26,7 +26,7 @@ try: # git describe? out = subprocess.check_output(["git", "describe"], stderr=subprocess.STDOUT) - return out.decode("utf-8").rstrip("\n") + return out.decode("utf-8").rstrip("\n")[1:] except Exception: return "git" @@ -34,5 +34,5 @@ __author__ = "Rémi Duraffort" __description__ = "LAVA XML-RPC command line interface" __license__ = "AGPLv3+" -__url__ = "https://git.lavasoftware.org/lava/lavacli.git" -__version__ = "0.9.4" +__url__ = "https://git.lavasoftware.org/lava/lavacli" +__version__ = "0.9.5" diff -Nru lavacli-0.9.4/lavacli/commands/identities.py lavacli-0.9.5/lavacli/commands/identities.py --- lavacli-0.9.4/lavacli/commands/identities.py 2019-01-30 10:27:18.000000000 +0000 +++ lavacli-0.9.5/lavacli/commands/identities.py 2019-03-05 16:22:12.000000000 +0000 @@ -71,8 +71,12 @@ def _save_configuration(config): config_dir = os.environ.get("XDG_CONFIG_HOME", "~/.config") + expanded_config_dir = os.path.expanduser(config_dir) config_filename = os.path.expanduser(os.path.join(config_dir, "lavacli.yaml")) + if not os.path.exists(expanded_config_dir): + os.makedirs(expanded_config_dir) + with open(config_filename, "w", encoding="utf-8") as f_conf: f_conf.write(yaml.safe_dump(config, default_flow_style=False).rstrip("\n")) diff -Nru lavacli-0.9.4/lavacli/commands/jobs.py lavacli-0.9.5/lavacli/commands/jobs.py --- lavacli-0.9.4/lavacli/commands/jobs.py 2019-01-30 10:27:18.000000000 +0000 +++ lavacli-0.9.5/lavacli/commands/jobs.py 2019-03-05 16:22:12.000000000 +0000 @@ -25,8 +25,10 @@ import sys import time from urllib.parse import urlparse +import xmlrpc.client import yaml +from lavacli.utils import loader from lavacli.utils import print_u @@ -276,6 +278,16 @@ help="Print the full url", ) + if version >= (2019, 3): + # "validate" + jobs_validate = sub.add_parser("validate", help="validate the job definition") + jobs_validate.add_argument( + "definition", type=argparse.FileType("r"), help="job definition" + ) + jobs_validate.add_argument( + "--strict", action="store_true", default=False, help="check in strict mode" + ) + if version >= (2018, 1): # "wait" jobs_wait = sub.add_parser("wait", help="wait for the job to finish") @@ -490,10 +502,10 @@ def _download_logs(proxy, version, job_id, start, end): if version >= (2018, 6): (finished, data) = proxy.scheduler.jobs.logs(job_id, start, end) - logs = yaml.load(str(data), Loader=yaml.CLoader) + logs = yaml.load(str(data), Loader=loader()) else: (finished, data) = proxy.scheduler.jobs.logs(job_id, start) - logs = yaml.load(str(data), Loader=yaml.CLoader) + logs = yaml.load(str(data), Loader=loader()) if end is not None and len(logs) >= end - start: if end < start: end = start @@ -691,23 +703,35 @@ def handle_submit(proxy, options, _): - for definition in options.definition: - job_id = proxy.scheduler.jobs.submit(definition.read()) + prefix = "" + if options.print_url: + parsed = urlparse(options.uri) + host = parsed.netloc.split("@")[-1] + prefix = "%s://%s/scheduler/job/" % (parsed.scheme, host) - prefix = "" - if options.print_url: - parsed = urlparse(options.uri) - host = parsed.netloc.split("@")[-1] - prefix = "%s://%s/scheduler/job/" % (parsed.scheme, host) + for definition in options.definition: + try: + job_id = proxy.scheduler.jobs.submit(definition.read()) + if isinstance(job_id, list): + for job in job_id: + print(prefix + str(job)) + else: + print(prefix + str(job_id)) + except xmlrpc.client.Error as exc: + print("Unable to submit %s" % definition.name) - if isinstance(job_id, list): - for job in job_id: - print(prefix + str(job)) - else: - print(prefix + str(job_id)) return 0 +def handle_validate(proxy, options, _): + ret = proxy.scheduler.jobs.validate(options.definition.read(), options.strict) + if not ret: + return 0 + print("key: %s" % ".".join(ret["path"])) + print("msg: %s" % ret["msg"]) + return 1 + + def handle_wait(proxy, options, _): job = proxy.scheduler.jobs.show(options.job_id) old_state = "" @@ -739,6 +763,7 @@ "run": handle_run, "show": handle_show, "submit": handle_submit, + "validate": handle_validate, "wait": handle_wait, } return handlers[options.sub_sub_command](proxy, options, config) diff -Nru lavacli-0.9.4/lavacli/utils.py lavacli-0.9.5/lavacli/utils.py --- lavacli-0.9.4/lavacli/utils.py 2019-01-30 10:27:18.000000000 +0000 +++ lavacli-0.9.5/lavacli/utils.py 2019-03-05 16:22:12.000000000 +0000 @@ -18,6 +18,7 @@ # along with lavacli. If not, see <http://www.gnu.org/licenses/> import re +import yaml def print_u(string): @@ -39,3 +40,11 @@ return VERSION_LATEST res = m.groupdict() return (int(res["major"]), int(res["minor"])) + + +def loader(): + try: + return yaml.CLoader + except AttributeError: + # TODO log a warning on stderr + return yaml.Loader diff -Nru lavacli-0.9.4/lavacli.egg-info/PKG-INFO lavacli-0.9.5/lavacli.egg-info/PKG-INFO --- lavacli-0.9.4/lavacli.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/lavacli.egg-info/PKG-INFO 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1,23 @@ +Metadata-Version: 1.2 +Name: lavacli +Version: 0.9.5 +Summary: LAVA XML-RPC command line interface +Home-page: https://git.lavasoftware.org/lava/lavacli +Author: Rémi Duraffort +Author-email: remi.duraff...@linaro.org +License: AGPLv3+ +Description: UNKNOWN +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Console +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) +Classifier: Operating System :: POSIX :: Linux +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Topic :: Communications +Classifier: Topic :: Software Development :: Testing +Classifier: Topic :: System :: Networking +Requires-Python: >=3.4 diff -Nru lavacli-0.9.4/lavacli.egg-info/SOURCES.txt lavacli-0.9.5/lavacli.egg-info/SOURCES.txt --- lavacli-0.9.4/lavacli.egg-info/SOURCES.txt 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/lavacli.egg-info/SOURCES.txt 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1,50 @@ +.coveragerc +.gitlab-ci.yml +LICENSE +MANIFEST.in +requirements.txt +setup.py +doc/Makefile +doc/conf.py +doc/configuration.rst +doc/index.rst +doc/install.rst +doc/usage.rst +lavacli/__about__.py +lavacli/__init__.py +lavacli/__main__.py +lavacli/utils.py +lavacli.egg-info/PKG-INFO +lavacli.egg-info/SOURCES.txt +lavacli.egg-info/dependency_links.txt +lavacli.egg-info/entry_points.txt +lavacli.egg-info/requires.txt +lavacli.egg-info/top_level.txt +lavacli.egg-info/zip-safe +lavacli/commands/__init__.py +lavacli/commands/aliases.py +lavacli/commands/device_types.py +lavacli/commands/devices.py +lavacli/commands/events.py +lavacli/commands/identities.py +lavacli/commands/jobs.py +lavacli/commands/results.py +lavacli/commands/system.py +lavacli/commands/tags.py +lavacli/commands/utils.py +lavacli/commands/workers.py +share/lavacli.yaml +tests/__init__.py +tests/conftest.py +tests/test_aliases.py +tests/test_device_types.py +tests/test_devices.py +tests/test_events.py +tests/test_helpers.py +tests/test_identities.py +tests/test_jobs.py +tests/test_lavacli.py +tests/test_results.py +tests/test_system.py +tests/test_tags.py +tests/test_workers.py \ No newline at end of file diff -Nru lavacli-0.9.4/lavacli.egg-info/dependency_links.txt lavacli-0.9.5/lavacli.egg-info/dependency_links.txt --- lavacli-0.9.4/lavacli.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/lavacli.egg-info/dependency_links.txt 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1 @@ + diff -Nru lavacli-0.9.4/lavacli.egg-info/entry_points.txt lavacli-0.9.5/lavacli.egg-info/entry_points.txt --- lavacli-0.9.4/lavacli.egg-info/entry_points.txt 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/lavacli.egg-info/entry_points.txt 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1,3 @@ +[console_scripts] +lavacli = lavacli:main + diff -Nru lavacli-0.9.4/lavacli.egg-info/requires.txt lavacli-0.9.5/lavacli.egg-info/requires.txt --- lavacli-0.9.4/lavacli.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/lavacli.egg-info/requires.txt 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1,4 @@ +PyYAML +jinja2 +pyzmq +requests diff -Nru lavacli-0.9.4/lavacli.egg-info/top_level.txt lavacli-0.9.5/lavacli.egg-info/top_level.txt --- lavacli-0.9.4/lavacli.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/lavacli.egg-info/top_level.txt 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1 @@ +lavacli diff -Nru lavacli-0.9.4/lavacli.egg-info/zip-safe lavacli-0.9.5/lavacli.egg-info/zip-safe --- lavacli-0.9.4/lavacli.egg-info/zip-safe 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/lavacli.egg-info/zip-safe 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1 @@ + diff -Nru lavacli-0.9.4/setup.cfg lavacli-0.9.5/setup.cfg --- lavacli-0.9.4/setup.cfg 1970-01-01 01:00:00.000000000 +0100 +++ lavacli-0.9.5/setup.cfg 2019-03-05 17:21:26.000000000 +0000 @@ -0,0 +1,4 @@ +[egg_info] +tag_build = +tag_date = 0 +