summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcajun-rat <p@beta16.co.uk>2017-07-10 20:27:33 +0200
committerGitHub <noreply@github.com>2017-07-10 20:27:33 +0200
commit6f7f86bf7d71d31bfc5407d2a97eeab3ec18dc36 (patch)
treefbb795f76ccae5a16e5ca667630663f72dc23339
parentb56329a3745c93060888492db8e5762ba2628783 (diff)
parenta89a2a7d2ec5568f11e887ad69d80b23f4b98516 (diff)
downloadmeta-updater-6f7f86bf7d71d31bfc5407d2a97eeab3ec18dc36.tar.gz
Merge pull request #97 from advancedtelematic/refactor/PRO-3413/update-client
Update rvi_sota_client to latest commit
-rw-r--r--recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service16
-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/rvi-sota-client_git.bb175
4 files changed, 143 insertions, 76 deletions
diff --git a/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service b/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service
new file mode 100644
index 0000000..0431455
--- /dev/null
+++ b/recipes-sota/rvi-sota-client/files/sota-client-autoprovision.service
@@ -0,0 +1,16 @@
1[Unit]
2Description=SOTA Client Autoprovisioning
3Requires=network-online.target
4After=network-online.target
5
6[Service]
7Type=oneshot
8WorkingDirectory=/var/sota
9EnvironmentFile=/var/sota/sota_provisioning_url.env
10Environment=SOTA_CERT_DIR=/var/sota
11ExecStart=/usr/bin/sota_provision.sh sota_provisioning_credentials
12RemainAfterExit=true
13StandardOutput=journal
14
15[Install]
16WantedBy=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
new file mode 100644
index 0000000..093a994
--- /dev/null
+++ b/recipes-sota/rvi-sota-client/files/sota-client-ostree.service
@@ -0,0 +1,13 @@
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
new file mode 100644
index 0000000..a2d80ce
--- /dev/null
+++ b/recipes-sota/rvi-sota-client/files/sota-client-uptane.service
@@ -0,0 +1,15 @@
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/rvi-sota-client_git.bb b/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
index 5a08670..dd8cd01 100644
--- a/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
+++ b/recipes-sota/rvi-sota-client/rvi-sota-client_git.bb
@@ -11,132 +11,156 @@ S = "${WORKDIR}/git"
11# When changing this, don't forget to: 11# When changing this, don't forget to:
12# 1) Update PV 12# 1) Update PV
13# 2) Check that Cargo.lock hasn't changed with git diff old..new Cargo.lock 13# 2) Check that Cargo.lock hasn't changed with git diff old..new Cargo.lock
14SRCREV = "d64be93cc5da9b5399c7d381fd7a0a6f1b13bc3c" 14SRCREV = "e3ab3b02c7c08d61064ea11c98e59559140a8219"
15 15
16# Generate with: 16# Generate with:
17# git describe --tags | cut -b2- 17# git describe --tags | cut -b2-
18# or from the rvi_sota_client repo: 18# or from the rvi_sota_client repo:
19# make package-version 19# make package-version
20PV = "0.2.32-192-gd64be93" 20PV = "0.2.33-39-ge3ab3b0"
21 21
22BBCLASSEXTEND = "native" 22BBCLASSEXTEND = "native"
23 23
24FILES_${PN} = " \ 24FILES_${PN} = " \
25 /lib64 \ 25/lib64 \
26 ${bindir}/canonical_json.py \ 26${bindir}/sota_client \
27 ${bindir}/sota_client \ 27${bindir}/sota_sysinfo.sh \
28 ${bindir}/sota_sysinfo.sh \ 28${bindir}/sota_provision.sh \
29 ${bindir}/system_info.sh \ 29${sysconfdir}/sota_client.version \
30 ${bindir}/sota_prov.sh \ 30${sysconfdir}/sota_certificates \
31 ${sysconfdir}/sota_client.version \ 31${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-client.service', '', d)} \
32 ${sysconfdir}/sota_certificates \ 32${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota-client-autoprovision.service', '', d)} \
33 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota_client_autoprovision.service', '', d)} \ 33"
34 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/sota_client.service', '', d)} \ 34
35 "
36 35
37# list of dependencies can be generated from Cargo.lock by running 36# list of dependencies can be generated from Cargo.lock by running
38# cat Cargo.lock | sed -e '1,/metadata/ d' Cargo.lock | awk '{print "crate://crates.io/"$2 "/" $3" \\"}' 37# cat Cargo.lock | sed -e '1,/metadata/ d' Cargo.lock | awk '{print "crate://crates.io/"$2 "/" $3" \\"}'
39SRC_URI = " \ 38SRC_URI = " \
39crate://crates.io/advapi32-sys/0.2.0 \
40crate://crates.io/aho-corasick/0.6.3 \ 40crate://crates.io/aho-corasick/0.6.3 \
41crate://crates.io/backtrace/0.3.0 \ 41crate://crates.io/ansi_term/0.9.0 \
42crate://crates.io/backtrace-sys/0.1.10 \ 42crate://crates.io/antidote/1.0.0 \
43crate://crates.io/base64/0.4.2 \ 43crate://crates.io/atty/0.2.2 \
44crate://crates.io/backtrace/0.3.2 \
45crate://crates.io/backtrace-sys/0.1.11 \
44crate://crates.io/base64/0.5.2 \ 46crate://crates.io/base64/0.5.2 \
45crate://crates.io/bit-set/0.4.0 \ 47crate://crates.io/bit-set/0.4.0 \
46crate://crates.io/bit-vec/0.4.3 \ 48crate://crates.io/bit-vec/0.4.4 \
47crate://crates.io/bitflags/0.8.2 \ 49crate://crates.io/bitflags/0.9.1 \
48crate://crates.io/byteorder/1.0.0 \ 50crate://crates.io/byteorder/1.0.0 \
49crate://crates.io/bytes/0.4.3 \ 51crate://crates.io/bytes/0.4.4 \
50crate://crates.io/cfg-if/0.1.0 \ 52crate://crates.io/cfg-if/0.1.2 \
51crate://crates.io/chan/0.1.19 \ 53crate://crates.io/chan/0.1.19 \
52crate://crates.io/chan-signal/0.2.0 \ 54crate://crates.io/chan-signal/0.2.0 \
53crate://crates.io/chrono/0.3.1 \ 55crate://crates.io/chrono/0.4.0 \
56crate://crates.io/clap/2.25.0 \
57crate://crates.io/core-foundation/0.2.3 \
58crate://crates.io/core-foundation-sys/0.2.3 \
54crate://crates.io/crossbeam/0.2.10 \ 59crate://crates.io/crossbeam/0.2.10 \
60crate://crates.io/crypt32-sys/0.2.0 \
55crate://crates.io/dbghelp-sys/0.2.0 \ 61crate://crates.io/dbghelp-sys/0.2.0 \
56crate://crates.io/dbus/0.5.2 \ 62crate://crates.io/dbus/0.5.3 \
57crate://crates.io/dtoa/0.4.1 \ 63crate://crates.io/dtoa/0.4.1 \
58crate://crates.io/env_logger/0.4.2 \ 64crate://crates.io/env_logger/0.4.3 \
59crate://crates.io/error-chain/0.10.0 \ 65crate://crates.io/error-chain/0.10.0 \
60crate://crates.io/error-chain/0.7.2 \
61crate://crates.io/filetime/0.1.10 \ 66crate://crates.io/filetime/0.1.10 \
62crate://crates.io/foreign-types/0.2.0 \ 67crate://crates.io/foreign-types/0.2.0 \
63crate://crates.io/gcc/0.3.45 \ 68crate://crates.io/gcc/0.3.51 \
64crate://crates.io/gdi32-sys/0.2.0 \
65crate://crates.io/getopts/0.2.14 \ 69crate://crates.io/getopts/0.2.14 \
66crate://crates.io/hex/0.2.0 \ 70crate://crates.io/hex/0.2.0 \
67crate://crates.io/httparse/1.2.2 \ 71crate://crates.io/httparse/1.2.3 \
68crate://crates.io/hyper/0.10.9 \ 72crate://crates.io/hyper/0.10.12 \
69crate://crates.io/idna/0.1.1 \ 73crate://crates.io/hyper-native-tls/0.2.4 \
74crate://crates.io/idna/0.1.2 \
70crate://crates.io/iovec/0.1.0 \ 75crate://crates.io/iovec/0.1.0 \
71crate://crates.io/itoa/0.3.1 \ 76crate://crates.io/itoa/0.3.1 \
72crate://crates.io/kernel32-sys/0.2.2 \ 77crate://crates.io/kernel32-sys/0.2.2 \
73crate://crates.io/language-tags/0.2.2 \ 78crate://crates.io/language-tags/0.2.2 \
74crate://crates.io/lazy_static/0.2.8 \ 79crate://crates.io/lazy_static/0.2.8 \
75crate://crates.io/libc/0.2.22 \ 80crate://crates.io/libc/0.2.24 \
76crate://crates.io/log/0.3.7 \ 81crate://crates.io/libflate/0.1.9 \
77crate://crates.io/matches/0.1.4 \ 82crate://crates.io/log/0.3.8 \
83crate://crates.io/maplit/0.1.4 \
84crate://crates.io/matches/0.1.6 \
78crate://crates.io/memchr/1.0.1 \ 85crate://crates.io/memchr/1.0.1 \
79crate://crates.io/metadeps/1.1.1 \ 86crate://crates.io/metadeps/1.1.2 \
80crate://crates.io/mime/0.2.3 \ 87crate://crates.io/mime/0.2.6 \
81crate://crates.io/num/0.1.37 \ 88crate://crates.io/native-tls/0.1.4 \
89crate://crates.io/net2/0.2.29 \
90crate://crates.io/num/0.1.39 \
82crate://crates.io/num-integer/0.1.34 \ 91crate://crates.io/num-integer/0.1.34 \
83crate://crates.io/num-iter/0.1.33 \ 92crate://crates.io/num-iter/0.1.33 \
84crate://crates.io/num-traits/0.1.37 \ 93crate://crates.io/num-traits/0.1.39 \
85crate://crates.io/num_cpus/1.4.0 \ 94crate://crates.io/num_cpus/1.6.2 \
86crate://crates.io/openssl/0.9.11 \ 95crate://crates.io/openssl/0.9.14 \
87crate://crates.io/openssl-sys/0.9.11 \ 96crate://crates.io/openssl-sys/0.9.14 \
88crate://crates.io/pem/0.4.0 \ 97crate://crates.io/pem/0.4.0 \
98crate://crates.io/percent-encoding/1.0.0 \
89crate://crates.io/pkg-config/0.3.9 \ 99crate://crates.io/pkg-config/0.3.9 \
90crate://crates.io/quote/0.3.15 \ 100crate://crates.io/quote/0.3.15 \
91crate://crates.io/rand/0.3.15 \ 101crate://crates.io/rand/0.3.15 \
92crate://crates.io/redox_syscall/0.1.17 \ 102crate://crates.io/redox_syscall/0.1.21 \
93crate://crates.io/regex/0.2.1 \ 103crate://crates.io/regex/0.2.2 \
94crate://crates.io/regex-syntax/0.4.0 \ 104crate://crates.io/regex-syntax/0.4.1 \
105crate://crates.io/reqwest/0.6.2 \
95crate://crates.io/ring/0.7.1 \ 106crate://crates.io/ring/0.7.1 \
96crate://crates.io/rust-crypto/0.2.36 \ 107crate://crates.io/rust-crypto/0.2.36 \
97crate://crates.io/rustc-demangle/0.1.4 \ 108crate://crates.io/rustc-demangle/0.1.4 \
98crate://crates.io/rustc-serialize/0.3.24 \ 109crate://crates.io/rustc-serialize/0.3.24 \
99crate://crates.io/rustc_version/0.1.7 \ 110crate://crates.io/schannel/0.1.7 \
100crate://crates.io/semver/0.1.20 \ 111crate://crates.io/secur32-sys/0.2.0 \
101crate://crates.io/serde/1.0.2 \ 112crate://crates.io/security-framework/0.1.14 \
102crate://crates.io/serde_derive/1.0.2 \ 113crate://crates.io/security-framework-sys/0.1.14 \
103crate://crates.io/serde_derive_internals/0.15.0 \ 114crate://crates.io/serde/1.0.9 \
104crate://crates.io/serde_json/1.0.1 \ 115crate://crates.io/serde_derive/1.0.9 \
116crate://crates.io/serde_derive_internals/0.15.1 \
117crate://crates.io/serde_json/1.0.2 \
118crate://crates.io/serde_urlencoded/0.5.1 \
105crate://crates.io/sha1/0.2.0 \ 119crate://crates.io/sha1/0.2.0 \
120crate://crates.io/strsim/0.6.0 \
106crate://crates.io/syn/0.11.11 \ 121crate://crates.io/syn/0.11.11 \
107crate://crates.io/synom/0.11.3 \ 122crate://crates.io/synom/0.11.3 \
108crate://crates.io/tar/0.4.11 \ 123crate://crates.io/tar/0.4.13 \
109crate://crates.io/thread-id/3.0.0 \ 124crate://crates.io/tempdir/0.3.5 \
110crate://crates.io/thread_local/0.3.3 \ 125crate://crates.io/term_size/0.3.0 \
126crate://crates.io/textwrap/0.6.0 \
127crate://crates.io/thread_local/0.3.4 \
111crate://crates.io/time/0.1.37 \ 128crate://crates.io/time/0.1.37 \
112crate://crates.io/toml/0.2.1 \ 129crate://crates.io/toml/0.2.1 \
113crate://crates.io/toml/0.4.0 \ 130crate://crates.io/toml/0.4.2 \
114crate://crates.io/traitobject/0.1.0 \ 131crate://crates.io/traitobject/0.1.0 \
115crate://crates.io/tungstenite/0.2.2 \ 132crate://crates.io/tungstenite/0.2.4 \
116crate://crates.io/typeable/0.1.2 \ 133crate://crates.io/typeable/0.1.2 \
117crate://crates.io/unicase/1.4.0 \ 134crate://crates.io/unicase/1.4.2 \
118crate://crates.io/unicode-bidi/0.2.5 \ 135crate://crates.io/unicode-bidi/0.3.3 \
119crate://crates.io/unicode-normalization/0.1.4 \ 136crate://crates.io/unicode-normalization/0.1.5 \
137crate://crates.io/unicode-segmentation/1.1.0 \
138crate://crates.io/unicode-width/0.1.4 \
120crate://crates.io/unicode-xid/0.0.4 \ 139crate://crates.io/unicode-xid/0.0.4 \
121crate://crates.io/unix_socket/0.5.0 \ 140crate://crates.io/unix_socket/0.5.0 \
122crate://crates.io/unreachable/0.1.1 \ 141crate://crates.io/unreachable/1.0.0 \
123crate://crates.io/untrusted/0.3.2 \ 142crate://crates.io/untrusted/0.3.2 \
124crate://crates.io/url/1.4.0 \ 143crate://crates.io/url/1.5.1 \
125crate://crates.io/user32-sys/0.2.0 \ 144crate://crates.io/utf-8/0.7.1 \
126crate://crates.io/utf-8/0.7.0 \
127crate://crates.io/utf8-ranges/1.0.0 \ 145crate://crates.io/utf8-ranges/1.0.0 \
128crate://crates.io/uuid/0.5.0 \ 146crate://crates.io/uuid/0.5.1 \
147crate://crates.io/vec_map/0.8.0 \
148crate://crates.io/version_check/0.1.2 \
129crate://crates.io/void/1.0.2 \ 149crate://crates.io/void/1.0.2 \
130crate://crates.io/winapi/0.2.8 \ 150crate://crates.io/winapi/0.2.8 \
131crate://crates.io/winapi-build/0.1.1 \ 151crate://crates.io/winapi-build/0.1.1 \
152crate://crates.io/ws2_32-sys/0.2.1 \
132crate://crates.io/xattr/0.1.11 \ 153crate://crates.io/xattr/0.1.11 \
133git://github.com/advancedtelematic/rvi_sota_client \ 154git://github.com/advancedtelematic/rvi_sota_client \
155file://sota-client-autoprovision.service \
156file://sota-client-ostree.service \
157file://sota-client-uptane.service \
134" 158"
135 159
136SRC_URI[index.md5sum] = "6a635e8a081b4d4ba4cebffd721c2d7d" 160SRC_URI[index.md5sum] = "6a635e8a081b4d4ba4cebffd721c2d7d"
137SRC_URI[index.sha256sum] = "1913c41d4b8de89a931b6f9e418f83e70a083e12e6c247e8510ee932571ebae2" 161SRC_URI[index.sha256sum] = "1913c41d4b8de89a931b6f9e418f83e70a083e12e6c247e8510ee932571ebae2"
138 162
139SYSTEMD_SERVICE_${PN} = "sota_client.service sota_client_autoprovision.service" 163SYSTEMD_SERVICE_${PN} = "sota-client.service sota-client-autoprovision.service"
140 164
141DEPENDS += " openssl openssl-native dbus " 165DEPENDS += " openssl openssl-native dbus "
142RDEPENDS_${PN} = " libcrypto \ 166RDEPENDS_${PN} = " libcrypto \
@@ -146,7 +170,6 @@ RDEPENDS_${PN} = " libcrypto \
146 jq \ 170 jq \
147 curl \ 171 curl \
148 python \ 172 python \
149 python-canonicaljson \
150 python-json \ 173 python-json \
151 python-petname \ 174 python-petname \
152 " 175 "
@@ -157,29 +180,29 @@ export SOTA_AUTOPROVISION_URL
157 180
158do_compile_prepend() { 181do_compile_prepend() {
159 export SOTA_VERSION=$(make sota-version) 182 export SOTA_VERSION=$(make sota-version)
183 cd sota-client
160} 184}
161 185
162do_install() { 186do_install() {
187 ln -fs /lib ${D}/lib64
188
163 install -d ${D}${bindir} 189 install -d ${D}${bindir}
190 install -d ${D}${sysconfdir}
191
192 echo `git log -1 --pretty=format:%H` > ${D}${sysconfdir}/sota_client.version
193 install -c ${S}/sota-client/docker/sota_certificates ${D}${sysconfdir}
194
164 install -m 0755 target/${TARGET_SYS}/release/sota_client ${D}${bindir} 195 install -m 0755 target/${TARGET_SYS}/release/sota_client ${D}${bindir}
165 install -m 0755 ${S}/run/sota_sysinfo.sh ${D}${bindir} 196 install -m 0755 ${S}/sota-client/docker/sota_provision.sh ${D}${bindir}
166 ln -fs ${bindir}/sota_sysinfo.sh ${D}${bindir}/system_info.sh # For compatibilty with old sota.toml files 197 install -m 0755 ${S}/sota-client/docker/sota_sysinfo.sh ${D}${bindir}
167 install -m 0755 ${S}/run/sota_prov.sh ${D}${bindir}
168 install -m 0755 ${S}/run/canonical_json.py ${D}${bindir}
169 198
170 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 199 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
171 install -d ${D}/${systemd_unitdir}/system 200 install -d ${D}/${systemd_unitdir}/system
172 if [ -n "$SOTA_AUTOPROVISION_CREDENTIALS" -o -n "$SOTA_PACKED_CREDENTIALS" ]; then 201 if [ -n "$SOTA_AUTOPROVISION_CREDENTIALS" -o -n "$SOTA_PACKED_CREDENTIALS" ]; then
173 install -c ${S}/run/sota_client_uptane_auto.service ${D}${systemd_unitdir}/system/sota_client.service 202 install -m 0644 ${WORKDIR}/sota-client-uptane.service ${D}/${systemd_unitdir}/system/sota-client.service
174 else 203 else
175 install -c ${S}/run/sota_client_ostree.service ${D}${systemd_unitdir}/system/sota_client.service 204 install -m 0644 ${WORKDIR}/sota-client-ostree.service ${D}/${systemd_unitdir}/system/sota-client.service
176 fi 205 fi
177 install -c ${S}/run/sota_client_autoprovision.service ${D}${systemd_unitdir}/system/sota_client_autoprovision.service 206 install -m 0644 ${WORKDIR}/sota-client-autoprovision.service ${D}/${systemd_unitdir}/system/sota-client-autoprovision.service
178 fi 207 fi
179
180 install -d ${D}${sysconfdir}
181 echo `git log -1 --pretty=format:%H` > ${D}${sysconfdir}/sota_client.version
182 install -c ${S}/run/sota_certificates ${D}${sysconfdir}
183 ln -fs /lib ${D}/lib64
184
185} 208}