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
+

Reply via email to