summaryrefslogtreecommitdiffstats
path: root/recipes-sota
diff options
context:
space:
mode:
authorPatrick Vacek <patrickvacek@gmail.com>2017-09-28 14:24:19 +0200
committerPatrick Vacek <patrickvacek@gmail.com>2017-09-29 16:33:46 +0200
commit0ab7fe36dacebd2ab9e79d57987af2205a5f9a09 (patch)
tree035cd9c49dfeeef86d7e2529c40d5537cad56774 /recipes-sota
parente8916f0d63177548c088f183309f724cda0ca795 (diff)
downloadmeta-updater-0ab7fe36dacebd2ab9e79d57987af2205a5f9a09.tar.gz
Create recipe for implicit provisioning file shuffling.
Split aktualizr into basic and native recipes by moving most of the work to an include file. Use aktualizr-implicit-writer (on host) to do the actual work of configuring sota.toml and installing files. Still not quite fully functional.
Diffstat (limited to 'recipes-sota')
-rw-r--r--recipes-sota/aktualizr/aktualizr-auto-prov.bb6
-rw-r--r--recipes-sota/aktualizr/aktualizr-implicit-prov.bb36
-rw-r--r--recipes-sota/aktualizr/aktualizr-native_git.bb16
-rw-r--r--recipes-sota/aktualizr/aktualizr_common.inc19
-rw-r--r--recipes-sota/aktualizr/aktualizr_git.bb29
-rw-r--r--recipes-sota/aktualizr/files/sota_implicit_prov.toml11
6 files changed, 94 insertions, 23 deletions
diff --git a/recipes-sota/aktualizr/aktualizr-auto-prov.bb b/recipes-sota/aktualizr/aktualizr-auto-prov.bb
index 054b5cd..b30e884 100644
--- a/recipes-sota/aktualizr/aktualizr-auto-prov.bb
+++ b/recipes-sota/aktualizr/aktualizr-auto-prov.bb
@@ -1,10 +1,12 @@
1SUMMARY = "Aktualizr systemd service and configurations" 1SUMMARY = "Aktualizr systemd service and configurations"
2DESCRIPTION = "Systemd service and configurations for Aktualizr, the SOTA Client application written in C++" 2DESCRIPTION = "Systemd service and configurations for autoprovisioning Aktualizr, the SOTA Client application written in C++"
3HOMEPAGE = "https://github.com/advancedtelematic/aktualizr" 3HOMEPAGE = "https://github.com/advancedtelematic/aktualizr"
4SECTION = "base" 4SECTION = "base"
5LICENSE = "MPL-2.0" 5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" 6LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3"
7RDEPENDS_${PN} = "aktualizr" 7RDEPENDS_${PN} = "aktualizr"
8PV = "1.0"
9PR = "6"
8 10
9SRC_URI = " \ 11SRC_URI = " \
10 file://LICENSE \ 12 file://LICENSE \
@@ -12,8 +14,6 @@ SRC_URI = " \
12 file://aktualizr-autoprovision.service \ 14 file://aktualizr-autoprovision.service \
13 file://sota_autoprov.toml \ 15 file://sota_autoprov.toml \
14 " 16 "
15PV = "1.0"
16PR = "6"
17 17
18SYSTEMD_SERVICE_${PN} = "aktualizr.service" 18SYSTEMD_SERVICE_${PN} = "aktualizr.service"
19 19
diff --git a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb
new file mode 100644
index 0000000..edec409
--- /dev/null
+++ b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb
@@ -0,0 +1,36 @@
1SUMMARY = "Aktualizr systemd service and configurations"
2DESCRIPTION = "Systemd service and configurations for implicitly provisioning Aktualizr, the SOTA Client application written in C++"
3HOMEPAGE = "https://github.com/advancedtelematic/aktualizr"
4SECTION = "base"
5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3"
7DEPENDS = "aktualizr-native"
8RDEPENDS_${PN} = "aktualizr"
9PV = "1.0"
10PR = "1"
11
12SRC_URI = " \
13 file://LICENSE \
14 file://aktualizr-autoprovision.service \
15 file://sota_implicit_prov.toml \
16 "
17
18SYSTEMD_SERVICE_${PN} = "aktualizr.service"
19
20inherit systemd
21
22export SOTA_PACKED_CREDENTIALS
23
24do_install() {
25 install -d ${D}/${systemd_unitdir}/system
26 install -m 0644 ${WORKDIR}/aktualizr-autoprovision.service ${D}/${systemd_unitdir}/system/aktualizr.service
27 install -d ${D}/usr/lib/sota
28 aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} \
29 -i ${WORKDIR}/sota_implicit_prov.toml -o ${D}/usr/lib/sota/sota.toml -p ${D}
30}
31
32FILES_${PN} = " \
33 ${systemd_unitdir}/system/aktualizr.service \
34 /usr/lib/sota/sota.toml \
35 /var/sota/root.crt \
36 "
diff --git a/recipes-sota/aktualizr/aktualizr-native_git.bb b/recipes-sota/aktualizr/aktualizr-native_git.bb
new file mode 100644
index 0000000..59479fd
--- /dev/null
+++ b/recipes-sota/aktualizr/aktualizr-native_git.bb
@@ -0,0 +1,16 @@
1require aktualizr_common.inc
2
3DEPENDS = "boost-native openssl-native libarchive-native libsodium-native"
4
5inherit native
6
7EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_OSTREE=OFF -DAKTUALIZR_VERSION=${PV}"
8
9do_install_append () {
10 rm ${D}${bindir}/aktualizr
11 rm ${D}${bindir}/aktualizr_cert_provider
12}
13
14FILES_${PN} = " \
15 ${bindir}/aktualizr_implicit_writer \
16 "
diff --git a/recipes-sota/aktualizr/aktualizr_common.inc b/recipes-sota/aktualizr/aktualizr_common.inc
new file mode 100644
index 0000000..61854ea
--- /dev/null
+++ b/recipes-sota/aktualizr/aktualizr_common.inc
@@ -0,0 +1,19 @@
1SUMMARY = "Aktualizr SOTA Client"
2DESCRIPTION = "SOTA Client application written in C++"
3HOMEPAGE = "https://github.com/advancedtelematic/aktualizr"
4SECTION = "base"
5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=9741c346eef56131163e13b9db1241b3"
7
8PV = "1.0+git${SRCPV}"
9PR = "7"
10
11SRC_URI = " \
12 git://github.com/advancedtelematic/aktualizr;branch=${BRANCH} \
13 "
14SRCREV = "1004efa3f86cef90c012b34620992b5762b741e3"
15BRANCH ?= "master"
16
17S = "${WORKDIR}/git"
18
19inherit cmake
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb
index 2d0dadc..4f6a175 100644
--- a/recipes-sota/aktualizr/aktualizr_git.bb
+++ b/recipes-sota/aktualizr/aktualizr_git.bb
@@ -1,32 +1,21 @@
1SUMMARY = "Aktualizr SOTA Client" 1require aktualizr_common.inc
2DESCRIPTION = "SOTA Client application written in C++" 2
3HOMEPAGE = "https://github.com/advancedtelematic/aktualizr" 3DEPENDS = "boost curl jansson openssl libarchive libsodium ostree"
4SECTION = "base"
5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=9741c346eef56131163e13b9db1241b3"
7DEPENDS = "boost curl openssl jansson libsodium ostree"
8RDEPENDS_${PN} = "lshw" 4RDEPENDS_${PN} = "lshw"
9 5
10DEPENDS_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)}" 6DEPENDS_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)}"
11
12RDEPENDS_${PN}_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' engine-pkcs11', '', d)}" 7RDEPENDS_${PN}_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' engine-pkcs11', '', d)}"
13RDEPENDS_${PN}_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm-test', ' softhsm softhsm-testtoken', '', d)}" 8RDEPENDS_${PN}_append = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm-test', ' softhsm softhsm-testtoken', '', d)}"
14 9
15SRC_URI = " \ 10inherit systemd
16 git://github.com/advancedtelematic/aktualizr;branch=${BRANCH} \
17 "
18SRCREV = "1004efa3f86cef90c012b34620992b5762b741e3"
19BRANCH ?= "master"
20
21PV = "1.0+git${SRCPV}"
22PR = "7"
23
24S = "${WORKDIR}/git"
25
26inherit cmake systemd
27 11
28EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_OSTREE=ON -DAKTUALIZR_VERSION=${PV}" 12EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_OSTREE=ON -DAKTUALIZR_VERSION=${PV}"
29 13
14do_install_append () {
15 rm ${D}${bindir}/aktualizr_cert_provider
16 rm ${D}${bindir}/aktualizr_implicit_writer
17}
18
30FILES_${PN} = " \ 19FILES_${PN} = " \
31 ${bindir}/aktualizr \ 20 ${bindir}/aktualizr \
32 " 21 "
diff --git a/recipes-sota/aktualizr/files/sota_implicit_prov.toml b/recipes-sota/aktualizr/files/sota_implicit_prov.toml
new file mode 100644
index 0000000..31e2946
--- /dev/null
+++ b/recipes-sota/aktualizr/files/sota_implicit_prov.toml
@@ -0,0 +1,11 @@
1[tls]
2certificates_directory = "/var/sota/"
3ca_file = "root.crt"
4client_certificate = "client.pem"
5pkey_file = "pkey.pem"
6
7[uptane]
8metadata_path = "/var/sota/metadata"
9private_key_path = "ecukey.der"
10public_key_path = "ecukey.pub"
11