summaryrefslogtreecommitdiffstats
path: root/recipes-sota
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-sota')
-rw-r--r--recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb72
-rw-r--r--recipes-sota/aktualizr/aktualizr-hsm-prov.bb9
-rw-r--r--recipes-sota/aktualizr/aktualizr-implicit-prov.bb6
-rw-r--r--recipes-sota/aktualizr/aktualizr_git.bb6
-rw-r--r--recipes-sota/aktualizr/files/ca.cnf10
-rw-r--r--recipes-sota/asn1c/asn1c.bb17
-rw-r--r--recipes-sota/asn1c/files/skeletons_dir_fix.patch44
-rw-r--r--recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service15
-rw-r--r--recipes-sota/rvi-sota-client/files/sota-client-ostree.service13
-rw-r--r--recipes-sota/rvi-sota-client/files/sota-client-uptane.service15
-rw-r--r--recipes-sota/rvi-sota-client/files/sota-installer.service12
-rw-r--r--recipes-sota/rvi-sota-client/rvi-sota-client.inc173
-rw-r--r--recipes-sota/rvi-sota-client/rvi-sota-client_git.bb59
-rw-r--r--recipes-sota/rvi-sota-client/sota-installer_git.bb25
-rw-r--r--recipes-sota/rvi-sota-client/sota-launcher_git.bb15
15 files changed, 155 insertions, 336 deletions
diff --git a/recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb b/recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb
new file mode 100644
index 0000000..51e313d
--- /dev/null
+++ b/recipes-sota/aktualizr/aktualizr-ca-implicit-prov.bb
@@ -0,0 +1,72 @@
1SUMMARY = "Aktualizr configuration for implicit provisioning with CA"
2DESCRIPTION = "Systemd service and configurations for implicitly provisioning Aktualizr using externally provided or generated CA"
3
4# WARNING: it is NOT a production solution. The secure way to provision devices is to create certificate request directly on the device
5# (either with HSM/TPM or with software) and then sign it with a CA stored on a disconnected machine
6
7HOMEPAGE = "https://github.com/advancedtelematic/aktualizr"
8SECTION = "base"
9LICENSE = "MPL-2.0"
10LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=9741c346eef56131163e13b9db1241b3"
11
12DEPENDS = "aktualizr-native openssl-native"
13RDEPENDS_${PN} = "aktualizr"
14
15SRC_URI = " \
16 file://LICENSE \
17 file://ca.cnf \
18 "
19PV = "1.0"
20PR = "1"
21
22require environment.inc
23require credentials.inc
24
25export SOTA_CACERT_PATH
26export SOTA_CAKEY_PATH
27
28do_install() {
29 install -d ${D}${libdir}/sota
30
31 if [ -z "${SOTA_PACKED_CREDENTIALS}" ]; then
32 bberror "SOTA_PACKED_CREDENTIALS are required for implicit provisioning"
33 fi
34
35 if [ -z ${SOTA_CACERT_PATH} ]; then
36 SOTA_CACERT_PATH=${DEPLOY_DIR_IMAGE}/CA/cacert.pem
37 SOTA_CAKEY_PATH=${DEPLOY_DIR_IMAGE}/CA/ca.private.pem
38 mkdir -p ${DEPLOY_DIR_IMAGE}/CA
39 bbwarn "SOTA_CACERT_PATH is not specified, use default one at $SOTA_CACERT_PATH"
40
41 if [ ! -f ${SOTA_CACERT_PATH} ]; then
42 bbwarn "${SOTA_CACERT_PATH} does not exist, generate a new CA"
43 SOTA_CACERT_DIR_PATH="$(dirname "$SOTA_CACERT_PATH")"
44 openssl genrsa -out ${SOTA_CACERT_DIR_PATH}/ca.private.pem 4096
45 openssl req -key ${SOTA_CACERT_DIR_PATH}/ca.private.pem -new -x509 -days 7300 -out ${SOTA_CACERT_PATH} -subj "/C=DE/ST=Berlin/O=Reis und Kichererbsen e.V/commonName=meta-updater" -batch -config ${WORKDIR}/ca.cnf -extensions cacert
46 bbwarn "${SOTA_CACERT_PATH} has been created, you'll need to upload it to the server"
47 fi
48 fi
49
50 if [ -z ${SOTA_CAKEY_PATH} ]; then
51 bberror "SOTA_CAKEY_PATH should be set when using implicit provisioning"
52 fi
53
54 install -d ${D}${libdir}/sota
55 install -d ${D}${localstatedir}/sota
56 install -m 0644 ${STAGING_DIR_NATIVE}${libdir}/sota/sota_implicit_prov_ca.toml ${D}${libdir}/sota/sota.toml
57 aktualizr_cert_provider --credentials ${SOTA_PACKED_CREDENTIALS} \
58 --device-ca ${SOTA_CACERT_PATH} \
59 --device-ca-key ${SOTA_CAKEY_PATH} \
60 --root-ca \
61 --server-url \
62 --local ${D}${localstatedir}/sota \
63 --config ${D}${libdir}/sota/sota.toml
64}
65
66FILES_${PN} = " \
67 ${localstatedir}/sota/* \
68 ${libdir}/sota/sota.toml \
69 ${libdir}/sota/root.crt \
70 "
71
72# vim:set ts=4 sw=4 sts=4 expandtab:
diff --git a/recipes-sota/aktualizr/aktualizr-hsm-prov.bb b/recipes-sota/aktualizr/aktualizr-hsm-prov.bb
index 944607c..5f8da3c 100644
--- a/recipes-sota/aktualizr/aktualizr-hsm-prov.bb
+++ b/recipes-sota/aktualizr/aktualizr-hsm-prov.bb
@@ -1,5 +1,5 @@
1SUMMARY = "Aktualizr configuration with HSM support" 1SUMMARY = "Aktualizr configuration with HSM support"
2DESCRIPTION = "Systemd service and configurations for Aktualizr, the SOTA Client application written in C++" 2DESCRIPTION = "Systemd service and configurations for HSM provisioning with 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"
@@ -14,14 +14,15 @@ SRC_URI = " \
14PV = "1.0" 14PV = "1.0"
15PR = "6" 15PR = "6"
16 16
17
18require environment.inc 17require environment.inc
19require credentials.inc 18require credentials.inc
20 19
21do_install() { 20do_install() {
22 install -d ${D}${libdir}/sota 21 install -d ${D}${libdir}/sota
23 aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \ 22 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then
24 -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_prov.toml -o ${D}${libdir}/sota/sota.toml -p ${D} 23 aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \
24 -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_prov.toml -o ${D}${libdir}/sota/sota.toml -p ${D}
25 fi
25} 26}
26 27
27FILES_${PN} = " \ 28FILES_${PN} = " \
diff --git a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb
index b5bf420..cf3d22c 100644
--- a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb
+++ b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb
@@ -4,15 +4,15 @@ HOMEPAGE = "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"
7
7DEPENDS = "aktualizr-native" 8DEPENDS = "aktualizr-native"
8RDEPENDS_${PN} = "aktualizr" 9RDEPENDS_${PN} = "aktualizr"
9PV = "1.0"
10PR = "1"
11 10
12SRC_URI = " \ 11SRC_URI = " \
13 file://LICENSE \ 12 file://LICENSE \
14 " 13 "
15 14PV = "1.0"
15PR = "1"
16 16
17require environment.inc 17require environment.inc
18require credentials.inc 18require credentials.inc
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb
index cba5f87..4c4e975 100644
--- a/recipes-sota/aktualizr/aktualizr_git.bb
+++ b/recipes-sota/aktualizr/aktualizr_git.bb
@@ -5,8 +5,8 @@ SECTION = "base"
5LICENSE = "MPL-2.0" 5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" 6LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=9741c346eef56131163e13b9db1241b3"
7 7
8DEPENDS = "boost curl openssl libarchive libsodium " 8DEPENDS = "boost curl openssl libarchive libsodium asn1c-native "
9DEPENDS_append_class-target = "jansson ostree ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)} " 9DEPENDS_append_class-target = "ostree ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' libp11', '', d)} "
10DEPENDS_append_class-native = "glib-2.0-native " 10DEPENDS_append_class-native = "glib-2.0-native "
11 11
12RDEPENDS_${PN}_class-target = "lshw " 12RDEPENDS_${PN}_class-target = "lshw "
@@ -50,6 +50,7 @@ do_install_append_class-target () {
50 aktualizr_service=${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'serialcan', '${WORKDIR}/aktualizr-serialcan.service', '${WORKDIR}/aktualizr.service', d)} 50 aktualizr_service=${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'serialcan', '${WORKDIR}/aktualizr-serialcan.service', '${WORKDIR}/aktualizr.service', d)}
51 install -m 0644 ${aktualizr_service} ${D}${systemd_unitdir}/system/aktualizr.service 51 install -m 0644 ${aktualizr_service} ${D}${systemd_unitdir}/system/aktualizr.service
52} 52}
53
53do_install_append_class-native () { 54do_install_append_class-native () {
54 rm -f ${D}${bindir}/aktualizr 55 rm -f ${D}${bindir}/aktualizr
55 rm -f ${D}${bindir}/aktualizr-info 56 rm -f ${D}${bindir}/aktualizr-info
@@ -58,6 +59,7 @@ do_install_append_class-native () {
58 install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml 59 install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml
59 install -m 0644 ${S}/config/sota_hsm_prov.toml ${D}/${libdir}/sota/sota_hsm_prov.toml 60 install -m 0644 ${S}/config/sota_hsm_prov.toml ${D}/${libdir}/sota/sota_hsm_prov.toml
60 install -m 0644 ${S}/config/sota_implicit_prov.toml ${D}/${libdir}/sota/sota_implicit_prov.toml 61 install -m 0644 ${S}/config/sota_implicit_prov.toml ${D}/${libdir}/sota/sota_implicit_prov.toml
62 install -m 0644 ${S}/config/sota_implicit_prov_ca.toml ${D}/${libdir}/sota/sota_implicit_prov_ca.toml
61 63
62 install -m 0755 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/bin/* ${D}${bindir} 64 install -m 0755 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/bin/* ${D}${bindir}
63 install -m 0644 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/lib/* ${D}${libdir} 65 install -m 0644 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/lib/* ${D}${libdir}
diff --git a/recipes-sota/aktualizr/files/ca.cnf b/recipes-sota/aktualizr/files/ca.cnf
new file mode 100644
index 0000000..352ec38
--- /dev/null
+++ b/recipes-sota/aktualizr/files/ca.cnf
@@ -0,0 +1,10 @@
1[req]
2req_extensions = cacert
3distinguished_name = req_distinguished_name
4
5[req_distinguished_name]
6
7[cacert]
8basicConstraints = critical,CA:true
9keyUsage = keyCertSign
10
diff --git a/recipes-sota/asn1c/asn1c.bb b/recipes-sota/asn1c/asn1c.bb
new file mode 100644
index 0000000..9d1517d
--- /dev/null
+++ b/recipes-sota/asn1c/asn1c.bb
@@ -0,0 +1,17 @@
1SUMMARY = "ASN.1 to C compiler"
2DESCRIPTION = "Generates serialization routines from ASN.1 schemas"
3HOMEPAGE = "http://lionet.info/asn1c"
4SECTION = "base"
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=ee8bfaaa7d71cf3edb079475e6716d4b"
7
8inherit autotools native
9
10PV = "0.9.28"
11SRC_URI = "https://github.com/vlm/asn1c/releases/download/v${PV}/asn1c-${PV}.tar.gz \
12 file://skeletons_dir_fix.patch"
13SRC_URI[sha256sum] = "8007440b647ef2dd9fb73d931c33ac11764e6afb2437dbe638bb4e5fc82386b9"
14
15BBCLASSEXTEND = "native nativesdk"
16
17# vim:set ts=4 sw=4 sts=4 expandtab:
diff --git a/recipes-sota/asn1c/files/skeletons_dir_fix.patch b/recipes-sota/asn1c/files/skeletons_dir_fix.patch
new file mode 100644
index 0000000..f1caa2f
--- /dev/null
+++ b/recipes-sota/asn1c/files/skeletons_dir_fix.patch
@@ -0,0 +1,44 @@
1From 1a1c2c94f700cf0f4dc5dba863950b16477fdc6d Mon Sep 17 00:00:00 2001
2From: Laurent Bonnans <laurent.bonnans@here.com>
3Date: Thu, 25 Jan 2018 09:49:41 +0100
4Subject: [PATCH] Patch the skeletons directory detection
5
6Detect `share/asn1c` from `bin/` if it exists
7---
8 asn1c/asn1c.c | 9 ++++-----
9 1 file changed, 4 insertions(+), 5 deletions(-)
10
11diff --git a/asn1c/asn1c.c b/asn1c/asn1c.c
12index eb1eff7c..dd9fc832 100644
13--- a/asn1c/asn1c.c
14+++ b/asn1c/asn1c.c
15@@ -226,22 +226,21 @@ main(int ac, char **av) {
16 if(skeletons_dir == NULL) {
17 struct stat sb;
18 skeletons_dir = DATADIR;
19- if((av[-optind][0] == '.' || av[-optind][1] == '/')
20- && stat(skeletons_dir, &sb)) {
21+ if(stat(skeletons_dir, &sb)) {
22 /*
23 * The default skeletons directory does not exist,
24 * compute it from my file name:
25- * ./asn1c/asn1c -> ./skeletons
26+ * ./asn1c/asn1c -> ./share/asn1c
27 */
28 char *p;
29 size_t len;
30
31 p = a1c_dirname(av[-optind]);
32
33- len = strlen(p) + sizeof("/../skeletons");
34+ len = strlen(p) + sizeof("/../share/asn1c");
35 skeletons_dir = malloc(len);
36 assert(skeletons_dir);
37- snprintf(skeletons_dir, len, "%s/../skeletons", p);
38+ snprintf(skeletons_dir, len, "%s/../share/asn1c", p);
39 if(stat(skeletons_dir, &sb)) {
40 fprintf(stderr,
41 "WARNING: skeletons are neither in "
42--
432.15.1
44
diff --git a/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service b/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service
deleted file mode 100644
index 11b1354..0000000
--- a/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service
+++ /dev/null
@@ -1,15 +0,0 @@
1[Unit]
2Description=SOTA Client Autoprovisioning
3Requires=network-online.target
4After=network-online.target
5
6[Service]
7Type=oneshot
8WorkingDirectory=/var/sota
9Environment=SOTA_CERT_DIR=/var/sota
10ExecStart=/usr/bin/sota_provision.sh sota_provisioning_credentials
11RemainAfterExit=true
12StandardOutput=journal
13
14[Install]
15WantedBy=multi-user.target
diff --git a/recipes-sota/rvi-sota-client/files/sota-client-ostree.service b/recipes-sota/rvi-sota-client/files/sota-client-ostree.service
deleted file mode 100644
index 093a994..0000000
--- a/recipes-sota/rvi-sota-client/files/sota-client-ostree.service
+++ /dev/null
@@ -1,13 +0,0 @@
1[Unit]
2Description=SOTA Client
3Requires=network-online.target
4After=network.target network-online.target
5
6[Service]
7RestartSec=5
8Restart=on-failure
9Environment="RUST_LOG=debug"
10ExecStart=/usr/bin/sota_client --config /sysroot/boot/sota.toml --device-package-manager ostree
11
12[Install]
13WantedBy=multi-user.target
diff --git a/recipes-sota/rvi-sota-client/files/sota-client-uptane.service b/recipes-sota/rvi-sota-client/files/sota-client-uptane.service
deleted file mode 100644
index a2d80ce..0000000
--- a/recipes-sota/rvi-sota-client/files/sota-client-uptane.service
+++ /dev/null
@@ -1,15 +0,0 @@
1[Unit]
2Description=SOTA Client
3Requires=network-online.target
4After=network.target network-online.target
5Requires=sota-client-autoprovision
6After=sota-client-autoprovision
7
8[Service]
9RestartSec=5
10Restart=on-failure
11Environment="RUST_LOG=debug"
12ExecStart=/usr/bin/sota_client --config /var/sota/sota.toml --device-package-manager uptane
13
14[Install]
15WantedBy=multi-user.target
diff --git a/recipes-sota/rvi-sota-client/files/sota-installer.service b/recipes-sota/rvi-sota-client/files/sota-installer.service
deleted file mode 100644
index a4fd99e..0000000
--- a/recipes-sota/rvi-sota-client/files/sota-installer.service
+++ /dev/null
@@ -1,12 +0,0 @@
1[Unit]
2Description=SOTA Secondary ECU Installer
3Requires=network-online.target
4After=network-online.target
5
6[Service]
7RestartSec=10
8Restart=always
9ExecStart=/usr/bin/sota-installer --level debug --oneshot --config /var/sota/installer.toml
10
11[Install]
12WantedBy=multi-user.target
diff --git a/recipes-sota/rvi-sota-client/rvi-sota-client.inc b/recipes-sota/rvi-sota-client/rvi-sota-client.inc
deleted file mode 100644
index 712b9b3..0000000
--- a/recipes-sota/rvi-sota-client/rvi-sota-client.inc
+++ /dev/null
@@ -1,173 +0,0 @@
1inherit cargo systemd
2
3DESCRIPTION = "rvi-sota-client recipe"
4HOMEPAGE = "https://github.com/advancedtelematic/rvi_sota_client"
5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=65d26fcc2f35ea6a181ac777e42db1ea"
7
8BBCLASSEXTEND = "native"
9
10S = "${WORKDIR}/git"
11
12SRC_URI[index.md5sum] = "6a635e8a081b4d4ba4cebffd721c2d7d"
13SRC_URI[index.sha256sum] = "1913c41d4b8de89a931b6f9e418f83e70a083e12e6c247e8510ee932571ebae2"
14
15# also update PV and SRC_URI crates when updating SRCREV
16SRCREV = "be8ec83af2051a2b2499ce8878242771c65f0f1c"
17
18PR = "1"
19
20# generate with: `make package-version`
21PV = "0.2.34-8-gbe8ec83"
22
23# generate with: `make yocto-version`
24SRC_URI = " \
25git://github.com/advancedtelematic/rvi_sota_client \
26file://sota-client-autoprovision.service \
27file://sota-client-ostree.service \
28file://sota-client-uptane.service \
29file://sota-installer.service \
30crate://crates.io/adler32/1.0.2 \
31crate://crates.io/advapi32-sys/0.2.0 \
32crate://crates.io/aho-corasick/0.6.3 \
33crate://crates.io/ansi_term/0.9.0 \
34crate://crates.io/antidote/1.0.0 \
35crate://crates.io/atty/0.2.3 \
36crate://crates.io/backtrace/0.3.3 \
37crate://crates.io/backtrace-sys/0.1.15 \
38crate://crates.io/base64/0.6.0 \
39crate://crates.io/bincode/0.9.0 \
40crate://crates.io/bit-set/0.4.0 \
41crate://crates.io/bit-vec/0.4.4 \
42crate://crates.io/bitflags/0.7.0 \
43crate://crates.io/bitflags/0.9.1 \
44crate://crates.io/block-buffer/0.2.0 \
45crate://crates.io/byte-tools/0.2.0 \
46crate://crates.io/byteorder/1.1.0 \
47crate://crates.io/bytes/0.4.5 \
48crate://crates.io/cc/1.0.1 \
49crate://crates.io/cfg-if/0.1.2 \
50crate://crates.io/chan/0.1.19 \
51crate://crates.io/chan-signal/0.3.1 \
52crate://crates.io/chrono/0.4.0 \
53crate://crates.io/clap/2.26.2 \
54crate://crates.io/coco/0.1.1 \
55crate://crates.io/constant_time_eq/0.1.3 \
56crate://crates.io/core-foundation/0.2.3 \
57crate://crates.io/core-foundation-sys/0.2.3 \
58crate://crates.io/crossbeam/0.3.0 \
59crate://crates.io/crypt32-sys/0.2.0 \
60crate://crates.io/crypto-mac/0.4.0 \
61crate://crates.io/dbghelp-sys/0.2.0 \
62crate://crates.io/dbus/0.5.4 \
63crate://crates.io/digest/0.6.2 \
64crate://crates.io/dtoa/0.4.2 \
65crate://crates.io/either/1.2.0 \
66crate://crates.io/env_logger/0.4.3 \
67crate://crates.io/error-chain/0.10.0 \
68crate://crates.io/fake-simd/0.1.2 \
69crate://crates.io/filetime/0.1.14 \
70crate://crates.io/foreign-types/0.2.0 \
71crate://crates.io/fuchsia-zircon/0.2.1 \
72crate://crates.io/fuchsia-zircon-sys/0.2.0 \
73crate://crates.io/futures/0.1.16 \
74crate://crates.io/gcc/0.3.54 \
75crate://crates.io/generic-array/0.8.3 \
76crate://crates.io/getopts/0.2.15 \
77crate://crates.io/hex/0.2.0 \
78crate://crates.io/hmac/0.4.2 \
79crate://crates.io/httparse/1.2.3 \
80crate://crates.io/hyper/0.10.13 \
81crate://crates.io/hyper-native-tls/0.2.4 \
82crate://crates.io/idna/0.1.4 \
83crate://crates.io/iovec/0.1.1 \
84crate://crates.io/itoa/0.3.4 \
85crate://crates.io/kernel32-sys/0.2.2 \
86crate://crates.io/language-tags/0.2.2 \
87crate://crates.io/lazy_static/0.2.9 \
88crate://crates.io/libc/0.2.32 \
89crate://crates.io/libdbus-sys/0.1.1 \
90crate://crates.io/libflate/0.1.11 \
91crate://crates.io/log/0.3.8 \
92crate://crates.io/maplit/0.1.5 \
93crate://crates.io/matches/0.1.6 \
94crate://crates.io/memchr/1.0.1 \
95crate://crates.io/metadeps/1.1.2 \
96crate://crates.io/mime/0.2.6 \
97crate://crates.io/native-tls/0.1.4 \
98crate://crates.io/net2/0.2.31 \
99crate://crates.io/nodrop/0.1.9 \
100crate://crates.io/num/0.1.40 \
101crate://crates.io/num-integer/0.1.35 \
102crate://crates.io/num-iter/0.1.34 \
103crate://crates.io/num-traits/0.1.40 \
104crate://crates.io/num_cpus/1.7.0 \
105crate://crates.io/odds/0.2.25 \
106crate://crates.io/openssl/0.9.19 \
107crate://crates.io/openssl-sys/0.9.19 \
108crate://crates.io/pem/0.4.1 \
109crate://crates.io/percent-encoding/1.0.0 \
110crate://crates.io/pkg-config/0.3.9 \
111crate://crates.io/quote/0.3.15 \
112crate://crates.io/rand/0.3.17 \
113crate://crates.io/rayon/0.8.2 \
114crate://crates.io/rayon-core/1.2.1 \
115crate://crates.io/redox_syscall/0.1.31 \
116crate://crates.io/redox_termios/0.1.1 \
117crate://crates.io/regex/0.2.2 \
118crate://crates.io/regex-syntax/0.4.1 \
119crate://crates.io/reqwest/0.6.2 \
120crate://crates.io/ring/0.12.1 \
121crate://crates.io/rust-crypto/0.2.36 \
122crate://crates.io/rustc-demangle/0.1.5 \
123crate://crates.io/rustc-serialize/0.3.24 \
124crate://crates.io/safemem/0.2.0 \
125crate://crates.io/schannel/0.1.8 \
126crate://crates.io/scopeguard/0.3.2 \
127crate://crates.io/secur32-sys/0.2.0 \
128crate://crates.io/security-framework/0.1.16 \
129crate://crates.io/security-framework-sys/0.1.16 \
130crate://crates.io/serde/1.0.15 \
131crate://crates.io/serde_derive/1.0.15 \
132crate://crates.io/serde_derive_internals/0.16.0 \
133crate://crates.io/serde_json/1.0.3 \
134crate://crates.io/serde_urlencoded/0.5.1 \
135crate://crates.io/sha1/0.2.0 \
136crate://crates.io/sha2/0.6.0 \
137crate://crates.io/strsim/0.6.0 \
138crate://crates.io/syn/0.11.11 \
139crate://crates.io/synom/0.11.3 \
140crate://crates.io/tar/0.4.13 \
141crate://crates.io/tempdir/0.3.5 \
142crate://crates.io/term_size/0.3.0 \
143crate://crates.io/termion/1.5.1 \
144crate://crates.io/textwrap/0.8.0 \
145crate://crates.io/thread_local/0.3.4 \
146crate://crates.io/time/0.1.38 \
147crate://crates.io/toml/0.2.1 \
148crate://crates.io/toml/0.4.5 \
149crate://crates.io/traitobject/0.1.0 \
150crate://crates.io/tungstenite/0.5.0 \
151crate://crates.io/typeable/0.1.2 \
152crate://crates.io/typenum/1.9.0 \
153crate://crates.io/unicase/1.4.2 \
154crate://crates.io/unicode-bidi/0.3.4 \
155crate://crates.io/unicode-normalization/0.1.5 \
156crate://crates.io/unicode-width/0.1.4 \
157crate://crates.io/unicode-xid/0.0.4 \
158crate://crates.io/unix_socket/0.5.0 \
159crate://crates.io/unreachable/1.0.0 \
160crate://crates.io/untrusted/0.5.1 \
161crate://crates.io/url/1.5.1 \
162crate://crates.io/utf-8/0.7.1 \
163crate://crates.io/utf8-ranges/1.0.0 \
164crate://crates.io/uuid/0.5.1 \
165crate://crates.io/vcpkg/0.2.2 \
166crate://crates.io/vec_map/0.8.0 \
167crate://crates.io/version_check/0.1.3 \
168crate://crates.io/void/1.0.2 \
169crate://crates.io/winapi/0.2.8 \
170crate://crates.io/winapi-build/0.1.1 \
171crate://crates.io/ws2_32-sys/0.2.1 \
172crate://crates.io/xattr/0.1.11 \
173"
diff --git a/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb b/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
deleted file mode 100644
index e286598..0000000
--- a/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
+++ /dev/null
@@ -1,59 +0,0 @@
1require rvi-sota-client.inc
2
3
4SYSTEMD_SERVICE_${PN} = "sota-client.service sota-client-autoprovision.service"
5
6FILES_${PN} = " \
7/lib64 \
8${bindir}/sota_client \
9${bindir}/sota_sysinfo.sh \
10${bindir}/sota_provision.sh \
11${sysconfdir}/sota_client.version \
12${sysconfdir}/sota_certificates \
13${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-client.service', '', d)} \
14${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-client-autoprovision.service', '', d)} \
15"
16
17DEPENDS += " openssl openssl-native dbus "
18RDEPENDS_${PN} = " \
19bash \
20curl \
21libcrypto \
22libssl \
23lshw \
24jq \
25python-petname \
26sota-launcher \
27zip \
28"
29
30export SOTA_PACKED_CREDENTIALS
31
32do_compile_prepend() {
33 export SOTA_VERSION=$(make sota-version)
34 cd sota-client
35}
36
37do_install() {
38 ln -fs /lib ${D}/lib64
39
40 install -d ${D}${bindir}
41 install -d ${D}${sysconfdir}
42
43 echo `git log -1 --pretty=format:%H` > ${D}${sysconfdir}/sota_client.version
44 install -c ${S}/sota-client/docker/sota_certificates ${D}${sysconfdir}
45
46 install -m 0755 target/${TARGET_SYS}/release/sota_client ${D}${bindir}
47 install -m 0755 ${S}/sota-client/docker/sota_provision.sh ${D}${bindir}
48 install -m 0755 ${S}/sota-client/docker/sota_sysinfo.sh ${D}${bindir}
49
50 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
51 install -d ${D}/${systemd_unitdir}/system
52 if [ -n "$SOTA_PACKED_CREDENTIALS" ]; then
53 install -m 0644 ${WORKDIR}/sota-client-uptane.service ${D}/${systemd_unitdir}/system/sota-client.service
54 else
55 install -m 0644 ${WORKDIR}/sota-client-ostree.service ${D}/${systemd_unitdir}/system/sota-client.service
56 fi
57 install -m 0644 ${WORKDIR}/sota-client-autoprovision.service ${D}/${systemd_unitdir}/system/sota-client-autoprovision.service
58 fi
59}
diff --git a/recipes-sota/rvi-sota-client/sota-installer_git.bb b/recipes-sota/rvi-sota-client/sota-installer_git.bb
deleted file mode 100644
index 09f6e5d..0000000
--- a/recipes-sota/rvi-sota-client/sota-installer_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
1require rvi-sota-client.inc
2
3
4SYSTEMD_SERVICE_${PN} = "sota-installer.service"
5
6DEPENDS += " rvi-sota-client "
7
8FILES_${PN} = " \
9${bindir}/sota-installer \
10${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-installer.service', '', d)} \
11"
12
13do_compile_prepend() {
14 cd sota-installer
15}
16
17do_install() {
18 install -d ${D}${bindir}
19 install -m 0755 target/${TARGET_SYS}/release/sota-installer ${D}${bindir}
20
21 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
22 install -d ${D}/${systemd_unitdir}/system
23 install -m 0644 ${WORKDIR}/sota-installer.service ${D}/${systemd_unitdir}/system/sota-installer.service
24 fi
25}
diff --git a/recipes-sota/rvi-sota-client/sota-launcher_git.bb b/recipes-sota/rvi-sota-client/sota-launcher_git.bb
deleted file mode 100644
index e9874e7..0000000
--- a/recipes-sota/rvi-sota-client/sota-launcher_git.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1require rvi-sota-client.inc
2
3
4DEPENDS += " rvi-sota-client "
5FILES_${PN} = "${bindir}/sota-launcher"
6
7
8do_compile_prepend() {
9 cd sota-launcher
10}
11
12do_install() {
13 install -d ${D}${bindir}
14 install -m 0755 target/${TARGET_SYS}/release/sota-launcher ${D}${bindir}
15}