diff options
author | Patrick Vacek <patrickvacek@gmail.com> | 2018-06-12 09:57:37 +0200 |
---|---|---|
committer | Patrick Vacek <patrickvacek@gmail.com> | 2018-06-12 10:23:29 +0200 |
commit | 8cf40b82f9e7eb6850290700f9f011d77f3a99c8 (patch) | |
tree | a4ff86029b9da89abc26908b554e41829533b6c9 | |
parent | 9e9daab4cecdc69ee0d0020d130811f1608549d0 (diff) | |
download | meta-updater-8cf40b82f9e7eb6850290700f9f011d77f3a99c8.tar.gz |
aktualizr-*-prov: read config files from STAGING_DIR_HOST.
STAGING_DIR_NATIVE does not get populated as I had previously believed.
Native recipes do not get packaged, so although we want to use a native
executable, we need to get the config files from the
aktualizr-host-tools package built by the aktualizr (target) recipe.
Thanks to Andre McCurdy and Khem Raj for insight on how to get this
right.
-rw-r--r-- | lib/oeqa/selftest/cases/updater.py | 12 | ||||
-rw-r--r-- | recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb | 7 | ||||
-rw-r--r-- | recipes-sota/aktualizr/aktualizr-hsm-prov.bb | 7 | ||||
-rw-r--r-- | recipes-sota/aktualizr/aktualizr-implicit-prov.bb | 7 |
4 files changed, 15 insertions, 18 deletions
diff --git a/lib/oeqa/selftest/cases/updater.py b/lib/oeqa/selftest/cases/updater.py index 0253a84..83a45fb 100644 --- a/lib/oeqa/selftest/cases/updater.py +++ b/lib/oeqa/selftest/cases/updater.py | |||
@@ -115,8 +115,8 @@ class AktualizrToolsTests(OESelftestTestCase): | |||
115 | bb_vars = get_bb_vars(['SOTA_PACKED_CREDENTIALS', 'T'], 'aktualizr-native') | 115 | bb_vars = get_bb_vars(['SOTA_PACKED_CREDENTIALS', 'T'], 'aktualizr-native') |
116 | creds = bb_vars['SOTA_PACKED_CREDENTIALS'] | 116 | creds = bb_vars['SOTA_PACKED_CREDENTIALS'] |
117 | temp_dir = bb_vars['T'] | 117 | temp_dir = bb_vars['T'] |
118 | bb_vars_prov = get_bb_vars(['STAGING_DIR_NATIVE', 'libdir'], 'aktualizr-implicit-prov') | 118 | bb_vars_prov = get_bb_vars(['STAGING_DIR_HOST', 'libdir'], 'aktualizr-implicit-prov') |
119 | config = bb_vars_prov['STAGING_DIR_NATIVE'] + bb_vars_prov['libdir'] + '/sota/sota_implicit_prov.toml' | 119 | config = bb_vars_prov['STAGING_DIR_HOST'] + bb_vars_prov['libdir'] + '/sota/sota_implicit_prov.toml' |
120 | 120 | ||
121 | akt_native_run(self, 'aktualizr_cert_provider -c {creds} -r -l {temp} -g {config}' | 121 | akt_native_run(self, 'aktualizr_cert_provider -c {creds} -r -l {temp} -g {config}' |
122 | .format(creds=creds, temp=temp_dir, config=config)) | 122 | .format(creds=creds, temp=temp_dir, config=config)) |
@@ -392,8 +392,8 @@ class ImplProvTests(OESelftestTestCase): | |||
392 | # Run cert_provider. | 392 | # Run cert_provider. |
393 | bb_vars = get_bb_vars(['SOTA_PACKED_CREDENTIALS'], 'aktualizr-native') | 393 | bb_vars = get_bb_vars(['SOTA_PACKED_CREDENTIALS'], 'aktualizr-native') |
394 | creds = bb_vars['SOTA_PACKED_CREDENTIALS'] | 394 | creds = bb_vars['SOTA_PACKED_CREDENTIALS'] |
395 | bb_vars_prov = get_bb_vars(['STAGING_DIR_NATIVE', 'libdir'], 'aktualizr-implicit-prov') | 395 | bb_vars_prov = get_bb_vars(['STAGING_DIR_HOST', 'libdir'], 'aktualizr-implicit-prov') |
396 | config = bb_vars_prov['STAGING_DIR_NATIVE'] + bb_vars_prov['libdir'] + '/sota/sota_implicit_prov.toml' | 396 | config = bb_vars_prov['STAGING_DIR_HOST'] + bb_vars_prov['libdir'] + '/sota/sota_implicit_prov.toml' |
397 | 397 | ||
398 | akt_native_run(self, 'aktualizr_cert_provider -c {creds} -t root@localhost -p {port} -s -g {config}' | 398 | akt_native_run(self, 'aktualizr_cert_provider -c {creds} -t root@localhost -p {port} -s -g {config}' |
399 | .format(creds=creds, port=self.qemu.ssh_port, config=config)) | 399 | .format(creds=creds, port=self.qemu.ssh_port, config=config)) |
@@ -473,8 +473,8 @@ class HsmTests(OESelftestTestCase): | |||
473 | # Run cert_provider. | 473 | # Run cert_provider. |
474 | bb_vars = get_bb_vars(['SOTA_PACKED_CREDENTIALS'], 'aktualizr-native') | 474 | bb_vars = get_bb_vars(['SOTA_PACKED_CREDENTIALS'], 'aktualizr-native') |
475 | creds = bb_vars['SOTA_PACKED_CREDENTIALS'] | 475 | creds = bb_vars['SOTA_PACKED_CREDENTIALS'] |
476 | bb_vars_prov = get_bb_vars(['STAGING_DIR_NATIVE', 'libdir'], 'aktualizr-hsm-prov') | 476 | bb_vars_prov = get_bb_vars(['STAGING_DIR_HOST', 'libdir'], 'aktualizr-hsm-prov') |
477 | config = bb_vars_prov['STAGING_DIR_NATIVE'] + bb_vars_prov['libdir'] + '/sota/sota_hsm_prov.toml' | 477 | config = bb_vars_prov['STAGING_DIR_HOST'] + bb_vars_prov['libdir'] + '/sota/sota_hsm_prov.toml' |
478 | 478 | ||
479 | akt_native_run(self, 'aktualizr_cert_provider -c {creds} -t root@localhost -p {port} -r -s -g {config}' | 479 | akt_native_run(self, 'aktualizr_cert_provider -c {creds} -t root@localhost -p {port} -r -s -g {config}' |
480 | .format(creds=creds, port=self.qemu.ssh_port, config=config)) | 480 | .format(creds=creds, port=self.qemu.ssh_port, config=config)) |
diff --git a/recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb b/recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb index 4d5ff79..e00d41a 100644 --- a/recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb +++ b/recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb | |||
@@ -9,8 +9,7 @@ SECTION = "base" | |||
9 | LICENSE = "MPL-2.0" | 9 | LICENSE = "MPL-2.0" |
10 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" | 10 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" |
11 | 11 | ||
12 | DEPENDS = "aktualizr-native openssl-native" | 12 | DEPENDS = "aktualizr aktualizr-native openssl-native" |
13 | RDEPENDS_${PN} = "aktualizr" | ||
14 | 13 | ||
15 | SRC_URI = " \ | 14 | SRC_URI = " \ |
16 | file://LICENSE \ | 15 | file://LICENSE \ |
@@ -52,7 +51,7 @@ do_install() { | |||
52 | fi | 51 | fi |
53 | 52 | ||
54 | install -m 0700 -d ${D}${localstatedir}/sota | 53 | install -m 0700 -d ${D}${localstatedir}/sota |
55 | install -m 0644 ${STAGING_DIR_NATIVE}${libdir}/sota/sota_implicit_prov_ca.toml \ | 54 | install -m 0644 ${STAGING_DIR_HOST}${libdir}/sota/sota_implicit_prov_ca.toml \ |
56 | ${D}${libdir}/sota/conf.d/20-sota_implicit_prov_ca.toml | 55 | ${D}${libdir}/sota/conf.d/20-sota_implicit_prov_ca.toml |
57 | aktualizr_cert_provider --credentials ${SOTA_PACKED_CREDENTIALS} \ | 56 | aktualizr_cert_provider --credentials ${SOTA_PACKED_CREDENTIALS} \ |
58 | --device-ca ${SOTA_CACERT_PATH} \ | 57 | --device-ca ${SOTA_CACERT_PATH} \ |
@@ -60,7 +59,7 @@ do_install() { | |||
60 | --root-ca \ | 59 | --root-ca \ |
61 | --server-url \ | 60 | --server-url \ |
62 | --local ${D}${localstatedir}/sota \ | 61 | --local ${D}${localstatedir}/sota \ |
63 | --config ${STAGING_DIR_NATIVE}${libdir}/sota/sota_implicit_prov_ca.toml | 62 | --config ${STAGING_DIR_HOST}${libdir}/sota/sota_implicit_prov_ca.toml |
64 | } | 63 | } |
65 | 64 | ||
66 | FILES_${PN} = " \ | 65 | FILES_${PN} = " \ |
diff --git a/recipes-sota/aktualizr/aktualizr-hsm-prov.bb b/recipes-sota/aktualizr/aktualizr-hsm-prov.bb index d526cd2..98bed94 100644 --- a/recipes-sota/aktualizr/aktualizr-hsm-prov.bb +++ b/recipes-sota/aktualizr/aktualizr-hsm-prov.bb | |||
@@ -5,8 +5,7 @@ SECTION = "base" | |||
5 | LICENSE = "MPL-2.0" | 5 | LICENSE = "MPL-2.0" |
6 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" | 6 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" |
7 | 7 | ||
8 | DEPENDS = "aktualizr-native" | 8 | DEPENDS = "aktualizr aktualizr-native" |
9 | RDEPENDS_${PN} = "aktualizr" | ||
10 | 9 | ||
11 | SRC_URI = " \ | 10 | SRC_URI = " \ |
12 | file://LICENSE \ | 11 | file://LICENSE \ |
@@ -19,11 +18,11 @@ require credentials.inc | |||
19 | 18 | ||
20 | do_install() { | 19 | do_install() { |
21 | install -m 0700 -d ${D}${libdir}/sota/conf.d | 20 | install -m 0700 -d ${D}${libdir}/sota/conf.d |
22 | install -m 0644 ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_prov.toml \ | 21 | install -m 0644 ${STAGING_DIR_HOST}${libdir}/sota/sota_hsm_prov.toml \ |
23 | ${D}${libdir}/sota/conf.d/20-sota_hsm_prov.toml | 22 | ${D}${libdir}/sota/conf.d/20-sota_hsm_prov.toml |
24 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then | 23 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then |
25 | aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \ | 24 | aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \ |
26 | -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_prov.toml \ | 25 | -i ${STAGING_DIR_HOST}${libdir}/sota/sota_hsm_prov.toml \ |
27 | -o ${D}${libdir}/sota/conf.d/30-implicit_server.toml -p ${D} | 26 | -o ${D}${libdir}/sota/conf.d/30-implicit_server.toml -p ${D} |
28 | fi | 27 | fi |
29 | } | 28 | } |
diff --git a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb index e08eeef..85212de 100644 --- a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb +++ b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb | |||
@@ -5,8 +5,7 @@ SECTION = "base" | |||
5 | LICENSE = "MPL-2.0" | 5 | LICENSE = "MPL-2.0" |
6 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" | 6 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" |
7 | 7 | ||
8 | DEPENDS = "aktualizr-native" | 8 | DEPENDS = "aktualizr aktualizr-native" |
9 | RDEPENDS_${PN} = "aktualizr" | ||
10 | 9 | ||
11 | SRC_URI = " \ | 10 | SRC_URI = " \ |
12 | file://LICENSE \ | 11 | file://LICENSE \ |
@@ -19,11 +18,11 @@ require credentials.inc | |||
19 | 18 | ||
20 | do_install() { | 19 | do_install() { |
21 | install -m 0700 -d ${D}${libdir}/sota/conf.d | 20 | install -m 0700 -d ${D}${libdir}/sota/conf.d |
22 | install -m 0644 ${STAGING_DIR_NATIVE}${libdir}/sota/sota_implicit_prov.toml \ | 21 | install -m 0644 ${STAGING_DIR_HOST}${libdir}/sota/sota_implicit_prov.toml \ |
23 | ${D}${libdir}/sota/conf.d/20-sota_implicit_prov.toml | 22 | ${D}${libdir}/sota/conf.d/20-sota_implicit_prov.toml |
24 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then | 23 | if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then |
25 | aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} \ | 24 | aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} \ |
26 | -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_implicit_prov.toml \ | 25 | -i ${STAGING_DIR_HOST}${libdir}/sota/sota_implicit_prov.toml \ |
27 | -o ${D}${libdir}/sota/conf.d/30-implicit_server.toml -p ${D} | 26 | -o ${D}${libdir}/sota/conf.d/30-implicit_server.toml -p ${D} |
28 | fi | 27 | fi |
29 | } | 28 | } |