diff options
author | Scott Murray <scott.murray@konsulko.com> | 2023-04-18 16:11:47 -0400 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2023-05-16 14:03:50 +0000 |
commit | f6a2980917592000382d2a9af9ea4803e90f9f88 (patch) | |
tree | 23a0def2ee2c547f2f9f6e9cfbf0cbc7f3d63379 /recipes-connectivity/kuksa-val/kuksa-client | |
parent | addb673cf642c1b06bfa912baf1aabbce5297400 (diff) |
kuksa-val: Update to 0.3.1
Changes:
- Update kuksa-val to a commit that includes the 0.3.1 release and
some other fixes past that. Our local patches have been updated.
- Rework and rename the kuksa-viss-client recipe for the upstream
switch to kuksa-client as the name. Our local patches have been
updated.
- Update kuksa-dbc-feeder to a commit that supports the kuksa-client
library changes that come with 0.3.1. Our local patches have been
updated, and a new local patch has been added to fix the token file
configuration option behavior, this will be worked with upstream.
Upstream changed the configuration file format, so our local one
has also been updated to match.
- Update the parsing of the DBC feeder configuration file in the
can-dev-helper.sh script to work with the new format.
- Update kuksa-val-agl recipe to not install AGL signals overlay
for VSS, as that has been replaced with the use of the vss-agl
package.
- Add installation of vss-agl to packagegroup-agl-ivi-services so
the AGL specific signals and DBC configuration will be available.
Bug-AGL: SPEC-4761
Change-Id: I5933017a30f040a746f0a6a6eb2a3b68d1fc4bc1
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'recipes-connectivity/kuksa-val/kuksa-client')
2 files changed, 192 insertions, 0 deletions
diff --git a/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch b/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch new file mode 100644 index 000000000..55e9cc2cb --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch @@ -0,0 +1,141 @@ +From ea0b48b9a900e9ce6d898fc5d17ae3238aadb289 Mon Sep 17 00:00:00 2001 +From: Scott Murray <scott.murray@konsulko.com> +Date: Tue, 2 May 2023 16:20:40 -0400 +Subject: [PATCH 2/2] kuksa_viss_client: Update cmd2 completer usage + +Update cmd2 usage to avoid using internal methods and fix breakage +with newer versions of the cmd2 module. + +Upstream-Status: pending + +Signed-off-by: Scott Murray <scott.murray@konsulko.com> +--- + kuksa-client/kuksa_client/__main__.py | 31 +++++++++++++-------------- + 1 file changed, 15 insertions(+), 16 deletions(-) + +diff --git a/kuksa-client/kuksa_client/__main__.py b/kuksa-client/kuksa_client/__main__.py +index c34f335..d386708 100755 +--- a/kuksa-client/kuksa_client/__main__.py ++++ b/kuksa-client/kuksa_client/__main__.py +@@ -34,7 +34,6 @@ from cmd2 import Cmd + from cmd2 import CompletionItem + from cmd2 import with_argparser + from cmd2 import with_category +-from cmd2.utils import basic_complete + + import kuksa_certificates + from kuksa_client import KuksaClientThread +@@ -122,7 +121,7 @@ class TestClient(Cmd): + "Children of branch "+prefix+key), + ) + +- return basic_complete(text, line, begidx, endidx, self.pathCompletionItems) ++ return Cmd.basic_complete(self, text, line, begidx, endidx, self.pathCompletionItems) + + def subscribeCallback(self, logPath, resp): + with logPath.open('a', encoding='utf-8') as logFile: +@@ -132,7 +131,7 @@ class TestClient(Cmd): + self.pathCompletionItems = [] + for sub_id in self.subscribeIds: + self.pathCompletionItems.append(CompletionItem(sub_id)) +- return basic_complete(text, line, begidx, endidx, self.pathCompletionItems) ++ return Cmd.basic_complete(self, text, line, begidx, endidx, self.pathCompletionItems) + + COMM_SETUP_COMMANDS = "Communication Set-up Commands" + VSS_COMMANDS = "Kuksa Interaction Commands" +@@ -149,7 +148,7 @@ class TestClient(Cmd): + ap_authorize.add_argument( + 'token_or_tokenfile', + help='JWT(or the file storing the token) for authorizing the client.', +- completer_method=tokenfile_completer_method,) ++ completer=tokenfile_completer_method,) + ap_setServerAddr = argparse.ArgumentParser() + ap_setServerAddr.add_argument( + 'IP', help='VISS/gRPC Server IP Address', default=DEFAULT_SERVER_ADDR) +@@ -164,7 +163,7 @@ class TestClient(Cmd): + + ap_setValue = argparse.ArgumentParser() + ap_setValue.add_argument( +- "Path", help="Path to be set", completer_method=path_completer) ++ "Path", help="Path to be set", completer=path_completer) + ap_setValue.add_argument("Value", help="Value to be set") + ap_setValue.add_argument( + "-a", "--attribute", help="Attribute to be set", default="value") +@@ -181,19 +180,19 @@ class TestClient(Cmd): + + ap_getValue = argparse.ArgumentParser() + ap_getValue.add_argument( +- "Path", help="Path to be read", completer_method=path_completer) ++ "Path", help="Path to be read", completer=path_completer) + ap_getValue.add_argument( + "-a", "--attribute", help="Attribute to be get", default="value") + + ap_getValues = argparse.ArgumentParser() + ap_getValues.add_argument( +- "Path", help="Path whose value is to be read", nargs='+', completer_method=path_completer) ++ "Path", help="Path whose value is to be read", nargs='+', completer=path_completer) + ap_getValues.add_argument( + "-a", "--attribute", help="Attribute to be get", default="value") + + ap_setTargetValue = argparse.ArgumentParser() + ap_setTargetValue.add_argument( +- "Path", help="Path whose target value to be set", completer_method=path_completer) ++ "Path", help="Path whose target value to be set", completer=path_completer) + ap_setTargetValue.add_argument("Value", help="Value to be set") + + ap_setTargetValues = argparse.ArgumentParser() +@@ -206,35 +205,35 @@ class TestClient(Cmd): + + ap_getTargetValue = argparse.ArgumentParser() + ap_getTargetValue.add_argument( +- "Path", help="Path whose target value is to be read", completer_method=path_completer) ++ "Path", help="Path whose target value is to be read", completer=path_completer) + + ap_getTargetValues = argparse.ArgumentParser() + ap_getTargetValues.add_argument( +- "Path", help="Path whose target value is to be read", nargs='+', completer_method=path_completer) ++ "Path", help="Path whose target value is to be read", nargs='+', completer=path_completer) + + ap_subscribe = argparse.ArgumentParser() + ap_subscribe.add_argument( +- "Path", help="Path to subscribe to", completer_method=path_completer) ++ "Path", help="Path to subscribe to", completer=path_completer) + ap_subscribe.add_argument( + "-a", "--attribute", help="Attribute to subscribe to", default="value") + + ap_subscribeMultiple = argparse.ArgumentParser() + ap_subscribeMultiple.add_argument( +- "Path", help="Path to subscribe to", nargs='+', completer_method=path_completer) ++ "Path", help="Path to subscribe to", nargs='+', completer=path_completer) + ap_subscribeMultiple.add_argument( + "-a", "--attribute", help="Attribute to subscribe to", default="value") + + ap_unsubscribe = argparse.ArgumentParser() + ap_unsubscribe.add_argument( +- "SubscribeId", help="Corresponding subscription Id", completer_method=subscriptionIdCompleter, ++ "SubscribeId", help="Corresponding subscription Id", completer=subscriptionIdCompleter, + ) + + ap_getMetaData = argparse.ArgumentParser() + ap_getMetaData.add_argument( +- "Path", help="Path whose metadata is to be read", completer_method=path_completer) ++ "Path", help="Path whose metadata is to be read", completer=path_completer) + ap_updateMetaData = argparse.ArgumentParser() + ap_updateMetaData.add_argument( +- "Path", help="Path whose MetaData is to update", completer_method=path_completer) ++ "Path", help="Path whose MetaData is to update", completer=path_completer) + ap_updateMetaData.add_argument( + "Json", + help="MetaData to update. Note, only attributes can be update, if update children or the whole vss tree, use" +@@ -245,7 +244,7 @@ class TestClient(Cmd): + jsonfile_completer_method = functools.partial(Cmd.path_complete, + path_filter=lambda path: (os.path.isdir(path) or path.endswith(".json"))) + ap_updateVSSTree.add_argument( +- "Json", help="Json tree to update VSS", completer_method=jsonfile_completer_method) ++ "Json", help="Json tree to update VSS", completer=jsonfile_completer_method) + + # Constructor + def __init__(self, server_ip=None, server_port=None, server_protocol=None, insecure=False, token_or_tokenfile=None): +-- +2.39.2 + diff --git a/recipes-connectivity/kuksa-val/kuksa-client/0002-kuksa-client-Add-external-certificates-support.patch b/recipes-connectivity/kuksa-val/kuksa-client/0002-kuksa-client-Add-external-certificates-support.patch new file mode 100644 index 000000000..229dda46a --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-client/0002-kuksa-client-Add-external-certificates-support.patch @@ -0,0 +1,51 @@ +From 3c9f74492153817dc4fa405c1724fbf22ce58c98 Mon Sep 17 00:00:00 2001 +From: Scott Murray <scott.murray@konsulko.com> +Date: Tue, 2 May 2023 16:19:55 -0400 +Subject: [PATCH 1/2] kuksa_viss_client: Add external certificates support + +Tweak the definition of __certificate_dir__ in the kuksa_certificates +package, and certificate location logic in the client library to allow +picking up alternative certificates from /etc/kuksa-certificates or +/etc/kuksa-val before falling back to the shipped defaults. The +intent is to allow packagers to more straighhtforwardly use their own +certificates with both the server and clients. + +Upstream-Status: pending + +Signed-off-by: Scott Murray <scott.murray@konsulko.com> +--- + kuksa-client/kuksa_client/cli_backend/__init__.py | 2 +- + kuksa_certificates/__init__.py | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/kuksa-client/kuksa_client/cli_backend/__init__.py b/kuksa-client/kuksa_client/cli_backend/__init__.py +index d282a0c..3052859 100644 +--- a/kuksa-client/kuksa_client/cli_backend/__init__.py ++++ b/kuksa-client/kuksa_client/cli_backend/__init__.py +@@ -29,7 +29,7 @@ class Backend: + self.insecure = config.getboolean('insecure', False) + except AttributeError: + self.insecure = config.get('insecure', False) +- self.default_cert_path = pathlib.Path(kuksa_certificates.__path__[0]) ++ self.default_cert_path = pathlib.Path(kuksa_certificates.__certificate_dir__) + self.cacertificate = config.get( + 'cacertificate', str(self.default_cert_path / 'CA.pem')) + self.certificate = config.get('certificate', str( +diff --git a/kuksa_certificates/__init__.py b/kuksa_certificates/__init__.py +index 22ccd3f..8323868 100644 +--- a/kuksa_certificates/__init__.py ++++ b/kuksa_certificates/__init__.py +@@ -2,4 +2,9 @@ import os + + from kuksa_client._metadata import * + +-__certificate_dir__= os.path.dirname(os.path.realpath(__file__)) ++if os.path.isdir("/etc/kuksa-certificates"): ++ __certificate_dir__= "/etc/kuksa-certificates" ++elif os.path.isdir("/etc/kuksa-val"): ++ __certificate_dir__= "/etc/kuksa-val" ++else: ++ __certificate_dir__= os.path.dirname(os.path.realpath(__file__)) +-- +2.39.2 + |